@fabric-harness/sdk 1.13.0 → 2.0.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 (169) hide show
  1. package/dist/action.d.ts +69 -0
  2. package/dist/action.d.ts.map +1 -0
  3. package/dist/action.js +119 -0
  4. package/dist/action.js.map +1 -0
  5. package/dist/agent-definition.d.ts +6 -0
  6. package/dist/agent-definition.d.ts.map +1 -1
  7. package/dist/agent-definition.js.map +1 -1
  8. package/dist/agent.d.ts +2 -0
  9. package/dist/agent.d.ts.map +1 -1
  10. package/dist/agent.js +35 -1
  11. package/dist/agent.js.map +1 -1
  12. package/dist/attachment-store-contract.d.ts +34 -0
  13. package/dist/attachment-store-contract.d.ts.map +1 -0
  14. package/dist/attachment-store-contract.js +0 -0
  15. package/dist/attachment-store-contract.js.map +1 -0
  16. package/dist/attachment-store.d.ts +107 -0
  17. package/dist/attachment-store.d.ts.map +1 -0
  18. package/dist/attachment-store.js +164 -0
  19. package/dist/attachment-store.js.map +1 -0
  20. package/dist/channel.d.ts +84 -0
  21. package/dist/channel.d.ts.map +1 -0
  22. package/dist/channel.js +115 -0
  23. package/dist/channel.js.map +1 -0
  24. package/dist/context-budget.d.ts +16 -0
  25. package/dist/context-budget.d.ts.map +1 -1
  26. package/dist/context-budget.js +38 -3
  27. package/dist/context-budget.js.map +1 -1
  28. package/dist/conversation-projection.d.ts +52 -0
  29. package/dist/conversation-projection.d.ts.map +1 -0
  30. package/dist/conversation-projection.js +207 -0
  31. package/dist/conversation-projection.js.map +1 -0
  32. package/dist/conversation-stream-contract.d.ts +37 -0
  33. package/dist/conversation-stream-contract.d.ts.map +1 -0
  34. package/dist/conversation-stream-contract.js +453 -0
  35. package/dist/conversation-stream-contract.js.map +1 -0
  36. package/dist/conversation-stream.d.ts +141 -0
  37. package/dist/conversation-stream.d.ts.map +1 -0
  38. package/dist/conversation-stream.js +159 -0
  39. package/dist/conversation-stream.js.map +1 -0
  40. package/dist/cost-budget.d.ts +106 -1
  41. package/dist/cost-budget.d.ts.map +1 -1
  42. package/dist/cost-budget.js +48 -2
  43. package/dist/cost-budget.js.map +1 -1
  44. package/dist/delivered-message.d.ts +90 -0
  45. package/dist/delivered-message.d.ts.map +1 -0
  46. package/dist/delivered-message.js +154 -0
  47. package/dist/delivered-message.js.map +1 -0
  48. package/dist/dispatch.d.ts +108 -0
  49. package/dist/dispatch.d.ts.map +1 -0
  50. package/dist/dispatch.js +179 -0
  51. package/dist/dispatch.js.map +1 -0
  52. package/dist/error.d.ts +1 -1
  53. package/dist/error.d.ts.map +1 -1
  54. package/dist/error.js.map +1 -1
  55. package/dist/history.d.ts +49 -2
  56. package/dist/history.d.ts.map +1 -1
  57. package/dist/history.js +163 -0
  58. package/dist/history.js.map +1 -1
  59. package/dist/in-memory-submission-store.d.ts +53 -0
  60. package/dist/in-memory-submission-store.d.ts.map +1 -0
  61. package/dist/in-memory-submission-store.js +340 -0
  62. package/dist/in-memory-submission-store.js.map +1 -0
  63. package/dist/index.d.ts +51 -13
  64. package/dist/index.d.ts.map +1 -1
  65. package/dist/index.js +28 -7
  66. package/dist/index.js.map +1 -1
  67. package/dist/loop.d.ts +29 -3
  68. package/dist/loop.d.ts.map +1 -1
  69. package/dist/loop.js +167 -24
  70. package/dist/loop.js.map +1 -1
  71. package/dist/model.d.ts +37 -0
  72. package/dist/model.d.ts.map +1 -1
  73. package/dist/model.js +250 -79
  74. package/dist/model.js.map +1 -1
  75. package/dist/otel-observer.d.ts +44 -0
  76. package/dist/otel-observer.d.ts.map +1 -0
  77. package/dist/otel-observer.js +165 -0
  78. package/dist/otel-observer.js.map +1 -0
  79. package/dist/persistence.d.ts +70 -0
  80. package/dist/persistence.d.ts.map +1 -0
  81. package/dist/persistence.js +17 -0
  82. package/dist/persistence.js.map +1 -0
  83. package/dist/persistent-agent.d.ts +86 -0
  84. package/dist/persistent-agent.d.ts.map +1 -0
  85. package/dist/persistent-agent.js +75 -0
  86. package/dist/persistent-agent.js.map +1 -0
  87. package/dist/pi-loop-runtime.d.ts.map +1 -1
  88. package/dist/pi-loop-runtime.js +7 -1
  89. package/dist/pi-loop-runtime.js.map +1 -1
  90. package/dist/profile.d.ts +33 -0
  91. package/dist/profile.d.ts.map +1 -0
  92. package/dist/profile.js +10 -0
  93. package/dist/profile.js.map +1 -0
  94. package/dist/providers.d.ts +14 -0
  95. package/dist/providers.d.ts.map +1 -1
  96. package/dist/providers.js +18 -1
  97. package/dist/providers.js.map +1 -1
  98. package/dist/result.d.ts +12 -0
  99. package/dist/result.d.ts.map +1 -1
  100. package/dist/result.js +26 -0
  101. package/dist/result.js.map +1 -1
  102. package/dist/retrieval.d.ts +61 -0
  103. package/dist/retrieval.d.ts.map +1 -0
  104. package/dist/retrieval.js +26 -0
  105. package/dist/retrieval.js.map +1 -0
  106. package/dist/runtime-mode.d.ts +1 -1
  107. package/dist/runtime-mode.d.ts.map +1 -1
  108. package/dist/runtime-mode.js +2 -1
  109. package/dist/runtime-mode.js.map +1 -1
  110. package/dist/scope-key.d.ts +25 -0
  111. package/dist/scope-key.d.ts.map +1 -0
  112. package/dist/scope-key.js +34 -0
  113. package/dist/scope-key.js.map +1 -0
  114. package/dist/session.d.ts +47 -1
  115. package/dist/session.d.ts.map +1 -1
  116. package/dist/session.js +364 -35
  117. package/dist/session.js.map +1 -1
  118. package/dist/skills.d.ts +33 -0
  119. package/dist/skills.d.ts.map +1 -0
  120. package/dist/skills.js +65 -0
  121. package/dist/skills.js.map +1 -0
  122. package/dist/store.d.ts +36 -1
  123. package/dist/store.d.ts.map +1 -1
  124. package/dist/store.js +83 -0
  125. package/dist/store.js.map +1 -1
  126. package/dist/stream-chunks.d.ts +42 -0
  127. package/dist/stream-chunks.d.ts.map +1 -0
  128. package/dist/stream-chunks.js +138 -0
  129. package/dist/stream-chunks.js.map +1 -0
  130. package/dist/strict.d.ts +40 -11
  131. package/dist/strict.d.ts.map +1 -1
  132. package/dist/strict.js +22 -7
  133. package/dist/strict.js.map +1 -1
  134. package/dist/submission-context.d.ts +26 -0
  135. package/dist/submission-context.d.ts.map +1 -0
  136. package/dist/submission-context.js +20 -0
  137. package/dist/submission-context.js.map +1 -0
  138. package/dist/submission-runner.d.ts +150 -0
  139. package/dist/submission-runner.d.ts.map +1 -0
  140. package/dist/submission-runner.js +767 -0
  141. package/dist/submission-runner.js.map +1 -0
  142. package/dist/submission-state.d.ts +50 -0
  143. package/dist/submission-state.d.ts.map +1 -0
  144. package/dist/submission-state.js +82 -0
  145. package/dist/submission-state.js.map +1 -0
  146. package/dist/submission-store-contract.d.ts +31 -0
  147. package/dist/submission-store-contract.d.ts.map +1 -0
  148. package/dist/submission-store-contract.js +730 -0
  149. package/dist/submission-store-contract.js.map +1 -0
  150. package/dist/submission-store.d.ts +365 -0
  151. package/dist/submission-store.d.ts.map +1 -0
  152. package/dist/submission-store.js +191 -0
  153. package/dist/submission-store.js.map +1 -0
  154. package/dist/submission-telemetry.d.ts +56 -0
  155. package/dist/submission-telemetry.d.ts.map +1 -0
  156. package/dist/submission-telemetry.js +36 -0
  157. package/dist/submission-telemetry.js.map +1 -0
  158. package/dist/testing-contracts.d.ts +17 -0
  159. package/dist/testing-contracts.d.ts.map +1 -0
  160. package/dist/testing-contracts.js +14 -0
  161. package/dist/testing-contracts.js.map +1 -0
  162. package/dist/tools.d.ts +32 -4
  163. package/dist/tools.d.ts.map +1 -1
  164. package/dist/tools.js +132 -6
  165. package/dist/tools.js.map +1 -1
  166. package/dist/types.d.ts +132 -3
  167. package/dist/types.d.ts.map +1 -1
  168. package/dist/types.js.map +1 -1
  169. package/package.json +16 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission-store.js","sourceRoot":"","sources":["../src/submission-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Core telemetry keyed by submission id (v2, workstream C4).
