@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 +27 -0
- package/dist/agent.d.ts +2 -2
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js.map +1 -1
- package/dist/core.d.ts +21 -5
- package/dist/core.d.ts.map +1 -1
- package/dist/core.js +60 -22
- package/dist/core.js.map +1 -1
- package/dist/effects.d.ts +36 -0
- package/dist/effects.d.ts.map +1 -0
- package/dist/effects.js +21 -0
- package/dist/effects.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +1 -1
- package/dist/protocol.d.ts +1 -0
- package/dist/protocol.d.ts.map +1 -1
- package/dist/stores.d.ts +18 -0
- package/dist/stores.d.ts.map +1 -1
- package/dist/stores.js +3 -0
- package/dist/stores.js.map +1 -1
- package/dist/tools.d.ts +4 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +23 -2
- package/dist/tools.js.map +1 -1
- package/package.json +1 -1
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?:
|
|
29
|
+
approval?: ApprovalPolicy;
|
|
30
30
|
idempotent?: boolean;
|
|
31
31
|
policy?: ExecutionPolicy;
|
|
32
32
|
budget?: AgentBudget;
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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:
|
|
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?:
|
|
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
|
|
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
|
};
|
package/dist/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,KAAK,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAClG,OAAO,EAAoB,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAoB,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAA0B,KAAK,eAAe,EAAC,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACnG,OAAO,EAAgB,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AACpE,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
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:
|
|
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
|
|
91
|
-
await runs.
|
|
92
|
-
|
|
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(
|
|
115
|
+
return resultFor(waiting, capability);
|
|
97
116
|
}
|
|
98
|
-
await runs.
|
|
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.
|
|
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(
|
|
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
|
-
|
|
120
|
-
|
|
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`);
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
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}`);
|
|
172
|
-
throw new Error(`Run ${runId} cannot be cancelled`);
|
|
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"}
|
package/dist/effects.js
ADDED
|
@@ -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
package/dist/index.d.ts.map
CHANGED
|
@@ -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
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"}
|
package/dist/manifest.d.ts
CHANGED
|
@@ -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: "
|
|
21
|
+
approval: import("./core.js").ApprovalPolicy;
|
|
22
22
|
idempotent: boolean;
|
|
23
23
|
policy: import("./core.js").ExecutionPolicy;
|
|
24
24
|
view: string;
|
package/dist/protocol.d.ts
CHANGED
package/dist/protocol.d.ts.map
CHANGED
|
@@ -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;
|
|
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>;
|
package/dist/stores.d.ts.map
CHANGED
|
@@ -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;
|
|
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); }
|
package/dist/stores.js.map
CHANGED
|
@@ -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;
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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
|
|
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":"
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|