attention-manifest-protocol 0.4.0 → 0.4.2

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 (627) hide show
  1. package/CHANGELOG.md +250 -226
  2. package/CHANGELOG.zh-CN.md +63 -39
  3. package/README.md +22 -1
  4. package/README.zh-CN.md +22 -1
  5. package/docs/probes/calibration-imported.json +141 -141
  6. package/docs/probes/eval-recorded-replay.json +597 -597
  7. package/docs/probes/eval-replay.json +124 -124
  8. package/docs/probes/eval-summary.json +42 -42
  9. package/docs/probes/runtime-eval.json +4230 -4230
  10. package/lib/attention/attention.d.ts +153 -0
  11. package/lib/attention/attention.js +209 -0
  12. package/lib/attention/budget.d.ts +31 -0
  13. package/lib/attention/budget.js +55 -0
  14. package/lib/attention/cognition.d.ts +230 -0
  15. package/lib/attention/cognition.js +245 -0
  16. package/lib/attention/index.d.ts +8 -0
  17. package/lib/attention/index.js +7 -0
  18. package/lib/attention/interrupts.d.ts +97 -0
  19. package/lib/attention/interrupts.js +151 -0
  20. package/lib/attention/resource.d.ts +167 -0
  21. package/lib/attention/resource.js +148 -0
  22. package/lib/attention/social.d.ts +74 -0
  23. package/lib/attention/social.js +153 -0
  24. package/lib/attention/socialTypes.d.ts +102 -0
  25. package/lib/attention/socialTypes.js +1 -0
  26. package/lib/authz/authz.d.ts +75 -0
  27. package/lib/authz/authz.js +176 -0
  28. package/lib/authz/index.d.ts +1 -0
  29. package/lib/authz/index.js +1 -0
  30. package/lib/bayes/calibration.d.ts +67 -0
  31. package/lib/bayes/calibration.js +114 -0
  32. package/lib/bayes/calibrationRegistry.d.ts +39 -0
  33. package/lib/bayes/calibrationRegistry.js +61 -0
  34. package/lib/bayes/calibrationSelection.d.ts +40 -0
  35. package/lib/bayes/calibrationSelection.js +89 -0
  36. package/lib/bayes/engine.d.ts +163 -0
  37. package/lib/bayes/engine.js +354 -0
  38. package/lib/bayes/index.d.ts +6 -0
  39. package/lib/bayes/index.js +6 -0
  40. package/lib/bayes/reliability.d.ts +27 -0
  41. package/lib/bayes/reliability.js +38 -0
  42. package/lib/bayes/scopedPriors.d.ts +34 -0
  43. package/lib/bayes/scopedPriors.js +70 -0
  44. package/lib/boundary/frame.d.ts +63 -0
  45. package/lib/boundary/frame.js +239 -0
  46. package/lib/boundary/ids.d.ts +8 -0
  47. package/lib/boundary/ids.js +12 -0
  48. package/lib/boundary/index.d.ts +12 -0
  49. package/lib/boundary/index.js +8 -0
  50. package/lib/boundary/refTable.d.ts +49 -0
  51. package/lib/boundary/refTable.js +92 -0
  52. package/lib/boundary/toolCall.d.ts +33 -0
  53. package/lib/boundary/toolCall.js +173 -0
  54. package/lib/concept/concept.d.ts +67 -0
  55. package/lib/concept/concept.js +1 -0
  56. package/lib/concept/conceptBudget.d.ts +56 -0
  57. package/lib/concept/conceptBudget.js +281 -0
  58. package/lib/concept/conceptBudgetTypes.d.ts +74 -0
  59. package/lib/concept/conceptBudgetTypes.js +1 -0
  60. package/lib/concept/index.d.ts +3 -0
  61. package/lib/concept/index.js +3 -0
  62. package/lib/concurrency/idempotency.d.ts +16 -0
  63. package/lib/concurrency/idempotency.js +21 -0
  64. package/lib/concurrency/index.d.ts +5 -0
  65. package/lib/concurrency/index.js +5 -0
  66. package/lib/concurrency/mutex.d.ts +13 -0
  67. package/lib/concurrency/mutex.js +26 -0
  68. package/lib/concurrency/namedLocks.d.ts +7 -0
  69. package/lib/concurrency/namedLocks.js +31 -0
  70. package/lib/concurrency/retry.d.ts +23 -0
  71. package/lib/concurrency/retry.js +38 -0
  72. package/lib/concurrency/worker.d.ts +42 -0
  73. package/lib/concurrency/worker.js +67 -0
  74. package/lib/context/agentContext.d.ts +58 -0
  75. package/lib/context/agentContext.js +197 -0
  76. package/lib/context/ast.d.ts +98 -0
  77. package/lib/context/ast.js +414 -0
  78. package/lib/context/contentStore.d.ts +16 -0
  79. package/lib/context/contentStore.js +61 -0
  80. package/lib/context/context.d.ts +15 -0
  81. package/lib/context/context.js +39 -0
  82. package/lib/context/contextIndex.d.ts +40 -0
  83. package/lib/context/contextIndex.js +64 -0
  84. package/lib/context/document.d.ts +102 -0
  85. package/lib/context/document.js +22 -0
  86. package/lib/context/fileStorePath.d.ts +1 -0
  87. package/lib/context/fileStorePath.js +13 -0
  88. package/lib/context/index.d.ts +22 -0
  89. package/lib/context/index.js +11 -0
  90. package/lib/context/lifecycle.d.ts +91 -0
  91. package/lib/context/lifecycle.js +163 -0
  92. package/lib/context/projections.d.ts +20 -0
  93. package/lib/context/projections.js +127 -0
  94. package/lib/context/workspace.d.ts +111 -0
  95. package/lib/context/workspace.js +318 -0
  96. package/lib/context/workspaceProtocol.d.ts +30 -0
  97. package/lib/context/workspaceProtocol.js +49 -0
  98. package/lib/context/workspaceService.d.ts +63 -0
  99. package/lib/context/workspaceService.js +352 -0
  100. package/lib/cooperation/board.d.ts +47 -0
  101. package/lib/cooperation/board.js +66 -0
  102. package/lib/cooperation/collaboration.d.ts +55 -0
  103. package/lib/cooperation/collaboration.js +1 -0
  104. package/lib/cooperation/index.d.ts +6 -0
  105. package/lib/cooperation/index.js +6 -0
  106. package/lib/cooperation/merge.d.ts +69 -0
  107. package/lib/cooperation/merge.js +109 -0
  108. package/lib/cooperation/metrics.d.ts +39 -0
  109. package/lib/cooperation/metrics.js +17 -0
  110. package/lib/cooperation/session.d.ts +75 -0
  111. package/lib/cooperation/session.js +74 -0
  112. package/lib/cooperation/unified.d.ts +38 -0
  113. package/lib/cooperation/unified.js +40 -0
  114. package/lib/database/adapter/adapters.d.ts +24 -0
  115. package/lib/database/adapter/adapters.js +31 -0
  116. package/lib/database/adapter/index.d.ts +4 -0
  117. package/lib/database/adapter/index.js +4 -0
  118. package/lib/database/adapter/runtimeSink.d.ts +20 -0
  119. package/lib/database/adapter/runtimeSink.js +50 -0
  120. package/lib/database/adapter/sessionStore.d.ts +11 -0
  121. package/lib/database/adapter/sessionStore.js +23 -0
  122. package/lib/database/adapter/turnStore.d.ts +10 -0
  123. package/lib/database/adapter/turnStore.js +15 -0
  124. package/lib/database/entity/agent.d.ts +133 -0
  125. package/lib/database/entity/agent.js +61 -0
  126. package/lib/database/entity/entity.d.ts +715 -0
  127. package/lib/database/entity/entity.js +372 -0
  128. package/lib/database/entity/handle.d.ts +31 -0
  129. package/lib/database/entity/handle.js +53 -0
  130. package/lib/database/entity/index.d.ts +32 -0
  131. package/lib/database/entity/index.js +22 -0
  132. package/lib/database/entity/message.d.ts +27 -0
  133. package/lib/database/entity/message.js +52 -0
  134. package/lib/database/entity/meta.d.ts +11 -0
  135. package/lib/database/entity/meta.js +1 -0
  136. package/lib/database/entity/object.d.ts +23 -0
  137. package/lib/database/entity/object.js +24 -0
  138. package/lib/database/entity/outbox.d.ts +9 -0
  139. package/lib/database/entity/outbox.js +5 -0
  140. package/lib/database/entity/process.d.ts +30 -0
  141. package/lib/database/entity/process.js +40 -0
  142. package/lib/database/entity/registry.d.ts +81 -0
  143. package/lib/database/entity/registry.js +91 -0
  144. package/lib/database/entity/runtimeApproval.d.ts +23 -0
  145. package/lib/database/entity/runtimeApproval.js +5 -0
  146. package/lib/database/entity/runtimeSession.d.ts +7 -0
  147. package/lib/database/entity/runtimeSession.js +5 -0
  148. package/lib/database/entity/runtimeTurn.d.ts +9 -0
  149. package/lib/database/entity/runtimeTurn.js +5 -0
  150. package/lib/database/entity/thread.d.ts +35 -0
  151. package/lib/database/entity/thread.js +55 -0
  152. package/lib/database/entity/window.d.ts +39 -0
  153. package/lib/database/entity/window.js +56 -0
  154. package/lib/database/entity/worker.d.ts +42 -0
  155. package/lib/database/entity/worker.js +58 -0
  156. package/lib/database/index.d.ts +6 -0
  157. package/lib/database/index.js +6 -0
  158. package/lib/database/repository/addressSpaceRepository.d.ts +18 -0
  159. package/lib/database/repository/addressSpaceRepository.js +40 -0
  160. package/lib/database/repository/agentRepository.d.ts +41 -0
  161. package/lib/database/repository/agentRepository.js +398 -0
  162. package/lib/database/repository/base.d.ts +31 -0
  163. package/lib/database/repository/base.js +23 -0
  164. package/lib/database/repository/executionRepository.d.ts +64 -0
  165. package/lib/database/repository/executionRepository.js +379 -0
  166. package/lib/database/repository/handleRepository.d.ts +35 -0
  167. package/lib/database/repository/handleRepository.js +57 -0
  168. package/lib/database/repository/index.d.ts +20 -0
  169. package/lib/database/repository/index.js +17 -0
  170. package/lib/database/repository/messageRepository.d.ts +33 -0
  171. package/lib/database/repository/messageRepository.js +45 -0
  172. package/lib/database/repository/objectRepository.d.ts +43 -0
  173. package/lib/database/repository/objectRepository.js +60 -0
  174. package/lib/database/repository/outboxRepository.d.ts +15 -0
  175. package/lib/database/repository/outboxRepository.js +51 -0
  176. package/lib/database/repository/processRepository.d.ts +31 -0
  177. package/lib/database/repository/processRepository.js +48 -0
  178. package/lib/database/repository/registryRepository.d.ts +72 -0
  179. package/lib/database/repository/registryRepository.js +95 -0
  180. package/lib/database/repository/repository.d.ts +322 -0
  181. package/lib/database/repository/repository.js +332 -0
  182. package/lib/database/repository/runtimeApprovalRepository.d.ts +14 -0
  183. package/lib/database/repository/runtimeApprovalRepository.js +35 -0
  184. package/lib/database/repository/runtimeSessionRepository.d.ts +9 -0
  185. package/lib/database/repository/runtimeSessionRepository.js +21 -0
  186. package/lib/database/repository/runtimeTurnRepository.d.ts +10 -0
  187. package/lib/database/repository/runtimeTurnRepository.js +32 -0
  188. package/lib/database/repository/socialRepository.d.ts +22 -0
  189. package/lib/database/repository/socialRepository.js +155 -0
  190. package/lib/database/repository/threadRepository.d.ts +29 -0
  191. package/lib/database/repository/threadRepository.js +48 -0
  192. package/lib/database/repository/windowRepository.d.ts +46 -0
  193. package/lib/database/repository/windowRepository.js +68 -0
  194. package/lib/database/repository/workerRepository.d.ts +38 -0
  195. package/lib/database/repository/workerRepository.js +61 -0
  196. package/lib/database/service/database.d.ts +55 -0
  197. package/lib/database/service/database.js +77 -0
  198. package/lib/database/service/handleService.d.ts +20 -0
  199. package/lib/database/service/handleService.js +34 -0
  200. package/lib/database/service/index.d.ts +16 -0
  201. package/lib/database/service/index.js +11 -0
  202. package/lib/database/service/messageService.d.ts +26 -0
  203. package/lib/database/service/messageService.js +40 -0
  204. package/lib/database/service/objectService.d.ts +32 -0
  205. package/lib/database/service/objectService.js +31 -0
  206. package/lib/database/service/processService.d.ts +22 -0
  207. package/lib/database/service/processService.js +45 -0
  208. package/lib/database/service/registryServices.d.ts +43 -0
  209. package/lib/database/service/registryServices.js +60 -0
  210. package/lib/database/service/service.d.ts +131 -0
  211. package/lib/database/service/service.js +153 -0
  212. package/lib/database/service/stepService.d.ts +23 -0
  213. package/lib/database/service/stepService.js +35 -0
  214. package/lib/database/service/threadService.d.ts +23 -0
  215. package/lib/database/service/threadService.js +48 -0
  216. package/lib/database/service/windowService.d.ts +15 -0
  217. package/lib/database/service/windowService.js +22 -0
  218. package/lib/database/service/workerService.d.ts +28 -0
  219. package/lib/database/service/workerService.js +34 -0
  220. package/lib/database/sql/index.d.ts +3 -0
  221. package/lib/database/sql/index.js +2 -0
  222. package/lib/database/sql/schema.d.ts +5 -0
  223. package/lib/database/sql/schema.js +416 -0
  224. package/lib/database/sql/sql.d.ts +290 -0
  225. package/lib/database/sql/sql.js +430 -0
  226. package/lib/database/store/database.d.ts +75 -0
  227. package/lib/database/store/database.js +143 -0
  228. package/lib/database/store/index.d.ts +3 -0
  229. package/lib/database/store/index.js +2 -0
  230. package/lib/database/store/store.d.ts +145 -0
  231. package/lib/database/store/store.js +192 -0
  232. package/lib/delegate/index.d.ts +2 -0
  233. package/lib/delegate/index.js +2 -0
  234. package/lib/delegate/team.d.ts +92 -0
  235. package/lib/delegate/team.js +200 -0
  236. package/lib/delegate/teamTypes.d.ts +43 -0
  237. package/lib/delegate/teamTypes.js +1 -0
  238. package/lib/diagnosis/checklist.d.ts +16 -0
  239. package/lib/diagnosis/checklist.js +61 -0
  240. package/lib/diagnosis/context.d.ts +19 -0
  241. package/lib/diagnosis/context.js +79 -0
  242. package/lib/diagnosis/frame.d.ts +34 -0
  243. package/lib/diagnosis/frame.js +230 -0
  244. package/lib/diagnosis/index.d.ts +5 -0
  245. package/lib/diagnosis/index.js +5 -0
  246. package/lib/diagnosis/router.d.ts +22 -0
  247. package/lib/diagnosis/router.js +47 -0
  248. package/lib/diagnosis/types.d.ts +78 -0
  249. package/lib/diagnosis/types.js +2 -0
  250. package/lib/error/agentError.d.ts +9 -0
  251. package/lib/error/agentError.js +13 -0
  252. package/lib/error/ampError.d.ts +14 -0
  253. package/lib/error/ampError.js +19 -0
  254. package/lib/error/authzError.d.ts +10 -0
  255. package/lib/error/authzError.js +11 -0
  256. package/lib/error/boundaryRejection.d.ts +16 -0
  257. package/lib/error/boundaryRejection.js +14 -0
  258. package/lib/error/index.d.ts +7 -0
  259. package/lib/error/index.js +7 -0
  260. package/lib/error/kernelError.d.ts +11 -0
  261. package/lib/error/kernelError.js +12 -0
  262. package/lib/error/mailboxError.d.ts +5 -0
  263. package/lib/error/mailboxError.js +6 -0
  264. package/lib/error/windowError.d.ts +8 -0
  265. package/lib/error/windowError.js +9 -0
  266. package/lib/evaluation/agreement.d.ts +22 -0
  267. package/lib/evaluation/agreement.js +82 -0
  268. package/lib/evaluation/index.d.ts +2 -0
  269. package/lib/evaluation/index.js +2 -0
  270. package/lib/evaluation/labels.d.ts +56 -0
  271. package/lib/evaluation/labels.js +206 -0
  272. package/lib/evidence/evidenceGraph.d.ts +37 -0
  273. package/lib/evidence/evidenceGraph.js +165 -0
  274. package/lib/evidence/index.d.ts +4 -0
  275. package/lib/evidence/index.js +2 -0
  276. package/lib/evidence/revalidation.d.ts +70 -0
  277. package/lib/evidence/revalidation.js +146 -0
  278. package/lib/execution/exec.d.ts +151 -0
  279. package/lib/execution/exec.js +282 -0
  280. package/lib/execution/handles.d.ts +25 -0
  281. package/lib/execution/handles.js +45 -0
  282. package/lib/execution/index.d.ts +3 -0
  283. package/lib/execution/index.js +3 -0
  284. package/lib/execution/pin.d.ts +60 -0
  285. package/lib/execution/pin.js +103 -0
  286. package/lib/frame/frame.d.ts +61 -0
  287. package/lib/frame/frame.js +1 -0
  288. package/lib/frame/index.d.ts +1 -0
  289. package/lib/frame/index.js +1 -0
  290. package/lib/goal/goal.d.ts +19 -0
  291. package/lib/goal/goal.js +21 -0
  292. package/lib/goal/index.d.ts +2 -0
  293. package/lib/goal/index.js +1 -0
  294. package/lib/goal/plan.d.ts +125 -0
  295. package/lib/goal/plan.js +60 -0
  296. package/lib/governance/attentionManifest.d.ts +279 -0
  297. package/lib/governance/attentionManifest.js +467 -0
  298. package/lib/governance/audit.d.ts +123 -0
  299. package/lib/governance/audit.js +263 -0
  300. package/lib/governance/budget.d.ts +219 -0
  301. package/lib/governance/budget.js +424 -0
  302. package/lib/governance/context.d.ts +159 -0
  303. package/lib/governance/context.js +229 -0
  304. package/lib/governance/control.d.ts +65 -0
  305. package/lib/governance/control.js +89 -0
  306. package/lib/governance/cooperation.d.ts +163 -0
  307. package/lib/governance/cooperation.js +350 -0
  308. package/lib/governance/credential.d.ts +117 -0
  309. package/lib/governance/credential.js +229 -0
  310. package/lib/governance/httpServer.d.ts +18 -0
  311. package/lib/governance/httpServer.js +74 -0
  312. package/lib/governance/index.d.ts +32 -0
  313. package/lib/governance/index.js +32 -0
  314. package/lib/governance/legal.d.ts +222 -0
  315. package/lib/governance/legal.js +371 -0
  316. package/lib/governance/matrix.d.ts +170 -0
  317. package/lib/governance/matrix.js +365 -0
  318. package/lib/governance/perspectives.d.ts +98 -0
  319. package/lib/governance/perspectives.js +340 -0
  320. package/lib/governance/signing.d.ts +131 -0
  321. package/lib/governance/signing.js +241 -0
  322. package/lib/governance/store.d.ts +33 -0
  323. package/lib/governance/store.js +89 -0
  324. package/lib/governance/switching.d.ts +183 -0
  325. package/lib/governance/switching.js +257 -0
  326. package/lib/governance/toolPolicy.d.ts +37 -0
  327. package/lib/governance/toolPolicy.js +42 -0
  328. package/lib/governance/transport.d.ts +76 -0
  329. package/lib/governance/transport.js +124 -0
  330. package/lib/governance/types.d.ts +218 -0
  331. package/lib/governance/types.js +72 -0
  332. package/lib/governance/workflow.d.ts +174 -0
  333. package/lib/governance/workflow.js +612 -0
  334. package/lib/index.d.ts +11 -0
  335. package/lib/index.js +11 -0
  336. package/lib/interaction/index.d.ts +1 -0
  337. package/lib/interaction/index.js +1 -0
  338. package/lib/interaction/interaction.d.ts +83 -0
  339. package/lib/interaction/interaction.js +256 -0
  340. package/lib/ipc/index.d.ts +4 -0
  341. package/lib/ipc/index.js +3 -0
  342. package/lib/ipc/mailbox.d.ts +37 -0
  343. package/lib/ipc/mailbox.js +77 -0
  344. package/lib/ipc/memorySocialStore.d.ts +14 -0
  345. package/lib/ipc/memorySocialStore.js +83 -0
  346. package/lib/ipc/social.d.ts +80 -0
  347. package/lib/ipc/social.js +1 -0
  348. package/lib/kernel/index.d.ts +2 -0
  349. package/lib/kernel/index.js +1 -0
  350. package/lib/kernel/scheduler.d.ts +195 -0
  351. package/lib/kernel/scheduler.js +334 -0
  352. package/lib/ledger/checkpoint.d.ts +116 -0
  353. package/lib/ledger/checkpoint.js +223 -0
  354. package/lib/ledger/index.d.ts +4 -0
  355. package/lib/ledger/index.js +4 -0
  356. package/lib/ledger/ledger.d.ts +21 -0
  357. package/lib/ledger/ledger.js +23 -0
  358. package/lib/ledger/persistence.d.ts +46 -0
  359. package/lib/ledger/persistence.js +106 -0
  360. package/lib/ledger/share.d.ts +29 -0
  361. package/lib/ledger/share.js +39 -0
  362. package/lib/lock/index.d.ts +2 -0
  363. package/lib/lock/index.js +1 -0
  364. package/lib/lock/lease.d.ts +23 -0
  365. package/lib/lock/lease.js +42 -0
  366. package/lib/manifest/agentCard.d.ts +35 -0
  367. package/lib/manifest/agentCard.js +38 -0
  368. package/lib/manifest/cardSign.d.ts +25 -0
  369. package/lib/manifest/cardSign.js +70 -0
  370. package/lib/manifest/federation.d.ts +64 -0
  371. package/lib/manifest/federation.js +187 -0
  372. package/lib/manifest/federationTypes.d.ts +51 -0
  373. package/lib/manifest/federationTypes.js +1 -0
  374. package/lib/manifest/index.d.ts +8 -0
  375. package/lib/manifest/index.js +8 -0
  376. package/lib/manifest/keys.d.ts +221 -0
  377. package/lib/manifest/keys.js +484 -0
  378. package/lib/manifest/manifest.d.ts +102 -0
  379. package/lib/manifest/manifest.js +1 -0
  380. package/lib/manifest/sign.d.ts +38 -0
  381. package/lib/manifest/sign.js +90 -0
  382. package/lib/manifest/trust.d.ts +54 -0
  383. package/lib/manifest/trust.js +87 -0
  384. package/lib/mission/index.d.ts +2 -0
  385. package/lib/mission/index.js +1 -0
  386. package/lib/mission/missionQueue.d.ts +19 -0
  387. package/lib/mission/missionQueue.js +62 -0
  388. package/lib/module/index.d.ts +9 -0
  389. package/lib/module/index.js +9 -0
  390. package/lib/module/llm/deepseek.d.ts +43 -0
  391. package/lib/module/llm/deepseek.js +162 -0
  392. package/lib/module/llm/llm.d.ts +64 -0
  393. package/lib/module/llm/llm.js +16 -0
  394. package/lib/module/mcp/client.d.ts +32 -0
  395. package/lib/module/mcp/client.js +84 -0
  396. package/lib/module/mcp/http.d.ts +32 -0
  397. package/lib/module/mcp/http.js +83 -0
  398. package/lib/module/mcp/protocol.d.ts +62 -0
  399. package/lib/module/mcp/protocol.js +20 -0
  400. package/lib/module/mcp/server.d.ts +22 -0
  401. package/lib/module/mcp/server.js +138 -0
  402. package/lib/module/mcp/transport.d.ts +19 -0
  403. package/lib/module/mcp/transport.js +16 -0
  404. package/lib/module/mcp/workspaceServer.d.ts +20 -0
  405. package/lib/module/mcp/workspaceServer.js +90 -0
  406. package/lib/module/sandbox/sandbox.d.ts +24 -0
  407. package/lib/module/sandbox/sandbox.js +5 -0
  408. package/lib/module/tool/mcpExecutor.d.ts +18 -0
  409. package/lib/module/tool/mcpExecutor.js +41 -0
  410. package/lib/module/tool/policy.d.ts +30 -0
  411. package/lib/module/tool/policy.js +23 -0
  412. package/lib/module/tool/redact.d.ts +9 -0
  413. package/lib/module/tool/redact.js +19 -0
  414. package/lib/module/tool/tool.d.ts +26 -0
  415. package/lib/module/tool/tool.js +24 -0
  416. package/lib/module/tool/workspaceExecutor.d.ts +12 -0
  417. package/lib/module/tool/workspaceExecutor.js +25 -0
  418. package/lib/policy/guard.d.ts +115 -0
  419. package/lib/policy/guard.js +154 -0
  420. package/lib/policy/index.d.ts +2 -0
  421. package/lib/policy/index.js +2 -0
  422. package/lib/policy/policy.d.ts +249 -0
  423. package/lib/policy/policy.js +364 -0
  424. package/lib/process/agent.d.ts +295 -0
  425. package/lib/process/agent.js +1 -0
  426. package/lib/process/agentService.d.ts +87 -0
  427. package/lib/process/agentService.js +128 -0
  428. package/lib/process/agentStore.d.ts +35 -0
  429. package/lib/process/agentStore.js +328 -0
  430. package/lib/process/executionStore.d.ts +79 -0
  431. package/lib/process/executionStore.js +71 -0
  432. package/lib/process/index.d.ts +5 -0
  433. package/lib/process/index.js +5 -0
  434. package/lib/process/process.d.ts +120 -0
  435. package/lib/process/process.js +111 -0
  436. package/lib/process/transitions.d.ts +11 -0
  437. package/lib/process/transitions.js +8 -0
  438. package/lib/progress/index.d.ts +2 -0
  439. package/lib/progress/index.js +1 -0
  440. package/lib/progress/progress.d.ts +26 -0
  441. package/lib/progress/progress.js +42 -0
  442. package/lib/protocol/a2a.d.ts +51 -0
  443. package/lib/protocol/a2a.js +79 -0
  444. package/lib/protocol/channel.d.ts +25 -0
  445. package/lib/protocol/channel.js +27 -0
  446. package/lib/protocol/envelope.d.ts +180 -0
  447. package/lib/protocol/envelope.js +495 -0
  448. package/lib/protocol/httpChannel.d.ts +33 -0
  449. package/lib/protocol/httpChannel.js +59 -0
  450. package/lib/protocol/index.d.ts +6 -0
  451. package/lib/protocol/index.js +6 -0
  452. package/lib/protocol/protocol.d.ts +120 -0
  453. package/lib/protocol/protocol.js +1 -0
  454. package/lib/protocol/wire.d.ts +12 -0
  455. package/lib/protocol/wire.js +55 -0
  456. package/lib/receipt/index.d.ts +1 -0
  457. package/lib/receipt/index.js +1 -0
  458. package/lib/receipt/receipt.d.ts +43 -0
  459. package/lib/receipt/receipt.js +1 -0
  460. package/lib/registry/content.d.ts +10 -0
  461. package/lib/registry/content.js +58 -0
  462. package/lib/registry/index.d.ts +4 -0
  463. package/lib/registry/index.js +2 -0
  464. package/lib/registry/registry.d.ts +109 -0
  465. package/lib/registry/registry.js +299 -0
  466. package/lib/runtime/action.d.ts +46 -0
  467. package/lib/runtime/action.js +39 -0
  468. package/lib/runtime/behavior.d.ts +110 -0
  469. package/lib/runtime/behavior.js +179 -0
  470. package/lib/runtime/behaviorTuning.d.ts +59 -0
  471. package/lib/runtime/behaviorTuning.js +95 -0
  472. package/lib/runtime/cognitiveRuntime.d.ts +189 -0
  473. package/lib/runtime/cognitiveRuntime.js +490 -0
  474. package/lib/runtime/escalation.d.ts +22 -0
  475. package/lib/runtime/escalation.js +15 -0
  476. package/lib/runtime/governedTask.d.ts +57 -0
  477. package/lib/runtime/governedTask.js +150 -0
  478. package/lib/runtime/index.d.ts +15 -0
  479. package/lib/runtime/index.js +15 -0
  480. package/lib/runtime/kernelRuntime.d.ts +33 -0
  481. package/lib/runtime/kernelRuntime.js +105 -0
  482. package/lib/runtime/operation.d.ts +30 -0
  483. package/lib/runtime/operation.js +1 -0
  484. package/lib/runtime/replay.d.ts +24 -0
  485. package/lib/runtime/replay.js +38 -0
  486. package/lib/runtime/routing.d.ts +12 -0
  487. package/lib/runtime/routing.js +44 -0
  488. package/lib/runtime/safety.d.ts +15 -0
  489. package/lib/runtime/safety.js +28 -0
  490. package/lib/runtime/session.d.ts +147 -0
  491. package/lib/runtime/session.js +214 -0
  492. package/lib/runtime/sessionStore.d.ts +24 -0
  493. package/lib/runtime/sessionStore.js +20 -0
  494. package/lib/runtime/telemetry.d.ts +24 -0
  495. package/lib/runtime/telemetry.js +33 -0
  496. package/lib/runtime/turnStore.d.ts +16 -0
  497. package/lib/runtime/turnStore.js +15 -0
  498. package/lib/scenario/index.d.ts +1 -0
  499. package/lib/scenario/index.js +1 -0
  500. package/lib/scenario/scenario.d.ts +52 -0
  501. package/lib/scenario/scenario.js +210 -0
  502. package/lib/semantic/canonical.d.ts +6 -0
  503. package/lib/semantic/canonical.js +22 -0
  504. package/lib/semantic/index.d.ts +2 -0
  505. package/lib/semantic/index.js +2 -0
  506. package/lib/semantic/sha256.d.ts +1 -0
  507. package/lib/semantic/sha256.js +66 -0
  508. package/lib/storage/appendLog.d.ts +145 -0
  509. package/lib/storage/appendLog.js +299 -0
  510. package/lib/storage/fileAppendSink.d.ts +7 -0
  511. package/lib/storage/fileAppendSink.js +34 -0
  512. package/lib/storage/index.d.ts +2 -0
  513. package/lib/storage/index.js +2 -0
  514. package/lib/store/bindCache.d.ts +9 -0
  515. package/lib/store/bindCache.js +18 -0
  516. package/lib/store/cache.d.ts +48 -0
  517. package/lib/store/cache.js +162 -0
  518. package/lib/store/context.d.ts +10 -0
  519. package/lib/store/context.js +27 -0
  520. package/lib/store/handleStore.d.ts +9 -0
  521. package/lib/store/handleStore.js +25 -0
  522. package/lib/store/index.d.ts +9 -0
  523. package/lib/store/index.js +8 -0
  524. package/lib/store/messageStore.d.ts +9 -0
  525. package/lib/store/messageStore.js +25 -0
  526. package/lib/store/objectStore.d.ts +9 -0
  527. package/lib/store/objectStore.js +25 -0
  528. package/lib/store/processStore.d.ts +9 -0
  529. package/lib/store/processStore.js +25 -0
  530. package/lib/store/threadStore.d.ts +9 -0
  531. package/lib/store/threadStore.js +25 -0
  532. package/lib/store/windowStore.d.ts +9 -0
  533. package/lib/store/windowStore.js +25 -0
  534. package/lib/structure/abstractSyntaxTree.d.ts +181 -0
  535. package/lib/structure/abstractSyntaxTree.js +400 -0
  536. package/lib/structure/avlTree.d.ts +125 -0
  537. package/lib/structure/avlTree.js +369 -0
  538. package/lib/structure/binarySearchTree.d.ts +125 -0
  539. package/lib/structure/binarySearchTree.js +306 -0
  540. package/lib/structure/binaryTree.d.ts +174 -0
  541. package/lib/structure/binaryTree.js +495 -0
  542. package/lib/structure/bloomFilter.d.ts +126 -0
  543. package/lib/structure/bloomFilter.js +177 -0
  544. package/lib/structure/compare.d.ts +55 -0
  545. package/lib/structure/compare.js +96 -0
  546. package/lib/structure/cuckooFilter.d.ts +149 -0
  547. package/lib/structure/cuckooFilter.js +267 -0
  548. package/lib/structure/deque.d.ts +117 -0
  549. package/lib/structure/deque.js +205 -0
  550. package/lib/structure/filterKey.d.ts +19 -0
  551. package/lib/structure/filterKey.js +28 -0
  552. package/lib/structure/hash.d.ts +129 -0
  553. package/lib/structure/hash.js +241 -0
  554. package/lib/structure/heap.d.ts +152 -0
  555. package/lib/structure/heap.js +227 -0
  556. package/lib/structure/index.d.ts +20 -0
  557. package/lib/structure/index.js +20 -0
  558. package/lib/structure/iterator.d.ts +6 -0
  559. package/lib/structure/iterator.js +16 -0
  560. package/lib/structure/lru.d.ts +235 -0
  561. package/lib/structure/lru.js +524 -0
  562. package/lib/structure/ordered.d.ts +89 -0
  563. package/lib/structure/ordered.js +336 -0
  564. package/lib/structure/priority.d.ts +499 -0
  565. package/lib/structure/priority.js +756 -0
  566. package/lib/structure/queue.d.ts +90 -0
  567. package/lib/structure/queue.js +154 -0
  568. package/lib/structure/redBlackTree.d.ts +142 -0
  569. package/lib/structure/redBlackTree.js +644 -0
  570. package/lib/structure/segmentTree.d.ts +129 -0
  571. package/lib/structure/segmentTree.js +205 -0
  572. package/lib/structure/stack.d.ts +77 -0
  573. package/lib/structure/stack.js +107 -0
  574. package/lib/structure/unordered.d.ts +99 -0
  575. package/lib/structure/unordered.js +341 -0
  576. package/lib/thread/index.d.ts +2 -0
  577. package/lib/thread/index.js +2 -0
  578. package/lib/thread/thread.d.ts +107 -0
  579. package/lib/thread/thread.js +81 -0
  580. package/lib/thread/transitions.d.ts +8 -0
  581. package/lib/thread/transitions.js +9 -0
  582. package/lib/types/common.d.ts +80 -0
  583. package/lib/types/common.js +5 -0
  584. package/lib/types/index.d.ts +23 -0
  585. package/lib/types/index.js +1 -0
  586. package/lib/warrant/epistemic.d.ts +141 -0
  587. package/lib/warrant/epistemic.js +1 -0
  588. package/lib/warrant/index.d.ts +3 -0
  589. package/lib/warrant/index.js +3 -0
  590. package/lib/warrant/inquiry.d.ts +69 -0
  591. package/lib/warrant/inquiry.js +119 -0
  592. package/lib/warrant/warrant.d.ts +46 -0
  593. package/lib/warrant/warrant.js +153 -0
  594. package/lib/window/compaction.d.ts +57 -0
  595. package/lib/window/compaction.js +334 -0
  596. package/lib/window/compactionTypes.d.ts +113 -0
  597. package/lib/window/compactionTypes.js +1 -0
  598. package/lib/window/index.d.ts +7 -0
  599. package/lib/window/index.js +3 -0
  600. package/lib/window/page.d.ts +16 -0
  601. package/lib/window/page.js +2 -0
  602. package/lib/window/window.d.ts +68 -0
  603. package/lib/window/window.js +194 -0
  604. package/package.json +22 -1
  605. package/src/authz/index.ts +1 -0
  606. package/src/concept/index.ts +3 -0
  607. package/src/concurrency/index.ts +5 -0
  608. package/src/cooperation/index.ts +6 -0
  609. package/src/delegate/index.ts +2 -0
  610. package/src/error/index.ts +7 -0
  611. package/src/evaluation/index.ts +2 -0
  612. package/src/execution/index.ts +3 -0
  613. package/src/frame/index.ts +1 -0
  614. package/src/index.ts +11 -0
  615. package/src/ledger/index.ts +4 -0
  616. package/src/manifest/index.ts +8 -0
  617. package/src/policy/index.ts +2 -0
  618. package/src/protocol/index.ts +6 -0
  619. package/src/receipt/index.ts +1 -0
  620. package/src/semantic/index.ts +2 -0
  621. package/src/storage/index.ts +2 -0
  622. package/src/structure/index.ts +20 -0
  623. package/src/thread/index.ts +2 -0
  624. package/src/warrant/index.ts +3 -0
  625. package/src/window/index.ts +7 -4
  626. package/tools/rewrite-declaration-extensions.ts +98 -0
  627. package/tsconfig.build.json +14 -0