3
+ *
4
+ * The submission runner emits one event per lifecycle transition; sinks are
5
+ * fire-and-forget observers (a sink failure must never affect execution —
6
+ * use {@link emitSubmissionTelemetry}). Platform packages provide durable
7
+ * sinks (e.g. the Databricks sink writing Lakebase tables) so cost and
8
+ * audit joins key on the same stable `submissionId` that drives events and
9
+ * settlement. Distinct from `telemetry.ts` (per-span exporters): these are
10
+ * lifecycle facts, not spans.
11
+ */
12
+ import type { FabricActor } from './types.js';
13
+ interface SubmissionTelemetryBase {
14
+ readonly submissionId: string;
15
+ /** `'dispatch'` or `'direct'`. */
16
+ readonly kind: string;
17
+ readonly agent: string;
18
+ readonly instanceId: string;
19
+ readonly session: string;
20
+ /** Epoch ms when the event was emitted. */
21
+ readonly at: number;
22
+ readonly tenantId?: string;
23
+ readonly actor?: FabricActor;
24
+ }
25
+ export type SubmissionTelemetryEvent = (SubmissionTelemetryBase & {
26
+ readonly type: 'submission_accepted';
27
+ }) | (SubmissionTelemetryBase & {
28
+ readonly type: 'submission_started';
29
+ readonly attemptId: string;
30
+ readonly attemptCount: number;
31
+ }) | (SubmissionTelemetryBase & {
32
+ readonly type: 'submission_settled';
33
+ readonly attemptId?: string;
34
+ readonly outcome: 'completed' | 'failed' | 'aborted';
35
+ readonly error?: string;
36
+ /** Milliseconds from admission to settlement. */
37
+ readonly durationMs?: number;
38
+ readonly attemptCount?: number;
39
+ }) | (SubmissionTelemetryBase & {
40
+ /** Model/serving usage attributable to the submission (one event per model call). */
41
+ readonly type: 'submission_usage';
42
+ readonly attemptId?: string;
43
+ readonly model?: string;
44
+ readonly inputTokens?: number;
45
+ readonly outputTokens?: number;
46
+ readonly costUsd?: number;
47
+ });
48
+ export interface SubmissionTelemetrySink {
49
+ record(event: SubmissionTelemetryEvent): void | Promise<void>;
50
+ }
51
+ /** Deliver an event to a sink, swallowing (and reporting) sink failures. */
52
+ export declare function emitSubmissionTelemetry(sink: SubmissionTelemetrySink | undefined, event: SubmissionTelemetryEvent, onError?: (error: unknown) => void): void;
53
+ /** Fan one event out to several sinks. */
54
+ export declare function combineSubmissionTelemetrySinks(...sinks: SubmissionTelemetrySink[]): SubmissionTelemetrySink;
55
+ export {};
56
+ //# sourceMappingURL=submission-telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission-telemetry.d.ts","sourceRoot":"","sources":["../src/submission-telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,UAAU,uBAAuB;IAC/B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;CAC9B;AAED,MAAM,MAAM,wBAAwB,GAChC,CAAC,uBAAuB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAA;CAAE,CAAC,GACpE,CAAC,uBAAuB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC,GAC9H,CAAC,uBAAuB,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,iDAAiD;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC,GACF,CAAC,uBAAuB,GAAG;IACzB,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC,CAAC;AAEP,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,KAAK,EAAE,wBAAwB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/D;AAED,4EAA4E;AAC5E,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,uBAAuB,GAAG,SAAS,EACzC,KAAK,EAAE,wBAAwB,EAC/B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACjC,IAAI,CAUN;AAED,0CAA0C;AAC1C,wBAAgB,+BAA+B,CAAC,GAAG,KAAK,EAAE,uBAAuB,EAAE,GAAG,uBAAuB,CAQ5G"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Core telemetry keyed by submission id (v2, workstream C4).
3
+ *
4
+ * The submission runner emits one event per lifecycle transition; sinks are
5
+ * fire-and-forget observers (a sink failure must never affect execution —
6
+ * use {@link emitSubmissionTelemetry}). Platform packages provide durable
7
+ * sinks (e.g. the Databricks sink writing Lakebase tables) so cost and
8
+ * audit joins key on the same stable `submissionId` that drives events and
9
+ * settlement. Distinct from `telemetry.ts` (per-span exporters): these are
10
+ * lifecycle facts, not spans.
11
+ */
12
+ /** Deliver an event to a sink, swallowing (and reporting) sink failures. */
13
+ export function emitSubmissionTelemetry(sink, event, onError) {
14
+ if (!sink)
15
+ return;
16
+ try {
17
+ const result = sink.record(event);
18
+ if (result && typeof result.catch === 'function') {
19
+ void result.catch((error) => onError?.(error));
20
+ }
21
+ }
22
+ catch (error) {
23
+ onError?.(error);
24
+ }
25
+ }
26
+ /** Fan one event out to several sinks. */
27
+ export function combineSubmissionTelemetrySinks(...sinks) {
28
+ return {
29
+ record(event) {
30
+ for (const sink of sinks) {
31
+ emitSubmissionTelemetry(sink, event);
32
+ }
33
+ },
34
+ };
35
+ }
36
+ //# sourceMappingURL=submission-telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"submission-telemetry.js","sourceRoot":"","sources":["../src/submission-telemetry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA2CH,4EAA4E;AAC5E,MAAM,UAAU,uBAAuB,CACrC,IAAyC,EACzC,KAA+B,EAC/B,OAAkC;IAElC,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,MAAM,IAAI,OAAQ,MAAwB,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YACpE,KAAM,MAAwB,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,MAAM,UAAU,+BAA+B,CAAC,GAAG,KAAgC;IACjF,OAAO;QACL,MAAM,CAAC,KAAK;YACV,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * `@fabric-harness/sdk/testing/contracts` — shared behavioral contract tests
3
+ * for pluggable store backends. Import from a vitest suite only: unlike
4
+ * `./testing`, this entry imports `vitest` at module load, so store packages
5
+ * must have vitest installed to use it.
6
+ *
7
+ * Every store implementation (first-party or external) should pass the
8
+ * relevant contract suite — the assertions encode the invariants the runtime
9
+ * relies on (CAS transitions, leases, idempotent admission, FIFO gating).
10
+ */
11
+ export { defineSubmissionStoreContractTests } from './submission-store-contract.js';
12
+ export type { SubmissionStoreContractHandle } from './submission-store-contract.js';
13
+ export { defineConversationStreamStoreContractTests } from './conversation-stream-contract.js';
14
+ export type { ConversationStreamStoreContractHandle } from './conversation-stream-contract.js';
15
+ export { defineAttachmentStoreContractTests } from './attachment-store-contract.js';
16
+ export type { AttachmentStoreContractHandle } from './attachment-store-contract.js';
17
+ //# sourceMappingURL=testing-contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing-contracts.d.ts","sourceRoot":"","sources":["../src/testing-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,YAAY,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,EAAE,0CAA0C,EAAE,MAAM,mCAAmC,CAAC;AAC/F,YAAY,EAAE,qCAAqC,EAAE,MAAM,mCAAmC,CAAC;AAC/F,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AACpF,YAAY,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `@fabric-harness/sdk/testing/contracts` — shared behavioral contract tests
3
+ * for pluggable store backends. Import from a vitest suite only: unlike
4
+ * `./testing`, this entry imports `vitest` at module load, so store packages
5
+ * must have vitest installed to use it.
6
+ *
7
+ * Every store implementation (first-party or external) should pass the
8
+ * relevant contract suite — the assertions encode the invariants the runtime
9
+ * relies on (CAS transitions, leases, idempotent admission, FIFO gating).
10
+ */
11
+ export { defineSubmissionStoreContractTests } from './submission-store-contract.js';
12
+ export { defineConversationStreamStoreContractTests } from './conversation-stream-contract.js';
13
+ export { defineAttachmentStoreContractTests } from './attachment-store-contract.js';
14
+ //# sourceMappingURL=testing-contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing-contracts.js","sourceRoot":"","sources":["../src/testing-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC;AAEpF,OAAO,EAAE,0CAA0C,EAAE,MAAM,mCAAmC,CAAC;AAE/F,OAAO,EAAE,kCAAkC,EAAE,MAAM,gCAAgC,CAAC"}
package/dist/tools.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { FileStat, SandboxEnv } from './sandbox.js';
2
- import type { JsonObject, ShellResult } from './types.js';
2
+ import type { JsonObject, PackagedSkillDirectory, ResultValidator, ShellResult } from './types.js';
3
3
  export interface ToolContext {
4
4
  sandbox: SandboxEnv;
5
5
  }
