@zhivex-ai/core 1.17.0 → 1.19.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.
Files changed (272) hide show
  1. package/README.md +4 -0
  2. package/dist/agent/approvals.d.ts +7 -0
  3. package/dist/agent/approvals.d.ts.map +1 -0
  4. package/dist/agent/approvals.js +97 -0
  5. package/dist/agent/approvals.js.map +1 -0
  6. package/dist/agent/cancellation.d.ts +4 -0
  7. package/dist/agent/cancellation.d.ts.map +1 -0
  8. package/dist/agent/cancellation.js +69 -0
  9. package/dist/agent/cancellation.js.map +1 -0
  10. package/dist/agent/common.d.ts +20 -0
  11. package/dist/agent/common.d.ts.map +1 -0
  12. package/dist/agent/common.js +150 -0
  13. package/dist/agent/common.js.map +1 -0
  14. package/dist/agent/compaction.d.ts +6 -0
  15. package/dist/agent/compaction.d.ts.map +1 -0
  16. package/dist/agent/compaction.js +156 -0
  17. package/dist/agent/compaction.js.map +1 -0
  18. package/dist/agent/context.d.ts +58 -0
  19. package/dist/agent/context.d.ts.map +1 -0
  20. package/dist/agent/context.js +267 -0
  21. package/dist/agent/context.js.map +1 -0
  22. package/dist/agent/definition.d.ts +4 -0
  23. package/dist/agent/definition.d.ts.map +1 -0
  24. package/dist/agent/definition.js +35 -0
  25. package/dist/agent/definition.js.map +1 -0
  26. package/dist/agent/execution.d.ts +14 -0
  27. package/dist/agent/execution.d.ts.map +1 -0
  28. package/dist/agent/execution.js +1062 -0
  29. package/dist/agent/execution.js.map +1 -0
  30. package/dist/agent/groups.d.ts +3 -0
  31. package/dist/agent/groups.d.ts.map +1 -0
  32. package/dist/agent/groups.js +130 -0
  33. package/dist/agent/groups.js.map +1 -0
  34. package/dist/agent/guardrails.d.ts +4 -0
  35. package/dist/agent/guardrails.d.ts.map +1 -0
  36. package/dist/agent/guardrails.js +29 -0
  37. package/dist/agent/guardrails.js.map +1 -0
  38. package/dist/agent/instance.d.ts +42 -0
  39. package/dist/agent/instance.d.ts.map +1 -0
  40. package/dist/agent/instance.js +82 -0
  41. package/dist/agent/instance.js.map +1 -0
  42. package/dist/agent/lifecycle.d.ts +31 -0
  43. package/dist/agent/lifecycle.d.ts.map +1 -0
  44. package/dist/agent/lifecycle.js +184 -0
  45. package/dist/agent/lifecycle.js.map +1 -0
  46. package/dist/agent/state.d.ts +6 -0
  47. package/dist/agent/state.d.ts.map +1 -0
  48. package/dist/agent/state.js +119 -0
  49. package/dist/agent/state.js.map +1 -0
  50. package/dist/agent/telemetry.d.ts +12 -0
  51. package/dist/agent/telemetry.d.ts.map +1 -0
  52. package/dist/agent/telemetry.js +176 -0
  53. package/dist/agent/telemetry.js.map +1 -0
  54. package/dist/agent/tool-execution.d.ts +6 -0
  55. package/dist/agent/tool-execution.d.ts.map +1 -0
  56. package/dist/agent/tool-execution.js +176 -0
  57. package/dist/agent/tool-execution.js.map +1 -0
  58. package/dist/agent-evaluation.d.ts.map +1 -1
  59. package/dist/agent-evaluation.js +2 -0
  60. package/dist/agent-evaluation.js.map +1 -1
  61. package/dist/agent-reconciliation.d.ts +12 -0
  62. package/dist/agent-reconciliation.d.ts.map +1 -0
  63. package/dist/agent-reconciliation.js +87 -0
  64. package/dist/agent-reconciliation.js.map +1 -0
  65. package/dist/agent-run-view.d.ts +9 -0
  66. package/dist/agent-run-view.d.ts.map +1 -0
  67. package/dist/agent-run-view.js +42 -0
  68. package/dist/agent-run-view.js.map +1 -0
  69. package/dist/agent-state.d.ts.map +1 -1
  70. package/dist/agent-state.js +34 -0
  71. package/dist/agent-state.js.map +1 -1
  72. package/dist/agent-store/file.d.ts +11 -0
  73. package/dist/agent-store/file.d.ts.map +1 -0
  74. package/dist/agent-store/file.js +534 -0
  75. package/dist/agent-store/file.js.map +1 -0
  76. package/dist/agent-store/memory.d.ts +9 -0
  77. package/dist/agent-store/memory.d.ts.map +1 -0
  78. package/dist/agent-store/memory.js +198 -0
  79. package/dist/agent-store/memory.js.map +1 -0
  80. package/dist/agent-store/postgres.d.ts +4 -0
  81. package/dist/agent-store/postgres.d.ts.map +1 -0
  82. package/dist/agent-store/postgres.js +374 -0
  83. package/dist/agent-store/postgres.js.map +1 -0
  84. package/dist/agent-store/shared.d.ts +19 -0
  85. package/dist/agent-store/shared.d.ts.map +1 -0
  86. package/dist/agent-store/shared.js +137 -0
  87. package/dist/agent-store/shared.js.map +1 -0
  88. package/dist/agent-store/sqlite.d.ts +4 -0
  89. package/dist/agent-store/sqlite.d.ts.map +1 -0
  90. package/dist/agent-store/sqlite.js +362 -0
  91. package/dist/agent-store/sqlite.js.map +1 -0
  92. package/dist/agent-store.d.ts +5 -21
  93. package/dist/agent-store.d.ts.map +1 -1
  94. package/dist/agent-store.js +5 -1540
  95. package/dist/agent-store.js.map +1 -1
  96. package/dist/agent.d.ts +6 -57
  97. package/dist/agent.d.ts.map +1 -1
  98. package/dist/agent.js +6 -2622
  99. package/dist/agent.js.map +1 -1
  100. package/dist/agents-entry.d.ts +19 -0
  101. package/dist/agents-entry.d.ts.map +1 -0
  102. package/dist/agents-entry.js +14 -0
  103. package/dist/agents-entry.js.map +1 -0
  104. package/dist/api-stability.d.ts.map +1 -1
  105. package/dist/api-stability.js +1 -0
  106. package/dist/api-stability.js.map +1 -1
  107. package/dist/artifact/file.d.ts +6 -0
  108. package/dist/artifact/file.d.ts.map +1 -0
  109. package/dist/artifact/file.js +380 -0
  110. package/dist/artifact/file.js.map +1 -0
  111. package/dist/artifact/memory.d.ts +3 -0
  112. package/dist/artifact/memory.d.ts.map +1 -0
  113. package/dist/artifact/memory.js +80 -0
  114. package/dist/artifact/memory.js.map +1 -0
  115. package/dist/artifact/postgres.d.ts +3 -0
  116. package/dist/artifact/postgres.d.ts.map +1 -0
  117. package/dist/artifact/postgres.js +283 -0
  118. package/dist/artifact/postgres.js.map +1 -0
  119. package/dist/artifact/shared.d.ts +208 -0
  120. package/dist/artifact/shared.d.ts.map +1 -0
  121. package/dist/artifact/shared.js +523 -0
  122. package/dist/artifact/shared.js.map +1 -0
  123. package/dist/artifact/sqlite.d.ts +3 -0
  124. package/dist/artifact/sqlite.d.ts.map +1 -0
  125. package/dist/artifact/sqlite.js +283 -0
  126. package/dist/artifact/sqlite.js.map +1 -0
  127. package/dist/artifact.d.ts +6 -186
  128. package/dist/artifact.d.ts.map +1 -1
  129. package/dist/artifact.js +6 -1536
  130. package/dist/artifact.js.map +1 -1
  131. package/dist/catalog-contracts.d.ts +52 -0
  132. package/dist/catalog-contracts.d.ts.map +1 -0
  133. package/dist/catalog-contracts.js +250 -0
  134. package/dist/catalog-contracts.js.map +1 -0
  135. package/dist/catalog.d.ts +3 -52
  136. package/dist/catalog.d.ts.map +1 -1
  137. package/dist/catalog.js +3 -249
  138. package/dist/catalog.js.map +1 -1
  139. package/dist/generate-cache-file.d.ts +11 -0
  140. package/dist/generate-cache-file.d.ts.map +1 -0
  141. package/dist/generate-cache-file.js +124 -0
  142. package/dist/generate-cache-file.js.map +1 -0
  143. package/dist/generate-text.d.ts +2 -5
  144. package/dist/generate-text.d.ts.map +1 -1
  145. package/dist/generate-text.js +3 -18
  146. package/dist/generate-text.js.map +1 -1
  147. package/dist/generation-entry.d.ts +6 -0
  148. package/dist/generation-entry.d.ts.map +1 -0
  149. package/dist/generation-entry.js +6 -0
  150. package/dist/generation-entry.js.map +1 -0
  151. package/dist/index.d.ts +3 -0
  152. package/dist/index.d.ts.map +1 -1
  153. package/dist/index.js +1 -0
  154. package/dist/index.js.map +1 -1
  155. package/dist/middleware-runtime.d.ts +35 -0
  156. package/dist/middleware-runtime.d.ts.map +1 -0
  157. package/dist/middleware-runtime.js +532 -0
  158. package/dist/middleware-runtime.js.map +1 -0
  159. package/dist/middleware.d.ts +3 -43
  160. package/dist/middleware.d.ts.map +1 -1
  161. package/dist/middleware.js +3 -653
  162. package/dist/middleware.js.map +1 -1
  163. package/dist/normalize-messages.d.ts +3 -0
  164. package/dist/normalize-messages.d.ts.map +1 -0
  165. package/dist/normalize-messages.js +16 -0
  166. package/dist/normalize-messages.js.map +1 -0
  167. package/dist/provider-entry.d.ts +17 -0
  168. package/dist/provider-entry.d.ts.map +1 -0
  169. package/dist/provider-entry.js +13 -0
  170. package/dist/provider-entry.js.map +1 -0
  171. package/dist/realtime.d.ts +2 -0
  172. package/dist/realtime.d.ts.map +1 -1
  173. package/dist/realtime.js +6 -0
  174. package/dist/realtime.js.map +1 -1
  175. package/dist/store-key.d.ts +3 -0
  176. package/dist/store-key.d.ts.map +1 -0
  177. package/dist/store-key.js +5 -0
  178. package/dist/store-key.js.map +1 -0
  179. package/dist/store-security.d.ts +1 -2
  180. package/dist/store-security.d.ts.map +1 -1
  181. package/dist/store-security.js +2 -4
  182. package/dist/store-security.js.map +1 -1
  183. package/dist/types/agent-state.d.ts +236 -0
  184. package/dist/types/agent-state.d.ts.map +1 -0
  185. package/dist/types/agent-state.js +2 -0
  186. package/dist/types/agent-state.js.map +1 -0
  187. package/dist/types/agents.d.ts +429 -0
  188. package/dist/types/agents.d.ts.map +1 -0
  189. package/dist/types/agents.js +2 -0
  190. package/dist/types/agents.js.map +1 -0
  191. package/dist/types/common.d.ts +179 -0
  192. package/dist/types/common.d.ts.map +1 -0
  193. package/dist/types/common.js +2 -0
  194. package/dist/types/common.js.map +1 -0
  195. package/dist/types/generation.d.ts +109 -0
  196. package/dist/types/generation.d.ts.map +1 -0
  197. package/dist/types/generation.js +2 -0
  198. package/dist/types/generation.js.map +1 -0
  199. package/dist/types/media-data.d.ts +65 -0
  200. package/dist/types/media-data.d.ts.map +1 -0
  201. package/dist/types/media-data.js +2 -0
  202. package/dist/types/media-data.js.map +1 -0
  203. package/dist/types/media.d.ts +141 -0
  204. package/dist/types/media.d.ts.map +1 -0
  205. package/dist/types/media.js +2 -0
  206. package/dist/types/media.js.map +1 -0
  207. package/dist/types/messages.d.ts +82 -0
  208. package/dist/types/messages.d.ts.map +1 -0
  209. package/dist/types/messages.js +2 -0
  210. package/dist/types/messages.js.map +1 -0
  211. package/dist/types/middleware.d.ts +130 -0
  212. package/dist/types/middleware.d.ts.map +1 -0
  213. package/dist/types/middleware.js +2 -0
  214. package/dist/types/middleware.js.map +1 -0
  215. package/dist/types/model-tools.d.ts +409 -0
  216. package/dist/types/model-tools.d.ts.map +1 -0
  217. package/dist/types/model-tools.js +2 -0
  218. package/dist/types/model-tools.js.map +1 -0
  219. package/dist/types/persistence.d.ts +168 -0
  220. package/dist/types/persistence.d.ts.map +1 -0
  221. package/dist/types/persistence.js +2 -0
  222. package/dist/types/persistence.js.map +1 -0
  223. package/dist/types/provider-resources.d.ts +336 -0
  224. package/dist/types/provider-resources.d.ts.map +1 -0
  225. package/dist/types/provider-resources.js +2 -0
  226. package/dist/types/provider-resources.js.map +1 -0
  227. package/dist/types/provider.d.ts +23 -0
  228. package/dist/types/provider.d.ts.map +1 -0
  229. package/dist/types/provider.js +2 -0
  230. package/dist/types/provider.js.map +1 -0
  231. package/dist/types/resource-options.d.ts +88 -0
  232. package/dist/types/resource-options.d.ts.map +1 -0
  233. package/dist/types/resource-options.js +2 -0
  234. package/dist/types/resource-options.js.map +1 -0
  235. package/dist/types/stream.d.ts +70 -0
  236. package/dist/types/stream.d.ts.map +1 -0
  237. package/dist/types/stream.js +2 -0
  238. package/dist/types/stream.js.map +1 -0
  239. package/dist/types/ui.d.ts +110 -0
  240. package/dist/types/ui.d.ts.map +1 -0
  241. package/dist/types/ui.js +2 -0
  242. package/dist/types/ui.js.map +1 -0
  243. package/dist/types.d.ts +16 -2442
  244. package/dist/types.d.ts.map +1 -1
  245. package/dist/ui.d.ts.map +1 -1
  246. package/dist/ui.js +2 -0
  247. package/dist/ui.js.map +1 -1
  248. package/dist/workflow-state-service/file.d.ts +5 -0
  249. package/dist/workflow-state-service/file.d.ts.map +1 -0
  250. package/dist/workflow-state-service/file.js +142 -0
  251. package/dist/workflow-state-service/file.js.map +1 -0
  252. package/dist/workflow-state-service/memory.d.ts +3 -0
  253. package/dist/workflow-state-service/memory.d.ts.map +1 -0
  254. package/dist/workflow-state-service/memory.js +27 -0
  255. package/dist/workflow-state-service/memory.js.map +1 -0
  256. package/dist/workflow-state-service/postgres.d.ts +4 -0
  257. package/dist/workflow-state-service/postgres.d.ts.map +1 -0
  258. package/dist/workflow-state-service/postgres.js +179 -0
  259. package/dist/workflow-state-service/postgres.js.map +1 -0
  260. package/dist/workflow-state-service/shared.d.ts +43 -0
  261. package/dist/workflow-state-service/shared.d.ts.map +1 -0
  262. package/dist/workflow-state-service/shared.js +107 -0
  263. package/dist/workflow-state-service/shared.js.map +1 -0
  264. package/dist/workflow-state-service/sqlite.d.ts +4 -0
  265. package/dist/workflow-state-service/sqlite.d.ts.map +1 -0
  266. package/dist/workflow-state-service/sqlite.js +183 -0
  267. package/dist/workflow-state-service/sqlite.js.map +1 -0
  268. package/dist/workflow-state-service.d.ts +6 -33
  269. package/dist/workflow-state-service.d.ts.map +1 -1
  270. package/dist/workflow-state-service.js +6 -626
  271. package/dist/workflow-state-service.js.map +1 -1
  272. package/package.json +17 -1
