pi-fabric 0.68.0 → 0.70.0

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.
Files changed (29) hide show
  1. package/dist/actors/types.d.ts +2 -2
  2. package/dist/actors/types.d.ts.map +1 -1
  3. package/dist/chunks/{chunk-LVTVYK4E.js → chunk-5XQA7QX2.js} +2 -2
  4. package/dist/chunks/{chunk-IUBTHPXQ.js → chunk-KJ3XSDAH.js} +2 -2
  5. package/dist/chunks/{chunk-MC6AUT75.js → chunk-KQEYAV5Z.js} +2 -2
  6. package/dist/chunks/{chunk-LDZWE6OA.js → chunk-TEGUENKB.js} +201 -20
  7. package/dist/chunks/chunk-TEGUENKB.js.map +7 -0
  8. package/dist/chunks/{chunk-ASBRTAJ4.js → chunk-WN4JZMOP.js} +3 -3
  9. package/dist/chunks/{chunk-C2C4RHVN.js → chunk-WRKD7W34.js} +3 -1
  10. package/dist/chunks/chunk-WRKD7W34.js.map +7 -0
  11. package/dist/chunks/{dashboard-6HFBSZQ4.js → dashboard-RPCGC33N.js} +6 -4
  12. package/dist/chunks/{dashboard-6HFBSZQ4.js.map → dashboard-RPCGC33N.js.map} +2 -2
  13. package/dist/chunks/{fabric-runtime-state-LG265P3R.js → fabric-runtime-state-NQ7ZXZ6P.js} +6 -6
  14. package/dist/core/action-registry.d.ts +2 -0
  15. package/dist/core/action-registry.d.ts.map +1 -1
  16. package/dist/core/action-registry.js +1 -1
  17. package/dist/core/action-repair.d.ts +20 -0
  18. package/dist/core/action-repair.d.ts.map +1 -0
  19. package/dist/index.js +7 -7
  20. package/dist/residency/host.js +2 -2
  21. package/dist/ui/fabric-host-event-selector.d.ts.map +1 -1
  22. package/package.json +4 -4
  23. package/dist/chunks/chunk-C2C4RHVN.js.map +0 -7
  24. package/dist/chunks/chunk-LDZWE6OA.js.map +0 -7
  25. /package/dist/chunks/{chunk-LVTVYK4E.js.map → chunk-5XQA7QX2.js.map} +0 -0
  26. /package/dist/chunks/{chunk-IUBTHPXQ.js.map → chunk-KJ3XSDAH.js.map} +0 -0
  27. /package/dist/chunks/{chunk-MC6AUT75.js.map → chunk-KQEYAV5Z.js.map} +0 -0
  28. /package/dist/chunks/{chunk-ASBRTAJ4.js.map → chunk-WN4JZMOP.js.map} +0 -0
  29. /package/dist/chunks/{fabric-runtime-state-LG265P3R.js.map → fabric-runtime-state-NQ7ZXZ6P.js.map} +0 -0
@@ -5,8 +5,8 @@ import type { FabricLogLine, AgentRunRecord, AgentUsage } from "../agents/types.
5
5
  import type { FabricCapabilityRequirement } from "../components/types.js";
6
6
  import type { FabricParticipantResidency } from "../topology/types.js";
7
7
  export type FabricActorPiHostEvent = Exclude<ExtensionEvent["type"], "project_trust">;