@@ -107,15 +107,18 @@ export interface GlobInput {
107
107
  cwd?: string;
108
108
  maxMatches?: number;
109
109
  }
110
+ export interface ActivateSkillInput {
111
+ name: string;
112
+ }
110
113
  export declare function secret(name: string): SecretRef;
111
114
  export declare function defineCommand<TInput = CommandToolInput>(name: string, options?: Omit<Command<TInput>, 'name'>): Command<TInput>;
112
115
  export declare function defineTool<TInput = unknown, TOutput = unknown>(tool: ToolDef<TInput, TOutput>): ToolDef<TInput, TOutput>;
113
116
  export type BuiltinTool = ToolDef<ReadFileInput, string> | ToolDef<ReadFileBufferInput, Uint8Array> | ToolDef<WriteFileInput, void> | ToolDef<EditInput, void> | ToolDef<StatInput, FileStat> | ToolDef<ReaddirInput, string[]> | ToolDef<ExistsInput, boolean> | ToolDef<MkdirInput, void> | ToolDef<RmInput, void> | ToolDef<BashInput, ShellResult> | ToolDef<GrepInput, GrepMatch[]> | ToolDef<GlobInput, string[]>;
114
117
  export type BuiltinFileTool = Exclude<BuiltinTool, ToolDef<BashInput, ShellResult> | ToolDef<GrepInput, GrepMatch[]> | ToolDef<GlobInput, string[]>>;
