attention-manifest-protocol 0.4.1 → 0.4.3

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 (829) hide show
  1. package/CHANGELOG.md +341 -283
  2. package/CHANGELOG.zh-CN.md +51 -8
  3. package/README.md +250 -169
  4. package/README.zh-CN.md +251 -169
  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/lib/window/index.d.ts +3 -0
  314. package/lib/window/index.js +1 -0
  315. package/package.json +72 -193
  316. package/.editorconfig +0 -12
  317. package/.prettierignore +0 -17
  318. 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
  319. package/docs/annotation-campaign-A.csv +0 -54
  320. package/docs/annotation-campaign-B.csv +0 -54
  321. package/docs/annotation-campaign.csv +0 -54
  322. package/docs/eval/annotations-A.jsonl +0 -16
  323. package/docs/eval/annotations.json +0 -122
  324. package/docs/eval/recorded-labels.json +0 -12
  325. package/docs/eval/replay-cases.json +0 -14
  326. package/docs/eval/replay-labels-b.json +0 -14
  327. package/docs/examples/attention-request.json +0 -16
  328. package/docs/examples/checkpoint.json +0 -15
  329. package/docs/examples/claim.json +0 -66
  330. package/docs/examples/collaboration.json +0 -66
  331. package/docs/examples/concept-checkpoint.json +0 -15
  332. package/docs/examples/concept-prune-plan.json +0 -45
  333. package/docs/examples/federation.json +0 -126
  334. package/docs/examples/frame-chain.json +0 -77
  335. package/docs/examples/ledger-snapshot.json +0 -108
  336. package/docs/examples/manifest.json +0 -77
  337. package/docs/examples/message.json +0 -19
  338. package/docs/examples/other-model.json +0 -45
  339. package/docs/examples/plan.json +0 -50
  340. package/docs/examples/prune-plan.json +0 -48
  341. package/docs/examples/receipt.json +0 -22
  342. package/docs/examples/runtime-run.json +0 -573
  343. package/docs/examples/team.json +0 -66
  344. package/docs/examples/verb-note.json +0 -11
  345. package/docs/probes/bayes-scores.json +0 -1452
  346. package/docs/probes/calibration-imported.json +0 -141
  347. package/docs/probes/context-ast-deepseek.json +0 -1577
  348. package/docs/probes/deepseek-probe.json +0 -917
  349. package/docs/probes/eval-recorded-replay.json +0 -597
  350. package/docs/probes/eval-replay.json +0 -124
  351. package/docs/probes/eval-summary.json +0 -42
  352. package/docs/probes/runtime-eval.json +0 -4230
  353. package/docs/schemas/collaboration.schema.json +0 -73
  354. package/docs/schemas/common.schema.json +0 -125
  355. package/docs/schemas/compaction.schema.json +0 -121
  356. package/docs/schemas/concept-compaction.schema.json +0 -73
  357. package/docs/schemas/concept.schema.json +0 -97
  358. package/docs/schemas/epistemic.schema.json +0 -178
  359. package/docs/schemas/federation.schema.json +0 -66
  360. package/docs/schemas/frame.schema.json +0 -86
  361. package/docs/schemas/ledger-snapshot.schema.json +0 -30
  362. package/docs/schemas/manifest.schema.json +0 -169
  363. package/docs/schemas/message.schema.json +0 -41
  364. package/docs/schemas/plan.schema.json +0 -189
  365. package/docs/schemas/receipt.schema.json +0 -45
  366. package/docs/schemas/social.schema.json +0 -153
  367. package/docs/schemas/team.schema.json +0 -56
  368. package/docs/schemas/verb.schema.json +0 -120
  369. package/eslint.config.mts +0 -96
  370. package/index.html +0 -13
  371. package/lib/context/workspaceProtocol.d.ts +0 -30
  372. package/lib/context/workspaceProtocol.js +0 -49
  373. package/prettier.config.mts +0 -37
  374. package/public/favicon.svg +0 -1
  375. package/public/icons.svg +0 -24
  376. package/src/attention/attention.ts +0 -347
  377. package/src/attention/budget.ts +0 -72
  378. package/src/attention/cognition.ts +0 -519
  379. package/src/attention/index.ts +0 -8
  380. package/src/attention/interrupts.ts +0 -228
  381. package/src/attention/resource.ts +0 -316
  382. package/src/attention/social.ts +0 -217
  383. package/src/attention/socialTypes.ts +0 -115
  384. package/src/authz/authz.ts +0 -305
  385. package/src/authz/index.ts +0 -1
  386. package/src/bayes/calibration.ts +0 -204
  387. package/src/bayes/calibrationRegistry.ts +0 -111
  388. package/src/bayes/calibrationSelection.ts +0 -154
  389. package/src/bayes/engine.ts +0 -532
  390. package/src/bayes/index.ts +0 -6
  391. package/src/bayes/reliability.ts +0 -62
  392. package/src/bayes/scopedPriors.ts +0 -88
  393. package/src/boundary/frame.ts +0 -322
  394. package/src/boundary/ids.ts +0 -14
  395. package/src/boundary/index.ts +0 -12
  396. package/src/boundary/refTable.ts +0 -125
  397. package/src/boundary/toolCall.ts +0 -212
  398. package/src/concept/concept.ts +0 -75
  399. package/src/concept/conceptBudget.ts +0 -346
  400. package/src/concept/conceptBudgetTypes.ts +0 -79
  401. package/src/concept/index.ts +0 -3
  402. package/src/concurrency/idempotency.ts +0 -41
  403. package/src/concurrency/index.ts +0 -5
  404. package/src/concurrency/mutex.ts +0 -26
  405. package/src/concurrency/namedLocks.ts +0 -35
  406. package/src/concurrency/retry.ts +0 -50
  407. package/src/concurrency/worker.ts +0 -128
  408. package/src/context/agentContext.ts +0 -308
  409. package/src/context/ast.ts +0 -499
  410. package/src/context/contentStore.ts +0 -75
  411. package/src/context/context.ts +0 -65
  412. package/src/context/contextIndex.ts +0 -85
  413. package/src/context/document.ts +0 -137
  414. package/src/context/fileStorePath.ts +0 -14
  415. package/src/context/index.ts +0 -43
  416. package/src/context/lifecycle.ts +0 -221
  417. package/src/context/projections.ts +0 -151
  418. package/src/context/workspace.ts +0 -422
  419. package/src/context/workspaceProtocol.ts +0 -112
  420. package/src/context/workspaceService.ts +0 -423
  421. package/src/cooperation/board.ts +0 -104
  422. package/src/cooperation/collaboration.ts +0 -60
  423. package/src/cooperation/index.ts +0 -6
  424. package/src/cooperation/merge.ts +0 -190
  425. package/src/cooperation/metrics.ts +0 -57
  426. package/src/cooperation/session.ts +0 -131
  427. package/src/cooperation/unified.ts +0 -56
  428. package/src/counter.ts +0 -9
  429. package/src/database/adapter/adapters.ts +0 -35
  430. package/src/database/adapter/index.ts +0 -4
  431. package/src/database/adapter/runtimeSink.ts +0 -74
  432. package/src/database/adapter/sessionStore.ts +0 -32
  433. package/src/database/adapter/turnStore.ts +0 -23
  434. package/src/database/entity/agent.ts +0 -199
  435. package/src/database/entity/entity.ts +0 -1046
  436. package/src/database/entity/handle.ts +0 -79
  437. package/src/database/entity/index.ts +0 -32
  438. package/src/database/entity/message.ts +0 -74
  439. package/src/database/entity/meta.ts +0 -11
  440. package/src/database/entity/object.ts +0 -42
  441. package/src/database/entity/outbox.ts +0 -15
  442. package/src/database/entity/process.ts +0 -65
  443. package/src/database/entity/registry.ts +0 -155
  444. package/src/database/entity/runtimeApproval.ts +0 -30
  445. package/src/database/entity/runtimeSession.ts +0 -13
  446. package/src/database/entity/runtimeTurn.ts +0 -15
  447. package/src/database/entity/thread.ts +0 -85
  448. package/src/database/entity/window.ts +0 -85
  449. package/src/database/entity/worker.ts +0 -90
  450. package/src/database/index.ts +0 -6
  451. package/src/database/repository/addressSpaceRepository.ts +0 -72
  452. package/src/database/repository/agentRepository.ts +0 -460
  453. package/src/database/repository/base.ts +0 -41
  454. package/src/database/repository/executionRepository.ts +0 -477
  455. package/src/database/repository/handleRepository.ts +0 -64
  456. package/src/database/repository/index.ts +0 -20
  457. package/src/database/repository/messageRepository.ts +0 -52
  458. package/src/database/repository/objectRepository.ts +0 -69
  459. package/src/database/repository/outboxRepository.ts +0 -63
  460. package/src/database/repository/processRepository.ts +0 -58
  461. package/src/database/repository/registryRepository.ts +0 -119
  462. package/src/database/repository/repository.ts +0 -491
  463. package/src/database/repository/runtimeApprovalRepository.ts +0 -44
  464. package/src/database/repository/runtimeSessionRepository.ts +0 -27
  465. package/src/database/repository/runtimeTurnRepository.ts +0 -39
  466. package/src/database/repository/socialRepository.ts +0 -185
  467. package/src/database/repository/threadRepository.ts +0 -57
  468. package/src/database/repository/windowRepository.ts +0 -88
  469. package/src/database/repository/workerRepository.ts +0 -69
  470. package/src/database/service/database.ts +0 -90
  471. package/src/database/service/handleService.ts +0 -48
  472. package/src/database/service/index.ts +0 -16
  473. package/src/database/service/messageService.ts +0 -61
  474. package/src/database/service/objectService.ts +0 -59
  475. package/src/database/service/processService.ts +0 -61
  476. package/src/database/service/registryServices.ts +0 -88
  477. package/src/database/service/service.ts +0 -183
  478. package/src/database/service/stepService.ts +0 -53
  479. package/src/database/service/threadService.ts +0 -65
  480. package/src/database/service/windowService.ts +0 -30
  481. package/src/database/service/workerService.ts +0 -57
  482. package/src/database/sql/index.ts +0 -3
  483. package/src/database/sql/schema.ts +0 -418
  484. package/src/database/sql/sql.ts +0 -543
  485. package/src/database/store/database.ts +0 -210
  486. package/src/database/store/index.ts +0 -3
  487. package/src/database/store/store.ts +0 -266
  488. package/src/delegate/index.ts +0 -2
  489. package/src/delegate/team.ts +0 -268
  490. package/src/delegate/teamTypes.ts +0 -47
  491. package/src/diagnosis/checklist.ts +0 -74
  492. package/src/diagnosis/context.ts +0 -93
  493. package/src/diagnosis/frame.ts +0 -256
  494. package/src/diagnosis/index.ts +0 -5
  495. package/src/diagnosis/router.ts +0 -72
  496. package/src/diagnosis/types.ts +0 -89
  497. package/src/error/agentError.ts +0 -16
  498. package/src/error/ampError.ts +0 -20
  499. package/src/error/authzError.ts +0 -14
  500. package/src/error/boundaryRejection.ts +0 -20
  501. package/src/error/index.ts +0 -7
  502. package/src/error/kernelError.ts +0 -27
  503. package/src/error/mailboxError.ts +0 -9
  504. package/src/error/windowError.ts +0 -12
  505. package/src/evaluation/agreement.ts +0 -96
  506. package/src/evaluation/index.ts +0 -2
  507. package/src/evaluation/labels.ts +0 -241
  508. package/src/evidence/evidenceGraph.ts +0 -205
  509. package/src/evidence/index.ts +0 -4
  510. package/src/evidence/revalidation.ts +0 -191
  511. package/src/execution/exec.ts +0 -408
  512. package/src/execution/handles.ts +0 -65
  513. package/src/execution/index.ts +0 -3
  514. package/src/execution/pin.ts +0 -154
  515. package/src/frame/frame.ts +0 -70
  516. package/src/frame/index.ts +0 -1
  517. package/src/goal/goal.ts +0 -43
  518. package/src/goal/index.ts +0 -2
  519. package/src/goal/plan.ts +0 -196
  520. package/src/governance/attentionManifest.ts +0 -802
  521. package/src/governance/audit.ts +0 -362
  522. package/src/governance/budget.ts +0 -628
  523. package/src/governance/context.ts +0 -356
  524. package/src/governance/control.ts +0 -159
  525. package/src/governance/cooperation.ts +0 -479
  526. package/src/governance/credential.ts +0 -359
  527. package/src/governance/httpServer.ts +0 -99
  528. package/src/governance/index.ts +0 -32
  529. package/src/governance/legal.ts +0 -574
  530. package/src/governance/matrix.ts +0 -460
  531. package/src/governance/perspectives.ts +0 -406
  532. package/src/governance/signing.ts +0 -407
  533. package/src/governance/store.ts +0 -125
  534. package/src/governance/switching.ts +0 -459
  535. package/src/governance/toolPolicy.ts +0 -80
  536. package/src/governance/transport.ts +0 -204
  537. package/src/governance/types.ts +0 -380
  538. package/src/governance/workflow.ts +0 -743
  539. package/src/index.ts +0 -11
  540. package/src/interaction/index.ts +0 -1
  541. package/src/interaction/interaction.ts +0 -391
  542. package/src/ipc/index.ts +0 -4
  543. package/src/ipc/mailbox.ts +0 -132
  544. package/src/ipc/memorySocialStore.ts +0 -93
  545. package/src/ipc/social.ts +0 -93
  546. package/src/kernel/index.ts +0 -14
  547. package/src/kernel/scheduler.ts +0 -498
  548. package/src/ledger/checkpoint.ts +0 -304
  549. package/src/ledger/index.ts +0 -4
  550. package/src/ledger/ledger.ts +0 -31
  551. package/src/ledger/persistence.ts +0 -159
  552. package/src/ledger/share.ts +0 -80
  553. package/src/lock/index.ts +0 -2
  554. package/src/lock/lease.ts +0 -74
  555. package/src/main.ts +0 -199
  556. package/src/manifest/agentCard.ts +0 -72
  557. package/src/manifest/cardSign.ts +0 -87
  558. package/src/manifest/federation.ts +0 -237
  559. package/src/manifest/federationTypes.ts +0 -55
  560. package/src/manifest/index.ts +0 -8
  561. package/src/manifest/keys.ts +0 -643
  562. package/src/manifest/manifest.ts +0 -114
  563. package/src/manifest/sign.ts +0 -134
  564. package/src/manifest/trust.ts +0 -146
  565. package/src/mission/index.ts +0 -2
  566. package/src/mission/missionQueue.ts +0 -75
  567. package/src/module/index.ts +0 -9
  568. package/src/module/llm/deepseek.ts +0 -214
  569. package/src/module/llm/llm.ts +0 -84
  570. package/src/module/mcp/client.ts +0 -110
  571. package/src/module/mcp/http.ts +0 -102
  572. package/src/module/mcp/protocol.ts +0 -77
  573. package/src/module/mcp/server.ts +0 -148
  574. package/src/module/mcp/transport.ts +0 -30
  575. package/src/module/mcp/workspaceServer.ts +0 -111
  576. package/src/module/sandbox/sandbox.ts +0 -29
  577. package/src/module/tool/mcpExecutor.ts +0 -54
  578. package/src/module/tool/policy.ts +0 -52
  579. package/src/module/tool/redact.ts +0 -29
  580. package/src/module/tool/tool.ts +0 -53
  581. package/src/module/tool/workspaceExecutor.ts +0 -35
  582. package/src/policy/guard.ts +0 -240
  583. package/src/policy/index.ts +0 -2
  584. package/src/policy/policy.ts +0 -561
  585. package/src/process/agent.ts +0 -341
  586. package/src/process/agentService.ts +0 -236
  587. package/src/process/agentStore.ts +0 -378
  588. package/src/process/executionStore.ts +0 -151
  589. package/src/process/index.ts +0 -5
  590. package/src/process/process.ts +0 -240
  591. package/src/process/transitions.ts +0 -19
  592. package/src/progress/index.ts +0 -2
  593. package/src/progress/progress.ts +0 -85
  594. package/src/protocol/a2a.ts +0 -120
  595. package/src/protocol/channel.ts +0 -44
  596. package/src/protocol/envelope.ts +0 -655
  597. package/src/protocol/httpChannel.ts +0 -87
  598. package/src/protocol/index.ts +0 -6
  599. package/src/protocol/protocol.ts +0 -138
  600. package/src/protocol/wire.ts +0 -60
  601. package/src/receipt/index.ts +0 -1
  602. package/src/receipt/receipt.ts +0 -47
  603. package/src/registry/content.ts +0 -69
  604. package/src/registry/index.ts +0 -23
  605. package/src/registry/registry.ts +0 -599
  606. package/src/runtime/action.ts +0 -87
  607. package/src/runtime/behavior.ts +0 -330
  608. package/src/runtime/behaviorTuning.ts +0 -163
  609. package/src/runtime/cognitiveRuntime.ts +0 -703
  610. package/src/runtime/escalation.ts +0 -35
  611. package/src/runtime/governedTask.ts +0 -233
  612. package/src/runtime/index.ts +0 -15
  613. package/src/runtime/kernelRuntime.ts +0 -144
  614. package/src/runtime/operation.ts +0 -35
  615. package/src/runtime/replay.ts +0 -71
  616. package/src/runtime/routing.ts +0 -58
  617. package/src/runtime/safety.ts +0 -48
  618. package/src/runtime/session.ts +0 -341
  619. package/src/runtime/sessionStore.ts +0 -43
  620. package/src/runtime/telemetry.ts +0 -55
  621. package/src/runtime/turnStore.ts +0 -30
  622. package/src/scenario/index.ts +0 -1
  623. package/src/scenario/scenario.ts +0 -299
  624. package/src/semantic/canonical.ts +0 -24
  625. package/src/semantic/index.ts +0 -2
  626. package/src/semantic/sha256.ts +0 -82
  627. package/src/storage/appendLog.ts +0 -372
  628. package/src/storage/fileAppendSink.ts +0 -40
  629. package/src/storage/index.ts +0 -2
  630. package/src/store/bindCache.ts +0 -22
  631. package/src/store/cache.ts +0 -191
  632. package/src/store/context.ts +0 -31
  633. package/src/store/handleStore.ts +0 -31
  634. package/src/store/index.ts +0 -9
  635. package/src/store/messageStore.ts +0 -31
  636. package/src/store/objectStore.ts +0 -31
  637. package/src/store/processStore.ts +0 -31
  638. package/src/store/threadStore.ts +0 -31
  639. package/src/store/windowStore.ts +0 -31
  640. package/src/structure/abstractSyntaxTree.ts +0 -493
  641. package/src/structure/avlTree.ts +0 -408
  642. package/src/structure/binarySearchTree.ts +0 -352
  643. package/src/structure/binaryTree.ts +0 -525
  644. package/src/structure/bloomFilter.ts +0 -231
  645. package/src/structure/compare.ts +0 -110
  646. package/src/structure/cuckooFilter.ts +0 -337
  647. package/src/structure/deque.ts +0 -223
  648. package/src/structure/filterKey.ts +0 -36
  649. package/src/structure/hash.ts +0 -279
  650. package/src/structure/heap.ts +0 -268
  651. package/src/structure/index.ts +0 -20
  652. package/src/structure/iterator.ts +0 -22
  653. package/src/structure/lru.ts +0 -619
  654. package/src/structure/ordered.ts +0 -399
  655. package/src/structure/priority.ts +0 -915
  656. package/src/structure/queue.ts +0 -168
  657. package/src/structure/redBlackTree.ts +0 -680
  658. package/src/structure/segmentTree.ts +0 -248
  659. package/src/structure/stack.ts +0 -118
  660. package/src/structure/unordered.ts +0 -407
  661. package/src/style.css +0 -278
  662. package/src/thread/index.ts +0 -2
  663. package/src/thread/thread.ts +0 -176
  664. package/src/thread/transitions.ts +0 -17
  665. package/src/types/common.ts +0 -119
  666. package/src/types/index.ts +0 -23
  667. package/src/warrant/epistemic.ts +0 -154
  668. package/src/warrant/index.ts +0 -3
  669. package/src/warrant/inquiry.ts +0 -166
  670. package/src/warrant/warrant.ts +0 -179
  671. package/src/window/compaction.ts +0 -403
  672. package/src/window/compactionTypes.ts +0 -119
  673. package/src/window/index.ts +0 -4
  674. package/src/window/page.ts +0 -18
  675. package/src/window/window.ts +0 -244
  676. package/tools/_helpers.ts +0 -34
  677. package/tools/a2a-check.ts +0 -110
  678. package/tools/a2a-flow-check.ts +0 -78
  679. package/tools/agent-card-check.ts +0 -76
  680. package/tools/agent-check.ts +0 -236
  681. package/tools/agent-store-check.ts +0 -153
  682. package/tools/agreement-check.ts +0 -27
  683. package/tools/annotation-server-check.ts +0 -48
  684. package/tools/annotation-server.ts +0 -230
  685. package/tools/annotation-status.ts +0 -65
  686. package/tools/approval-access-check.ts +0 -66
  687. package/tools/arch-check.ts +0 -72
  688. package/tools/attention-core-check.ts +0 -48
  689. package/tools/attention-resource-check.ts +0 -169
  690. package/tools/audit-check.ts +0 -207
  691. package/tools/authority-check.ts +0 -124
  692. package/tools/authz-check.ts +0 -138
  693. package/tools/bayes-check.ts +0 -162
  694. package/tools/bayes-probe.ts +0 -154
  695. package/tools/behavior-tuning-check.ts +0 -53
  696. package/tools/board-check.ts +0 -87
  697. package/tools/boundary-check.ts +0 -199
  698. package/tools/bundle-trust-check.ts +0 -96
  699. package/tools/calibrate-imported.ts +0 -108
  700. package/tools/calibration-check.ts +0 -44
  701. package/tools/calibration-registry-check.ts +0 -40
  702. package/tools/calibration-sim.ts +0 -40
  703. package/tools/card-sign-check.ts +0 -71
  704. package/tools/card-trust-check.ts +0 -78
  705. package/tools/channel-check.ts +0 -86
  706. package/tools/checkpoint-check.ts +0 -620
  707. package/tools/cleanup-style-configs.ts +0 -29
  708. package/tools/cognition-check.ts +0 -648
  709. package/tools/cognitive-runtime-check.ts +0 -609
  710. package/tools/collaboration-demo.ts +0 -78
  711. package/tools/compaction-check.ts +0 -266
  712. package/tools/concept-check.ts +0 -260
  713. package/tools/concurrency-check.ts +0 -242
  714. package/tools/conformance-runtime.ts +0 -389
  715. package/tools/conformance.ts +0 -651
  716. package/tools/context-ast-check.ts +0 -90
  717. package/tools/context-ast-deepseek.ts +0 -242
  718. package/tools/context-graph-bench.ts +0 -50
  719. package/tools/context-graph-check.ts +0 -229
  720. package/tools/context-index-check.ts +0 -48
  721. package/tools/context-lifecycle-check.ts +0 -69
  722. package/tools/context-projection-check.ts +0 -73
  723. package/tools/context-scope-check.ts +0 -134
  724. package/tools/context-storage-check.ts +0 -113
  725. package/tools/cooperation-check.ts +0 -517
  726. package/tools/cooperation-http-check.ts +0 -125
  727. package/tools/deepseek-llm-check.ts +0 -147
  728. package/tools/deepseek-probe.ts +0 -494
  729. package/tools/diagnosis-check.ts +0 -109
  730. package/tools/diagnosis-router-check.ts +0 -50
  731. package/tools/document-context-check.ts +0 -237
  732. package/tools/envelope-check.ts +0 -659
  733. package/tools/eslint-rules/index.ts +0 -26
  734. package/tools/eslint-rules/rules/jsdoc-comment-format.ts +0 -105
  735. package/tools/eslint-rules/rules/no-function-keyword.ts +0 -60
  736. package/tools/eslint-rules/rules/no-multiline-parameters.ts +0 -71
  737. package/tools/eslint-rules/rules/no-multiline-type-parameters.ts +0 -57
  738. package/tools/eslint-rules/rules/no-undefined-comparison.ts +0 -115
  739. package/tools/eslint-rules/rules/prefer-template-for-string-conversion.ts +0 -97
  740. package/tools/eslint-rules/rules/require-typeof-parentheses.ts +0 -49
  741. package/tools/eslint-rules/rules/require-variable-type.ts +0 -36
  742. package/tools/eslint-rules/rules/variable-naming.ts +0 -175
  743. package/tools/eval-recorded-replay.ts +0 -215
  744. package/tools/eval-replay.ts +0 -139
  745. package/tools/eval-summary.ts +0 -136
  746. package/tools/evidence-revalidation-check.ts +0 -235
  747. package/tools/exec-check.ts +0 -217
  748. package/tools/federation-check.ts +0 -166
  749. package/tools/federation-demo.ts +0 -45
  750. package/tools/filter-check.ts +0 -243
  751. package/tools/governance-check.ts +0 -680
  752. package/tools/governance-store-check.ts +0 -131
  753. package/tools/governed-task-check.ts +0 -227
  754. package/tools/guard-check.ts +0 -122
  755. package/tools/http-channel-check.ts +0 -125
  756. package/tools/import-campaign.ts +0 -28
  757. package/tools/inquiry-check.ts +0 -126
  758. package/tools/interaction-check.ts +0 -171
  759. package/tools/interrupts-check.ts +0 -173
  760. package/tools/ipc-check.ts +0 -170
  761. package/tools/kernel-async-check.ts +0 -136
  762. package/tools/kernel-check.ts +0 -369
  763. package/tools/kernel-runtime-check.ts +0 -276
  764. package/tools/keys-check.ts +0 -559
  765. package/tools/label-audit.ts +0 -70
  766. package/tools/labels-workflow-check.ts +0 -49
  767. package/tools/linear-structure-check.ts +0 -524
  768. package/tools/live-exec.ts +0 -62
  769. package/tools/live-governance-eval.ts +0 -813
  770. package/tools/live-legacy.ts +0 -50
  771. package/tools/lru-check.ts +0 -182
  772. package/tools/make-annotation-campaign.ts +0 -57
  773. package/tools/mcp-executor-check.ts +0 -33
  774. package/tools/merge-annotations.ts +0 -32
  775. package/tools/merge-check.ts +0 -98
  776. package/tools/metrics-check.ts +0 -84
  777. package/tools/net-probe.ts +0 -107
  778. package/tools/oauth-probe.ts +0 -117
  779. package/tools/outbox-check.ts +0 -50
  780. package/tools/persistence-check.ts +0 -144
  781. package/tools/pin-check.ts +0 -116
  782. package/tools/platform-check.ts +0 -281
  783. package/tools/policy-check.ts +0 -514
  784. package/tools/prettier-plugin/index.mts +0 -84
  785. package/tools/priority-check.ts +0 -627
  786. package/tools/probe-context7.ts +0 -63
  787. package/tools/registry-check.ts +0 -252
  788. package/tools/reliability-check.ts +0 -25
  789. package/tools/retry-check.ts +0 -85
  790. package/tools/rewrite-declaration-extensions.ts +0 -98
  791. package/tools/runtime-check.ts +0 -165
  792. package/tools/runtime-deepseek-check.ts +0 -85
  793. package/tools/runtime-eval.ts +0 -358
  794. package/tools/scenario-check.ts +0 -161
  795. package/tools/scenario-incident.ts +0 -162
  796. package/tools/scoped-priors-check.ts +0 -35
  797. package/tools/scoped-priors-pooling.ts +0 -34
  798. package/tools/segment-ast-check.ts +0 -649
  799. package/tools/session-check.ts +0 -196
  800. package/tools/session-store-check.ts +0 -73
  801. package/tools/share-check.ts +0 -88
  802. package/tools/sign-check.ts +0 -95
  803. package/tools/signing-check.ts +0 -275
  804. package/tools/snapshot-demo.ts +0 -65
  805. package/tools/social-check.ts +0 -146
  806. package/tools/structure-compare-check.ts +0 -95
  807. package/tools/support/documentScanner.ts +0 -577
  808. package/tools/support/texScanner.ts +0 -631
  809. package/tools/support/workspaceScanner.ts +0 -476
  810. package/tools/team-check.ts +0 -163
  811. package/tools/team-demo.ts +0 -36
  812. package/tools/telemetry-check.ts +0 -44
  813. package/tools/tex-context-check.ts +0 -263
  814. package/tools/tool-gate-check.ts +0 -98
  815. package/tools/tree-structure-check.ts +0 -786
  816. package/tools/trust-flow-check.ts +0 -158
  817. package/tools/turn-store-check.ts +0 -57
  818. package/tools/unified-check.ts +0 -83
  819. package/tools/validate.ts +0 -309
  820. package/tools/wire-check.ts +0 -96
  821. package/tools/workspace-agent-check.ts +0 -486
  822. package/tools/workspace-agent-demo.ts +0 -62
  823. package/tools/workspace-agent-server.ts +0 -101
  824. package/tools/workspace-context-check.ts +0 -331
  825. package/tools/workspace-context.ts +0 -131
  826. package/tsconfig.build.json +0 -14
  827. package/tsconfig.json +0 -24
  828. package/tsconfig.tools.json +0 -31
  829. package/viz/context-ast.json +0 -1577