8
- export declare const FABRIC_ACTOR_PI_HOST_EVENTS: readonly ["resources_discover", "session_start", "session_info_changed", "session_before_switch", "session_before_fork", "session_before_compact", "session_compact", "session_compact_failed", "session_shutdown", "session_before_tree", "session_tree", "input", "before_agent_start", "agent_start", "agent_end", "agent_settled", "turn_start", "turn_end", "message_start", "message_update", "message_end", "context", "before_provider_headers", "before_provider_request", "after_provider_response", "tool_execution_start", "tool_call", "tool_execution_update", "tool_result", "tool_execution_end", "model_select", "thinking_level_select", "user_bash"];
9
- export declare const FABRIC_ACTOR_HOST_EVENTS: readonly ["resources_discover", "session_start", "session_info_changed", "session_before_switch", "session_before_fork", "session_before_compact", "session_compact", "session_compact_failed", "session_shutdown", "session_before_tree", "session_tree", "input", "before_agent_start", "agent_start", "agent_end", "agent_settled", "turn_start", "turn_end", "message_start", "message_update", "message_end", "context", "before_provider_headers", "before_provider_request", "after_provider_response", "tool_execution_start", "tool_call", "tool_execution_update", "tool_result", "tool_execution_end", "model_select", "thinking_level_select", "user_bash", "tool_error"];
8
+ export declare const FABRIC_ACTOR_PI_HOST_EVENTS: readonly ["resources_discover", "session_start", "session_info_changed", "session_before_switch", "session_before_fork", "session_before_compact", "session_compact", "session_compact_failed", "session_shutdown", "session_before_tree", "session_tree", "input", "before_agent_start", "agent_start", "agent_end", "agent_settled", "turn_start", "turn_end", "message_start", "message_update", "message_end", "ui_prompt_start", "ui_prompt_end", "context", "before_provider_headers", "before_provider_request", "after_provider_response", "tool_execution_start", "tool_call", "tool_execution_update", "tool_result", "tool_execution_end", "model_select", "thinking_level_select", "user_bash"];
9
+ export declare const FABRIC_ACTOR_HOST_EVENTS: readonly ["resources_discover", "session_start", "session_info_changed", "session_before_switch", "session_before_fork", "session_before_compact", "session_compact", "session_compact_failed", "session_shutdown", "session_before_tree", "session_tree", "input", "before_agent_start", "agent_start", "agent_end", "agent_settled", "turn_start", "turn_end", "message_start", "message_update", "message_end", "ui_prompt_start", "ui_prompt_end", "context", "before_provider_headers", "before_provider_request", "after_provider_response", "tool_execution_start", "tool_call", "tool_execution_update", "tool_result", "tool_execution_end", "model_select", "thinking_level_select", "user_bash", "tool_error"];
10
10
  export type FabricActorHostEvent = (typeof FABRIC_ACTOR_HOST_EVENTS)[number];
11
11
  export declare const isFabricActorHostEvent: (value: unknown) => value is FabricActorHostEvent;
12
12
  export type FabricActorDelivery = "mailbox" | "steer" | "followUp" | "nextTurn";
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/actors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;AAQtF,eAAO,MAAM,2BAA2B,yoBAkCtC,CAAC;AAEH,eAAO,MAAM,wBAAwB,upBAG3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7E,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBACI,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAChF,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,WAAW,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,UAAU,sBAAuB,SAAQ,qBAAqB;IAC5D,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,0BAA2B,SAAQ,qBAAqB;IAChE,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,qBAAqB,CAAC;IAClC,OAAO,EAAE;QACP,wBAAwB,EAAE,MAAM,CAAC;QACjC,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,OAAO,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kGAAkG;IAClG,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,2BAA2B,CAAC,EAAE,CAAC;IAC7D,4EAA4E;IAC5E,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,uBAAuB,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,cAAc,CAAC;QACxB,MAAM,EAAE,aAAa,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAClD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAKlB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,uBAAuB,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,MAAM,EAAE,iBAAiB,CAAC;CAC3B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/actors/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAEvE,MAAM,MAAM,sBAAsB,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC;AAQtF,eAAO,MAAM,2BAA2B,6qBAoCtC,CAAC;AAEH,eAAO,MAAM,wBAAwB,2rBAG3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAI7E,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,oBACI,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAC;AAChF,MAAM,MAAM,uBAAuB,GAAG,MAAM,GAAG,WAAW,CAAC;AAC3D,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED,UAAU,sBAAuB,SAAQ,qBAAqB;IAC5D,KAAK,EAAE,SAAS,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,0BAA2B,SAAQ,qBAAqB;IAChE,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA2B;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEN,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,qBAAqB,CAAC;IAClC,OAAO,EAAE;QACP,wBAAwB,EAAE,MAAM,CAAC;QACjC,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,OAAO,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,YAAY,CAAC,EAAE,uBAAuB,CAAC;IACvC,kFAAkF;IAClF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kGAAkG;IAClG,QAAQ,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,2BAA2B,CAAC,EAAE,CAAC;IAC7D,4EAA4E;IAC5E,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,uBAAuB,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uFAAuF;IACvF,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,OAAO,CAAC,EAAE,sBAAsB,CAAC;IACjC,eAAe,CAAC,EAAE,0BAA0B,CAAC;IAC7C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,2BAA2B,EAAE,CAAC;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,cAAc,CAAC;QACxB,MAAM,EAAE,aAAa,EAAE,CAAC;QACxB,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,IAAI,GAAG,KAAK,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;IAClD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAKlB,MAAM,EAAE,oBAAoB,EAAE,CAAC;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,YAAY,EAAE,uBAAuB,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,MAAM,EAAE,iBAAiB,CAAC;CAC3B"}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readJsonlPageFromDescriptor
3
- } from "./chunk-C2C4RHVN.js";
3
+ } from "./chunk-WRKD7W34.js";
4
4
 