115
118
  export declare function createCommandTools(commands: Command[], options?: CommandToolOptions): ToolDef<CommandToolInput, ShellResult>[];
116
- export declare function createBuiltinTools(sandbox: SandboxEnv): BuiltinTool[];
117
- export declare function createFileTools(sandbox: SandboxEnv): BuiltinFileTool[];
118
- export declare function readFileTool(sandbox?: SandboxEnv): ToolDef<ReadFileInput, string>;
119
+ export declare function createBuiltinTools(sandbox: SandboxEnv, packagedSkills?: Record<string, PackagedSkillDirectory>): BuiltinTool[];
120
+ export declare function createFileTools(sandbox: SandboxEnv, packagedSkills?: Record<string, PackagedSkillDirectory>): BuiltinFileTool[];
121
+ export declare function readFileTool(sandbox?: SandboxEnv, packagedSkills?: Record<string, PackagedSkillDirectory>): ToolDef<ReadFileInput, string>;
119
122
  export declare function readFileBufferTool(sandbox?: SandboxEnv): ToolDef<ReadFileBufferInput, Uint8Array>;
120
123
  export declare function writeFileTool(sandbox?: SandboxEnv): ToolDef<WriteFileInput, void>;
121
124
  export declare function editFileTool(sandbox?: SandboxEnv): ToolDef<EditInput, void>;
