attention-manifest-protocol 0.4.2 → 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 (827) 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/docs/schemas/collaboration.schema.json +0 -73
  352. package/docs/schemas/common.schema.json +0 -125
  353. package/docs/schemas/compaction.schema.json +0 -121
  354. package/docs/schemas/concept-compaction.schema.json +0 -73
  355. package/docs/schemas/concept.schema.json +0 -97
  356. package/docs/schemas/epistemic.schema.json +0 -178
  357. package/docs/schemas/federation.schema.json +0 -66
  358. package/docs/schemas/frame.schema.json +0 -86
  359. package/docs/schemas/ledger-snapshot.schema.json +0 -30
  360. package/docs/schemas/manifest.schema.json +0 -169
  361. package/docs/schemas/message.schema.json +0 -41
  362. package/docs/schemas/plan.schema.json +0 -189
  363. package/docs/schemas/receipt.schema.json +0 -45
  364. package/docs/schemas/social.schema.json +0 -153
  365. package/docs/schemas/team.schema.json +0 -56
  366. package/docs/schemas/verb.schema.json +0 -120
  367. package/eslint.config.mts +0 -96
  368. package/index.html +0 -13
  369. package/lib/context/workspaceProtocol.d.ts +0 -30
  370. package/lib/context/workspaceProtocol.js +0 -49
  371. package/prettier.config.mts +0 -37
  372. package/public/favicon.svg +0 -1
  373. package/public/icons.svg +0 -24
  374. package/src/attention/attention.ts +0 -347
  375. package/src/attention/budget.ts +0 -72
  376. package/src/attention/cognition.ts +0 -519
  377. package/src/attention/index.ts +0 -8
  378. package/src/attention/interrupts.ts +0 -228
  379. package/src/attention/resource.ts +0 -316
  380. package/src/attention/social.ts +0 -217
  381. package/src/attention/socialTypes.ts +0 -115
  382. package/src/authz/authz.ts +0 -305
  383. package/src/authz/index.ts +0 -1
  384. package/src/bayes/calibration.ts +0 -204
  385. package/src/bayes/calibrationRegistry.ts +0 -111
  386. package/src/bayes/calibrationSelection.ts +0 -154
  387. package/src/bayes/engine.ts +0 -532
  388. package/src/bayes/index.ts +0 -6
  389. package/src/bayes/reliability.ts +0 -62
  390. package/src/bayes/scopedPriors.ts +0 -88
  391. package/src/boundary/frame.ts +0 -322
  392. package/src/boundary/ids.ts +0 -14
  393. package/src/boundary/index.ts +0 -12
  394. package/src/boundary/refTable.ts +0 -125
  395. package/src/boundary/toolCall.ts +0 -212
  396. package/src/concept/concept.ts +0 -75
  397. package/src/concept/conceptBudget.ts +0 -346
  398. package/src/concept/conceptBudgetTypes.ts +0 -79
  399. package/src/concept/index.ts +0 -3
  400. package/src/concurrency/idempotency.ts +0 -41
  401. package/src/concurrency/index.ts +0 -5
  402. package/src/concurrency/mutex.ts +0 -26
  403. package/src/concurrency/namedLocks.ts +0 -35
  404. package/src/concurrency/retry.ts +0 -50
  405. package/src/concurrency/worker.ts +0 -128
  406. package/src/context/agentContext.ts +0 -308
  407. package/src/context/ast.ts +0 -499
  408. package/src/context/contentStore.ts +0 -75
  409. package/src/context/context.ts +0 -65
  410. package/src/context/contextIndex.ts +0 -85
  411. package/src/context/document.ts +0 -137
  412. package/src/context/fileStorePath.ts +0 -14
  413. package/src/context/index.ts +0 -43
  414. package/src/context/lifecycle.ts +0 -221
  415. package/src/context/projections.ts +0 -151
  416. package/src/context/workspace.ts +0 -422
  417. package/src/context/workspaceProtocol.ts +0 -112
  418. package/src/context/workspaceService.ts +0 -423
  419. package/src/cooperation/board.ts +0 -104
  420. package/src/cooperation/collaboration.ts +0 -60
  421. package/src/cooperation/index.ts +0 -6
  422. package/src/cooperation/merge.ts +0 -190
  423. package/src/cooperation/metrics.ts +0 -57
  424. package/src/cooperation/session.ts +0 -131
  425. package/src/cooperation/unified.ts +0 -56
  426. package/src/counter.ts +0 -9
  427. package/src/database/adapter/adapters.ts +0 -35
  428. package/src/database/adapter/index.ts +0 -4
  429. package/src/database/adapter/runtimeSink.ts +0 -74
  430. package/src/database/adapter/sessionStore.ts +0 -32
  431. package/src/database/adapter/turnStore.ts +0 -23
  432. package/src/database/entity/agent.ts +0 -199
  433. package/src/database/entity/entity.ts +0 -1046
  434. package/src/database/entity/handle.ts +0 -79
  435. package/src/database/entity/index.ts +0 -32
  436. package/src/database/entity/message.ts +0 -74
  437. package/src/database/entity/meta.ts +0 -11
  438. package/src/database/entity/object.ts +0 -42
  439. package/src/database/entity/outbox.ts +0 -15
  440. package/src/database/entity/process.ts +0 -65
  441. package/src/database/entity/registry.ts +0 -155
  442. package/src/database/entity/runtimeApproval.ts +0 -30
  443. package/src/database/entity/runtimeSession.ts +0 -13
  444. package/src/database/entity/runtimeTurn.ts +0 -15
  445. package/src/database/entity/thread.ts +0 -85
  446. package/src/database/entity/window.ts +0 -85
  447. package/src/database/entity/worker.ts +0 -90
  448. package/src/database/index.ts +0 -6
  449. package/src/database/repository/addressSpaceRepository.ts +0 -72
  450. package/src/database/repository/agentRepository.ts +0 -460
  451. package/src/database/repository/base.ts +0 -41
  452. package/src/database/repository/executionRepository.ts +0 -477
  453. package/src/database/repository/handleRepository.ts +0 -64
  454. package/src/database/repository/index.ts +0 -20
  455. package/src/database/repository/messageRepository.ts +0 -52
  456. package/src/database/repository/objectRepository.ts +0 -69
  457. package/src/database/repository/outboxRepository.ts +0 -63
  458. package/src/database/repository/processRepository.ts +0 -58
  459. package/src/database/repository/registryRepository.ts +0 -119
  460. package/src/database/repository/repository.ts +0 -491
  461. package/src/database/repository/runtimeApprovalRepository.ts +0 -44
  462. package/src/database/repository/runtimeSessionRepository.ts +0 -27
  463. package/src/database/repository/runtimeTurnRepository.ts +0 -39
  464. package/src/database/repository/socialRepository.ts +0 -185
  465. package/src/database/repository/threadRepository.ts +0 -57
  466. package/src/database/repository/windowRepository.ts +0 -88
  467. package/src/database/repository/workerRepository.ts +0 -69
  468. package/src/database/service/database.ts +0 -90
  469. package/src/database/service/handleService.ts +0 -48
  470. package/src/database/service/index.ts +0 -16
  471. package/src/database/service/messageService.ts +0 -61
  472. package/src/database/service/objectService.ts +0 -59
  473. package/src/database/service/processService.ts +0 -61
  474. package/src/database/service/registryServices.ts +0 -88
  475. package/src/database/service/service.ts +0 -183
  476. package/src/database/service/stepService.ts +0 -53
  477. package/src/database/service/threadService.ts +0 -65
  478. package/src/database/service/windowService.ts +0 -30
  479. package/src/database/service/workerService.ts +0 -57
  480. package/src/database/sql/index.ts +0 -3
  481. package/src/database/sql/schema.ts +0 -418
  482. package/src/database/sql/sql.ts +0 -543
  483. package/src/database/store/database.ts +0 -210
  484. package/src/database/store/index.ts +0 -3
  485. package/src/database/store/store.ts +0 -266
  486. package/src/delegate/index.ts +0 -2
  487. package/src/delegate/team.ts +0 -268
  488. package/src/delegate/teamTypes.ts +0 -47
  489. package/src/diagnosis/checklist.ts +0 -74
  490. package/src/diagnosis/context.ts +0 -93
  491. package/src/diagnosis/frame.ts +0 -256
  492. package/src/diagnosis/index.ts +0 -5
  493. package/src/diagnosis/router.ts +0 -72
  494. package/src/diagnosis/types.ts +0 -89
  495. package/src/error/agentError.ts +0 -16
  496. package/src/error/ampError.ts +0 -20
  497. package/src/error/authzError.ts +0 -14
  498. package/src/error/boundaryRejection.ts +0 -20
  499. package/src/error/index.ts +0 -7
  500. package/src/error/kernelError.ts +0 -27
  501. package/src/error/mailboxError.ts +0 -9
  502. package/src/error/windowError.ts +0 -12
  503. package/src/evaluation/agreement.ts +0 -96
  504. package/src/evaluation/index.ts +0 -2
  505. package/src/evaluation/labels.ts +0 -241
  506. package/src/evidence/evidenceGraph.ts +0 -205
  507. package/src/evidence/index.ts +0 -4
  508. package/src/evidence/revalidation.ts +0 -191
  509. package/src/execution/exec.ts +0 -408
  510. package/src/execution/handles.ts +0 -65
  511. package/src/execution/index.ts +0 -3
  512. package/src/execution/pin.ts +0 -154
  513. package/src/frame/frame.ts +0 -70
  514. package/src/frame/index.ts +0 -1
  515. package/src/goal/goal.ts +0 -43
  516. package/src/goal/index.ts +0 -2
  517. package/src/goal/plan.ts +0 -196
  518. package/src/governance/attentionManifest.ts +0 -802
  519. package/src/governance/audit.ts +0 -362
  520. package/src/governance/budget.ts +0 -628
  521. package/src/governance/context.ts +0 -356
  522. package/src/governance/control.ts +0 -159
  523. package/src/governance/cooperation.ts +0 -479
  524. package/src/governance/credential.ts +0 -359
  525. package/src/governance/httpServer.ts +0 -99
  526. package/src/governance/index.ts +0 -32
  527. package/src/governance/legal.ts +0 -574
  528. package/src/governance/matrix.ts +0 -460
  529. package/src/governance/perspectives.ts +0 -406
  530. package/src/governance/signing.ts +0 -407
  531. package/src/governance/store.ts +0 -125
  532. package/src/governance/switching.ts +0 -459
  533. package/src/governance/toolPolicy.ts +0 -80
  534. package/src/governance/transport.ts +0 -204
  535. package/src/governance/types.ts +0 -380
  536. package/src/governance/workflow.ts +0 -743
  537. package/src/index.ts +0 -11
  538. package/src/interaction/index.ts +0 -1
  539. package/src/interaction/interaction.ts +0 -391
  540. package/src/ipc/index.ts +0 -4
  541. package/src/ipc/mailbox.ts +0 -132
  542. package/src/ipc/memorySocialStore.ts +0 -93
  543. package/src/ipc/social.ts +0 -93
  544. package/src/kernel/index.ts +0 -14
  545. package/src/kernel/scheduler.ts +0 -498
  546. package/src/ledger/checkpoint.ts +0 -304
  547. package/src/ledger/index.ts +0 -4
  548. package/src/ledger/ledger.ts +0 -31
  549. package/src/ledger/persistence.ts +0 -159
  550. package/src/ledger/share.ts +0 -80
  551. package/src/lock/index.ts +0 -2
  552. package/src/lock/lease.ts +0 -74
  553. package/src/main.ts +0 -199
  554. package/src/manifest/agentCard.ts +0 -72
  555. package/src/manifest/cardSign.ts +0 -87
  556. package/src/manifest/federation.ts +0 -237
  557. package/src/manifest/federationTypes.ts +0 -55
  558. package/src/manifest/index.ts +0 -8
  559. package/src/manifest/keys.ts +0 -643
  560. package/src/manifest/manifest.ts +0 -114
  561. package/src/manifest/sign.ts +0 -134
  562. package/src/manifest/trust.ts +0 -146
  563. package/src/mission/index.ts +0 -2
  564. package/src/mission/missionQueue.ts +0 -75
  565. package/src/module/index.ts +0 -9
  566. package/src/module/llm/deepseek.ts +0 -214
  567. package/src/module/llm/llm.ts +0 -84
  568. package/src/module/mcp/client.ts +0 -110
  569. package/src/module/mcp/http.ts +0 -102
  570. package/src/module/mcp/protocol.ts +0 -77
  571. package/src/module/mcp/server.ts +0 -148
  572. package/src/module/mcp/transport.ts +0 -30
  573. package/src/module/mcp/workspaceServer.ts +0 -111
  574. package/src/module/sandbox/sandbox.ts +0 -29
  575. package/src/module/tool/mcpExecutor.ts +0 -54
  576. package/src/module/tool/policy.ts +0 -52
  577. package/src/module/tool/redact.ts +0 -29
  578. package/src/module/tool/tool.ts +0 -53
  579. package/src/module/tool/workspaceExecutor.ts +0 -35
  580. package/src/policy/guard.ts +0 -240
  581. package/src/policy/index.ts +0 -2
  582. package/src/policy/policy.ts +0 -561
  583. package/src/process/agent.ts +0 -341
  584. package/src/process/agentService.ts +0 -236
  585. package/src/process/agentStore.ts +0 -378
  586. package/src/process/executionStore.ts +0 -151
  587. package/src/process/index.ts +0 -5
  588. package/src/process/process.ts +0 -240
  589. package/src/process/transitions.ts +0 -19
  590. package/src/progress/index.ts +0 -2
  591. package/src/progress/progress.ts +0 -85
  592. package/src/protocol/a2a.ts +0 -120
  593. package/src/protocol/channel.ts +0 -44
  594. package/src/protocol/envelope.ts +0 -655
  595. package/src/protocol/httpChannel.ts +0 -87
  596. package/src/protocol/index.ts +0 -6
  597. package/src/protocol/protocol.ts +0 -138
  598. package/src/protocol/wire.ts +0 -60
  599. package/src/receipt/index.ts +0 -1
  600. package/src/receipt/receipt.ts +0 -47
  601. package/src/registry/content.ts +0 -69
  602. package/src/registry/index.ts +0 -23
  603. package/src/registry/registry.ts +0 -599
  604. package/src/runtime/action.ts +0 -87
  605. package/src/runtime/behavior.ts +0 -330
  606. package/src/runtime/behaviorTuning.ts +0 -163
  607. package/src/runtime/cognitiveRuntime.ts +0 -703
  608. package/src/runtime/escalation.ts +0 -35
  609. package/src/runtime/governedTask.ts +0 -233
  610. package/src/runtime/index.ts +0 -15
  611. package/src/runtime/kernelRuntime.ts +0 -144
  612. package/src/runtime/operation.ts +0 -35
  613. package/src/runtime/replay.ts +0 -71
  614. package/src/runtime/routing.ts +0 -58
  615. package/src/runtime/safety.ts +0 -48
  616. package/src/runtime/session.ts +0 -341
  617. package/src/runtime/sessionStore.ts +0 -43
  618. package/src/runtime/telemetry.ts +0 -55
  619. package/src/runtime/turnStore.ts +0 -30
  620. package/src/scenario/index.ts +0 -1
  621. package/src/scenario/scenario.ts +0 -299
  622. package/src/semantic/canonical.ts +0 -24
  623. package/src/semantic/index.ts +0 -2
  624. package/src/semantic/sha256.ts +0 -82
  625. package/src/storage/appendLog.ts +0 -372
  626. package/src/storage/fileAppendSink.ts +0 -40
  627. package/src/storage/index.ts +0 -2
  628. package/src/store/bindCache.ts +0 -22
  629. package/src/store/cache.ts +0 -191
  630. package/src/store/context.ts +0 -31
  631. package/src/store/handleStore.ts +0 -31
  632. package/src/store/index.ts +0 -9
  633. package/src/store/messageStore.ts +0 -31
  634. package/src/store/objectStore.ts +0 -31
  635. package/src/store/processStore.ts +0 -31
  636. package/src/store/threadStore.ts +0 -31
  637. package/src/store/windowStore.ts +0 -31
  638. package/src/structure/abstractSyntaxTree.ts +0 -493
  639. package/src/structure/avlTree.ts +0 -408
  640. package/src/structure/binarySearchTree.ts +0 -352
  641. package/src/structure/binaryTree.ts +0 -525
  642. package/src/structure/bloomFilter.ts +0 -231
  643. package/src/structure/compare.ts +0 -110
  644. package/src/structure/cuckooFilter.ts +0 -337
  645. package/src/structure/deque.ts +0 -223
  646. package/src/structure/filterKey.ts +0 -36
  647. package/src/structure/hash.ts +0 -279
  648. package/src/structure/heap.ts +0 -268
  649. package/src/structure/index.ts +0 -20
  650. package/src/structure/iterator.ts +0 -22
  651. package/src/structure/lru.ts +0 -619
  652. package/src/structure/ordered.ts +0 -399
  653. package/src/structure/priority.ts +0 -915
  654. package/src/structure/queue.ts +0 -168
  655. package/src/structure/redBlackTree.ts +0 -680
  656. package/src/structure/segmentTree.ts +0 -248
  657. package/src/structure/stack.ts +0 -118
  658. package/src/structure/unordered.ts +0 -407
  659. package/src/style.css +0 -278
  660. package/src/thread/index.ts +0 -2
  661. package/src/thread/thread.ts +0 -176
  662. package/src/thread/transitions.ts +0 -17
  663. package/src/types/common.ts +0 -119
  664. package/src/types/index.ts +0 -23
  665. package/src/warrant/epistemic.ts +0 -154
  666. package/src/warrant/index.ts +0 -3
  667. package/src/warrant/inquiry.ts +0 -166
  668. package/src/warrant/warrant.ts +0 -179
  669. package/src/window/compaction.ts +0 -403
  670. package/src/window/compactionTypes.ts +0 -119
  671. package/src/window/index.ts +0 -7
  672. package/src/window/page.ts +0 -18
  673. package/src/window/window.ts +0 -244
  674. package/tools/_helpers.ts +0 -34
  675. package/tools/a2a-check.ts +0 -110
  676. package/tools/a2a-flow-check.ts +0 -78
  677. package/tools/agent-card-check.ts +0 -76
  678. package/tools/agent-check.ts +0 -236
  679. package/tools/agent-store-check.ts +0 -153
  680. package/tools/agreement-check.ts +0 -27
  681. package/tools/annotation-server-check.ts +0 -48
  682. package/tools/annotation-server.ts +0 -230
  683. package/tools/annotation-status.ts +0 -65
  684. package/tools/approval-access-check.ts +0 -66
  685. package/tools/arch-check.ts +0 -72
  686. package/tools/attention-core-check.ts +0 -48
  687. package/tools/attention-resource-check.ts +0 -169
  688. package/tools/audit-check.ts +0 -207
  689. package/tools/authority-check.ts +0 -124
  690. package/tools/authz-check.ts +0 -138
  691. package/tools/bayes-check.ts +0 -162
  692. package/tools/bayes-probe.ts +0 -154
  693. package/tools/behavior-tuning-check.ts +0 -53
  694. package/tools/board-check.ts +0 -87
  695. package/tools/boundary-check.ts +0 -199
  696. package/tools/bundle-trust-check.ts +0 -96
  697. package/tools/calibrate-imported.ts +0 -108
  698. package/tools/calibration-check.ts +0 -44
  699. package/tools/calibration-registry-check.ts +0 -40
  700. package/tools/calibration-sim.ts +0 -40
  701. package/tools/card-sign-check.ts +0 -71
  702. package/tools/card-trust-check.ts +0 -78
  703. package/tools/channel-check.ts +0 -86
  704. package/tools/checkpoint-check.ts +0 -620
  705. package/tools/cleanup-style-configs.ts +0 -29
  706. package/tools/cognition-check.ts +0 -648
  707. package/tools/cognitive-runtime-check.ts +0 -609
  708. package/tools/collaboration-demo.ts +0 -78
  709. package/tools/compaction-check.ts +0 -266
  710. package/tools/concept-check.ts +0 -260
  711. package/tools/concurrency-check.ts +0 -242
  712. package/tools/conformance-runtime.ts +0 -389
  713. package/tools/conformance.ts +0 -651
  714. package/tools/context-ast-check.ts +0 -90
  715. package/tools/context-ast-deepseek.ts +0 -242
  716. package/tools/context-graph-bench.ts +0 -50
  717. package/tools/context-graph-check.ts +0 -229
  718. package/tools/context-index-check.ts +0 -48
  719. package/tools/context-lifecycle-check.ts +0 -69
  720. package/tools/context-projection-check.ts +0 -73
  721. package/tools/context-scope-check.ts +0 -134
  722. package/tools/context-storage-check.ts +0 -113
  723. package/tools/cooperation-check.ts +0 -517
  724. package/tools/cooperation-http-check.ts +0 -125
  725. package/tools/deepseek-llm-check.ts +0 -147
  726. package/tools/deepseek-probe.ts +0 -494
  727. package/tools/diagnosis-check.ts +0 -109
  728. package/tools/diagnosis-router-check.ts +0 -50
  729. package/tools/document-context-check.ts +0 -237
  730. package/tools/envelope-check.ts +0 -659
  731. package/tools/eslint-rules/index.ts +0 -26
  732. package/tools/eslint-rules/rules/jsdoc-comment-format.ts +0 -105
  733. package/tools/eslint-rules/rules/no-function-keyword.ts +0 -60
  734. package/tools/eslint-rules/rules/no-multiline-parameters.ts +0 -71
  735. package/tools/eslint-rules/rules/no-multiline-type-parameters.ts +0 -57
  736. package/tools/eslint-rules/rules/no-undefined-comparison.ts +0 -115
  737. package/tools/eslint-rules/rules/prefer-template-for-string-conversion.ts +0 -97
  738. package/tools/eslint-rules/rules/require-typeof-parentheses.ts +0 -49
  739. package/tools/eslint-rules/rules/require-variable-type.ts +0 -36
  740. package/tools/eslint-rules/rules/variable-naming.ts +0 -175
  741. package/tools/eval-recorded-replay.ts +0 -215
  742. package/tools/eval-replay.ts +0 -139
  743. package/tools/eval-summary.ts +0 -136
  744. package/tools/evidence-revalidation-check.ts +0 -235
  745. package/tools/exec-check.ts +0 -217
  746. package/tools/federation-check.ts +0 -166
  747. package/tools/federation-demo.ts +0 -45
  748. package/tools/filter-check.ts +0 -243
  749. package/tools/governance-check.ts +0 -680
  750. package/tools/governance-store-check.ts +0 -131
  751. package/tools/governed-task-check.ts +0 -227
  752. package/tools/guard-check.ts +0 -122
  753. package/tools/http-channel-check.ts +0 -125
  754. package/tools/import-campaign.ts +0 -28
  755. package/tools/inquiry-check.ts +0 -126
  756. package/tools/interaction-check.ts +0 -171
  757. package/tools/interrupts-check.ts +0 -173
  758. package/tools/ipc-check.ts +0 -170
  759. package/tools/kernel-async-check.ts +0 -136
  760. package/tools/kernel-check.ts +0 -369
  761. package/tools/kernel-runtime-check.ts +0 -276
  762. package/tools/keys-check.ts +0 -559
  763. package/tools/label-audit.ts +0 -70
  764. package/tools/labels-workflow-check.ts +0 -49
  765. package/tools/linear-structure-check.ts +0 -524
  766. package/tools/live-exec.ts +0 -62
  767. package/tools/live-governance-eval.ts +0 -813
  768. package/tools/live-legacy.ts +0 -50
  769. package/tools/lru-check.ts +0 -182
  770. package/tools/make-annotation-campaign.ts +0 -57
  771. package/tools/mcp-executor-check.ts +0 -33
  772. package/tools/merge-annotations.ts +0 -32
  773. package/tools/merge-check.ts +0 -98
  774. package/tools/metrics-check.ts +0 -84
  775. package/tools/net-probe.ts +0 -107
  776. package/tools/oauth-probe.ts +0 -117
  777. package/tools/outbox-check.ts +0 -50
  778. package/tools/persistence-check.ts +0 -144
  779. package/tools/pin-check.ts +0 -116
  780. package/tools/platform-check.ts +0 -281
  781. package/tools/policy-check.ts +0 -514
  782. package/tools/prettier-plugin/index.mts +0 -84
  783. package/tools/priority-check.ts +0 -627
  784. package/tools/probe-context7.ts +0 -63
  785. package/tools/registry-check.ts +0 -252
  786. package/tools/reliability-check.ts +0 -25
  787. package/tools/retry-check.ts +0 -85
  788. package/tools/rewrite-declaration-extensions.ts +0 -98
  789. package/tools/runtime-check.ts +0 -165
  790. package/tools/runtime-deepseek-check.ts +0 -85
  791. package/tools/runtime-eval.ts +0 -358
  792. package/tools/scenario-check.ts +0 -161
  793. package/tools/scenario-incident.ts +0 -162
  794. package/tools/scoped-priors-check.ts +0 -35
  795. package/tools/scoped-priors-pooling.ts +0 -34
  796. package/tools/segment-ast-check.ts +0 -649
  797. package/tools/session-check.ts +0 -196
  798. package/tools/session-store-check.ts +0 -73
  799. package/tools/share-check.ts +0 -88
  800. package/tools/sign-check.ts +0 -95
  801. package/tools/signing-check.ts +0 -275
  802. package/tools/snapshot-demo.ts +0 -65
  803. package/tools/social-check.ts +0 -146
  804. package/tools/structure-compare-check.ts +0 -95
  805. package/tools/support/documentScanner.ts +0 -577
  806. package/tools/support/texScanner.ts +0 -631
  807. package/tools/support/workspaceScanner.ts +0 -476
  808. package/tools/team-check.ts +0 -163
  809. package/tools/team-demo.ts +0 -36
  810. package/tools/telemetry-check.ts +0 -44
  811. package/tools/tex-context-check.ts +0 -263
  812. package/tools/tool-gate-check.ts +0 -98
  813. package/tools/tree-structure-check.ts +0 -786
  814. package/tools/trust-flow-check.ts +0 -158
  815. package/tools/turn-store-check.ts +0 -57
  816. package/tools/unified-check.ts +0 -83
  817. package/tools/validate.ts +0 -309
  818. package/tools/wire-check.ts +0 -96
  819. package/tools/workspace-agent-check.ts +0 -486
  820. package/tools/workspace-agent-demo.ts +0 -62
  821. package/tools/workspace-agent-server.ts +0 -101
  822. package/tools/workspace-context-check.ts +0 -331
  823. package/tools/workspace-context.ts +0 -131
  824. package/tsconfig.build.json +0 -14
  825. package/tsconfig.json +0 -24
  826. package/tsconfig.tools.json +0 -31
  827. package/viz/context-ast.json +0 -1577