5
5
  // src/core/call-preview.ts
6
6
  var HEADLINE_ARG_KEYS = [
@@ -1174,4 +1174,4 @@ export {
1174
1174
  isFabricAgentToolPreview,
1175
1175
  recentTranscriptTools
1176
1176
  };
1177
- //# sourceMappingURL=chunk-LVTVYK4E.js.map
1177
+ //# sourceMappingURL=chunk-5XQA7QX2.js.map
@@ -5,7 +5,7 @@ import {
5
5
  selectPreviewTextLines,
6
6
  shouldSkipWriteDiffBytes,
7
7
  shouldSkipWriteDiffComplexity
8
- } from "./chunk-LVTVYK4E.js";
8
+ } from "./chunk-5XQA7QX2.js";
9
9
  import {
10
10
  resolveShikiTheme
11
11
  } from "./chunk-7B55UIZL.js";
@@ -5070,4 +5070,4 @@ export {
5070
5070
  isActiveStatus,
5071
5071
  orderAgentsByCreation
5072
5072
  };
5073
- //# sourceMappingURL=chunk-IUBTHPXQ.js.map
5073
+ //# sourceMappingURL=chunk-KJ3XSDAH.js.map
@@ -22,7 +22,7 @@ import {
22
22
  import {
23
23
  FABRIC_ACTOR_HOST_EVENTS,
24
24
  readJsonlPage
25
- } from "./chunk-C2C4RHVN.js";
25
+ } from "./chunk-WRKD7W34.js";
26
26
  import {
27
27
  DEFAULT_FABRIC_CONFIG,
28
28
  MAX_AGENT_TIMEOUT_MS,
@@ -6255,4 +6255,4 @@ export {
6255
6255
  residentRoot,
6256
6256
  residentDeliveryPrefix
6257
6257
  };
6258
- //# sourceMappingURL=chunk-MC6AUT75.js.map
6258
+ //# sourceMappingURL=chunk-KQEYAV5Z.js.map
@@ -21,6 +21,126 @@ import {
21
21
  import { randomUUID as randomUUID2 } from "node:crypto";
22
22
  import { Value } from "typebox/value";
23
23
 
24
+ // src/core/action-repair.ts
25
+ var ACTION_SYNONYM_CLASSES = [
26
+ // memory.recall and its spilled search verbs.
27
+ ["recall", "search", "find", "query", "lookup", "grep", "scan", "locate"],
28
+ // memory.expand / read-one-entry verbs.
29
+ ["expand", "get", "read", "fetch", "load", "view", "show", "hydrate"],
30
+ // memory.sessions and list-style catalog reads.
31
+ ["sessions", "list", "ls", "enumerate", "index"],
32
+ // state.transition / mesh.put write verbs.
33
+ ["transition", "write", "put", "set", "save", "update", "store", "upsert", "append", "post"],
34
+ // agents.create family.
35
+ ["create", "spawn", "new", "add", "make", "register"],
36
+ // mesh.publish family ("post" deliberately also sits in the write class,
37
+ // so mesh.post stays ambiguous between publish and put).
38
+ ["publish", "send", "emit", "notify"],
39
+ // teardown verbs.
40
+ ["delete", "remove", "rm", "destroy", "drop", "clear"],
41
+ // components.reload family.
42
+ ["reload", "restart", "refresh", "rebuild", "reboot"],
43
+ // status/introspection reads ("get" is deliberately shared with the
44
+ // expand class: memory.get expands an entry, components.get is status).
45
+ ["status", "info", "inspect", "health", "describe", "get"],
46
+ // execution verbs.
47
+ ["run", "execute", "exec", "invoke", "call", "start", "go"],
48
+ // cancellation verbs.
49
+ ["cancel", "abort", "stop", "kill", "terminate"],
50
+ // verification verbs.
51
+ ["verify", "check", "validate", "assert", "confirm", "certify"],
52
+ // timeline reads.
53
+ ["history", "log", "journal", "events", "timeline", "transitions"],
54
+ // subscription verbs.
55
+ ["subscribe", "watch", "listen", "observe", "follow"],
56
+ // compact.request family.
57
+ ["request", "begin", "initiate", "trigger", "schedule"],
58
+ // schema.commit family.
59
+ ["commit", "apply", "finalize"],
60
+ // agents messaging pair (both declare, so spilled verbs here stay
61
+ // ambiguous and the failure tier enumerates ask vs tell).
62
+ ["ask", "tell", "say", "chat"]
63
+ ];
64
+ var normalizeActionForm = (name) => name.toLowerCase().replace(/[^a-z0-9]/g, "");
65
+ var ACTION_CLASS_FORMS = ACTION_SYNONYM_CLASSES.map(
66
+ (cls) => new Set(cls.map(normalizeActionForm))
67
+ );
68
+ var camelTokens = (name) => name.replace(/([a-z0-9])([A-Z])/g, "$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g, "$1 $2").toLowerCase().split(/[^a-z0-9]+/).filter((token) => token.length > 0);
69
+ var singularActionForm = (form) => form.length > 3 && form.endsWith("s") ? form.slice(0, -1) : form;
70
+ var levenshtein = (left, right) => {
71
+ if (left === right) return 0;
72
+ if (left.length === 0) return right.length;
73
+ if (right.length === 0) return left.length;
74
+ let previous = Array.from({ length: right.length + 1 }, (_, index) => index);
75
+ for (let i = 1; i <= left.length; i++) {
76
+ const current = [i];
77
+ for (let j = 1; j <= right.length; j++) {
78
+ current.push(
79
+ Math.min(
80
+ previous[j] + 1,
81
+ current[j - 1] + 1,
82
+ previous[j - 1] + (left[i - 1] === right[j - 1] ? 0 : 1)
83
+ )
84
+ );
85
+ }
86
+ previous = current;
87
+ }
88
+ return previous[right.length];
89
+ };
90
+ var editThreshold = (form) => form.length <= 4 ? 1 : Math.max(2, Math.floor(form.length / 4));
91
+ var tokenAligned = (spilled, declared) => {
92
+ if (spilled.length === 0 || spilled.length !== declared.length) return false;
93
+ return spilled.every((token, index) => {
94
+ const other = declared[index];
95
+ if (token === other) return true;
96
+ return token.length >= 3 && other.length >= 3 && (token.startsWith(other) || other.startsWith(token));
97
+ });
98
+ };
99
+ var sortNames = (names) => [...new Set(names)].sort((left, right) => left.localeCompare(right));
100
+ var repairActionName = (declared, actionName) => {
101
+ const spilledForm = normalizeActionForm(actionName);
102
+ if (spilledForm.length === 0) return { suggestions: [] };
103
+ const rest = declared.filter((name) => name !== actionName);
104
+ if (rest.length === 0) return { suggestions: [] };
105
+ const forms = rest.map((name) => ({ name, form: normalizeActionForm(name) }));
106
+ const classCandidates = ACTION_CLASS_FORMS.filter((classForms) => classForms.has(spilledForm)).flatMap(
107
+ (classForms) => forms.filter((entry) => classForms.has(entry.form)).map((entry) => entry.name)
108
+ );
109
+ if (classCandidates.length === 1) {
110
+ return { repaired: classCandidates[0], suggestions: [classCandidates[0]] };
111
+ }
112
+ if (classCandidates.length > 1) {
113
+ return { suggestions: sortNames(classCandidates) };
114
+ }
115
+ const spilledTokens = camelTokens(actionName);
116
+ const derived = [];
117
+ for (const entry of forms) {
118
+ if (entry.form === spilledForm || singularActionForm(entry.form) === singularActionForm(spilledForm) || spilledTokens.length > 0 && tokenAligned(spilledTokens, camelTokens(entry.name)) || spilledForm.length >= 4 && entry.form.startsWith(spilledForm)) {
119
+ derived.push(entry.name);
120
+ }
121
+ }
122
+ if (derived.length === 1) return { repaired: derived[0], suggestions: [derived[0]] };
123
+ if (derived.length > 1) return { suggestions: sortNames(derived) };
124
+ const distances = forms.map((entry) => ({
125
+ name: entry.name,
126
+ distance: levenshtein(spilledForm, entry.form)
127
+ }));
128
+ const min = Math.min(...distances.map((entry) => entry.distance));
129
+ const threshold = editThreshold(spilledForm);
130
+ if (min <= threshold) {
131
+ const nearest = sortNames(
132
+ distances.filter((entry) => entry.distance === min).map((entry) => entry.name)
133
+ );
134
+ if (nearest.length === 1) return { repaired: nearest[0], suggestions: [nearest[0]] };
135
+ return { suggestions: nearest };
136
+ }
137
+ const suggestions = distances.filter((entry) => entry.distance <= Math.max(3, Math.floor(spilledForm.length / 2))).sort(
138
+ (left, right) => left.distance - right.distance || left.name.localeCompare(right.name)
139
+ ).slice(0, 3).map((entry) => entry.name);
140
+ return { suggestions: sortNames(suggestions) };
141
+ };
142
+ var formatUnknownActionMessage = (ref, suggestions) => suggestions.length > 0 ? `Unknown Fabric action: ${ref} (did you mean: ${suggestions.slice(0, 3).join(", ")}?)` : `Unknown Fabric action: ${ref}`;
143
+
24
144
  // src/core/provider-bindings.ts
25
145
  import { randomUUID } from "node:crypto";
26
146
  var snapshot = (binding) => ({
@@ -677,9 +797,16 @@ var ActionRegistry = class {
677
797
  ref,
678
798
  context.capabilityView
679
799
  );
680
- const descriptor = await provider.describe(actionName, context);
681
- if (!descriptor) throw new FabricResolutionError(`Unknown Fabric action: ${ref}`);
682
- const action = resolveDescriptor(provider, descriptor);
800
+ const resolved = await this.#resolveActionDescriptor(
801
+ provider,
802
+ actionName,
803
+ context,
804
+ context.capabilityView === void 0
805
+ );
806
+ if (!resolved.action) {
807
+ throw new FabricResolutionError(formatUnknownActionMessage(ref, resolved.suggestions));
808
+ }
809
+ const action = resolved.action;
683
810
  if (expectedDescriptorHash && actionDescriptorHash(action) !== expectedDescriptorHash) {
684
811
  throw new FabricResolutionError(`Fabric capability descriptor changed: ${ref}`);
685
812
  }
@@ -701,6 +828,7 @@ var ActionRegistry = class {
701
828
  throw new FabricResolutionError(`Unknown Fabric action in committed view: ${ref}`);
702
829
  }
703
830
  const matches = [];
831
+ const declaredNames = [];
704
832
  for (const provider of this.#providerBindings.providers()) {
705
833
  let descriptors;
706
834
  try {
@@ -709,6 +837,7 @@ var ActionRegistry = class {
709
837
  continue;
710
838
  }
711
839
  for (const descriptor of descriptors) {
840
+ declaredNames.push(descriptor.name);
712
841
  if (descriptor.name === ref) matches.push(resolveDescriptor(provider, descriptor));
713
842
  }
714
843
  }
@@ -718,7 +847,8 @@ var ActionRegistry = class {
718
847
  `"${ref}" matches ${matches.length} Fabric actions; qualify with provider.action: ` + matches.map((match) => match.ref).sort().join(", ")
719
848
  );
720
849
  }
721
- throw new FabricResolutionError(`Unknown Fabric action: ${ref}`);
850
+ const repair = repairActionName(declaredNames, ref);
851
+ throw new FabricResolutionError(formatUnknownActionMessage(ref, repair.suggestions));
722
852
  }
723
853
  async acquireScoped(ref, args, context) {
724
854
  const { binding, provider, actionName, expectedDescriptorHash } = this.#parseRef(
@@ -729,12 +859,17 @@ var ActionRegistry = class {
729
859
  const releaseBinding = this.#providerBindings.retain([binding.id]);
730
860
  let retentionTransferred = false;
731
861
  try {
732
- const descriptor = await runAbortable(
733
- context.signal,
734
- () => provider.describe(actionName, context)
862
+ const resolved = await this.#resolveActionDescriptor(
863
+ provider,
864
+ actionName,
865
+ context,
866
+ context.capabilityView === void 0
735
867
  );
736
- if (!descriptor) throw new FabricResolutionError(`Unknown Fabric action: ${ref}`);
737
- const action = resolveDescriptor(provider, descriptor);
868
+ if (!resolved.action) {
869
+ throw new FabricResolutionError(formatUnknownActionMessage(ref, resolved.suggestions));
870
+ }
871
+ const action = resolved.action;
872
+ const providerActionName = resolved.repairedFrom === void 0 ? actionName : action.name;
738
873
  if (expectedDescriptorHash && actionDescriptorHash(action) !== expectedDescriptorHash) {
739
874
  throw new FabricResolutionError(`Fabric capability descriptor changed: ${ref}`);
740
875
  }
@@ -746,7 +881,7 @@ var ActionRegistry = class {
746
881
  }
747
882
  const preparedArgs = provider.prepareArguments ? await runAbortable(
748
883
  context.signal,
749
- () => provider.prepareArguments(actionName, args, context)
884
+ () => provider.prepareArguments(providerActionName, args, context)
750
885
  ) : args;
751
886
  if (typeof preparedArgs !== "object" || preparedArgs === null || Array.isArray(preparedArgs)) {
752
887
  throw new Error(`Argument preparation for ${ref} did not return an object`);
@@ -755,7 +890,7 @@ var ActionRegistry = class {
755
890
  if (invalid) throw new Error(`Invalid arguments for ${ref}: ${invalid}`);
756
891
  const acquired = await runAbortable(
757
892
  context.signal,
758
- () => provider.acquire(actionName, preparedArgs, context)
893
+ () => provider.acquire(providerActionName, preparedArgs, context)
759
894
  );
760
895
  if (!acquired || typeof acquired.dispose !== "function") {
761
896
  throw new Error(`Scoped acquisition ${ref} did not return a disposer`);
@@ -792,12 +927,17 @@ var ActionRegistry = class {
792
927
  context.capabilityView
793
928
  );
794
929
  endBindingInvocation = this.#providerBindings.beginInvocation(binding.id);
795
- const descriptor = await runAbortable(
796
- context.signal,
797
- () => provider.describe(actionName, context)
930
+ const resolved = await this.#resolveActionDescriptor(
931
+ provider,
932
+ actionName,
933
+ context,
934
+ context.capabilityView === void 0
798
935
  );
799
- if (!descriptor) throw new FabricResolutionError(`Unknown Fabric action: ${ref}`);
800
- const action = resolveDescriptor(provider, descriptor);
936
+ if (!resolved.action) {
937
+ throw new FabricResolutionError(formatUnknownActionMessage(ref, resolved.suggestions));
938
+ }
939
+ const action = resolved.action;
940
+ const providerActionName = resolved.repairedFrom === void 0 ? actionName : action.name;
801
941
  if (expectedDescriptorHash && actionDescriptorHash(action) !== expectedDescriptorHash) {
802
942
  throw new FabricResolutionError(`Fabric capability descriptor changed: ${ref}`);
803
943
  }
@@ -814,7 +954,7 @@ var ActionRegistry = class {
814
954
  failureStage = "prepare";
815
955
  const preparedArgs = provider.prepareArguments ? await runAbortable(
816
956
  context.signal,
817
- () => provider.prepareArguments(actionName, args, context)
957
+ () => provider.prepareArguments(providerActionName, args, context)
818
958
  ) : args;
819
959
  if (typeof preparedArgs !== "object" || preparedArgs === null || Array.isArray(preparedArgs)) {
820
960
  throw new FabricTraceSafeError(`Argument preparation for ${ref} did not return an object`);
@@ -853,7 +993,8 @@ var ActionRegistry = class {
853
993
  argsPreview,
854
994
  MAX_AUDIT_VALUE_CHARS
855
995
  ),
856
- ...effectConflicts.length > 0 ? { effectConflicts } : {}
996
+ ...effectConflicts.length > 0 ? { effectConflicts } : {},
997
+ ...resolved.repairedFrom !== void 0 ? { repairedFrom: resolved.repairedFrom } : {}
857
998
  };
858
999
  audit = activeAudit;
859
1000
  invocationActive = true;
@@ -900,7 +1041,7 @@ var ActionRegistry = class {
900
1041
  providerInvoked = true;
901
1042
  providerValue = await runAbortable(
902
1043
  context.signal,
903
- () => provider.invoke(actionName, preparedArgs, {
1044
+ () => provider.invoke(providerActionName, preparedArgs, {
904
1045
  ...context,
905
1046
  nestedToolCallId,
906
1047
  update(message) {
@@ -1154,6 +1295,46 @@ var ActionRegistry = class {
1154
1295
  await Promise.allSettled(temporaryReleases.map((release) => release()));
1155
1296
  }
1156
1297
  }
1298
+ async #declaredActionNames(provider, context) {
1299
+ try {
1300
+ const descriptors = await runAbortable(context.signal, () => provider.list({}, context));
1301
+ return descriptors.map((descriptor) => descriptor.name);
1302
+ } catch {
1303
+ return [];
1304
+ }
1305
+ }
1306
+ // Resolve a provider action descriptor, repairing a near-miss action name
1307
+ // (mirroring arg-normalization's prepare-stage argument repair) when the
1308
+ // caller is not pinned to a committed capability view. Committed views are
1309
+ // exact contracts: a pinned miss keeps the plain resolution error.
1310
+ async #resolveActionDescriptor(provider, actionName, context, allowRepair) {
1311
+ const descriptor = await runAbortable(
1312
+ context.signal,
1313
+ () => provider.describe(actionName, context)
1314
+ );
1315
+ if (descriptor) return { action: resolveDescriptor(provider, descriptor), suggestions: [] };
1316
+ if (!allowRepair) return { suggestions: [] };
1317
+ const repair = repairActionName(
1318
+ await this.#declaredActionNames(provider, context),
1319
+ actionName
1320
+ );
1321
+ if (repair.repaired !== void 0) {
1322
+ const repairedDescriptor = await runAbortable(
1323
+ context.signal,
1324
+ () => provider.describe(repair.repaired, context)
1325
+ );
1326
+ if (repairedDescriptor) {
1327
+ return {
1328
+ action: resolveDescriptor(provider, repairedDescriptor),
1329
+ suggestions: [],
1330
+ repairedFrom: actionName
1331
+ };
1332
+ }
1333
+ }
1334
+ return {
1335
+ suggestions: repair.suggestions.map((name) => `${provider.name}.${name}`)
1336
+ };
1337
+ }
1157
1338
  #parseRef(ref, view) {
1158
1339
  const separator = ref.indexOf(".");
1159
1340
  if (separator <= 0 || separator === ref.length - 1) {
@@ -1201,4 +1382,4 @@ export {
1201
1382
  NESTED_TOOL_CALL_ID_PREFIX,
1202
1383
  ActionRegistry
1203
1384
  };
1204
- //# sourceMappingURL=chunk-LDZWE6OA.js.map
1385
+ //# sourceMappingURL=chunk-TEGUENKB.js.map