@@ -127,5 +130,30 @@ export declare function rmTool(sandbox?: SandboxEnv): ToolDef<RmInput, void>;
127
130
  export declare function bashTool(sandbox?: SandboxEnv): ToolDef<BashInput, ShellResult>;
128
131
  export declare function grepTool(sandbox?: SandboxEnv): ToolDef<GrepInput, GrepMatch[]>;
129
132
  export declare function globTool(sandbox?: SandboxEnv): ToolDef<GlobInput, string[]>;
133
+ export declare function createActivateSkillTool(skillNames: string[], activate: (name: string) => Promise<string>): ToolDef<ActivateSkillInput, string>;
134
+ export type ResultOutcome<TResult> = {
135
+ type: 'pending';
136
+ } | {
137
+ type: 'finished';
138
+ value: TResult;
139
+ } | {
140
+ type: 'gave_up';
141
+ reason: string;
142
+ };
143
+ export interface ResultToolBundle<TResult> {
144
+ tools: ToolDef[];
145
+ getOutcome(): ResultOutcome<TResult>;
146
+ }
147
+ /**
148
+ * Produce the per-call `finish` and `give_up` tool pair for a given ResultValidator.
149
+ *
150
+ * - `finish`'s parameters are a generic JSON Schema object because we can't derive
151
+ * a precise schema from `ResultValidator`. The validator's `safeParse` handles
152
+ * actual validation.
153
+ * - First successful `finish` (or `give_up`) call wins. Subsequent calls return
154
+ * an error tool result rather than throwing, to keep the conversation transcript
155
+ * natural.
156
+ */
157
+ export declare function createResultTools<TResult>(validator: ResultValidator<TResult>): ResultToolBundle<TResult>;
130
158
  export declare function shellQuote(value: string): string;