@@ -0,0 +1,327 @@
1
+ /**
2
+ * Line diff for the workspace hook layer.
3
+ *
4
+ * The implementation is a linear-space LCS (Hirschberg) rather than a full
5
+ * dynamic-programming matrix: two 5000-line inputs would otherwise allocate a
6
+ * 25M-cell table and a diff of two generated files could exhaust the worker.
7
+ * Hirschberg keeps only two `Int32Array` rows at a time and still reconstructs
8
+ * the actual match list, so hunks stay stable and ordered rather than merely
9
+ * reporting counts.
10
+ *
11
+ * The result is bounded by {@link DiffMaxLines}. A larger input is diffed on
12
+ * its first 5000 lines and reports `truncated: true`; the fingerprints always
13
+ * cover the whole input, so a truncated display is never mistaken for an
14
+ * unchanged file.
15
+ *
16
+ * Every hunk line carries both coordinates. `beforeLine` and `afterLine` are
17
+ * 1-based; on an added line `beforeLine` is the insertion point in the original
18
+ * file, and on a removed line `afterLine` is the insertion point in the new
19
+ * file. That makes it possible to render either side without re-counting.
20
+ */
21
+ import { rawTextDigest } from "../fingerprint/raw.js";
22
+ /**
23
+ * Maximum number of lines diffed per side. Beyond this the computation is
24
+ * bounded and the result says `truncated`.
25
+ */
26
+ export const DiffMaxLines = 5000;
27
+ /**
28
+ * Default number of unchanged lines kept on each side of a change.
29
+ */
30
+ export const DiffDefaultContext = 3;
31
+ /**
32
+ * Hard ceiling for a caller-supplied context size.
33
+ */
34
+ export const DiffMaxContext = 20;
35
+ /**
36
+ * Split text into logical lines. A trailing newline terminates the last line
37
+ * rather than creating an empty one; `\r` is stripped so CRLF files diff
38
+ * cleanly against LF content.
39
+ *
40
+ * @param text - Text to split.
41
+ * @returns Lines without terminators.
42
+ */
43
+ export const splitDiffLines = (text) => {
44
+ if (text.length === 0) {
45
+ return [];
46
+ }
47
+ const lines = text.split("\n");
48
+ if (lines[lines.length - 1] === "") {
49
+ lines.pop();
50
+ }
51
+ return lines.map((line) => (line.endsWith("\r") ? line.slice(0, -1) : line));
52
+ };
53
+ /**
54
+ * Build a diff source from caller-supplied text. The fingerprint covers the
55
+ * exact input, including its trailing newline.
56
+ *
57
+ * @param text - Whole text.
58
+ * @returns Source lines, fingerprint and truncation flag.
59
+ */
60
+ export const textDiffSource = (text) => ({
61
+ lines: splitDiffLines(text),
62
+ fingerprint: rawTextDigest(text),
63
+ truncated: false,
64
+ });
65
+ /**
66
+ * Forward LCS row for `a[aStart..aEnd)` against `b[bStart..bEnd)`.
67
+ *
68
+ * @returns Row where index `k` is the LCS length for the first `k` items of b.
69
+ */
70
+ const lcsForward = (sides, aStart, aEnd, bStart, bEnd) => {
71
+ const a = sides.a;
72
+ const b = sides.b;
73
+ const width = bEnd - bStart;
74
+ let previous = new Int32Array(width + 1);
75
+ let current = new Int32Array(width + 1);
76
+ for (let index = aStart; index < aEnd; index += 1) {
77
+ current[0] = 0;
78
+ const left = a[index];
79
+ for (let column = 1; column <= width; column += 1) {
80
+ if (left === b[bStart + column - 1]) {
81
+ current[column] = previous[column - 1] + 1;
82
+ }
83
+ else {
84
+ current[column] = Math.max(previous[column], current[column - 1]);
85
+ }
86
+ }
87
+ const swap = previous;
88
+ previous = current;
89
+ current = swap;
90
+ }
91
+ return previous;
92
+ };
93
+ /**
94
+ * Backward LCS row. Index `k` is the LCS length of the suffix paired with the
95
+ * last `k` items of b, which is what makes a Hirschberg split possible.
96
+ */
97
+ const lcsBackward = (sides, aStart, aEnd, bStart, bEnd) => {
98
+ const a = sides.a;
99
+ const b = sides.b;
100
+ const width = bEnd - bStart;
101
+ let previous = new Int32Array(width + 1);
102
+ let current = new Int32Array(width + 1);
103
+ for (let index = aEnd - 1; index >= aStart; index -= 1) {
104
+ current[0] = 0;
105
+ const left = a[index];
106
+ for (let column = 1; column <= width; column += 1) {
107
+ if (left === b[bEnd - column]) {
108
+ current[column] = previous[column - 1] + 1;
109
+ }
110
+ else {
111
+ current[column] = Math.max(previous[column], current[column - 1]);
112
+ }
113
+ }
114
+ const swap = previous;
115
+ previous = current;
116
+ current = swap;
117
+ }
118
+ return previous;
119
+ };
120
+ /**
121
+ * Collect the matched index pairs of one LCS in order.
122
+ *
123
+ * The recursion splits `a` in half, picks the `b` split that maximises the sum
124
+ * of the forward and backward LCS lengths, and recurses on both halves. Memory
125
+ * stays O(|b|) and the result is the same match list a full LCS table would
126
+ * produce.
127
+ *
128
+ * @param sides - Both line arrays.
129
+ * @param aStart - Inclusive start in `a`.
130
+ * @param aEnd - Exclusive end in `a`.
131
+ * @param bStart - Inclusive start in `b`.
132
+ * @param bEnd - Exclusive end in `b`.
133
+ * @param matchA - Output indices in `a`.
134
+ * @param matchB - Output indices in `b`.
135
+ */
136
+ const collectMatches = (sides, aStart, aEnd, bStart, bEnd, matchA, matchB) => {
137
+ if (aStart >= aEnd || bStart >= bEnd) {
138
+ return;
139
+ }
140
+ const a = sides.a;
141
+ const b = sides.b;
142
+ if (aEnd - aStart === 1) {
143
+ for (let index = bStart; index < bEnd; index += 1) {
144
+ if (a[aStart] === b[index]) {
145
+ matchA.push(aStart);
146
+ matchB.push(index);
147
+ return;
148
+ }
149
+ }
150
+ return;
151
+ }
152
+ const middle = Math.floor((aStart + aEnd) / 2);
153
+ const forward = lcsForward(sides, aStart, middle, bStart, bEnd);
154
+ const backward = lcsBackward(sides, middle, aEnd, bStart, bEnd);
155
+ const width = bEnd - bStart;
156
+ let split = 0;
157
+ let best = -1;
158
+ for (let column = 0; column <= width; column += 1) {
159
+ const score = forward[column] + backward[width - column];
160
+ if (score > best) {
161
+ best = score;
162
+ split = column;
163
+ }
164
+ }
165
+ collectMatches(sides, aStart, middle, bStart, bStart + split, matchA, matchB);
166
+ collectMatches(sides, middle, aEnd, bStart + split, bEnd, matchA, matchB);
167
+ };
168
+ /**
169
+ * Turn two line arrays into an ordered operation list with 1-based counters.
170
+ *
171
+ * @param before - Original lines.
172
+ * @param after - New lines.
173
+ * @returns Diff lines in document order.
174
+ */
175
+ const diffSequences = (before, after) => {
176
+ const matchA = [];
177
+ const matchB = [];
178
+ collectMatches({ a: before, b: after }, 0, before.length, 0, after.length, matchA, matchB);
179
+ const lines = [];
180
+ let beforeIndex = 0;
181
+ let afterIndex = 0;
182
+ let beforeLine = 1;
183
+ let afterLine = 1;
184
+ for (let index = 0; index < matchA.length; index += 1) {
185
+ const targetA = matchA[index];
186
+ const targetB = matchB[index];
187
+ while (beforeIndex < targetA) {
188
+ lines.push({ type: "remove", text: before[beforeIndex], beforeLine, afterLine });
189
+ beforeIndex += 1;
190
+ beforeLine += 1;
191
+ }
192
+ while (afterIndex < targetB) {
193
+ lines.push({ type: "add", text: after[afterIndex], beforeLine, afterLine });
194
+ afterIndex += 1;
195
+ afterLine += 1;
196
+ }
197
+ lines.push({ type: "context", text: before[beforeIndex], beforeLine, afterLine });
198
+ beforeIndex += 1;
199
+ afterIndex += 1;
200
+ beforeLine += 1;
201
+ afterLine += 1;
202
+ }
203
+ while (beforeIndex < before.length) {
204
+ lines.push({ type: "remove", text: before[beforeIndex], beforeLine, afterLine });
205
+ beforeIndex += 1;
206
+ beforeLine += 1;
207
+ }
208
+ while (afterIndex < after.length) {
209
+ lines.push({ type: "add", text: after[afterIndex], beforeLine, afterLine });
210
+ afterIndex += 1;
211
+ afterLine += 1;
212
+ }
213
+ return lines;
214
+ };
215
+ /**
216
+ * Group a flat operation list into hunks with at most `context` unchanged
217
+ * lines on either side. Two changes separated by at most `2 * context`
218
+ * unchanged lines share one hunk.
219
+ *
220
+ * @param lines - Flat diff lines.
221
+ * @param context - Unchanged lines retained on each side.
222
+ * @returns Hunks in document order.
223
+ */
224
+ const buildHunks = (lines, context) => {
225
+ const changes = [];
226
+ for (let index = 0; index < lines.length; index += 1) {
227
+ if (lines[index].type !== "context") {
228
+ changes.push(index);
229
+ }
230
+ }
231
+ const hunks = [];
232
+ let index = 0;
233
+ while (index < changes.length) {
234
+ const start = Math.max(0, changes[index] - context);
235
+ let last = changes[index];
236
+ let next = index + 1;
237
+ while (next < changes.length && changes[next] - last <= context * 2 + 1) {
238
+ last = changes[next];
239
+ next += 1;
240
+ }
241
+ const end = Math.min(lines.length, last + context + 1);
242
+ const slice = lines.slice(start, end);
243
+ let beforeCount = 0;
244
+ let afterCount = 0;
245
+ for (let cursor = 0; cursor < slice.length; cursor += 1) {
246
+ if (slice[cursor].type !== "add") {
247
+ beforeCount += 1;
248
+ }
249
+ if (slice[cursor].type !== "remove") {
250
+ afterCount += 1;
251
+ }
252
+ }
253
+ hunks.push({
254
+ beforeStart: slice[0].beforeLine,
255
+ beforeLines: beforeCount,
256
+ afterStart: slice[0].afterLine,
257
+ afterLines: afterCount,
258
+ lines: slice,
259
+ });
260
+ index = next;
261
+ }
262
+ return hunks;
263
+ };
264
+ /**
265
+ * Clamp a context request into `[0, DiffMaxContext]`.
266
+ *
267
+ * @param value - Caller context, or `undefined` for the default.
268
+ * @returns Effective context size.
269
+ */
270
+ const contextOf = (value) => {
271
+ if (value === (void 0) || !Number.isSafeInteger(value)) {
272
+ return DiffDefaultContext;
273
+ }
274
+ return Math.min(DiffMaxContext, Math.max(0, value));
275
+ };
276
+ /**
277
+ * Diff two prepared sources. The fingerprints on the result always cover the
278
+ * whole input, even when the diff was truncated to `DiffMaxLines`.
279
+ *
280
+ * @param path - Root-relative path the result describes.
281
+ * @param before - Original side.
282
+ * @param after - New side.
283
+ * @param context - Unchanged lines retained on each side.
284
+ * @returns Diff result with counts and hunks.
285
+ */
286
+ export const diffSources = (path, before, after, context = DiffDefaultContext) => {
287
+ const boundedContext = contextOf(context);
288
+ const beforeTruncated = before.lines.length > DiffMaxLines;
289
+ const afterTruncated = after.lines.length > DiffMaxLines;
290
+ const beforeLines = beforeTruncated ? before.lines.slice(0, DiffMaxLines) : before.lines;
291
+ const afterLines = afterTruncated ? after.lines.slice(0, DiffMaxLines) : after.lines;
292
+ const lines = diffSequences(beforeLines, afterLines);
293
+ let added = 0;
294
+ let removed = 0;
295
+ let unchanged = 0;
296
+ for (let index = 0; index < lines.length; index += 1) {
297
+ if (lines[index].type === "add") {
298
+ added += 1;
299
+ }
300
+ else if (lines[index].type === "remove") {
301
+ removed += 1;
302
+ }
303
+ else {
304
+ unchanged += 1;
305
+ }
306
+ }
307
+ return {
308
+ path,
309
+ beforeFingerprint: before.fingerprint,
310
+ afterFingerprint: after.fingerprint,
311
+ added,
312
+ removed,
313
+ unchanged,
314
+ hunks: buildHunks(lines, boundedContext),
315
+ truncated: before.truncated || after.truncated || beforeTruncated || afterTruncated,
316
+ };
317
+ };
318
+ /**
319
+ * Diff two texts directly.
320
+ *
321
+ * @param path - Root-relative path the result describes.
322
+ * @param before - Original text.
323
+ * @param after - New text.
324
+ * @param options - Context size.
325
+ * @returns Diff result.
326
+ */
327
+ export const diffText = (path, before, after, options = {}) => diffSources(path, textDiffSource(before), textDiffSource(after), options.context);
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Export hooks.
3
+ *
4
+ * `useParse` is the cheap read helper; `useExportation` is the observable hook.
5
+ * Both call `FilesystemSession.exports`, so re-export edges, signatures and the
6
+ * fingerprint come from the one extractor the service already uses.
7
+ */
8
+ import type { ExportRequest } from "../file/service.js";
9
+ import type { ExportReport } from "../file/types.js";
10
+ import type { Hook, HookOptions, HookSession } from "./types.js";
11
+ /**
12
+ * Parse helper shape: one path in, one export report out.
13
+ */
14
+ export type ExportationParse = (path: string) => ExportReport;
15
+ /**
16
+ * Read the export report for one path. Re-exports are included because a
17
+ * module's public surface is incomplete without them.
18
+ *
19
+ * @param session - Bound filesystem session.
20
+ * @returns Parse helper.
21
+ */
22
+ export declare const useParse: (session: HookSession) => ExportationParse;
23
+ /**
24
+ * Exportation hook. `includeReexports` is forwarded unchanged, so a caller can
25
+ * ask for the narrow symbol list or the complete surface.
26
+ *
27
+ * @param session - Bound filesystem session.
28
+ * @param options - Recorder and cache options.
29
+ * @returns Hook producing one export report.
30
+ */
31
+ export declare const useExportation: (session: HookSession, options?: HookOptions) => Hook<ExportRequest, ExportReport>;
@@ -0,0 +1,24 @@
1
+ import { createHook } from "./types.js";
2
+ /**
3
+ * Read the export report for one path. Re-exports are included because a
4
+ * module's public surface is incomplete without them.
5
+ *
6
+ * @param session - Bound filesystem session.
7
+ * @returns Parse helper.
8
+ */
9
+ export const useParse = (session) => (path) => session.exports({ path, includeReexports: true });
10
+ /**
11
+ * Exportation hook. `includeReexports` is forwarded unchanged, so a caller can
12
+ * ask for the narrow symbol list or the complete surface.
13
+ *
14
+ * @param session - Bound filesystem session.
15
+ * @param options - Recorder and cache options.
16
+ * @returns Hook producing one export report.
17
+ */
18
+ export const useExportation = (session, options = {}) => createHook({
19
+ name: "exportation",
20
+ session,
21
+ execute: (request) => session.exports(request),
22
+ pathOf: (request) => request.path,
23
+ options,
24
+ });
@@ -0,0 +1,44 @@
1
+ import type { ReadPage, ReadRequest, WriteRequest, WriteResult } from "../file/types.js";
2
+ import type { DiffRequest, DiffResult } from "./diff.js";
3
+ import type { Hook, HookOptions, HookSession } from "./types.js";
4
+ /**
5
+ * Read hook. Delegates one `ReadRequest` to the session and keeps `bigint`
6
+ * totals (`totalLines`/`totalBytes`) intact; the hook layer never projects a
7
+ * domain value onto JSON.
8
+ *
9
+ * Caching is opt-in through `options.cache`. The cache key covers the request
10
+ * only, so a host that enables it after a write should reset the hook or create
11
+ * a new one; the default is uncached because a stale read is worse than a
12
+ * repeated one.
13
+ *
14
+ * @param session - Bound filesystem session.
15
+ * @param options - Recorder and cache options.
16
+ * @returns Hook producing one bounded read page.
17
+ */
18
+ export declare const useRead: (session: HookSession, options?: HookOptions) => Hook<ReadRequest, ReadPage>;
19
+ /**
20
+ * Write hook. This is the only mutable operation in the hook layer.
21
+ *
22
+ * The success revision is `WriteResult.revision`, the revision the write
23
+ * actually produced, rather than a later session read that could include an
24
+ * unrelated change. The cache is always disabled.
25
+ *
26
+ * @param session - Bound filesystem session.
27
+ * @param options - Recorder options; `cache` is ignored.
28
+ * @returns Hook producing one write result.
29
+ */
30
+ export declare const useWrite: (session: HookSession, options?: HookOptions) => Hook<WriteRequest, WriteResult>;
31
+ /**
32
+ * Diff hook.
33
+ *
34
+ * `request.before` overrides the old side and `request.content` overrides the
35
+ * new side; an omitted side is read from the session. With both omitted the
36
+ * file is read once and compared with itself, which reports no hunks. The
37
+ * request cache is disabled because the result depends on the file on disk,
38
+ * not only on the request.
39
+ *
40
+ * @param session - Bound filesystem session.
41
+ * @param options - Recorder options; `cache` is ignored.
42
+ * @returns Hook producing one bounded diff.
43
+ */
44
+ export declare const useDiff: (session: HookSession, options?: HookOptions) => Hook<DiffRequest, DiffResult>;
@@ -0,0 +1,154 @@
1
+ /**
2
+ * File hooks: read, write and diff.
3
+ *
4
+ * `useWrite` is the only mutating hook in the whole layer. It forwards one
5
+ * `WriteRequest` to the bound `FilesystemSession.write` and reports the
6
+ * post-write revision from the result; it never enables the request cache,
7
+ * because replaying a write from cache would silently skip the second write
8
+ * and turn a "create" into a success that never touched the disk.
9
+ *
10
+ * `useRead` and `useDiff` are read-only. `useDiff` reconstructs the current file
11
+ * page by page (the read contract caps one page at 2000 lines and 256 KiB) and
12
+ * treats a missing file as the empty string, so "new file" and "deleted file"
13
+ * are both expressible without a special request shape.
14
+ */
15
+ import { isFilesystemError } from "../file/errors.js";
16
+ import { rawTextDigest } from "../fingerprint/raw.js";
17
+ import { DiffMaxLines, diffSources, textDiffSource } from "./diff.js";
18
+ import { createHook } from "./types.js";
19
+ /**
20
+ * Largest page the read contract returns, in lines.
21
+ */
22
+ const ReadPageLines = 2000;
23
+ /**
24
+ * Largest page the read contract returns, in UTF-8 bytes.
25
+ */
26
+ const ReadPageBytes = 256 * 1024;
27
+ /**
28
+ * Read a whole file as diff lines. A missing file is the empty side; every
29
+ * other classified failure propagates. The fingerprint comes from the first
30
+ * page, which already covers the entire file bytes.
31
+ *
32
+ * Page text is returned without a trailing newline, so a page that ends on a
33
+ * blank line would lose that line if it were split naively. The page's
34
+ * inclusive `startLine`/`endLine` range is authoritative; missing trailing
35
+ * blanks are restored so a multi-page diff keeps every line.
36
+ */
37
+ const readDiffSource = (session, path) => {
38
+ const lines = [];
39
+ let startLine = 1;
40
+ let fingerprint = rawTextDigest("");
41
+ let truncated = false;
42
+ let first = true;
43
+ while (lines.length <= DiffMaxLines) {
44
+ let page;
45
+ try {
46
+ page = session.read({
47
+ path,
48
+ startLine,
49
+ maxLines: Math.min(ReadPageLines, DiffMaxLines + 1 - lines.length),
50
+ maxBytes: ReadPageBytes,
51
+ });
52
+ }
53
+ catch (error) {
54
+ if (isFilesystemError(error) && error.code === "not_found") {
55
+ return { lines: [], fingerprint: rawTextDigest(""), truncated: false };
56
+ }
57
+ throw error;
58
+ }
59
+ if (first) {
60
+ fingerprint = page.fingerprint;
61
+ first = false;
62
+ }
63
+ const expected = page.endLine - page.startLine + 1;
64
+ if (expected > 0) {
65
+ const pageLines = page.text.length === 0 ? [] : page.text.split("\n").map((line) => (line.endsWith("\r") ? line.slice(0, -1) : line));
66
+ for (let index = 0; index < pageLines.length; index += 1) {
67
+ lines.push(pageLines[index]);
68
+ }
69
+ while (pageLines.length < expected) {
70
+ lines.push("");
71
+ pageLines.push("");
72
+ }
73
+ }
74
+ if (page.nextStartLine === null) {
75
+ break;
76
+ }
77
+ if (page.nextStartLine <= startLine) {
78
+ truncated = true;
79
+ break;
80
+ }
81
+ startLine = page.nextStartLine;
82
+ }
83
+ if (lines.length > DiffMaxLines) {
84
+ lines.length = DiffMaxLines;
85
+ truncated = true;
86
+ }
87
+ return { lines, fingerprint, truncated };
88
+ };
89
+ /**
90
+ * Read hook. Delegates one `ReadRequest` to the session and keeps `bigint`
91
+ * totals (`totalLines`/`totalBytes`) intact; the hook layer never projects a
92
+ * domain value onto JSON.
93
+ *
94
+ * Caching is opt-in through `options.cache`. The cache key covers the request
95
+ * only, so a host that enables it after a write should reset the hook or create
96
+ * a new one; the default is uncached because a stale read is worse than a
97
+ * repeated one.
98
+ *
99
+ * @param session - Bound filesystem session.
100
+ * @param options - Recorder and cache options.
101
+ * @returns Hook producing one bounded read page.
102
+ */
103
+ export const useRead = (session, options = {}) => createHook({
104
+ name: "read",
105
+ session,
106
+ execute: (request) => session.read(request),
107
+ pathOf: (request) => request.path,
108
+ options,
109
+ });
110
+ /**
111
+ * Write hook. This is the only mutable operation in the hook layer.
112
+ *
113
+ * The success revision is `WriteResult.revision`, the revision the write
114
+ * actually produced, rather than a later session read that could include an
115
+ * unrelated change. The cache is always disabled.
116
+ *
117
+ * @param session - Bound filesystem session.
118
+ * @param options - Recorder options; `cache` is ignored.
119
+ * @returns Hook producing one write result.
120
+ */
121
+ export const useWrite = (session, options = {}) => createHook({
122
+ name: "write",
123
+ session,
124
+ execute: (request) => session.write(request),
125
+ pathOf: (request) => request.path,
126
+ revisionOf: (result) => result.revision,
127
+ options: { ...options, cache: false },
128
+ });
129
+ /**
130
+ * Diff hook.
131
+ *
132
+ * `request.before` overrides the old side and `request.content` overrides the
133
+ * new side; an omitted side is read from the session. With both omitted the
134
+ * file is read once and compared with itself, which reports no hunks. The
135
+ * request cache is disabled because the result depends on the file on disk,
136
+ * not only on the request.
137
+ *
138
+ * @param session - Bound filesystem session.
139
+ * @param options - Recorder options; `cache` is ignored.
140
+ * @returns Hook producing one bounded diff.
141
+ */
142
+ export const useDiff = (session, options = {}) => createHook({
143
+ name: "diff",
144
+ session,
145
+ execute: (request) => {
146
+ const beforeText = request.before;
147
+ const afterText = request.content;
148
+ const before = beforeText === (void 0) ? readDiffSource(session, request.path) : textDiffSource(beforeText);
149
+ const after = afterText === (void 0) ? (beforeText === (void 0) ? before : readDiffSource(session, request.path)) : textDiffSource(afterText);
150
+ return diffSources(request.path, before, after, request.context);
151
+ },
152
+ pathOf: (request) => request.path,
153
+ options: { ...options, cache: false },
154
+ });
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Import hooks.
3
+ *
4
+ * `useParse` reports the outgoing imports of one file; `useImportation` wraps
5
+ * the same session call as an observable hook and forwards `direction`,
6
+ * `depth`, `includeExternal` and `limit` unchanged.
7
+ *
8
+ * Incoming edges are expensive because they require the root graph. The parse
9
+ * helper therefore keeps the service default (`outgoing`); a caller that wants
10
+ * `importedBy` asks for `direction: "incoming"` or `"both"` explicitly.
11
+ */
12
+ import type { ImportRequest } from "../file/service.js";
13
+ import type { ImportReport } from "../file/types.js";
14
+ import type { Hook, HookOptions, HookSession } from "./types.js";
15
+ /**
16
+ * Parse helper shape: one path in, one import report out.
17
+ */
18
+ export type ImportationParse = (path: string) => ImportReport;
19
+ /**
20
+ * Read the outgoing import report for one path.
21
+ *
22
+ * @param session - Bound filesystem session.
23
+ * @returns Parse helper.
24
+ */
25
+ export declare const useParse: (session: HookSession) => ImportationParse;
26
+ /**
27
+ * Importation hook.
28
+ *
29
+ * @param session - Bound filesystem session.
30
+ * @param options - Recorder and cache options.
31
+ * @returns Hook producing one import report.
32
+ */
33
+ export declare const useImportation: (session: HookSession, options?: HookOptions) => Hook<ImportRequest, ImportReport>;
@@ -0,0 +1,22 @@
1
+ import { createHook } from "./types.js";
2
+ /**
3
+ * Read the outgoing import report for one path.
4
+ *
5
+ * @param session - Bound filesystem session.
6
+ * @returns Parse helper.
7
+ */
8
+ export const useParse = (session) => (path) => session.imports({ path });
9
+ /**
10
+ * Importation hook.
11
+ *
12
+ * @param session - Bound filesystem session.
13
+ * @param options - Recorder and cache options.
14
+ * @returns Hook producing one import report.
15
+ */
16
+ export const useImportation = (session, options = {}) => createHook({
17
+ name: "importation",
18
+ session,
19
+ execute: (request) => session.imports(request),
20
+ pathOf: (request) => request.path,
21
+ options,
22
+ });
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Public surface of the hook layer.
3
+ *
4
+ * The concrete `use*` hooks and their shared types are exported here. Each
5
+ * module has its own `useParse` read helper, so those collide by design; they
6
+ * are re-exported under module-qualified names (`useCodeParse`,
7
+ * `useProjectParse`, ...) and the original name remains available from the
8
+ * module itself.
9
+ *
10
+ * `createHook` is re-exported explicitly because it is the extension point a
11
+ * host uses to add a hook without changing this package.
12
+ */
13
+ export * from "./types.js";
14
+ export * from "./diff.js";
15
+ export * from "./file.js";
16
+ export { createHook } from "./types.js";
17
+ export type { DependencyFacts, DependencyParse } from "./dependency.js";
18
+ export { useDependency, useParse as useDependencyParse } from "./dependency.js";
19
+ export type { ExportationParse } from "./exportation.js";
20
+ export { useExportation, useParse as useExportationParse } from "./exportation.js";
21
+ export type { ImportationParse } from "./importation.js";
22
+ export { useImportation, useParse as useImportationParse } from "./importation.js";
23
+ export type { OutlineParse } from "./outline.js";
24
+ export { useOutline, useParse as useOutlineParse } from "./outline.js";
25
+ export type { AstParse } from "./ast.js";
26
+ export { useAst, useParse as useAstParse } from "./ast.js";
27
+ export type { CodeModel, CodeParse, CodeRequest } from "./code.js";
28
+ export { useCode, useParse as useCodeParse } from "./code.js";
29
+ export type { ProjectKind, ProjectModel, ProjectParse, ProjectRequest } from "./project.js";
30
+ export { projectKindOf, useProject, useParse as useProjectParse } from "./project.js";