@@ -7,9 +7,52 @@
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`)会解码成同一个替换字符并共用摘要。现在改为按字节哈希。
46
+
47
+ ## [0.4.2] - 2026-10-29
48
+
49
+ ### 修复
50
+
51
+ - `attention-manifest-protocol/window` 现在导出账本层的压缩与剪枝:`planPrune`、`compactLedger`、`verifyCompaction`、`CompactionRefused`、`PruneResult`、`Compaction`、`CompactionOptions`,以及 `PrunePolicy`、`PrunePlan`、`PruneDecision`、`PruneReason`、`Checkpoint`、`LedgerKind` 等策略类型。这些实现此前虽已编译进 `lib/`,却未出现在 barrel 中,只能通过深层路径 `window/compaction.js` 访问。
52
+
53
+ ### 变更
54
+
55
+ - 中英文 README 将压缩与剪枝补为架构构件,并点名账本层与概念层的入口函数。
13
56
 
14
57
  ## [0.4.1] - 2026-10-29
15
58
 
@@ -23,7 +66,7 @@
23
66
 
24
67
  ### 修复
25
68
 
26
- - 声明文件改用 JavaScript 扩展名。`tsc` 只会为 `.js` 输出重写相对 `.ts` 导入,因此由 `tools/rewrite-declaration-extensions.ts` 重写 `.d.ts`,若仍残留 TypeScript 扩展名则构建失败。
69
+ - 声明文件改用 JavaScript 扩展名。`tsc` 只会为 `.js` 输出重写相对 `.ts` 导入,因此由 `tools/rewriteDeclarationExtensions.ts` 重写 `.d.ts`,若仍残留 TypeScript 扩展名则构建失败。
27
70
 
28
71
  ## [0.4.0] - 2026-10-29
29
72
 
@@ -71,7 +114,7 @@
71
114
  并保留八种旧场景到五种规范场景、`inspire` 到 `diverge` 的显式桥接。
72
115
  - `docs/governance.md`、`governance.schema.json`(清单与凭据)、两个可校验示例
73
116
  (`attention-manifest.json`、`switch-credential.json`)。
74
- - `tools/governance-check.ts`(19 项)与 `tools/governed-task-check.ts`(5 项),
117
+ - `tools/governanceCheck.ts`(19 项)与 `tools/governedTaskCheck.ts`(5 项),
75
118
  已接入 `npm run verify`。
76
119
  - `src/runtime/governedTask.ts`:把清单验签、凭据校验、法务审计、账本扣款、黑板回执与
77
120
  控制决策套在 `CognitiveRuntime` 外面;拒绝路径在模型调用之前返回。已用真实 DeepSeek
@@ -88,10 +131,10 @@
88
131
  - 治理审计链(`src/governance/audit.ts`):清单、凭据、回执、扣款、法务、工作流、切换与
89
132
  runtime 回合均可追加到只追加哈希链;`verify()` 检测改写/重排/截断,`open({ sink })` 重开时
90
133
  先验链。`GovernedTask` 可注入 `audit`,结算后自动写 `runtime.turn`。
91
- - `tools/audit-check.ts`(2 项)验证跨对象记录、重开、篡改与损坏拒绝,已接入 `npm run verify`。
92
- - `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 项,
93
136
  新增对伪造签名、负额度、冻结撤销、归档门禁、控制 NaN、未知 effect、私域引用泄漏的回归断言。