131
159
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,UAAU,CAAC;CACrB;AAED,MAAM,WAAW,QAAQ,CAAC,MAAM,GAAG,OAAO;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc,CAAC,OAAO,GAAG,OAAO;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE/D,MAAM,WAAW,OAAO,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,UAAU,GAAG;QAAE,MAAM,CAAC,EAAE,UAAU,CAAA;KAAE,CAAC;IAChD,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CAC5E;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,OAAO,CAAC,MAAM,GAAG,gBAAgB;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACrF,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,MAAM,CAAA;CAAE;AAC/C,MAAM,WAAW,mBAAmB;IAAG,IAAI,EAAE,MAAM,CAAA;CAAE;AACrD,MAAM,WAAW,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAAA;CAAE;AAC9E,MAAM,WAAW,SAAS;IAAG,IAAI,EAAE,MAAM,CAAA;CAAE;AAC3C,MAAM,WAAW,YAAY;IAAG,IAAI,EAAE,MAAM,CAAA;CAAE;AAC9C,MAAM,WAAW,WAAW;IAAG,IAAI,EAAE,MAAM,CAAA;CAAE;AAC7C,MAAM,WAAW,UAAU;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE;AACjE,MAAM,WAAW,OAAO;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE;AAC/E,MAAM,WAAW,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAC7E,MAAM,WAAW,SAAS;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE;AAC5G,MAAM,WAAW,SAAS;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE;AAC3H,MAAM,WAAW,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACvE,MAAM,WAAW,SAAS;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE;AAEjF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAE9C;AAED,wBAAgB,aAAa,CAAC,MAAM,GAAG,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEnI;AAED,wBAAgB,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAExH;AAWD,MAAM,MAAM,WAAW,GACnB,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,GAC9B,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,GACxC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,GAC7B,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GACxB,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,GAC5B,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAC/B,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,GACzB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,GACtB,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,GAC/B,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,GAC/B,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;AAEjC,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAErJ,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAAE,CA4BlI;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,WAAW,EAAE,CAErE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,eAAe,EAAE,CAEtE;AAED,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,CAEjF;AACD,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAEjG;AACD,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAEjF;AACD,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAe3E;AACD,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAE3E;AACD,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAEjF;AACD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAE9E;AACD,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAEzE;AACD,wBAAgB,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAEnE;AAED,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAc9E;AAED,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC,CA8B9E;AAED,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAc3E;AAqCD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhD"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import path from 'node:path';
2
+ import { readPackagedSkillFile, isPackagedSkillPath } from './skills.js';
2
3
  export function secret(name) {
3
4
  return { kind: 'secret', name };
4
5
  }
