veryfront 0.1.771 → 0.1.773
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/deno.js +1 -1
- package/esm/src/agent/hosted/form-input-tool.d.ts.map +1 -1
- package/esm/src/agent/hosted/form-input-tool.js +1 -1
- package/esm/src/agent/runtime/index.d.ts.map +1 -1
- package/esm/src/agent/runtime/index.js +3 -1
- package/esm/src/agent/runtime/load-skill-tool.d.ts.map +1 -1
- package/esm/src/agent/runtime/load-skill-tool.js +11 -1
- package/esm/src/agent/runtime/skill-policy-enforcement.d.ts +2 -0
- package/esm/src/agent/runtime/skill-policy-enforcement.d.ts.map +1 -1
- package/esm/src/agent/runtime/skill-policy-enforcement.js +12 -0
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-input-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/form-input-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAmBjF,0CAA0C;AAC1C,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,wBAAwB,CAAC,EAAE,8BAA8B,CAAC;CAC3D;AAED,qCAAqC;AACrC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAQ5F;
|
|
1
|
+
{"version":3,"file":"form-input-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/hosted/form-input-tool.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,4BAA4B,CAAC;AAmBjF,0CAA0C;AAC1C,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,wBAAwB,CAAC,EAAE,8BAA8B,CAAC;CAC3D;AAED,qCAAqC;AACrC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAQ5F;AAuJD,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,SAAS,aAAa,EAAE,GACjC,8BAA8B,GAAG,SAAS,CAU5C"}
|
|
@@ -28,7 +28,7 @@ async function executeDurableFormInputFlow(context, apiUrl, input, execContext)
|
|
|
28
28
|
values: context.submittedFormInputResult.values,
|
|
29
29
|
inputRequestId: context.submittedFormInputResult.inputRequestId,
|
|
30
30
|
reused: true,
|
|
31
|
-
reason: "A submitted form_input result already exists for this run.",
|
|
31
|
+
reason: "A submitted form_input result already exists for this run. Use these values as final input, do not call form_input again, and continue to the requested output.",
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
34
|
const toolCallId = typeof execContext?.toolCallId === "string" && execContext.toolCallId.length > 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,aAAa,EAGlB,KAAK,OAAO,EAGZ,KAAK,QAAQ,EAGd,MAAM,aAAa,CAAC;AAIrB,OAAO,EAAqB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ import { tryGetCacheKeyContext } from "../../cache/cache-key-builder.js";
|
|
|
28
28
|
import { isLocalModelRuntime } from "../../provider/runtime-inspection.js";
|
|
29
29
|
import { generateText, streamText } from "../../runtime/runtime-bridge.js";
|
|
30
30
|
import { captureStreamedToolCallInput, collectFinalStreamToolResults, collectGeneratedToolResults, createToolErrorMessage, createToolResultMessage, getProviderExecutedToolNames, getToolResultError, isRecoverablePlaceholderToolCall, isStreamedToolCallIncomplete, materializeStreamedToolCall, shouldContinueAfterStreamStep, } from "./tool-result-continuation.js";
|
|
31
|
-
import { enforceSkillPolicy, extractSkillPolicy, hydrateActiveSkillStateFromMessages, LOAD_SKILL_TOOL_ID, } from "./skill-policy-enforcement.js";
|
|
31
|
+
import { enforceSkillPolicy, extractSkillPolicy, hydrateActiveSkillStateFromMessages, LOAD_SKILL_TOOL_ID, removeFormInputAfterSubmission, } from "./skill-policy-enforcement.js";
|
|
32
32
|
import { getRuntimeAllowedRemoteTools, getRuntimeForwardedIntegrationToolDefs, getRuntimeProviderTools, } from "./runtime-tool-config.js";
|
|
33
33
|
// Re-export from submodules
|
|
34
34
|
export { closeSSEStream, generateMessageId, sendSSE } from "./sse-utils.js";
|
|
@@ -480,6 +480,7 @@ export class AgentRuntime {
|
|
|
480
480
|
activeSkillDelegationOverrides = extractSkillDelegationOverrides(result);
|
|
481
481
|
mustLoadSkillFirst = false;
|
|
482
482
|
}
|
|
483
|
+
activeSkillPolicy = removeFormInputAfterSubmission(tc.toolName, result, activeSkillPolicy);
|
|
483
484
|
const toolResultMessage = createToolResultMessage(tc.toolCallId, tc.toolName, result);
|
|
484
485
|
currentMessages.push(toolResultMessage);
|
|
485
486
|
await this.memory.add(toolResultMessage);
|
|
@@ -784,6 +785,7 @@ export class AgentRuntime {
|
|
|
784
785
|
activeSkillDelegationOverrides = extractSkillDelegationOverrides(result);
|
|
785
786
|
mustLoadSkillFirst = false;
|
|
786
787
|
}
|
|
788
|
+
activeSkillPolicy = removeFormInputAfterSubmission(tc.name, result, activeSkillPolicy);
|
|
787
789
|
const dynamic = isDynamicTool(tc.name);
|
|
788
790
|
sendSSE(controller, encoder, {
|
|
789
791
|
type: "tool-output-available",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-skill-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/load-skill-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAchD,OAAO,KAAK,EAEV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAChC,MAAM,qBAAqB,CAAC;AAE7B,yDAAyD;AACzD,eAAO,MAAM,oCAAoC,2mBACqP,CAAC;AAEvS,mDAAmD;AACnD,eAAO,MAAM,8BAA8B,unBAC0a,CAAC;AAatd,2CAA2C;AAC3C,MAAM,MAAM,2BAA2B,GAAG,0BAA0B,GAAG;IACrE,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CACnE,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjG,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CAClE,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAEvF,mDAAmD;AACnD,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,2BAA2B,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,yBAAyB,CAAC;IAC9C,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACxC,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;GAS9C,CAAC;AAKF,iDAAiD;AACjD,MAAM,MAAM,yBAAyB,GAAG,WAAW,CACjD,UAAU,CAAC,OAAO,kCAAkC,CAAC,CACtD,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,mCAAmC,GAAG;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,0BAA0B,GAClC,0BAA0B,GAC1B,mCAAmC,GACnC,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"load-skill-tool.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/load-skill-tool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAchD,OAAO,KAAK,EAEV,0BAA0B,EAC1B,yBAAyB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,kCAAkC,EACvC,KAAK,0BAA0B,EAChC,MAAM,qBAAqB,CAAC;AAE7B,yDAAyD;AACzD,eAAO,MAAM,oCAAoC,2mBACqP,CAAC;AAEvS,mDAAmD;AACnD,eAAO,MAAM,8BAA8B,unBAC0a,CAAC;AAatd,2CAA2C;AAC3C,MAAM,MAAM,2BAA2B,GAAG,0BAA0B,GAAG;IACrE,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,kBAAkB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC;CACnE,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IACjG,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;CAClE,CAAC;AAEF,gEAAgE;AAChE,MAAM,MAAM,4BAA4B,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;AAEvF,mDAAmD;AACnD,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,EAAE,2BAA2B,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,yBAAyB,CAAC;IAC9C,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,YAAY,CAAC,EAAE,4BAA4B,CAAC;IAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACxC,MAAM,CAAC,EAAE,0BAA0B,CAAC;CACrC,CAAC;AAEF,eAAO,MAAM,kCAAkC;;;GAS9C,CAAC;AAKF,iDAAiD;AACjD,MAAM,MAAM,yBAAyB,GAAG,WAAW,CACjD,UAAU,CAAC,OAAO,kCAAkC,CAAC,CACtD,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,mCAAmC,GAAG;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,4CAA4C;AAC5C,MAAM,MAAM,2BAA2B,GAAG;IACxC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,0BAA0B,GAClC,0BAA0B,GAC1B,mCAAmC,GACnC,2BAA2B,CAAC;AA+KhC,sCAAsC;AACtC,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,IAAI,CAAC,yBAAyB,EAAE,0BAA0B,CAAC,CA6C7D"}
|
|
@@ -56,11 +56,21 @@ function buildLoadedSkillResponse(input) {
|
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
function buildAlreadyLoadedSkillResponse(skillId, response) {
|
|
59
|
+
const finishAllowedTools = response.allowedTools?.filter((toolName) => toolName !== "form_input");
|
|
59
60
|
return {
|
|
60
61
|
...response,
|
|
61
62
|
instructions: `Skill "${skillId}" is already loaded in this turn. Do not call load_skill for "${skillId}" again. ` +
|
|
62
|
-
"Continue from the existing user request and any submitted tool results, then produce the next useful response now."
|
|
63
|
+
"Continue from the existing user request and any submitted tool results, then produce the next useful response now. " +
|
|
64
|
+
"If a form_input result already exists, treat it as final for this turn and do not call form_input again.",
|
|
63
65
|
nextStep: "Continue now. Do not reload this skill or restart intake; use the existing context and finish the current turn.",
|
|
66
|
+
...(finishAllowedTools
|
|
67
|
+
? {
|
|
68
|
+
allowedTools: finishAllowedTools,
|
|
69
|
+
note: finishAllowedTools.length > 0
|
|
70
|
+
? response.note
|
|
71
|
+
: "IMPORTANT: Intake is complete for this turn. Do not call form_input again; finish with the existing context.",
|
|
72
|
+
}
|
|
73
|
+
: {}),
|
|
64
74
|
references: response.references,
|
|
65
75
|
};
|
|
66
76
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { Message } from "../types.js";
|
|
2
2
|
import { type SkillDelegationOverrides } from "./skill-delegation-overrides.js";
|
|
3
3
|
export declare const LOAD_SKILL_TOOL_ID = "load_skill";
|
|
4
|
+
export declare const FORM_INPUT_TOOL_ID = "form_input";
|
|
4
5
|
export declare function hydrateActiveSkillStateFromMessages(messages: readonly Message[]): {
|
|
5
6
|
activeSkillPolicy: string[] | undefined;
|
|
6
7
|
activeSkillDelegationOverrides: SkillDelegationOverrides | undefined;
|
|
7
8
|
};
|
|
8
9
|
export declare function extractSkillPolicy(result: unknown): string[] | undefined;
|
|
10
|
+
export declare function removeFormInputAfterSubmission(toolName: string, result: unknown, activeSkillPolicy: string[] | undefined): string[] | undefined;
|
|
9
11
|
export type SkillPolicyResult = {
|
|
10
12
|
allowed: true;
|
|
11
13
|
} | {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-policy-enforcement.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/skill-policy-enforcement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAO/C,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B;IACD,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,8BAA8B,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACtE,CAaA;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAyBxE;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,EACvC,kBAAkB,EAAE,OAAO,GAC1B,iBAAiB,CAenB"}
|
|
1
|
+
{"version":3,"file":"skill-policy-enforcement.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/skill-policy-enforcement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAO3C,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAO/C,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B;IACD,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,8BAA8B,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACtE,CAaA;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAyBxE;AAOD,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAStB;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,OAAO,EAAE,IAAI,CAAA;CAAE,GACjB;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtC,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,EACvC,kBAAkB,EAAE,OAAO,GAC1B,iBAAiB,CAenB"}
|
|
@@ -4,6 +4,7 @@ import { isToolResultPart } from "./tool-result-continuation.js";
|
|
|
4
4
|
import { extractSkillDelegationOverrides, } from "./skill-delegation-overrides.js";
|
|
5
5
|
const logger = serverLogger.component("agent");
|
|
6
6
|
export const LOAD_SKILL_TOOL_ID = "load_skill";
|
|
7
|
+
export const FORM_INPUT_TOOL_ID = "form_input";
|
|
7
8
|
function getSkillActivationRequiredError(toolName) {
|
|
8
9
|
return `Tool "${toolName}" cannot run before load_skill succeeds in the same step. ` +
|
|
9
10
|
`Call "${LOAD_SKILL_TOOL_ID}" first to establish the active skill context.`;
|
|
@@ -41,6 +42,17 @@ export function extractSkillPolicy(result) {
|
|
|
41
42
|
return [];
|
|
42
43
|
}
|
|
43
44
|
}
|
|
45
|
+
function isSubmittedFormInputResult(result) {
|
|
46
|
+
return Boolean(result) && typeof result === "object" &&
|
|
47
|
+
result.submitted === true;
|
|
48
|
+
}
|
|
49
|
+
export function removeFormInputAfterSubmission(toolName, result, activeSkillPolicy) {
|
|
50
|
+
if (toolName !== FORM_INPUT_TOOL_ID || !isSubmittedFormInputResult(result) ||
|
|
51
|
+
activeSkillPolicy === undefined) {
|
|
52
|
+
return activeSkillPolicy;
|
|
53
|
+
}
|
|
54
|
+
return activeSkillPolicy.filter((allowedToolName) => allowedToolName !== FORM_INPUT_TOOL_ID);
|
|
55
|
+
}
|
|
44
56
|
export function enforceSkillPolicy(toolName, activeSkillPolicy, mustLoadSkillFirst) {
|
|
45
57
|
if (mustLoadSkillFirst && toolName !== LOAD_SKILL_TOOL_ID) {
|
|
46
58
|
return { allowed: false, error: getSkillActivationRequiredError(toolName) };
|