@@ -1 +1 @@
1
- {"version":3,"file":"agent-state.js","sourceRoot":"","sources":["../src/agent-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-state.js","sourceRoot":"","sources":["../src/agent-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { AgentMemoryContext, AgentMemoryStore, AgentRunState, AgentRunStore, AgentRunStoreScopeOptions, AgentStoreScope, ModelMessage } from "../types.js";
2
+ export declare const createFileAgentRunStore: (options: AgentRunStoreScopeOptions & {
3
+ directory: string;
4
+ }) => AgentRunStore;
5
+ export declare const createFileAgentMemoryStore: (options: {
6
+ directory: string;
7
+ key?: (context: AgentMemoryContext) => string;
8
+ selectMessages?: (state: AgentRunState) => ModelMessage[];
9
+ scope?: AgentStoreScope;
10
+ }) => AgentMemoryStore;
11
+ //# sourceMappingURL=file.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.d.ts","sourceRoot":"","sources":["../../src/agent-store/file.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAClB,gBAAgB,EAGhB,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,eAAe,EAEf,YAAY,EACb,MAAM,aAAa,CAAC;AAwLrB,eAAO,MAAM,uBAAuB,YAAa,yBAAyB,GAAG;IAC3E,SAAS,EAAE,MAAM,CAAC;CACnB,KAAG,aAoUH,CAAC;AAEF,eAAO,MAAM,0BAA0B,YAAa;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAC;IAC9C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,YAAY,EAAE,CAAC;IAC1D,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,KAAG,gBAwBH,CAAC"}
@@ -0,0 +1,534 @@
1
+ import { constants, promises as fs } from "node:fs";
2
+ import { createHash, randomUUID } from "node:crypto";
3
+ import path from "node:path";
4
+ import { normalizeAgentRunState } from "../agent-state.js";
5
+ import { ConflictError, ValidationError } from "../errors.js";
6
+ import { ensurePrivateDirectory, writePrivateFile } from "../store-security.js";
7
+ import { resolveScope, scopedKey, sameScope, assertLeaseOwner, assertExpectedRevision, nextStoredState, listStates, validateLeaseOptions, assertJournalRevision, nextJournalEntry, defaultMemoryKey, defaultMemoryMessages } from "./shared.js";
8
+ const fileNameForAgentStoreKey = (key) => `${encodeURIComponent(key)}.json`;
9
+ const fileNameForIdempotencyKey = (key) => `.idempotency-${createHash("sha256").update(key).digest("hex")}.json`;
10
+ const FILE_RUN_LOCK_TIMEOUT_MS = 2_000;
11
+ const FILE_RUN_LOCK_RETRY_MS = 10;
12
+ const FILE_RUN_LOCK_STALE_MS = 30_000;
13
+ const waitForFileRunLock = () => new Promise((resolve) => {
14
+ setTimeout(resolve, FILE_RUN_LOCK_RETRY_MS);
15
+ });
16
+ const parseFileRunStoreLock = (value) => {
17
+ try {
18
+ const lock = JSON.parse(value);
19
+ return typeof lock.ownerId === "string" &&
20
+ Number.isSafeInteger(lock.pid) &&
21
+ lock.pid > 0 &&
22
+ Number.isFinite(lock.createdAt)
23
+ ? lock
24
+ : undefined;
25
+ }
26
+ catch {
27
+ return undefined;
28
+ }
29
+ };
30
+ const isProcessAlive = (pid) => {
31
+ try {
32
+ process.kill(pid, 0);
33
+ return true;
34
+ }
35
+ catch (error) {
36
+ return error.code !== "ESRCH";
37
+ }
38
+ };
39
+ const readFileRunStoreLock = async (lockPath) => {
40
+ let handle;
41
+ try {
42
+ handle = await fs.open(lockPath, constants.O_RDONLY | constants.O_NOFOLLOW);
43
+ const stats = await handle.stat();
44
+ return {
45
+ lock: parseFileRunStoreLock(await handle.readFile("utf8")),
46
+ modifiedAt: stats.mtimeMs
47
+ };
48
+ }
49
+ catch (error) {
50
+ if (error.code === "ENOENT") {
51
+ return undefined;
52
+ }
53
+ if (error.code === "ELOOP") {
54
+ throw new ValidationError("Refusing to follow a file AgentRunStore lock symlink.");
55
+ }
56
+ throw error;
57
+ }
58
+ finally {
59
+ await handle?.close().catch(() => undefined);
60
+ }
61
+ };
62
+ const removeFileRunStoreLock = async (lockPath, ownerId) => {
63
+ const current = await readFileRunStoreLock(lockPath);
64
+ if (current?.lock?.ownerId !== ownerId) {
65
+ return false;
66
+ }
67
+ try {
68
+ await fs.unlink(lockPath);
69
+ return true;
70
+ }
71
+ catch (error) {
72
+ if (error.code === "ENOENT") {
73
+ return false;
74
+ }
75
+ throw error;
76
+ }
77
+ };
78
+ const recoverFileRunStoreLock = async (lockPath) => {
79
+ const current = await readFileRunStoreLock(lockPath);
80
+ if (!current) {
81
+ return true;
82
+ }
83
+ const malformedAndStale = !current.lock && Date.now() - current.modifiedAt >= FILE_RUN_LOCK_STALE_MS;
84
+ const ownerExited = current.lock ? !isProcessAlive(current.lock.pid) : false;
85
+ // Never steal an old lock from a live owner: a large local store can make a
86
+ // legitimate CAS operation exceed the stale threshold. The age fallback is
87
+ // reserved for malformed locks that have no verifiable owner.
88
+ if (!malformedAndStale && !ownerExited) {
89
+ return false;
90
+ }
91
+ const recoveryId = createHash("sha256")
92
+ .update(current.lock?.ownerId ?? "malformed")
93
+ .digest("hex");
94
+ const recoveryPath = `${lockPath}.${recoveryId}.recovery`;
95
+ try {
96
+ await fs.link(lockPath, recoveryPath);
97
+ }
98
+ catch (error) {
99
+ if (error.code === "ENOENT") {
100
+ return true;
101
+ }
102
+ if (error.code === "EEXIST") {
103
+ return false;
104
+ }
105
+ throw error;
106
+ }
107
+ try {
108
+ const [lockStats, recoveryStats] = await Promise.all([
109
+ fs.lstat(lockPath),
110
+ fs.lstat(recoveryPath)
111
+ ]);
112
+ if (lockStats.dev !== recoveryStats.dev || lockStats.ino !== recoveryStats.ino) {
113
+ return false;
114
+ }
115
+ const verified = await readFileRunStoreLock(lockPath);
116
+ if (current.lock?.ownerId !== verified?.lock?.ownerId ||
117
+ (!current.lock && verified?.lock)) {
118
+ return false;
119
+ }
120
+ await fs.unlink(lockPath);
121
+ return true;
122
+ }
123
+ catch (error) {
124
+ if (error.code === "ENOENT") {
125
+ return true;
126
+ }
127
+ throw error;
128
+ }
129
+ finally {
130
+ await fs.unlink(recoveryPath).catch((error) => {
131
+ if (error.code !== "ENOENT")
132
+ throw error;
133
+ });
134
+ }
135
+ };
136
+ const acquireFileRunStoreLock = async (lockPath) => {
137
+ const ownerId = randomUUID();
138
+ const startedAt = Date.now();
139
+ const lock = { ownerId, pid: process.pid, createdAt: startedAt };
140
+ while (true) {
141
+ try {
142
+ await writePrivateFile(lockPath, JSON.stringify(lock), { flag: "wx" });
143
+ return async () => {
144
+ await removeFileRunStoreLock(lockPath, ownerId);
145
+ };
146
+ }
147
+ catch (error) {
148
+ if (error.code !== "EEXIST") {
149
+ throw error;
150
+ }
151
+ }
152
+ if (await recoverFileRunStoreLock(lockPath)) {
153
+ continue;
154
+ }
155
+ if (Date.now() - startedAt >= FILE_RUN_LOCK_TIMEOUT_MS) {
156
+ throw new ConflictError("Timed out acquiring the file AgentRunStore revision lock.");
157
+ }
158
+ await waitForFileRunLock();
159
+ }
160
+ };
161
+ export const createFileAgentRunStore = (options) => {
162
+ const effectiveScope = (scope) => resolveScope(options.scope, scope);
163
+ const runPath = (runId, scope) => path.join(options.directory, fileNameForAgentStoreKey(scopedKey(effectiveScope(scope), runId)));
164
+ const idempotencyPath = (key, scope) => path.join(options.directory, fileNameForIdempotencyKey(scopedKey(effectiveScope(scope), key)));
165
+ const leasePath = (runId, scope) => path.join(options.directory, `.lease-${createHash("sha256").update(scopedKey(effectiveScope(scope), runId)).digest("hex")}.json`);
166
+ const toolPath = (runId, toolCallId, scope) => path.join(options.directory, `.tool-${createHash("sha256").update(`${scopedKey(effectiveScope(scope), runId)}:${toolCallId}`).digest("hex")}.json`);
167
+ const revisionLockPath = (runId, scope) => path.join(options.directory, `.run-lock-${createHash("sha256").update(scopedKey(effectiveScope(scope), runId)).digest("hex")}.lock`);
168
+ const load = async (runId, scope) => {
169
+ try {
170
+ const content = await fs.readFile(runPath(runId, scope), "utf8");
171
+ return normalizeAgentRunState(JSON.parse(content));
172
+ }
173
+ catch (error) {
174
+ if (error.code === "ENOENT") {
175
+ return undefined;
176
+ }
177
+ throw error;
178
+ }
179
+ };
180
+ const findByIdempotencyKey = async (idempotencyKey, scope) => {
181
+ const targetScope = effectiveScope(scope);
182
+ try {
183
+ const marker = await fs.readFile(idempotencyPath(idempotencyKey, scope), "utf8");
184
+ const claimed = normalizeAgentRunState(JSON.parse(marker));
185
+ return (await load(claimed.runId, scope)) ?? claimed;
186
+ }
187
+ catch (error) {
188
+ if (error.code !== "ENOENT") {
189
+ throw error;
190
+ }
191
+ }
192
+ let entries;
193
+ try {
194
+ entries = await fs.readdir(options.directory);
195
+ }
196
+ catch (error) {
197
+ return error.code === "ENOENT" ? undefined : Promise.reject(error);
198
+ }
199
+ for (const entry of entries) {
200
+ if (!entry.endsWith(".json") || entry.startsWith(".")) {
201
+ continue;
202
+ }
203
+ const content = await fs.readFile(path.join(options.directory, entry), "utf8");
204
+ const state = normalizeAgentRunState(JSON.parse(content));
205
+ if (state.idempotencyKey === idempotencyKey && (!targetScope || (state.scope && sameScope(state.scope, targetScope)))) {
206
+ return state;
207
+ }
208
+ }
209
+ return undefined;
210
+ };
211
+ return {
212
+ reconciliationFencing: true,
213
+ load,
214
+ findByIdempotencyKey,
215
+ async findByParentRunId(parentRunId, scope) {
216
+ const targetScope = effectiveScope(scope);
217
+ let entries;
218
+ try {
219
+ entries = await fs.readdir(options.directory);
220
+ }
221
+ catch (error) {
222
+ if (error.code === "ENOENT") {
223
+ return [];
224
+ }
225
+ throw error;
226
+ }
227
+ const states = [];
228
+ for (const entry of entries) {
229
+ if (!entry.endsWith(".json") || entry.startsWith(".")) {
230
+ continue;
231
+ }
232
+ const content = await fs.readFile(path.join(options.directory, entry), "utf8");
233
+ const state = normalizeAgentRunState(JSON.parse(content));
234
+ if (state.parentRunId === parentRunId && (!targetScope || (state.scope && sameScope(state.scope, targetScope)))) {
235
+ states.push(state);
236
+ }
237
+ }
238
+ return states;
239
+ },
240
+ async claimIdempotencyKey(state) {
241
+ await ensurePrivateDirectory(options.directory);
242
+ const scope = effectiveScope(state.scope);
243
+ const normalized = normalizeAgentRunState({ ...state, ...(scope ? { scope } : {}) });
244
+ try {
245
+ await writePrivateFile(idempotencyPath(state.idempotencyKey, scope), JSON.stringify(normalized, null, 2), { flag: "wx" });
246
+ await writePrivateFile(runPath(normalized.runId, scope), JSON.stringify(normalized, null, 2));
247
+ return { claimed: true, state: normalized };
248
+ }
249
+ catch (error) {
250
+ if (error.code !== "EEXIST") {
251
+ throw error;
252
+ }
253
+ const existing = await findByIdempotencyKey(state.idempotencyKey, scope);
254
+ if (!existing) {
255
+ throw new ConflictError("AgentRunState idempotency claim could not be loaded.");
256
+ }
257
+ return { claimed: false, state: existing };
258
+ }
259
+ },
260
+ async save(state, saveOptions) {
261
+ await ensurePrivateDirectory(options.directory);
262
+ const scope = effectiveScope(state.scope);
263
+ const releaseLock = await acquireFileRunStoreLock(revisionLockPath(state.runId, scope));
264
+ try {
265
+ if (saveOptions?.leaseOwnerId)
266
+ assertLeaseOwner(JSON.parse(await fs.readFile(leasePath(state.runId, scope), "utf8")), saveOptions.leaseOwnerId);
267
+ const current = await load(state.runId, scope);
268
+ assertExpectedRevision(current, saveOptions?.expectedRevision);
269
+ const normalized = nextStoredState(state, saveOptions);
270
+ if (normalized.idempotencyKey) {
271
+ const owner = await findByIdempotencyKey(normalized.idempotencyKey, scope);
272
+ if (owner && owner.runId !== normalized.runId) {
273
+ throw new ConflictError("AgentRunState idempotency key conflict.");
274
+ }
275
+ }
276
+ const stored = { ...normalized, ...(scope ? { scope } : {}) };
277
+ await writePrivateFile(runPath(normalized.runId, scope), JSON.stringify(stored, null, 2));
278
+ if (normalized.idempotencyKey) {
279
+ await writePrivateFile(idempotencyPath(normalized.idempotencyKey, scope), JSON.stringify(stored, null, 2));
280
+ }
281
+ }
282
+ finally {
283
+ await releaseLock();
284
+ }
285
+ },
286
+ async delete(runId, scope) {
287
+ const current = await load(runId, scope);
288
+ const targetScope = effectiveScope(scope);
289
+ try {
290
+ await fs.unlink(runPath(runId, scope));
291
+ }
292
+ catch (error) {
293
+ if (error.code !== "ENOENT") {
294
+ throw error;
295
+ }
296
+ }
297
+ if (current?.idempotencyKey) {
298
+ try {
299
+ await fs.unlink(idempotencyPath(current.idempotencyKey, scope));
300
+ }
301
+ catch (error) {
302
+ if (error.code !== "ENOENT") {
303
+ throw error;
304
+ }
305
+ }
306
+ }
307
+ await fs.unlink(leasePath(runId, scope)).catch((error) => {
308
+ if (error.code !== "ENOENT")
309
+ throw error;
310
+ });
311
+ const entries = await fs.readdir(options.directory).catch((error) => {
312
+ if (error.code === "ENOENT")
313
+ return [];
314
+ throw error;
315
+ });
316
+ for (const entryName of entries.filter((name) => name.startsWith(".tool-") && name.endsWith(".json"))) {
317
+ const entryPath = path.join(options.directory, entryName);
318
+ try {
319
+ const journalEntry = JSON.parse(await fs.readFile(entryPath, "utf8"));
320
+ const sameEntryScope = targetScope
321
+ ? Boolean(journalEntry.scope && sameScope(journalEntry.scope, targetScope))
322
+ : journalEntry.scope === undefined;
323
+ if (journalEntry.runId === runId && sameEntryScope) {
324
+ await fs.unlink(entryPath);
325
+ }
326
+ }
327
+ catch (error) {
328
+ if (error.code !== "ENOENT")
329
+ throw error;
330
+ }
331
+ }
332
+ },
333
+ async list(listOptions, scope) {
334
+ const targetScope = effectiveScope(scope);
335
+ const entries = await fs.readdir(options.directory).catch((error) => {
336
+ if (error.code === "ENOENT")
337
+ return [];
338
+ throw error;
339
+ });
340
+ const states = [];
341
+ for (const entry of entries) {
342
+ if (!entry.endsWith(".json") || entry.startsWith("."))
343
+ continue;
344
+ const state = normalizeAgentRunState(JSON.parse(await fs.readFile(path.join(options.directory, entry), "utf8")));
345
+ if (!targetScope || (state.scope && sameScope(state.scope, targetScope)))
346
+ states.push(state);
347
+ }
348
+ return listStates(states, listOptions);
349
+ },
350
+ async deleteExpired(retention, scope) {
351
+ const page = await this.list?.({ statuses: retention.statuses, updatedBefore: retention.before, limit: retention.limit ?? 1_000 }, scope);
352
+ const items = page.items;
353
+ for (const state of items)
354
+ await this.delete?.(state.runId, state.scope);
355
+ return items.length;
356
+ },
357
+ async acquireLease(runId, leaseOptions, scope) {
358
+ await ensurePrivateDirectory(options.directory);
359
+ const unlock = await acquireFileRunStoreLock(revisionLockPath(runId, scope));
360
+ try {
361
+ validateLeaseOptions(leaseOptions);
362
+ if (!await load(runId, scope))
363
+ return undefined;
364
+ await ensurePrivateDirectory(options.directory);
365
+ const file = leasePath(runId, scope);
366
+ const now = leaseOptions.now ?? Date.now();
367
+ const lease = { runId, ownerId: leaseOptions.ownerId, expiresAt: now + leaseOptions.ttlMs };
368
+ for (let attempt = 0; attempt < 2; attempt += 1) {
369
+ try {
370
+ await writePrivateFile(file, JSON.stringify(lease), { flag: "wx" });
371
+ return lease;
372
+ }
373
+ catch (error) {
374
+ if (error.code !== "EEXIST")
375
+ throw error;
376
+ const current = JSON.parse(await fs.readFile(file, "utf8"));
377
+ if (current.ownerId === leaseOptions.ownerId) {
378
+ await writePrivateFile(file, JSON.stringify(lease));
379
+ return lease;
380
+ }
381
+ if (current.expiresAt > now)
382
+ return undefined;
383
+ await fs.unlink(file).catch(() => undefined);
384
+ }
385
+ }
386
+ return undefined;
387
+ }
388
+ finally {
389
+ await unlock();
390
+ }
391
+ },
392
+ async renewLease(runId, leaseOptions, scope) {
393
+ await ensurePrivateDirectory(options.directory);
394
+ const unlock = await acquireFileRunStoreLock(revisionLockPath(runId, scope));
395
+ try {
396
+ validateLeaseOptions(leaseOptions);
397
+ const file = leasePath(runId, scope);
398
+ const now = leaseOptions.now ?? Date.now();
399
+ try {
400
+ const current = JSON.parse(await fs.readFile(file, "utf8"));
401
+ if (current.ownerId !== leaseOptions.ownerId || current.expiresAt <= now)
402
+ return undefined;
403
+ const lease = { runId, ownerId: leaseOptions.ownerId, expiresAt: now + leaseOptions.ttlMs };
404
+ await writePrivateFile(file, JSON.stringify(lease));
405
+ return lease;
406
+ }
407
+ catch (error) {
408
+ if (error.code === "ENOENT")
409
+ return undefined;
410
+ throw error;
411
+ }
412
+ }
413
+ finally {
414
+ await unlock();
415
+ }
416
+ },
417
+ async releaseLease(runId, ownerId, scope) {
418
+ await ensurePrivateDirectory(options.directory);
419
+ const unlock = await acquireFileRunStoreLock(revisionLockPath(runId, scope));
420
+ try {
421
+ const file = leasePath(runId, scope);
422
+ try {
423
+ const current = JSON.parse(await fs.readFile(file, "utf8"));
424
+ if (current.ownerId !== ownerId)
425
+ return false;
426
+ await fs.unlink(file);
427
+ return true;
428
+ }
429
+ catch (error) {
430
+ if (error.code === "ENOENT")
431
+ return false;
432
+ throw error;
433
+ }
434
+ }
435
+ finally {
436
+ await unlock();
437
+ }
438
+ },
439
+ async loadToolCall(runId, toolCallId, scope) {
440
+ try {
441
+ return JSON.parse(await fs.readFile(toolPath(runId, toolCallId, scope), "utf8"));
442
+ }
443
+ catch (error) {
444
+ if (error.code === "ENOENT")
445
+ return undefined;
446
+ throw error;
447
+ }
448
+ },
449
+ async loadToolExecution(runId, toolCallId, scope) {
450
+ return this.loadToolCall?.(runId, toolCallId, scope);
451
+ },
452
+ async listToolCalls(runId, scope) {
453
+ const targetScope = effectiveScope(scope);
454
+ const entries = await fs.readdir(options.directory).catch(() => []);
455
+ const results = [];
456
+ for (const entry of entries) {
457
+ if (!entry.startsWith(".tool-") || !entry.endsWith(".json"))
458
+ continue;
459
+ const value = JSON.parse(await fs.readFile(path.join(options.directory, entry), "utf8"));
460
+ if (value.runId === runId && (!targetScope || (value.scope && sameScope(value.scope, targetScope))))
461
+ results.push(value);
462
+ }
463
+ return results.sort((a, b) => a.updatedAt - b.updatedAt || a.toolCallId.localeCompare(b.toolCallId));
464
+ },
465
+ async saveToolCall(entry, journalOptions) {
466
+ await ensurePrivateDirectory(options.directory);
467
+ const unlock = await acquireFileRunStoreLock(revisionLockPath(entry.runId, entry.scope));
468
+ try {
469
+ if (journalOptions?.leaseOwnerId)
470
+ assertLeaseOwner(JSON.parse(await fs.readFile(leasePath(entry.runId, entry.scope), "utf8")), journalOptions.leaseOwnerId);
471
+ const file = toolPath(entry.runId, entry.toolCallId, entry.scope);
472
+ const current = await this.loadToolCall?.(entry.runId, entry.toolCallId, entry.scope);
473
+ assertJournalRevision(current, journalOptions?.expectedRevision);
474
+ const next = nextJournalEntry(entry, journalOptions);
475
+ await writePrivateFile(file, JSON.stringify(next, null, 2));
476
+ return next;
477
+ }
478
+ finally {
479
+ await unlock();
480
+ }
481
+ },
482
+ async claimToolExecution(entry) {
483
+ await ensurePrivateDirectory(options.directory);
484
+ const unlock = await acquireFileRunStoreLock(revisionLockPath(entry.runId, entry.scope));
485
+ try {
486
+ await ensurePrivateDirectory(options.directory);
487
+ if (!await load(entry.runId, entry.scope))
488
+ throw new ValidationError("Cannot journal a tool call for an unknown run.");
489
+ const next = nextJournalEntry({ ...entry, status: "running", revision: 0 });
490
+ try {
491
+ await writePrivateFile(toolPath(entry.runId, entry.toolCallId, entry.scope), JSON.stringify(next, null, 2), { flag: "wx" });
492
+ return { claimed: true, entry: next };
493
+ }
494
+ catch (error) {
495
+ if (error.code !== "EEXIST")
496
+ throw error;
497
+ const existing = await this.loadToolCall?.(entry.runId, entry.toolCallId, entry.scope);
498
+ if (!existing)
499
+ throw new ConflictError("Tool execution claim could not be loaded.");
500
+ return { claimed: false, entry: existing };
501
+ }
502
+ }
503
+ finally {
504
+ await unlock();
505
+ }
506
+ },
507
+ async completeToolExecution(entry, journalOptions) {
508
+ return this.saveToolCall?.({ ...entry, status: entry.status === "failed" ? "failed" : "completed" }, journalOptions);
509
+ }
510
+ };
511
+ };
512
+ export const createFileAgentMemoryStore = (options) => {
513
+ const keyFor = (context) => (options.key ?? defaultMemoryKey)({ ...context, scope: resolveScope(options.scope, context.scope) });
514
+ const selectMessages = options.selectMessages ?? defaultMemoryMessages;
515
+ return {
516
+ async load(context) {
517
+ try {
518
+ const file = await fs.readFile(path.join(options.directory, fileNameForAgentStoreKey(keyFor(context))), "utf8");
519
+ return JSON.parse(file);
520
+ }
521
+ catch (error) {
522
+ if (error.code === "ENOENT") {
523
+ return [];
524
+ }
525
+ throw error;
526
+ }
527
+ },
528
+ async save(context) {
529
+ await ensurePrivateDirectory(options.directory);
530
+ await writePrivateFile(path.join(options.directory, fileNameForAgentStoreKey(keyFor(context))), JSON.stringify(selectMessages(context.state), null, 2));
531
+ }
532
+ };
533
+ };
534
+ //# sourceMappingURL=file.js.map