@@ -48,14 +49,30 @@ export function createCommandTools(commands, options = {}) {
48
49
  },
49
50
  }));
50
51
  }
51
- export function createBuiltinTools(sandbox) {
52
- return [...createFileTools(sandbox), bashTool(sandbox), grepTool(sandbox), globTool(sandbox)];
52
+ export function createBuiltinTools(sandbox, packagedSkills) {
53
+ return [...createFileTools(sandbox, packagedSkills), bashTool(sandbox), grepTool(sandbox), globTool(sandbox)];
53
54
  }
54
- export function createFileTools(sandbox) {
55
- return [readFileTool(sandbox), readFileBufferTool(sandbox), writeFileTool(sandbox), editFileTool(sandbox), statTool(sandbox), readdirTool(sandbox), existsTool(sandbox), mkdirTool(sandbox), rmTool(sandbox)];
55
+ export function createFileTools(sandbox, packagedSkills) {
56
+ return [readFileTool(sandbox, packagedSkills), readFileBufferTool(sandbox), writeFileTool(sandbox), editFileTool(sandbox), statTool(sandbox), readdirTool(sandbox), existsTool(sandbox), mkdirTool(sandbox), rmTool(sandbox)];
56
57
  }
57
- export function readFileTool(sandbox) {
58
- return defineTool({ name: 'read', description: 'Read a UTF-8 text file from the session sandbox.', inputSchema: pathInputSchema('File path to read.'), metadata: { effect: 'read' }, async execute(input, context) { return requireSandbox(sandbox ?? context?.sandbox).readFile(input.path); } });
58
+ export function readFileTool(sandbox, packagedSkills) {
59
+ return defineTool({
60
+ name: 'read',
61
+ description: 'Read a UTF-8 text file from the session sandbox.',
62
+ inputSchema: pathInputSchema('File path to read.'),
63
+ metadata: { effect: 'read' },
64
+ async execute(input, context) {
65
+ if (packagedSkills && Object.keys(packagedSkills).length > 0) {
66
+ const packaged = readPackagedSkillFile(packagedSkills, input.path);
67
+ if (packaged !== undefined)
68
+ return packaged;
69
+ if (isPackagedSkillPath(input.path)) {
70
+ throw new Error(`Packaged skill file not found: ${input.path}`);
71
+ }
72
+ }
73
+ return requireSandbox(sandbox ?? context?.sandbox).readFile(input.path);
74
+ },
75
+ });
59
76
  }
60
77
  export function readFileBufferTool(sandbox) {
61
78
  return defineTool({ name: 'read_buffer', description: 'Read a binary file from the session sandbox.', inputSchema: pathInputSchema('File path to read.'), metadata: { effect: 'read' }, async execute(input, context) { return requireSandbox(sandbox ?? context?.sandbox).readFileBuffer(input.path); } });
@@ -169,6 +186,28 @@ export function globTool(sandbox) {
169
186
  },
170
187
  });
171
188
  }
189
+ export function createActivateSkillTool(skillNames, activate) {
190
+ return defineTool({
191
+ name: 'activate_skill',
192
+ description: `Load the full instructions for one available skill before performing work that matches its description. Available skills: ${skillNames.join(', ')}.`,
193
+ inputSchema: {
194
+ type: 'object',
195
+ additionalProperties: false,
196
+ properties: {
197
+ name: {
198
+ type: 'string',
199
+ description: 'Name of the skill to activate.',
200
+ enum: skillNames,
201
+ },
202
+ },
203
+ required: ['name'],
204
+ },
205
+ metadata: { effect: 'none' },
206
+ async execute(input) {
207
+ return activate(input.name);
208
+ },
209
+ });
210
+ }
172
211
  async function listFiles(env, dir) {
173
212
  const out = [];
174
213
  const entries = await env.readdir(dir);
@@ -202,6 +241,93 @@ async function resolveCommandEnv(input, options) {
202
241
  function isSecretRef(value) {
203
242
  return typeof value === 'object' && value !== null && value.kind === 'secret' && typeof value.name === 'string';
204
243
  }
244
+ /**
245
+ * Produce the per-call `finish` and `give_up` tool pair for a given ResultValidator.
246
+ *
247
+ * - `finish`'s parameters are a generic JSON Schema object because we can't derive
248
+ * a precise schema from `ResultValidator`. The validator's `safeParse` handles
249
+ * actual validation.
250
+ * - First successful `finish` (or `give_up`) call wins. Subsequent calls return
251
+ * an error tool result rather than throwing, to keep the conversation transcript
252
+ * natural.
253
+ */
254
+ export function createResultTools(validator) {
255
+ let outcome = { type: 'pending' };
256
+ const finishDescription = "Call this tool when the task is complete. Provide your final answer as the arguments. " +
257
+ "The arguments are validated against the required schema; if validation fails you will " +
258
+ "receive an error message and may try again. " +
259
+ "The first successful \`finish\` call wins — once the task is finished, do not call \`finish\` again.";
260
+ const giveUpDescription = "Call this tool only if you have determined that you cannot complete the task or " +
261
+ "cannot produce a result that conforms to the required schema. Provide a clear \`reason\`. " +
262
+ "This ends the task with a failure.";
263
+ const finishTool = {
264
+ name: 'finish',
265
+ description: finishDescription,
266
+ inputSchema: { type: 'object', properties: {}, additionalProperties: true },
267
+ async execute(input) {
268
+ if (outcome.type !== 'pending') {
269
+ return alreadyDoneToolResult(outcome);
270
+ }
271
+ let parsed;
272
+ try {
273
+ if (validator.parse) {
274
+ parsed = validator.parse(input);
275
+ }
276
+ else if (validator.safeParse) {
277
+ const result = validator.safeParse(input);
278
+ if (!result.success)
279
+ throw result.error;
280
+ parsed = result.data;
281
+ }
282
+ else if (validator.validate) {
283
+ parsed = await validator.validate(input);
284
+ }
285
+ else {
286
+ parsed = input;
287
+ }
288
+ }
289
+ catch (error) {
290
+ const message = error instanceof Error ? error.message : String(error);
291
+ return { error: `Result does not match the required schema: ${message}. Please call \`finish\` again with a corrected payload.` };
292
+ }
293
+ outcome = { type: 'finished', value: parsed };
294
+ return { output: 'Result accepted. The task is complete.' };
295
+ },
296
+ };
297
+ const giveUpTool = {
298
+ name: 'give_up',
299
+ description: giveUpDescription,
300
+ inputSchema: {
301
+ type: 'object',
302
+ additionalProperties: false,
303
+ properties: {
304
+ reason: { type: 'string', minLength: 1, description: 'A clear explanation of why the task cannot be completed.' },
305
+ },
306
+ required: ['reason'],
307
+ },
308
+ async execute(input) {
309
+ if (outcome.type !== 'pending') {
310
+ return alreadyDoneToolResult(outcome);
311
+ }
312
+ const reason = input.reason;
313
+ if (typeof reason !== 'string' || reason.trim().length === 0) {
314
+ return { error: "\`give_up\` requires a non-empty \`reason\` string." };
315
+ }
316
+ outcome = { type: 'gave_up', reason };
317
+ return { output: 'Acknowledged.' };
318
+ },
319
+ };
320
+ return {
321
+ tools: [finishTool, giveUpTool],
322
+ getOutcome: () => outcome,
323
+ };
324
+ }
325
+ function alreadyDoneToolResult(outcome) {
326
+ const detail = outcome.type === 'finished'
327
+ ? 'A result was already submitted; the task is complete.'
328
+ : 'The task was already given up; it cannot be resumed.';
329
+ return { error: `${detail} Do not call this tool again.` };
330
+ }
205
331
  export function shellQuote(value) {
206
332
  if (/^[A-Za-z0-9_/:=.,@%+-]+$/.test(value))
207
333
  return value;
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}