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,150 @@
1
+ import { GovernanceError, decideControl, legacyInteractionMix, legacyScenarioMix, loadAttentionManifest, verifyAttentionManifest, verifyCredential, } from "../governance/index.js";
2
+ const effectOf = (risk) => {
3
+ if (risk === "destructive") {
4
+ return "write-irreversible";
5
+ }
6
+ if (risk === "write") {
7
+ return "write-reversible";
8
+ }
9
+ return "read";
10
+ };
11
+ /**
12
+ * A task that cannot start is rejected before the model is called: a frozen
13
+ * perspective, a tripped breaker, an expired manifest or a stale credential
14
+ * never reach generation.
15
+ *
16
+ * Tool calls are audited after the runtime returns them. A true pre-call gate
17
+ * belongs in the runtime's `ToolPolicy`; this adapter records the legal verdict
18
+ * and can freeze the perspective for the next turn.
19
+ */
20
+ export class GovernedTask {
21
+ options;
22
+ constructor(options) {
23
+ if (typeof (options.now) !== "function") {
24
+ throw new TypeError("GovernedTask requires a clock");
25
+ }
26
+ this.options = options;
27
+ }
28
+ manifest() {
29
+ return this.options.manifest;
30
+ }
31
+ /**
32
+ * Run one turn under the manifest, then settle it.
33
+ */
34
+ async turn(input, override = {}) {
35
+ const at = this.options.now();
36
+ if (this.options.legal.isBlocked()) {
37
+ throw new GovernanceError("legal-breaker", "the legal breaker is active");
38
+ }
39
+ if (this.options.legal.isFrozen(this.options.manifest.perspective)) {
40
+ throw new GovernanceError("legal-frozen", `${this.options.manifest.perspective} is frozen`);
41
+ }
42
+ const verdict = verifyAttentionManifest(this.options.manifest, at);
43
+ if (!verdict.ok) {
44
+ throw new GovernanceError(verdict.code === "manifest-expired" ? "manifest-expired" : "manifest-unsigned", verdict.detail ?? "manifest is not valid");
45
+ }
46
+ const loaded = loadAttentionManifest(this.options.manifest, { perspective: this.options.manifest.perspective, at });
47
+ const binding = this.options.manifest.budget;
48
+ const ledger = binding.scope === "agent"
49
+ ? this.options.budget.snapshot("agent", binding.agent ?? "")
50
+ : this.options.budget.snapshot("perspective", binding.perspective ?? this.options.manifest.perspective);
51
+ if (ledger.frozen) {
52
+ throw new GovernanceError("budget-frozen", `${binding.scope} ledger is frozen`);
53
+ }
54
+ let credentialVerdict;
55
+ if (this.options.credential !== (void 0)) {
56
+ const checked = verifyCredential(this.options.credential, {
57
+ at,
58
+ to: this.options.manifest.perspective,
59
+ manifest: { id: this.options.manifest.id, version: this.options.manifest.version },
60
+ });
61
+ if (!checked.valid) {
62
+ throw new GovernanceError("credential-scope", `${checked.code}: ${checked.detail}`);
63
+ }
64
+ credentialVerdict = { id: this.options.credential.id, verdict: checked.code };
65
+ }
66
+ this.options.context.openPerspective(this.options.manifest.perspective, { id: this.options.manifest.id, version: this.options.manifest.version });
67
+ const systemNote = `Governance: evidence floor ${this.options.manifest.evidenceFloor}; ` +
68
+ `forbidden ${this.options.manifest.constraints.forbidden.slice(0, 3).join(", ")}.`;
69
+ const governedOverride = {
70
+ ...override,
71
+ scenarioMix: override.scenarioMix ?? legacyScenarioMix(this.options.manifest.scenario),
72
+ interactionMix: override.interactionMix ?? legacyInteractionMix(this.options.manifest.modes),
73
+ ...(override.systemNote === (void 0) ? { systemNote } : {}),
74
+ };
75
+ const turn = await this.options.runtime.respond(input, governedOverride);
76
+ const legal = [];
77
+ const toolCalls = turn.toolCalls ?? [];
78
+ for (let index = 0; index < toolCalls.length; index += 1) {
79
+ const call = toolCalls[index];
80
+ legal.push(this.options.legal.enforceTool({
81
+ perspective: this.options.manifest.perspective,
82
+ scenario: this.options.manifest.scenario,
83
+ action: call.name,
84
+ effect: effectOf(call.risk),
85
+ }));
86
+ }
87
+ const usage = turn.usage;
88
+ const tokens = (usage?.inputTokens ?? 0) + (usage?.outputTokens ?? 0);
89
+ const chargeRequest = binding.scope === "agent"
90
+ ? {
91
+ scope: "agent",
92
+ agent: binding.agent ?? "",
93
+ amount: { tokens },
94
+ reason: `turn ${turn.turnId}`,
95
+ requestedBy: this.options.manifest.perspective,
96
+ }
97
+ : {
98
+ scope: "perspective",
99
+ perspective: binding.perspective ?? this.options.manifest.perspective,
100
+ amount: { tokens },
101
+ reason: `turn ${turn.turnId}`,
102
+ requestedBy: this.options.manifest.perspective,
103
+ };
104
+ const charge = this.options.budget.charge(chargeRequest);
105
+ const overall = turn.answerScore?.overall ?? 0.5;
106
+ const posterior = { alpha: 1 + overall * 4, beta: 1 + (1 - overall) * 4 };
107
+ const control = decideControl({
108
+ scenario: this.options.manifest.scenario,
109
+ modes: this.options.manifest.modes,
110
+ posterior,
111
+ conflict: (turn.toolErrors ?? 0) > 0,
112
+ voi: 1 - overall,
113
+ openQuestions: 0,
114
+ });
115
+ const receipt = this.options.context.writeReceipt(this.options.manifest.perspective, {
116
+ conclusion: turn.answer.slice(0, 180).length > 0 ? turn.answer.slice(0, 180) : "turn completed",
117
+ evidence: loaded.focus.slice(0, 3).map((item) => item.target),
118
+ confidence: Math.max(0, Math.min(1, overall)),
119
+ budget: { tokens },
120
+ manifest: { id: this.options.manifest.id, version: this.options.manifest.version },
121
+ scenario: this.options.manifest.scenario,
122
+ modes: this.options.manifest.modes,
123
+ openQuestions: control.stop ? [] : ["review the residual uncertainty"],
124
+ });
125
+ const auditEntry = this.options.audit === (void 0)
126
+ ? undefined
127
+ : await this.options.audit.recordTurn({
128
+ turnId: turn.turnId,
129
+ perspective: this.options.manifest.perspective,
130
+ manifest: { id: this.options.manifest.id, version: this.options.manifest.version, digest: this.options.manifest.digest },
131
+ tokens,
132
+ charge,
133
+ control: { action: control.action, stop: control.stop, escalate: control.escalate, approvalRequired: control.approvalRequired },
134
+ receiptId: receipt.id,
135
+ ...(legal.flatMap((entry) => entry.violations.map((violation) => violation.code)).length === 0
136
+ ? {}
137
+ : { legalCodes: legal.flatMap((entry) => entry.violations.map((violation) => violation.code)) }),
138
+ });
139
+ return {
140
+ turn,
141
+ manifest: loaded,
142
+ ...(credentialVerdict === (void 0) ? {} : { credential: credentialVerdict }),
143
+ legal,
144
+ charge,
145
+ control,
146
+ receipt,
147
+ ...(auditEntry === (void 0) ? {} : { audit: auditEntry }),
148
+ };
149
+ }
150
+ }
@@ -0,0 +1,15 @@
1
+ export * from "./safety.js";
2
+ export * from "./routing.js";
3
+ export * from "./cognitiveRuntime.js";
4
+ export * from "./kernelRuntime.js";
5
+ export * from "./session.js";
6
+ export * from "./sessionStore.js";
7
+ export * from "./telemetry.js";
8
+ export * from "./escalation.js";
9
+ export * from "./action.js";
10
+ export * from "./operation.js";
11
+ export * from "./behavior.js";
12
+ export * from "./behaviorTuning.js";
13
+ export * from "./turnStore.js";
14
+ export * from "./replay.js";
15
+ export * from "./governedTask.js";
@@ -0,0 +1,15 @@
1
+ export * from "./safety.js";
2
+ export * from "./routing.js";
3
+ export * from "./cognitiveRuntime.js";
4
+ export * from "./kernelRuntime.js";
5
+ export * from "./session.js";
6
+ export * from "./sessionStore.js";
7
+ export * from "./telemetry.js";
8
+ export * from "./escalation.js";
9
+ export * from "./action.js";
10
+ export * from "./operation.js";
11
+ export * from "./behavior.js";
12
+ export * from "./behaviorTuning.js";
13
+ export * from "./turnStore.js";
14
+ export * from "./replay.js";
15
+ export * from "./governedTask.js";
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Kernel-backed cognitive runtime.
3
+ *
4
+ * The standalone `CognitiveRuntime` owns the turn loop; this adapter binds one
5
+ * turn to a kernel task. The kernel provides the lease, budget accounting,
6
+ * receipt, step row and hash-chained `runtime.turn` object. The runtime itself
7
+ * still has no SQL/database dependency.
8
+ */
9
+ import type { Kernel, StepReport } from "../kernel/index.js";
10
+ import type { CognitiveRuntime, RuntimeTurn } from "./cognitiveRuntime.js";
11
+ export interface KernelRuntimeTurn {
12
+ report: StepReport;
13
+ turn: RuntimeTurn;
14
+ objectId: string;
15
+ receiptId: string;
16
+ }
17
+ export interface KernelRuntimeOptions {
18
+ kernel: Kernel;
19
+ cognitive: CognitiveRuntime;
20
+ onTurn?: (result: KernelRuntimeTurn) => void;
21
+ }
22
+ export declare class KernelRuntime {
23
+ private readonly kernel;
24
+ private readonly cognitive;
25
+ private readonly onTurn?;
26
+ private counter;
27
+ constructor(options: KernelRuntimeOptions);
28
+ /**
29
+ * Run one exact task (not "next ready") through an async model turn.
30
+ */
31
+ runTask(tid: number, input: string): Promise<KernelRuntimeTurn | undefined>;
32
+ private serialize;
33
+ }
@@ -0,0 +1,105 @@
1
+ const mean = (value) => value.mean;
2
+ export class KernelRuntime {
3
+ kernel;
4
+ cognitive;
5
+ onTurn;
6
+ counter = 0;
7
+ constructor(options) {
8
+ this.kernel = options.kernel;
9
+ this.cognitive = options.cognitive;
10
+ this.onTurn = options.onTurn;
11
+ }
12
+ /**
13
+ * Run one exact task (not "next ready") through an async model turn.
14
+ */
15
+ async runTask(tid, input) {
16
+ let turn;
17
+ let objectId;
18
+ const report = await this.kernel.stepAsync(async (context) => {
19
+ turn = await this.cognitive.respond(input);
20
+ objectId = `runtime.turn.${context.task.tid}.${++this.counter}`;
21
+ const events = [{ topic: "runtime.receipt", payload: { task: context.task.tid, ...this.serialize(turn) } }];
22
+ const approvals = turn.approvals ?? [];
23
+ for (let index = 0; index < approvals.length; index += 1) {
24
+ const approval = approvals[index];
25
+ events.push({ topic: "runtime.approval", payload: { task: context.task.tid, pid: turn.pid, turnId: turn.turnId, ...approval } });
26
+ }
27
+ return {
28
+ status: "done",
29
+ usage: { tokens: (turn.usage?.inputTokens ?? 0) + (turn.usage?.outputTokens ?? 0) },
30
+ objects: [{ kind: "runtime.turn", id: objectId, body: this.serialize(turn) }],
31
+ events,
32
+ };
33
+ }, tid);
34
+ if (report === (void 0) || turn === (void 0) || objectId === (void 0)) {
35
+ return undefined;
36
+ }
37
+ const result = { report, turn, objectId, receiptId: report.receiptId };
38
+ this.onTurn?.(result);
39
+ return result;
40
+ }
41
+ serialize(turn) {
42
+ return {
43
+ turnId: turn.turnId,
44
+ sessionId: turn.sessionId,
45
+ scope: turn.scope,
46
+ pid: turn.pid,
47
+ input: turn.input,
48
+ at: turn.at,
49
+ user: {
50
+ quality: turn.user.quality,
51
+ state: turn.user.state,
52
+ dimensions: Object.fromEntries(Object.entries(turn.user.dimensions).map(([key, value]) => [key, mean(value)])),
53
+ },
54
+ scenario: {
55
+ weights: turn.scenario.weights,
56
+ active: turn.scenario.active,
57
+ mode: turn.scenario.mode,
58
+ tokenBudgetFactor: turn.scenario.tokenBudgetFactor,
59
+ contextDepth: turn.scenario.contextDepth,
60
+ rationale: turn.scenario.rationale,
61
+ },
62
+ interaction: {
63
+ weights: turn.interaction.weights,
64
+ primary: turn.interaction.primary,
65
+ secondary: turn.interaction.secondary,
66
+ sequence: turn.interaction.sequence,
67
+ moves: turn.interaction.moves,
68
+ response: turn.interaction.response,
69
+ safety: turn.interaction.safety,
70
+ rationale: turn.interaction.rationale,
71
+ },
72
+ attention: {
73
+ utilization: turn.attention.utilization,
74
+ pressure: turn.attention.pressure,
75
+ rest: turn.attention.rest,
76
+ foregroundSlots: turn.attention.foreground?.slots ?? 0,
77
+ safetySlots: turn.attention.process.safetySlots,
78
+ recoveryDebt: turn.attention.process.recoveryDebt,
79
+ },
80
+ answer: turn.answer,
81
+ answerScore: turn.answerScore === (void 0)
82
+ ? undefined
83
+ : {
84
+ overall: turn.answerScore.overall,
85
+ dimensions: Object.fromEntries(Object.entries(turn.answerScore.dimensions).map(([key, value]) => [key, mean(value)])),
86
+ },
87
+ usage: turn.usage,
88
+ finishReason: turn.finishReason,
89
+ toolCalls: turn.toolCalls,
90
+ restSuggested: turn.restSuggested,
91
+ latencyMs: turn.latencyMs,
92
+ toolErrors: turn.toolErrors,
93
+ telemetry: turn.telemetry,
94
+ escalationId: turn.escalationId,
95
+ behavior: turn.behavior,
96
+ actions: turn.actions,
97
+ operations: turn.operations,
98
+ approvals: turn.approvals,
99
+ diagnosis: turn.diagnosis,
100
+ safety: turn.safety,
101
+ trace: turn.trace,
102
+ runtimeReceiptId: turn.receiptId,
103
+ };
104
+ }
105
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Operation = atomic execution primitive. Only operations touch external state.
3
+ */
4
+ export type OperationId = string;
5
+ export type OperationKind = "llm.complete" | "tool.call" | "memory.write" | "policy.check" | "human.handoff";
6
+ export type SideEffect = "none" | "read" | "write" | "destructive";
7
+ export type OperationStatus = "running" | "ok" | "error" | "denied";
8
+ export interface OperationRecord {
9
+ id: OperationId;
10
+ actionId: string;
11
+ kind: OperationKind;
12
+ input: unknown;
13
+ executor: string;
14
+ sideEffect: SideEffect;
15
+ idempotencyKey?: string;
16
+ timeoutMs?: number;
17
+ status: OperationStatus;
18
+ result?: unknown;
19
+ evidenceId?: string;
20
+ }
21
+ /**
22
+ * Independent audit record for a tool approval/denial.
23
+ */
24
+ export interface ApprovalRecord {
25
+ operationId: string;
26
+ tool: string;
27
+ risk: SideEffect;
28
+ decision: string;
29
+ status: "allowed" | "denied" | "not_required";
30
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ import type { RuntimeTurn } from "./cognitiveRuntime.js";
2
+ import type { TurnStore } from "./turnStore.js";
3
+ export interface ReplayedTurn {
4
+ turnId: string;
5
+ sessionId?: string;
6
+ pid: number;
7
+ input: string;
8
+ output: string;
9
+ behaviorIds: string[];
10
+ actions: Array<{
11
+ id: string;
12
+ intent: string;
13
+ status: string;
14
+ operations: string[];
15
+ }>;
16
+ operations: Array<{
17
+ id: string;
18
+ kind: string;
19
+ status: string;
20
+ actionId: string;
21
+ }>;
22
+ }
23
+ export declare const replayTurn: (turn: RuntimeTurn) => ReplayedTurn;
24
+ export declare const replayStoredTurn: (store: TurnStore, turnId: string) => ReplayedTurn;
@@ -0,0 +1,38 @@
1
+ export const replayTurn = (turn) => {
2
+ const actions = turn.actions ?? [];
3
+ const operations = turn.operations ?? [];
4
+ const actionIds = new Set(actions.map((action) => action.id));
5
+ const operationIds = new Set(operations.map((operation) => operation.id));
6
+ for (let index = 0; index < operations.length; index += 1) {
7
+ const operation = operations[index];
8
+ if (!actionIds.has(operation.actionId)) {
9
+ throw new Error(`operation ${operation.id} references missing action ${operation.actionId}`);
10
+ }
11
+ }
12
+ for (let actionIndex = 0; actionIndex < actions.length; actionIndex += 1) {
13
+ const action = actions[actionIndex];
14
+ for (let operationIndex = 0; operationIndex < action.operationIds.length; operationIndex += 1) {
15
+ const operationId = action.operationIds[operationIndex];
16
+ if (!operationIds.has(operationId)) {
17
+ throw new Error(`action ${action.id} references missing operation ${operationId}`);
18
+ }
19
+ }
20
+ }
21
+ return {
22
+ turnId: turn.turnId,
23
+ ...(turn.sessionId === (void 0) ? {} : { sessionId: turn.sessionId }),
24
+ pid: turn.pid,
25
+ input: turn.input,
26
+ output: turn.answer,
27
+ behaviorIds: (turn.behavior?.activations ?? []).map((activation) => activation.behaviorId),
28
+ actions: actions.map((action) => ({ id: action.id, intent: action.intent, status: action.status, operations: [...action.operationIds] })),
29
+ operations: operations.map((operation) => ({ id: operation.id, kind: operation.kind, status: operation.status, actionId: operation.actionId })),
30
+ };
31
+ };
32
+ export const replayStoredTurn = (store, turnId) => {
33
+ const turn = store.get(turnId);
34
+ if (turn === (void 0)) {
35
+ throw new Error(`unknown turn ${turnId}`);
36
+ }
37
+ return replayTurn(turn);
38
+ };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Lightweight routing from text/user state to scenario and interaction mixes.
3
+ *
4
+ * This is a rule-based prior, not a classifier. It exists so the runtime has a
5
+ * complete loop; later it should be replaced/calibrated by the Bayesian engine
6
+ * and real receipts.
7
+ */
8
+ import type { UserScore } from "../bayes/engine.js";
9
+ import type { InteractionMix } from "../interaction/interaction.js";
10
+ import type { ScenarioMix } from "../scenario/scenario.js";
11
+ export declare const inferScenarioMix: (text: string) => ScenarioMix;
12
+ export declare const inferInteractionMix: (user: UserScore) => InteractionMix;
@@ -0,0 +1,44 @@
1
+ const count = (text, pattern) => (text.match(pattern) ?? []).length;
2
+ export const inferScenarioMix = (text) => {
3
+ const engineering = count(text, /\b(code|bug|typescript|javascript|api|sql|deploy|test|build|refactor|stack|error)\b/gi);
4
+ const research = count(text, /\b(paper|study|literature|hypothesis|evidence|theory|experiment|survey)\b/gi);
5
+ const investigation = count(text, /\b(incident|root cause|audit|forensic|postmortem|timeline|outage)\b/gi);
6
+ const office = count(text, /\b(email|schedule|meeting|document|calendar|report|deadline|stakeholder)\b/gi);
7
+ const writing = count(text, /\b(write|draft|rewrite|edit|style|tone|copy|article)\b/gi);
8
+ const collaboration = count(text, /\b(team|coordinate|handoff|review|pair|collaborate|sync|owner)\b/gi);
9
+ const iteration = count(text, /\b(iterate|version|prototype|quick|try|loop|experiment)\b/gi);
10
+ const chat = count(text, /\b(hi|hello|thanks|feel|feeling|tired|overwhelmed|anxious|happy|sad)\b/gi);
11
+ const scores = [
12
+ ["engineering", engineering],
13
+ ["research", research],
14
+ ["investigation", investigation],
15
+ ["office", office],
16
+ ["writing", writing],
17
+ ["collaboration", collaboration],
18
+ ["iteration", iteration],
19
+ ["chat", chat],
20
+ ];
21
+ scores.sort((left, right) => right[1] - left[1]);
22
+ if (scores[0][1] === 0) {
23
+ return { office: 0.2, collaboration: 0.2, engineering: 0.2, chat: 0.2, writing: 0.2 };
24
+ }
25
+ const top = scores.filter(([, score]) => score > 0).slice(0, 3);
26
+ const total = top.reduce((sum, [, score]) => sum + score, 0);
27
+ const mix = {};
28
+ for (const [kind, score] of top) {
29
+ mix[kind] = score / total;
30
+ }
31
+ return mix;
32
+ };
33
+ export const inferInteractionMix = (user) => {
34
+ if (user.state.emotionalIntensity > 0.6) {
35
+ return { affect: 0.55, think: 0.2, converge: 0.2, inspire: 0.05 };
36
+ }
37
+ if (user.state.urgency > 0.6) {
38
+ return { converge: 0.55, think: 0.25, affect: 0.2 };
39
+ }
40
+ if (user.dimensions.clarity.mean < 0.4) {
41
+ return { inspire: 0.45, affect: 0.25, think: 0.3 };
42
+ }
43
+ return { think: 0.55, converge: 0.25, orchestrate: 0.2 };
44
+ };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Safety gates for interaction output.
3
+ *
4
+ * These are conservative, pattern-based guards, not a classifier. They block
5
+ * clear crisis/diagnosis/manipulation cases and leave the final judgment to a
6
+ * human escalation path. They must not be treated as medical advice.
7
+ */
8
+ import type { InteractionPlan } from "../interaction/interaction.js";
9
+ export type SafetyAction = "allow" | "refuse" | "escalate";
10
+ export interface SafetyDecision {
11
+ action: SafetyAction;
12
+ reasons: string[];
13
+ }
14
+ export declare const checkSafety: (userText: string, interaction: InteractionPlan, answerText?: string) => SafetyDecision;
15
+ export declare const safetyFallback: (action: SafetyAction) => string;
@@ -0,0 +1,28 @@
1
+ const crisisPatterns = [
2
+ /\b(suicide|suicidal|kill myself|end my life|self[- ]?harm|hurt myself|overdose)\b/i,
3
+ /\b(immediate danger|emergency|someone is going to hurt me)\b/i,
4
+ ];
5
+ const diagnosisPatterns = [/\byou (have|are diagnosed with|suffer from) (depression|anxiety disorder|bipolar|ptsd|adhd|autism)\b/i, /\byour diagnosis is\b/i];
6
+ const manipulationPatterns = [/\byou (only )?need me\b/i, /\bdon't (leave|trust anyone else)\b/i, /\bonly I (understand|can help) you\b/i];
7
+ export const checkSafety = (userText, interaction, answerText = "") => {
8
+ const reasons = [];
9
+ if (crisisPatterns.some((pattern) => pattern.test(userText))) {
10
+ reasons.push("user text contains a crisis/self-harm signal");
11
+ return { action: "escalate", reasons };
12
+ }
13
+ if (interaction.safety.noDiagnosis && diagnosisPatterns.some((pattern) => pattern.test(answerText))) {
14
+ reasons.push("answer makes a diagnosis while the interaction forbids it");
15
+ return { action: "refuse", reasons };
16
+ }
17
+ if (interaction.safety.noManipulation && manipulationPatterns.some((pattern) => pattern.test(answerText))) {
18
+ reasons.push("answer uses dependency/manipulation language");
19
+ return { action: "refuse", reasons };
20
+ }
21
+ return { action: "allow", reasons };
22
+ };
23
+ export const safetyFallback = (action) => {
24
+ if (action === "escalate") {
25
+ return "This sounds like an immediate safety concern. Please contact local emergency services or a crisis line now, and reach out to a trusted person who can stay with you. I can stay with you here, but I cannot replace emergency help.";
26
+ }
27
+ return "I cannot help with that framing. I can offer a safer, evidence-based alternative if you want to continue.";
28
+ };
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Multi-turn runtime session: attention state, belief priors and feedback.
3
+ *
4
+ * The session is the memory of the loop, not the model's context. It records
5
+ * posterior evidence and updates the agent's cognitive state from telemetry.
6
+ */
7
+ import type { AttentionPlan } from "../attention/resource.js";
8
+ import type { CognitiveState } from "../attention/cognition.js";
9
+ import type { AttentionResourcePolicy } from "../attention/resource.js";
10
+ import type { AnswerScore, BetaBelief, Dimension, Evidence, UserScore } from "../bayes/engine.js";
11
+ import { BayesianEngine } from "../bayes/engine.js";
12
+ import { SourceReliability } from "../bayes/reliability.js";
13
+ import type { ReliabilityBelief } from "../bayes/reliability.js";
14
+ import { ScopedPriors } from "../bayes/scopedPriors.js";
15
+ import type { ScenarioMix } from "../scenario/scenario.js";
16
+ import type { InteractionMix } from "../interaction/interaction.js";
17
+ import type { TelemetrySample } from "./telemetry.js";
18
+ import type { BehaviorPlan } from "./behavior.js";
19
+ import type { ActionRecord } from "./action.js";
20
+ import type { ApprovalRecord, OperationRecord } from "./operation.js";
21
+ import type { DiagnosticFrame } from "../diagnosis/index.js";
22
+ export interface SessionAttentionState extends CognitiveState {
23
+ stress: number;
24
+ fatigue: number;
25
+ recoveryDebt: number;
26
+ }
27
+ export interface SessionTurnRecord {
28
+ turnId: string;
29
+ at: string;
30
+ /**
31
+ * Prior scope for this turn, e.g. "session:engineering".
32
+ */
33
+ scope?: string;
34
+ user: UserScore;
35
+ answerScore?: AnswerScore;
36
+ attention: AttentionPlan;
37
+ latencyMs?: number;
38
+ tokens?: number;
39
+ toolErrors?: number;
40
+ telemetry?: TelemetrySample;
41
+ behavior?: BehaviorPlan;
42
+ actions?: ActionRecord[];
43
+ operations?: OperationRecord[];
44
+ approvals?: ApprovalRecord[];
45
+ diagnosis?: DiagnosticFrame;
46
+ }
47
+ export interface TurnFeedback {
48
+ helpful?: boolean;
49
+ correction?: string;
50
+ /**
51
+ * Optional ground truth for answer quality; updates source reliability.
52
+ */
53
+ actualCorrect?: boolean;
54
+ }
55
+ export interface SessionSnapshot {
56
+ id?: string;
57
+ scope?: string;
58
+ state: SessionAttentionState;
59
+ priors: Record<Dimension, BetaBelief>;
60
+ history: SessionTurnRecord[];
61
+ /**
62
+ * Monotonic turn counter so IDs survive runtime restarts.
63
+ */
64
+ turnCounter?: number;
65
+ /**
66
+ * Monotonic session mutation version.
67
+ */
68
+ version?: number;
69
+ /**
70
+ * Behavior arbitration counts, e.g. "affect<-clarify": 3.
71
+ */
72
+ behaviorConflicts?: Record<string, number>;
73
+ /**
74
+ * Learned source reliability (Beta beliefs).
75
+ */
76
+ sourceReliability?: Record<string, ReliabilityBelief>;
77
+ /**
78
+ * Scope-level priors (global + local counts).
79
+ */
80
+ scopedPriors?: {
81
+ global: Record<Dimension, BetaBelief>;
82
+ scopes: Record<string, Record<Dimension, BetaBelief>>;
83
+ };
84
+ /**
85
+ * Set when the agent is archived but the snapshot is retained.
86
+ */
87
+ archivedAt?: string;
88
+ }
89
+ export interface RuntimeSessionOptions {
90
+ id?: string;
91
+ /**
92
+ * Prior scope, e.g. task/scenario id.
93
+ */
94
+ scope?: string;
95
+ initial?: SessionAttentionState;
96
+ bayes?: BayesianEngine;
97
+ scenarioMix?: ScenarioMix;
98
+ interactionMix?: InteractionMix;
99
+ maxHistory?: number;
100
+ }
101
+ export declare class RuntimeSession {
102
+ readonly id: string;
103
+ state: SessionAttentionState;
104
+ readonly bayes: BayesianEngine;
105
+ readonly history: SessionTurnRecord[];
106
+ readonly behaviorConflicts: Record<string, number>;
107
+ readonly reliability: SourceReliability;
108
+ readonly scope: string;
109
+ readonly scopedPriors: ScopedPriors;
110
+ readonly scenarioMix?: ScenarioMix;
111
+ readonly interactionMix?: InteractionMix;
112
+ private readonly maxHistory;
113
+ private turnCounter;
114
+ private version;
115
+ constructor(options?: RuntimeSessionOptions);
116
+ /**
117
+ * Allocate a stable turn id; survives serialization/restore.
118
+ */
119
+ nextTurnId(): string;
120
+ /**
121
+ * Engine with this scope's priors + learned source weights.
122
+ */
123
+ engineFor(scope?: string): BayesianEngine;
124
+ /**
125
+ * Record a completed turn and update attention + priors from evidence.
126
+ */
127
+ record(turn: SessionTurnRecord): void;
128
+ /**
129
+ * User feedback becomes evidence, not a direct score overwrite.
130
+ */
131
+ feedback(turnId: string, feedback: TurnFeedback): Evidence[];
132
+ shouldRest(policy?: AttentionResourcePolicy): boolean;
133
+ rest(cycles?: number): SessionAttentionState;
134
+ snapshot(): {
135
+ state: SessionAttentionState;
136
+ priors: Record<Dimension, BetaBelief>;
137
+ turns: number;
138
+ behaviorConflicts: Record<string, number>;
139
+ sourceReliability: Record<string, ReliabilityBelief>;
140
+ scopedPriors: {
141
+ global: Record<Dimension, BetaBelief>;
142
+ scopes: Record<string, Record<Dimension, BetaBelief>>;
143
+ };
144
+ };
145
+ serialize(): SessionSnapshot;
146
+ static restore(snapshot: SessionSnapshot, options?: Omit<RuntimeSessionOptions, "bayes" | "initial">): RuntimeSession;
147
+ }