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
@@ -7,9 +7,42 @@
7
7
 
8
8
  ## [未发布]
9
9
 
10
+ ### 新增
11
+
12
+ - Agent 工作区:`File`/`Directory` 树、分页读、CAS 原子写、策略化大纲、import/export/dependency 图与 Office(DOCX/XLSX/PPTX,DOC/XLS/PPT/PUB/ACCDB best-effort)解析。
13
+ - Session 模块:`ses_` 身份、一次性 bearer 令牌、TTL、暂停/撤销/rotate、fork、每会话上下文隔离与配额;SQLite 适配器 `SqliteWorkspaceSessionStore` / `SqliteWorkspaceSessionContextStore`。
14
+ - `src/hook` 组合层:`useRead`、`useWrite`、`useDiff`、`useParse`、`useDependency`、`useExportation`、`useImportation`、`useOutline`、`useCode`、`useProject`;除 `useWrite` 外只读,并记录 `hook_runs`。
15
+ - `amp_tool_filesystem_*` 十个工具与 `amp_tool_globalfs_*` 全局命名适配器;`amp_service_filesystem` / `amp_protocol_filesystem`。
16
+ - 无损只读语法树:`amp_tool_filesystem_ast`、`useAst`、`src/syntax/syntaxTree.ts` 与 `src/syntax/syntaxRegistry.ts`;语言/Token/节点类别由注册中心管理,全部 token 保留 UTF-8 字节与行范围,不执行目标文件。`syntaxTreeCheck` 8 例,完整 verify 135/135。
17
+ - SQLite 表:`workspace_sessions`、`session_roots`、`session_context`、`file_nodes`、`file_annotations`、`file_writes`、`file_outlines`、`file_imports`、`file_exports`、`file_dependencies`、`hook_runs`。
18
+ - 数据结构:`Trie`、`ByteLineIndex`(SegmentTree 前缀和)、`OutlineIndex`(AST + Trie + SegmentTree)。
19
+ - 大纲策略覆盖代码(TS/JS/Python/Java/C/C++/C#/Go/Rust)、Vue、项目清单(npm/Maven/Gradle/CMake/Cargo/Go/pyproject/Make)、文章(Markdown/TeX/plain text)、HTML/CSS/SCSS/Sass/XML/OPML 与 Office;`outlineCoverageCheck` 74 例逐项验证。
20
+ - 大纲关键字注册:`OutlineKeywordRegistry` 注册变量/函数/类型/导入/修饰符/控制/字面量关键字;全局变量/常量、全局函数、类属性/方法、`static` 属性/方法均成为节点,`modifiers` 返回 `static`/`public` 等链。
21
+ - `src/context` 新增 `ContextPackage`/`ContextBuilder`/`relevance`:预算装配、关系闭包、省略项、Trie 路径前缀与 SegmentTree 行范围。
22
+ - 工具源码文件名统一为 lowerCamelCase:`tools/` 下 148 个短横线文件重命名并修复全部引用,`archCheck` 增加命名规则。
23
+ - 职责与交互分配:`responsibility-assignment`(职责、RACI、权限/预算/窗口衰减、接受、证据验收与级联撤销)与 `interaction-binding`(参与方、协议角色、模式混合、节奏、升级与交接),附 Schema、示例、账本、`delegation`/`result-contract`/`receipt`/`message` 的可选引用,以及 `assignment-check` / `interaction-binding-check`。
24
+ - `src/discover`:`HostCatalog` 用于登记宿主的项目、插件、服务、工具与模块;`buildDiscoveryTree` 在获准的 workspace 快照上返回一棵有界结构树。项目节点带描述、用途与简介;文件节点带模块分类(`service`/`tool`/`controller`/`route`/`repository`/`model`/`config`/`test`/`middleware`/`component`/`util`)、扩展名与最多三条有界内容片段。新增 `amp_tool_workspace_discover` 工具供 agent 调用;`discover-check` 与 `discover-agent-check` 覆盖树、内容匹配、宿主目录、授权过滤与工具响应外层。
25
+ - `src/fingerprint`:对「摘要覆盖哪些内容」的唯一定义。`fingerprintBytes`、`fingerprintText`、`fingerprintString`、`fingerprintNumber`、`fingerprintJson`、`fingerprintFile`、`fingerprintFileMeta` 与 `fingerprintTree` 各自返回一个引用,携带算法、`kind`、策略、载荷大小与摘要;`verify`/`matches` 比较全部四个字段,而不是只比对裸十六进制字符串;`rawDigest`/`rawHex`/`rawTextDigest` 集中提供不带帧的内容寻址形式。目录树使用域分隔的 Merkle 叶与节点(RFC 6962 形状),并对文件的字节哈希,因此两个不同的二进制文件不再可能共用一个模块摘要。`fingerprint-check` 覆盖 47 个用例,包括与 `node:crypto` 的对拍以及历史碰撞。
26
+ - `src/naming`:冻结的 ID 表、带解析器与格式化器的 `amp_<kind>_<component>[_<leaf>]` 文法、v0.5 兼容别名,以及带稳定摘要的 catalog(`buildCatalog`/`verifyCatalog`)。`naming-check` 覆盖 26 个用例。
27
+ - `tools/fingerprintCheck.ts` 与 `tools/namingCheck.ts` 已接入 `npm run verify`;两者也都是可独立运行的脚本。
28
+
10
29
  ### 变更
11
30
 
12
31
  - 将项目说明收敛到中英文 README;评测汇总只保留 JSON 格式。
32
+ - 工具 ID 现在为 `amp_tool_workspace_capabilities|tree|query|relations|materialize|read|release|discover`。`amp_workspace_*` 拼写在一个 minor 版本内仍作为输入别名接受,并报告在 `deprecatedAliases` 中;`tools/list` 只通告规范 ID。
33
+ - 工作区响应的 `protocol` 值现在为 `amp_protocol_workspace`,`serverInfo.name` 为 `amp_service_workspace`;`server/discover` 与 `initialize` 也携带 `serviceId` 与 catalog 概要。`WorkspaceProtocolAliases` 导出旧的 `amp.workspace` 值,供仍要比较它的宿主使用。
34
+ - 工作区协议接口从 `src/context/workspaceProtocol.ts` 移到 `src/protocol/workspace.ts`;`src/context/index.ts` 重新导出它,因此根入口不变。
35
+ - `canonical()` 现在拒绝未配对代理项与 `-0`,与 RFC 8785 §3.2.2.2 及附录 B 一致。确实想「把 `-0` 当作 `0`」的调用方,必须向新的 `canonicalJson` 传入 `{ negativeZero: "as-zero" }`。不含这两种形状的值产生的字节与之前完全相同。
36
+ - `src/fingerprint/json.ts` 委托给这个唯一的编码器,不再保留第二份 JCS 规则副本。
37
+ - `ContentStore` 与工作区完整性检查现在通过 `rawTextDigest`/`parseShort` 派生并校验引用,`registry/content.ts` 改为对文件字节哈希,而不是对解码后的文本哈希。只含 UTF-8 内容的目录树,其模块摘要保持不变。
38
+
39
+ ### 修复
40
+
41
+ - `src/semantic/canonical.ts`、`src/fingerprint/file.ts` 与 `src/fingerprint/tree.ts` 中的非法 UTF-8 字节(损坏的长破折号)已修复,`read` 工具与严格解码器不再拒绝这些源文件。
42
+ - 大纲 Office 段的字节范围改为按文档序号比例映射,避免所有 section 都落在 `0..0`;`fileOutlineCheck` 覆盖该行为。
43
+ - Office 文件不再在 import/export/dependency 中报 `binary_file`,而是解析 hyperlink/external link/formula/embedded 引用。
44
+ - 对含未配对代理项的字符串哈希时,`TextEncoder` 会替换它,因而得到与 `U+FFFD` 相同的摘要。`rawTextHex`、`fingerprintString` 与严格规范化 JSON 现在拒绝该输入,而不是把两个不同的值塌缩成一个。
45
+ - 目录内容摘要曾由 `readFile(path, "utf8")` 计算,因此不是合法 UTF-8 的文件(例如 `0x80` 与 `0x81`)会解码成同一个替换字符并共用摘要。现在改为按字节哈希。
13
46
 
14
47
  ## [0.4.2] - 2026-10-29
15
48
 
@@ -33,7 +66,7 @@
33
66
 
34
67
  ### 修复
35
68
 
36
- - 声明文件改用 JavaScript 扩展名。`tsc` 只会为 `.js` 输出重写相对 `.ts` 导入,因此由 `tools/rewrite-declaration-extensions.ts` 重写 `.d.ts`,若仍残留 TypeScript 扩展名则构建失败。
69
+ - 声明文件改用 JavaScript 扩展名。`tsc` 只会为 `.js` 输出重写相对 `.ts` 导入,因此由 `tools/rewriteDeclarationExtensions.ts` 重写 `.d.ts`,若仍残留 TypeScript 扩展名则构建失败。
37
70
 
38
71
  ## [0.4.0] - 2026-10-29
39
72
 
@@ -81,7 +114,7 @@
81
114
  并保留八种旧场景到五种规范场景、`inspire` 到 `diverge` 的显式桥接。
82
115
  - `docs/governance.md`、`governance.schema.json`(清单与凭据)、两个可校验示例
83
116
  (`attention-manifest.json`、`switch-credential.json`)。
84
- - `tools/governance-check.ts`(19 项)与 `tools/governed-task-check.ts`(5 项),
117
+ - `tools/governanceCheck.ts`(19 项)与 `tools/governedTaskCheck.ts`(5 项),
85
118
  已接入 `npm run verify`。
86
119
  - `src/runtime/governedTask.ts`:把清单验签、凭据校验、法务审计、账本扣款、黑板回执与
87
120
  控制决策套在 `CognitiveRuntime` 外面;拒绝路径在模型调用之前返回。已用真实 DeepSeek
@@ -98,10 +131,10 @@
98
131
  - 治理审计链(`src/governance/audit.ts`):清单、凭据、回执、扣款、法务、工作流、切换与
99
132
  runtime 回合均可追加到只追加哈希链;`verify()` 检测改写/重排/截断,`open({ sink })` 重开时
100
133
  先验链。`GovernedTask` 可注入 `audit`,结算后自动写 `runtime.turn`。
101
- - `tools/audit-check.ts`(2 项)验证跨对象记录、重开、篡改与损坏拒绝,已接入 `npm run verify`。
102
- - `tools/cooperation-check.ts`(13 项)已接入 `npm run verify`;`governance-check` 增至 21 项,
134
+ - `tools/auditCheck.ts`(2 项)验证跨对象记录、重开、篡改与损坏拒绝,已接入 `npm run verify`。
135
+ - `tools/cooperationCheck.ts`(13 项)已接入 `npm run verify`;`governance-check` 增至 21 项,
103
136
  新增对伪造签名、负额度、冻结撤销、归档门禁、控制 NaN、未知 effect、私域引用泄漏的回归断言。
104
- - `tools/live-governance-eval.ts`(`npm run governance-live`):接入 DeepSeek 做质量、token 与边界评测。
137
+ - `tools/liveGovernanceEval.ts`(`npm run governance-live`):接入 DeepSeek 做质量、token 与边界评测。
105
138
  质量用确定性 rubric + 严格 judge;token 记录 input/output/cache/cost、账本扣款与预算上限;
106
139
  边界覆盖危机升级、过期清单、过期凭据、法务冻结、预算耗尽、提示注入泄漏、多 Agent 越界与超限。
107
140
  报告写入 `docs/probes/governance-live.json`,key 只从环境变量读取。
@@ -125,7 +158,7 @@
125
158
  - 新增 `compaction.schema.json`(检查点与剪枝计划)、两个可校验示例
126
159
  (`checkpoint.json`、`prune-plan.json`),以及含 P-1 至 P-7 不变量的
127
160
  `docs/compaction.md`。
128
- - 新增 `tools/compaction-check.ts`(15 项断言),已接入 `npm run verify`。
161
+ - 新增 `tools/compactionCheck.ts`(15 项断言),已接入 `npm run verify`。
129
162
  - 概念经济。`pruneConcept()` 为一个概念的体量设上限:重复示例折叠为更典型的那条;超过
130
163
  `maxExamples` 的示例从最不典型的一端裁掉;`minExamples` 作为下限,保证概念仍有实例。
131
164
  关系先去重,提供解析器时删除悬空目标,外延只折叠完全重复项。定义、内涵、反例与
@@ -133,11 +166,11 @@
133
166
  - `compactConceptHistory()` 保留 head 与 `keepVersions`,其余版本压缩为
134
167
  `concept-checkpoint`。版本号不连续或保留窗口覆盖全部版本时拒绝压缩。不变量 C-1 至 C-4
135
168
  记录在 `docs/compaction.md` §6。
136
- - 新增 `concept-compaction.schema.json`、两个可校验示例,以及 `tools/concept-check.ts`
169
+ - 新增 `concept-compaction.schema.json`、两个可校验示例,以及 `tools/conceptCheck.ts`
137
170
  (14 项断言),已接入 `npm run verify`。
138
171
  - `src/structure/priority.ts`:基于比较堆的稳定 `PriorityQueue`;可按 key 以 O(log n)
139
172
  重新定级与删除的 `IndexedPriorityQueue`;按整数优先级分桶、桶内 FIFO 的 `BucketQueue`;
140
- 以及有界选取的 `TopK`。`tools/priority-check.ts` 含 27 个用例(包括与稳定排序模型对拍的
173
+ 以及有界选取的 `TopK`。`tools/priorityCheck.ts` 含 27 个用例(包括与稳定排序模型对拍的
141
174
  随机差分检查),以 `npm run priority-check` 运行,并接入 `npm run verify`。
142
175
 
143
176
  ### 变更
package/README.md CHANGED
@@ -1,171 +1,250 @@
1
- # Attention Manifest Protocol (AMP)
2
-
3
- **English** · [简体中文](README.zh-CN.md) · [Changelog](CHANGELOG.md)
4
-
5
- AMP is a metacognitive protocol for agents: declare knowledge and obligations, allocate finite attention, obtain evidence, and record costs and outcomes. The reference implementation is version `0.4.2`, requires **Node.js 24 or later**, and uses Apache-2.0.
6
-
7
- ## Architecture
8
-
9
- | Component | Responsibility |
10
- | --- | --- |
11
- | Warrant Ledger | Claims, evidence, hypotheses, unknowns, concepts and plans: why believe a conclusion? |
12
- | Attention Ledger | Frames, budgets, receipts and interruptions: where was attention spent? |
13
- | Manifest | Durable, signable identity, capabilities, commitments and limits |
14
- | Attention | Select candidates and record why they matter |
15
- | Frame | Freeze one allocation with refs, budgets and explicit exclusions (`ignored`) |
16
- | Context | Materialize summaries, relations and bounded detail access |
17
- | Receipt | Record actual costs and outcomes for audit and calibration |
18
- | Compaction | Prune cold or superseded objects with a reason, then replace a verified prefix with a checkpoint |
19
-
20
- ```text
21
- Attention → Frame → Context → Receipt → Ledger
22
- ```
23
-
24
- Context combines a structural tree and typed relationships. Project dependencies, imports, calls and references are descriptive and may contain cycles; `depends` separately denotes prerequisites. Relations do not automatically widen a Frame. Summaries retain provenance/revision information; content-addressed detail reads verify hashes. Structure and provenance do not by themselves prove factual correctness.
25
-
26
- ## Implemented capabilities
27
-
28
- - T0–T4 evidence tiers, confidence limits, revision, falsifiability, preregistration and abstention.
29
- - Budgeted attention, explicit exclusions, interrupts, leases, delegation and merge/arbitration.
30
- - Signed manifests/credentials, governance workflows, tool gates, authenticated local/HTTP communication, audit chains and persistence adapters.
31
- - MCP execution, schema-validated arguments, digest pinning and legacy fallback; A2A discovery and messages.
32
- - Project trees, project dependency graphs, partial TS/JS import/call/reference graphs and lexical knowledge retrieval.
33
- - Structured Markdown/TXT/DOCX/XLSX/PPTX and TeX/LaTeX/BibTeX input with native source locations and summary/detail separation.
34
- - `amp.workspace` v1 agent service, seven tools, local runtime integration and MCP stdio.
35
- - Compaction and pruning at two levels. `planPrune()` decides every drop with a reason and a revisit condition; `compactLedger()` replaces a verified cold prefix with a checkpoint, `verifyCompaction()` re-derives that commitment, and compaction refuses to bury an entry the retained tail still cites. `pruneConcept()` and `compactConceptHistory()` apply the same discipline to concept content and version history.
36
-
37
- Offline parsers live in `tools/support/`. The runtime stays database-free and uses ports; persistence adapters are separate. Concrete contracts remain in [schemas](docs/schemas/), [examples](docs/examples/) and executable [checks](tools/).
38
-
39
- ## Quick start
40
-
41
- ```sh
42
- npm ci
43
- npm run build
44
- npm run verify
45
- npm run scenario
46
- ```
47
-
48
- ## Library usage
49
-
50
- `npm install attention-manifest-protocol` ships the compiled ESM build in `lib/` with its declarations, alongside the source, JSON Schemas and executable checks. Node.js 24 or later is required. The root entry exposes the documented protocol surfaces; every module is also reachable as a subpath.
51
-
52
- ```js
53
- import { generateSigningKey, signManifest, verifyManifest } from "attention-manifest-protocol";
54
- import { Ledger } from "attention-manifest-protocol/ledger";
55
- import { sha256Hex } from "attention-manifest-protocol/semantic/sha256.js";
56
- ```
57
-
58
- | Specifier | Resolves to |
59
- | --- | --- |
60
- | `attention-manifest-protocol` | `lib/index.js`: attention, context, frame, ledger, manifest, receipt and warrant |
61
- | `attention-manifest-protocol/<module>` | `lib/<module>/index.js` for every module under `src/` |
62
- | `attention-manifest-protocol/<module>/<file>.js` | one compiled module |
63
- | `attention-manifest-protocol/schemas/<name>.json` | the JSON Schema from `docs/schemas/` |
64
-
65
- `npm run build:lib` rebuilds `lib/` and `prepublishOnly` runs it before publishing. The build compiles only the library; the Vite demo entry (`src/main.ts`) is not part of it.
66
-
67
- Focused checks: `npm run workspace-agent-check`, `workspace-context-check`, `document-context-check`, `tex-context-check`, `governance-check`, `typecheck` and `typecheck:tools`. `verify` runs the full chain and both type checks. Evaluation inputs/reports remain in [docs/eval](docs/eval/) and [docs/probes](docs/probes/) as JSON; fixture and recorded-probe results are not independent human studies or production-quality evidence.
68
-
69
- ## Agent tools
70
-
71
- The `amp.workspace` v1 response contains `protocol`, `version`, `revision`, `ok`, and either `data` or `error`. Both adapters share input schemas; the [protocol types](src/context/workspaceProtocol.ts) define the response envelope. Except capability discovery, each business tool requires the current `revision`.
72
-
73
- | Tool | Purpose |
74
- | --- | --- |
75
- | `amp_workspace_capabilities` | Discover permitted projects, registered Frames, tools and limits |
76
- | `amp_workspace_tree` | Page project roots or structural children with native source locations |
77
- | `amp_workspace_query` | Retrieve candidate IDs by lexical AND search and bounded graph traversal |
78
- | `amp_workspace_relations` | Page typed dependency/call/reference relations and sources |
79
- | `amp_workspace_materialize` | Materialize a host-registered Frame into a bounded Context |
80
- | `amp_workspace_read` | Read a CAS-verified detail page for an explicitly allocated visible target |
81
- | `amp_workspace_release` | Release a read handle without refunding or reopening its Frame |
82
-
83
- ### MCP stdio
84
-
85
- ```sh
86
- npm run workspace-agent-demo
87
- npm run workspace-agent -- --config .cache/workspace-agent.local
88
- ```
89
-
90
- For an MCP client, start Node directly to keep package-manager banners out of stdout. Replace absolute paths with your checkout location:
91
-
92
- ```json
93
- {
94
- "mcpServers": {
95
- "amp-workspace": {
96
- "command": "node",
97
- "args": [
98
- "R:/project/attention-manifest-protocol/tools/workspace-agent-server.ts",
99
- "--config",
100
- "R:/project/attention-manifest-protocol/.cache/workspace-agent.local"
101
- ]
102
- }
103
- }
104
- }
105
- ```
106
-
107
- The trusted host bootstrap contains `version: 1`, `agentId`, explicit `projectIds`, a `WorkspaceSnapshot`, `contents` mapping CAS refs to text, `frames`, and optional lower `limits`. Contents are hash-checked at startup. The demo uses example inputs; real hosts pass their authorized inventory to `scanStructuredWorkspace` in [documentScanner.ts](tools/support/documentScanner.ts).
108
-
109
- The stdio adapter reads configuration only at startup; new snapshots/Frames require a new host configuration and instance. It accepts newline-delimited JSON-RPC, limits messages to 1 MiB and configuration to 64 MiB, and never executes tools carried in notifications. It supports `initialize` for `2025-11-25` / `2025-06-18` and the repository's `2026-07-28` stateless discovery/metadata profile; other versions are not claimed as tested.
110
-
111
- ### Local runtime
112
-
113
- ```ts
114
- import { WorkspaceAgentService } from "./src/context/index.ts";
115
- import { ToolRegistry, registerWorkspaceTools, WorkspaceToolExecutor } from "./src/module/index.ts";
116
-
117
- const workspace = new WorkspaceAgentService({
118
- agentId: frame.agent,
119
- projectIds: ["project:packages/app"],
120
- snapshot,
121
- store,
122
- });
123
- workspace.registerFrame(frame, snapshot.revision);
124
- const tools = new ToolRegistry();
125
- registerWorkspaceTools(tools, workspace);
126
- const toolExecutor = new WorkspaceToolExecutor(workspace, existingExecutor);
127
- ```
128
-
129
- The host provides the Frame, snapshot, ContentStore and fallback executor; pass `tools` / `toolExecutor` to `CognitiveRuntime`. Registration, revocation and Receipt settlement are host APIs, unavailable to the model.
130
-
131
- ### Scope, lifecycle and limits
132
-
133
- Discovery/query return metadata and candidates, not authorization. Hosts fix project scope and register selected Frames. Only active targets admitted to the view permit detail reads; ancestor summaries do not grant whole-file access. Workspace IDs are extension-local keys, not global Ledger identities. Full Frame validation, signatures and policy checks remain host responsibilities.
134
-
135
- Identical materialization requests reuse a Context without recharging summaries; changed parameters are rejected. Release/revocation invalidates the read handle but retains pending settlement. Hosts use `pendingSettlements()` and `settle(contextId, receipt)` to obtain an archived ContextSnapshot. This state is in memory; hosts must persist audit/recovery data.
136
-
137
- Defaults: 128 registered Frames, 32 live read Contexts, 8000 estimated summary tokens, 8000 UTF-16 units per detail page, 131072 units per successful response and 1000 business calls. Query depth is at most 10; results/pages at most 100. Hosts may lower limits. Summary text and successful detail pages share the Frame's remaining estimated token budget; repeat reads cost budget and release does not refund it. Discovery, JSON wrapping and later model consumption are excluded from that estimate; actual usage belongs in Receipts.
138
-
139
- Detail offsets use UTF-16 units; `nextOffset: null` ends pagination. Reassemble structured JSON detail before parsing. CAS verification reads the full detail before paging, so response bounds do not imply bounded storage I/O. Runtime messages retain complete JSON up to `maxToolResultChars` (default 1048576, configurable down to 128); oversize results return `tool_result_too_large`, while logs retain a 4000-character preview.
140
-
141
- Service errors: `invalid_arguments`, `unknown_tool`, `revision_mismatch`, `not_available`, `frame_unavailable`, `budget_exhausted`, `capacity_exceeded`, `response_too_large`, `integrity_failure`, `internal_error`. Oversize responses fail instead of truncating structured content.
142
-
143
- ## Repository layout
144
-
145
- | Path | Contents |
146
- | --- | --- |
147
- | [src/context](src/context/) | Context lifecycle, tree/graph projections, CAS, workspace facts and agent service |
148
- | [src/module](src/module/) | LLM/tool ports, MCP adapters and execution policies |
149
- | [src/runtime](src/runtime/) | Agent turn/tool loop and governance integration |
150
- | [src/governance](src/governance/) | Manifests, credentials, budgets, workflows, signing and audit |
151
- | [src/structure](src/structure/) | Maps, trees, queues, priority indexes, filters, AST and LRU |
152
- | [src](src/) | Other attention, evidence, ledger, policy, kernel and persistence domains |
153
- | [tools](tools/) | TypeScript checks, offline scanners, demos and probes |
154
- | [docs/schemas](docs/schemas/) / [docs/examples](docs/examples/) | Machine-readable contracts and protocol examples |
155
- | [docs/eval](docs/eval/) / [docs/probes](docs/probes/) | Evaluation inputs and JSON reports |
156
-
157
- ## Code style
158
-
159
- ESLint checks semantic/style constraints; Prettier handles layout. Commands: `npm run lint`, `lint:fix`, `format:check`, `format`, `style-check`. Configuration lives in [eslint.config.mts](eslint.config.mts) and [prettier.config.mts](prettier.config.mts); local rules/printer live under `tools/`.
160
-
161
- Declare variable types explicitly; use arrow functions instead of `function`, semicolons, four-space indentation, double quotes and template strings. Keep parameters/type parameters on one line, use braces for control flow, `typeof(value)` and `=== (void 0)`. Locals/parameters and function values use lowerCamelCase; module-level data uses PascalCase. Comments use multiline JSDoc except tool directives. Historical files retain lint/format migration debt; functional verification does not imply a clean repository-wide style check.
162
-
163
- ## Boundaries and evidence
164
-
165
- Static dependency extraction is partial; missing edges do not prove independence. Markdown/TeX scanners do not implement all macros or semantics. Summaries, graphs and long contexts require multi-hop, cross-document and changing-information evaluations. Relevant primary sources include [LaRA](https://proceedings.mlr.press/v267/li25dv.html), [GraphRAG-Bench](https://arxiv.org/abs/2506.05690), [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) and [RFC 6920](https://www.rfc-editor.org/rfc/rfc6920.html); they do not establish AMP's own effectiveness.
166
-
167
- Sandbox isolation, multi-tenancy, interactive OAuth, production deployment and real external-agent interoperability remain outside the completed reference implementation. Human research inspires design but does not prove identical model mechanisms or capacity constants. Provenance proves integrity, not truth or authority to act.
168
-
169
- ## License and history
170
-
171
- [Apache License 2.0](LICENSE), copyright 2026 Eloy Kim; retain [NOTICE](NOTICE), license and attribution notices when redistributing. History: [CHANGELOG.md](CHANGELOG.md) and [CHANGELOG.zh-CN.md](CHANGELOG.zh-CN.md).
1
+ # Attention Manifest Protocol (AMP)
2
+
3
+ **English** · [简体中文](README.zh-CN.md) · [Changelog](CHANGELOG.md)
4
+
5
+ AMP is a metacognitive protocol for agents: declare knowledge and obligations, allocate finite attention, obtain evidence, and record costs and outcomes. The reference implementation is version `0.4.2`, requires **Node.js 24 or later**, and uses Apache-2.0.
6
+
7
+ ## Architecture
8
+
9
+ | Component | Responsibility |
10
+ | --- | --- |
11
+ | Warrant Ledger | Claims, evidence, hypotheses, unknowns, concepts and plans: why believe a conclusion? |
12
+ | Attention Ledger | Frames, budgets, receipts and interruptions: where was attention spent? |
13
+ | Manifest | Durable, signable identity, capabilities, commitments and limits |
14
+ | Assignment | Bind duties, authority, budget and interaction contracts to agents |
15
+ | Attention | Select candidates and record why they matter |
16
+ | Frame | Freeze one allocation with refs, budgets and explicit exclusions (`ignored`) |
17
+ | Context | Materialize summaries, relations and bounded detail access |
18
+ | Session | Bearer-bound identity, roots, permissions, TTL and context isolation |
19
+ | Filesystem | File/Directory tree, paged reads/writes, outlines, import/export/dependency graphs and Office parsing |
20
+ | Hook | Agent-facing composition: `useRead`/`useWrite`/`useDiff`/`useParse`/`useOutline`, read-only except write |
21
+ | Receipt | Record actual costs and outcomes for audit and calibration |
22
+ | Compaction | Prune cold or superseded objects with a reason, then replace a verified prefix with a checkpoint |
23
+ | Fingerprint | One definition of what a digest covers; algorithm and normalisation policy travel with the digest |
24
+ | Naming | One grammar for protocol, service and tool identity, with a parser and a catalog digest |
25
+
26
+ ```text
27
+ Attention → Frame → Context → Receipt → Ledger
28
+ ```
29
+
30
+ Context combines a structural tree and typed relationships. Project dependencies, imports, calls and references are descriptive and may contain cycles; `depends` separately denotes prerequisites. Relations do not automatically widen a Frame. Summaries retain provenance/revision information; content-addressed detail reads verify hashes. Structure and provenance do not by themselves prove factual correctness.
31
+
32
+ ## Implemented capabilities
33
+
34
+ - T0–T4 evidence tiers, confidence limits, revision, falsifiability, preregistration and abstention.
35
+ - Budgeted attention, explicit exclusions, interrupts, leases, delegation and merge/arbitration.
36
+ - Responsibility and interaction assignment: RACI-style duty bindings with authority/budget/window attenuation, acceptance, evidence-based discharge and cascade revoke; interaction contracts with protocol roles, mode mix, cadence, escalation and handoff.
37
+ - Signed manifests/credentials, governance workflows, tool gates, authenticated local/HTTP communication, audit chains and persistence adapters.
38
+ - MCP execution, schema-validated arguments, digest pinning and legacy fallback; A2A discovery and messages.
39
+ - Project trees, project dependency graphs, partial TS/JS import/call/reference graphs and lexical knowledge retrieval.
40
+ - Agent workspace: a `File`/`Directory` tree (fingerprint, charset, bigint lines/bytes, timestamps, description/summary/purpose); paged reads, CAS atomic writes, strategy-based outlines (code/project/prose/Office); import/export/dependency graphs (Tarjan SCC, topological order, bounded closure); Session identity and context isolation; a `src/hook` composition layer; SQLite entities and repositories.
41
+ - Host discovery: one structural tree over authorized projects, internal modules (service/tool/controller/route/repository/model/config/test/...), file names, bounded content matches, and host-registered plugins/services/tools. Project nodes carry description, purpose and summary.
42
+ - Structured Markdown/TXT/DOCX/XLSX/PPTX and TeX/LaTeX/BibTeX input with native source locations and summary/detail separation.
43
+ - `amp_protocol_workspace` v1 agent service, eight tools, local runtime integration and MCP stdio.
44
+ - Fingerprints with an explicit policy: RFC 8785 canonical JSON for values, byte-level hashing for files, domain-separated Merkle roots for directory trees, and a `verify` that compares algorithm, kind and policy instead of a bare hex string. Unpaired surrogates and `-0` are rejected rather than silently rewritten.
45
+ - One naming table for protocol, service and tool identity (`amp_protocol_*` / `amp_service_*` / `amp_tool_*`) with a grammar, a parser and a signed catalog digest, so dispatch, pinning and audit share one spelling.
46
+ - Compaction and pruning at two levels. `planPrune()` decides every drop with a reason and a revisit condition; `compactLedger()` replaces a verified cold prefix with a checkpoint, `verifyCompaction()` re-derives that commitment, and compaction refuses to bury an entry the retained tail still cites. `pruneConcept()` and `compactConceptHistory()` apply the same discipline to concept content and version history.
47
+
48
+ Offline parsers live in `tools/support/`. The runtime stays database-free and uses ports; persistence adapters are separate. Concrete contracts remain in [schemas](docs/schemas/), [examples](docs/examples/) and executable [checks](tools/).
49
+
50
+ ### Responsibility and interaction
51
+
52
+ `responsibility-assignment` binds duties, RACI, authority, budget, window and evidence to an assignee; `interaction-binding` fixes the parties, protocol roles, mode mix, cadence, escalation and handoff state for a conversation. Both are checked by `assignment-check` and `interaction-binding-check`, and their contracts live in [docs/schemas](docs/schemas/). `AssignmentLedger`'s `onRevoke` hook can call `BindingLedger.revokeForAssignment()` so an assignment revocation cascades to its bindings.
53
+
54
+ ### Discovery
55
+
56
+ `amp_tool_workspace_discover` returns one structural tree over the authorized projects. File nodes carry a module kind (`service`, `tool`, `controller`, `route`, `repository`, `model`, `config`, `test`, `middleware`, `component`, `util`), an extension and bounded content matches. Hosts register project descriptions, purposes, summaries, plugins, services and tools through `HostCatalog`; project metadata is attached to project nodes, and an unregistered project falls back to its workspace summary. Discovery is read-only, never widens `projectIds`, and returns snippets as discovery evidence rather than as a Frame-allocated detail read.
57
+
58
+ ## Quick start
59
+
60
+ ```sh
61
+ npm ci
62
+ npm run build
63
+ npm run verify
64
+ npm run scenario
65
+ ```
66
+
67
+ ## Library usage
68
+
69
+ `npm install attention-manifest-protocol` ships the compiled ESM build in `lib/` with its declarations, alongside the source, JSON Schemas and executable checks. Node.js 24 or later is required. The root entry exposes the documented protocol surfaces; every module is also reachable as a subpath.
70
+
71
+ ```js
72
+ import { generateSigningKey, signManifest, verifyManifest } from "attention-manifest-protocol";
73
+ import { Ledger } from "attention-manifest-protocol/ledger";
74
+ import { sha256Hex } from "attention-manifest-protocol/semantic/sha256.js";
75
+ import { fingerprintText, fingerprintTree, verify } from "attention-manifest-protocol/fingerprint";
76
+ import { ToolIds, parseId } from "attention-manifest-protocol/naming";
77
+ ```
78
+
79
+ | Specifier | Resolves to |
80
+ | --- | --- |
81
+ | `attention-manifest-protocol` | `lib/index.js`: attention, assignment, context, discover, frame, ledger, manifest, receipt and warrant |
82
+ | `attention-manifest-protocol/<module>` | `lib/<module>/index.js` for every module under `src/` |
83
+ | `attention-manifest-protocol/<module>/<file>.js` | one compiled module |
84
+ | `attention-manifest-protocol/schemas/<name>.json` | the JSON Schema from `docs/schemas/` |
85
+
86
+ `npm run build:lib` rebuilds `lib/` and `prepublishOnly` runs it before publishing. The build compiles only the library; the Vite demo entry (`src/main.ts`) is not part of it.
87
+
88
+ Focused checks: `npm run workspace-agent-check`, `workspace-project-check`, `workspace-diff-check`, `workspace-reactive-diff-check` and the `workspace-*-boundary-check` suites, `workspace-context-check`, `document-context-check`, `tex-context-check`, `governance-check`, `assignment-check`, `interaction-binding-check`, `discover-check`, `discover-agent-check`, `typecheck` and `typecheck:tools`. `verify` runs the full chain and both type checks. Evaluation inputs/reports remain in [docs/eval](docs/eval/) and [docs/probes](docs/probes/) as JSON; fixture and recorded-probe results are not independent human studies or production-quality evidence.
89
+
90
+ ## Agent tools
91
+
92
+ The `amp_protocol_workspace` v1 response contains `protocol`, `version`, `revision`, `ok`, and either `data` or `error`. Both adapters share input schemas; the [protocol types](src/protocol/workspace.ts) define the response envelope. Except capability discovery, each business tool requires the current `revision`. Tool names come from the frozen naming table in [`src/naming/`](src/naming/); the pre-0.5 `amp_workspace_*` spellings are still accepted as input aliases and are listed under `deprecatedAliases` in the capabilities response. Every workspace tool is also mirrored as `amp_tool_global_<leaf>` over the host's complete authorized project set.
93
+
94
+ | Tool | Purpose |
95
+ | --- | --- |
96
+ | `amp_tool_workspace_capabilities` | Discover permitted projects, registered Frames, tools and limits |
97
+ | `amp_tool_workspace_tree` | Page project roots or structural children with native source locations |
98
+ | `amp_tool_workspace_query` | Retrieve candidate IDs by lexical AND search and bounded graph traversal |
99
+ | `amp_tool_workspace_relations` | Page typed dependency/call/reference relations and sources |
100
+ | `amp_tool_workspace_discover` | Return one structural tree of authorized projects, modules, file names, bounded content matches and host components |
101
+ | `amp_tool_workspace_materialize` | Materialize a host-registered Frame into a bounded Context |
102
+ | `amp_tool_workspace_read` | Page a CAS-verified detail by character offset, 1-based lines or UTF-8 bytes; carries `importation`/`exportation`, the relative files it imports and the relative files importing it |
103
+ | `amp_tool_workspace_write` | Replace project content by whole node, line range or UTF-8 byte range; host-gated, CAS and dry-run; returns the same `importation`/`exportation` |
104
+ | `amp_tool_workspace_project` | Detect the project brand from manifest/lockfile evidence and run one host-approved `build`/`compile`/`run`/`test` command |
105
+ | `amp_tool_workspace_outline` | One cascading outline: project → directory → file → symbol/knowledge, with 1-based ranges and bounded depth |
106
+ | `amp_tool_workspace_dependency` | Project-level dependencies and dependents with the declaring source and method |
107
+ | `amp_tool_workspace_reactive_read` | Proxy-backed workspace tree whose properties materialize lazily and are cached |
108
+ | `amp_tool_workspace_reactive_write` | Set a node property (`summary`/`label`/`tags`) and refresh the affected cache; `content` uses the guarded write path |
109
+ | `amp_tool_workspace_diff_read` | Comparable project tree carrying content revisions and byte/line metrics |
110
+ | `amp_tool_workspace_diff_write` | Whole-file, 1-based line-splice or UTF-8 byte-splice write with the resulting line diff and hunks |
111
+ | `amp_tool_workspace_release` | Release a read handle without refunding or reopening its Frame |
112
+
113
+ `read` and `write` both need an explicitly allocated, materialized target; ancestors and discovery snippets do not grant it. `importation` lists the relative files the target's file imports (bare specifiers go to `external`, whose `externalTotal`/`externalTruncated` make the `maxFileLinks` cut visible) and `exportation` lists the relative files that import it, so an edit can be scoped without a second relation query. After a write to a file, a symbol or knowledge page extracted from it answers `stale_detail` until the host refreshes the snapshot, so stale bytes are never served with a current-looking revision. `write` never touches the file system itself: the host supplies a write port in `WorkspaceServiceOptions.writer`, and without one the call fails with `write_unavailable` while `dryRun` still previews the edit.
114
+
115
+ `project` detection is offline (manifest and lockfile file names only); an execution action hands exactly one command from the brand table to `WorkspaceServiceOptions.runner`, and the agent can never supply command text. `reactive_read`/`reactive_write` add a per-service annotation overlay and child-index cache: a write bumps `cacheVersion` and reports every invalidated ancestor. `diff_read` exposes the content revision of each file so two snapshots can be compared without bodies; `diff_write` applies whole-file, line or byte splices and returns the resulting hunks, reusing the write port, CAS and dry-run.
116
+
117
+ ### Filesystem tools
118
+
119
+ `amp_tool_filesystem_*` is bound to one authenticated Session; the bearer token never appears in a tool argument. Every tool except `write` is read-only.
120
+
121
+ | Tool | Purpose |
122
+ | --- | --- |
123
+ | `amp_tool_filesystem_session` | Current identity, roots, permissions, remaining TTL and quotas |
124
+ | `amp_tool_filesystem_file` | One File/Directory node; `depth`/`offset`/`limit` bound the subtree |
125
+ | `amp_tool_filesystem_directory` | Flat listing of direct children |
126
+ | `amp_tool_filesystem_read` | 1-based line page with fingerprint, charset and the next line |
127
+ | `amp_tool_filesystem_write` | Atomic write; create/overwrite/upsert/append, CAS, dry-run |
128
+ | `amp_tool_filesystem_outline` | Structural outline with `query`/`startLine`/`endLine` filters |
129
+ | `amp_tool_filesystem_import` | Outgoing, incoming or two-way imports |
130
+ | `amp_tool_filesystem_export` | Exported symbols, signatures and re-export edges |
131
+ | `amp_tool_filesystem_dependency` | Cycles, topological order and bounded closures |
132
+ | `amp_tool_filesystem_ast` | Lossless syntax tree: every non-whitespace token, declaration/markup hierarchy, UTF-8/line ranges; read-only, never executes |
133
+
134
+ The global variant is `amp_tool_globalfs_*`, a naming adapter in [src/global/filesystem.ts](src/global/filesystem.ts) that grants no new root or permission. Outline nodes carry `isFile`/`isDirectory`/`file?`/`directory?`/`path` (for example `add.py#add`) and `range` (UTF-8 bytes plus 1-based lines as bigint; decimal strings on the wire). Strategies cover code, Vue, project manifests, Markdown/TeX/plain text, CSS/SCSS/Sass, HTML, XML/OPML and Office; Office parsing covers DOCX/XLSX/PPTX and treats DOC/XLS/PPT/PUB/ACCDB as best-effort CFB.
135
+
136
+ ### Hooks
137
+
138
+ `src/hook` packages the same read-only operations as stateful, subscribable composition functions; only `useWrite` mutates:
139
+
140
+ ```ts
141
+ import { useRead, useWrite, useDiff } from "attention-manifest-protocol/hook";
142
+
143
+ const read = useRead(session);
144
+ await read.run({ path: "src/main.ts", maxLines: 80, includeLineNumbers: true });
145
+ const write = useWrite(session);
146
+ await write.run({ path: "src/new.ts", content: "export const value = 1;\n", mode: "create" });
147
+ const diff = useDiff(session);
148
+ await diff.run({ path: "src/new.ts", before: "" });
149
+ ```
150
+
151
+ `useParse` is module-specific (`useOutlineParse`, `useImportationParse`, `useExportationParse`, `useDependencyParse`, `useCodeParse`, `useProjectParse`, `useAstParse`); `useCode`/`useProject` are composed models and `useAst` returns the lossless read-only syntax tree. A cache hit re-checks the session revision, and runs can be recorded in `hook_runs`.
152
+
153
+ ### MCP stdio
154
+
155
+ ```sh
156
+ npm run workspace-agent-demo
157
+ npm run workspace-agent -- --config .cache/workspace-agent.local
158
+ ```
159
+
160
+ For an MCP client, start Node directly to keep package-manager banners out of stdout. Replace absolute paths with your checkout location:
161
+
162
+ ```json
163
+ {
164
+ "mcpServers": {
165
+ "amp-workspace": {
166
+ "command": "node",
167
+ "args": [
168
+ "R:/project/attention-manifest-protocol/tools/workspaceAgentServer.ts",
169
+ "--config",
170
+ "R:/project/attention-manifest-protocol/.cache/workspace-agent.local"
171
+ ]
172
+ }
173
+ }
174
+ }
175
+ ```
176
+
177
+ The trusted host bootstrap contains `version: 1`, `agentId`, explicit `projectIds`, a `WorkspaceSnapshot`, `contents` mapping CAS refs to text, `frames`, optional lower `limits`, and optional `discovery.projects` / `discovery.components` for host-registered descriptions and components. Contents are hash-checked at startup. The demo uses example inputs; real hosts pass their authorized inventory to `scanStructuredWorkspace` in [documentScanner.ts](tools/support/documentScanner.ts).
178
+
179
+ The stdio adapter reads configuration only at startup; new snapshots/Frames require a new host configuration and instance. It accepts newline-delimited JSON-RPC, limits messages to 1 MiB and configuration to 64 MiB, and never executes tools carried in notifications. It supports `initialize` for `2025-11-25` / `2025-06-18` and the repository's `2026-07-28` stateless discovery/metadata profile; other versions are not claimed as tested.
180
+
181
+ ### Local runtime
182
+
183
+ ```ts
184
+ import { WorkspaceAgentService } from "./src/context/index.ts";
185
+ import { ToolRegistry, registerWorkspaceTools, WorkspaceToolExecutor } from "./src/module/index.ts";
186
+
187
+ const workspace = new WorkspaceAgentService({
188
+ agentId: frame.agent,
189
+ projectIds: ["project:packages/app"],
190
+ snapshot,
191
+ store,
192
+ });
193
+ workspace.registerFrame(frame, snapshot.revision);
194
+ const tools = new ToolRegistry();
195
+ registerWorkspaceTools(tools, workspace);
196
+ const toolExecutor = new WorkspaceToolExecutor(workspace, existingExecutor);
197
+ ```
198
+
199
+ The host provides the Frame, snapshot, ContentStore and fallback executor; pass `tools` / `toolExecutor` to `CognitiveRuntime`. Registration, revocation and Receipt settlement are host APIs, unavailable to the model.
200
+
201
+ ### Scope, lifecycle and limits
202
+
203
+ Discovery/query return metadata and candidates, not authorization. Hosts fix project scope and register selected Frames. Only active targets admitted to the view permit detail reads; ancestor summaries do not grant whole-file access. Workspace IDs are extension-local keys, not global Ledger identities. Full Frame validation, signatures and policy checks remain host responsibilities.
204
+
205
+ Identical materialization requests reuse a Context without recharging summaries; changed parameters are rejected. Release/revocation invalidates the read handle but retains pending settlement. Hosts use `pendingSettlements()` and `settle(contextId, receipt)` to obtain an archived ContextSnapshot. This state is in memory; hosts must persist audit/recovery data.
206
+
207
+ Defaults: 128 registered Frames, 32 live read Contexts, 8000 estimated summary tokens, 8000 UTF-16 units per detail page, 131072 units per successful response and 1000 business calls. Query depth is at most 10; results/pages at most 100. Hosts may lower limits. Summary text and successful detail pages share the Frame's remaining estimated token budget; repeat reads cost budget and release does not refund it. Discovery, JSON wrapping and later model consumption are excluded from that estimate; actual usage belongs in Receipts.
208
+
209
+ Detail offsets use UTF-16 units; `nextOffset: null` ends pagination. Reassemble structured JSON detail before parsing. CAS verification reads the full detail before paging, so response bounds do not imply bounded storage I/O. Runtime messages retain complete JSON up to `maxToolResultChars` (default 1048576, configurable down to 128); oversize results return `tool_result_too_large`, while logs retain a 4000-character preview.
210
+
211
+ Service errors: `invalid_arguments`, `unknown_tool`, `revision_mismatch`, `not_available`, `frame_unavailable`, `budget_exhausted`, `capacity_exceeded`, `response_too_large`, `integrity_failure`, `internal_error`. Oversize responses fail instead of truncating structured content.
212
+
213
+ ## Repository layout
214
+
215
+ | Path | Contents |
216
+ | --- | --- |
217
+ | [src/semantic](src/semantic/) | Base primitives with no policy: strict SHA-256, canonical JSON and the I-JSON predicate |
218
+ | [src/fingerprint](src/fingerprint/) | Algorithms, preimage framing, policies, refs, verification, files and Merkle trees |
219
+ | [src/naming](src/naming/) | The frozen id table, the id grammar, compatibility aliases and the catalog digest |
220
+ | [src/context](src/context/) | Context lifecycle, tree/graph projections, CAS, workspace facts, context assembly and agent service |
221
+ | [src/session](src/session/) | Identity, tokens, TTL, context isolation, fork/revoke/rotate |
222
+ | [src/file](src/file/) | File/Directory tree, metadata, paged reads, atomic writes, session runtime/service, module graphs and ZIP/CFB containers |
223
+ | [src/syntax](src/syntax/) | Charset detection/encoding, byte/line indexing, syntax registry and lossless read-only syntax trees |
224
+ | [src/outline](src/outline/) | Code/document outlines, range and label indexes, keyword/strategy registries, React/Shell/SQL/Visual Basic strategies and Office parsing |
225
+ | [src/hook](src/hook/) | Agent-facing composition hooks and run records |
226
+ | [src/protocol](src/protocol/) | Wire contracts: envelopes, A2A, channels and the `amp_protocol_workspace` surface |
227
+ | [src/module](src/module/) | LLM/tool ports, MCP adapters and execution policies |
228
+ | [src/runtime](src/runtime/) | Agent turn/tool loop and governance integration |
229
+ | [src/governance](src/governance/) | Manifests, credentials, budgets, workflows, signing and audit |
230
+ | [src/structure](src/structure/) | Maps, trees, queues, priority indexes, filters, AST and LRU |
231
+ | [src](src/) | Other attention, evidence, ledger, policy, kernel and persistence domains |
232
+ | [tools](tools/) | TypeScript checks, offline scanners, demos and probes |
233
+ | [docs/schemas](docs/schemas/) / [docs/examples](docs/examples/) | Machine-readable contracts and protocol examples |
234
+ | [docs/eval](docs/eval/) / [docs/probes](docs/probes/) | Evaluation inputs and JSON reports |
235
+
236
+ ## Code style
237
+
238
+ ESLint checks semantic/style constraints; Prettier handles layout. Commands: `npm run lint`, `lint:fix`, `format:check`, `format`, `style-check`. Configuration lives in [eslint.config.mts](eslint.config.mts) and [prettier.config.mts](prettier.config.mts); local rules/printer live under `tools/`.
239
+
240
+ Declare variable types explicitly; use arrow functions instead of `function`, semicolons, four-space indentation, double quotes and template strings. Keep parameters/type parameters on one line, use braces for control flow, `typeof(value)` and `=== (void 0)`. Locals/parameters and function values use lowerCamelCase; module-level data uses PascalCase; source file names use lowerCamelCase starting with a lowercase letter (for example `workspaceService.ts`, `fileGraph.ts`) and never hyphens, while SQL identifiers keep the existing snake_case. Comments use multiline JSDoc except tool directives. Historical files retain lint/format migration debt; functional verification does not imply a clean repository-wide style check.
241
+
242
+ ## Boundaries and evidence
243
+
244
+ Static dependency extraction is partial; missing edges do not prove independence. Markdown/TeX scanners do not implement all macros or semantics. Summaries, graphs and long contexts require multi-hop, cross-document and changing-information evaluations. Relevant primary sources include [LaRA](https://proceedings.mlr.press/v267/li25dv.html), [GraphRAG-Bench](https://arxiv.org/abs/2506.05690), [Tree-sitter](https://tree-sitter.github.io/tree-sitter/) and [RFC 6920](https://www.rfc-editor.org/rfc/rfc6920.html); they do not establish AMP's own effectiveness.
245
+
246
+ Sandbox isolation, multi-tenancy, interactive OAuth, production deployment and real external-agent interoperability remain outside the completed reference implementation. Human research inspires design but does not prove identical model mechanisms or capacity constants. Provenance proves integrity, not truth or authority to act.
247
+
248
+ ## License and history
249
+
250
+ [Apache License 2.0](LICENSE), copyright 2026 Eloy Kim; retain [NOTICE](NOTICE), license and attribution notices when redistributing. History: [CHANGELOG.md](CHANGELOG.md) and [CHANGELOG.zh-CN.md](CHANGELOG.zh-CN.md).