attention-manifest-protocol 0.4.2 → 0.4.4

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 (809) hide show
  1. package/CHANGELOG.md +341 -293
  2. package/CHANGELOG.zh-CN.md +41 -8
  3. package/README.md +250 -171
  4. package/README.zh-CN.md +251 -171
  5. package/lib/assignment/assign.d.ts +102 -0
  6. package/lib/assignment/assign.js +556 -0
  7. package/lib/assignment/binding.d.ts +103 -0
  8. package/lib/assignment/binding.js +575 -0
  9. package/lib/assignment/errors.d.ts +14 -0
  10. package/lib/assignment/errors.js +16 -0
  11. package/lib/assignment/guards.d.ts +18 -0
  12. package/lib/assignment/guards.js +28 -0
  13. package/lib/assignment/index.d.ts +10 -0
  14. package/lib/assignment/index.js +10 -0
  15. package/lib/assignment/types.d.ts +169 -0
  16. package/lib/assignment/types.js +1 -0
  17. package/lib/attention/budget.d.ts +1 -1
  18. package/lib/attention/budget.js +31 -9
  19. package/lib/bayes/engine.js +2 -1
  20. package/lib/bayes/reliability.js +25 -10
  21. package/lib/boundary/frame.d.ts +10 -4
  22. package/lib/boundary/frame.js +346 -109
  23. package/lib/boundary/kinds.d.ts +11 -0
  24. package/lib/boundary/kinds.js +33 -0
  25. package/lib/boundary/refTable.d.ts +19 -9
  26. package/lib/boundary/refTable.js +128 -30
  27. package/lib/boundary/toolCall.d.ts +22 -10
  28. package/lib/boundary/toolCall.js +798 -97
  29. package/lib/concept/conceptBudget.js +10 -1
  30. package/lib/concurrency/idempotency.d.ts +4 -3
  31. package/lib/concurrency/idempotency.js +57 -13
  32. package/lib/concurrency/retry.js +18 -3
  33. package/lib/context/agentContext.d.ts +13 -0
  34. package/lib/context/agentContext.js +14 -1
  35. package/lib/context/ast.d.ts +4 -1
  36. package/lib/context/ast.js +13 -3
  37. package/lib/context/contentStore.js +22 -9
  38. package/lib/context/contextBuilder.d.ts +457 -0
  39. package/lib/context/contextBuilder.js +1395 -0
  40. package/lib/context/contextPackage.d.ts +214 -0
  41. package/lib/context/contextPackage.js +191 -0
  42. package/lib/context/index.d.ts +14 -3
  43. package/lib/context/index.js +9 -1
  44. package/lib/context/relevance.d.ts +171 -0
  45. package/lib/context/relevance.js +250 -0
  46. package/lib/context/workspaceDiff.d.ts +105 -0
  47. package/lib/context/workspaceDiff.js +238 -0
  48. package/lib/context/workspaceService.d.ts +236 -1
  49. package/lib/context/workspaceService.js +1501 -73
  50. package/lib/cooperation/collaboration.d.ts +9 -0
  51. package/lib/cooperation/session.d.ts +4 -4
  52. package/lib/cooperation/session.js +3 -3
  53. package/lib/database/adapter/filesystemStore.d.ts +145 -0
  54. package/lib/database/adapter/filesystemStore.js +321 -0
  55. package/lib/database/adapter/index.d.ts +2 -0
  56. package/lib/database/adapter/index.js +2 -0
  57. package/lib/database/adapter/workspaceSessionStore.d.ts +118 -0
  58. package/lib/database/adapter/workspaceSessionStore.js +120 -0
  59. package/lib/database/entity/fileGraph.d.ts +53 -0
  60. package/lib/database/entity/fileGraph.js +15 -0
  61. package/lib/database/entity/fileTree.d.ts +76 -0
  62. package/lib/database/entity/fileTree.js +39 -0
  63. package/lib/database/entity/hook.d.ts +29 -0
  64. package/lib/database/entity/hook.js +18 -0
  65. package/lib/database/entity/index.d.ts +4 -0
  66. package/lib/database/entity/index.js +4 -0
  67. package/lib/database/entity/workspaceSession.d.ts +53 -0
  68. package/lib/database/entity/workspaceSession.js +28 -0
  69. package/lib/database/repository/fileAnnotationRepository.d.ts +75 -0
  70. package/lib/database/repository/fileAnnotationRepository.js +109 -0
  71. package/lib/database/repository/fileGraphRepository.d.ts +188 -0
  72. package/lib/database/repository/fileGraphRepository.js +648 -0
  73. package/lib/database/repository/fileNodeRepository.d.ts +116 -0
  74. package/lib/database/repository/fileNodeRepository.js +263 -0
  75. package/lib/database/repository/fileOutlineRepository.d.ts +40 -0
  76. package/lib/database/repository/fileOutlineRepository.js +104 -0
  77. package/lib/database/repository/fileWriteRepository.d.ts +41 -0
  78. package/lib/database/repository/fileWriteRepository.js +93 -0
  79. package/lib/database/repository/hookRepository.d.ts +67 -0
  80. package/lib/database/repository/hookRepository.js +150 -0
  81. package/lib/database/repository/index.d.ts +7 -0
  82. package/lib/database/repository/index.js +7 -0
  83. package/lib/database/repository/workspaceSessionRepository.d.ts +134 -0
  84. package/lib/database/repository/workspaceSessionRepository.js +327 -0
  85. package/lib/database/service/database.d.ts +14 -0
  86. package/lib/database/service/database.js +21 -0
  87. package/lib/database/sql/schema.js +187 -0
  88. package/lib/database/store/database.js +6 -1
  89. package/lib/delegate/team.d.ts +5 -0
  90. package/lib/delegate/team.js +83 -20
  91. package/lib/discover/classify.d.ts +20 -0
  92. package/lib/discover/classify.js +85 -0
  93. package/lib/discover/host.d.ts +20 -0
  94. package/lib/discover/host.js +89 -0
  95. package/lib/discover/index.d.ts +11 -0
  96. package/lib/discover/index.js +11 -0
  97. package/lib/discover/kinds.d.ts +14 -0
  98. package/lib/discover/kinds.js +23 -0
  99. package/lib/discover/tree.d.ts +7 -0
  100. package/lib/discover/tree.js +432 -0
  101. package/lib/discover/types.d.ts +115 -0
  102. package/lib/discover/types.js +1 -0
  103. package/lib/error/boundaryRejection.d.ts +1 -1
  104. package/lib/evaluation/agreement.js +2 -2
  105. package/lib/execution/handles.js +6 -0
  106. package/lib/execution/pin.js +2 -2
  107. package/lib/file/cfb.d.ts +56 -0
  108. package/lib/file/cfb.js +396 -0
  109. package/lib/file/dependency.d.ts +151 -0
  110. package/lib/file/dependency.js +568 -0
  111. package/lib/file/directory.d.ts +34 -0
  112. package/lib/file/directory.js +141 -0
  113. package/lib/file/errors.d.ts +20 -0
  114. package/lib/file/errors.js +18 -0
  115. package/lib/file/exportGraph.d.ts +31 -0
  116. package/lib/file/exportGraph.js +554 -0
  117. package/lib/file/file.d.ts +40 -0
  118. package/lib/file/file.js +339 -0
  119. package/lib/file/importGraph.d.ts +121 -0
  120. package/lib/file/importGraph.js +1022 -0
  121. package/lib/file/index.d.ts +45 -0
  122. package/lib/file/index.js +30 -0
  123. package/lib/file/metadata.d.ts +66 -0
  124. package/lib/file/metadata.js +470 -0
  125. package/lib/file/path.d.ts +60 -0
  126. package/lib/file/path.js +259 -0
  127. package/lib/file/read.d.ts +168 -0
  128. package/lib/file/read.js +541 -0
  129. package/lib/file/runtime.d.ts +95 -0
  130. package/lib/file/runtime.js +150 -0
  131. package/lib/file/service.d.ts +227 -0
  132. package/lib/file/service.js +663 -0
  133. package/lib/file/syntaxTree.d.ts +7 -0
  134. package/lib/file/syntaxTree.js +38 -0
  135. package/lib/file/time.d.ts +38 -0
  136. package/lib/file/time.js +44 -0
  137. package/lib/file/tree.d.ts +53 -0
  138. package/lib/file/tree.js +417 -0
  139. package/lib/file/types.d.ts +371 -0
  140. package/lib/file/types.js +1 -0
  141. package/lib/file/write.d.ts +159 -0
  142. package/lib/file/write.js +1028 -0
  143. package/lib/file/zip.d.ts +35 -0
  144. package/lib/file/zip.js +349 -0
  145. package/lib/fingerprint/algorithm.d.ts +97 -0
  146. package/lib/fingerprint/algorithm.js +271 -0
  147. package/lib/fingerprint/bytes.d.ts +18 -0
  148. package/lib/fingerprint/bytes.js +31 -0
  149. package/lib/fingerprint/error.d.ts +73 -0
  150. package/lib/fingerprint/error.js +86 -0
  151. package/lib/fingerprint/file.d.ts +71 -0
  152. package/lib/fingerprint/file.js +254 -0
  153. package/lib/fingerprint/index.d.ts +37 -0
  154. package/lib/fingerprint/index.js +12 -0
  155. package/lib/fingerprint/json.d.ts +41 -0
  156. package/lib/fingerprint/json.js +94 -0
  157. package/lib/fingerprint/number.d.ts +32 -0
  158. package/lib/fingerprint/number.js +95 -0
  159. package/lib/fingerprint/policy.d.ts +54 -0
  160. package/lib/fingerprint/policy.js +50 -0
  161. package/lib/fingerprint/preimage.d.ts +84 -0
  162. package/lib/fingerprint/preimage.js +133 -0
  163. package/lib/fingerprint/raw.d.ts +26 -0
  164. package/lib/fingerprint/raw.js +45 -0
  165. package/lib/fingerprint/ref.d.ts +39 -0
  166. package/lib/fingerprint/ref.js +178 -0
  167. package/lib/fingerprint/text.d.ts +42 -0
  168. package/lib/fingerprint/text.js +155 -0
  169. package/lib/fingerprint/tree.d.ts +56 -0
  170. package/lib/fingerprint/tree.js +288 -0
  171. package/lib/fingerprint/verify.d.ts +20 -0
  172. package/lib/fingerprint/verify.js +99 -0
  173. package/lib/global/filesystem.d.ts +43 -0
  174. package/lib/global/filesystem.js +75 -0
  175. package/lib/global/index.d.ts +8 -0
  176. package/lib/global/index.js +8 -0
  177. package/lib/global/service.d.ts +51 -0
  178. package/lib/global/service.js +98 -0
  179. package/lib/governance/transport.js +18 -6
  180. package/lib/hook/ast.d.ts +29 -0
  181. package/lib/hook/ast.js +22 -0
  182. package/lib/hook/code.d.ts +55 -0
  183. package/lib/hook/code.js +47 -0
  184. package/lib/hook/dependency.d.ts +45 -0
  185. package/lib/hook/dependency.js +28 -0
  186. package/lib/hook/diff.d.ts +114 -0
  187. package/lib/hook/diff.js +327 -0
  188. package/lib/hook/exportation.d.ts +31 -0
  189. package/lib/hook/exportation.js +24 -0
  190. package/lib/hook/file.d.ts +44 -0
  191. package/lib/hook/file.js +154 -0
  192. package/lib/hook/importation.d.ts +33 -0
  193. package/lib/hook/importation.js +22 -0
  194. package/lib/hook/index.d.ts +30 -0
  195. package/lib/hook/index.js +23 -0
  196. package/lib/hook/outline.d.ts +35 -0
  197. package/lib/hook/outline.js +27 -0
  198. package/lib/hook/project.d.ts +65 -0
  199. package/lib/hook/project.js +217 -0
  200. package/lib/hook/types.d.ts +114 -0
  201. package/lib/hook/types.js +407 -0
  202. package/lib/index.d.ts +9 -0
  203. package/lib/index.js +9 -0
  204. package/lib/lock/lease.js +28 -3
  205. package/lib/manifest/cardSign.d.ts +1 -1
  206. package/lib/manifest/cardSign.js +37 -7
  207. package/lib/manifest/federation.js +13 -6
  208. package/lib/manifest/trust.d.ts +2 -0
  209. package/lib/manifest/trust.js +27 -6
  210. package/lib/module/index.d.ts +4 -0
  211. package/lib/module/index.js +4 -0
  212. package/lib/module/mcp/client.js +21 -2
  213. package/lib/module/mcp/filesystemServer.d.ts +24 -0
  214. package/lib/module/mcp/filesystemServer.js +102 -0
  215. package/lib/module/mcp/http.js +32 -19
  216. package/lib/module/mcp/workspaceServer.js +20 -3
  217. package/lib/module/tool/filesystemExecutor.d.ts +18 -0
  218. package/lib/module/tool/filesystemExecutor.js +49 -0
  219. package/lib/module/tool/globalExecutor.d.ts +17 -0
  220. package/lib/module/tool/globalExecutor.js +39 -0
  221. package/lib/module/tool/globalFilesystemExecutor.d.ts +18 -0
  222. package/lib/module/tool/globalFilesystemExecutor.js +49 -0
  223. package/lib/module/tool/workspaceExecutor.d.ts +9 -0
  224. package/lib/module/tool/workspaceExecutor.js +16 -3
  225. package/lib/naming/aliases.d.ts +48 -0
  226. package/lib/naming/aliases.js +79 -0
  227. package/lib/naming/catalog.d.ts +117 -0
  228. package/lib/naming/catalog.js +108 -0
  229. package/lib/naming/grammar.d.ts +67 -0
  230. package/lib/naming/grammar.js +212 -0
  231. package/lib/naming/ids.d.ts +157 -0
  232. package/lib/naming/ids.js +119 -0
  233. package/lib/naming/index.d.ts +13 -0
  234. package/lib/naming/index.js +13 -0
  235. package/lib/outline/index.d.ts +9 -0
  236. package/lib/outline/index.js +8 -0
  237. package/lib/outline/office.d.ts +160 -0
  238. package/lib/outline/office.js +2375 -0
  239. package/lib/outline/officeBridge.d.ts +32 -0
  240. package/lib/outline/officeBridge.js +27 -0
  241. package/lib/outline/outline.d.ts +159 -0
  242. package/lib/outline/outline.js +837 -0
  243. package/lib/outline/outlineIndex.d.ts +97 -0
  244. package/lib/outline/outlineIndex.js +325 -0
  245. package/lib/outline/outlineKeywords.d.ts +59 -0
  246. package/lib/outline/outlineKeywords.js +143 -0
  247. package/lib/outline/outlineStrategies.d.ts +414 -0
  248. package/lib/outline/outlineStrategies.js +8324 -0
  249. package/lib/outline/reactOutline.d.ts +37 -0
  250. package/lib/outline/reactOutline.js +1070 -0
  251. package/lib/outline/shellOutline.d.ts +65 -0
  252. package/lib/outline/shellOutline.js +873 -0
  253. package/lib/outline/sqlOutline.d.ts +170 -0
  254. package/lib/outline/sqlOutline.js +1536 -0
  255. package/lib/outline/strategy.d.ts +46 -0
  256. package/lib/outline/strategy.js +1 -0
  257. package/lib/outline/types.d.ts +95 -0
  258. package/lib/outline/types.js +1 -0
  259. package/lib/outline/visualBasicOutline.d.ts +27 -0
  260. package/lib/outline/visualBasicOutline.js +750 -0
  261. package/lib/protocol/filesystem.d.ts +55 -0
  262. package/lib/protocol/filesystem.js +105 -0
  263. package/lib/protocol/global.d.ts +42 -0
  264. package/lib/protocol/global.js +63 -0
  265. package/lib/protocol/globalFilesystem.d.ts +40 -0
  266. package/lib/protocol/globalFilesystem.js +59 -0
  267. package/lib/protocol/index.d.ts +4 -0
  268. package/lib/protocol/index.js +4 -0
  269. package/lib/protocol/protocol.d.ts +4 -0
  270. package/lib/protocol/wire.js +5 -2
  271. package/lib/protocol/workspace.d.ts +305 -0
  272. package/lib/protocol/workspace.js +258 -0
  273. package/lib/receipt/receipt.d.ts +8 -0
  274. package/lib/registry/content.js +9 -3
  275. package/lib/runtime/kernelRuntime.js +9 -1
  276. package/lib/scenario/scenario.js +5 -4
  277. package/lib/semantic/canonical.d.ts +61 -0
  278. package/lib/semantic/canonical.js +135 -8
  279. package/lib/semantic/jsonValue.d.ts +31 -0
  280. package/lib/semantic/jsonValue.js +122 -0
  281. package/lib/semantic/sha256.js +3 -0
  282. package/lib/semantic/time.d.ts +14 -0
  283. package/lib/semantic/time.js +56 -0
  284. package/lib/session/context.d.ts +76 -0
  285. package/lib/session/context.js +419 -0
  286. package/lib/session/errors.d.ts +24 -0
  287. package/lib/session/errors.js +22 -0
  288. package/lib/session/identity.d.ts +24 -0
  289. package/lib/session/identity.js +56 -0
  290. package/lib/session/index.d.ts +14 -0
  291. package/lib/session/index.js +12 -0
  292. package/lib/session/registry.d.ts +130 -0
  293. package/lib/session/registry.js +908 -0
  294. package/lib/session/types.d.ts +227 -0
  295. package/lib/session/types.js +14 -0
  296. package/lib/structure/index.d.ts +1 -0
  297. package/lib/structure/index.js +1 -0
  298. package/lib/structure/trie.d.ts +88 -0
  299. package/lib/structure/trie.js +183 -0
  300. package/lib/syntax/byteIndex.d.ts +44 -0
  301. package/lib/syntax/byteIndex.js +148 -0
  302. package/lib/syntax/charset.d.ts +88 -0
  303. package/lib/syntax/charset.js +276 -0
  304. package/lib/syntax/index.d.ts +6 -0
  305. package/lib/syntax/index.js +5 -0
  306. package/lib/syntax/syntaxRegistry.d.ts +150 -0
  307. package/lib/syntax/syntaxRegistry.js +314 -0
  308. package/lib/syntax/syntaxTree.d.ts +106 -0
  309. package/lib/syntax/syntaxTree.js +668 -0
  310. package/lib/syntax/types.d.ts +15 -0
  311. package/lib/syntax/types.js +1 -0
  312. package/lib/types/common.d.ts +1 -1
  313. package/package.json +72 -193
  314. package/.editorconfig +0 -12
  315. package/.prettierignore +0 -17
  316. package/MCP-Token/347/250/216/344/270/216/344/270/213/344/270/200/344/273/243/345/267/245/345/205/267/345/215/217/350/256/256.html +0 -1763
  317. package/docs/annotation-campaign-A.csv +0 -54
  318. package/docs/annotation-campaign-B.csv +0 -54
  319. package/docs/annotation-campaign.csv +0 -54
  320. package/docs/eval/annotations-A.jsonl +0 -16
  321. package/docs/eval/annotations.json +0 -122
  322. package/docs/eval/recorded-labels.json +0 -12
  323. package/docs/eval/replay-cases.json +0 -14
  324. package/docs/eval/replay-labels-b.json +0 -14
  325. package/docs/examples/attention-request.json +0 -16
  326. package/docs/examples/checkpoint.json +0 -15
  327. package/docs/examples/claim.json +0 -66
  328. package/docs/examples/collaboration.json +0 -66
  329. package/docs/examples/concept-checkpoint.json +0 -15
  330. package/docs/examples/concept-prune-plan.json +0 -45
  331. package/docs/examples/federation.json +0 -126
  332. package/docs/examples/frame-chain.json +0 -77
  333. package/docs/examples/ledger-snapshot.json +0 -108
  334. package/docs/examples/manifest.json +0 -77
  335. package/docs/examples/message.json +0 -19
  336. package/docs/examples/other-model.json +0 -45
  337. package/docs/examples/plan.json +0 -50
  338. package/docs/examples/prune-plan.json +0 -48
  339. package/docs/examples/receipt.json +0 -22
  340. package/docs/examples/runtime-run.json +0 -573
  341. package/docs/examples/team.json +0 -66
  342. package/docs/examples/verb-note.json +0 -11
  343. package/docs/probes/bayes-scores.json +0 -1452
  344. package/docs/probes/calibration-imported.json +0 -141
  345. package/docs/probes/context-ast-deepseek.json +0 -1577
  346. package/docs/probes/deepseek-probe.json +0 -917
  347. package/docs/probes/eval-recorded-replay.json +0 -597
  348. package/docs/probes/eval-replay.json +0 -124
  349. package/docs/probes/eval-summary.json +0 -42
  350. package/docs/probes/runtime-eval.json +0 -4230
  351. package/eslint.config.mts +0 -96
  352. package/index.html +0 -13
  353. package/prettier.config.mts +0 -37
  354. package/public/favicon.svg +0 -1
  355. package/public/icons.svg +0 -24
  356. package/src/attention/attention.ts +0 -347
  357. package/src/attention/budget.ts +0 -72
  358. package/src/attention/cognition.ts +0 -519
  359. package/src/attention/index.ts +0 -8
  360. package/src/attention/interrupts.ts +0 -228
  361. package/src/attention/resource.ts +0 -316
  362. package/src/attention/social.ts +0 -217
  363. package/src/attention/socialTypes.ts +0 -115
  364. package/src/authz/authz.ts +0 -305
  365. package/src/authz/index.ts +0 -1
  366. package/src/bayes/calibration.ts +0 -204
  367. package/src/bayes/calibrationRegistry.ts +0 -111
  368. package/src/bayes/calibrationSelection.ts +0 -154
  369. package/src/bayes/engine.ts +0 -532
  370. package/src/bayes/index.ts +0 -6
  371. package/src/bayes/reliability.ts +0 -62
  372. package/src/bayes/scopedPriors.ts +0 -88
  373. package/src/boundary/frame.ts +0 -322
  374. package/src/boundary/ids.ts +0 -14
  375. package/src/boundary/index.ts +0 -12
  376. package/src/boundary/refTable.ts +0 -125
  377. package/src/boundary/toolCall.ts +0 -212
  378. package/src/concept/concept.ts +0 -75
  379. package/src/concept/conceptBudget.ts +0 -346
  380. package/src/concept/conceptBudgetTypes.ts +0 -79
  381. package/src/concept/index.ts +0 -3
  382. package/src/concurrency/idempotency.ts +0 -41
  383. package/src/concurrency/index.ts +0 -5
  384. package/src/concurrency/mutex.ts +0 -26
  385. package/src/concurrency/namedLocks.ts +0 -35
  386. package/src/concurrency/retry.ts +0 -50
  387. package/src/concurrency/worker.ts +0 -128
  388. package/src/context/agentContext.ts +0 -308
  389. package/src/context/ast.ts +0 -499
  390. package/src/context/contentStore.ts +0 -75
  391. package/src/context/context.ts +0 -65
  392. package/src/context/contextIndex.ts +0 -85
  393. package/src/context/document.ts +0 -137
  394. package/src/context/fileStorePath.ts +0 -14
  395. package/src/context/index.ts +0 -43
  396. package/src/context/lifecycle.ts +0 -221
  397. package/src/context/projections.ts +0 -151
  398. package/src/context/workspace.ts +0 -422
  399. package/src/context/workspaceProtocol.ts +0 -112
  400. package/src/context/workspaceService.ts +0 -423
  401. package/src/cooperation/board.ts +0 -104
  402. package/src/cooperation/collaboration.ts +0 -60
  403. package/src/cooperation/index.ts +0 -6
  404. package/src/cooperation/merge.ts +0 -190
  405. package/src/cooperation/metrics.ts +0 -57
  406. package/src/cooperation/session.ts +0 -131
  407. package/src/cooperation/unified.ts +0 -56
  408. package/src/counter.ts +0 -9
  409. package/src/database/adapter/adapters.ts +0 -35
  410. package/src/database/adapter/index.ts +0 -4
  411. package/src/database/adapter/runtimeSink.ts +0 -74
  412. package/src/database/adapter/sessionStore.ts +0 -32
  413. package/src/database/adapter/turnStore.ts +0 -23
  414. package/src/database/entity/agent.ts +0 -199
  415. package/src/database/entity/entity.ts +0 -1046
  416. package/src/database/entity/handle.ts +0 -79
  417. package/src/database/entity/index.ts +0 -32
  418. package/src/database/entity/message.ts +0 -74
  419. package/src/database/entity/meta.ts +0 -11
  420. package/src/database/entity/object.ts +0 -42
  421. package/src/database/entity/outbox.ts +0 -15
  422. package/src/database/entity/process.ts +0 -65
  423. package/src/database/entity/registry.ts +0 -155
  424. package/src/database/entity/runtimeApproval.ts +0 -30
  425. package/src/database/entity/runtimeSession.ts +0 -13
  426. package/src/database/entity/runtimeTurn.ts +0 -15
  427. package/src/database/entity/thread.ts +0 -85
  428. package/src/database/entity/window.ts +0 -85
  429. package/src/database/entity/worker.ts +0 -90
  430. package/src/database/index.ts +0 -6
  431. package/src/database/repository/addressSpaceRepository.ts +0 -72
  432. package/src/database/repository/agentRepository.ts +0 -460
  433. package/src/database/repository/base.ts +0 -41
  434. package/src/database/repository/executionRepository.ts +0 -477
  435. package/src/database/repository/handleRepository.ts +0 -64
  436. package/src/database/repository/index.ts +0 -20
  437. package/src/database/repository/messageRepository.ts +0 -52
  438. package/src/database/repository/objectRepository.ts +0 -69
  439. package/src/database/repository/outboxRepository.ts +0 -63
  440. package/src/database/repository/processRepository.ts +0 -58
  441. package/src/database/repository/registryRepository.ts +0 -119
  442. package/src/database/repository/repository.ts +0 -491
  443. package/src/database/repository/runtimeApprovalRepository.ts +0 -44
  444. package/src/database/repository/runtimeSessionRepository.ts +0 -27
  445. package/src/database/repository/runtimeTurnRepository.ts +0 -39
  446. package/src/database/repository/socialRepository.ts +0 -185
  447. package/src/database/repository/threadRepository.ts +0 -57
  448. package/src/database/repository/windowRepository.ts +0 -88
  449. package/src/database/repository/workerRepository.ts +0 -69
  450. package/src/database/service/database.ts +0 -90
  451. package/src/database/service/handleService.ts +0 -48
  452. package/src/database/service/index.ts +0 -16
  453. package/src/database/service/messageService.ts +0 -61
  454. package/src/database/service/objectService.ts +0 -59
  455. package/src/database/service/processService.ts +0 -61
  456. package/src/database/service/registryServices.ts +0 -88
  457. package/src/database/service/service.ts +0 -183
  458. package/src/database/service/stepService.ts +0 -53
  459. package/src/database/service/threadService.ts +0 -65
  460. package/src/database/service/windowService.ts +0 -30
  461. package/src/database/service/workerService.ts +0 -57
  462. package/src/database/sql/index.ts +0 -3
  463. package/src/database/sql/schema.ts +0 -418
  464. package/src/database/sql/sql.ts +0 -543
  465. package/src/database/store/database.ts +0 -210
  466. package/src/database/store/index.ts +0 -3
  467. package/src/database/store/store.ts +0 -266
  468. package/src/delegate/index.ts +0 -2
  469. package/src/delegate/team.ts +0 -268
  470. package/src/delegate/teamTypes.ts +0 -47
  471. package/src/diagnosis/checklist.ts +0 -74
  472. package/src/diagnosis/context.ts +0 -93
  473. package/src/diagnosis/frame.ts +0 -256
  474. package/src/diagnosis/index.ts +0 -5
  475. package/src/diagnosis/router.ts +0 -72
  476. package/src/diagnosis/types.ts +0 -89
  477. package/src/error/agentError.ts +0 -16
  478. package/src/error/ampError.ts +0 -20
  479. package/src/error/authzError.ts +0 -14
  480. package/src/error/boundaryRejection.ts +0 -20
  481. package/src/error/index.ts +0 -7
  482. package/src/error/kernelError.ts +0 -27
  483. package/src/error/mailboxError.ts +0 -9
  484. package/src/error/windowError.ts +0 -12
  485. package/src/evaluation/agreement.ts +0 -96
  486. package/src/evaluation/index.ts +0 -2
  487. package/src/evaluation/labels.ts +0 -241
  488. package/src/evidence/evidenceGraph.ts +0 -205
  489. package/src/evidence/index.ts +0 -4
  490. package/src/evidence/revalidation.ts +0 -191
  491. package/src/execution/exec.ts +0 -408
  492. package/src/execution/handles.ts +0 -65
  493. package/src/execution/index.ts +0 -3
  494. package/src/execution/pin.ts +0 -154
  495. package/src/frame/frame.ts +0 -70
  496. package/src/frame/index.ts +0 -1
  497. package/src/goal/goal.ts +0 -43
  498. package/src/goal/index.ts +0 -2
  499. package/src/goal/plan.ts +0 -196
  500. package/src/governance/attentionManifest.ts +0 -802
  501. package/src/governance/audit.ts +0 -362
  502. package/src/governance/budget.ts +0 -628
  503. package/src/governance/context.ts +0 -356
  504. package/src/governance/control.ts +0 -159
  505. package/src/governance/cooperation.ts +0 -479
  506. package/src/governance/credential.ts +0 -359
  507. package/src/governance/httpServer.ts +0 -99
  508. package/src/governance/index.ts +0 -32
  509. package/src/governance/legal.ts +0 -574
  510. package/src/governance/matrix.ts +0 -460
  511. package/src/governance/perspectives.ts +0 -406
  512. package/src/governance/signing.ts +0 -407
  513. package/src/governance/store.ts +0 -125
  514. package/src/governance/switching.ts +0 -459
  515. package/src/governance/toolPolicy.ts +0 -80
  516. package/src/governance/transport.ts +0 -204
  517. package/src/governance/types.ts +0 -380
  518. package/src/governance/workflow.ts +0 -743
  519. package/src/index.ts +0 -11
  520. package/src/interaction/index.ts +0 -1
  521. package/src/interaction/interaction.ts +0 -391
  522. package/src/ipc/index.ts +0 -4
  523. package/src/ipc/mailbox.ts +0 -132
  524. package/src/ipc/memorySocialStore.ts +0 -93
  525. package/src/ipc/social.ts +0 -93
  526. package/src/kernel/index.ts +0 -14
  527. package/src/kernel/scheduler.ts +0 -498
  528. package/src/ledger/checkpoint.ts +0 -304
  529. package/src/ledger/index.ts +0 -4
  530. package/src/ledger/ledger.ts +0 -31
  531. package/src/ledger/persistence.ts +0 -159
  532. package/src/ledger/share.ts +0 -80
  533. package/src/lock/index.ts +0 -2
  534. package/src/lock/lease.ts +0 -74
  535. package/src/main.ts +0 -199
  536. package/src/manifest/agentCard.ts +0 -72
  537. package/src/manifest/cardSign.ts +0 -87
  538. package/src/manifest/federation.ts +0 -237
  539. package/src/manifest/federationTypes.ts +0 -55
  540. package/src/manifest/index.ts +0 -8
  541. package/src/manifest/keys.ts +0 -643
  542. package/src/manifest/manifest.ts +0 -114
  543. package/src/manifest/sign.ts +0 -134
  544. package/src/manifest/trust.ts +0 -146
  545. package/src/mission/index.ts +0 -2
  546. package/src/mission/missionQueue.ts +0 -75
  547. package/src/module/index.ts +0 -9
  548. package/src/module/llm/deepseek.ts +0 -214
  549. package/src/module/llm/llm.ts +0 -84
  550. package/src/module/mcp/client.ts +0 -110
  551. package/src/module/mcp/http.ts +0 -102
  552. package/src/module/mcp/protocol.ts +0 -77
  553. package/src/module/mcp/server.ts +0 -148
  554. package/src/module/mcp/transport.ts +0 -30
  555. package/src/module/mcp/workspaceServer.ts +0 -111
  556. package/src/module/sandbox/sandbox.ts +0 -29
  557. package/src/module/tool/mcpExecutor.ts +0 -54
  558. package/src/module/tool/policy.ts +0 -52
  559. package/src/module/tool/redact.ts +0 -29
  560. package/src/module/tool/tool.ts +0 -53
  561. package/src/module/tool/workspaceExecutor.ts +0 -35
  562. package/src/policy/guard.ts +0 -240
  563. package/src/policy/index.ts +0 -2
  564. package/src/policy/policy.ts +0 -561
  565. package/src/process/agent.ts +0 -341
  566. package/src/process/agentService.ts +0 -236
  567. package/src/process/agentStore.ts +0 -378
  568. package/src/process/executionStore.ts +0 -151
  569. package/src/process/index.ts +0 -5
  570. package/src/process/process.ts +0 -240
  571. package/src/process/transitions.ts +0 -19
  572. package/src/progress/index.ts +0 -2
  573. package/src/progress/progress.ts +0 -85
  574. package/src/protocol/a2a.ts +0 -120
  575. package/src/protocol/channel.ts +0 -44
  576. package/src/protocol/envelope.ts +0 -655
  577. package/src/protocol/httpChannel.ts +0 -87
  578. package/src/protocol/index.ts +0 -6
  579. package/src/protocol/protocol.ts +0 -138
  580. package/src/protocol/wire.ts +0 -60
  581. package/src/receipt/index.ts +0 -1
  582. package/src/receipt/receipt.ts +0 -47
  583. package/src/registry/content.ts +0 -69
  584. package/src/registry/index.ts +0 -23
  585. package/src/registry/registry.ts +0 -599
  586. package/src/runtime/action.ts +0 -87
  587. package/src/runtime/behavior.ts +0 -330
  588. package/src/runtime/behaviorTuning.ts +0 -163
  589. package/src/runtime/cognitiveRuntime.ts +0 -703
  590. package/src/runtime/escalation.ts +0 -35
  591. package/src/runtime/governedTask.ts +0 -233
  592. package/src/runtime/index.ts +0 -15
  593. package/src/runtime/kernelRuntime.ts +0 -144
  594. package/src/runtime/operation.ts +0 -35
  595. package/src/runtime/replay.ts +0 -71
  596. package/src/runtime/routing.ts +0 -58
  597. package/src/runtime/safety.ts +0 -48
  598. package/src/runtime/session.ts +0 -341
  599. package/src/runtime/sessionStore.ts +0 -43
  600. package/src/runtime/telemetry.ts +0 -55
  601. package/src/runtime/turnStore.ts +0 -30
  602. package/src/scenario/index.ts +0 -1
  603. package/src/scenario/scenario.ts +0 -299
  604. package/src/semantic/canonical.ts +0 -24
  605. package/src/semantic/index.ts +0 -2
  606. package/src/semantic/sha256.ts +0 -82
  607. package/src/storage/appendLog.ts +0 -372
  608. package/src/storage/fileAppendSink.ts +0 -40
  609. package/src/storage/index.ts +0 -2
  610. package/src/store/bindCache.ts +0 -22
  611. package/src/store/cache.ts +0 -191
  612. package/src/store/context.ts +0 -31
  613. package/src/store/handleStore.ts +0 -31
  614. package/src/store/index.ts +0 -9
  615. package/src/store/messageStore.ts +0 -31
  616. package/src/store/objectStore.ts +0 -31
  617. package/src/store/processStore.ts +0 -31
  618. package/src/store/threadStore.ts +0 -31
  619. package/src/store/windowStore.ts +0 -31
  620. package/src/structure/abstractSyntaxTree.ts +0 -493
  621. package/src/structure/avlTree.ts +0 -408
  622. package/src/structure/binarySearchTree.ts +0 -352
  623. package/src/structure/binaryTree.ts +0 -525
  624. package/src/structure/bloomFilter.ts +0 -231
  625. package/src/structure/compare.ts +0 -110
  626. package/src/structure/cuckooFilter.ts +0 -337
  627. package/src/structure/deque.ts +0 -223
  628. package/src/structure/filterKey.ts +0 -36
  629. package/src/structure/hash.ts +0 -279
  630. package/src/structure/heap.ts +0 -268
  631. package/src/structure/index.ts +0 -20
  632. package/src/structure/iterator.ts +0 -22
  633. package/src/structure/lru.ts +0 -619
  634. package/src/structure/ordered.ts +0 -399
  635. package/src/structure/priority.ts +0 -915
  636. package/src/structure/queue.ts +0 -168
  637. package/src/structure/redBlackTree.ts +0 -680
  638. package/src/structure/segmentTree.ts +0 -248
  639. package/src/structure/stack.ts +0 -118
  640. package/src/structure/unordered.ts +0 -407
  641. package/src/style.css +0 -278
  642. package/src/thread/index.ts +0 -2
  643. package/src/thread/thread.ts +0 -176
  644. package/src/thread/transitions.ts +0 -17
  645. package/src/types/common.ts +0 -119
  646. package/src/types/index.ts +0 -23
  647. package/src/warrant/epistemic.ts +0 -154
  648. package/src/warrant/index.ts +0 -3
  649. package/src/warrant/inquiry.ts +0 -166
  650. package/src/warrant/warrant.ts +0 -179
  651. package/src/window/compaction.ts +0 -403
  652. package/src/window/compactionTypes.ts +0 -119
  653. package/src/window/index.ts +0 -7
  654. package/src/window/page.ts +0 -18
  655. package/src/window/window.ts +0 -244
  656. package/tools/_helpers.ts +0 -34
  657. package/tools/a2a-check.ts +0 -110
  658. package/tools/a2a-flow-check.ts +0 -78
  659. package/tools/agent-card-check.ts +0 -76
  660. package/tools/agent-check.ts +0 -236
  661. package/tools/agent-store-check.ts +0 -153
  662. package/tools/agreement-check.ts +0 -27
  663. package/tools/annotation-server-check.ts +0 -48
  664. package/tools/annotation-server.ts +0 -230
  665. package/tools/annotation-status.ts +0 -65
  666. package/tools/approval-access-check.ts +0 -66
  667. package/tools/arch-check.ts +0 -72
  668. package/tools/attention-core-check.ts +0 -48
  669. package/tools/attention-resource-check.ts +0 -169
  670. package/tools/audit-check.ts +0 -207
  671. package/tools/authority-check.ts +0 -124
  672. package/tools/authz-check.ts +0 -138
  673. package/tools/bayes-check.ts +0 -162
  674. package/tools/bayes-probe.ts +0 -154
  675. package/tools/behavior-tuning-check.ts +0 -53
  676. package/tools/board-check.ts +0 -87
  677. package/tools/boundary-check.ts +0 -199
  678. package/tools/bundle-trust-check.ts +0 -96
  679. package/tools/calibrate-imported.ts +0 -108
  680. package/tools/calibration-check.ts +0 -44
  681. package/tools/calibration-registry-check.ts +0 -40
  682. package/tools/calibration-sim.ts +0 -40
  683. package/tools/card-sign-check.ts +0 -71
  684. package/tools/card-trust-check.ts +0 -78
  685. package/tools/channel-check.ts +0 -86
  686. package/tools/checkpoint-check.ts +0 -620
  687. package/tools/cleanup-style-configs.ts +0 -29
  688. package/tools/cognition-check.ts +0 -648
  689. package/tools/cognitive-runtime-check.ts +0 -609
  690. package/tools/collaboration-demo.ts +0 -78
  691. package/tools/compaction-check.ts +0 -266
  692. package/tools/concept-check.ts +0 -260
  693. package/tools/concurrency-check.ts +0 -242
  694. package/tools/conformance-runtime.ts +0 -389
  695. package/tools/conformance.ts +0 -651
  696. package/tools/context-ast-check.ts +0 -90
  697. package/tools/context-ast-deepseek.ts +0 -242
  698. package/tools/context-graph-bench.ts +0 -50
  699. package/tools/context-graph-check.ts +0 -229
  700. package/tools/context-index-check.ts +0 -48
  701. package/tools/context-lifecycle-check.ts +0 -69
  702. package/tools/context-projection-check.ts +0 -73
  703. package/tools/context-scope-check.ts +0 -134
  704. package/tools/context-storage-check.ts +0 -113
  705. package/tools/cooperation-check.ts +0 -517
  706. package/tools/cooperation-http-check.ts +0 -125
  707. package/tools/deepseek-llm-check.ts +0 -147
  708. package/tools/deepseek-probe.ts +0 -494
  709. package/tools/diagnosis-check.ts +0 -109
  710. package/tools/diagnosis-router-check.ts +0 -50
  711. package/tools/document-context-check.ts +0 -237
  712. package/tools/envelope-check.ts +0 -659
  713. package/tools/eslint-rules/index.ts +0 -26
  714. package/tools/eslint-rules/rules/jsdoc-comment-format.ts +0 -105
  715. package/tools/eslint-rules/rules/no-function-keyword.ts +0 -60
  716. package/tools/eslint-rules/rules/no-multiline-parameters.ts +0 -71
  717. package/tools/eslint-rules/rules/no-multiline-type-parameters.ts +0 -57
  718. package/tools/eslint-rules/rules/no-undefined-comparison.ts +0 -115
  719. package/tools/eslint-rules/rules/prefer-template-for-string-conversion.ts +0 -97
  720. package/tools/eslint-rules/rules/require-typeof-parentheses.ts +0 -49
  721. package/tools/eslint-rules/rules/require-variable-type.ts +0 -36
  722. package/tools/eslint-rules/rules/variable-naming.ts +0 -175
  723. package/tools/eval-recorded-replay.ts +0 -215
  724. package/tools/eval-replay.ts +0 -139
  725. package/tools/eval-summary.ts +0 -136
  726. package/tools/evidence-revalidation-check.ts +0 -235
  727. package/tools/exec-check.ts +0 -217
  728. package/tools/federation-check.ts +0 -166
  729. package/tools/federation-demo.ts +0 -45
  730. package/tools/filter-check.ts +0 -243
  731. package/tools/governance-check.ts +0 -680
  732. package/tools/governance-store-check.ts +0 -131
  733. package/tools/governed-task-check.ts +0 -227
  734. package/tools/guard-check.ts +0 -122
  735. package/tools/http-channel-check.ts +0 -125
  736. package/tools/import-campaign.ts +0 -28
  737. package/tools/inquiry-check.ts +0 -126
  738. package/tools/interaction-check.ts +0 -171
  739. package/tools/interrupts-check.ts +0 -173
  740. package/tools/ipc-check.ts +0 -170
  741. package/tools/kernel-async-check.ts +0 -136
  742. package/tools/kernel-check.ts +0 -369
  743. package/tools/kernel-runtime-check.ts +0 -276
  744. package/tools/keys-check.ts +0 -559
  745. package/tools/label-audit.ts +0 -70
  746. package/tools/labels-workflow-check.ts +0 -49
  747. package/tools/linear-structure-check.ts +0 -524
  748. package/tools/live-exec.ts +0 -62
  749. package/tools/live-governance-eval.ts +0 -813
  750. package/tools/live-legacy.ts +0 -50
  751. package/tools/lru-check.ts +0 -182
  752. package/tools/make-annotation-campaign.ts +0 -57
  753. package/tools/mcp-executor-check.ts +0 -33
  754. package/tools/merge-annotations.ts +0 -32
  755. package/tools/merge-check.ts +0 -98
  756. package/tools/metrics-check.ts +0 -84
  757. package/tools/net-probe.ts +0 -107
  758. package/tools/oauth-probe.ts +0 -117
  759. package/tools/outbox-check.ts +0 -50
  760. package/tools/persistence-check.ts +0 -144
  761. package/tools/pin-check.ts +0 -116
  762. package/tools/platform-check.ts +0 -281
  763. package/tools/policy-check.ts +0 -514
  764. package/tools/prettier-plugin/index.mts +0 -84
  765. package/tools/priority-check.ts +0 -627
  766. package/tools/probe-context7.ts +0 -63
  767. package/tools/registry-check.ts +0 -252
  768. package/tools/reliability-check.ts +0 -25
  769. package/tools/retry-check.ts +0 -85
  770. package/tools/rewrite-declaration-extensions.ts +0 -98
  771. package/tools/runtime-check.ts +0 -165
  772. package/tools/runtime-deepseek-check.ts +0 -85
  773. package/tools/runtime-eval.ts +0 -358
  774. package/tools/scenario-check.ts +0 -161
  775. package/tools/scenario-incident.ts +0 -162
  776. package/tools/scoped-priors-check.ts +0 -35
  777. package/tools/scoped-priors-pooling.ts +0 -34
  778. package/tools/segment-ast-check.ts +0 -649
  779. package/tools/session-check.ts +0 -196
  780. package/tools/session-store-check.ts +0 -73
  781. package/tools/share-check.ts +0 -88
  782. package/tools/sign-check.ts +0 -95
  783. package/tools/signing-check.ts +0 -275
  784. package/tools/snapshot-demo.ts +0 -65
  785. package/tools/social-check.ts +0 -146
  786. package/tools/structure-compare-check.ts +0 -95
  787. package/tools/support/documentScanner.ts +0 -577
  788. package/tools/support/texScanner.ts +0 -631
  789. package/tools/support/workspaceScanner.ts +0 -476
  790. package/tools/team-check.ts +0 -163
  791. package/tools/team-demo.ts +0 -36
  792. package/tools/telemetry-check.ts +0 -44
  793. package/tools/tex-context-check.ts +0 -263
  794. package/tools/tool-gate-check.ts +0 -98
  795. package/tools/tree-structure-check.ts +0 -786
  796. package/tools/trust-flow-check.ts +0 -158
  797. package/tools/turn-store-check.ts +0 -57
  798. package/tools/unified-check.ts +0 -83
  799. package/tools/validate.ts +0 -309
  800. package/tools/wire-check.ts +0 -96
  801. package/tools/workspace-agent-check.ts +0 -486
  802. package/tools/workspace-agent-demo.ts +0 -62
  803. package/tools/workspace-agent-server.ts +0 -101
  804. package/tools/workspace-context-check.ts +0 -331
  805. package/tools/workspace-context.ts +0 -131
  806. package/tsconfig.build.json +0 -14
  807. package/tsconfig.json +0 -24
  808. package/tsconfig.tools.json +0 -31
  809. package/viz/context-ast.json +0 -1577
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Session domain types.
3
+ *
4
+ * A session is the authority boundary for one agent's workspace work: it binds
5
+ * an agent identity to a set of real, host-approved roots, a permission set,
6
+ * a TTL and a private JSON context. Nothing in this module is model-authored:
7
+ * the host opens sessions and hands the resulting credential to the transport,
8
+ * which binds every tool call to exactly one session.
9
+ *
10
+ * Sessions are deliberately separate from `runtime/session.ts`. That session is
11
+ * the cognitive memory of a turn loop; this one is a data-isolation and identity
12
+ * record. Sharing a word is cheaper than pretending the two lifecycles match.
13
+ */
14
+ /**
15
+ * Opaque session key. Kept as a branded string so a path, an agent id or a
16
+ * random token can never be passed where a session id is expected.
17
+ */
18
+ export type SessionId = string;
19
+ /**
20
+ * Stable host-assigned agent identity. It is not a model name and not a token.
21
+ */
22
+ export type AgentId = string;
23
+ /**
24
+ * Closed session lifecycle. `expired` and `revoked` are terminal for reads;
25
+ * a host may audit them, but no adapter may silently revive one.
26
+ */
27
+ export type SessionStatus = "active" | "suspended" | "revoked" | "expired";
28
+ /**
29
+ * Operations a session can be granted. `execute` is intentionally absent:
30
+ * this layer reads and writes files, it does not spawn processes.
31
+ */
32
+ export type SessionOperation = "read" | "write" | "create" | "remove" | "list";
33
+ /**
34
+ * JSON value accepted by the session context store. The store rejects values
35
+ * that cannot round-trip through canonical JSON (functions, symbols, bigint,
36
+ * cyclic objects) instead of silently coercing them.
37
+ */
38
+ export type SessionJson = null | boolean | number | string | SessionJson[] | {
39
+ [key: string]: SessionJson;
40
+ };
41
+ /**
42
+ * Coarse permission set plus per-session quotas. The limits are repeated here
43
+ * rather than read from a global configuration so two sessions in one process
44
+ * cannot widen each other's budget.
45
+ */
46
+ export interface SessionPermissions {
47
+ readonly read: boolean;
48
+ readonly write: boolean;
49
+ readonly create: boolean;
50
+ readonly remove: boolean;
51
+ readonly maxReadBytes: number;
52
+ readonly maxWriteBytes: number;
53
+ readonly maxTreeNodes: number;
54
+ readonly maxContextEntries: number;
55
+ readonly maxContextBytes: number;
56
+ }
57
+ /**
58
+ * One host-approved directory. `path` must be absolute and is resolved through
59
+ * `realpath` when the session is opened; `id` is the stable key tools use so a
60
+ * response never has to echo a host path the model should not depend on.
61
+ */
62
+ export interface SessionRoot {
63
+ readonly id: string;
64
+ readonly path: string;
65
+ readonly writable: boolean;
66
+ readonly exclude: readonly string[];
67
+ }
68
+ /**
69
+ * Public session record. It never contains the bearer secret; authentication
70
+ * state lives only as a hash inside the registry and the persistence adapter.
71
+ */
72
+ export interface SessionDescriptor {
73
+ readonly id: SessionId;
74
+ readonly agentId: AgentId;
75
+ readonly label: string;
76
+ readonly status: SessionStatus;
77
+ readonly roots: readonly SessionRoot[];
78
+ readonly permissions: SessionPermissions;
79
+ readonly createdAt: string;
80
+ readonly expiresAt: string;
81
+ readonly idleExpiresAt: string;
82
+ readonly revision: number;
83
+ readonly parentId?: SessionId;
84
+ readonly metadata: Readonly<Record<string, string>>;
85
+ }
86
+ /**
87
+ * Host input for opening a session. Every field except the agent identity is
88
+ * optional and defaults are deliberately conservative.
89
+ */
90
+ export interface SessionOpenInput {
91
+ readonly agentId: AgentId;
92
+ readonly label?: string;
93
+ readonly roots: readonly SessionRoot[];
94
+ readonly permissions?: Partial<SessionPermissions>;
95
+ readonly ttlMs?: number;
96
+ readonly idleTtlMs?: number;
97
+ readonly metadata?: Readonly<Record<string, string>>;
98
+ readonly parentId?: SessionId;
99
+ }
100
+ /**
101
+ * One-time credential returned by `open`/`fork`/`rotate`. The raw token is
102
+ * shown exactly once; only its hash is persisted.
103
+ */
104
+ export interface SessionCredential {
105
+ readonly sessionId: SessionId;
106
+ readonly token: string;
107
+ }
108
+ /**
109
+ * Result of a successful authentication. Callers keep the descriptor and never
110
+ * the token hash; the hash is exposed for audit adapters only.
111
+ */
112
+ export interface SessionAuthentication {
113
+ readonly descriptor: SessionDescriptor;
114
+ readonly tokenHash: string;
115
+ }
116
+ /**
117
+ * One namespaced context entry. `bytes` is the canonical UTF-8 size used for
118
+ * quota accounting, not `String.length`.
119
+ */
120
+ export interface SessionContextEntry {
121
+ readonly namespace: string;
122
+ readonly key: string;
123
+ readonly value: SessionJson;
124
+ readonly bytes: number;
125
+ readonly updatedAt: string;
126
+ }
127
+ /**
128
+ * Immutable view of a session's context. `bytes` is the sum of entry sizes.
129
+ */
130
+ export interface SessionContextSnapshot {
131
+ readonly sessionId: SessionId;
132
+ readonly entries: readonly SessionContextEntry[];
133
+ readonly bytes: number;
134
+ }
135
+ /**
136
+ * Fork input. A fork gets a fresh id, secret and revision; it shares no mutable
137
+ * object with its parent, so a write in one cannot be observed by the other.
138
+ */
139
+ export interface SessionForkInput {
140
+ readonly label?: string;
141
+ readonly ttlMs?: number;
142
+ readonly metadata?: Readonly<Record<string, string>>;
143
+ }
144
+ /**
145
+ * Persistence port for descriptors. Adapters may be in-memory, JSON or SQLite;
146
+ * the registry never knows which. Context persistence is a separate port
147
+ * because some hosts persist session identity but never persist workspace data.
148
+ */
149
+ export interface SessionStore {
150
+ load(sessionId: SessionId): SessionDescriptor | undefined;
151
+ /**
152
+ * Token hash needed to restore authentication after a restart. A store that
153
+ * chooses not to persist secrets returns `undefined`, which makes restored
154
+ * sessions host-only until the host rotates the token.
155
+ */
156
+ loadSecret(sessionId: SessionId): string | undefined;
157
+ save(descriptor: SessionDescriptor, tokenHash: string): void;
158
+ delete(sessionId: SessionId): boolean;
159
+ list(agentId?: AgentId): SessionDescriptor[];
160
+ }
161
+ /**
162
+ * Persistence port for context entries. `replace` is atomic per session so a
163
+ * crash cannot leave half a context visible to the next process.
164
+ */
165
+ export interface SessionContextStore {
166
+ load(sessionId: SessionId): SessionContextEntry[];
167
+ put(sessionId: SessionId, entry: SessionContextEntry): void;
168
+ delete(sessionId: SessionId, namespace: string, key: string): boolean;
169
+ deleteSession(sessionId: SessionId): void;
170
+ replace(sessionId: SessionId, entries: readonly SessionContextEntry[]): void;
171
+ }
172
+ /**
173
+ * Clock injection point. Tests use it to exercise TTL/expiry paths without
174
+ * sleeping; production uses `Date.now`.
175
+ */
176
+ export interface SessionClock {
177
+ now(): Date;
178
+ }
179
+ /**
180
+ * Registry limits. A host cannot raise them after construction, which keeps a
181
+ * compromised caller from turning many small sessions into unbounded memory.
182
+ */
183
+ export interface SessionRegistryLimits {
184
+ readonly maxSessions: number;
185
+ readonly maxRootsPerSession: number;
186
+ readonly maxContextEntries: number;
187
+ readonly maxContextBytes: number;
188
+ readonly maxTokenRotations: number;
189
+ }
190
+ /**
191
+ * Normalized defaults for opening a session when the host omits a field.
192
+ */
193
+ export interface SessionDefaults {
194
+ readonly ttlMs: number;
195
+ readonly idleTtlMs: number;
196
+ readonly label: string;
197
+ }
198
+ /**
199
+ * Options for the registry. `store` and `contextStore` are optional so the
200
+ * module is useful in memory-only tests; a SQLite host supplies both adapters.
201
+ */
202
+ export interface SessionRegistryOptions {
203
+ readonly limits?: Partial<SessionRegistryLimits>;
204
+ readonly defaults?: Partial<SessionDefaults>;
205
+ readonly store?: SessionStore;
206
+ readonly contextStore?: SessionContextStore;
207
+ readonly clock?: SessionClock;
208
+ }
209
+ /**
210
+ * Error codes are part of the adapter contract: a transport can map a failure
211
+ * to a stable code without parsing English prose.
212
+ */
213
+ export type SessionErrorCode = "invalid_arguments" | "invalid_identity" | "session_not_found" | "session_expired" | "session_revoked" | "session_suspended" | "session_forbidden" | "session_capacity" | "context_quota" | "context_conflict" | "store_failure";
214
+ /**
215
+ * Host-side session summary used by diagnostics and the `session` tool.
216
+ */
217
+ export interface SessionSummary {
218
+ readonly id: SessionId;
219
+ readonly agentId: AgentId;
220
+ readonly label: string;
221
+ readonly status: SessionStatus;
222
+ readonly roots: readonly Pick<SessionRoot, "id" | "writable">[];
223
+ readonly createdAt: string;
224
+ readonly expiresAt: string;
225
+ readonly remainingMs: number;
226
+ readonly revision: number;
227
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Session domain types.
3
+ *
4
+ * A session is the authority boundary for one agent's workspace work: it binds
5
+ * an agent identity to a set of real, host-approved roots, a permission set,
6
+ * a TTL and a private JSON context. Nothing in this module is model-authored:
7
+ * the host opens sessions and hands the resulting credential to the transport,
8
+ * which binds every tool call to exactly one session.
9
+ *
10
+ * Sessions are deliberately separate from `runtime/session.ts`. That session is
11
+ * the cognitive memory of a turn loop; this one is a data-isolation and identity
12
+ * record. Sharing a word is cheaper than pretending the two lifecycles match.
13
+ */
14
+ export {};
@@ -17,4 +17,5 @@ export * from "./queue.js";
17
17
  export * from "./redBlackTree.js";
18
18
  export * from "./segmentTree.js";
19
19
  export * from "./stack.js";
20
+ export * from "./trie.js";
20
21
  export * from "./unordered.js";
@@ -17,4 +17,5 @@ export * from "./queue.js";
17
17
  export * from "./redBlackTree.js";
18
18
  export * from "./segmentTree.js";
19
19
  export * from "./stack.js";
20
+ export * from "./trie.js";
20
21
  export * from "./unordered.js";
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Character trie (prefix tree).
3
+ *
4
+ * Used where a hash map cannot answer "which keys start with this prefix?":
5
+ * outline symbol lookup, root-relative path prefixes and import specifier
6
+ * completion. Keys are JavaScript strings; children use a `Map` rather than a
7
+ * fixed alphabet so Unicode identifiers work without a 65k-entry node.
8
+ *
9
+ * The trie is a mutable index, not a source of truth. `insert` replaces the
10
+ * value at an existing terminal; `delete` removes the terminal and prunes the
11
+ * now-empty path. Traversal is iterative so a pathological key length cannot
12
+ * exhaust the call stack.
13
+ */
14
+ /**
15
+ * One trie node. `terminal` is tracked separately from `value` because a key
16
+ * may legitimately store `undefined`; `has` must still distinguish "present
17
+ * with no value" from "absent".
18
+ */
19
+ export interface TrieNode<T> {
20
+ readonly children: Map<string, TrieNode<T>>;
21
+ terminal: boolean;
22
+ value?: T;
23
+ }
24
+ /**
25
+ * A prefix tree over string keys.
26
+ *
27
+ * @typeParam T - Value stored at a terminal key.
28
+ */
29
+ export declare class Trie<T> {
30
+ private readonly root;
31
+ private count;
32
+ /**
33
+ * Number of terminal keys.
34
+ */
35
+ get size(): number;
36
+ /**
37
+ * Insert or replace one key.
38
+ *
39
+ * @param key - Non-empty key.
40
+ * @param value - Value stored at the terminal.
41
+ */
42
+ insert(key: string, value: T): void;
43
+ /**
44
+ * Read a key's value. The second element distinguishes "absent" from
45
+ * "present with an `undefined` value".
46
+ *
47
+ * @param key - Key to locate.
48
+ * @returns Found state and value.
49
+ */
50
+ find(key: string): {
51
+ found: boolean;
52
+ value?: T;
53
+ };
54
+ /**
55
+ * Value at a terminal key, or `undefined`.
56
+ */
57
+ get(key: string): T | undefined;
58
+ /**
59
+ * Whether a key is present.
60
+ */
61
+ has(key: string): boolean;
62
+ /**
63
+ * Remove one key. Returns `false` when the key was absent.
64
+ */
65
+ delete(key: string): boolean;
66
+ /**
67
+ * All terminal keys under a prefix, in insertion-independent lexical order.
68
+ *
69
+ * @param prefix - Optional prefix; empty returns every key.
70
+ */
71
+ keys(prefix?: string): string[];
72
+ /**
73
+ * All terminal entries under a prefix.
74
+ */
75
+ entries(prefix?: string): Array<readonly [string, T]>;
76
+ /**
77
+ * Longest terminal prefix of `text`, useful for matching a selector or a
78
+ * path against a known set without generating every prefix.
79
+ */
80
+ longestPrefix(text: string): {
81
+ key: string;
82
+ value: T;
83
+ } | undefined;
84
+ /**
85
+ * Remove every key.
86
+ */
87
+ clear(): void;
88
+ }
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Character trie (prefix tree).
3
+ *
4
+ * Used where a hash map cannot answer "which keys start with this prefix?":
5
+ * outline symbol lookup, root-relative path prefixes and import specifier
6
+ * completion. Keys are JavaScript strings; children use a `Map` rather than a
7
+ * fixed alphabet so Unicode identifiers work without a 65k-entry node.
8
+ *
9
+ * The trie is a mutable index, not a source of truth. `insert` replaces the
10
+ * value at an existing terminal; `delete` removes the terminal and prunes the
11
+ * now-empty path. Traversal is iterative so a pathological key length cannot
12
+ * exhaust the call stack.
13
+ */
14
+ const createNode = () => ({ children: new Map(), terminal: false });
15
+ /**
16
+ * A prefix tree over string keys.
17
+ *
18
+ * @typeParam T - Value stored at a terminal key.
19
+ */
20
+ export class Trie {
21
+ root = createNode();
22
+ count = 0;
23
+ /**
24
+ * Number of terminal keys.
25
+ */
26
+ get size() {
27
+ return this.count;
28
+ }
29
+ /**
30
+ * Insert or replace one key.
31
+ *
32
+ * @param key - Non-empty key.
33
+ * @param value - Value stored at the terminal.
34
+ */
35
+ insert(key, value) {
36
+ if (key.length === 0) {
37
+ throw new RangeError("trie key must not be empty");
38
+ }
39
+ let node = this.root;
40
+ for (let index = 0; index < key.length; index += 1) {
41
+ const character = key[index];
42
+ let child = node.children.get(character);
43
+ if (child === (void 0)) {
44
+ child = createNode();
45
+ node.children.set(character, child);
46
+ }
47
+ node = child;
48
+ }
49
+ if (!node.terminal) {
50
+ this.count += 1;
51
+ }
52
+ node.terminal = true;
53
+ node.value = value;
54
+ }
55
+ /**
56
+ * Read a key's value. The second element distinguishes "absent" from
57
+ * "present with an `undefined` value".
58
+ *
59
+ * @param key - Key to locate.
60
+ * @returns Found state and value.
61
+ */
62
+ find(key) {
63
+ let node = this.root;
64
+ for (let index = 0; index < key.length; index += 1) {
65
+ node = node.children.get(key[index]);
66
+ if (node === (void 0)) {
67
+ return { found: false };
68
+ }
69
+ }
70
+ return node.terminal ? { found: true, value: node.value } : { found: false };
71
+ }
72
+ /**
73
+ * Value at a terminal key, or `undefined`.
74
+ */
75
+ get(key) {
76
+ return this.find(key).value;
77
+ }
78
+ /**
79
+ * Whether a key is present.
80
+ */
81
+ has(key) {
82
+ return this.find(key).found;
83
+ }
84
+ /**
85
+ * Remove one key. Returns `false` when the key was absent.
86
+ */
87
+ delete(key) {
88
+ if (key.length === 0) {
89
+ return false;
90
+ }
91
+ const path = [];
92
+ let node = this.root;
93
+ for (let index = 0; index < key.length; index += 1) {
94
+ const character = key[index];
95
+ const child = node.children.get(character);
96
+ if (child === (void 0)) {
97
+ return false;
98
+ }
99
+ path.push({ character, node });
100
+ node = child;
101
+ }
102
+ if (!node.terminal) {
103
+ return false;
104
+ }
105
+ node.terminal = false;
106
+ delete node.value;
107
+ this.count -= 1;
108
+ for (let index = path.length - 1; index >= 0; index -= 1) {
109
+ const edge = path[index];
110
+ const child = edge.node.children.get(edge.character);
111
+ if (child === (void 0) || child.terminal || child.children.size > 0) {
112
+ break;
113
+ }
114
+ edge.node.children.delete(edge.character);
115
+ }
116
+ return true;
117
+ }
118
+ /**
119
+ * All terminal keys under a prefix, in insertion-independent lexical order.
120
+ *
121
+ * @param prefix - Optional prefix; empty returns every key.
122
+ */
123
+ keys(prefix = "") {
124
+ return this.entries(prefix).map((entry) => entry[0]);
125
+ }
126
+ /**
127
+ * All terminal entries under a prefix.
128
+ */
129
+ entries(prefix = "") {
130
+ let start = this.root;
131
+ for (let index = 0; index < prefix.length; index += 1) {
132
+ start = start.children.get(prefix[index]);
133
+ if (start === (void 0)) {
134
+ return [];
135
+ }
136
+ }
137
+ const result = [];
138
+ const stack = [{ key: prefix, node: start }];
139
+ while (stack.length > 0) {
140
+ const current = stack.pop();
141
+ if (current.node.terminal) {
142
+ result.push([current.key, current.node.value]);
143
+ }
144
+ const characters = [...current.node.children.keys()].reverse();
145
+ for (let index = 0; index < characters.length; index += 1) {
146
+ const character = characters[index];
147
+ const child = current.node.children.get(character);
148
+ if (child !== (void 0)) {
149
+ stack.push({ key: current.key + character, node: child });
150
+ }
151
+ }
152
+ }
153
+ result.sort((left, right) => (left[0] < right[0] ? -1 : left[0] > right[0] ? 1 : 0));
154
+ return result;
155
+ }
156
+ /**
157
+ * Longest terminal prefix of `text`, useful for matching a selector or a
158
+ * path against a known set without generating every prefix.
159
+ */
160
+ longestPrefix(text) {
161
+ let node = this.root;
162
+ let match = (void 0);
163
+ for (let index = 0; index < text.length; index += 1) {
164
+ node = node.children.get(text[index]);
165
+ if (node === (void 0)) {
166
+ break;
167
+ }
168
+ if (node.terminal) {
169
+ match = { key: text.slice(0, index + 1), value: node.value };
170
+ }
171
+ }
172
+ return match;
173
+ }
174
+ /**
175
+ * Remove every key.
176
+ */
177
+ clear() {
178
+ this.root.children.clear();
179
+ this.root.terminal = false;
180
+ delete this.root.value;
181
+ this.count = 0;
182
+ }
183
+ }
@@ -0,0 +1,44 @@
1
+ import type { SourceRange as OutlineRange } from "./types.js";
2
+ export declare class ByteLineIndex {
3
+ private readonly tree;
4
+ private readonly starts;
5
+ private readonly text;
6
+ private readonly total;
7
+ /**
8
+ * Bytes before the decoded text (a UTF-8/UTF-16 BOM). Symbol ranges are
9
+ * offsets in the original file, while the decoded text starts after the
10
+ * marker; adding the base here keeps both coordinate systems consistent.
11
+ */
12
+ private readonly base;
13
+ constructor(text: string, bomBytes?: number);
14
+ /**
15
+ * Number of logical lines. The empty file has zero lines.
16
+ */
17
+ get lineCount(): number;
18
+ /**
19
+ * Start byte offset of a 1-based line. Lines past EOF clamp to the end.
20
+ */
21
+ startByte(line: number): bigint;
22
+ /**
23
+ * Half-open end byte offset for an inclusive line.
24
+ */
25
+ endByte(line: number): bigint;
26
+ /**
27
+ * Byte length of the whole text.
28
+ */
29
+ byteLength(): bigint;
30
+ /**
31
+ * Build a half-open byte / inclusive line range. Inputs are clamped so a
32
+ * parser can be approximate without producing an invalid range.
33
+ */
34
+ range(startLine: number, endLine: number): OutlineRange;
35
+ /**
36
+ * Range covering the entire text; used for a file anchor.
37
+ */
38
+ fullRange(): OutlineRange;
39
+ /**
40
+ * Source slice for a range, useful for a `detail`/signature preview.
41
+ */
42
+ slice(range: OutlineRange): string;
43
+ private offsetOf;
44
+ }