94
- - `tools/live-governance-eval.ts`(`npm run governance-live`):接入 DeepSeek 做质量、token 与边界评测。
137
+ - `tools/liveGovernanceEval.ts`(`npm run governance-live`):接入 DeepSeek 做质量、token 与边界评测。
95
138
  质量用确定性 rubric + 严格 judge;token 记录 input/output/cache/cost、账本扣款与预算上限;
96
139
  边界覆盖危机升级、过期清单、过期凭据、法务冻结、预算耗尽、提示注入泄漏、多 Agent 越界与超限。
97
140
  报告写入 `docs/probes/governance-live.json`,key 只从环境变量读取。
@@ -115,7 +158,7 @@
115
158
  - 新增 `compaction.schema.json`(检查点与剪枝计划)、两个可校验示例
116
159
  (`checkpoint.json`、`prune-plan.json`),以及含 P-1 至 P-7 不变量的
117
160
  `docs/compaction.md`。
118
- - 新增 `tools/compaction-check.ts`(15 项断言),已接入 `npm run verify`。
161
+ - 新增 `tools/compactionCheck.ts`(15 项断言),已接入 `npm run verify`。
119
162
  - 概念经济。`pruneConcept()` 为一个概念的体量设上限:重复示例折叠为更典型的那条;超过
