@anvia/durable 0.0.0-bootstrap.0 → 0.1.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.
@@ -0,0 +1,213 @@
1
+ import {
2
+ parseTaskEvent,
3
+ parseTaskGraph,
4
+ parseTaskListOptions,
5
+ parseTaskPage,
6
+ parseTaskResolution,
7
+ parseTaskSignal,
8
+ parseTaskSnapshot,
9
+ parseTaskSubmission
10
+ } from "./chunk-ETGANBD4.js";
11
+ import {
12
+ eventTypeSchema,
13
+ graphListSchema,
14
+ json,
15
+ listOptionsSchema,
16
+ parseDurableGraphSubmission,
17
+ parseOperation,
18
+ parseRun,
19
+ runStatusSchema
20
+ } from "./chunk-KIMHK6CE.js";
21
+
22
+ // src/protocol.ts
23
+ import { z as z2 } from "zod";
24
+ import {
25
+ agentInteractionResponseSchema,
26
+ parseAgentInteractionResponse
27
+ } from "@anvia/core/agent/interactions";
28
+ import { parseMessage } from "@anvia/core/completion";
29
+
30
+ // src/graph-protocol.ts
31
+ import { z } from "zod";
32
+ import { agentInteractionRequestSchema } from "@anvia/core/agent/interactions";
33
+ import { isJsonValue } from "@anvia/core/completion";
34
+ var id = z.string().min(1);
35
+ var cursor = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER);
36
+ var wait = z.discriminatedUnion("type", [
37
+ z.object({ type: z.literal("dependencies"), taskIds: z.array(id).min(1).max(100) }).strict(),
38
+ z.object({ type: z.literal("dependency_failed"), taskIds: z.array(id).min(1).max(100) }).strict(),
39
+ z.object({ type: z.literal("capacity") }).strict(),
40
+ z.object({ type: z.literal("interaction"), interactionId: id }).strict(),
41
+ z.object({ type: z.literal("retry"), until: z.iso.datetime() }).strict(),
42
+ z.object({ type: z.literal("recovery"), operationId: id.optional() }).strict()
43
+ ]);
44
+ var node = z.object({
45
+ id,
46
+ agentId: id,
47
+ runId: id,
48
+ status: runStatusSchema,
49
+ wait: wait.optional(),
50
+ output: z.custom(isJsonValue).optional(),
51
+ interaction: agentInteractionRequestSchema.optional(),
52
+ error: z.string().optional()
53
+ }).strict();
54
+ var snapshot = z.object({
55
+ id,
56
+ sessionId: id,
57
+ requestId: id,
58
+ createdAt: z.iso.datetime(),
59
+ status: z.enum(["running", "waiting", "blocked", "completed", "cancelled"]),
60
+ nodes: z.array(node).min(1).max(100),
61
+ edges: z.array(z.object({ source: id, target: id }).strict()).max(1e4),
62
+ cursor
63
+ }).strict();
64
+ function parse(schema, value) {
65
+ const parsed = schema.safeParse(value);
66
+ if (!parsed.success) throw new TypeError("Invalid durable graph payload.");
67
+ return parsed.data;
68
+ }
69
+ function parseDurableGraphSnapshot(value) {
70
+ const parsed = parse(snapshot, value);
71
+ const ids = new Set(parsed.nodes.map((node2) => node2.id));
72
+ if (ids.size !== parsed.nodes.length || new Set(parsed.nodes.map((node2) => node2.runId)).size !== parsed.nodes.length || parsed.edges.some((edge) => !ids.has(edge.source) || !ids.has(edge.target)))
73
+ throw new TypeError("Invalid durable graph topology.");
74
+ return parsed;
75
+ }
76
+ function parseDurableGraphListOptions(value) {
77
+ return parse(graphListSchema, value);
78
+ }
79
+ function parseDurableGraphPage(value) {
80
+ return parse(
81
+ z.object({
82
+ graphs: z.array(
83
+ z.object({ id, sessionId: id, requestId: id, createdAt: z.iso.datetime() }).strict()
84
+ ).max(100),
85
+ nextCursor: cursor.optional()
86
+ }).strict(),
87
+ value
88
+ );
89
+ }
90
+
91
+ // src/protocol.ts
92
+ var id2 = z2.string().refine((value) => value.trim().length > 0);
93
+ var cursor2 = z2.number().int().min(0).max(Number.MAX_SAFE_INTEGER);
94
+ var submission = z2.object({
95
+ agentId: id2,
96
+ sessionId: id2,
97
+ requestId: id2,
98
+ prompt: z2.string().min(1),
99
+ enqueue: z2.boolean().optional()
100
+ }).strict();
101
+ var response = z2.object({ interactionId: id2, response: agentInteractionResponseSchema }).strict();
102
+ var resolution = z2.object({ operationId: id2, output: z2.unknown() }).strict();
103
+ var event = z2.object({
104
+ sequence: cursor2,
105
+ runId: id2,
106
+ createdAt: z2.string(),
107
+ type: eventTypeSchema,
108
+ data: z2.unknown()
109
+ }).strict();
110
+ var summary = z2.object({
111
+ id: id2,
112
+ agentId: id2,
113
+ sessionId: id2,
114
+ requestId: id2,
115
+ status: runStatusSchema,
116
+ createdAt: z2.string(),
117
+ updatedAt: z2.string(),
118
+ error: z2.string().optional(),
119
+ blockedOperation: id2.optional(),
120
+ nextAttemptAt: z2.string().optional()
121
+ }).strict();
122
+ function parse2(schema, value, name) {
123
+ const result = schema.safeParse(value);
124
+ if (!result.success) throw new TypeError(`Invalid durable ${name}.`);
125
+ return result.data;
126
+ }
127
+ function parseDurableSubmission(value) {
128
+ return parse2(submission, value, "submission");
129
+ }
130
+ function parseDurableResponse(value) {
131
+ const body = parse2(response, value, "interaction response");
132
+ return {
133
+ interactionId: body.interactionId,
134
+ response: parseAgentInteractionResponse(body.response)
135
+ };
136
+ }
137
+ function parseDurableListOptions(value) {
138
+ return parse2(listOptionsSchema, value, "list query");
139
+ }
140
+ function parseDurableResolution(value) {
141
+ const input = parse2(resolution, value, "tool resolution");
142
+ try {
143
+ const message = parseMessage({
144
+ role: "tool",
145
+ content: [
146
+ {
147
+ type: "tool-result",
148
+ toolCallId: input.operationId,
149
+ toolName: "reconciled",
150
+ output: input.output
151
+ }
152
+ ]
153
+ });
154
+ if (message.role !== "tool" || message.content[0]?.type !== "tool-result") throw new Error();
155
+ return { operationId: input.operationId, output: message.content[0].output };
156
+ } catch {
157
+ throw new TypeError("Invalid durable tool result.");
158
+ }
159
+ }
160
+ function parseDurableSnapshot(value) {
161
+ const envelope = parse2(
162
+ z2.object({ run: z2.unknown(), operations: z2.array(z2.unknown()), cursor: cursor2 }).strict(),
163
+ value,
164
+ "snapshot"
165
+ );
166
+ return {
167
+ run: parseRun(envelope.run),
168
+ operations: envelope.operations.map(parseOperation),
169
+ cursor: envelope.cursor
170
+ };
171
+ }
172
+ function parseDurableEvent(value) {
173
+ const parsed = parse2(event, value, "event");
174
+ return { ...parsed, data: json(parsed.data) };
175
+ }
176
+ function parseDurableRunPage(value) {
177
+ return parse2(
178
+ z2.object({ runs: z2.array(summary).max(100), nextCursor: cursor2.optional() }).strict(),
179
+ value,
180
+ "run page"
181
+ );
182
+ }
183
+ function parseDurableGraphEvent(value) {
184
+ const { graphId, taskId, ...event2 } = parse2(
185
+ z2.object({ graphId: id2, taskId: id2 }).passthrough(),
186
+ value,
187
+ "graph event"
188
+ );
189
+ return { ...parseDurableEvent(event2), graphId, taskId };
190
+ }
191
+ export {
192
+ parseDurableEvent,
193
+ parseDurableGraphEvent,
194
+ parseDurableGraphListOptions,
195
+ parseDurableGraphPage,
196
+ parseDurableGraphSnapshot,
197
+ parseDurableGraphSubmission,
198
+ parseDurableListOptions,
199
+ parseDurableResolution,
200
+ parseDurableResponse,
201
+ parseDurableRunPage,
202
+ parseDurableSnapshot,
203
+ parseDurableSubmission,
204
+ parseTaskEvent,
205
+ parseTaskGraph,
206
+ parseTaskListOptions,
207
+ parseTaskPage,
208
+ parseTaskResolution,
209
+ parseTaskSignal,
210
+ parseTaskSnapshot,
211
+ parseTaskSubmission
212
+ };
213
+ //# sourceMappingURL=protocol.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/protocol.ts","../src/graph-protocol.ts"],"sourcesContent":["import type { DurableGraphEvent } from \"./graph-types.js\";\nimport { z } from \"zod\";\nimport {\n agentInteractionResponseSchema,\n parseAgentInteractionResponse,\n} from \"@anvia/core/agent/interactions\";\nimport { parseMessage, type ToolResultOutput } from \"@anvia/core/completion\";\nimport {\n eventTypeSchema,\n listOptionsSchema,\n parseOperation,\n parseRun,\n runStatusSchema,\n} from \"./schema.js\";\nimport { json } from \"./json.js\";\nimport type { DurableEvent, DurableListOptions, DurableRunPage, DurableSnapshot } from \"./types.js\";\n\nexport type {\n DurableEvent,\n DurableListOptions,\n DurableRunPage,\n DurableRunSummary,\n DurableSnapshot,\n DurableSubmission,\n DurableSubmitOptions,\n} from \"./types.js\";\n\nconst id = z.string().refine((value) => value.trim().length > 0);\nconst cursor = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER);\nconst submission = z\n .object({\n agentId: id,\n sessionId: id,\n requestId: id,\n prompt: z.string().min(1),\n enqueue: z.boolean().optional(),\n })\n .strict();\nconst response = z.object({ interactionId: id, response: agentInteractionResponseSchema }).strict();\nconst resolution = z.object({ operationId: id, output: z.unknown() }).strict();\nconst event = z\n .object({\n sequence: cursor,\n runId: id,\n createdAt: z.string(),\n type: eventTypeSchema,\n data: z.unknown(),\n })\n .strict();\nconst summary = z\n .object({\n id,\n agentId: id,\n sessionId: id,\n requestId: id,\n status: runStatusSchema,\n createdAt: z.string(),\n updatedAt: z.string(),\n error: z.string().optional(),\n blockedOperation: id.optional(),\n nextAttemptAt: z.string().optional(),\n })\n .strict();\n\nfunction parse<T>(schema: z.ZodType<T>, value: unknown, name: string): T {\n const result = schema.safeParse(value);\n if (!result.success) throw new TypeError(`Invalid durable ${name}.`);\n return result.data;\n}\n\nexport function parseDurableSubmission(value: unknown) {\n return parse(submission, value, \"submission\");\n}\nexport function parseDurableResponse(value: unknown) {\n const body = parse(response, value, \"interaction response\");\n return {\n interactionId: body.interactionId,\n response: parseAgentInteractionResponse(body.response),\n };\n}\nexport function parseDurableListOptions(value: unknown): DurableListOptions {\n return parse(listOptionsSchema, value, \"list query\");\n}\nexport function parseDurableResolution(value: unknown): {\n operationId: string;\n output: ToolResultOutput;\n} {\n const input = parse(resolution, value, \"tool resolution\");\n try {\n const message = parseMessage({\n role: \"tool\",\n content: [\n {\n type: \"tool-result\",\n toolCallId: input.operationId,\n toolName: \"reconciled\",\n output: input.output,\n },\n ],\n });\n if (message.role !== \"tool\" || message.content[0]?.type !== \"tool-result\") throw new Error();\n return { operationId: input.operationId, output: message.content[0].output };\n } catch {\n throw new TypeError(\"Invalid durable tool result.\");\n }\n}\nexport function parseDurableSnapshot(value: unknown): DurableSnapshot {\n const envelope = parse(\n z.object({ run: z.unknown(), operations: z.array(z.unknown()), cursor }).strict(),\n value,\n \"snapshot\",\n );\n return {\n run: parseRun(envelope.run),\n operations: envelope.operations.map(parseOperation),\n cursor: envelope.cursor,\n };\n}\nexport function parseDurableEvent(value: unknown): DurableEvent {\n const parsed = parse(event, value, \"event\");\n return { ...parsed, data: json(parsed.data) };\n}\nexport function parseDurableRunPage(value: unknown): DurableRunPage {\n return parse(\n z.object({ runs: z.array(summary).max(100), nextCursor: cursor.optional() }).strict(),\n value,\n \"run page\",\n ) as DurableRunPage;\n}\nexport {\n parseDurableGraphSubmission,\n parseDurableGraphSnapshot,\n parseDurableGraphListOptions,\n parseDurableGraphPage,\n} from \"./graph-protocol.js\";\nexport type {\n DurableTask,\n DurableGraphSubmission,\n DurableGraphSnapshot,\n DurableGraphNode,\n DurableGraphEvent,\n DurableTaskWait,\n DurableGraphPage,\n DurableGraphListOptions,\n} from \"./graph-types.js\";\n\nexport function parseDurableGraphEvent(value: unknown): DurableGraphEvent {\n const { graphId, taskId, ...event } = parse(\n z.object({ graphId: id, taskId: id }).passthrough(),\n value,\n \"graph event\",\n );\n return { ...parseDurableEvent(event), graphId, taskId };\n}\n\nexport * from \"./task-protocol.js\";\n","import { z } from \"zod\";\nimport { agentInteractionRequestSchema } from \"@anvia/core/agent/interactions\";\nimport { isJsonValue, type JsonValue } from \"@anvia/core/completion\";\nimport { runStatusSchema } from \"./schema.js\";\nimport { graphListSchema } from \"./graph-schema.js\";\nimport type {\n DurableGraphSnapshot,\n DurableGraphListOptions,\n DurableGraphPage,\n} from \"./graph-types.js\";\n\nexport { parseDurableGraphSubmission } from \"./graph-schema.js\";\nexport type {\n DurableTask,\n DurableGraphSubmission,\n DurableGraphSnapshot,\n DurableGraphNode,\n DurableGraphEvent,\n DurableTaskWait,\n DurableGraphPage,\n DurableGraphListOptions,\n} from \"./graph-types.js\";\nconst id = z.string().min(1);\nconst cursor = z.number().int().min(0).max(Number.MAX_SAFE_INTEGER);\nconst wait = z.discriminatedUnion(\"type\", [\n z.object({ type: z.literal(\"dependencies\"), taskIds: z.array(id).min(1).max(100) }).strict(),\n z.object({ type: z.literal(\"dependency_failed\"), taskIds: z.array(id).min(1).max(100) }).strict(),\n z.object({ type: z.literal(\"capacity\") }).strict(),\n z.object({ type: z.literal(\"interaction\"), interactionId: id }).strict(),\n z.object({ type: z.literal(\"retry\"), until: z.iso.datetime() }).strict(),\n z.object({ type: z.literal(\"recovery\"), operationId: id.optional() }).strict(),\n]);\nconst node = z\n .object({\n id,\n agentId: id,\n runId: id,\n status: runStatusSchema,\n wait: wait.optional(),\n output: z.custom<JsonValue>(isJsonValue).optional(),\n interaction: agentInteractionRequestSchema.optional(),\n error: z.string().optional(),\n })\n .strict();\nconst snapshot = z\n .object({\n id,\n sessionId: id,\n requestId: id,\n createdAt: z.iso.datetime(),\n status: z.enum([\"running\", \"waiting\", \"blocked\", \"completed\", \"cancelled\"]),\n nodes: z.array(node).min(1).max(100),\n edges: z.array(z.object({ source: id, target: id }).strict()).max(10_000),\n cursor,\n })\n .strict();\nfunction parse<T>(schema: z.ZodType<T>, value: unknown): T {\n const parsed = schema.safeParse(value);\n if (!parsed.success) throw new TypeError(\"Invalid durable graph payload.\");\n return parsed.data;\n}\nexport function parseDurableGraphSnapshot(value: unknown): DurableGraphSnapshot {\n const parsed = parse(snapshot, value);\n const ids = new Set(parsed.nodes.map((node) => node.id));\n if (\n ids.size !== parsed.nodes.length ||\n new Set(parsed.nodes.map((node) => node.runId)).size !== parsed.nodes.length ||\n parsed.edges.some((edge) => !ids.has(edge.source) || !ids.has(edge.target))\n )\n throw new TypeError(\"Invalid durable graph topology.\");\n return parsed as DurableGraphSnapshot;\n}\nexport function parseDurableGraphListOptions(value: unknown): DurableGraphListOptions {\n return parse(graphListSchema, value);\n}\nexport function parseDurableGraphPage(value: unknown): DurableGraphPage {\n return parse(\n z\n .object({\n graphs: z\n .array(\n z.object({ id, sessionId: id, requestId: id, createdAt: z.iso.datetime() }).strict(),\n )\n .max(100),\n nextCursor: cursor.optional(),\n })\n .strict(),\n value,\n ) as DurableGraphPage;\n}\n"],"mappings":"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","names":["z","node","id","z","cursor","parse","event"]}
@@ -0,0 +1,40 @@
1
+ import { d as DurableStore, G as DurableTransaction, u as DurableMetrics, q as DurableGraphListOptions, r as DurableGraphPage, l as TaskListOptions, m as TaskPage, a as DurableEvent, s as DurableListOptions, t as DurableRunPage } from './types-CBjKEKQ7.js';
2
+ import '@anvia/core/agent/interactions';
3
+ import '@anvia/core/completion';
4
+ import 'zod';
5
+ import '@anvia/core/agent';
6
+
7
+ /** SQLite storage for one host and one runtime owner. Use a dedicated local database file. */
8
+ declare class SqliteDurableStore implements DurableStore {
9
+ private readonly database;
10
+ private readonly token;
11
+ private acquired;
12
+ private closed;
13
+ private inTransaction;
14
+ constructor(path: string);
15
+ acquire(): void;
16
+ close(): void;
17
+ transaction<T>(callback: (tx: DurableTransaction) => T): T;
18
+ metrics(): DurableMetrics;
19
+ listGraphs(input: DurableGraphListOptions): DurableGraphPage;
20
+ listTasks(options: TaskListOptions): TaskPage;
21
+ scheduleTasks(excluded: readonly string[], limit: number): string[];
22
+ unsettledTaskRoots(after: number): {
23
+ ids: string[];
24
+ cursor?: number;
25
+ };
26
+ taskEvents(rootId: string, after: number, limit: number): DurableEvent[];
27
+ graphEvents(graphId: string, after: number, limit: number): DurableEvent[];
28
+ list(input: DurableListOptions): DurableRunPage;
29
+ schedule(now: string, limit: number, excludedSessions: readonly string[]): {
30
+ ids: string[];
31
+ nextAttemptAt?: string;
32
+ };
33
+ events(runId: string, after: number, limit: number): DurableEvent[];
34
+ private transactionApi;
35
+ private atomic;
36
+ private assertOpen;
37
+ private assertOwner;
38
+ }
39
+
40
+ export { SqliteDurableStore };
package/dist/sqlite.js ADDED
@@ -0,0 +1,8 @@
1
+ import {
2
+ SqliteDurableStore
3
+ } from "./chunk-7WOOJGHA.js";
4
+ import "./chunk-KIMHK6CE.js";
5
+ export {
6
+ SqliteDurableStore
7
+ };
8
+ //# sourceMappingURL=sqlite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,38 @@
1
+ import { z } from 'zod';
2
+ import { JsonValue } from '@anvia/core/completion';
3
+ import { T as TaskRecord, f as DurableOperation, h as TaskEvent, g as TaskGraphSnapshot, m as TaskPage } from './types-CBjKEKQ7.js';
4
+
5
+ type TaskSnapshot = {
6
+ task: TaskRecord;
7
+ operations: DurableOperation[];
8
+ cursor: number;
9
+ };
10
+ declare const submission: z.ZodObject<{
11
+ name: z.ZodString;
12
+ version: z.ZodNumber;
13
+ sessionId: z.ZodString;
14
+ requestId: z.ZodString;
15
+ input: z.ZodCustom<JsonValue, JsonValue>;
16
+ }, z.core.$strict>;
17
+ type TaskSubmission = z.infer<typeof submission>;
18
+ declare const parseTaskSubmission: (value: unknown) => TaskSubmission;
19
+ declare const parseTaskListOptions: (value: unknown) => {
20
+ sessionId?: string | undefined;
21
+ after?: number | undefined;
22
+ limit?: number | undefined;
23
+ };
24
+ declare const parseTaskSignal: (value: unknown) => {
25
+ name: string;
26
+ requestId: string;
27
+ value: JsonValue;
28
+ };
29
+ declare const parseTaskResolution: (value: unknown) => {
30
+ key: string;
31
+ value: JsonValue;
32
+ };
33
+ declare const parseTaskSnapshot: (value: unknown) => TaskSnapshot;
34
+ declare const parseTaskPage: (value: unknown) => TaskPage;
35
+ declare const parseTaskEvent: (value: unknown) => TaskEvent;
36
+ declare function parseTaskGraph(value: unknown): TaskGraphSnapshot;
37
+
38
+ export { type TaskSubmission as T, type TaskSnapshot as a, parseTaskGraph as b, parseTaskListOptions as c, parseTaskPage as d, parseTaskResolution as e, parseTaskSignal as f, parseTaskSnapshot as g, parseTaskSubmission as h, parseTaskEvent as p };