You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(agiloft): fail loudly on non-EWREST bodies and keep the retired tool resolvable
- EWSearch and EWSelect report an empty result set as `EWREST_id_length = '0';`,
so a body with no assignments at all is a refusal Agiloft returned with HTTP
200, not an empty result. Both routes now surface it as an error instead of a
successful empty list.
- Re-register agiloft_saved_search as a retired tool. Removing it outright left
workflows saved with operation='saved_search' deriving a tool id the registry
no longer provided, which throws "Tool not found" at execution. It now fails
through directExecution with a message pointing at the Search Records
operation's Saved Search field, without issuing an undocumented request. It
stays out of the operation dropdown so it cannot be chosen for new blocks.
- Guard EWCreate and EWUpdate against oversized record data. Those operations
carry field values in the query string, so a large payload hits the request
line limit; the tool now explains that rather than surfacing an opaque 414.
* Retired operation, kept registered so workflows saved while it was offered
6
+
* still resolve a tool instead of failing with "Tool not found".
7
+
*
8
+
* `EWSavedSearch` appears in Agiloft's Scope Parameter operation list, so the
9
+
* endpoint exists, but it has no documentation page — neither its URL
10
+
* parameters nor its response shape can be verified. The previous
11
+
* implementation guessed both and could only ever report an empty list, which
12
+
* reads as "this table has no saved searches". Running a saved search is now
13
+
* supported for real through the Search Records operation's Saved Search
14
+
* field, so this fails fast and points there rather than issuing a request
15
+
* whose behavior nobody can predict.
16
+
*/
17
+
exportconstagiloftSavedSearchTool: ToolConfig<
18
+
AgiloftSavedSearchParams,
19
+
AgiloftSavedSearchResponse
20
+
>={
21
+
id: 'agiloft_saved_search',
22
+
name: 'Agiloft Saved Search (retired)',
23
+
description:
24
+
'Retired. Agiloft does not document an endpoint for listing saved searches — use the Search Records operation and set its Saved Search field instead.',
25
+
version: '1.0.0',
26
+
27
+
params: {
28
+
instanceUrl: {
29
+
type: 'string',
30
+
required: false,
31
+
visibility: 'user-only',
32
+
description: 'Agiloft instance URL',
33
+
},
34
+
knowledgeBase: {
35
+
type: 'string',
36
+
required: false,
37
+
visibility: 'user-only',
38
+
description: 'Knowledge base name',
39
+
},
40
+
login: {
41
+
type: 'string',
42
+
required: false,
43
+
visibility: 'user-only',
44
+
description: 'Agiloft username',
45
+
},
46
+
password: {
47
+
type: 'string',
48
+
required: false,
49
+
visibility: 'user-only',
50
+
description: 'Agiloft password',
51
+
},
52
+
table: {
53
+
type: 'string',
54
+
required: false,
55
+
visibility: 'user-or-llm',
56
+
description: 'Table name',
57
+
},
58
+
},
59
+
60
+
/** Fails without a network call — there is no endpoint we can correctly call. */
61
+
directExecution: async()=>({
62
+
success: false,
63
+
output: {searches: []},
64
+
error:
65
+
'The Agiloft "Saved Search" operation has been retired because Agiloft does not document an endpoint for listing saved searches. Switch this block to the "Search Records" operation and enter the saved search name in its Saved Search field.',
0 commit comments