120
163
  `maxExamples` 的示例从最不典型的一端裁掉;`minExamples` 作为下限,保证概念仍有实例。
121
164
  关系先去重,提供解析器时删除悬空目标,外延只折叠完全重复项。定义、内涵、反例与
@@ -123,11 +166,11 @@
123
166
  - `compactConceptHistory()` 保留 head 与 `keepVersions`,其余版本压缩为
124
167
  `concept-checkpoint`。版本号不连续或保留窗口覆盖全部版本时拒绝压缩。不变量 C-1 至 C-4
125
168
  记录在 `docs/compaction.md` §6。
126
- - 新增 `concept-compaction.schema.json`、两个可校验示例,以及 `tools/concept-check.ts`
169
+ - 新增 `concept-compaction.schema.json`、两个可校验示例,以及 `tools/conceptCheck.ts`
127
170
  (14 项断言),已接入 `npm run verify`。
128
171
  - `src/structure/priority.ts`:基于比较堆的稳定 `PriorityQueue`;可按 key 以 O(log n)
129
172
  重新定级与删除的 `IndexedPriorityQueue`;按整数优先级分桶、桶内 FIFO 的 `BucketQueue`;
130
- 以及有界选取的 `TopK`。`tools/priority-check.ts` 含 27 个用例(包括与稳定排序模型对拍的
173
+ 以及有界选取的 `TopK`。`tools/priorityCheck.ts` 含 27 个用例(包括与稳定排序模型对拍的
131
174
  随机差分检查),以 `npm run priority-check` 运行,并接入 `npm run verify`。
132
175
 
133
176
  ### 变更
package/README.md CHANGED
@@ -1,169 +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.0`, 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
-
19
- ```text
20
- Attention → Frame → Context → Receipt → Ledger
21
- ```
22
-
23
- 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.
24
-
25
- ## Implemented capabilities
26
-
27
- - T0–T4 evidence tiers, confidence limits, revision, falsifiability, preregistration and abstention.
28
- - Budgeted attention, explicit exclusions, interrupts, leases, delegation and merge/arbitration.
29
- - Signed manifests/credentials, governance workflows, tool gates, authenticated local/HTTP communication, audit chains and persistence adapters.
30
- - MCP execution, schema-validated arguments, digest pinning and legacy fallback; A2A discovery and messages.
31
- - Project trees, project dependency graphs, partial TS/JS import/call/reference graphs and lexical knowledge retrieval.
32
- - Structured Markdown/TXT/DOCX/XLSX/PPTX and TeX/LaTeX/BibTeX input with native source locations and summary/detail separation.
33
- - `amp.workspace` v1 agent service, seven tools, local runtime integration and MCP stdio.
34
-
35
- 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/).
36
-
37
- ## Quick start
38
-
39
- ```sh
40
- npm ci
41
- npm run build
42
- npm run verify
43
- npm run scenario
44
- ```
45
-
46
- ## Library usage
47
-
48
- `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.
49
-
50
- ```js
51
- import { generateSigningKey, signManifest, verifyManifest } from "attention-manifest-protocol";
52
- import { Ledger } from "attention-manifest-protocol/ledger";
53
- import { sha256Hex } from "attention-manifest-protocol/semantic/sha256.js";
54
- ```
55
-
56
- | Specifier | Resolves to |
57
- | --- | --- |
58
- | `attention-manifest-protocol` | `lib/index.js`: attention, context, frame, ledger, manifest, receipt and warrant |
59
- | `attention-manifest-protocol/<module>` | `lib/<module>/index.js` for every module under `src/` |
60
- | `attention-manifest-protocol/<module>/<file>.js` | one compiled module |
61
- | `attention-manifest-protocol/schemas/<name>.json` | the JSON Schema from `docs/schemas/` |
62
-
63
- `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.
64
-
65
- 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.
66
-
67
- ## Agent tools
68
-
69
- 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`.
70
-
71
- | Tool | Purpose |
72
- | --- | --- |
73
- | `amp_workspace_capabilities` | Discover permitted projects, registered Frames, tools and limits |
74
- | `amp_workspace_tree` | Page project roots or structural children with native source locations |
75
- | `amp_workspace_query` | Retrieve candidate IDs by lexical AND search and bounded graph traversal |
76
- | `amp_workspace_relations` | Page typed dependency/call/reference relations and sources |
77
- | `amp_workspace_materialize` | Materialize a host-registered Frame into a bounded Context |
78
- | `amp_workspace_read` | Read a CAS-verified detail page for an explicitly allocated visible target |
79
- | `amp_workspace_release` | Release a read handle without refunding or reopening its Frame |
80
-
81
- ### MCP stdio
82
-
83
- ```sh
84
- npm run workspace-agent-demo
85
- npm run workspace-agent -- --config .cache/workspace-agent.local
86
- ```
87
-
88
- For an MCP client, start Node directly to keep package-manager banners out of stdout. Replace absolute paths with your checkout location:
89
-
90
- ```json
91
- {
92
- "mcpServers": {
93
- "amp-workspace": {
94
- "command": "node",
95
- "args": [
96
- "R:/project/attention-manifest-protocol/tools/workspace-agent-server.ts",
97
- "--config",
98
- "R:/project/attention-manifest-protocol/.cache/workspace-agent.local"
99
- ]
100
- }
101
- }
102
- }
103
- ```
104
-
105
- 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).
106
-
107
- 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.
108
-
109
- ### Local runtime
110
-
111
- ```ts
112
- import { WorkspaceAgentService } from "./src/context/index.ts";
113
- import { ToolRegistry, registerWorkspaceTools, WorkspaceToolExecutor } from "./src/module/index.ts";
114
-
115
- const workspace = new WorkspaceAgentService({
116
- agentId: frame.agent,
117
- projectIds: ["project:packages/app"],
118
- snapshot,
119
- store,
120
- });
121
- workspace.registerFrame(frame, snapshot.revision);
122
- const tools = new ToolRegistry();
123
- registerWorkspaceTools(tools, workspace);
124
- const toolExecutor = new WorkspaceToolExecutor(workspace, existingExecutor);
125
- ```
126
-
127
- 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.
128
-
129
- ### Scope, lifecycle and limits
130
-
131
- 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.
132
-
133
- 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.
134
-
135
- 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.
136
-
137
- 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.
138
-
139
- 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.
140
-
141
- ## Repository layout
142
-
143
- | Path | Contents |
144
- | --- | --- |
145
- | [src/context](src/context/) | Context lifecycle, tree/graph projections, CAS, workspace facts and agent service |
146
- | [src/module](src/module/) | LLM/tool ports, MCP adapters and execution policies |
147
- | [src/runtime](src/runtime/) | Agent turn/tool loop and governance integration |
148
- | [src/governance](src/governance/) | Manifests, credentials, budgets, workflows, signing and audit |
149
- | [src/structure](src/structure/) | Maps, trees, queues, priority indexes, filters, AST and LRU |
150
- | [src](src/) | Other attention, evidence, ledger, policy, kernel and persistence domains |
151
- | [tools](tools/) | TypeScript checks, offline scanners, demos and probes |
152
- | [docs/schemas](docs/schemas/) / [docs/examples](docs/examples/) | Machine-readable contracts and protocol examples |
153
- | [docs/eval](docs/eval/) / [docs/probes](docs/probes/) | Evaluation inputs and JSON reports |
154
-
155
- ## Code style
156
-
157
- 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/`.
158
-
159
- 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.
160
-
161
- ## Boundaries and evidence
162
-
163
- 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.
164
-
165
- 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.
166
-
167
- ## License and history
168
-
169
- [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).