@@ -0,0 +1,341 @@
1
+ /**
2
+ * Unordered hash set and map.
3
+ *
4
+ * Both containers are separate-chaining hash tables over a power-of-two bucket
5
+ * array, with a load factor of 0.75 and rehash-on-grow. The bucket index is
6
+ * taken from the low bits of a 64-bit hash from `./hash.ts`; collisions are
7
+ * walked as explicit chains and resolved with the equality strategy (never by
8
+ * hash equality alone). No insertion order is maintained: iteration order is
9
+ * unspecified bucket order and may change after a resize.
10
+ *
11
+ * Iteration is deliberately fail-fast: any structural mutation after an
12
+ * iterator is created (`add` of a new value, `set` of a new key, `delete`, or
13
+ * `clear`) makes the iterator throw on its next `next()` call, as does a
14
+ * rehash. Updating the value of an existing map key is not structural and does
15
+ * not invalidate iterators.
16
+ */
17
+ import { HashMask, hashKey, sameKey } from "./hash.js";
18
+ const InitialCapacity = 16;
19
+ /**
20
+ * A clear, uniform error for the fail-fast iteration contract.
21
+ */
22
+ const concurrentModification = (label) => {
23
+ return new Error(`${label}: collection was mutated during iteration`);
24
+ };
25
+ /**
26
+ * Shared power-of-two, separate-chaining table behind both public classes.
27
+ */
28
+ class HashTable {
29
+ buckets = new Array(InitialCapacity).fill(null);
30
+ indexMask = BigInt(InitialCapacity - 1);
31
+ hashFn;
32
+ equalsFn;
33
+ label;
34
+ count = 0;
35
+ version = 0;
36
+ constructor(label, options) {
37
+ this.label = label;
38
+ this.hashFn = options?.hash ?? hashKey;
39
+ this.equalsFn = options?.equals ?? sameKey;
40
+ }
41
+ get size() {
42
+ return this.count;
43
+ }
44
+ hashOf(key) {
45
+ return this.hashFn(key) & HashMask;
46
+ }
47
+ /**
48
+ * Find a node, the node before it in its chain, and its bucket index.
49
+ */
50
+ find(key, hash) {
51
+ const index = Number(hash & this.indexMask);
52
+ let previous = null;
53
+ let node = this.buckets[index];
54
+ while (node !== null) {
55
+ if (this.equalsFn(key, node.key)) {
56
+ return { node, previous, index };
57
+ }
58
+ previous = node;
59
+ node = node.next;
60
+ }
61
+ return null;
62
+ }
63
+ has(key) {
64
+ return this.find(key, this.hashOf(key)) !== null;
65
+ }
66
+ get(key) {
67
+ const hit = this.find(key, this.hashOf(key));
68
+ return hit === null ? undefined : hit.node.value;
69
+ }
70
+ /**
71
+ * Add a key that must not exist yet; returns whether a node was created.
72
+ */
73
+ add(key, value) {
74
+ const hash = this.hashOf(key);
75
+ if (this.find(key, hash) !== null) {
76
+ return false;
77
+ }
78
+ this.insert(key, value, hash);
79
+ return true;
80
+ }
81
+ /**
82
+ * Insert or update; returns whether a node was created.
83
+ */
84
+ set(key, value) {
85
+ const hash = this.hashOf(key);
86
+ const hit = this.find(key, hash);
87
+ if (hit !== null) {
88
+ hit.node.value = value;
89
+ return false;
90
+ }
91
+ this.insert(key, value, hash);
92
+ return true;
93
+ }
94
+ insert(key, value, hash) {
95
+ if (this.count + 1 > (this.buckets.length * 3) / 4) {
96
+ this.grow();
97
+ }
98
+ const index = Number(hash & this.indexMask);
99
+ const node = { key, value, hash, next: this.buckets[index] };
100
+ this.buckets[index] = node;
101
+ this.count += 1;
102
+ this.version += 1;
103
+ }
104
+ /**
105
+ * Double the bucket array and relink every live node exactly once.
106
+ */
107
+ grow() {
108
+ const previousBuckets = this.buckets;
109
+ const nextBuckets = new Array(previousBuckets.length * 2).fill(null);
110
+ const nextMask = BigInt(nextBuckets.length - 1);
111
+ for (let headIndex = 0; headIndex < previousBuckets.length; headIndex += 1) {
112
+ let node = previousBuckets[headIndex];
113
+ while (node !== null) {
114
+ const next = node.next;
115
+ const index = Number(node.hash & nextMask);
116
+ node.next = nextBuckets[index];
117
+ nextBuckets[index] = node;
118
+ node = next;
119
+ }
120
+ }
121
+ this.buckets = nextBuckets;
122
+ this.indexMask = nextMask;
123
+ }
124
+ delete(key) {
125
+ const hit = this.find(key, this.hashOf(key));
126
+ if (hit === null) {
127
+ return false;
128
+ }
129
+ const { node, previous, index } = hit;
130
+ if (previous === null) {
131
+ this.buckets[index] = node.next;
132
+ }
133
+ else {
134
+ previous.next = node.next;
135
+ }
136
+ node.next = null;
137
+ this.count -= 1;
138
+ this.version += 1;
139
+ return true;
140
+ }
141
+ clear() {
142
+ if (this.count === 0) {
143
+ return;
144
+ }
145
+ this.buckets = new Array(InitialCapacity).fill(null);
146
+ this.indexMask = BigInt(InitialCapacity - 1);
147
+ this.count = 0;
148
+ this.version += 1;
149
+ }
150
+ /**
151
+ * Build a fail-fast iterator. The expected version is captured here, when
152
+ * the iterator is requested, not on the first `next()` call.
153
+ */
154
+ *iterate(expectedVersion, select) {
155
+ for (let index = 0; index < this.buckets.length; index += 1) {
156
+ let node = this.buckets[index];
157
+ while (node !== null) {
158
+ if (expectedVersion !== this.version) {
159
+ throw concurrentModification(this.label);
160
+ }
161
+ const value = select(node);
162
+ yield value;
163
+ if (expectedVersion !== this.version) {
164
+ throw concurrentModification(this.label);
165
+ }
166
+ node = node.next;
167
+ }
168
+ }
169
+ }
170
+ keys() {
171
+ return this.iterate(this.version, (node) => node.key);
172
+ }
173
+ values() {
174
+ return this.iterate(this.version, (node) => node.value);
175
+ }
176
+ entries() {
177
+ return this.iterate(this.version, (node) => [node.key, node.value]);
178
+ }
179
+ /**
180
+ * Entries for a set, where the stored value is irrelevant.
181
+ */
182
+ keyPairs() {
183
+ return this.iterate(this.version, (node) => [node.key, node.key]);
184
+ }
185
+ }
186
+ /**
187
+ * An unordered set backed by a separate-chaining hash table.
188
+ *
189
+ * Average O(1) membership, explicit collision chains, power-of-two buckets, a
190
+ * 0.75 load factor, and rehash-on-grow. Iteration order is unspecified (bucket
191
+ * order) and may change after a resize. The public API mirrors
192
+ * `OrderedSet`, including custom {@link KeyStrategy} support.
193
+ *
194
+ * Iteration is fail-fast: a structural mutation (`add` of a new value,
195
+ * `delete`, `clear`, or an internal rehash caused by growth) after an iterator
196
+ * is obtained makes that iterator throw on its next step. Mutating the set
197
+ * during `forEach` therefore also throws once the callback returns and the
198
+ * loop advances.
199
+ */
200
+ export class UnorderedSet {
201
+ table;
202
+ constructor(values, options) {
203
+ this.table = new HashTable("UnorderedSet", options);
204
+ if (values === (void 0)) {
205
+ return;
206
+ }
207
+ const initialValues = [...values];
208
+ for (let valueIndex = 0; valueIndex < initialValues.length; valueIndex += 1) {
209
+ this.table.add(initialValues[valueIndex], undefined);
210
+ }
211
+ }
212
+ get size() {
213
+ return this.table.size;
214
+ }
215
+ clear() {
216
+ this.table.clear();
217
+ }
218
+ add(value) {
219
+ this.table.add(value, undefined);
220
+ return this;
221
+ }
222
+ has(value) {
223
+ return this.table.has(value);
224
+ }
225
+ delete(value) {
226
+ return this.table.delete(value);
227
+ }
228
+ /**
229
+ * Alias of {@link UnorderedSet.values}.
230
+ */
231
+ keys() {
232
+ return this.table.keys();
233
+ }
234
+ values() {
235
+ return this.table.keys();
236
+ }
237
+ entries() {
238
+ return this.table.keyPairs();
239
+ }
240
+ [Symbol.iterator]() {
241
+ return this.table.keys();
242
+ }
243
+ /**
244
+ * Call `callback` for each value; order is unspecified.
245
+ *
246
+ * The table generator is driven by hand so that the fail-fast version check
247
+ * keeps throwing between callback invocations, exactly as a `for…of` loop
248
+ * over `keys()` would.
249
+ *
250
+ * @param callback - Receives the value twice (matching the native `Set`
251
+ * shape) and the set itself.
252
+ * @param thisArg - Value used as `this` when invoking `callback`.
253
+ */
254
+ forEach(callback, thisArg) {
255
+ const iterator = this.table.keys();
256
+ let step = iterator.next();
257
+ while (!step.done) {
258
+ callback.call(thisArg, step.value, step.value, this);
259
+ step = iterator.next();
260
+ }
261
+ }
262
+ }
263
+ /**
264
+ * An unordered map backed by a separate-chaining hash table.
265
+ *
266
+ * Average O(1) lookup, explicit collision chains, power-of-two buckets, a 0.75
267
+ * load factor, and rehash-on-grow. Iteration order is unspecified (bucket
268
+ * order) and may change after a resize. The public API mirrors `OrderedMap`,
269
+ * including custom {@link KeyStrategy} support. Membership is determined by
270
+ * {@link UnorderedMap.has}, so `undefined` is a perfectly valid value.
271
+ *
272
+ * Iteration is fail-fast: a structural mutation (`set` of a new key, `delete`,
273
+ * `clear`, or an internal rehash caused by growth) after an iterator is
274
+ * obtained makes that iterator throw on its next step; updating an existing
275
+ * key's value is allowed. Mutating the key set during `forEach` also throws
276
+ * once the callback returns and the loop advances.
277
+ */
278
+ export class UnorderedMap {
279
+ table;
280
+ constructor(entries, options) {
281
+ this.table = new HashTable("UnorderedMap", options);
282
+ if (entries === (void 0)) {
283
+ return;
284
+ }
285
+ const initialEntries = [...entries];
286
+ for (let entryIndex = 0; entryIndex < initialEntries.length; entryIndex += 1) {
287
+ const [key, value] = initialEntries[entryIndex];
288
+ this.table.set(key, value);
289
+ }
290
+ }
291
+ get size() {
292
+ return this.table.size;
293
+ }
294
+ clear() {
295
+ this.table.clear();
296
+ }
297
+ set(key, value) {
298
+ this.table.set(key, value);
299
+ return this;
300
+ }
301
+ get(key) {
302
+ return this.table.get(key);
303
+ }
304
+ has(key) {
305
+ return this.table.has(key);
306
+ }
307
+ delete(key) {
308
+ return this.table.delete(key);
309
+ }
310
+ keys() {
311
+ return this.table.keys();
312
+ }
313
+ values() {
314
+ return this.table.values();
315
+ }
316
+ entries() {
317
+ return this.table.entries();
318
+ }
319
+ [Symbol.iterator]() {
320
+ return this.table.entries();
321
+ }
322
+ /**
323
+ * Call `callback` for each entry; order is unspecified.
324
+ *
325
+ * The table generator is driven by hand so that the fail-fast version check
326
+ * keeps throwing between callback invocations, exactly as a `for…of` loop
327
+ * over `entries()` would.
328
+ *
329
+ * @param callback - Receives the value, the key, and the map itself.
330
+ * @param thisArg - Value used as `this` when invoking `callback`.
331
+ */
332
+ forEach(callback, thisArg) {
333
+ const iterator = this.table.entries();
334
+ let step = iterator.next();
335
+ while (!step.done) {
336
+ const [key, value] = step.value;
337
+ callback.call(thisArg, value, key, this);
338
+ step = iterator.next();
339
+ }
340
+ }
341
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./thread.js";
2
+ export * from "./transitions.js";
@@ -0,0 +1,2 @@
1
+ export * from "./thread.js";
2
+ export * from "./transitions.js";
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Thread: one task (or goal) that an agent is executing.
3
+ *
4
+ * The agent is the process; a thread is the unit of work the CPU-like scheduler
5
+ * runs. Multiple tasks may be ready for the same agent, but at most one may be
6
+ * `running` at a time (a partial unique index enforces it): an agent does one
7
+ * thing at a time, and switches by scheduling another thread.
8
+ */
9
+ import type { DatabaseSync } from "node:sqlite";
10
+ import type { Budget, Criterion, Id, Usage } from "../types/common.js";
11
+ export { canThreadTransition } from "./transitions.js";
12
+ export type ThreadState = "ready" | "running" | "blocked" | "done" | "failed" | "abandoned";
13
+ export interface ThreadSpec {
14
+ /**
15
+ * Defaults to `t.<pid>.<n>`; must satisfy the AMP id grammar.
16
+ */
17
+ id?: Id;
18
+ pid: number;
19
+ /**
20
+ * Goal this task serves.
21
+ */
22
+ goal: Id;
23
+ statement: string;
24
+ /**
25
+ * At least one observable completion criterion.
26
+ */
27
+ success: Criterion[];
28
+ priority?: number;
29
+ budget?: Budget;
30
+ quantumMs?: number;
31
+ }
32
+ export interface ThreadRecord {
33
+ tid: number;
34
+ id: Id;
35
+ pid: number;
36
+ goal: Id;
37
+ statement: string;
38
+ success: Criterion[];
39
+ state: ThreadState;
40
+ priority: number;
41
+ quantumMs: number;
42
+ sliceUsedMs: number;
43
+ budget: Budget;
44
+ used: Usage;
45
+ blockedOn?: string;
46
+ wakeAt?: string;
47
+ createdAt: string;
48
+ finishedAt?: string;
49
+ exitNote?: string;
50
+ ownerWorker?: string;
51
+ lease: number;
52
+ version: number;
53
+ }
54
+ export interface ThreadPatch {
55
+ blockedOn?: string | null;
56
+ wakeAt?: string | null;
57
+ sliceUsedMs?: number;
58
+ finishedAt?: string;
59
+ exitNote?: string;
60
+ }
61
+ /**
62
+ * Task lifecycle. `done`, `failed` and `abandoned` are terminal.
63
+ */
64
+ export declare const getThread: (db: DatabaseSync, tid: number) => ThreadRecord;
65
+ export declare const findThread: (db: DatabaseSync, id: Id) => ThreadRecord | undefined;
66
+ export declare const listThreads: (db: DatabaseSync, pid?: number) => ThreadRecord[];
67
+ export declare const spawnThread: (db: DatabaseSync, spec: ThreadSpec, at: string) => ThreadRecord;
68
+ /**
69
+ * Oldest highest-priority task whose agent may run it.
70
+ */
71
+ export declare const nextReadyThread: (db: DatabaseSync) => ThreadRecord | undefined;
72
+ export declare const transitionThread: (db: DatabaseSync, tid: number, from: ThreadState | ThreadState[], to: ThreadState, patch?: ThreadPatch, lease?: number) => ThreadRecord;
73
+ export interface ThreadClaim {
74
+ tid: number;
75
+ lease: number;
76
+ workerId: string;
77
+ }
78
+ /**
79
+ * Atomically move a ready task to running; the lease is the fencing token.
80
+ */
81
+ export declare const claimThread: (db: DatabaseSync, tid: number, workerId: string) => ThreadClaim;
82
+ export declare const releaseThread: (db: DatabaseSync, tid: number, workerId: string, lease: number) => boolean;
83
+ /**
84
+ * Charge the task's own slice. Exhaustion fails the task, not the agent.
85
+ */
86
+ export declare const chargeThread: (db: DatabaseSync, tid: number, usage: Budget, at: string) => {
87
+ ok: boolean;
88
+ exceeded: string[];
89
+ };
90
+ /**
91
+ * Wake every thread blocked on one condition (mailbox, object, handle).
92
+ */
93
+ export declare const notifyCondition: (db: DatabaseSync, condition: string) => number;
94
+ /**
95
+ * Promote sleeping tasks whose `wake_at` has passed.
96
+ */
97
+ export declare const wakeSleeping: (db: DatabaseSync, at: string) => number;
98
+ /**
99
+ * Crash recovery: requeue running tasks owned by a dead worker; agents go idle.
100
+ */
101
+ export declare const recoverThreads: (db: DatabaseSync, workerId?: string) => {
102
+ threads: number;
103
+ processes: number;
104
+ };
105
+ export declare const liveThreadCount: (db: DatabaseSync, pid: number) => number;
106
+ export declare const readyThreadCount: (db: DatabaseSync, pid: number) => number;
107
+ export declare const runningThreadCount: (db: DatabaseSync, pid: number) => number;
@@ -0,0 +1,81 @@
1
+ import { isId } from "../boundary/ids.js";
2
+ import { KernelError } from "../error/kernelError.js";
3
+ import { getProcess } from "../process/process.js";
4
+ import { ExecutionRepository } from "../database/repository/executionRepository.js";
5
+ export { canThreadTransition } from "./transitions.js";
6
+ /**
7
+ * Task lifecycle. `done`, `failed` and `abandoned` are terminal.
8
+ */
9
+ export const getThread = (db, tid) => new ExecutionRepository(db).getTask(tid);
10
+ export const findThread = (db, id) => new ExecutionRepository(db).findTaskByExternalId(id);
11
+ export const listThreads = (db, pid) => new ExecutionRepository(db).listTasks(pid);
12
+ export const spawnThread = (db, spec, at) => {
13
+ const agent = getProcess(db, spec.pid);
14
+ if (!["created", "idle", "running"].includes(agent.state)) {
15
+ throw new KernelError("invalid_transition", [`agent ${agent.id} is ${agent.state}`]);
16
+ }
17
+ if (!isId(spec.goal)) {
18
+ throw new KernelError("invalid_thread", [`goal ${spec.goal} is not a valid AMP id`]);
19
+ }
20
+ if (spec.statement.trim().length === 0) {
21
+ throw new KernelError("invalid_thread", ["statement is empty"]);
22
+ }
23
+ if (!Array.isArray(spec.success) || spec.success.length === 0) {
24
+ throw new KernelError("invalid_thread", ["success must contain at least one criterion"]);
25
+ }
26
+ for (const criterion of spec.success) {
27
+ if (!isId(criterion.id) || criterion.statement.trim().length === 0 || criterion.check.trim().length === 0) {
28
+ throw new KernelError("invalid_thread", [`criterion ${criterion.id} is incomplete`]);
29
+ }
30
+ }
31
+ const repository = new ExecutionRepository(db);
32
+ const duplicate = repository.findActiveTaskByGoal(spec.pid, spec.goal);
33
+ if (duplicate !== (void 0)) {
34
+ throw new KernelError("duplicate_task", [`goal ${spec.goal} already has active task ${duplicate.tid}`]);
35
+ }
36
+ const count = repository.countTasks(spec.pid);
37
+ const id = spec.id ?? `t.${spec.pid}.${count + 1}`;
38
+ if (!isId(id)) {
39
+ throw new KernelError("invalid_thread", [`id ${id} is not a valid AMP id`]);
40
+ }
41
+ return repository.createTask({
42
+ id,
43
+ pid: spec.pid,
44
+ goal: spec.goal,
45
+ statement: spec.statement,
46
+ success: spec.success,
47
+ priority: spec.priority,
48
+ quantumMs: spec.quantumMs,
49
+ budget: spec.budget,
50
+ at,
51
+ });
52
+ };
53
+ /**
54
+ * Oldest highest-priority task whose agent may run it.
55
+ */
56
+ export const nextReadyThread = (db) => new ExecutionRepository(db).nextReadyTask();
57
+ export const transitionThread = (db, tid, from, to, patch = {}, lease) => new ExecutionRepository(db).transitionTask(tid, from, to, patch, lease);
58
+ /**
59
+ * Atomically move a ready task to running; the lease is the fencing token.
60
+ */
61
+ export const claimThread = (db, tid, workerId) => new ExecutionRepository(db).claimTask(tid, workerId);
62
+ export const releaseThread = (db, tid, workerId, lease) => new ExecutionRepository(db).releaseTask(tid, workerId, lease);
63
+ /**
64
+ * Charge the task's own slice. Exhaustion fails the task, not the agent.
65
+ */
66
+ export const chargeThread = (db, tid, usage, at) => new ExecutionRepository(db).chargeTask(tid, usage, at);
67
+ /**
68
+ * Wake every thread blocked on one condition (mailbox, object, handle).
69
+ */
70
+ export const notifyCondition = (db, condition) => new ExecutionRepository(db).notify(condition);
71
+ /**
72
+ * Promote sleeping tasks whose `wake_at` has passed.
73
+ */
74
+ export const wakeSleeping = (db, at) => new ExecutionRepository(db).wake(at);
75
+ /**
76
+ * Crash recovery: requeue running tasks owned by a dead worker; agents go idle.
77
+ */
78
+ export const recoverThreads = (db, workerId) => new ExecutionRepository(db).recover(workerId);
79
+ export const liveThreadCount = (db, pid) => new ExecutionRepository(db).liveTaskCount(pid);
80
+ export const readyThreadCount = (db, pid) => new ExecutionRepository(db).readyTaskCount(pid);
81
+ export const runningThreadCount = (db, pid) => new ExecutionRepository(db).runningTaskCount(pid);
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Pure thread lifecycle predicate; no DB or domain implementation imports.
3
+ */
4
+ import type { ThreadState } from "./thread.js";
5
+ type ThreadTransition = (from: ThreadState, to: ThreadState) => boolean;
6
+ export declare const ThreadEdges: Record<ThreadState, readonly ThreadState[]>;
7
+ export declare const canThreadTransition: ThreadTransition;
8
+ export {};
@@ -0,0 +1,9 @@
1
+ export const ThreadEdges = {
2
+ ready: ["running", "failed", "abandoned"],
3
+ running: ["ready", "blocked", "done", "failed", "abandoned"],
4
+ blocked: ["ready", "done", "failed", "abandoned"],
5
+ done: [],
6
+ failed: [],
7
+ abandoned: [],
8
+ };
9
+ export const canThreadTransition = (from, to) => ThreadEdges[from].includes(to);
@@ -0,0 +1,80 @@
1
+ /**
2
+ * AMP v0.1 — common primitives.
3
+ * Mirrors docs/schemas/common.schema.json.
4
+ */
5
+ export type Id = string;
6
+ export type Digest = string;
7
+ export type Timestamp = string;
8
+ /**
9
+ * Process id: in AMP a process is an agent, i.e. a person.
10
+ */
11
+ export type Pid = number;
12
+ /**
13
+ * Credence in [0, 1]. For claims this is DERIVED from tier + evidence, never authored.
14
+ */
15
+ export type Confidence = number;
16
+ /**
17
+ * Where evidence came from, which caps how far it can promote a claim.
18
+ */
19
+ export type Trust = "self" | "verified" | "trusted" | "asserted" | "inferred" | "external";
20
+ /**
21
+ * Epistemic investment tier.
22
+ * T0 assumed · T1 sourced (entailment) · T2 observed · T3 tested · T4 replicated
23
+ */
24
+ export type Tier = "T0" | "T1" | "T2" | "T3" | "T4";
25
+ export type RefKind = "entity" | "concept" | "process" | "thread" | "question" | "hypothesis" | "claim" | "evidence" | "goal" | "plan" | "task" | "tool" | "memory" | "other" | "human" | "agent" | "event" | "handle" | "frame" | "self" | "unknown" | "common-ground" | "capability" | "receipt" | "org";
26
+ /**
27
+ * A pointer, not a copy. The ledger stores ids; content lives wherever it lives.
28
+ */
29
+ export interface Ref {
30
+ kind: RefKind;
31
+ id: Id;
32
+ label?: string;
33
+ }
34
+ export type ProvenanceKind = "observation" | "testimony" | "inference" | "tool" | "memory" | "document" | "simulation";
35
+ export interface Provenance {
36
+ source: string;
37
+ kind?: ProvenanceKind;
38
+ trust?: Trust;
39
+ at?: Timestamp;
40
+ digest?: Digest;
41
+ note?: string;
42
+ }
43
+ /**
44
+ * Five-dimension attention budget. Dimensions do not convert into each other.
45
+ */
46
+ export interface Budget {
47
+ tokens?: number;
48
+ ms?: number;
49
+ calls?: number;
50
+ interrupts?: number;
51
+ money?: number;
52
+ }
53
+ export type Usage = Budget;
54
+ export interface Signature {
55
+ role: "self" | "host" | "registry" | "org" | "tenant";
56
+ alg: "ed25519";
57
+ kid: string;
58
+ sig: string;
59
+ }
60
+ /**
61
+ * An observable success / abandonment condition. `check` must be executable.
62
+ */
63
+ export interface Criterion {
64
+ id: Id;
65
+ statement: string;
66
+ check: string;
67
+ kind?: "observe" | "query" | "assert";
68
+ }
69
+ /**
70
+ * Opaque reference to an oversized result. Never a capability token.
71
+ */
72
+ export interface Handle {
73
+ id: string;
74
+ kind: "table" | "text" | "tree" | "blob" | "graph";
75
+ tokens?: number;
76
+ bytes?: number;
77
+ preview?: string;
78
+ scope: "turn" | "session" | "task";
79
+ ttl_ms?: number;
80
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * AMP v0.1 — common primitives.
3
+ * Mirrors docs/schemas/common.schema.json.
4
+ */
5
+ export {};
@@ -0,0 +1,23 @@
1
+ /**
2
+ * AMP v0.1 — public type surface.
3
+ *
4
+ * The shared primitives stay in this directory. Every domain owns its own
5
+ * schema-mirroring types next to the code that enforces them; this barrel
6
+ * re-exports the whole surface for hosts and tools that want one import.
7
+ *
8
+ * These types mirror docs/schemas/*.schema.json one-to-one.
9
+ */
10
+ export type * from "./common.js";
11
+ export type * from "../concept/concept.js";
12
+ export type * from "../attention/socialTypes.js";
13
+ export type * from "../cooperation/collaboration.js";
14
+ export type * from "../delegate/teamTypes.js";
15
+ export type * from "../goal/plan.js";
16
+ export type * from "../frame/frame.js";
17
+ export type * from "../window/compactionTypes.js";
18
+ export type * from "../concept/conceptBudgetTypes.js";
19
+ export type * from "../manifest/federationTypes.js";
20
+ export type * from "../manifest/manifest.js";
21
+ export type * from "../protocol/protocol.js";
22
+ export type * from "../receipt/receipt.js";
23
+ export type * from "../warrant/epistemic.js";
@@ -0,0 +1 @@
1
+ export {};