@captra-ai/core 0.4.1 → 0.5.1

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/README.md ADDED
@@ -0,0 +1,27 @@
1
+ # @captra-ai/core
2
+
3
+ The typed contract and execution runtime behind Captra: capabilities, agents, tools, scoped memory, approvals, budgets, durable runs, cancellation, checkpoints, effect receipts, telemetry, replay, and evaluations.
4
+
5
+ ```bash
6
+ npm install @captra-ai/core zod
7
+ ```
8
+
9
+ ```ts
10
+ import { capability, capabilityViews, createRuntime, defineApp } from '@captra-ai/core'
11
+ import { z } from 'zod'
12
+
13
+ const greet = capability({
14
+ name: 'greet', description: 'Greet a user',
15
+ input: z.object({ name: z.string() }),
16
+ output: z.object({ message: z.string() }),
17
+ run: async ({ name }) => ({ message: `Hello, ${name}!` }),
18
+ view: { name: 'Greeting' },
19
+ })
20
+
21
+ const app = defineApp({ name: 'Demo', scopes: [], capabilities: [greet], surface: capabilityViews() })
22
+ const runtime = createRuntime(app)
23
+ ```
24
+
25
+ External writes should be declared as write tools with a stable `idempotencyKey`. Human approval records an independent approver identity and denies requester self-approval by default.
26
+
27
+ [Core documentation](https://vaibhavbansal26.github.io/captra/reference/capabilities) · [GitHub](https://github.com/VaibhavBansal26/captra/tree/main/packages/core) · MIT
package/dist/agent.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { type ZodType } from 'zod';
2
- import { type Capability, type ExecutionPolicy, type ViewReference } from './core.js';
2
+ import { type ApprovalPolicy, type Capability, type ExecutionPolicy, type ViewReference } from './core.js';
3
3
  import type { MemoryScope } from './memory.js';
4
4
  import type { ModelAdapter, ModelMessage } from './models.js';
5
5
  import type { Tool } from './tools.js';
@@ -26,7 +26,7 @@ export type AgentDefinition<Input, Output, Name extends string = string> = {
26
26
  tools?: readonly Tool<any, any>[];
27
27
  memory?: readonly MemoryScope[];
28
28
  permissions?: readonly string[];
29
- approval?: 'never' | 'required';
29
+ approval?: ApprovalPolicy;
30
30
  idempotent?: boolean;
31
31
  policy?: ExecutionPolicy;
32
32
  budget?: AgentBudget;
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAa,KAAK,UAAU,EAAC,KAAK,eAAe,EAAqB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAClH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAC,YAAY,EAA8B,MAAM,aAAa,CAAA;AACxF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAEvF,MAAM,MAAM,WAAW,GAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAC;IAAA,YAAY,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAC;IAAA,cAAc,CAAC,EAAC,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,MAAM,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,CAAC,EAAC,WAAW,CAAC;IAAA,MAAM,CAAC,EAAC,WAAW,CAAC;IAAA,cAAc,CAAC,EAAC,CAAC,QAAQ,EAAC,SAAS,YAAY,EAAE,KAAG,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,CAAC,WAAW,EAAC,MAAM,EAAC,YAAY,EAAC,MAAM,KAAG,MAAM,CAAA;CAAC,CAAA;AACtT,MAAM,MAAM,eAAe,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,SAAS,MAAM,GAAC,MAAM,IAAE;IACnE,IAAI,EAAC,IAAI,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAAA,MAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAA,KAAK,EAAC,YAAY,CAAA;IAC/G,KAAK,CAAC,EAAC,SAAS,IAAI,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE,CAAC;IAAA,MAAM,CAAC,EAAC,SAAS,WAAW,EAAE,CAAC;IAAA,WAAW,CAAC,EAAC,SAAS,MAAM,EAAE,CAAC;IAAA,QAAQ,CAAC,EAAC,OAAO,GAAC,UAAU,CAAA;IAC1H,UAAU,CAAC,EAAC,OAAO,CAAC;IAAA,MAAM,CAAC,EAAC,eAAe,CAAC;IAAA,MAAM,CAAC,EAAC,WAAW,CAAC;IAAA,WAAW,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,aAAa,CAAC,MAAM,CAAC,GAAC,OAAO,CAAA;CACvH,CAAA;AAED,wBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAC,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,eAAe,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,CAAC,GAAE,UAAU,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,CAAC,CAIzI"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,KAAK,CAAA;AAC/C,OAAO,EAAa,KAAK,cAAc,EAAC,KAAK,UAAU,EAAC,KAAK,eAAe,EAAqB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AACtI,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAC,YAAY,EAA8B,MAAM,aAAa,CAAA;AACxF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAA0C,KAAK,WAAW,EAAE,MAAM,cAAc,CAAA;AAEvF,MAAM,MAAM,WAAW,GAAC;IAAC,QAAQ,CAAC,EAAC,MAAM,CAAC;IAAA,YAAY,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAC;IAAA,cAAc,CAAC,EAAC,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,MAAM,CAAC;IAAA,UAAU,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,CAAC,EAAC,WAAW,CAAC;IAAA,MAAM,CAAC,EAAC,WAAW,CAAC;IAAA,cAAc,CAAC,EAAC,CAAC,QAAQ,EAAC,SAAS,YAAY,EAAE,KAAG,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,CAAC,WAAW,EAAC,MAAM,EAAC,YAAY,EAAC,MAAM,KAAG,MAAM,CAAA;CAAC,CAAA;AACtT,MAAM,MAAM,eAAe,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,SAAS,MAAM,GAAC,MAAM,IAAE;IACnE,IAAI,EAAC,IAAI,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAAA,MAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAA,KAAK,EAAC,YAAY,CAAA;IAC/G,KAAK,CAAC,EAAC,SAAS,IAAI,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE,CAAC;IAAA,MAAM,CAAC,EAAC,SAAS,WAAW,EAAE,CAAC;IAAA,WAAW,CAAC,EAAC,SAAS,MAAM,EAAE,CAAC;IAAA,QAAQ,CAAC,EAAC,cAAc,CAAA;IACtH,UAAU,CAAC,EAAC,OAAO,CAAC;IAAA,MAAM,CAAC,EAAC,eAAe,CAAC;IAAA,MAAM,CAAC,EAAC,WAAW,CAAC;IAAA,WAAW,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,aAAa,CAAC,MAAM,CAAC,GAAC,OAAO,CAAA;CACvH,CAAA;AAED,wBAAgB,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,MAAM,EAAC,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,eAAe,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,CAAC,GAAE,UAAU,CAAC,KAAK,EAAC,MAAM,EAAC,IAAI,CAAC,CAIzI"}
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/core.d.ts CHANGED
@@ -7,6 +7,7 @@ import type { WorkQueue } from './queue.js';
7
7
  import { type CheckpointStore, type RunCheckpoints } from './checkpoints.js';
8
8
  import { type TelemetryAdapter } from './telemetry.js';
9
9
  import { type BudgetAdapter } from './budgets.js';
10
+ import { type EffectStore } from './effects.js';
10
11
  export type ApprovalRequest = {
11
12
  capability: string;
12
13
  summary: string;
@@ -18,6 +19,15 @@ export type ExecutionIdentity = {
18
19
  projectId: string;
19
20
  sessionId?: string;
20
21
  };
22
+ export type ApprovalPolicy = 'never' | 'required' | {
23
+ required: true;
24
+ allowRequester?: boolean;
25
+ };
26
+ export declare class RunCancelledError extends Error {
27
+ readonly runId: string;
28
+ readonly code = "run_cancelled";
29
+ constructor(runId: string);
30
+ }
21
31
  export type RuntimeContext = ExecutionIdentity & {
22
32
  runId: string;
23
33
  memory: MemoryAdapter;
@@ -25,8 +35,9 @@ export type RuntimeContext = ExecutionIdentity & {
25
35
  tools: ToolRunner;
26
36
  checkpoints: RunCheckpoints;
27
37
  budgets: BudgetAdapter;
38
+ effects: EffectStore;
28
39
  telemetry: TelemetryAdapter;
29
- signal?: AbortSignal;
40
+ signal: AbortSignal;
30
41
  emit: (event: Omit<CaptraEvent, 'id' | 'protocol' | 'runId' | 'sequence' | 'at'>) => Promise<void>;
31
42
  };
32
43
  export type CapabilityViewProps<Output> = {
@@ -61,7 +72,7 @@ export type Capability<Input, Output, Name extends string = string> = {
61
72
  readonly scopes: readonly MemoryScope[];
62
73
  readonly state: CapabilityState;
63
74
  readonly permissions: readonly string[];
64
- readonly approval: 'never' | 'required';
75
+ readonly approval: ApprovalPolicy;
65
76
  readonly idempotent: boolean;
66
77
  readonly policy: ExecutionPolicy;
67
78
  readonly tools: readonly Tool<any, any>[];
@@ -85,7 +96,7 @@ export declare function capability<const Name extends string, Input, Output>(def
85
96
  memory?: readonly MemoryScope[];
86
97
  state?: Partial<CapabilityState>;
87
98
  permissions?: readonly string[];
88
- approval?: 'never' | 'required';
99
+ approval?: ApprovalPolicy;
89
100
  idempotent?: boolean;
90
101
  policy?: ExecutionPolicy;
91
102
  tools?: readonly Tool<any, any>[];
@@ -103,6 +114,7 @@ export type Hook = {
103
114
  beforeApproval?: (approval: {
104
115
  run: RunRecord;
105
116
  decision: 'approved' | 'rejected';
117
+ approver: ExecutionIdentity;
106
118
  }) => void | Promise<void>;
107
119
  onEvent?: (event: CaptraEvent, context: RuntimeContext) => void | Promise<void>;
108
120
  onError?: (name: string, error: unknown, context: RuntimeContext) => void | Promise<void>;
@@ -169,8 +181,10 @@ export type RuntimeOptions = {
169
181
  runs?: RunStore;
170
182
  checkpoints?: CheckpointStore;
171
183
  budgets?: BudgetAdapter;
184
+ effects?: EffectStore;
172
185
  telemetry?: TelemetryAdapter;
173
186
  authorize?: (identity: ExecutionIdentity, permissions: readonly string[]) => Promise<boolean> | boolean;
187
+ authorizeApproval?: (approver: ExecutionIdentity, run: RunRecord) => Promise<boolean> | boolean;
174
188
  signal?: AbortSignal;
175
189
  };
176
190
  export declare function createRuntime(app: AgentApp, options?: RuntimeOptions | MemoryStore): {
@@ -179,6 +193,7 @@ export declare function createRuntime(app: AgentApp, options?: RuntimeOptions |
179
193
  runs: RunStore;
180
194
  checkpoints: CheckpointStore;
181
195
  budgets: BudgetAdapter;
196
+ effects: EffectStore;
182
197
  telemetry: TelemetryAdapter;
183
198
  execute: (request: RunRequest) => Promise<CapabilityResult>;
184
199
  enqueue: (request: RunRequest, queue: WorkQueue, options?: {
@@ -191,10 +206,11 @@ export declare function createRuntime(app: AgentApp, options?: RuntimeOptions |
191
206
  events: CaptraEvent[];
192
207
  checkpoints: import("./checkpoints.js").CheckpointRecord[];
193
208
  }>;
194
- approve: (runId: string, decision: "approved" | "rejected") => Promise<CapabilityResult>;
195
- cancel: (runId: string) => Promise<RunRecord | undefined>;
209
+ approve: (runId: string, decision: "approved" | "rejected", approver: ExecutionIdentity) => Promise<CapabilityResult>;
210
+ cancel: (runId: string) => Promise<RunRecord>;
196
211
  run(name: string, input: unknown, legacy: Omit<ExecutionIdentity, "tenantId"> & {
197
212
  tenantId?: string;
213
+ approver?: ExecutionIdentity;
198
214
  approve: (request: ApprovalRequest) => Promise<boolean>;
199
215
  }): Promise<CapabilityResult>;
200
216
  };
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
package/dist/core.js CHANGED
@@ -4,6 +4,16 @@ import { createToolRunner } from './tools.js';
4
4
  import { InMemoryCheckpointStore } from './checkpoints.js';
5
5
  import { noopTelemetry } from './telemetry.js';
6
6
  import { InMemoryBudgetAdapter } from './budgets.js';
7
+ import { InMemoryEffectStore } from './effects.js';
8
+ export class RunCancelledError extends Error {
9
+ runId;
10
+ code = 'run_cancelled';
11
+ constructor(runId) {
12
+ super(`Run ${runId} was cancelled`);
13
+ this.runId = runId;
14
+ this.name = 'RunCancelledError';
15
+ }
16
+ }
7
17
  export function view(name, component) { return Object.freeze({ name, component }); }
8
18
  export function defineCapability(definition) {
9
19
  const candidate = definition.view;
@@ -44,9 +54,15 @@ export function defineApp(definition) {
44
54
  }
45
55
  export function createRuntime(app, options = {}) {
46
56
  const normalized = options instanceof MemoryStore ? { memory: options } : options;
47
- const memory = normalized.memory ?? new MemoryStore(), runs = normalized.runs ?? new InMemoryRunStore(), checkpoints = normalized.checkpoints ?? new InMemoryCheckpointStore(), budgets = normalized.budgets ?? new InMemoryBudgetAdapter(), telemetry = normalized.telemetry ?? noopTelemetry, byName = new Map(app.capabilities.map(c => [c.name, c]));
57
+ const memory = normalized.memory ?? new MemoryStore(), runs = normalized.runs ?? new InMemoryRunStore(), checkpoints = normalized.checkpoints ?? new InMemoryCheckpointStore(), budgets = normalized.budgets ?? new InMemoryBudgetAdapter(), effects = normalized.effects ?? new InMemoryEffectStore(), telemetry = normalized.telemetry ?? noopTelemetry, byName = new Map(app.capabilities.map(c => [c.name, c])), activeRuns = new Map();
48
58
  const resultFor = async (run, capability) => ({ run, capability, value: run.output, trace: await runs.events(run.id) });
49
59
  async function continueRun(run, capability) {
60
+ const controller = new AbortController();
61
+ activeRuns.set(run.id, controller);
62
+ if (normalized.signal?.aborted)
63
+ controller.abort(normalized.signal.reason);
64
+ else
65
+ normalized.signal?.addEventListener('abort', () => controller.abort(normalized.signal?.reason), { once: true });
50
66
  const span = telemetry.startSpan('captra.run', { runId: run.id, capability: capability.name, tenantId: run.identity.tenantId, mode: capability.mode }), startedAt = Date.now();
51
67
  const context = {};
52
68
  const observe = async (callback) => { try {
@@ -60,7 +76,7 @@ export function createRuntime(app, options = {}) {
60
76
  await observe(() => hook.onEvent(saved, context)); };
61
77
  const scopedCheckpoints = { save: async (key, state) => { const saved = await checkpoints.save(run.id, key, state); await emit({ type: 'checkpoint.saved', capability: capability.name, detail: key, data: { sequence: saved.sequence } }); return saved; }, load: async (key) => { const saved = await checkpoints.load(run.id, key); if (saved)
62
78
  await emit({ type: 'checkpoint.restored', capability: capability.name, detail: key, data: { sequence: saved.sequence } }); return saved; }, list: () => checkpoints.list(run.id) };
63
- Object.assign(context, { ...run.identity, runId: run.id, memory, memories: [], checkpoints: scopedCheckpoints, budgets, telemetry, signal: normalized.signal, emit });
79
+ Object.assign(context, { ...run.identity, runId: run.id, memory, memories: [], checkpoints: scopedCheckpoints, budgets, effects, telemetry, signal: controller.signal, emit });
64
80
  Object.assign(context, { tools: createToolRunner(app.tools, context, async (permissions) => !normalized.authorize || await normalized.authorize(run.identity, permissions), {
65
81
  before: async (name, input) => { let value = input; for (const hook of app.hooks)
66
82
  if (hook.beforeTool)
@@ -87,15 +103,20 @@ export function createRuntime(app, options = {}) {
87
103
  input = await hook.beforeCapability(capability.name, input, context);
88
104
  await emit({ type: 'hook.completed', capability: capability.name, detail: hook.name, data: { phase: 'before' } });
89
105
  }
90
- if (capability.approval === 'required' && run.approval !== 'approved') {
91
- await runs.update(run.id, { status: 'waiting_for_approval', approval: 'pending', validatedInput: input });
92
- await emit({ type: 'approval.requested', capability: capability.name, detail: capability.description, data: { input } });
106
+ if (requiresApproval(capability.approval) && run.approval !== 'approved') {
107
+ const waiting = await runs.compareAndSet(run.id, [run.status], { status: 'waiting_for_approval', approval: 'pending', validatedInput: input });
108
+ if (!waiting)
109
+ throw new RunCancelledError(run.id);
110
+ await emit({ type: 'approval.requested', capability: capability.name, detail: capability.description, data: { input, requester: run.identity } });
111
+ activeRuns.delete(run.id);
93
112
  span.setAttribute('status', 'waiting_for_approval');
94
113
  span.end();
95
114
  telemetry.histogram?.('captra.run.duration', Date.now() - startedAt, { capability: capability.name, status: 'waiting_for_approval' });
96
- return resultFor((await runs.get(run.id)), capability);
115
+ return resultFor(waiting, capability);
97
116
  }
98
- await runs.update(run.id, { status: 'running', validatedInput: input });
117
+ const running = await runs.compareAndSet(run.id, [run.status], { status: 'running', validatedInput: input });
118
+ if (!running)
119
+ throw new RunCancelledError(run.id);
99
120
  await emit({ type: 'capability.started', capability: capability.name, detail: 'Executing capability function' });
100
121
  let output = capability.output.parse(await executeWithPolicy(capability, input, context));
101
122
  for (const hook of [...app.hooks].reverse())
@@ -104,20 +125,30 @@ export function createRuntime(app, options = {}) {
104
125
  await emit({ type: 'hook.completed', capability: capability.name, detail: hook.name, data: { phase: 'after' } });
105
126
  }
106
127
  output = capability.output.parse(output);
107
- await runs.update(run.id, { status: 'completed', output });
128
+ const completed = await runs.compareAndSet(run.id, ['running'], { status: 'completed', output });
129
+ if (!completed)
130
+ throw new RunCancelledError(run.id);
108
131
  await emit({ type: 'run.completed', capability: capability.name, detail: capability.view.name, data: { view: capability.view.name } });
132
+ activeRuns.delete(run.id);
109
133
  span.setAttribute('status', 'completed');
110
134
  span.end();
111
135
  telemetry.histogram?.('captra.run.duration', Date.now() - startedAt, { capability: capability.name, status: 'completed' });
112
- return resultFor((await runs.get(run.id)), capability);
136
+ return resultFor(completed, capability);
113
137
  }
114
138
  catch (error) {
139
+ activeRuns.delete(run.id);
140
+ const current = await runs.get(run.id);
141
+ if (current?.status === 'cancelled' || controller.signal.aborted) {
142
+ span.setAttribute('status', 'cancelled');
143
+ span.end(error);
144
+ throw error instanceof RunCancelledError ? error : new RunCancelledError(run.id);
145
+ }
115
146
  for (const hook of [...app.hooks].reverse())
116
147
  if (hook.onError)
117
148
  await observe(() => hook.onError(capability.name, error, context));
118
- const message = error instanceof Error ? error.message : 'Unknown runtime error';
119
- await runs.update(run.id, { status: 'failed', error: message });
120
- await emit({ type: 'run.failed', capability: capability.name, detail: message });
149
+ const message = error instanceof Error ? error.message : 'Unknown runtime error', failed = await runs.compareAndSet(run.id, ['created', 'queued', 'running'], { status: 'failed', error: message });
150
+ if (failed)
151
+ await emit({ type: 'run.failed', capability: capability.name, detail: message });
121
152
  span.setAttribute('status', 'failed');
122
153
  span.end(error);
123
154
  telemetry.counter?.('captra.run.failures', 1, { capability: capability.name });
@@ -140,13 +171,15 @@ export function createRuntime(app, options = {}) {
140
171
  finally {
141
172
  runRequestEvents.delete(run.id);
142
173
  } }
143
- async function approve(runId, decision) { const run = await runs.get(runId); if (!run)
174
+ async function approve(runId, decision, approver) { const run = await runs.get(runId); if (!run)
144
175
  throw new Error(`Unknown run: ${runId}`); if (run.status !== 'waiting_for_approval')
145
- throw new Error(`Run ${runId} is not waiting for approval`); const capability = byName.get(run.capability); for (const hook of app.hooks)
146
- await hook.beforeApproval?.({ run, decision }); await runs.update(runId, { approval: decision }); await runs.appendEvent(runId, { type: decision === 'approved' ? 'approval.approved' : 'approval.rejected', capability: capability.name, detail: decision }); if (decision === 'rejected') {
147
- await runs.update(runId, { status: 'cancelled' });
148
- return resultFor((await runs.get(runId)), capability);
149
- } return continueRun((await runs.get(runId)), capability); }
176
+ throw new Error(`Run ${runId} is not waiting for approval`); if (run.identity.tenantId !== approver.tenantId)
177
+ throw new Error('Approver must belong to the run tenant'); const capability = byName.get(run.capability); if (decision === 'approved' && !allowsRequester(capability.approval) && sameActor(run.identity, approver))
178
+ throw new Error('Requester cannot approve their own run'); if (normalized.authorizeApproval && !(await normalized.authorizeApproval(approver, run)))
179
+ throw new Error('Not authorized to approve this run'); for (const hook of app.hooks)
180
+ await hook.beforeApproval?.({ run, decision, approver }); const decided = await runs.compareAndSet(runId, ['waiting_for_approval'], { status: decision === 'approved' ? 'running' : 'cancelled', approval: decision, approvalIdentity: approver }); if (!decided)
181
+ throw new Error(`Run ${runId} is no longer waiting for approval`); await runs.appendEvent(runId, { type: decision === 'approved' ? 'approval.approved' : 'approval.rejected', capability: capability.name, detail: decision, data: { approver } }); if (decision === 'rejected')
182
+ return resultFor(decided, capability); return continueRun(decided, capability); }
150
183
  async function enqueue(request, queue, options = {}) { const capability = byName.get(request.capability); if (!capability)
151
184
  throw new Error(`Unknown capability: ${request.capability}`); if (normalized.authorize && !(await normalized.authorize(request.identity, capability.permissions)))
152
185
  throw new Error(`Not authorized to run ${capability.name}`); if (request.idempotencyKey) {
@@ -168,17 +201,22 @@ export function createRuntime(app, options = {}) {
168
201
  throw new Error(`Unknown capability: ${run.capability}`); if (['completed', 'cancelled', 'waiting_for_approval'].includes(run.status))
169
202
  return resultFor(run, capability); return continueRun(run, capability); }
170
203
  async function cancel(runId) { const run = await runs.get(runId); if (!run)
171
- throw new Error(`Unknown run: ${runId}`); if (['completed', 'failed', 'cancelled'].includes(run.status))
172
- throw new Error(`Run ${runId} cannot be cancelled`); await runs.update(runId, { status: 'cancelled' }); await runs.appendEvent(runId, { type: 'run.cancelled', capability: run.capability, detail: 'Cancelled' }); return runs.get(runId); }
204
+ throw new Error(`Unknown run: ${runId}`); const cancelled = await runs.compareAndSet(runId, ['created', 'queued', 'running', 'waiting_for_approval'], { status: 'cancelled' }); if (!cancelled)
205
+ throw new Error(`Run ${runId} cannot be cancelled`); activeRuns.get(runId)?.abort(new RunCancelledError(runId)); await runs.appendEvent(runId, { type: 'run.cancelled', capability: run.capability, detail: 'Cancelled' }); return cancelled; }
173
206
  async function replay(runId) { const run = await runs.get(runId); if (!run)
174
207
  throw new Error(`Unknown run: ${runId}`); return { run, events: await runs.events(runId), checkpoints: await checkpoints.list(runId) }; }
175
- return { app, memory, runs, checkpoints, budgets, telemetry, execute, enqueue, resume, replay, approve, cancel, async run(name, input, legacy) { let result = await execute({ capability: name, input, identity: { tenantId: legacy.tenantId ?? 'default', userId: legacy.userId, projectId: legacy.projectId } }); if (result.run.status === 'waiting_for_approval') {
208
+ return { app, memory, runs, checkpoints, budgets, effects, telemetry, execute, enqueue, resume, replay, approve, cancel, async run(name, input, legacy) { let result = await execute({ capability: name, input, identity: { tenantId: legacy.tenantId ?? 'default', userId: legacy.userId, projectId: legacy.projectId } }); if (result.run.status === 'waiting_for_approval') {
209
+ if (!legacy.approver)
210
+ throw new Error('Legacy approval requires an independent approver identity');
176
211
  const allowed = await legacy.approve({ capability: name, summary: result.capability.description, input });
177
- result = await approve(result.run.id, allowed ? 'approved' : 'rejected');
212
+ result = await approve(result.run.id, allowed ? 'approved' : 'rejected', legacy.approver);
178
213
  if (!allowed)
179
214
  throw new Error('Approval rejected');
180
215
  } return result; } };
181
216
  }
217
+ function requiresApproval(policy) { return policy === 'required' || typeof policy === 'object' && policy.required; }
218
+ function allowsRequester(policy) { return typeof policy === 'object' && policy.allowRequester === true; }
219
+ function sameActor(left, right) { return left.tenantId === right.tenantId && left.userId === right.userId; }
182
220
  function safeQuery(input) { const values = []; const visit = (value, depth) => { if (depth > 4)
183
221
  return; if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean')
184
222
  values.push(String(value));
package/dist/core.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ export type EffectReceipt = {
2
+ key: string;
3
+ tenantId: string;
4
+ tool: string;
5
+ status: 'started' | 'completed' | 'in_doubt';
6
+ output?: unknown;
7
+ error?: string;
8
+ createdAt: number;
9
+ updatedAt: number;
10
+ };
11
+ export type EffectClaim = {
12
+ status: 'claimed';
13
+ } | {
14
+ status: 'completed';
15
+ output: unknown;
16
+ } | {
17
+ status: 'in_doubt';
18
+ receipt: EffectReceipt;
19
+ };
20
+ export declare class EffectInDoubtError extends Error {
21
+ readonly receipt: EffectReceipt;
22
+ readonly code = "effect_in_doubt";
23
+ constructor(receipt: EffectReceipt);
24
+ }
25
+ export interface EffectStore {
26
+ claim(tenantId: string, tool: string, key: string): Promise<EffectClaim>;
27
+ complete(tenantId: string, tool: string, key: string, output: unknown): Promise<void>;
28
+ doubt(tenantId: string, tool: string, key: string, error: string): Promise<void>;
29
+ }
30
+ export declare class InMemoryEffectStore implements EffectStore {
31
+ #private;
32
+ claim(tenantId: string, tool: string, key: string): Promise<EffectClaim>;
33
+ complete(tenantId: string, tool: string, key: string, output: unknown): Promise<void>;
34
+ doubt(tenantId: string, tool: string, key: string, error: string): Promise<void>;
35
+ }
36
+ //# sourceMappingURL=effects.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects.d.ts","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAC;IAAC,GAAG,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,SAAS,GAAC,WAAW,GAAC,UAAU,CAAC;IAAA,MAAM,CAAC,EAAC,OAAO,CAAC;IAAA,KAAK,CAAC,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAC;IAAA,SAAS,EAAC,MAAM,CAAA;CAAC,CAAA;AAC1K,MAAM,MAAM,WAAW,GAAC;IAAC,MAAM,EAAC,SAAS,CAAA;CAAC,GAAC;IAAC,MAAM,EAAC,WAAW,CAAC;IAAA,MAAM,EAAC,OAAO,CAAA;CAAC,GAAC;IAAC,MAAM,EAAC,UAAU,CAAC;IAAA,OAAO,EAAC,aAAa,CAAA;CAAC,CAAA;AAExH,qBAAa,kBAAmB,SAAQ,KAAK;IAE/B,QAAQ,CAAC,OAAO,EAAC,aAAa;IAD1C,QAAQ,CAAC,IAAI,qBAAkB;gBACV,OAAO,EAAC,aAAa;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,QAAQ,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAClE,QAAQ,CAAC,QAAQ,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,GAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7E,KAAK,CAAC,QAAQ,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,GAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CACzE;AAED,qBAAa,mBAAoB,YAAW,WAAW;;IAE/C,KAAK,CAAC,QAAQ,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAC;IAClE,QAAQ,CAAC,QAAQ,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO;IAC9D,KAAK,CAAC,QAAQ,EAAC,MAAM,EAAC,IAAI,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM;CAEhE"}
@@ -0,0 +1,21 @@
1
+ export class EffectInDoubtError extends Error {
2
+ receipt;
3
+ code = 'effect_in_doubt';
4
+ constructor(receipt) {
5
+ super(`Effect ${receipt.tool} is in doubt for key ${receipt.key}`);
6
+ this.receipt = receipt;
7
+ this.name = 'EffectInDoubtError';
8
+ }
9
+ }
10
+ export class InMemoryEffectStore {
11
+ #receipts = new Map();
12
+ async claim(tenantId, tool, key) { const id = this.#id(tenantId, tool, key), existing = this.#receipts.get(id); if (existing?.status === 'completed')
13
+ return { status: 'completed', output: structuredClone(existing.output) }; if (existing)
14
+ return { status: 'in_doubt', receipt: structuredClone(existing) }; const now = Date.now(); this.#receipts.set(id, { key, tenantId, tool, status: 'started', createdAt: now, updatedAt: now }); return { status: 'claimed' }; }
15
+ async complete(tenantId, tool, key, output) { const id = this.#id(tenantId, tool, key), existing = this.#receipts.get(id); if (!existing)
16
+ throw new Error(`Effect was not claimed: ${tool}/${key}`); this.#receipts.set(id, { ...existing, status: 'completed', output: structuredClone(output), error: undefined, updatedAt: Date.now() }); }
17
+ async doubt(tenantId, tool, key, error) { const id = this.#id(tenantId, tool, key), existing = this.#receipts.get(id); if (!existing)
18
+ throw new Error(`Effect was not claimed: ${tool}/${key}`); this.#receipts.set(id, { ...existing, status: 'in_doubt', error, updatedAt: Date.now() }); }
19
+ #id(tenantId, tool, key) { return `${tenantId}\u0000${tool}\u0000${key}`; }
20
+ }
21
+ //# sourceMappingURL=effects.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effects.js","sourceRoot":"","sources":["../src/effects.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IAEtB;IADZ,IAAI,GAAC,iBAAiB,CAAA;IAC/B,YAAqB,OAAqB;QAAE,KAAK,CAAC,UAAU,OAAO,CAAC,IAAI,wBAAwB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAA1F,YAAO,GAAP,OAAO,CAAc;QAAqE,IAAI,CAAC,IAAI,GAAC,oBAAoB,CAAA;IAAA,CAAC;CAC/I;AAQD,MAAM,OAAO,mBAAmB;IACrB,SAAS,GAAC,IAAI,GAAG,EAAwB,CAAA;IAClD,KAAK,CAAC,KAAK,CAAC,QAAe,EAAC,IAAW,EAAC,GAAU,IAAuB,MAAM,EAAE,GAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAC,IAAI,EAAC,GAAG,CAAC,EAAC,QAAQ,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,IAAG,QAAQ,EAAE,MAAM,KAAG,WAAW;QAAC,OAAO,EAAC,MAAM,EAAC,WAAW,EAAC,MAAM,EAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAC,CAAC,CAAA,IAAG,QAAQ;QAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAC,OAAO,EAAC,eAAe,CAAC,QAAQ,CAAC,EAAC,CAAC,CAAA,MAAM,GAAG,GAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAC,EAAC,GAAG,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,GAAG,EAAC,SAAS,EAAC,GAAG,EAAC,CAAC,CAAC,CAAA,OAAO,EAAC,MAAM,EAAC,SAAS,EAAC,CAAA,CAAA,CAAC;IACpc,KAAK,CAAC,QAAQ,CAAC,QAAe,EAAC,IAAW,EAAC,GAAU,EAAC,MAAc,IAAE,MAAM,EAAE,GAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAC,IAAI,EAAC,GAAG,CAAC,EAAC,QAAQ,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,IAAG,CAAC,QAAQ;QAAC,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAC,EAAC,GAAG,QAAQ,EAAC,MAAM,EAAC,WAAW,EAAC,MAAM,EAAC,eAAe,CAAC,MAAM,CAAC,EAAC,KAAK,EAAC,SAAS,EAAC,SAAS,EAAC,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAA,CAAA,CAAC;IAC9U,KAAK,CAAC,KAAK,CAAC,QAAe,EAAC,IAAW,EAAC,GAAU,EAAC,KAAY,IAAE,MAAM,EAAE,GAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAC,IAAI,EAAC,GAAG,CAAC,EAAC,QAAQ,GAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA,IAAG,CAAC,QAAQ;QAAC,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC,CAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAC,EAAC,GAAG,QAAQ,EAAC,MAAM,EAAC,UAAU,EAAC,KAAK,EAAC,SAAS,EAAC,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAA,CAAA,CAAC;IAC/R,GAAG,CAAC,QAAe,EAAC,IAAW,EAAC,GAAU,IAAE,OAAO,GAAG,QAAQ,SAAS,IAAI,SAAS,GAAG,EAAE,CAAA,CAAA,CAAC;CAC3F"}
package/dist/index.d.ts CHANGED
@@ -13,4 +13,5 @@ export * from './checkpoints.js';
13
13
  export * from './telemetry.js';
14
14
  export * from './evals.js';
15
15
  export * from './budgets.js';
16
+ export * from './effects.js';
16
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
package/dist/index.js CHANGED
@@ -13,4 +13,5 @@ export * from './checkpoints.js';
13
13
  export * from './telemetry.js';
14
14
  export * from './evals.js';
15
15
  export * from './budgets.js';
16
+ export * from './effects.js';
16
17
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA"}
@@ -18,7 +18,7 @@ export declare function compileManifest(app: AgentApp): {
18
18
  memory: readonly import("./memory.js").MemoryScope[];
19
19
  state: import("./core.js").CapabilityState;
20
20
  permissions: readonly string[];
21
- approval: "never" | "required";
21
+ approval: import("./core.js").ApprovalPolicy;
22
22
  idempotent: boolean;
23
23
  policy: import("./core.js").ExecutionPolicy;
24
24
  view: string;
@@ -24,6 +24,7 @@ export type RunRecord = {
24
24
  validatedInput?: unknown;
25
25
  output?: unknown;
26
26
  approval?: 'pending' | 'approved' | 'rejected';
27
+ approvalIdentity?: ExecutionIdentity;
27
28
  error?: string;
28
29
  idempotencyKey?: string;
29
30
  createdAt: number;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnE,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAC5C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,sBAAsB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;AACxH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,eAAe,GAAG,YAAY,GAAG,eAAe,CAAA;AAChgB,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,OAAO,uBAAuB,CAAC;IAAC,KAAK,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,MAAM,CAAC;IAAC,EAAE,EAAC,MAAM,CAAC;IAAC,IAAI,EAAC,SAAS,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,MAAM,CAAC;IAAC,IAAI,CAAC,EAAC,OAAO,CAAA;CAAE,CAAA;AAC3L,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAC,MAAM,CAAC;IAAC,GAAG,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,SAAS,CAAC;IAAC,QAAQ,EAAC,iBAAiB,CAAC;IAAC,KAAK,EAAC,OAAO,CAAC;IAAC,cAAc,CAAC,EAAC,OAAO,CAAC;IAAC,MAAM,CAAC,EAAC,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAC,SAAS,GAAC,UAAU,GAAC,UAAU,CAAC;IAAC,KAAK,CAAC,EAAC,MAAM,CAAC;IAAC,cAAc,CAAC,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,CAAA;CAAE,CAAA;AACpT,MAAM,MAAM,oBAAoB,GAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,UAAU,GAAC,OAAO,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,eAAe,CAAA;CAAC,CAAA;AAC3H,MAAM,MAAM,sBAAsB,CAAC,MAAM,GAAC,OAAO,IAAE;IAAC,GAAG,EAAC,SAAS,CAAC;IAAA,UAAU,EAAC,oBAAoB,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,WAAW,EAAE,CAAA;CAAC,CAAA"}
1
+ {"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AACnE,eAAO,MAAM,uBAAuB,QAAQ,CAAA;AAC5C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,sBAAsB,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAA;AACxH,MAAM,MAAM,SAAS,GAAG,YAAY,GAAG,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,YAAY,GAAG,qBAAqB,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,qBAAqB,GAAG,cAAc,GAAG,gBAAgB,GAAG,aAAa,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,eAAe,GAAG,YAAY,GAAG,eAAe,CAAA;AAChgB,MAAM,MAAM,WAAW,GAAG;IAAE,EAAE,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,OAAO,uBAAuB,CAAC;IAAC,KAAK,EAAC,MAAM,CAAC;IAAC,QAAQ,EAAC,MAAM,CAAC;IAAC,EAAE,EAAC,MAAM,CAAC;IAAC,IAAI,EAAC,SAAS,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,MAAM,CAAC;IAAC,IAAI,CAAC,EAAC,OAAO,CAAA;CAAE,CAAA;AAC3L,MAAM,MAAM,SAAS,GAAG;IAAE,EAAE,EAAC,MAAM,CAAC;IAAC,GAAG,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,MAAM,EAAC,SAAS,CAAC;IAAC,QAAQ,EAAC,iBAAiB,CAAC;IAAC,KAAK,EAAC,OAAO,CAAC;IAAC,cAAc,CAAC,EAAC,OAAO,CAAC;IAAC,MAAM,CAAC,EAAC,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAC,SAAS,GAAC,UAAU,GAAC,UAAU,CAAC;IAAA,gBAAgB,CAAC,EAAC,iBAAiB,CAAC;IAAC,KAAK,CAAC,EAAC,MAAM,CAAC;IAAC,cAAc,CAAC,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,CAAC;IAAC,SAAS,EAAC,MAAM,CAAA;CAAE,CAAA;AACxV,MAAM,MAAM,oBAAoB,GAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,UAAU,GAAC,OAAO,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,eAAe,CAAA;CAAC,CAAA;AAC3H,MAAM,MAAM,sBAAsB,CAAC,MAAM,GAAC,OAAO,IAAE;IAAC,GAAG,EAAC,SAAS,CAAC;IAAA,UAAU,EAAC,oBAAoB,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,WAAW,EAAE,CAAA;CAAC,CAAA"}
package/dist/stores.d.ts CHANGED
@@ -4,6 +4,7 @@ export interface RunStore {
4
4
  create(input: CreateRun): Promise<RunRecord>;
5
5
  get(id: string): Promise<RunRecord | undefined>;
6
6
  update(id: string, patch: Partial<RunRecord>): Promise<void>;
7
+ compareAndSet(id: string, expected: readonly RunRecord['status'][], patch: Partial<RunRecord>): Promise<RunRecord | undefined>;
7
8
  appendEvent(id: string, event: Omit<CaptraEvent, 'id' | 'protocol' | 'runId' | 'sequence' | 'at'>): Promise<CaptraEvent>;
8
9
  events(id: string, after?: number): Promise<CaptraEvent[]>;
9
10
  findByIdempotencyKey(tenantId: string, key: string): Promise<RunRecord | undefined>;
@@ -13,6 +14,23 @@ export declare class InMemoryRunStore implements RunStore {
13
14
  create(input: CreateRun): Promise<RunRecord>;
14
15
  get(id: string): Promise<RunRecord | undefined>;
15
16
  update(id: string, patch: Partial<RunRecord>): Promise<void>;
17
+ compareAndSet(id: string, expected: readonly RunRecord['status'][], patch: Partial<RunRecord>): Promise<{
18
+ id: string;
19
+ updatedAt: number;
20
+ app: string;
21
+ appVersion: string;
22
+ capability: string;
23
+ status: import("./protocol.js").RunStatus;
24
+ identity: import("./core.js").ExecutionIdentity;
25
+ input: unknown;
26
+ validatedInput?: unknown;
27
+ output?: unknown;
28
+ approval?: "pending" | "approved" | "rejected";
29
+ approvalIdentity?: import("./core.js").ExecutionIdentity;
30
+ error?: string;
31
+ idempotencyKey?: string;
32
+ createdAt: number;
33
+ } | undefined>;
16
34
  appendEvent(runId: string, input: Omit<CaptraEvent, 'id' | 'protocol' | 'runId' | 'sequence' | 'at'>): Promise<CaptraEvent>;
17
35
  events(id: string, after?: number): Promise<CaptraEvent[]>;
18
36
  findByIdempotencyKey(tenantId: string, key: string): Promise<RunRecord | undefined>;
@@ -1 +1 @@
1
- {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA;AACzF,MAAM,MAAM,SAAS,GAAC,IAAI,CAAC,SAAS,EAAC,IAAI,GAAC,QAAQ,GAAC,WAAW,GAAC,WAAW,CAAC,CAAA;AAC3E,MAAM,WAAW,QAAQ;IAAG,MAAM,CAAC,KAAK,EAAC,SAAS,GAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,EAAC,MAAM,GAAE,OAAO,CAAC,SAAS,GAAC,SAAS,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,CAAC,SAAS,CAAC,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,IAAI,CAAC,WAAW,EAAC,IAAI,GAAC,UAAU,GAAC,OAAO,GAAC,UAAU,GAAC,IAAI,CAAC,GAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,CAAC,EAAC,MAAM,GAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAAC,oBAAoB,CAAC,QAAQ,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,GAAE,OAAO,CAAC,SAAS,GAAC,SAAS,CAAC,CAAA;CAAE;AACna,qBAAa,gBAAiB,YAAW,QAAQ;;IAEzC,MAAM,CAAC,KAAK,EAAC,SAAS;IACtB,GAAG,CAAC,EAAE,EAAC,MAAM;IACb,MAAM,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,CAAC,SAAS,CAAC;IACzC,WAAW,CAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,IAAI,CAAC,WAAW,EAAC,IAAI,GAAC,UAAU,GAAC,OAAO,GAAC,UAAU,GAAC,IAAI,CAAC;IACxF,MAAM,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,SAAE;IACxB,oBAAoB,CAAC,QAAQ,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM;CACtD"}
1
+ {"version":3,"file":"stores.d.ts","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA;AACzF,MAAM,MAAM,SAAS,GAAC,IAAI,CAAC,SAAS,EAAC,IAAI,GAAC,QAAQ,GAAC,WAAW,GAAC,WAAW,CAAC,CAAA;AAC3E,MAAM,WAAW,QAAQ;IAAG,MAAM,CAAC,KAAK,EAAC,SAAS,GAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,EAAC,MAAM,GAAE,OAAO,CAAC,SAAS,GAAC,SAAS,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,CAAC,SAAS,CAAC,GAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAAC,aAAa,CAAC,EAAE,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAC,KAAK,EAAC,OAAO,CAAC,SAAS,CAAC,GAAE,OAAO,CAAC,SAAS,GAAC,SAAS,CAAC,CAAC;IAAC,WAAW,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,IAAI,CAAC,WAAW,EAAC,IAAI,GAAC,UAAU,GAAC,OAAO,GAAC,UAAU,GAAC,IAAI,CAAC,GAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,MAAM,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,CAAC,EAAC,MAAM,GAAE,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAAC,oBAAoB,CAAC,QAAQ,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM,GAAE,OAAO,CAAC,SAAS,GAAC,SAAS,CAAC,CAAA;CAAE;AAC3hB,qBAAa,gBAAiB,YAAW,QAAQ;;IAEzC,MAAM,CAAC,KAAK,EAAC,SAAS;IACtB,GAAG,CAAC,EAAE,EAAC,MAAM;IACb,MAAM,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,CAAC,SAAS,CAAC;IACzC,aAAa,CAAC,EAAE,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAC,KAAK,EAAC,OAAO,CAAC,SAAS,CAAC;;;;;;;;;;;;;;;;;IACxF,WAAW,CAAC,KAAK,EAAC,MAAM,EAAC,KAAK,EAAC,IAAI,CAAC,WAAW,EAAC,IAAI,GAAC,UAAU,GAAC,OAAO,GAAC,UAAU,GAAC,IAAI,CAAC;IACxF,MAAM,CAAC,EAAE,EAAC,MAAM,EAAC,KAAK,SAAE;IACxB,oBAAoB,CAAC,QAAQ,EAAC,MAAM,EAAC,GAAG,EAAC,MAAM;CACtD"}
package/dist/stores.js CHANGED
@@ -6,6 +6,9 @@ export class InMemoryRunStore {
6
6
  async get(id) { return this.#runs.get(id); }
7
7
  async update(id, patch) { const run = this.#runs.get(id); if (!run)
8
8
  throw new Error(`Unknown run: ${id}`); this.#runs.set(id, { ...run, ...patch, id, updatedAt: Date.now() }); }
9
+ async compareAndSet(id, expected, patch) { const run = this.#runs.get(id); if (!run)
10
+ throw new Error(`Unknown run: ${id}`); if (!expected.includes(run.status))
11
+ return; const updated = { ...run, ...patch, id, updatedAt: Date.now() }; this.#runs.set(id, updated); return updated; }
9
12
  async appendEvent(runId, input) { const list = this.#events.get(runId); if (!list)
10
13
  throw new Error(`Unknown run: ${runId}`); const event = { ...input, id: crypto.randomUUID(), protocol: CAPTRA_PROTOCOL_VERSION, runId, sequence: list.length + 1, at: Date.now() }; list.push(event); return event; }
11
14
  async events(id, after = 0) { return (this.#events.get(id) ?? []).filter(event => event.sequence > after); }
@@ -1 +1 @@
1
- {"version":3,"file":"stores.js","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAoC,MAAM,eAAe,CAAA;AAGzF,MAAM,OAAO,gBAAgB;IAClB,KAAK,GAAC,IAAI,GAAG,EAAoB,CAAC;IAAU,OAAO,GAAC,IAAI,GAAG,EAAwB,CAAA;IAC5F,KAAK,CAAC,MAAM,CAAC,KAAe,IAAG,MAAM,GAAG,GAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,GAAG,GAAW,EAAC,GAAG,KAAK,EAAC,EAAE,EAAC,MAAM,CAAC,UAAU,EAAE,EAAC,MAAM,EAAC,SAAS,EAAC,SAAS,EAAC,GAAG,EAAC,SAAS,EAAC,GAAG,EAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAA,CAAC,CAAC;IAC9N,KAAK,CAAC,GAAG,CAAC,EAAS,IAAG,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC;IACjD,KAAK,CAAC,MAAM,CAAC,EAAS,EAAC,KAAwB,IAAG,MAAM,GAAG,GAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAG,CAAC,GAAG;QAAC,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAC,EAAC,GAAG,GAAG,EAAC,GAAG,KAAK,EAAC,EAAE,EAAC,SAAS,EAAC,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAA,CAAC,CAAC;IAC7L,KAAK,CAAC,WAAW,CAAC,KAAY,EAAC,KAA+D,IAAG,MAAM,IAAI,GAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAG,CAAC,IAAI;QAAC,MAAM,IAAI,KAAK,CAAC,gBAAgB,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAa,EAAC,GAAG,KAAK,EAAC,EAAE,EAAC,MAAM,CAAC,UAAU,EAAE,EAAC,QAAQ,EAAC,uBAAuB,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,CAAC,MAAM,GAAC,CAAC,EAAC,EAAE,EAAC,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,CAAA,CAAC,CAAC;IAC/V,KAAK,CAAC,MAAM,CAAC,EAAS,EAAC,KAAK,GAAC,CAAC,IAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAA,EAAE,CAAA,KAAK,CAAC,QAAQ,GAAC,KAAK,CAAC,CAAA,CAAC,CAAC;IACxG,KAAK,CAAC,oBAAoB,CAAC,QAAe,EAAC,GAAU,IAAG,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA,EAAE,CAAA,GAAG,CAAC,QAAQ,CAAC,QAAQ,KAAG,QAAQ,IAAE,GAAG,CAAC,cAAc,KAAG,GAAG,CAAC,CAAA,CAAC,CAAC;CAChK"}
1
+ {"version":3,"file":"stores.js","sourceRoot":"","sources":["../src/stores.ts"],"names":[],"mappings":"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"}
package/dist/tools.d.ts CHANGED
@@ -8,10 +8,13 @@ export type Tool<Input, Output> = {
8
8
  readonly input: ZodType<Input>;
9
9
  readonly output: ZodType<Output>;
10
10
  readonly permissions: readonly string[];
11
+ readonly effect: 'read' | 'write';
12
+ readonly idempotencyKey?: (input: Input, context: ToolContext) => string;
11
13
  readonly execute: (input: Input, context: ToolContext) => Promise<Output>;
12
14
  };
13
- export declare function defineTool<Input, Output>(definition: Omit<Tool<Input, Output>, 'kind' | 'permissions'> & {
15
+ export declare function defineTool<Input, Output>(definition: Omit<Tool<Input, Output>, 'kind' | 'permissions' | 'effect'> & {
14
16
  permissions?: readonly string[];
17
+ effect?: 'read' | 'write';
15
18
  }): Tool<Input, Output>;
16
19
  export type ToolCall = {
17
20
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAE/C,MAAM,MAAM,WAAW,GAAC,cAAc,CAAA;AACtC,MAAM,MAAM,IAAI,CAAC,KAAK,EAAC,MAAM,IAAE;IAC7B,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,EAAC,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAC,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,WAAW,KAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACpE,CAAA;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAC,MAAM,CAAC,EAAC,MAAM,GAAC,aAAa,CAAC,GAAC;IAAC,WAAW,CAAC,EAAC,SAAS,MAAM,EAAE,CAAA;CAAC,GAAE,IAAI,CAAC,KAAK,EAAC,MAAM,CAAC,CAErJ;AAED,MAAM,MAAM,QAAQ,GAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,OAAO,CAAA;CAAC,CAAA;AAChD,MAAM,WAAW,UAAU;IAAG,IAAI,CAAC,MAAM,GAAC,OAAO,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE;AAC/F,MAAM,MAAM,aAAa,GAAC;IAAC,MAAM,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,KAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAAA,KAAK,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,KAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAAA,KAAK,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC,CAAA;AAE9P,wBAAgB,gBAAgB,CAAC,KAAK,EAAC,SAAS,IAAI,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,CAAC,EAAC,CAAC,WAAW,EAAC,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC,EAAC,SAAS,GAAC,aAAgB,GAAE,UAAU,CAiBzL"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAG/C,MAAM,MAAM,WAAW,GAAC,cAAc,CAAA;AACtC,MAAM,MAAM,IAAI,CAAC,KAAK,EAAC,MAAM,IAAE;IAC7B,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAC,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,EAAC,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC7B,QAAQ,CAAC,MAAM,EAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IAC/B,QAAQ,CAAC,WAAW,EAAC,SAAS,MAAM,EAAE,CAAA;IACtC,QAAQ,CAAC,MAAM,EAAC,MAAM,GAAC,OAAO,CAAA;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAC,CAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,WAAW,KAAG,MAAM,CAAA;IAClE,QAAQ,CAAC,OAAO,EAAC,CAAC,KAAK,EAAC,KAAK,EAAC,OAAO,EAAC,WAAW,KAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CACpE,CAAA;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAC,MAAM,EAAE,UAAU,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAC,MAAM,CAAC,EAAC,MAAM,GAAC,aAAa,GAAC,QAAQ,CAAC,GAAC;IAAC,WAAW,CAAC,EAAC,SAAS,MAAM,EAAE,CAAC;IAAA,MAAM,CAAC,EAAC,MAAM,GAAC,OAAO,CAAA;CAAC,GAAE,IAAI,CAAC,KAAK,EAAC,MAAM,CAAC,CAGrL;AAED,MAAM,MAAM,QAAQ,GAAC;IAAC,IAAI,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,OAAO,CAAA;CAAC,CAAA;AAChD,MAAM,WAAW,UAAU;IAAG,IAAI,CAAC,MAAM,GAAC,OAAO,EAAE,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,GAAE,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE;AAC/F,MAAM,MAAM,aAAa,GAAC;IAAC,MAAM,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,KAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAAA,KAAK,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,KAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAAA,KAAK,CAAC,EAAC,CAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,cAAc,KAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC,CAAA;AAE9P,wBAAgB,gBAAgB,CAAC,KAAK,EAAC,SAAS,IAAI,CAAC,GAAG,EAAC,GAAG,CAAC,EAAE,EAAC,OAAO,EAAC,cAAc,EAAC,SAAS,CAAC,EAAC,CAAC,WAAW,EAAC,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,OAAO,CAAC,EAAC,SAAS,GAAC,aAAgB,GAAE,UAAU,CAwBzL"}
package/dist/tools.js CHANGED
@@ -1,5 +1,8 @@
1
+ import { EffectInDoubtError } from './effects.js';
1
2
  export function defineTool(definition) {
2
- return Object.freeze({ kind: 'tool', permissions: definition.permissions ?? [], ...definition });
3
+ if (definition.effect === 'write' && !definition.idempotencyKey)
4
+ throw new Error(`Write tool ${definition.name} requires idempotencyKey`);
5
+ return Object.freeze({ kind: 'tool', permissions: definition.permissions ?? [], effect: definition.effect ?? 'read', ...definition });
3
6
  }
4
7
  export function createToolRunner(tools, context, authorize, lifecycle = {}) {
5
8
  const registry = new Map(tools.map(tool => [tool.name, tool]));
@@ -15,7 +18,25 @@ export function createToolRunner(tools, context, authorize, lifecycle = {}) {
15
18
  const span = context.telemetry.startSpan('captra.tool', { runId: context.runId, tool: name, tenantId: context.tenantId }), startedAt = Date.now();
16
19
  await context.emit({ type: 'tool.started', capability: name, detail: tool.description, data: { input: parsed } });
17
20
  try {
18
- let value = tool.output.parse(await tool.execute(parsed, context));
21
+ let value;
22
+ if (tool.effect === 'write') {
23
+ const key = tool.idempotencyKey(parsed, context), claim = await context.effects.claim(context.tenantId, tool.name, key);
24
+ if (claim.status === 'completed')
25
+ value = tool.output.parse(claim.output);
26
+ else if (claim.status === 'in_doubt')
27
+ throw new EffectInDoubtError(claim.receipt);
28
+ else
29
+ try {
30
+ value = tool.output.parse(await tool.execute(parsed, context));
31
+ await context.effects.complete(context.tenantId, tool.name, key, value);
32
+ }
33
+ catch (error) {
34
+ await context.effects.doubt(context.tenantId, tool.name, key, error instanceof Error ? error.message : 'Tool effect failed');
35
+ throw error;
36
+ }
37
+ }
38
+ else
39
+ value = tool.output.parse(await tool.execute(parsed, context));
19
40
  if (lifecycle.after)
20
41
  value = tool.output.parse(await lifecycle.after(name, value, context));
21
42
  await context.emit({ type: 'tool.completed', capability: name, detail: 'Tool call completed' });
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@captra-ai/core",
3
- "version": "0.4.1",
3
+ "version": "0.5.1",
4
4
  "description": "Typed capability contracts and durable runtime for Captra.",
5
5
  "license": "MIT",
6
6
  "repository": {