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,75 @@
1
+ import { GlobalFilesystemProtocol, GlobalFilesystemProtocolVersion, globalFilesystemLocalIds, globalFilesystemToolDefinitions, } from "../protocol/globalFilesystem.js";
2
+ export class GlobalFilesystemService {
3
+ base;
4
+ constructor(base) {
5
+ this.base = base;
6
+ }
7
+ /**
8
+ * Bind one authenticated session to the global namespace.
9
+ */
10
+ bind(sessionId, token) {
11
+ return new GlobalFilesystemSession(this.base.bind(sessionId, token));
12
+ }
13
+ dispose(sessionId) {
14
+ this.base.dispose(sessionId);
15
+ }
16
+ }
17
+ export class GlobalFilesystemSession {
18
+ base;
19
+ constructor(base) {
20
+ this.base = base;
21
+ }
22
+ get sessionId() {
23
+ return this.base.sessionId;
24
+ }
25
+ get descriptor() {
26
+ return this.base.descriptor;
27
+ }
28
+ tools() {
29
+ return globalFilesystemToolDefinitions();
30
+ }
31
+ /**
32
+ * Typed delegates keep hook and direct-embedder code identical for the
33
+ * local and global surfaces.
34
+ */
35
+ read = (request) => this.base.read(request);
36
+ write = (request) => this.base.write(request);
37
+ outline = (request) => this.base.outline(request);
38
+ imports = (request) => this.base.imports(request);
39
+ exports = (request) => this.base.exports(request);
40
+ dependency = (request) => this.base.dependency(request);
41
+ ast = (request) => this.base.ast(request);
42
+ revision = () => this.base.revision();
43
+ async call(name, raw) {
44
+ const local = globalFilesystemLocalIds.get(name);
45
+ if (local === (void 0)) {
46
+ return {
47
+ protocol: GlobalFilesystemProtocol,
48
+ version: GlobalFilesystemProtocolVersion,
49
+ ok: false,
50
+ revision: `ses.${this.base.descriptor.revision}`,
51
+ session: this.base.sessionId,
52
+ error: { code: "unknown_tool", message: "unknown_tool" },
53
+ };
54
+ }
55
+ const response = await this.base.dispatch(local, raw);
56
+ if ("error" in response) {
57
+ return {
58
+ protocol: GlobalFilesystemProtocol,
59
+ version: GlobalFilesystemProtocolVersion,
60
+ ok: false,
61
+ revision: response.revision,
62
+ session: response.session,
63
+ error: response.error,
64
+ };
65
+ }
66
+ return {
67
+ protocol: GlobalFilesystemProtocol,
68
+ version: GlobalFilesystemProtocolVersion,
69
+ ok: true,
70
+ revision: response.revision,
71
+ session: response.session,
72
+ data: response.data,
73
+ };
74
+ }
75
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Global surface: the `amp.workspace` operation set over every authorized
3
+ * project, exposed as `amp_tool_global_*`.
4
+ *
5
+ * Subpath: `attention-manifest-protocol/global`.
6
+ */
7
+ export * from "./service.js";
8
+ export * from "./filesystem.js";
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Global surface: the `amp.workspace` operation set over every authorized
3
+ * project, exposed as `amp_tool_global_*`.
4
+ *
5
+ * Subpath: `attention-manifest-protocol/global`.
6
+ */
7
+ export * from "./service.js";
8
+ export * from "./filesystem.js";
@@ -0,0 +1,51 @@
1
+ import type { ToolCatalog } from "../naming/index.js";
2
+ import type { WorkspaceRunner, WorkspaceServiceLimits, WorkspaceWriter } from "../context/workspaceService.js";
3
+ import type { ContentStore } from "../context/contentStore.js";
4
+ import type { WorkspaceSnapshot } from "../context/workspace.js";
5
+ import type { HostCatalog } from "../discover/host.js";
6
+ import type { Frame } from "../frame/frame.js";
7
+ import type { ContextSnapshot } from "../context/lifecycle.js";
8
+ import type { Receipt } from "../receipt/receipt.js";
9
+ import type { GlobalResponse } from "../protocol/global.js";
10
+ import type { WorkspaceToolDefinition } from "../protocol/workspace.js";
11
+ export interface GlobalServiceOptions {
12
+ agentId: string;
13
+ snapshot: WorkspaceSnapshot;
14
+ store: ContentStore;
15
+ /**
16
+ * Optional narrower project set. Omitted means every project in `snapshot`.
17
+ */
18
+ projectIds?: readonly string[];
19
+ host?: HostCatalog;
20
+ limits?: Partial<WorkspaceServiceLimits>;
21
+ /**
22
+ * Optional persistence port forwarded to the underlying workspace service.
23
+ * Without it the global write tool answers `write_unavailable`, exactly as
24
+ * the workspace-scoped surface does.
25
+ */
26
+ writer?: WorkspaceWriter;
27
+ /**
28
+ * Optional execution port forwarded to the underlying workspace service.
29
+ * Without it `build`/`compile`/`run`/`test` answer `run_unavailable`.
30
+ */
31
+ runner?: WorkspaceRunner;
32
+ }
33
+ export declare class GlobalAgentService {
34
+ private readonly workspace;
35
+ private readonly definitions;
36
+ private readonly revision;
37
+ private cachedCatalog;
38
+ constructor(options: GlobalServiceOptions);
39
+ tools(): WorkspaceToolDefinition[];
40
+ catalog(): ToolCatalog;
41
+ call(name: string, raw: unknown): GlobalResponse;
42
+ registerFrame(frame: Frame, revision: string): void;
43
+ revokeFrame(frameId: string): void;
44
+ settle(contextId: string, receipt: Receipt): ContextSnapshot;
45
+ pendingSettlements(): Array<{
46
+ contextId: string;
47
+ frameId: string;
48
+ estimatedTokens: number;
49
+ }>;
50
+ private error;
51
+ }
@@ -0,0 +1,98 @@
1
+ /**
2
+ * Global agent service: the `amp.workspace` operation set over every
3
+ * host-authorized project, exposed under the `amp_tool_global_*` names.
4
+ *
5
+ * This is a thin adapter, not a second implementation. The underlying
6
+ * `WorkspaceAgentService` receives the complete project set; the adapter
7
+ * rewrites names, the protocol envelope and the capabilities catalog so a
8
+ * client sees the global surface consistently.
9
+ */
10
+ import { buildCatalog } from "../naming/index.js";
11
+ import { digestOf } from "../semantic/canonical.js";
12
+ import { WorkspaceAgentService } from "../context/workspaceService.js";
13
+ import { GlobalProtocol, GlobalProtocolVersion, globalToolDefinitions, globalToolLeaves } from "../protocol/global.js";
14
+ export class GlobalAgentService {
15
+ workspace;
16
+ definitions = globalToolDefinitions();
17
+ revision;
18
+ cachedCatalog;
19
+ constructor(options) {
20
+ const projectIds = options.projectIds ?? options.snapshot.entities.filter((entity) => entity.kind === "project").map((entity) => entity.id);
21
+ this.revision = options.snapshot.revision;
22
+ this.workspace = new WorkspaceAgentService({
23
+ agentId: options.agentId,
24
+ snapshot: options.snapshot,
25
+ projectIds,
26
+ store: options.store,
27
+ ...(options.host === (void 0) ? {} : { host: options.host }),
28
+ ...(options.limits === (void 0) ? {} : { limits: options.limits }),
29
+ ...(options.writer === (void 0) ? {} : { writer: options.writer }),
30
+ ...(options.runner === (void 0) ? {} : { runner: options.runner }),
31
+ });
32
+ }
33
+ tools() {
34
+ return structuredClone(this.definitions);
35
+ }
36
+ catalog() {
37
+ if (this.cachedCatalog === (void 0)) {
38
+ const entries = this.definitions.map((tool) => ({
39
+ id: tool.name,
40
+ digest: digestOf({ description: tool.description, inputSchema: tool.inputSchema, risk: tool.risk }),
41
+ risk: tool.risk,
42
+ }));
43
+ this.cachedCatalog = buildCatalog(entries, { version: "1.0.0", ttlMs: 0, cacheScope: "private" });
44
+ }
45
+ return structuredClone(this.cachedCatalog);
46
+ }
47
+ call(name, raw) {
48
+ const leaf = globalToolLeaves.get(name);
49
+ if (leaf === (void 0)) {
50
+ return this.error("unknown_tool", "unknown_tool");
51
+ }
52
+ const response = this.workspace.call(`amp_tool_workspace_${leaf}`, raw);
53
+ if ("error" in response) {
54
+ return {
55
+ protocol: GlobalProtocol,
56
+ version: GlobalProtocolVersion,
57
+ revision: response.revision,
58
+ ok: false,
59
+ error: response.error,
60
+ };
61
+ }
62
+ const data = { ...response.data };
63
+ if (leaf === "capabilities") {
64
+ data.tools = this.definitions.map((tool) => tool.name);
65
+ const catalog = this.catalog();
66
+ data.catalog = { version: catalog.version, digest: catalog.digest, sortedBy: catalog.sortedBy, ttlMs: catalog.ttlMs };
67
+ data.deprecatedAliases = [];
68
+ }
69
+ return {
70
+ protocol: GlobalProtocol,
71
+ version: GlobalProtocolVersion,
72
+ revision: response.revision,
73
+ ok: true,
74
+ data,
75
+ };
76
+ }
77
+ registerFrame(frame, revision) {
78
+ this.workspace.registerFrame(frame, revision);
79
+ }
80
+ revokeFrame(frameId) {
81
+ this.workspace.revokeFrame(frameId);
82
+ }
83
+ settle(contextId, receipt) {
84
+ return this.workspace.settle(contextId, receipt);
85
+ }
86
+ pendingSettlements() {
87
+ return this.workspace.pendingSettlements();
88
+ }
89
+ error(code, message) {
90
+ return {
91
+ protocol: GlobalProtocol,
92
+ version: GlobalProtocolVersion,
93
+ revision: this.revision,
94
+ ok: false,
95
+ error: { code, message },
96
+ };
97
+ }
98
+ }
@@ -81,8 +81,13 @@ export class HttpCooperationTransport {
81
81
  export const createCooperationHandler = (bus, options = {}) => {
82
82
  const replay = new ReplayGuard();
83
83
  const now = options.now ?? (() => Date.now());
84
- const maxSkewMs = Math.max(1_000, options.maxSkewMs ?? 60_000);
85
- const replayWindowMs = Math.max(maxSkewMs, options.replayWindowMs ?? 5 * 60_000);
84
+ const configuredSkew = options.maxSkewMs ?? 60_000;
85
+ const configuredWindow = options.replayWindowMs ?? 5 * 60_000;
86
+ if (!Number.isFinite(configuredSkew) || configuredSkew < 0 || !Number.isFinite(configuredWindow) || configuredWindow < 0) {
87
+ throw new RangeError("transport replay windows must be finite and non-negative");
88
+ }
89
+ const maxSkewMs = Math.max(1_000, configuredSkew);
90
+ const replayWindowMs = Math.max(maxSkewMs, configuredWindow);
86
91
  return async (body) => {
87
92
  if (!isRecord(body) || !isRecord(body.message)) {
88
93
  return {
@@ -92,7 +97,11 @@ export const createCooperationHandler = (bus, options = {}) => {
92
97
  }
93
98
  if (options.keyring !== (void 0)) {
94
99
  const auth = body.auth;
95
- if (!isRecord(auth) || typeof (auth.signer) !== "string" || typeof (auth.signature) !== "string" || typeof (auth.timestamp) !== "string" || typeof (auth.nonce) !== "string") {
100
+ if (!isRecord(auth) ||
101
+ typeof (auth.signer) !== "string" ||
102
+ typeof (auth.signature) !== "string" ||
103
+ typeof (auth.timestamp) !== "string" ||
104
+ typeof (auth.nonce) !== "string") {
96
105
  return { status: 401, body: { ok: false, code: "transport-error", detail: "missing transport authentication" } };
97
106
  }
98
107
  const candidates = options.keyring.candidates(auth.signer, auth.kid);
@@ -101,12 +110,12 @@ export const createCooperationHandler = (bus, options = {}) => {
101
110
  }
102
111
  const timestamp = Date.parse(auth.timestamp);
103
112
  const current = now();
113
+ if (!Number.isFinite(current)) {
114
+ return { status: 500, body: { ok: false, code: "transport-error", detail: "transport clock is invalid" } };
115
+ }
104
116
  if (!Number.isFinite(timestamp) || Math.abs(current - timestamp) > maxSkewMs) {
105
117
  return { status: 409, body: { ok: false, code: "transport-error", detail: "transport timestamp is outside the allowed skew" } };
106
118
  }
107
- if (!replay.accept(auth.nonce, current, replayWindowMs)) {
108
- return { status: 409, body: { ok: false, code: "transport-error", detail: "transport nonce was already used" } };
109
- }
110
119
  let valid = false;
111
120
  for (let index = 0; index < candidates.length; index += 1) {
112
121
  if (await verifyCanonicalValue({ message: body.message, signer: auth.signer, timestamp: auth.timestamp, nonce: auth.nonce }, auth.signature, candidates[index])) {
@@ -117,6 +126,9 @@ export const createCooperationHandler = (bus, options = {}) => {
117
126
  if (!valid) {
118
127
  return { status: 401, body: { ok: false, code: "transport-error", detail: "transport signature does not verify" } };
119
128
  }
129
+ if (!replay.accept(auth.nonce, current, replayWindowMs)) {
130
+ return { status: 409, body: { ok: false, code: "transport-error", detail: "transport nonce was already used" } };
131
+ }
120
132
  }
121
133
  const delivery = bus.receive(body.message);
122
134
  return { status: delivery.ok ? 200 : 422, body: delivery };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Syntax-tree hooks.
3
+ *
4
+ * The parse helper exposes the lossless CST directly; `useAst` adds the standard
5
+ * hook state, cache and audit record. Both are read-only: the parser never
6
+ * evaluates or imports the target file.
7
+ */
8
+ import type { AstRequest } from "../file/service.js";
9
+ import type { SyntaxTree } from "../syntax/syntaxTree.js";
10
+ import type { Hook, HookOptions, HookSession } from "./types.js";
11
+ /**
12
+ * Parse helper shape.
13
+ */
14
+ export type AstParse = (path: string, options?: Omit<AstRequest, "path">) => SyntaxTree;
15
+ /**
16
+ * Parse one file into a syntax tree without hook state.
17
+ *
18
+ * @param session - Bound filesystem session.
19
+ * @returns Parse helper.
20
+ */
21
+ export declare const useParse: (session: HookSession) => AstParse;
22
+ /**
23
+ * Syntax-tree hook.
24
+ *
25
+ * @param session - Bound filesystem session.
26
+ * @param options - Recorder and cache options.
27
+ * @returns Hook producing one syntax tree.
28
+ */
29
+ export declare const useAst: (session: HookSession, options?: HookOptions) => Hook<AstRequest, SyntaxTree>;
@@ -0,0 +1,22 @@
1
+ import { createHook } from "./types.js";
2
+ /**
3
+ * Parse one file into a syntax tree without hook state.
4
+ *
5
+ * @param session - Bound filesystem session.
6
+ * @returns Parse helper.
7
+ */
8
+ export const useParse = (session) => (path, options = {}) => session.ast({ path, ...options });
9
+ /**
10
+ * Syntax-tree hook.
11
+ *
12
+ * @param session - Bound filesystem session.
13
+ * @param options - Recorder and cache options.
14
+ * @returns Hook producing one syntax tree.
15
+ */
16
+ export const useAst = (session, options = {}) => createHook({
17
+ name: "ast",
18
+ session,
19
+ execute: (request) => session.ast(request),
20
+ pathOf: (request) => request.path,
21
+ options,
22
+ });
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Code model hook.
3
+ *
4
+ * A code model is the smallest set of facts an agent needs before editing a
5
+ * file: what language and content it is, what structure it has, what it imports
6
+ * and what it exports. The model is assembled from the three service methods
7
+ * (`outline`, `imports`, `exports`) and never from a second parser; the outline
8
+ * already carries the fingerprint and the language tag, so the three parts
9
+ * cannot disagree about which file version they describe.
10
+ *
11
+ * The model is deliberately not cached across paths: a caller asks for one
12
+ * path, and the hook layer's optional cache keyed by the request handles
13
+ * repetition.
14
+ */
15
+ import type { ExportReport, ImportReport } from "../file/types.js";
16
+ import type { OutlineResult } from "../outline/types.js";
17
+ import type { Hook, HookOptions, HookSession } from "./types.js";
18
+ /**
19
+ * Complete model for one source file.
20
+ */
21
+ export interface CodeModel {
22
+ readonly path: string;
23
+ readonly language: string;
24
+ readonly fingerprint: string;
25
+ readonly outline: OutlineResult;
26
+ readonly imports: ImportReport;
27
+ readonly exports: ExportReport;
28
+ }
29
+ /**
30
+ * Request accepted by `useCode`.
31
+ */
32
+ export interface CodeRequest {
33
+ readonly path: string;
34
+ readonly maxNodes?: number;
35
+ readonly maxDepth?: number;
36
+ }
37
+ /**
38
+ * Parse helper shape: one path in, one code model out.
39
+ */
40
+ export type CodeParse = (path: string) => CodeModel;
41
+ /**
42
+ * Read the complete code model for one path.
43
+ *
44
+ * @param session - Bound filesystem session.
45
+ * @returns Parse helper.
46
+ */
47
+ export declare const useParse: (session: HookSession) => CodeParse;
48
+ /**
49
+ * Code model hook.
50
+ *
51
+ * @param session - Bound filesystem session.
52
+ * @param options - Recorder and cache options.
53
+ * @returns Hook producing one code model.
54
+ */
55
+ export declare const useCode: (session: HookSession, options?: HookOptions) => Hook<CodeRequest, CodeModel>;
@@ -0,0 +1,47 @@
1
+ import { createHook } from "./types.js";
2
+ /**
3
+ * Build a code model from the service methods. This is the single assembly
4
+ * point used by both the parse helper and the hook.
5
+ *
6
+ * @param session - Bound filesystem session.
7
+ * @param request - Path and optional outline bounds.
8
+ * @returns The assembled model.
9
+ */
10
+ const codeModelOf = (session, request) => {
11
+ const outline = session.outline({
12
+ path: request.path,
13
+ ...(request.maxNodes === (void 0) ? {} : { maxNodes: request.maxNodes }),
14
+ ...(request.maxDepth === (void 0) ? {} : { maxDepth: request.maxDepth }),
15
+ });
16
+ const imports = session.imports({ path: request.path });
17
+ const exports = session.exports({ path: request.path });
18
+ return {
19
+ path: request.path,
20
+ language: outline.language,
21
+ fingerprint: outline.fingerprint,
22
+ outline,
23
+ imports,
24
+ exports,
25
+ };
26
+ };
27
+ /**
28
+ * Read the complete code model for one path.
29
+ *
30
+ * @param session - Bound filesystem session.
31
+ * @returns Parse helper.
32
+ */
33
+ export const useParse = (session) => (path) => codeModelOf(session, { path });
34
+ /**
35
+ * Code model hook.
36
+ *
37
+ * @param session - Bound filesystem session.
38
+ * @param options - Recorder and cache options.
39
+ * @returns Hook producing one code model.
40
+ */
41
+ export const useCode = (session, options = {}) => createHook({
42
+ name: "code",
43
+ session,
44
+ execute: (request) => codeModelOf(session, request),
45
+ pathOf: (request) => request.path,
46
+ options,
47
+ });
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Dependency hooks.
3
+ *
4
+ * Two layers are exposed. `useParse` is a plain read helper that returns the
5
+ * import and export reports for one path; it exists so a caller that only needs
6
+ * facts does not have to create a hook or subscribe to state. `useDependency`
7
+ * wraps the graph query itself and keeps its bounded report observable.
8
+ *
9
+ * Both layers call the session methods directly. No graph algorithm is
10
+ * re-implemented here: the service already owns the import graph cache, cycle
11
+ * detection, topological order and closures, and duplicating any of that would
12
+ * create two answers to "what depends on this?".
13
+ */
14
+ import type { DependencyQuery } from "../file/service.js";
15
+ import type { DependencyReport, ExportReport, ImportReport } from "../file/types.js";
16
+ import type { Hook, HookOptions, HookSession } from "./types.js";
17
+ /**
18
+ * Facts returned by the dependency parse helper.
19
+ */
20
+ export interface DependencyFacts {
21
+ readonly path: string;
22
+ readonly imports: ImportReport;
23
+ readonly exports: ExportReport;
24
+ }
25
+ /**
26
+ * Parse helper shape: one path in, both reports out.
27
+ */
28
+ export type DependencyParse = (path: string) => DependencyFacts;
29
+ /**
30
+ * Read the import and export reports for one path. Both calls are read-only and
31
+ * use the session's outgoing direction.
32
+ *
33
+ * @param session - Bound filesystem session.
34
+ * @returns Parse helper.
35
+ */
36
+ export declare const useParse: (session: HookSession) => DependencyParse;
37
+ /**
38
+ * Dependency graph hook. The request is passed through unchanged, including
39
+ * `roots`, `direction`, `depth`, `limit` and `includeExternal`.
40
+ *
41
+ * @param session - Bound filesystem session.
42
+ * @param options - Recorder and cache options.
43
+ * @returns Hook producing a bounded dependency report.
44
+ */
45
+ export declare const useDependency: (session: HookSession, options?: HookOptions) => Hook<DependencyQuery, DependencyReport>;
@@ -0,0 +1,28 @@
1
+ import { createHook } from "./types.js";
2
+ /**
3
+ * Read the import and export reports for one path. Both calls are read-only and
4
+ * use the session's outgoing direction.
5
+ *
6
+ * @param session - Bound filesystem session.
7
+ * @returns Parse helper.
8
+ */
9
+ export const useParse = (session) => (path) => {
10
+ const imports = session.imports({ path });
11
+ const exports = session.exports({ path });
12
+ return { path, imports, exports };
13
+ };
14
+ /**
15
+ * Dependency graph hook. The request is passed through unchanged, including
16
+ * `roots`, `direction`, `depth`, `limit` and `includeExternal`.
17
+ *
18
+ * @param session - Bound filesystem session.
19
+ * @param options - Recorder and cache options.
20
+ * @returns Hook producing a bounded dependency report.
21
+ */
22
+ export const useDependency = (session, options = {}) => createHook({
23
+ name: "dependency",
24
+ session,
25
+ execute: (request) => session.dependency(request),
26
+ pathOf: (request) => request.roots?.[0],
27
+ options,
28
+ });
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Diff line kind. `context` lines are equal on both sides.
3
+ */
4
+ export type DiffLineType = "add" | "remove" | "context";
5
+ /**
6
+ * One diff line. See the module comment for the coordinate rules.
7
+ */
8
+ export interface DiffLine {
9
+ readonly type: DiffLineType;
10
+ readonly text: string;
11
+ readonly beforeLine: number;
12
+ readonly afterLine: number;
13
+ }
14
+ /**
15
+ * One contiguous changed region plus its context lines.
16
+ */
17
+ export interface DiffHunk {
18
+ readonly beforeStart: number;
19
+ readonly beforeLines: number;
20
+ readonly afterStart: number;
21
+ readonly afterLines: number;
22
+ readonly lines: readonly DiffLine[];
23
+ }
24
+ /**
25
+ * Request accepted by `useDiff`. `before` overrides the current file as the
26
+ * old side, and `content` overrides it as the new side; an omitted side is
27
+ * read from the session. With both omitted the file is compared against itself
28
+ * and therefore has no hunks.
29
+ */
30
+ export interface DiffRequest {
31
+ readonly path: string;
32
+ readonly content?: string;
33
+ readonly before?: string;
34
+ readonly context?: number;
35
+ }
36
+ /**
37
+ * Complete diff result.
38
+ */
39
+ export interface DiffResult {
40
+ readonly path: string;
41
+ readonly beforeFingerprint: string;
42
+ readonly afterFingerprint: string;
43
+ readonly added: number;
44
+ readonly removed: number;
45
+ readonly unchanged: number;
46
+ readonly hunks: readonly DiffHunk[];
47
+ readonly truncated: boolean;
48
+ }
49
+ /**
50
+ * One side of a diff. Fingerprints and truncation are carried explicitly so a
51
+ * caller that read the file page by page does not have to reconstruct them.
52
+ */
53
+ export interface DiffSource {
54
+ readonly lines: readonly string[];
55
+ readonly fingerprint: string;
56
+ readonly truncated: boolean;
57
+ }
58
+ /**
59
+ * Options for a diff computation.
60
+ */
61
+ export interface DiffOptions {
62
+ readonly context?: number;
63
+ }
64
+ /**
65
+ * Maximum number of lines diffed per side. Beyond this the computation is
66
+ * bounded and the result says `truncated`.
67
+ */
68
+ export declare const DiffMaxLines: number;
69
+ /**
70
+ * Default number of unchanged lines kept on each side of a change.
71
+ */
72
+ export declare const DiffDefaultContext: number;
73
+ /**
74
+ * Hard ceiling for a caller-supplied context size.
75
+ */
76
+ export declare const DiffMaxContext: number;
77
+ /**
78
+ * Split text into logical lines. A trailing newline terminates the last line
79
+ * rather than creating an empty one; `\r` is stripped so CRLF files diff
80
+ * cleanly against LF content.
81
+ *
82
+ * @param text - Text to split.
83
+ * @returns Lines without terminators.
84
+ */
85
+ export declare const splitDiffLines: (text: string) => string[];
86
+ /**
87
+ * Build a diff source from caller-supplied text. The fingerprint covers the
88
+ * exact input, including its trailing newline.
89
+ *
90
+ * @param text - Whole text.
91
+ * @returns Source lines, fingerprint and truncation flag.
92
+ */
93
+ export declare const textDiffSource: (text: string) => DiffSource;
94
+ /**
95
+ * Diff two prepared sources. The fingerprints on the result always cover the
96
+ * whole input, even when the diff was truncated to `DiffMaxLines`.
97
+ *
98
+ * @param path - Root-relative path the result describes.
99
+ * @param before - Original side.
100
+ * @param after - New side.
101
+ * @param context - Unchanged lines retained on each side.
102
+ * @returns Diff result with counts and hunks.
103
+ */
104
+ export declare const diffSources: (path: string, before: DiffSource, after: DiffSource, context?: number) => DiffResult;
105
+ /**
106
+ * Diff two texts directly.
107
+ *
108
+ * @param path - Root-relative path the result describes.
109
+ * @param before - Original text.
110
+ * @param after - New text.
111
+ * @param options - Context size.
112
+ * @returns Diff result.
113
+ */
114
+ export declare const diffText: (path: string, before: string, after: string, options?: DiffOptions) => DiffResult;