veryfront 0.1.951 → 0.1.953

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  "name": "veryfront",
3
- "version": "0.1.951",
3
+ "version": "0.1.953",
4
4
  "license": "Apache-2.0",
5
5
  "nodeModulesDir": "auto",
6
6
  "minimumDependencyAge": {
@@ -1,5 +1,6 @@
1
1
  import type { RemoteToolSource, ToolDefinition, ToolExecutionContext } from "../../tool/index.js";
2
2
  import type { AgentConfig, Message } from "../types.js";
3
+ import { type SkillToolAvailability } from "../../skill/allowed-tools.js";
3
4
  import type { ToolConfigEntry } from "./tool-helpers.js";
4
5
  export type AgentRuntimeStepMode = "generate" | "stream";
5
6
  export type RuntimeStepToolLoader = (toolsConfig: true | Record<string, ToolConfigEntry> | undefined, options?: {
@@ -18,7 +19,9 @@ export interface AgentRuntimeStepState {
18
19
  export type RuntimeStepStateResolver = (messages: Message[], runtimeContext: Record<string, unknown> | undefined, mode: AgentRuntimeStepMode, step: number, systemPrompt: string) => Promise<AgentRuntimeStepState>;
19
20
  export interface PrepareAgentRuntimeStepInput {
20
21
  agentId: string;
22
+ activeSkillId?: string | undefined;
21
23
  activeSkillPolicy: string[] | undefined;
24
+ activeSkillToolAvailability: SkillToolAvailability | undefined;
22
25
  allowedRemoteToolNames: string[] | undefined;
23
26
  config: AgentConfig;
24
27
  forwardedRemoteToolDefinitions: ToolDefinition[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-runtime-step.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/agent-runtime-step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG,CAClC,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,EAC/D,OAAO,CAAC,EAAE;IACR,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,8BAA8B,CAAC,EAAE,cAAc,EAAE,CAAC;IAClD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACnD,IAAI,EAAE,oBAAoB,EAC1B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,sBAAsB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,WAAW,CAAC;IACpB,8BAA8B,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC7D,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAClD,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,oBAAoB,CAAC;IAClC,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,0EAA0E;AAC1E,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CA8BnC"}
1
+ {"version":3,"file":"agent-runtime-step.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/agent-runtime-step.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAuB,KAAK,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC/F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG,CAClC,WAAW,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,GAAG,SAAS,EAC/D,OAAO,CAAC,EAAE;IACR,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,8BAA8B,CAAC,EAAE,cAAc,EAAE,CAAC;IAClD,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACvC,iBAAiB,CAAC,EAAE,oBAAoB,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,KACE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,QAAQ,EAAE,OAAO,EAAE,EACnB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACnD,IAAI,EAAE,oBAAoB,EAC1B,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,KACjB,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,2BAA2B,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC/D,sBAAsB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,MAAM,EAAE,WAAW,CAAC;IACpB,8BAA8B,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC7D,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAClD,mBAAmB,EAAE,wBAAwB,CAAC;IAC9C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,oBAAoB,GAAG,SAAS,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,oBAAoB,CAAC;IAClC,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,0EAA0E;AAC1E,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,4BAA4B,GAClC,OAAO,CAAC,wBAAwB,CAAC,CAwCnC"}
@@ -4,6 +4,12 @@ import { filterToolsAfterSubmittedFormInput } from "./skill-policy-enforcement.j
4
4
  export async function prepareAgentRuntimeStep(input) {
5
5
  const runtimeState = await input.resolveRuntimeState(input.messages, input.runtimeContext, input.mode, input.step, input.systemPrompt);
6
6
  const toolContext = { ...input.toolContextBase, ...runtimeState.context };
7
+ if (input.activeSkillId !== undefined) {
8
+ toolContext.activeSkillId = input.activeSkillId;
9
+ }
10
+ if (input.activeSkillToolAvailability !== undefined) {
11
+ toolContext.activeSkillToolAvailability = input.activeSkillToolAvailability;
12
+ }
7
13
  let tools = input.isLocalModel ? [] : await input.getAvailableTools(input.config.tools, {
8
14
  callerAgentId: input.agentId,
9
15
  includeSkillTools: Boolean(input.config.skills),
@@ -12,8 +18,8 @@ export async function prepareAgentRuntimeStep(input) {
12
18
  remoteToolSources: input.remoteToolSources,
13
19
  remoteToolContext: toolContext,
14
20
  });
15
- if (input.activeSkillPolicy) {
16
- tools = filterToolsForSkill(tools, input.activeSkillPolicy);
21
+ if (input.activeSkillPolicy || input.activeSkillToolAvailability) {
22
+ tools = filterToolsForSkill(tools, input.activeSkillPolicy, input.activeSkillToolAvailability);
17
23
  }
18
24
  tools = filterToolsAfterSubmittedFormInput(tools, input.messages, runtimeState.context);
19
25
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/src/agent/runtime/index.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,7 @@ import { tryGetCacheKeyContext } from "../../cache/cache-key-builder.js";
27
27
  import { isLocalModelRuntime } from "../../provider/runtime-inspection.js";
28
28
  import { generateText, streamText } from "../../runtime/runtime-bridge.js";
29
29
  import { captureStreamedToolCallInput, collectFinalStreamToolResults, collectGeneratedToolResults, createToolErrorMessage, createToolResultMessage, getProviderExecutedToolNames, getToolResultError, isRecoverablePlaceholderToolCall, isStreamedToolCallIncomplete, materializeStreamedToolCall, shouldContinueAfterStreamStep, } from "./tool-result-continuation.js";
30
- import { enforceSkillPolicy, extractSkillId, extractSkillPolicy, FORM_INPUT_TOOL_ID, hasSubmittedFormInputResult, hydrateActiveSkillStateFromMessages, LOAD_SKILL_TOOL_ID, removeFormInputAfterSubmission, SUBMITTED_FORM_INPUT_CONTEXT_KEY, } from "./skill-policy-enforcement.js";
30
+ import { enforceSkillPolicy, extractSkillId, extractSkillPolicy, extractSkillToolAvailability, FORM_INPUT_TOOL_ID, hasSubmittedFormInputResult, hydrateActiveSkillStateFromMessages, INACTIVE_SKILL_TOOL_AVAILABILITY, LOAD_SKILL_TOOL_ID, removeFormInputAfterSubmission, SUBMITTED_FORM_INPUT_CONTEXT_KEY, } from "./skill-policy-enforcement.js";
31
31
  import { getRuntimeAllowedRemoteTools, getRuntimeForwardedIntegrationToolDefs, getRuntimeProviderTools, } from "./runtime-tool-config.js";
32
32
  import { prepareAgentRuntimeStep } from "./agent-runtime-step.js";
33
33
  import { buildStreamedAssistantMessage } from "./streamed-assistant-message.js";
@@ -324,6 +324,7 @@ export class AgentRuntime {
324
324
  const hydratedSkillState = hydrateActiveSkillStateFromMessages(currentMessages);
325
325
  let activeSkillId = hydratedSkillState.activeSkillId;
326
326
  let activeSkillPolicy = hydratedSkillState.activeSkillPolicy;
327
+ let activeSkillToolAvailability = hydratedSkillState.activeSkillToolAvailability;
327
328
  let activeSkillDelegationOverrides = hydratedSkillState.activeSkillDelegationOverrides;
328
329
  let hasSubmittedFormInputInLoop = hasSubmittedFormInputResult(currentMessages) ||
329
330
  runtimeContext?.[SUBMITTED_FORM_INPUT_CONTEXT_KEY] === true;
@@ -341,7 +342,9 @@ export class AgentRuntime {
341
342
  : currentRuntimeContext;
342
343
  const preparedStep = await prepareAgentRuntimeStep({
343
344
  agentId: this.id,
345
+ activeSkillId,
344
346
  activeSkillPolicy,
347
+ activeSkillToolAvailability,
345
348
  allowedRemoteToolNames,
346
349
  config: this.config,
347
350
  forwardedRemoteToolDefinitions,
@@ -464,6 +467,7 @@ export class AgentRuntime {
464
467
  }
465
468
  const policyCheck = enforceSkillPolicy(tc.toolName, activeSkillPolicy, mustLoadSkillFirst, {
466
469
  hasSubmittedFormInput: hasSubmittedFormInputInLoop,
470
+ skillToolAvailability: activeSkillToolAvailability,
467
471
  });
468
472
  if (!policyCheck.allowed) {
469
473
  toolCall.status = "error";
@@ -513,6 +517,8 @@ export class AgentRuntime {
513
517
  if (tc.toolName === LOAD_SKILL_TOOL_ID) {
514
518
  activeSkillId = extractSkillId(result);
515
519
  activeSkillPolicy = extractSkillPolicy(result);
520
+ activeSkillToolAvailability = extractSkillToolAvailability(result) ??
521
+ INACTIVE_SKILL_TOOL_AVAILABILITY;
516
522
  activeSkillDelegationOverrides = extractSkillDelegationOverrides(result);
517
523
  mustLoadSkillFirst = false;
518
524
  }
@@ -572,6 +578,7 @@ export class AgentRuntime {
572
578
  const hydratedSkillState = hydrateActiveSkillStateFromMessages(currentMessages);
573
579
  let activeSkillId = hydratedSkillState.activeSkillId;
574
580
  let activeSkillPolicy = hydratedSkillState.activeSkillPolicy;
581
+ let activeSkillToolAvailability = hydratedSkillState.activeSkillToolAvailability;
575
582
  let activeSkillDelegationOverrides = hydratedSkillState.activeSkillDelegationOverrides;
576
583
  let hasSubmittedFormInputInLoop = hasSubmittedFormInputResult(currentMessages) ||
577
584
  runtimeContext?.[SUBMITTED_FORM_INPUT_CONTEXT_KEY] === true;
@@ -593,7 +600,9 @@ export class AgentRuntime {
593
600
  : currentRuntimeContext;
594
601
  const preparedStep = await prepareAgentRuntimeStep({
595
602
  agentId: this.id,
603
+ activeSkillId,
596
604
  activeSkillPolicy,
605
+ activeSkillToolAvailability,
597
606
  allowedRemoteToolNames,
598
607
  config: this.config,
599
608
  forwardedRemoteToolDefinitions,
@@ -779,6 +788,8 @@ export class AgentRuntime {
779
788
  if (tc.name === LOAD_SKILL_TOOL_ID) {
780
789
  activeSkillId = extractSkillId(matchingResult.output);
781
790
  activeSkillPolicy = extractSkillPolicy(matchingResult.output);
791
+ activeSkillToolAvailability = extractSkillToolAvailability(matchingResult.output) ??
792
+ INACTIVE_SKILL_TOOL_AVAILABILITY;
782
793
  activeSkillDelegationOverrides = extractSkillDelegationOverrides(matchingResult.output);
783
794
  mustLoadSkillFirst = false;
784
795
  }
@@ -803,6 +814,8 @@ export class AgentRuntime {
803
814
  if (tc.name === LOAD_SKILL_TOOL_ID) {
804
815
  activeSkillId = extractSkillId(persistedResult.result);
805
816
  activeSkillPolicy = extractSkillPolicy(persistedResult.result);
817
+ activeSkillToolAvailability = extractSkillToolAvailability(persistedResult.result) ??
818
+ INACTIVE_SKILL_TOOL_AVAILABILITY;
806
819
  activeSkillDelegationOverrides = extractSkillDelegationOverrides(persistedResult.result);
807
820
  mustLoadSkillFirst = false;
808
821
  }
@@ -836,6 +849,7 @@ export class AgentRuntime {
836
849
  }
837
850
  const policyCheck = enforceSkillPolicy(tc.name, activeSkillPolicy, mustLoadSkillFirst, {
838
851
  hasSubmittedFormInput: hasSubmittedFormInputInLoop,
852
+ skillToolAvailability: activeSkillToolAvailability,
839
853
  });
840
854
  if (!policyCheck.allowed) {
841
855
  await this.recordToolError(toolCall, policyCheck.error, controller, encoder, currentMessages, toolCalls);
@@ -871,6 +885,8 @@ export class AgentRuntime {
871
885
  if (tc.name === LOAD_SKILL_TOOL_ID) {
872
886
  activeSkillId = extractSkillId(result);
873
887
  activeSkillPolicy = extractSkillPolicy(result);
888
+ activeSkillToolAvailability = extractSkillToolAvailability(result) ??
889
+ INACTIVE_SKILL_TOOL_AVAILABILITY;
874
890
  activeSkillDelegationOverrides = extractSkillDelegationOverrides(result);
875
891
  mustLoadSkillFirst = false;
876
892
  }
@@ -1,17 +1,21 @@
1
1
  import type { Message } from "../types.js";
2
2
  import type { ToolDefinition } from "../../tool/index.js";
3
+ import { type SkillToolAvailability } from "../../skill/allowed-tools.js";
3
4
  import { type SkillDelegationOverrides } from "./skill-delegation-overrides.js";
4
5
  export declare const LOAD_SKILL_TOOL_ID = "load_skill";
5
6
  export declare const FORM_INPUT_TOOL_ID = "form_input";
6
7
  export declare const INVOKE_AGENT_TOOL_ID = "invoke_agent";
7
8
  export declare const SUBMITTED_FORM_INPUT_CONTEXT_KEY = "hasSubmittedFormInputResult";
9
+ export declare const INACTIVE_SKILL_TOOL_AVAILABILITY: SkillToolAvailability;
8
10
  export declare function hydrateActiveSkillStateFromMessages(messages: readonly Message[]): {
9
11
  activeSkillId: string | undefined;
10
12
  activeSkillPolicy: string[] | undefined;
13
+ activeSkillToolAvailability: SkillToolAvailability | undefined;
11
14
  activeSkillDelegationOverrides: SkillDelegationOverrides | undefined;
12
15
  };
13
16
  export declare function extractSkillId(result: unknown): string | undefined;
14
17
  export declare function extractSkillPolicy(result: unknown): string[] | undefined;
18
+ export declare function extractSkillToolAvailability(result: unknown): SkillToolAvailability | undefined;
15
19
  export declare function hasSubmittedFormInputResult(messages: readonly Message[]): boolean;
16
20
  export declare function filterToolsAfterSubmittedFormInput(tools: readonly ToolDefinition[], messages: readonly Message[], runtimeContext?: Record<string, unknown>): ToolDefinition[];
17
21
  export declare function removeFormInputAfterSubmission(toolName: string, result: unknown, activeSkillId: string | undefined, activeSkillPolicy: string[] | undefined): string[] | undefined;
@@ -24,6 +28,7 @@ export type SkillPolicyResult = {
24
28
  };
25
29
  export type SkillPolicyOptions = {
26
30
  hasSubmittedFormInput?: boolean;
31
+ skillToolAvailability?: SkillToolAvailability;
27
32
  };
28
33
  export declare function enforceSkillPolicy(toolName: string, activeSkillPolicy: string[] | undefined, mustLoadSkillFirst: boolean, options?: SkillPolicyOptions): SkillPolicyResult;
29
34
  //# sourceMappingURL=skill-policy-enforcement.d.ts.map
@@ -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;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAO1D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,gCAAgC,gCAAgC,CAAC;AAY9E,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B;IACD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,8BAA8B,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACtE,CAeA;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIlE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAyBxE;AAqCD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAUjF;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,cAAc,EAAE,CAQlB;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAStB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAoCtB;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,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,EACvC,kBAAkB,EAAE,OAAO,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CA0BnB"}
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;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAEL,KAAK,qBAAqB,EAE3B,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,iCAAiC,CAAC;AAIzC,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,kBAAkB,eAAe,CAAC;AAC/C,eAAO,MAAM,oBAAoB,iBAAiB,CAAC;AACnD,eAAO,MAAM,gCAAgC,gCAAgC,CAAC;AAE9E,eAAO,MAAM,gCAAgC,EAAE,qBAI9C,CAAC;AAYF,wBAAgB,mCAAmC,CACjD,QAAQ,EAAE,SAAS,OAAO,EAAE,GAC3B;IACD,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IACxC,2BAA2B,EAAE,qBAAqB,GAAG,SAAS,CAAC;IAC/D,8BAA8B,EAAE,wBAAwB,GAAG,SAAS,CAAC;CACtE,CAuBA;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAIlE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,GAAG,SAAS,CAyBxE;AAQD,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,OAAO,GACd,qBAAqB,GAAG,SAAS,CAkBnC;AAqCD,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CAUjF;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvC,cAAc,EAAE,CAQlB;AAED,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAStB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,GACtC,MAAM,EAAE,GAAG,SAAS,CAoCtB;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,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;CAC/C,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EAAE,GAAG,SAAS,EACvC,kBAAkB,EAAE,OAAO,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,iBAAiB,CA4BnB"}
@@ -7,6 +7,11 @@ export const LOAD_SKILL_TOOL_ID = "load_skill";
7
7
  export const FORM_INPUT_TOOL_ID = "form_input";
8
8
  export const INVOKE_AGENT_TOOL_ID = "invoke_agent";
9
9
  export const SUBMITTED_FORM_INPUT_CONTEXT_KEY = "hasSubmittedFormInputResult";
10
+ export const INACTIVE_SKILL_TOOL_AVAILABILITY = {
11
+ hasActiveSkill: false,
12
+ references: [],
13
+ scripts: [],
14
+ };
10
15
  const POST_SUBMITTED_FORM_INPUT_BLOCKED_TOOL_IDS = new Set([
11
16
  FORM_INPUT_TOOL_ID,
12
17
  LOAD_SKILL_TOOL_ID,
@@ -18,6 +23,7 @@ function getSkillActivationRequiredError(toolName) {
18
23
  export function hydrateActiveSkillStateFromMessages(messages) {
19
24
  let activeSkillId;
20
25
  let activeSkillPolicy;
26
+ let activeSkillToolAvailability = INACTIVE_SKILL_TOOL_AVAILABILITY;
21
27
  let activeSkillDelegationOverrides;
22
28
  for (const message of messages) {
23
29
  for (const part of message.parts) {
@@ -25,10 +31,17 @@ export function hydrateActiveSkillStateFromMessages(messages) {
25
31
  continue;
26
32
  activeSkillId = extractSkillId(part.result);
27
33
  activeSkillPolicy = extractSkillPolicy(part.result);
34
+ activeSkillToolAvailability = extractSkillToolAvailability(part.result) ??
35
+ INACTIVE_SKILL_TOOL_AVAILABILITY;
28
36
  activeSkillDelegationOverrides = extractSkillDelegationOverrides(part.result);
29
37
  }
30
38
  }
31
- return { activeSkillId, activeSkillPolicy, activeSkillDelegationOverrides };
39
+ return {
40
+ activeSkillId,
41
+ activeSkillPolicy,
42
+ activeSkillToolAvailability,
43
+ activeSkillDelegationOverrides,
44
+ };
32
45
  }
33
46
  export function extractSkillId(result) {
34
47
  if (!result || typeof result !== "object")
@@ -56,6 +69,31 @@ export function extractSkillPolicy(result) {
56
69
  return [];
57
70
  }
58
71
  }
72
+ function extractStringArrayField(result, field) {
73
+ const raw = result[field];
74
+ if (!Array.isArray(raw))
75
+ return [];
76
+ return raw.filter((value) => typeof value === "string");
77
+ }
78
+ export function extractSkillToolAvailability(result) {
79
+ if (!result || typeof result !== "object")
80
+ return undefined;
81
+ const skillResult = result;
82
+ if (typeof skillResult.error === "string")
83
+ return undefined;
84
+ const looksLikeLoadedSkill = typeof skillResult.instructions === "string" ||
85
+ typeof skillResult.skillId === "string" ||
86
+ "allowedTools" in skillResult ||
87
+ "references" in skillResult ||
88
+ "scripts" in skillResult;
89
+ if (!looksLikeLoadedSkill)
90
+ return undefined;
91
+ return {
92
+ hasActiveSkill: true,
93
+ references: extractStringArrayField(skillResult, "references"),
94
+ scripts: extractStringArrayField(skillResult, "scripts"),
95
+ };
96
+ }
59
97
  function parseToolResultJson(result) {
60
98
  try {
61
99
  return JSON.parse(result);
@@ -145,10 +183,10 @@ export function enforceSkillPolicy(toolName, activeSkillPolicy, mustLoadSkillFir
145
183
  error: `Tool "${toolName}" cannot run after a submitted form_input result exists. Continue with the submitted values.`,
146
184
  };
147
185
  }
148
- if (activeSkillPolicy && !isToolAllowedBySkill(toolName, activeSkillPolicy)) {
186
+ if (!isToolAllowedBySkill(toolName, activeSkillPolicy, options.skillToolAvailability)) {
149
187
  return {
150
188
  allowed: false,
151
- error: `Tool "${toolName}" is not allowed by the active skill policy. Allowed: ${activeSkillPolicy.join(", ")}`,
189
+ error: `Tool "${toolName}" is not allowed by the active skill policy. Allowed: ${activeSkillPolicy?.join(", ") ?? "none"}`,
152
190
  };
153
191
  }
154
192
  return { allowed: true };
@@ -7,6 +7,12 @@
7
7
  *
8
8
  * @module
9
9
  */
10
+ /** Active skill file-backed capabilities available to skill infrastructure tools. */
11
+ export type SkillToolAvailability = {
12
+ hasActiveSkill?: boolean;
13
+ references?: readonly string[];
14
+ scripts?: readonly string[];
15
+ };
10
16
  /**
11
17
  * Check if a tool name matches a single allowed-tools pattern.
12
18
  *
@@ -27,7 +33,7 @@ export declare function matchesAllowedTool(toolName: string, pattern: string): b
27
33
  */
28
34
  export declare function filterToolsForSkill<T extends {
29
35
  name: string;
30
- }>(tools: T[], allowedTools: string[] | undefined): T[];
36
+ }>(tools: T[], allowedTools: string[] | undefined, skillToolAvailability?: SkillToolAvailability): T[];
31
37
  /**
32
38
  * Layer 2: Check if a specific tool call is allowed at execution time.
33
39
  *
@@ -35,7 +41,7 @@ export declare function filterToolsForSkill<T extends {
35
41
  * @param allowedTools - Allowed tool patterns, or undefined for no restrictions
36
42
  * @returns true if the tool call is allowed
37
43
  */
38
- export declare function isToolAllowedBySkill(toolName: string, allowedTools: string[] | undefined): boolean;
44
+ export declare function isToolAllowedBySkill(toolName: string, allowedTools: string[] | undefined, skillToolAvailability?: SkillToolAvailability): boolean;
39
45
  /**
40
46
  * Validate allowed-tool patterns at parse time.
41
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"allowed-tools.d.ts","sourceRoot":"","sources":["../../../src/src/skill/allowed-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAc7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5D,KAAK,EAAE,CAAC,EAAE,EACV,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,GACjC,CAAC,EAAE,CASL;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,GACjC,OAAO,CAIT;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAaxE"}
1
+ {"version":3,"file":"allowed-tools.d.ts","sourceRoot":"","sources":["../../../src/src/skill/allowed-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,qFAAqF;AACrF,MAAM,MAAM,qBAAqB,GAAG;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AA6BF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAc7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5D,KAAK,EAAE,CAAC,EAAE,EACV,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,qBAAqB,CAAC,EAAE,qBAAqB,GAC5C,CAAC,EAAE,CAoBL;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EAAE,GAAG,SAAS,EAClC,qBAAqB,CAAC,EAAE,qBAAqB,GAC5C,OAAO,CAKT;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAaxE"}
@@ -9,6 +9,24 @@
9
9
  */
10
10
  import { SKILL_ALLOWED_TOOL_PATTERN_REGEX, SKILL_TOOL_IDS } from "./types.js";
11
11
  import { createError, toError } from "../errors/veryfront-error.js";
12
+ const LOAD_SKILL_TOOL_ID = "load_skill";
13
+ const LOAD_SKILL_REFERENCE_TOOL_ID = "load_skill_reference";
14
+ const EXECUTE_SKILL_SCRIPT_TOOL_ID = "execute_skill_script";
15
+ function isSkillInfrastructureToolAllowed(toolName, availability = {}) {
16
+ if (!SKILL_TOOL_IDS.has(toolName)) {
17
+ return undefined;
18
+ }
19
+ if (toolName === LOAD_SKILL_TOOL_ID) {
20
+ return true;
21
+ }
22
+ if (toolName === LOAD_SKILL_REFERENCE_TOOL_ID) {
23
+ return availability.hasActiveSkill === true && (availability.references?.length ?? 0) > 0;
24
+ }
25
+ if (toolName === EXECUTE_SKILL_SCRIPT_TOOL_ID) {
26
+ return availability.hasActiveSkill === true && (availability.scripts?.length ?? 0) > 0;
27
+ }
28
+ return false;
29
+ }
12
30
  /**
13
31
  * Check if a tool name matches a single allowed-tools pattern.
14
32
  *
@@ -39,13 +57,20 @@ export function matchesAllowedTool(toolName, pattern) {
39
57
  * @param allowedTools - Allowed tool patterns, or undefined for no restrictions
40
58
  * @returns Filtered tool definitions
41
59
  */
42
- export function filterToolsForSkill(tools, allowedTools) {
60
+ export function filterToolsForSkill(tools, allowedTools, skillToolAvailability) {
43
61
  if (allowedTools === undefined) {
44
- return tools;
62
+ if (!skillToolAvailability) {
63
+ return tools;
64
+ }
65
+ return tools.filter((tool) => {
66
+ const skillToolAllowed = isSkillInfrastructureToolAllowed(tool.name, skillToolAvailability);
67
+ return skillToolAllowed ?? true;
68
+ });
45
69
  }
46
70
  return tools.filter((tool) => {
47
- if (SKILL_TOOL_IDS.has(tool.name))
48
- return true;
71
+ const skillToolAllowed = isSkillInfrastructureToolAllowed(tool.name, skillToolAvailability);
72
+ if (skillToolAllowed !== undefined)
73
+ return skillToolAllowed;
49
74
  return allowedTools.some((pattern) => matchesAllowedTool(tool.name, pattern));
50
75
  });
51
76
  }
@@ -56,11 +81,12 @@ export function filterToolsForSkill(tools, allowedTools) {
56
81
  * @param allowedTools - Allowed tool patterns, or undefined for no restrictions
57
82
  * @returns true if the tool call is allowed
58
83
  */
59
- export function isToolAllowedBySkill(toolName, allowedTools) {
84
+ export function isToolAllowedBySkill(toolName, allowedTools, skillToolAvailability) {
85
+ const skillToolAllowed = isSkillInfrastructureToolAllowed(toolName, skillToolAvailability);
86
+ if (skillToolAllowed !== undefined)
87
+ return skillToolAllowed;
60
88
  if (allowedTools === undefined)
61
89
  return true;
62
- if (SKILL_TOOL_IDS.has(toolName))
63
- return true;
64
90
  return allowedTools.some((pattern) => matchesAllowedTool(toolName, pattern));
65
91
  }
66
92
  /**
@@ -30,7 +30,7 @@ export function buildSkillManifestPrompt(skills) {
30
30
  lines.push("### Skill Tools (call these as tools, never write them as text)");
31
31
  lines.push("");
32
32
  lines.push("- load_skill: Call with { skillId } to load a skill's full instructions and available references/resources/scripts");
33
- lines.push("- load_skill_reference: Call with { skillId, reference } to read a file from the skill's references/, resources/, or assets/ directory");
34
- lines.push("- execute_skill_script: Call with { skillId, script, args?, env?, timeoutMs? } to execute a script");
33
+ lines.push("- load_skill_reference: Call with { skillId, reference } only after load_skill lists reference files for that skill");
34
+ lines.push("- execute_skill_script: Call with { skillId, script, args?, env?, timeoutMs? } only after load_skill lists scripts for that skill");
35
35
  return lines.join("\n");
36
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/src/skill/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAwB,MAAM,kBAAkB,CAAC;AAwGnE;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CA8C1C;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAqBnD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CA6BnD"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/src/skill/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAwB,MAAM,kBAAkB,CAAC;AAmJnE;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAkD1C;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CA+BnD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,IAAI,CAuCnD"}
@@ -71,17 +71,38 @@ function resolveVisibleSkillOrThrow(skillId, context) {
71
71
  }
72
72
  return skill;
73
73
  }
74
- function buildSkillAvailabilityNote(references, scripts) {
75
- if (scripts.length === 0 && references.length === 0) {
76
- return "This skill has no scripts or reference files. Do NOT call execute_skill_script or load_skill_reference.";
74
+ function hasRuntimeSkillBoundary(context) {
75
+ if (!context)
76
+ return false;
77
+ return context.activeSkillId !== undefined ||
78
+ context.activeSkillToolAvailability !== undefined;
79
+ }
80
+ function assertActiveSkillFileAvailable(input, context) {
81
+ if (!hasRuntimeSkillBoundary(context))
82
+ return;
83
+ const activeSkillId = context.activeSkillId;
84
+ const availability = context.activeSkillToolAvailability;
85
+ if (!activeSkillId || availability?.hasActiveSkill !== true) {
86
+ throw toError(createError({
87
+ type: "agent",
88
+ message: `${input.toolName} requires an active loaded skill.`,
89
+ }));
77
90
  }
78
- if (scripts.length === 0) {
79
- return "This skill has no scripts. Do NOT call execute_skill_script.";
91
+ if (input.skillId !== activeSkillId) {
92
+ throw toError(createError({
93
+ type: "agent",
94
+ message: `${input.toolName} can only access the active loaded skill "${activeSkillId}". Requested "${input.requestedSkillId}".`,
95
+ }));
80
96
  }
81
- if (references.length === 0) {
82
- return "This skill has no reference files. Do NOT call load_skill_reference.";
97
+ const advertised = input.kind === "reference"
98
+ ? availability.references ?? []
99
+ : availability.scripts ?? [];
100
+ if (!advertised.includes(input.path)) {
101
+ throw toError(createError({
102
+ type: "agent",
103
+ message: `${input.toolName} can only access ${input.kind} files advertised by load_skill.`,
104
+ }));
83
105
  }
84
- return undefined;
85
106
  }
86
107
  /**
87
108
  * Create the load_skill tool.
@@ -101,19 +122,19 @@ export function createLoadSkillTool() {
101
122
  // Parse frontmatter to get instructions
102
123
  const parsed = await parseSkillFrontmatter(content);
103
124
  // List available files the agent can load through load_skill_reference.
104
- const [references, resources, scripts] = await Promise.all([
125
+ const [references, resources, assets, scripts] = await Promise.all([
105
126
  listSkillSubdir(skill.rootPath, SKILL_REFERENCES_DIR, skill.fsAdapter),
106
127
  listSkillSubdir(skill.rootPath, SKILL_RESOURCES_DIR, skill.fsAdapter),
128
+ listSkillSubdir(skill.rootPath, SKILL_ASSETS_DIR, skill.fsAdapter),
107
129
  listSkillSubdir(skill.rootPath, SKILL_SCRIPTS_DIR, skill.fsAdapter),
108
130
  ]);
109
- const loadableReferences = [...references, ...resources];
110
- const note = buildSkillAvailabilityNote(loadableReferences, scripts);
131
+ const loadableReferences = [...references, ...resources, ...assets];
111
132
  return {
133
+ skillId: skill.id,
112
134
  instructions: parsed.body,
113
135
  allowedTools: skill.metadata.allowedTools,
114
136
  references: loadableReferences,
115
137
  scripts,
116
- ...(note ? { note } : {}),
117
138
  };
118
139
  },
119
140
  });
@@ -130,6 +151,13 @@ export function createLoadSkillReferenceTool() {
130
151
  inputSchema: getLoadSkillReferenceInputSchema(),
131
152
  execute: async (input, context) => {
132
153
  const skill = resolveVisibleSkillOrThrow(input.skillId, context);
154
+ assertActiveSkillFileAvailable({
155
+ toolName: "load_skill_reference",
156
+ skillId: skill.id,
157
+ requestedSkillId: input.skillId,
158
+ path: input.reference,
159
+ kind: "reference",
160
+ }, context);
133
161
  // Validate path safety before reading skill-provided context.
134
162
  const validatedPath = await validateSkillPath(skill.rootPath, input.reference, [SKILL_REFERENCES_DIR, SKILL_RESOURCES_DIR, SKILL_ASSETS_DIR], skill.fsAdapter);
135
163
  const content = await readSkillFile(skill, validatedPath);
@@ -148,6 +176,13 @@ export function createExecuteSkillScriptTool() {
148
176
  inputSchema: getExecuteSkillScriptInputSchema(),
149
177
  execute: async (input, context) => {
150
178
  const skill = resolveVisibleSkillOrThrow(input.skillId, context);
179
+ assertActiveSkillFileAvailable({
180
+ toolName: "execute_skill_script",
181
+ skillId: skill.id,
182
+ requestedSkillId: input.skillId,
183
+ path: input.script,
184
+ kind: "script",
185
+ }, context);
151
186
  // Validate path safety (only scripts/ allowed)
152
187
  const validatedPath = await validateSkillPath(skill.rootPath, input.script, [SKILL_SCRIPTS_DIR], skill.fsAdapter);
153
188
  const scriptContent = await readSkillFile(skill, validatedPath);
@@ -39,6 +39,8 @@ export interface SkillMetadata {
39
39
  }
40
40
  /** Full skill content returned by load_skill tool */
41
41
  export interface SkillContent {
42
+ /** Loaded skill identifier */
43
+ skillId: string;
42
44
  /** Markdown instructions (body after frontmatter) */
43
45
  instructions: string;
44
46
  /** Tool access restrictions from frontmatter */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/skill/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAItE,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAE5D,6EAA6E;AAC7E,eAAO,MAAM,gCAAgC,QACiB,CAAC;AAE/D,+CAA+C;AAC/C,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,wEAAwE;AACxE,eAAO,MAAM,cAAc,aAIzB,CAAC;AAEH,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAIzC,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,qCAAqC;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,gCAAgC;AAChC,MAAM,WAAW,KAAK;IACpB,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oCAAoC;AACpC,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gCAAgC;AAChC,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtE;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/skill/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAItE,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,QAA8B,CAAC;AAE5D,6EAA6E;AAC7E,eAAO,MAAM,gCAAgC,QACiB,CAAC;AAE/D,+CAA+C;AAC/C,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,aAAa,CAAC;AAE5C,wEAAwE;AACxE,eAAO,MAAM,cAAc,aAIzB,CAAC;AAEH,sCAAsC;AACtC,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAC3C,eAAO,MAAM,oBAAoB,eAAe,CAAC;AACjD,eAAO,MAAM,mBAAmB,cAAc,CAAC;AAC/C,eAAO,MAAM,gBAAgB,WAAW,CAAC;AAIzC,gDAAgD;AAChD,MAAM,WAAW,aAAa;IAC5B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,qCAAqC;IACrC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,kCAAkC;IAClC,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,gCAAgC;AAChC,MAAM,WAAW,KAAK;IACpB,+CAA+C;IAC/C,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,QAAQ,EAAE,aAAa,CAAC;IACxB,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,CAAC,EAAE,iBAAiB,CAAC;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2CAA2C;AAC3C,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oCAAoC;AACpC,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,gCAAgC;AAChC,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACtE;AAED,uDAAuD;AACvD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB"}
@@ -72,6 +72,20 @@ export interface ToolExecutionContext {
72
72
  branch?: string | null;
73
73
  /** Environment name associated with project content */
74
74
  environmentName?: string | null;
75
+ /** Canonical id of the active skill loaded by the current agent run step. */
76
+ activeSkillId?: string;
77
+ /**
78
+ * File-backed capabilities advertised by the active loaded skill.
79
+ *
80
+ * Framework skill file tools use this to reject references/scripts that were
81
+ * not listed by `load_skill`, even if the model guesses a valid path under a
82
+ * skill directory.
83
+ */
84
+ activeSkillToolAvailability?: {
85
+ hasActiveSkill?: boolean;
86
+ references?: readonly string[];
87
+ scripts?: readonly string[];
88
+ };
75
89
  /** Abort signal for cooperative cancellation during long-running tool execution */
76
90
  abortSignal?: AbortSignal;
77
91
  /** Progress token for sending progress notifications (MCP 2025-11-25) */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/tool/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AAEH,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IACrD,yDAAyD;IACzD,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,UAAU,CAAC;IAEzC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,UAAU,CAAC;IAE5C;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;OAEG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAEvF,wBAAwB;IACxB,GAAG,CAAC,EAAE;QACJ,qBAAqB;QACrB,OAAO,CAAC,EAAE,OAAO,CAAC;QAElB,6BAA6B;QAC7B,YAAY,CAAC,EAAE,OAAO,CAAC;QAEvB,mBAAmB;QACnB,WAAW,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,aAAa,CAAC;QAEnD,uCAAuC;QACvC,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,oDAAoD;QACpD,WAAW,CAAC,EAAE,eAAe,CAAC;KAC/B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mFAAmF;IACnF,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,yBAAyB;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,sDAAsD;IACtD,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,6CAA6C;AAC7C,MAAM,WAAW,sBAAsB;IACrC,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qCAAqC;IACrC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;GAIG;AACH,KAAK,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAEvC;;GAEG;AAEH,MAAM,WAAW,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG;IAC/C,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,2FAA2F;IAC3F,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;;OAIG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IAEpB,uFAAuF;IACvF,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAE5B;;;OAGG;IACH,eAAe,CAAC,EAAE,UAAU,CAAC;IAE7B,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAE9B,yDAAyD;IACzD,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAE/B;;OAEG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7E,wBAAwB;IACxB,GAAG,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAExB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IACrE,WAAW,CACT,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/src/tool/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
1
  /** Shared version value. */
2
- export declare const VERSION = "0.1.951";
2
+ export declare const VERSION = "0.1.953";
3
3
  //# sourceMappingURL=version-constant.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // Keep in sync with deno.json version.
2
2
  // scripts/release.ts updates this constant during releases.
3
3
  /** Shared version value. */
4
- export const VERSION = "0.1.951";
4
+ export const VERSION = "0.1.953";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "veryfront",
3
- "version": "0.1.951",
3
+ "version": "0.1.953",
4
4
  "description": "The simplest way to build AI-powered apps",
5
5
  "keywords": [
6
6
  "react",