@rpamis/comet 0.4.0-beta.5 → 0.4.0-beta.7

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 (714) hide show
  1. package/README.md +215 -77
  2. package/assets/manifest.json +14 -5
  3. package/assets/skills/comet/SKILL.md +17 -282
  4. package/assets/skills/comet/reference/comet-yaml-fields.md +5 -3
  5. package/assets/skills/comet/reference/context-recovery.md +3 -3
  6. package/assets/skills/comet/reference/intent-frame.md +2 -2
  7. package/assets/skills/comet/reference/scripts.md +2 -2
  8. package/assets/skills/comet/rules/comet-workflow-guard.en.md +32 -0
  9. package/assets/skills/comet/rules/comet-workflow-guard.md +32 -0
  10. package/assets/skills/comet/scripts/comet-entry-runtime.mjs +7834 -0
  11. package/assets/skills/comet/scripts/comet-hook-router.mjs +10307 -0
  12. package/assets/skills/comet/scripts/comet-runtime.mjs +782 -425
  13. package/assets/skills/comet-any/SKILL.md +4 -4
  14. package/assets/skills/comet-any/reference/authoring-subagents.md +1 -1
  15. package/assets/skills/comet-any/reference/bundle-authoring.md +1 -1
  16. package/assets/skills/comet-any/reference/subagents/reference-author.md +1 -1
  17. package/assets/skills/comet-any/reference/subagents/script-author.md +1 -1
  18. package/assets/skills/comet-any/reference/subagents/skill-core-author.md +1 -1
  19. package/assets/skills/comet-any/reference/subagents/skill-reviewer.md +2 -2
  20. package/assets/skills/comet-any/reference/subagents/workflow-entry-author.md +3 -3
  21. package/assets/skills/comet-archive/SKILL.md +7 -9
  22. package/assets/skills/comet-build/SKILL.md +17 -11
  23. package/assets/skills/comet-classic/SKILL.md +293 -0
  24. package/assets/skills/comet-design/SKILL.md +1 -1
  25. package/assets/skills/comet-hotfix/SKILL.md +20 -6
  26. package/assets/skills/comet-native/SKILL.md +257 -0
  27. package/assets/skills/comet-native/reference/artifacts.md +204 -0
  28. package/assets/skills/comet-native/reference/commands.md +118 -0
  29. package/assets/skills/comet-native/reference/recovery.md +143 -0
  30. package/assets/skills/comet-native/scripts/comet-native-hook-guard.mjs +4 -0
  31. package/assets/skills/comet-native/scripts/comet-native-runtime.mjs +28898 -0
  32. package/assets/skills/comet-open/SKILL.md +4 -4
  33. package/assets/skills/comet-tweak/SKILL.md +22 -10
  34. package/assets/skills/comet-verify/SKILL.md +2 -0
  35. package/assets/skills-zh/comet/SKILL.md +17 -270
  36. package/assets/skills-zh/comet/reference/comet-yaml-fields.md +5 -3
  37. package/assets/skills-zh/comet/reference/context-recovery.md +3 -3
  38. package/assets/skills-zh/comet/reference/intent-frame.md +2 -2
  39. package/assets/skills-zh/comet/reference/scripts.md +2 -2
  40. package/assets/skills-zh/comet-any/SKILL.md +4 -4
  41. package/assets/skills-zh/comet-any/reference/authoring-subagents.md +1 -1
  42. package/assets/skills-zh/comet-any/reference/bundle-authoring.md +1 -1
  43. package/assets/skills-zh/comet-any/reference/subagents/reference-author.md +1 -1
  44. package/assets/skills-zh/comet-any/reference/subagents/script-author.md +1 -1
  45. package/assets/skills-zh/comet-any/reference/subagents/skill-core-author.md +1 -1
  46. package/assets/skills-zh/comet-any/reference/subagents/skill-reviewer.md +2 -2
  47. package/assets/skills-zh/comet-any/reference/subagents/workflow-entry-author.md +3 -3
  48. package/assets/skills-zh/comet-archive/SKILL.md +7 -9
  49. package/assets/skills-zh/comet-build/SKILL.md +17 -11
  50. package/assets/skills-zh/comet-classic/SKILL.md +281 -0
  51. package/assets/skills-zh/comet-design/SKILL.md +1 -1
  52. package/assets/skills-zh/comet-hotfix/SKILL.md +20 -6
  53. package/assets/skills-zh/comet-native/SKILL.md +257 -0
  54. package/assets/skills-zh/comet-native/reference/artifacts.md +206 -0
  55. package/assets/skills-zh/comet-native/reference/commands.md +118 -0
  56. package/assets/skills-zh/comet-native/reference/recovery.md +143 -0
  57. package/assets/skills-zh/comet-open/SKILL.md +4 -4
  58. package/assets/skills-zh/comet-tweak/SKILL.md +22 -10
  59. package/assets/skills-zh/comet-verify/SKILL.md +2 -0
  60. package/dist/app/cli/index.js +59 -13
  61. package/dist/app/cli/index.js.map +1 -1
  62. package/dist/app/commands/command-result.d.ts +6 -0
  63. package/dist/app/commands/command-result.d.ts.map +1 -0
  64. package/dist/app/commands/command-result.js +4 -0
  65. package/dist/app/commands/command-result.js.map +1 -0
  66. package/dist/app/commands/doctor.d.ts +1 -0
  67. package/dist/app/commands/doctor.d.ts.map +1 -1
  68. package/dist/app/commands/doctor.js +201 -26
  69. package/dist/app/commands/doctor.js.map +1 -1
  70. package/dist/app/commands/eval.d.ts +3 -1
  71. package/dist/app/commands/eval.d.ts.map +1 -1
  72. package/dist/app/commands/eval.js +17 -7
  73. package/dist/app/commands/eval.js.map +1 -1
  74. package/dist/app/commands/i18n.d.ts +1 -1
  75. package/dist/app/commands/i18n.d.ts.map +1 -1
  76. package/dist/app/commands/i18n.js +6 -2
  77. package/dist/app/commands/i18n.js.map +1 -1
  78. package/dist/app/commands/init.d.ts +10 -2
  79. package/dist/app/commands/init.d.ts.map +1 -1
  80. package/dist/app/commands/init.js +331 -50
  81. package/dist/app/commands/init.js.map +1 -1
  82. package/dist/app/commands/native.d.ts +2 -0
  83. package/dist/app/commands/native.d.ts.map +1 -0
  84. package/dist/app/commands/native.js +10 -0
  85. package/dist/app/commands/native.js.map +1 -0
  86. package/dist/app/commands/project-scope-selection.d.ts.map +1 -1
  87. package/dist/app/commands/project-scope-selection.js +2 -0
  88. package/dist/app/commands/project-scope-selection.js.map +1 -1
  89. package/dist/app/commands/resume-probe.d.ts.map +1 -1
  90. package/dist/app/commands/resume-probe.js +8 -2
  91. package/dist/app/commands/resume-probe.js.map +1 -1
  92. package/dist/app/commands/status.d.ts +0 -31
  93. package/dist/app/commands/status.d.ts.map +1 -1
  94. package/dist/app/commands/status.js +49 -172
  95. package/dist/app/commands/status.js.map +1 -1
  96. package/dist/app/commands/update.d.ts +20 -4
  97. package/dist/app/commands/update.d.ts.map +1 -1
  98. package/dist/app/commands/update.js +698 -90
  99. package/dist/app/commands/update.js.map +1 -1
  100. package/dist/app/commands/workflow.d.ts +6 -0
  101. package/dist/app/commands/workflow.d.ts.map +1 -0
  102. package/dist/app/commands/workflow.js +11 -0
  103. package/dist/app/commands/workflow.js.map +1 -0
  104. package/dist/config/repository-layout.json +21 -1
  105. package/dist/domains/comet-classic/classic-archive.d.ts.map +1 -1
  106. package/dist/domains/comet-classic/classic-archive.js +3 -0
  107. package/dist/domains/comet-classic/classic-archive.js.map +1 -1
  108. package/dist/domains/comet-classic/classic-branch-binding.d.ts +51 -0
  109. package/dist/domains/comet-classic/classic-branch-binding.d.ts.map +1 -0
  110. package/dist/domains/comet-classic/classic-branch-binding.js +107 -0
  111. package/dist/domains/comet-classic/classic-branch-binding.js.map +1 -0
  112. package/dist/domains/comet-classic/classic-current-change.d.ts +3 -5
  113. package/dist/domains/comet-classic/classic-current-change.d.ts.map +1 -1
  114. package/dist/domains/comet-classic/classic-current-change.js +59 -68
  115. package/dist/domains/comet-classic/classic-current-change.js.map +1 -1
  116. package/dist/domains/comet-classic/classic-guard.d.ts.map +1 -1
  117. package/dist/domains/comet-classic/classic-guard.js +40 -10
  118. package/dist/domains/comet-classic/classic-guard.js.map +1 -1
  119. package/dist/domains/comet-classic/classic-hook-guard.d.ts +9 -0
  120. package/dist/domains/comet-classic/classic-hook-guard.d.ts.map +1 -1
  121. package/dist/domains/comet-classic/classic-hook-guard.js +109 -13
  122. package/dist/domains/comet-classic/classic-hook-guard.js.map +1 -1
  123. package/dist/domains/comet-classic/classic-project-config.d.ts.map +1 -1
  124. package/dist/domains/comet-classic/classic-project-config.js +12 -8
  125. package/dist/domains/comet-classic/classic-project-config.js.map +1 -1
  126. package/dist/domains/comet-classic/classic-runtime-run.d.ts.map +1 -1
  127. package/dist/domains/comet-classic/classic-runtime-run.js +9 -1
  128. package/dist/domains/comet-classic/classic-runtime-run.js.map +1 -1
  129. package/dist/domains/comet-classic/classic-state-command.d.ts.map +1 -1
  130. package/dist/domains/comet-classic/classic-state-command.js +94 -4
  131. package/dist/domains/comet-classic/classic-state-command.js.map +1 -1
  132. package/dist/domains/comet-classic/classic-state-events.d.ts +1 -1
  133. package/dist/domains/comet-classic/classic-state-events.d.ts.map +1 -1
  134. package/dist/domains/comet-classic/classic-state.d.ts +2 -1
  135. package/dist/domains/comet-classic/classic-state.d.ts.map +1 -1
  136. package/dist/domains/comet-classic/classic-state.js +3 -0
  137. package/dist/domains/comet-classic/classic-state.js.map +1 -1
  138. package/dist/domains/comet-classic/classic-transitions.d.ts.map +1 -1
  139. package/dist/domains/comet-classic/classic-transitions.js +1 -0
  140. package/dist/domains/comet-classic/classic-transitions.js.map +1 -1
  141. package/dist/domains/comet-classic/classic-validate-command.d.ts.map +1 -1
  142. package/dist/domains/comet-classic/classic-validate-command.js +6 -0
  143. package/dist/domains/comet-classic/classic-validate-command.js.map +1 -1
  144. package/dist/domains/comet-entry/current-selection-repair.d.ts +17 -0
  145. package/dist/domains/comet-entry/current-selection-repair.d.ts.map +1 -0
  146. package/dist/domains/comet-entry/current-selection-repair.js +19 -0
  147. package/dist/domains/comet-entry/current-selection-repair.js.map +1 -0
  148. package/dist/domains/comet-entry/current-selection.d.ts +28 -0
  149. package/dist/domains/comet-entry/current-selection.d.ts.map +1 -0
  150. package/dist/domains/comet-entry/current-selection.js +116 -0
  151. package/dist/domains/comet-entry/current-selection.js.map +1 -0
  152. package/dist/domains/comet-entry/entry-runtime-entry.d.ts +2 -0
  153. package/dist/domains/comet-entry/entry-runtime-entry.d.ts.map +1 -0
  154. package/dist/domains/comet-entry/entry-runtime-entry.js +3 -0
  155. package/dist/domains/comet-entry/entry-runtime-entry.js.map +1 -0
  156. package/dist/domains/comet-entry/entry-runtime.d.ts +7 -0
  157. package/dist/domains/comet-entry/entry-runtime.d.ts.map +1 -0
  158. package/dist/domains/comet-entry/entry-runtime.js +55 -0
  159. package/dist/domains/comet-entry/entry-runtime.js.map +1 -0
  160. package/dist/domains/comet-entry/hook-adapter.d.ts +6 -0
  161. package/dist/domains/comet-entry/hook-adapter.d.ts.map +1 -0
  162. package/dist/domains/comet-entry/hook-adapter.js +202 -0
  163. package/dist/domains/comet-entry/hook-adapter.js.map +1 -0
  164. package/dist/domains/comet-entry/hook-router-entry.d.ts +8 -0
  165. package/dist/domains/comet-entry/hook-router-entry.d.ts.map +1 -0
  166. package/dist/domains/comet-entry/hook-router-entry.js +92 -0
  167. package/dist/domains/comet-entry/hook-router-entry.js.map +1 -0
  168. package/dist/domains/comet-entry/hook-router.d.ts +32 -0
  169. package/dist/domains/comet-entry/hook-router.d.ts.map +1 -0
  170. package/dist/domains/comet-entry/hook-router.js +133 -0
  171. package/dist/domains/comet-entry/hook-router.js.map +1 -0
  172. package/dist/domains/comet-entry/hook-types.d.ts +20 -0
  173. package/dist/domains/comet-entry/hook-types.d.ts.map +1 -0
  174. package/dist/domains/comet-entry/hook-types.js +2 -0
  175. package/dist/domains/comet-entry/hook-types.js.map +1 -0
  176. package/dist/domains/comet-entry/init-workflow.d.ts +16 -0
  177. package/dist/domains/comet-entry/init-workflow.d.ts.map +1 -0
  178. package/dist/domains/comet-entry/init-workflow.js +103 -0
  179. package/dist/domains/comet-entry/init-workflow.js.map +1 -0
  180. package/dist/domains/comet-entry/project-status.d.ts +3 -0
  181. package/dist/domains/comet-entry/project-status.d.ts.map +1 -0
  182. package/dist/domains/comet-entry/project-status.js +222 -0
  183. package/dist/domains/comet-entry/project-status.js.map +1 -0
  184. package/dist/domains/comet-entry/resolve-entry.d.ts +3 -0
  185. package/dist/domains/comet-entry/resolve-entry.d.ts.map +1 -0
  186. package/dist/domains/comet-entry/resolve-entry.js +22 -0
  187. package/dist/domains/comet-entry/resolve-entry.js.map +1 -0
  188. package/dist/domains/comet-entry/resume-probe.d.ts +34 -0
  189. package/dist/domains/comet-entry/resume-probe.d.ts.map +1 -0
  190. package/dist/domains/comet-entry/resume-probe.js +458 -0
  191. package/dist/domains/comet-entry/resume-probe.js.map +1 -0
  192. package/dist/domains/comet-entry/types.d.ts +59 -0
  193. package/dist/domains/comet-entry/types.d.ts.map +1 -0
  194. package/dist/domains/comet-entry/types.js +2 -0
  195. package/dist/domains/comet-entry/types.js.map +1 -0
  196. package/dist/domains/comet-entry/workflow-resolution.d.ts +8 -0
  197. package/dist/domains/comet-entry/workflow-resolution.d.ts.map +1 -0
  198. package/dist/domains/comet-entry/workflow-resolution.js +16 -0
  199. package/dist/domains/comet-entry/workflow-resolution.js.map +1 -0
  200. package/dist/domains/comet-native/index.d.ts +35 -0
  201. package/dist/domains/comet-native/index.d.ts.map +1 -0
  202. package/dist/domains/comet-native/index.js +35 -0
  203. package/dist/domains/comet-native/index.js.map +1 -0
  204. package/dist/domains/comet-native/native-acceptance.d.ts +42 -0
  205. package/dist/domains/comet-native/native-acceptance.d.ts.map +1 -0
  206. package/dist/domains/comet-native/native-acceptance.js +503 -0
  207. package/dist/domains/comet-native/native-acceptance.js.map +1 -0
  208. package/dist/domains/comet-native/native-archive-content.d.ts +26 -0
  209. package/dist/domains/comet-native/native-archive-content.d.ts.map +1 -0
  210. package/dist/domains/comet-native/native-archive-content.js +159 -0
  211. package/dist/domains/comet-native/native-archive-content.js.map +1 -0
  212. package/dist/domains/comet-native/native-archive-inspection.d.ts +9 -0
  213. package/dist/domains/comet-native/native-archive-inspection.d.ts.map +1 -0
  214. package/dist/domains/comet-native/native-archive-inspection.js +94 -0
  215. package/dist/domains/comet-native/native-archive-inspection.js.map +1 -0
  216. package/dist/domains/comet-native/native-archive-preflight.d.ts +52 -0
  217. package/dist/domains/comet-native/native-archive-preflight.d.ts.map +1 -0
  218. package/dist/domains/comet-native/native-archive-preflight.js +214 -0
  219. package/dist/domains/comet-native/native-archive-preflight.js.map +1 -0
  220. package/dist/domains/comet-native/native-archive-transaction.d.ts +19 -0
  221. package/dist/domains/comet-native/native-archive-transaction.d.ts.map +1 -0
  222. package/dist/domains/comet-native/native-archive-transaction.js +1181 -0
  223. package/dist/domains/comet-native/native-archive-transaction.js.map +1 -0
  224. package/dist/domains/comet-native/native-archive.d.ts +36 -0
  225. package/dist/domains/comet-native/native-archive.d.ts.map +1 -0
  226. package/dist/domains/comet-native/native-archive.js +403 -0
  227. package/dist/domains/comet-native/native-archive.js.map +1 -0
  228. package/dist/domains/comet-native/native-artifacts.d.ts +10 -0
  229. package/dist/domains/comet-native/native-artifacts.d.ts.map +1 -0
  230. package/dist/domains/comet-native/native-artifacts.js +204 -0
  231. package/dist/domains/comet-native/native-artifacts.js.map +1 -0
  232. package/dist/domains/comet-native/native-atomic-file.d.ts +10 -0
  233. package/dist/domains/comet-native/native-atomic-file.d.ts.map +1 -0
  234. package/dist/domains/comet-native/native-atomic-file.js +175 -0
  235. package/dist/domains/comet-native/native-atomic-file.js.map +1 -0
  236. package/dist/domains/comet-native/native-bounded-file.d.ts +19 -0
  237. package/dist/domains/comet-native/native-bounded-file.d.ts.map +1 -0
  238. package/dist/domains/comet-native/native-bounded-file.js +180 -0
  239. package/dist/domains/comet-native/native-bounded-file.js.map +1 -0
  240. package/dist/domains/comet-native/native-build-evidence.d.ts +42 -0
  241. package/dist/domains/comet-native/native-build-evidence.d.ts.map +1 -0
  242. package/dist/domains/comet-native/native-build-evidence.js +257 -0
  243. package/dist/domains/comet-native/native-build-evidence.js.map +1 -0
  244. package/dist/domains/comet-native/native-canonical-hash.d.ts +10 -0
  245. package/dist/domains/comet-native/native-canonical-hash.d.ts.map +1 -0
  246. package/dist/domains/comet-native/native-canonical-hash.js +100 -0
  247. package/dist/domains/comet-native/native-canonical-hash.js.map +1 -0
  248. package/dist/domains/comet-native/native-change-recovery.d.ts +11 -0
  249. package/dist/domains/comet-native/native-change-recovery.d.ts.map +1 -0
  250. package/dist/domains/comet-native/native-change-recovery.js +15 -0
  251. package/dist/domains/comet-native/native-change-recovery.js.map +1 -0
  252. package/dist/domains/comet-native/native-change.d.ts +61 -0
  253. package/dist/domains/comet-native/native-change.d.ts.map +1 -0
  254. package/dist/domains/comet-native/native-change.js +696 -0
  255. package/dist/domains/comet-native/native-change.js.map +1 -0
  256. package/dist/domains/comet-native/native-check-receipt-model.d.ts +63 -0
  257. package/dist/domains/comet-native/native-check-receipt-model.d.ts.map +1 -0
  258. package/dist/domains/comet-native/native-check-receipt-model.js +347 -0
  259. package/dist/domains/comet-native/native-check-receipt-model.js.map +1 -0
  260. package/dist/domains/comet-native/native-check-receipt-storage.d.ts +10 -0
  261. package/dist/domains/comet-native/native-check-receipt-storage.d.ts.map +1 -0
  262. package/dist/domains/comet-native/native-check-receipt-storage.js +196 -0
  263. package/dist/domains/comet-native/native-check-receipt-storage.js.map +1 -0
  264. package/dist/domains/comet-native/native-check-receipt.d.ts +19 -0
  265. package/dist/domains/comet-native/native-check-receipt.d.ts.map +1 -0
  266. package/dist/domains/comet-native/native-check-receipt.js +446 -0
  267. package/dist/domains/comet-native/native-check-receipt.js.map +1 -0
  268. package/dist/domains/comet-native/native-check.d.ts +18 -0
  269. package/dist/domains/comet-native/native-check.d.ts.map +1 -0
  270. package/dist/domains/comet-native/native-check.js +29 -0
  271. package/dist/domains/comet-native/native-check.js.map +1 -0
  272. package/dist/domains/comet-native/native-checkpoint-journal.d.ts +13 -0
  273. package/dist/domains/comet-native/native-checkpoint-journal.d.ts.map +1 -0
  274. package/dist/domains/comet-native/native-checkpoint-journal.js +53 -0
  275. package/dist/domains/comet-native/native-checkpoint-journal.js.map +1 -0
  276. package/dist/domains/comet-native/native-checkpoint-storage.d.ts +43 -0
  277. package/dist/domains/comet-native/native-checkpoint-storage.d.ts.map +1 -0
  278. package/dist/domains/comet-native/native-checkpoint-storage.js +487 -0
  279. package/dist/domains/comet-native/native-checkpoint-storage.js.map +1 -0
  280. package/dist/domains/comet-native/native-cli-entry.d.ts +2 -0
  281. package/dist/domains/comet-native/native-cli-entry.d.ts.map +1 -0
  282. package/dist/domains/comet-native/native-cli-entry.js +18 -0
  283. package/dist/domains/comet-native/native-cli-entry.js.map +1 -0
  284. package/dist/domains/comet-native/native-cli.d.ts +7 -0
  285. package/dist/domains/comet-native/native-cli.d.ts.map +1 -0
  286. package/dist/domains/comet-native/native-cli.js +642 -0
  287. package/dist/domains/comet-native/native-cli.js.map +1 -0
  288. package/dist/domains/comet-native/native-config.d.ts +15 -0
  289. package/dist/domains/comet-native/native-config.d.ts.map +1 -0
  290. package/dist/domains/comet-native/native-config.js +281 -0
  291. package/dist/domains/comet-native/native-config.js.map +1 -0
  292. package/dist/domains/comet-native/native-conflict-inspection.d.ts +17 -0
  293. package/dist/domains/comet-native/native-conflict-inspection.d.ts.map +1 -0
  294. package/dist/domains/comet-native/native-conflict-inspection.js +90 -0
  295. package/dist/domains/comet-native/native-conflict-inspection.js.map +1 -0
  296. package/dist/domains/comet-native/native-conflict-radar.d.ts +75 -0
  297. package/dist/domains/comet-native/native-conflict-radar.d.ts.map +1 -0
  298. package/dist/domains/comet-native/native-conflict-radar.js +326 -0
  299. package/dist/domains/comet-native/native-conflict-radar.js.map +1 -0
  300. package/dist/domains/comet-native/native-continuation.d.ts +9 -0
  301. package/dist/domains/comet-native/native-continuation.d.ts.map +1 -0
  302. package/dist/domains/comet-native/native-continuation.js +146 -0
  303. package/dist/domains/comet-native/native-continuation.js.map +1 -0
  304. package/dist/domains/comet-native/native-contract-files.d.ts +24 -0
  305. package/dist/domains/comet-native/native-contract-files.d.ts.map +1 -0
  306. package/dist/domains/comet-native/native-contract-files.js +66 -0
  307. package/dist/domains/comet-native/native-contract-files.js.map +1 -0
  308. package/dist/domains/comet-native/native-contract.d.ts +41 -0
  309. package/dist/domains/comet-native/native-contract.d.ts.map +1 -0
  310. package/dist/domains/comet-native/native-contract.js +141 -0
  311. package/dist/domains/comet-native/native-contract.js.map +1 -0
  312. package/dist/domains/comet-native/native-diagnostics.d.ts +18 -0
  313. package/dist/domains/comet-native/native-diagnostics.d.ts.map +1 -0
  314. package/dist/domains/comet-native/native-diagnostics.js +522 -0
  315. package/dist/domains/comet-native/native-diagnostics.js.map +1 -0
  316. package/dist/domains/comet-native/native-doctor.d.ts +12 -0
  317. package/dist/domains/comet-native/native-doctor.d.ts.map +1 -0
  318. package/dist/domains/comet-native/native-doctor.js +768 -0
  319. package/dist/domains/comet-native/native-doctor.js.map +1 -0
  320. package/dist/domains/comet-native/native-evidence-retention.d.ts +37 -0
  321. package/dist/domains/comet-native/native-evidence-retention.d.ts.map +1 -0
  322. package/dist/domains/comet-native/native-evidence-retention.js +885 -0
  323. package/dist/domains/comet-native/native-evidence-retention.js.map +1 -0
  324. package/dist/domains/comet-native/native-evidence-storage.d.ts +41 -0
  325. package/dist/domains/comet-native/native-evidence-storage.d.ts.map +1 -0
  326. package/dist/domains/comet-native/native-evidence-storage.js +351 -0
  327. package/dist/domains/comet-native/native-evidence-storage.js.map +1 -0
  328. package/dist/domains/comet-native/native-findings.d.ts +8 -0
  329. package/dist/domains/comet-native/native-findings.d.ts.map +1 -0
  330. package/dist/domains/comet-native/native-findings.js +238 -0
  331. package/dist/domains/comet-native/native-findings.js.map +1 -0
  332. package/dist/domains/comet-native/native-guards.d.ts +7 -0
  333. package/dist/domains/comet-native/native-guards.d.ts.map +1 -0
  334. package/dist/domains/comet-native/native-guards.js +126 -0
  335. package/dist/domains/comet-native/native-guards.js.map +1 -0
  336. package/dist/domains/comet-native/native-hash.d.ts +3 -0
  337. package/dist/domains/comet-native/native-hash.d.ts.map +1 -0
  338. package/dist/domains/comet-native/native-hash.js +12 -0
  339. package/dist/domains/comet-native/native-hash.js.map +1 -0
  340. package/dist/domains/comet-native/native-hook-guard.d.ts +17 -0
  341. package/dist/domains/comet-native/native-hook-guard.d.ts.map +1 -0
  342. package/dist/domains/comet-native/native-hook-guard.js +154 -0
  343. package/dist/domains/comet-native/native-hook-guard.js.map +1 -0
  344. package/dist/domains/comet-native/native-lock.d.ts +47 -0
  345. package/dist/domains/comet-native/native-lock.d.ts.map +1 -0
  346. package/dist/domains/comet-native/native-lock.js +395 -0
  347. package/dist/domains/comet-native/native-lock.js.map +1 -0
  348. package/dist/domains/comet-native/native-mutation-lock.d.ts +5 -0
  349. package/dist/domains/comet-native/native-mutation-lock.d.ts.map +1 -0
  350. package/dist/domains/comet-native/native-mutation-lock.js +66 -0
  351. package/dist/domains/comet-native/native-mutation-lock.js.map +1 -0
  352. package/dist/domains/comet-native/native-paths.d.ts +10 -0
  353. package/dist/domains/comet-native/native-paths.d.ts.map +1 -0
  354. package/dist/domains/comet-native/native-paths.js +171 -0
  355. package/dist/domains/comet-native/native-paths.js.map +1 -0
  356. package/dist/domains/comet-native/native-progress-checkpoint.d.ts +13 -0
  357. package/dist/domains/comet-native/native-progress-checkpoint.d.ts.map +1 -0
  358. package/dist/domains/comet-native/native-progress-checkpoint.js +104 -0
  359. package/dist/domains/comet-native/native-progress-checkpoint.js.map +1 -0
  360. package/dist/domains/comet-native/native-protected-file.d.ts +113 -0
  361. package/dist/domains/comet-native/native-protected-file.d.ts.map +1 -0
  362. package/dist/domains/comet-native/native-protected-file.js +509 -0
  363. package/dist/domains/comet-native/native-protected-file.js.map +1 -0
  364. package/dist/domains/comet-native/native-redaction.d.ts +2 -0
  365. package/dist/domains/comet-native/native-redaction.d.ts.map +1 -0
  366. package/dist/domains/comet-native/native-redaction.js +18 -0
  367. package/dist/domains/comet-native/native-redaction.js.map +1 -0
  368. package/dist/domains/comet-native/native-repair-integration.d.ts +42 -0
  369. package/dist/domains/comet-native/native-repair-integration.d.ts.map +1 -0
  370. package/dist/domains/comet-native/native-repair-integration.js +184 -0
  371. package/dist/domains/comet-native/native-repair-integration.js.map +1 -0
  372. package/dist/domains/comet-native/native-repair-runtime.d.ts +73 -0
  373. package/dist/domains/comet-native/native-repair-runtime.d.ts.map +1 -0
  374. package/dist/domains/comet-native/native-repair-runtime.js +509 -0
  375. package/dist/domains/comet-native/native-repair-runtime.js.map +1 -0
  376. package/dist/domains/comet-native/native-repair-stagnation.d.ts +85 -0
  377. package/dist/domains/comet-native/native-repair-stagnation.d.ts.map +1 -0
  378. package/dist/domains/comet-native/native-repair-stagnation.js +256 -0
  379. package/dist/domains/comet-native/native-repair-stagnation.js.map +1 -0
  380. package/dist/domains/comet-native/native-resume-view.d.ts +14 -0
  381. package/dist/domains/comet-native/native-resume-view.d.ts.map +1 -0
  382. package/dist/domains/comet-native/native-resume-view.js +105 -0
  383. package/dist/domains/comet-native/native-resume-view.js.map +1 -0
  384. package/dist/domains/comet-native/native-revision.d.ts +20 -0
  385. package/dist/domains/comet-native/native-revision.d.ts.map +1 -0
  386. package/dist/domains/comet-native/native-revision.js +32 -0
  387. package/dist/domains/comet-native/native-revision.js.map +1 -0
  388. package/dist/domains/comet-native/native-root-move.d.ts +20 -0
  389. package/dist/domains/comet-native/native-root-move.d.ts.map +1 -0
  390. package/dist/domains/comet-native/native-root-move.js +812 -0
  391. package/dist/domains/comet-native/native-root-move.js.map +1 -0
  392. package/dist/domains/comet-native/native-run-consistency.d.ts +3 -0
  393. package/dist/domains/comet-native/native-run-consistency.d.ts.map +1 -0
  394. package/dist/domains/comet-native/native-run-consistency.js +136 -0
  395. package/dist/domains/comet-native/native-run-consistency.js.map +1 -0
  396. package/dist/domains/comet-native/native-run-store.d.ts +41 -0
  397. package/dist/domains/comet-native/native-run-store.d.ts.map +1 -0
  398. package/dist/domains/comet-native/native-run-store.js +451 -0
  399. package/dist/domains/comet-native/native-run-store.js.map +1 -0
  400. package/dist/domains/comet-native/native-runtime-package.d.ts +16 -0
  401. package/dist/domains/comet-native/native-runtime-package.d.ts.map +1 -0
  402. package/dist/domains/comet-native/native-runtime-package.js +72 -0
  403. package/dist/domains/comet-native/native-runtime-package.js.map +1 -0
  404. package/dist/domains/comet-native/native-schema-migration.d.ts +11 -0
  405. package/dist/domains/comet-native/native-schema-migration.d.ts.map +1 -0
  406. package/dist/domains/comet-native/native-schema-migration.js +899 -0
  407. package/dist/domains/comet-native/native-schema-migration.js.map +1 -0
  408. package/dist/domains/comet-native/native-selection.d.ts +12 -0
  409. package/dist/domains/comet-native/native-selection.d.ts.map +1 -0
  410. package/dist/domains/comet-native/native-selection.js +52 -0
  411. package/dist/domains/comet-native/native-selection.js.map +1 -0
  412. package/dist/domains/comet-native/native-sensitive-paths.d.ts +7 -0
  413. package/dist/domains/comet-native/native-sensitive-paths.d.ts.map +1 -0
  414. package/dist/domains/comet-native/native-sensitive-paths.js +69 -0
  415. package/dist/domains/comet-native/native-sensitive-paths.js.map +1 -0
  416. package/dist/domains/comet-native/native-snapshot.d.ts +74 -0
  417. package/dist/domains/comet-native/native-snapshot.d.ts.map +1 -0
  418. package/dist/domains/comet-native/native-snapshot.js +2308 -0
  419. package/dist/domains/comet-native/native-snapshot.js.map +1 -0
  420. package/dist/domains/comet-native/native-specs.d.ts +12 -0
  421. package/dist/domains/comet-native/native-specs.d.ts.map +1 -0
  422. package/dist/domains/comet-native/native-specs.js +270 -0
  423. package/dist/domains/comet-native/native-specs.js.map +1 -0
  424. package/dist/domains/comet-native/native-trajectory-limits.d.ts +7 -0
  425. package/dist/domains/comet-native/native-trajectory-limits.d.ts.map +1 -0
  426. package/dist/domains/comet-native/native-trajectory-limits.js +13 -0
  427. package/dist/domains/comet-native/native-trajectory-limits.js.map +1 -0
  428. package/dist/domains/comet-native/native-trajectory-recovery.d.ts +37 -0
  429. package/dist/domains/comet-native/native-trajectory-recovery.d.ts.map +1 -0
  430. package/dist/domains/comet-native/native-trajectory-recovery.js +133 -0
  431. package/dist/domains/comet-native/native-trajectory-recovery.js.map +1 -0
  432. package/dist/domains/comet-native/native-trajectory.d.ts +16 -0
  433. package/dist/domains/comet-native/native-trajectory.d.ts.map +1 -0
  434. package/dist/domains/comet-native/native-trajectory.js +27 -0
  435. package/dist/domains/comet-native/native-trajectory.js.map +1 -0
  436. package/dist/domains/comet-native/native-transaction.d.ts +45 -0
  437. package/dist/domains/comet-native/native-transaction.d.ts.map +1 -0
  438. package/dist/domains/comet-native/native-transaction.js +846 -0
  439. package/dist/domains/comet-native/native-transaction.js.map +1 -0
  440. package/dist/domains/comet-native/native-transition-evidence.d.ts +4 -0
  441. package/dist/domains/comet-native/native-transition-evidence.d.ts.map +1 -0
  442. package/dist/domains/comet-native/native-transition-evidence.js +20 -0
  443. package/dist/domains/comet-native/native-transition-evidence.js.map +1 -0
  444. package/dist/domains/comet-native/native-transition-journal.d.ts +30 -0
  445. package/dist/domains/comet-native/native-transition-journal.d.ts.map +1 -0
  446. package/dist/domains/comet-native/native-transition-journal.js +819 -0
  447. package/dist/domains/comet-native/native-transition-journal.js.map +1 -0
  448. package/dist/domains/comet-native/native-transitions.d.ts +13 -0
  449. package/dist/domains/comet-native/native-transitions.d.ts.map +1 -0
  450. package/dist/domains/comet-native/native-transitions.js +632 -0
  451. package/dist/domains/comet-native/native-transitions.js.map +1 -0
  452. package/dist/domains/comet-native/native-types.d.ts +547 -0
  453. package/dist/domains/comet-native/native-types.d.ts.map +1 -0
  454. package/dist/domains/comet-native/native-types.js +8 -0
  455. package/dist/domains/comet-native/native-types.js.map +1 -0
  456. package/dist/domains/comet-native/native-verification-evidence.d.ts +86 -0
  457. package/dist/domains/comet-native/native-verification-evidence.d.ts.map +1 -0
  458. package/dist/domains/comet-native/native-verification-evidence.js +480 -0
  459. package/dist/domains/comet-native/native-verification-evidence.js.map +1 -0
  460. package/dist/domains/comet-native/native-verification-runtime.d.ts +58 -0
  461. package/dist/domains/comet-native/native-verification-runtime.d.ts.map +1 -0
  462. package/dist/domains/comet-native/native-verification-runtime.js +321 -0
  463. package/dist/domains/comet-native/native-verification-runtime.js.map +1 -0
  464. package/dist/domains/comet-native/native-verification-scope.d.ts +117 -0
  465. package/dist/domains/comet-native/native-verification-scope.d.ts.map +1 -0
  466. package/dist/domains/comet-native/native-verification-scope.js +1040 -0
  467. package/dist/domains/comet-native/native-verification-scope.js.map +1 -0
  468. package/dist/domains/comet-native/native-workspace.d.ts +46 -0
  469. package/dist/domains/comet-native/native-workspace.d.ts.map +1 -0
  470. package/dist/domains/comet-native/native-workspace.js +276 -0
  471. package/dist/domains/comet-native/native-workspace.js.map +1 -0
  472. package/dist/domains/dashboard/collector.d.ts.map +1 -1
  473. package/dist/domains/dashboard/collector.js +9 -1
  474. package/dist/domains/dashboard/collector.js.map +1 -1
  475. package/dist/domains/dashboard/native-adapter.d.ts +157 -0
  476. package/dist/domains/dashboard/native-adapter.d.ts.map +1 -0
  477. package/dist/domains/dashboard/native-adapter.js +302 -0
  478. package/dist/domains/dashboard/native-adapter.js.map +1 -0
  479. package/dist/domains/dashboard/native-collector.d.ts +6 -0
  480. package/dist/domains/dashboard/native-collector.d.ts.map +1 -0
  481. package/dist/domains/dashboard/native-collector.js +285 -0
  482. package/dist/domains/dashboard/native-collector.js.map +1 -0
  483. package/dist/domains/dashboard/types.d.ts +5 -0
  484. package/dist/domains/dashboard/types.d.ts.map +1 -1
  485. package/dist/domains/dashboard/web/assets/{arc-TGVUG2WN.js → arc-CxdiLJ50.js} +1 -1
  486. package/dist/domains/dashboard/web/assets/{architectureDiagram-3BPJPVTR-ASHmiHoP.js → architectureDiagram-3BPJPVTR-D5YCQu4e.js} +1 -1
  487. package/dist/domains/dashboard/web/assets/{blockDiagram-GPEHLZMM-CwASxBKe.js → blockDiagram-GPEHLZMM-8NfdCOQ8.js} +1 -1
  488. package/dist/domains/dashboard/web/assets/{c4Diagram-AAUBKEIU-BU8z_WNk.js → c4Diagram-AAUBKEIU-B3cFnNT7.js} +1 -1
  489. package/dist/domains/dashboard/web/assets/channel-B6AFly29.js +1 -0
  490. package/dist/domains/dashboard/web/assets/{chunk-2J33WTMH-CBGlUx4_.js → chunk-2J33WTMH-CBNfW-Dr.js} +1 -1
  491. package/dist/domains/dashboard/web/assets/{chunk-4BX2VUAB-CS-iGcFz.js → chunk-4BX2VUAB-vWyemRBr.js} +1 -1
  492. package/dist/domains/dashboard/web/assets/{chunk-55IACEB6-BUtCVJat.js → chunk-55IACEB6-H6haOo2C.js} +1 -1
  493. package/dist/domains/dashboard/web/assets/{chunk-727SXJPM-C94tj_pf.js → chunk-727SXJPM-D02UjGND.js} +1 -1
  494. package/dist/domains/dashboard/web/assets/{chunk-AQP2D5EJ-BFOKcpdG.js → chunk-AQP2D5EJ-wKsbOw_T.js} +1 -1
  495. package/dist/domains/dashboard/web/assets/{chunk-FMBD7UC4-Dmx8B-st.js → chunk-FMBD7UC4-eYFEZimP.js} +1 -1
  496. package/dist/domains/dashboard/web/assets/{chunk-ND2GUHAM-DYV00CNn.js → chunk-ND2GUHAM-fMaIDDI2.js} +1 -1
  497. package/dist/domains/dashboard/web/assets/{chunk-QZHKN3VN-DMJJyQnw.js → chunk-QZHKN3VN-C9rhF6Hm.js} +1 -1
  498. package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-BcnrxOTt.js +1 -0
  499. package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-BcnrxOTt.js +1 -0
  500. package/dist/domains/dashboard/web/assets/{cose-bilkent-S5V4N54A-P4nE2rea.js → cose-bilkent-S5V4N54A-CbaShPub.js} +1 -1
  501. package/dist/domains/dashboard/web/assets/{cynefin-VYW2F7L2-C-R1HXDv.js → cynefin-VYW2F7L2-DN4emAQv.js} +1 -1
  502. package/dist/domains/dashboard/web/assets/{dagre-BM42HDAG-BH8d-C9z.js → dagre-BM42HDAG-BpSzbk_V.js} +1 -1
  503. package/dist/domains/dashboard/web/assets/demo-BuVau32v.js +25 -0
  504. package/dist/domains/dashboard/web/assets/{diagram-2AECGRRQ-DpXTgQIH.js → diagram-2AECGRRQ-CfXwGGpQ.js} +1 -1
  505. package/dist/domains/dashboard/web/assets/{diagram-5GNKFQAL-DSiFJzSw.js → diagram-5GNKFQAL-DMp0Zmot.js} +1 -1
  506. package/dist/domains/dashboard/web/assets/{diagram-KO2AKTUF-DULMkben.js → diagram-KO2AKTUF-C7ZvofsM.js} +1 -1
  507. package/dist/domains/dashboard/web/assets/{diagram-LMA3HP47-Pi8m_NO9.js → diagram-LMA3HP47-BjmxFnap.js} +1 -1
  508. package/dist/domains/dashboard/web/assets/{diagram-OG6HWLK6-BSe6bCWm.js → diagram-OG6HWLK6-DFBG1Iqy.js} +1 -1
  509. package/dist/domains/dashboard/web/assets/{erDiagram-TEJ5UH35-zb-FEcbq.js → erDiagram-TEJ5UH35-MpNT7dzt.js} +1 -1
  510. package/dist/domains/dashboard/web/assets/{flowDiagram-I6XJVG4X-Dr-Gk0z2.js → flowDiagram-I6XJVG4X-_1wAR6c1.js} +1 -1
  511. package/dist/domains/dashboard/web/assets/{ganttDiagram-6RSMTGT7-qs6Zb2A6.js → ganttDiagram-6RSMTGT7-DJKjDeWl.js} +1 -1
  512. package/dist/domains/dashboard/web/assets/{gitGraphDiagram-PVQCEYII-BQ314orT.js → gitGraphDiagram-PVQCEYII-BL7yUEn-.js} +1 -1
  513. package/dist/domains/dashboard/web/assets/index-CjE9mHGb.js +24 -0
  514. package/dist/domains/dashboard/web/assets/index-D-AGxvI4.css +1 -0
  515. package/dist/domains/dashboard/web/assets/{infoDiagram-5YYISTIA-O0bQp98A.js → infoDiagram-5YYISTIA-Bt5fqrOd.js} +1 -1
  516. package/dist/domains/dashboard/web/assets/{ishikawaDiagram-YF4QCWOH-BPC7wbKh.js → ishikawaDiagram-YF4QCWOH-COCMcjBM.js} +1 -1
  517. package/dist/domains/dashboard/web/assets/{journeyDiagram-JHISSGLW-ohViOd4b.js → journeyDiagram-JHISSGLW-DGcpcWny.js} +1 -1
  518. package/dist/domains/dashboard/web/assets/{kanban-definition-UN3LZRKU-CHleNdbG.js → kanban-definition-UN3LZRKU-QSBNsWMP.js} +1 -1
  519. package/dist/domains/dashboard/web/assets/{linear-CyqiW--Q.js → linear-9uyeeBZf.js} +1 -1
  520. package/dist/domains/dashboard/web/assets/{mermaid.core-qS9XvtaK.js → mermaid.core-CkNdB471.js} +4 -4
  521. package/dist/domains/dashboard/web/assets/{mindmap-definition-RKZ34NQL-oaGkqO9l.js → mindmap-definition-RKZ34NQL-CiNxI0gP.js} +1 -1
  522. package/dist/domains/dashboard/web/assets/{pieDiagram-4H26LBE5-CPcB-AFh.js → pieDiagram-4H26LBE5-BLJ6QnRO.js} +1 -1
  523. package/dist/domains/dashboard/web/assets/{quadrantDiagram-W4KKPZXB-LFy52Qtj.js → quadrantDiagram-W4KKPZXB-CflW-eFH.js} +1 -1
  524. package/dist/domains/dashboard/web/assets/{requirementDiagram-4Y6WPE33-BdjeaYP_.js → requirementDiagram-4Y6WPE33-B9HLmRWH.js} +1 -1
  525. package/dist/domains/dashboard/web/assets/{sankeyDiagram-5OEKKPKP-DDJ4styL.js → sankeyDiagram-5OEKKPKP-6xnco5k5.js} +1 -1
  526. package/dist/domains/dashboard/web/assets/{sequenceDiagram-3UESZ5HK-BL5bFNoz.js → sequenceDiagram-3UESZ5HK-Dp1rujNZ.js} +1 -1
  527. package/dist/domains/dashboard/web/assets/{stateDiagram-AJRCARHV-BNUfikui.js → stateDiagram-AJRCARHV-C1Xc90ek.js} +1 -1
  528. package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-p-qmzXyE.js +1 -0
  529. package/dist/domains/dashboard/web/assets/{timeline-definition-PNZ67QCA--ps2uu6L.js → timeline-definition-PNZ67QCA-g9s-m5Z4.js} +1 -1
  530. package/dist/domains/dashboard/web/assets/{vennDiagram-CIIHVFJN-C2q8q26c.js → vennDiagram-CIIHVFJN-rkEyhyCc.js} +1 -1
  531. package/dist/domains/dashboard/web/assets/{wardleyDiagram-YWT4CUSO-BUH9gXqd.js → wardleyDiagram-YWT4CUSO-CJLrWGXc.js} +1 -1
  532. package/dist/domains/dashboard/web/assets/{xychartDiagram-2RQKCTM6-B-DielEy.js → xychartDiagram-2RQKCTM6-BxJvPNqo.js} +1 -1
  533. package/dist/domains/dashboard/web/index.html +2 -2
  534. package/dist/domains/engine/storage-layout.d.ts +14 -0
  535. package/dist/domains/engine/storage-layout.d.ts.map +1 -0
  536. package/dist/domains/engine/storage-layout.js +32 -0
  537. package/dist/domains/engine/storage-layout.js.map +1 -0
  538. package/dist/domains/engine/storage-run.d.ts +9 -0
  539. package/dist/domains/engine/storage-run.d.ts.map +1 -0
  540. package/dist/domains/engine/storage-run.js +116 -0
  541. package/dist/domains/engine/storage-run.js.map +1 -0
  542. package/dist/domains/factory/package.d.ts.map +1 -1
  543. package/dist/domains/factory/package.js +5 -3
  544. package/dist/domains/factory/package.js.map +1 -1
  545. package/dist/domains/integrations/openspec.d.ts.map +1 -1
  546. package/dist/domains/integrations/openspec.js +8 -6
  547. package/dist/domains/integrations/openspec.js.map +1 -1
  548. package/dist/domains/skill/find.d.ts.map +1 -1
  549. package/dist/domains/skill/find.js +7 -1
  550. package/dist/domains/skill/find.js.map +1 -1
  551. package/dist/domains/skill/platform-inspect.d.ts +6 -2
  552. package/dist/domains/skill/platform-inspect.d.ts.map +1 -1
  553. package/dist/domains/skill/platform-inspect.js +52 -8
  554. package/dist/domains/skill/platform-inspect.js.map +1 -1
  555. package/dist/domains/skill/platform-install.d.ts +18 -7
  556. package/dist/domains/skill/platform-install.d.ts.map +1 -1
  557. package/dist/domains/skill/platform-install.js +338 -71
  558. package/dist/domains/skill/platform-install.js.map +1 -1
  559. package/dist/domains/skill/project-instructions.d.ts.map +1 -1
  560. package/dist/domains/skill/project-instructions.js +12 -6
  561. package/dist/domains/skill/project-instructions.js.map +1 -1
  562. package/dist/domains/skill/uninstall.d.ts.map +1 -1
  563. package/dist/domains/skill/uninstall.js +15 -3
  564. package/dist/domains/skill/uninstall.js.map +1 -1
  565. package/dist/domains/workflow-contract/builtins.d.ts +6 -0
  566. package/dist/domains/workflow-contract/builtins.d.ts.map +1 -1
  567. package/dist/domains/workflow-contract/builtins.js +137 -0
  568. package/dist/domains/workflow-contract/builtins.js.map +1 -1
  569. package/dist/domains/workflow-contract/index.d.ts +3 -1
  570. package/dist/domains/workflow-contract/index.d.ts.map +1 -1
  571. package/dist/domains/workflow-contract/index.js +2 -1
  572. package/dist/domains/workflow-contract/index.js.map +1 -1
  573. package/dist/domains/workflow-contract/normalize.d.ts.map +1 -1
  574. package/dist/domains/workflow-contract/normalize.js +28 -10
  575. package/dist/domains/workflow-contract/normalize.js.map +1 -1
  576. package/dist/domains/workflow-contract/project-config.d.ts +7 -0
  577. package/dist/domains/workflow-contract/project-config.d.ts.map +1 -0
  578. package/dist/domains/workflow-contract/project-config.js +110 -0
  579. package/dist/domains/workflow-contract/project-config.js.map +1 -0
  580. package/dist/domains/workflow-contract/types.d.ts +4 -2
  581. package/dist/domains/workflow-contract/types.d.ts.map +1 -1
  582. package/dist/domains/workflow-contract/validation.d.ts.map +1 -1
  583. package/dist/domains/workflow-contract/validation.js +14 -5
  584. package/dist/domains/workflow-contract/validation.js.map +1 -1
  585. package/dist/platform/install/detect.d.ts +3 -1
  586. package/dist/platform/install/detect.d.ts.map +1 -1
  587. package/dist/platform/install/detect.js +4 -1
  588. package/dist/platform/install/detect.js.map +1 -1
  589. package/dist/platform/install/project-registry.js +2 -2
  590. package/dist/platform/install/project-registry.js.map +1 -1
  591. package/dist/platform/paths/repository-layout.d.ts +16 -0
  592. package/dist/platform/paths/repository-layout.d.ts.map +1 -1
  593. package/dist/platform/paths/repository-layout.js.map +1 -1
  594. package/eval/local/README.md +50 -0
  595. package/eval/local/scripts/compare_baselines.py +127 -1
  596. package/eval/local/scripts/regression_check.py +3 -4
  597. package/eval/local/tasks/comet-native-clarification/environment/Dockerfile +27 -0
  598. package/eval/local/tasks/comet-native-clarification/environment/test_wordcount.py +25 -0
  599. package/eval/local/tasks/comet-native-clarification/environment/wordcount.py +36 -0
  600. package/eval/local/tasks/comet-native-clarification/instruction.md +7 -0
  601. package/eval/local/tasks/comet-native-clarification/task.toml +40 -0
  602. package/eval/local/tasks/comet-native-clarification/validation/test_native_clarification.py +193 -0
  603. package/eval/local/tasks/comet-native-clarification-modes/environment/Dockerfile +27 -0
  604. package/eval/local/tasks/comet-native-clarification-modes/environment/test_wordcount.py +25 -0
  605. package/eval/local/tasks/comet-native-clarification-modes/environment/wordcount.py +36 -0
  606. package/eval/local/tasks/comet-native-clarification-modes/instruction.md +13 -0
  607. package/eval/local/tasks/comet-native-clarification-modes/task.toml +39 -0
  608. package/eval/local/tasks/comet-native-clarification-modes/validation/test_native_clarification_modes.py +235 -0
  609. package/eval/local/tasks/comet-native-interrupted-transition/environment/.comet/config.yaml +6 -0
  610. package/eval/local/tasks/comet-native-interrupted-transition/environment/Dockerfile +28 -0
  611. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/brief.md +17 -0
  612. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/comet-state.yaml +12 -0
  613. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/runtime/transition.json +69 -0
  614. package/eval/local/tasks/comet-native-interrupted-transition/environment/docs/comet/changes/add-character-counting/specs/character-counting/spec.md +3 -0
  615. package/eval/local/tasks/comet-native-interrupted-transition/environment/test_wordcount.py +20 -0
  616. package/eval/local/tasks/comet-native-interrupted-transition/environment/wordcount.py +27 -0
  617. package/eval/local/tasks/comet-native-interrupted-transition/instruction.md +7 -0
  618. package/eval/local/tasks/comet-native-interrupted-transition/task.toml +35 -0
  619. package/eval/local/tasks/comet-native-interrupted-transition/validation/test_native_interrupted_transition.py +63 -0
  620. package/eval/local/tasks/comet-native-repository-fact/environment/Dockerfile +26 -0
  621. package/eval/local/tasks/comet-native-repository-fact/environment/PRODUCT_RULES.md +3 -0
  622. package/eval/local/tasks/comet-native-repository-fact/environment/test_wordcount.py +20 -0
  623. package/eval/local/tasks/comet-native-repository-fact/environment/wordcount.py +27 -0
  624. package/eval/local/tasks/comet-native-repository-fact/instruction.md +7 -0
  625. package/eval/local/tasks/comet-native-repository-fact/task.toml +35 -0
  626. package/eval/local/tasks/comet-native-repository-fact/validation/test_native_repository_fact.py +53 -0
  627. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/Dockerfile +27 -0
  628. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/test_wordcount.py +27 -0
  629. package/eval/local/tasks/comet-native-wave-b-decision-resume/environment/wordcount.py +36 -0
  630. package/eval/local/tasks/comet-native-wave-b-decision-resume/instruction.md +9 -0
  631. package/eval/local/tasks/comet-native-wave-b-decision-resume/task.toml +40 -0
  632. package/eval/local/tasks/comet-native-wave-b-decision-resume/validation/test_native_wave_b_decision_resume.py +208 -0
  633. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/Dockerfile +27 -0
  634. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/test_wordcount.py +27 -0
  635. package/eval/local/tasks/comet-native-wave-c-verification-integrity/environment/wordcount.py +36 -0
  636. package/eval/local/tasks/comet-native-wave-c-verification-integrity/instruction.md +11 -0
  637. package/eval/local/tasks/comet-native-wave-c-verification-integrity/task.toml +36 -0
  638. package/eval/local/tasks/comet-native-wave-c-verification-integrity/validation/test_native_wave_c_verification_integrity.py +344 -0
  639. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/Dockerfile +27 -0
  640. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/test_wordcount.py +27 -0
  641. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/environment/wordcount.py +36 -0
  642. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/instruction.md +11 -0
  643. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/task.toml +37 -0
  644. package/eval/local/tasks/comet-native-wave-d-stagnation-stop/validation/test_native_wave_d_stagnation_stop.py +284 -0
  645. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/.include-trusted-native-runtime +1 -0
  646. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/Dockerfile +27 -0
  647. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/test_wordcount.py +27 -0
  648. package/eval/local/tasks/comet-native-wave-e-parallel-safety/environment/wordcount.py +36 -0
  649. package/eval/local/tasks/comet-native-wave-e-parallel-safety/instruction.md +9 -0
  650. package/eval/local/tasks/comet-native-wave-e-parallel-safety/task.toml +37 -0
  651. package/eval/local/tasks/comet-native-wave-e-parallel-safety/validation/test_native_wave_e_parallel_safety.py +309 -0
  652. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/.include-current-comet-cli +1 -0
  653. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/Dockerfile +31 -0
  654. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet-package.json +18 -0
  655. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/current-comet.sh +14 -0
  656. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/test_wordcount.py +27 -0
  657. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/environment/wordcount.py +36 -0
  658. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/instruction.md +7 -0
  659. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/task.toml +36 -0
  660. package/eval/local/tasks/comet-native-wave-f-dashboard-readonly/validation/test_native_wave_f_dashboard_readonly.py +469 -0
  661. package/eval/local/tasks/comet-native-workflow/environment/Dockerfile +27 -0
  662. package/eval/local/tasks/comet-native-workflow/environment/test_wordcount.py +25 -0
  663. package/eval/local/tasks/comet-native-workflow/environment/wordcount.py +36 -0
  664. package/eval/local/tasks/comet-native-workflow/instruction.md +14 -0
  665. package/eval/local/tasks/comet-native-workflow/task.toml +36 -0
  666. package/eval/local/tasks/comet-native-workflow/validation/test_native_workflow.py +149 -0
  667. package/eval/local/tasks/index.yaml +61 -0
  668. package/eval/local/tests/conftest.py +407 -22
  669. package/eval/local/tests/scaffold/test_aligned_comparison.py +1012 -0
  670. package/eval/local/tests/scaffold/test_conftest_helpers.py +187 -7
  671. package/eval/local/tests/scaffold/test_logging.py +135 -1
  672. package/eval/local/tests/scaffold/test_manifests.py +2 -0
  673. package/eval/local/tests/scaffold/test_native_aligned_eval.py +346 -0
  674. package/eval/local/tests/scaffold/test_native_wave_evaluations.py +1889 -0
  675. package/eval/local/tests/scaffold/test_profiles.py +33 -0
  676. package/eval/local/tests/scaffold/test_sample_quality.py +57 -0
  677. package/eval/local/tests/scaffold/test_tasks.py +377 -1
  678. package/eval/local/tests/scaffold/test_treatments.py +59 -13
  679. package/eval/local/tests/scaffold/test_utils.py +277 -4
  680. package/eval/local/tests/tasks/__init__.py +1 -0
  681. package/eval/local/tests/tasks/test_tasks.py +104 -78
  682. package/eval/local/tests/tasks/test_validation_scripts.py +37 -0
  683. package/eval/local/treatments/comet/comet_native_phase1.yaml +66 -0
  684. package/eval/scaffold/python/aligned_comparison.py +1631 -0
  685. package/eval/scaffold/python/generic_llm_judge.py +3 -1
  686. package/eval/scaffold/python/llm_judge.py +0 -3
  687. package/eval/scaffold/python/logging.py +115 -16
  688. package/eval/scaffold/python/manifests.py +2 -0
  689. package/eval/scaffold/python/native_eval.py +138 -0
  690. package/eval/scaffold/python/pass_at_k.py +0 -1
  691. package/eval/scaffold/python/report_outputs.py +226 -44
  692. package/eval/scaffold/python/sample_quality.py +45 -2
  693. package/eval/scaffold/python/tasks.py +11 -0
  694. package/eval/scaffold/python/utils.py +108 -20
  695. package/eval/scaffold/python/validation/__init__.py +15 -5
  696. package/eval/scaffold/python/validation/comet_workflow.py +10 -5
  697. package/eval/scaffold/python/validation/generic_rubric.py +1 -2
  698. package/eval/scaffold/python/validation/native_wave.py +2154 -0
  699. package/eval/scaffold/python/validation/native_workflow.py +252 -0
  700. package/eval/scaffold/python/validation/rubric.py +0 -2
  701. package/eval/scaffold/shell/completion-point.sh +18 -0
  702. package/eval/scaffold/shell/decision-point.sh +35 -0
  703. package/eval/scaffold/shell/docker.sh +150 -9
  704. package/eval/scaffold/shell/run-claude-loop.sh +57 -27
  705. package/package.json +19 -5
  706. package/dist/domains/dashboard/web/assets/channel-kp6Ng2JJ.js +0 -1
  707. package/dist/domains/dashboard/web/assets/classDiagram-4FO5ZUOK-yBDjgMY_.js +0 -1
  708. package/dist/domains/dashboard/web/assets/classDiagram-v2-Q7XG4LA2-yBDjgMY_.js +0 -1
  709. package/dist/domains/dashboard/web/assets/demo-DQyfozbi.js +0 -1
  710. package/dist/domains/dashboard/web/assets/index-BLAfkNTu.css +0 -1
  711. package/dist/domains/dashboard/web/assets/index-DtLUOcAW.js +0 -24
  712. package/dist/domains/dashboard/web/assets/stateDiagram-v2-BHNVJYJU-DGrsmWts.js +0 -1
  713. package/eval/.env.example +0 -52
  714. package/eval/langsmith/.env.example +0 -16
@@ -0,0 +1,509 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { constants as fsConstants, promises as fs } from 'node:fs';
3
+ import path from 'node:path';
4
+ import { TextDecoder } from 'node:util';
5
+ import { atomicWriteBytes } from './native-atomic-file.js';
6
+ function isInside(parent, target) {
7
+ const relative = path.relative(parent, target);
8
+ return (relative === '' ||
9
+ (!path.isAbsolute(relative) && relative !== '..' && !relative.startsWith(`..${path.sep}`)));
10
+ }
11
+ function positiveLimit(value) {
12
+ if (!Number.isSafeInteger(value) || value < 1) {
13
+ throw new Error('Native protected file byte limit must be a positive integer');
14
+ }
15
+ return value;
16
+ }
17
+ function sameDirectoryIdentity(expected, actual) {
18
+ if (expected.dev !== 0 || expected.ino !== 0 || actual.dev !== 0 || actual.ino !== 0) {
19
+ return expected.dev === actual.dev && expected.ino === actual.ino;
20
+ }
21
+ return expected.birthtimeMs === actual.birthtimeMs;
22
+ }
23
+ function asFileIdentity(stat) {
24
+ return {
25
+ dev: stat.dev,
26
+ ino: stat.ino,
27
+ birthtimeMs: stat.birthtimeMs,
28
+ ctimeMs: stat.ctimeMs,
29
+ mtimeMs: stat.mtimeMs,
30
+ size: stat.size,
31
+ };
32
+ }
33
+ function sameFileIdentity(expected, actual) {
34
+ const sameObject = expected.dev !== 0 || expected.ino !== 0 || actual.dev !== 0 || actual.ino !== 0
35
+ ? expected.dev === actual.dev && expected.ino === actual.ino
36
+ : expected.birthtimeMs === actual.birthtimeMs;
37
+ return (sameObject &&
38
+ expected.birthtimeMs === actual.birthtimeMs &&
39
+ expected.ctimeMs === actual.ctimeMs &&
40
+ expected.mtimeMs === actual.mtimeMs &&
41
+ expected.size === actual.size);
42
+ }
43
+ async function captureDirectoryIdentity(directory, label) {
44
+ const stat = await fs.lstat(directory);
45
+ if (!stat.isDirectory() || stat.isSymbolicLink()) {
46
+ throw new Error(`${label} parent must be a real directory: ${directory}`);
47
+ }
48
+ return {
49
+ path: directory,
50
+ realPath: await fs.realpath(directory),
51
+ dev: stat.dev,
52
+ ino: stat.ino,
53
+ birthtimeMs: stat.birthtimeMs,
54
+ };
55
+ }
56
+ async function captureDirectoryChain(root, directory, label) {
57
+ const lexicalRoot = path.resolve(root);
58
+ const lexicalDirectory = path.resolve(directory);
59
+ if (!isInside(lexicalRoot, lexicalDirectory)) {
60
+ throw new Error(`${label} is outside its managed root`);
61
+ }
62
+ const chain = [await captureDirectoryIdentity(lexicalRoot, label)];
63
+ let cursor = lexicalRoot;
64
+ for (const segment of path
65
+ .relative(lexicalRoot, lexicalDirectory)
66
+ .split(path.sep)
67
+ .filter(Boolean)) {
68
+ await verifyDirectoryChain(chain, label);
69
+ cursor = path.join(cursor, segment);
70
+ const identity = await captureDirectoryIdentity(cursor, label);
71
+ if (!isInside(chain[0].realPath, identity.realPath)) {
72
+ throw new Error(`${label} parent resolves outside its managed root: ${cursor}`);
73
+ }
74
+ chain.push(identity);
75
+ }
76
+ await verifyDirectoryChain(chain, label);
77
+ return chain;
78
+ }
79
+ async function verifyDirectoryChain(chain, label) {
80
+ for (const identity of chain) {
81
+ const stat = await fs.lstat(identity.path);
82
+ if (!stat.isDirectory() ||
83
+ stat.isSymbolicLink() ||
84
+ !sameDirectoryIdentity(identity, stat) ||
85
+ (await fs.realpath(identity.path)) !== identity.realPath) {
86
+ throw new Error(`${label} parent changed during I/O: ${identity.path}`);
87
+ }
88
+ }
89
+ }
90
+ async function readHandleBounded(handle, maxBytes, label) {
91
+ const chunks = [];
92
+ let total = 0;
93
+ const buffer = Buffer.allocUnsafe(Math.min(64 * 1024, maxBytes + 1));
94
+ while (true) {
95
+ const remaining = maxBytes + 1 - total;
96
+ const { bytesRead } = await handle.read(buffer, 0, Math.min(buffer.length, remaining), null);
97
+ if (bytesRead === 0)
98
+ break;
99
+ total += bytesRead;
100
+ if (total > maxBytes)
101
+ throw new Error(`${label} exceeds ${maxBytes} bytes`);
102
+ chunks.push(Buffer.from(buffer.subarray(0, bytesRead)));
103
+ }
104
+ return Buffer.concat(chunks, total);
105
+ }
106
+ export async function readNativeProtectedFile(options) {
107
+ const maxBytes = positiveLimit(options.maxBytes);
108
+ const file = path.resolve(options.file);
109
+ const chain = await captureDirectoryChain(options.root, path.dirname(file), options.label);
110
+ const forbidden = await Promise.all((options.forbiddenRoots ?? []).map((root) => captureDirectoryIdentity(path.resolve(root), options.label)));
111
+ await options.hooks?.afterParentChainCaptured?.();
112
+ await verifyDirectoryChain(chain, options.label);
113
+ const before = await fs.lstat(file);
114
+ if (!before.isFile() || before.isSymbolicLink()) {
115
+ throw new Error(`${options.label} must be a regular file`);
116
+ }
117
+ if (before.size > maxBytes)
118
+ throw new Error(`${options.label} exceeds ${maxBytes} bytes`);
119
+ const beforeIdentity = asFileIdentity(before);
120
+ const beforeRealPath = await fs.realpath(file);
121
+ if (!isInside(chain[0].realPath, beforeRealPath)) {
122
+ throw new Error(`${options.label} resolves outside its managed root`);
123
+ }
124
+ if (forbidden.some((identity) => isInside(identity.realPath, beforeRealPath))) {
125
+ throw new Error(`${options.label} resolves inside an excluded root`);
126
+ }
127
+ const flags = process.platform === 'win32'
128
+ ? fsConstants.O_RDONLY
129
+ : fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW | fsConstants.O_NONBLOCK;
130
+ const handle = await fs.open(file, flags);
131
+ try {
132
+ const opened = await handle.stat();
133
+ await options.hooks?.afterOpen?.();
134
+ const [pathAfterOpen, realPathAfterOpen] = await Promise.all([
135
+ fs.lstat(file),
136
+ fs.realpath(file),
137
+ ]);
138
+ await verifyDirectoryChain(chain, options.label);
139
+ await verifyDirectoryChain(forbidden, options.label);
140
+ if (!opened.isFile() ||
141
+ !pathAfterOpen.isFile() ||
142
+ pathAfterOpen.isSymbolicLink() ||
143
+ realPathAfterOpen !== beforeRealPath ||
144
+ !sameFileIdentity(beforeIdentity, opened) ||
145
+ !sameFileIdentity(beforeIdentity, pathAfterOpen)) {
146
+ throw new Error(`${options.label} changed while opening`);
147
+ }
148
+ await options.hooks?.beforeRead?.();
149
+ const bytes = await readHandleBounded(handle, maxBytes, options.label);
150
+ await options.hooks?.beforeFinalCheck?.();
151
+ const [afterHandle, afterPath, afterRealPath] = await Promise.all([
152
+ handle.stat(),
153
+ fs.lstat(file),
154
+ fs.realpath(file),
155
+ ]);
156
+ await verifyDirectoryChain(chain, options.label);
157
+ await verifyDirectoryChain(forbidden, options.label);
158
+ if (!afterPath.isFile() ||
159
+ afterPath.isSymbolicLink() ||
160
+ afterRealPath !== beforeRealPath ||
161
+ !sameFileIdentity(beforeIdentity, afterHandle) ||
162
+ !sameFileIdentity(beforeIdentity, afterPath)) {
163
+ throw new Error(`${options.label} changed while reading`);
164
+ }
165
+ return {
166
+ bytes,
167
+ hash: createHash('sha256').update(bytes).digest('hex'),
168
+ size: bytes.length,
169
+ };
170
+ }
171
+ finally {
172
+ await handle.close();
173
+ }
174
+ }
175
+ export async function readNativeProtectedTextFile(options) {
176
+ const snapshot = await readNativeProtectedFile(options);
177
+ let text;
178
+ try {
179
+ text = new TextDecoder('utf-8', { fatal: true }).decode(snapshot.bytes);
180
+ }
181
+ catch (error) {
182
+ throw new Error(`${options.label} is not valid UTF-8`, { cause: error });
183
+ }
184
+ return { ...snapshot, text };
185
+ }
186
+ export async function readNativeProtectedDirectory(options) {
187
+ const chain = await captureDirectoryChain(options.root, options.directory, options.label);
188
+ let entries;
189
+ if (options.maxEntries === undefined) {
190
+ entries = await fs.readdir(options.directory, { withFileTypes: true });
191
+ }
192
+ else {
193
+ const maxEntries = positiveLimit(options.maxEntries);
194
+ entries = [];
195
+ const directory = await fs.opendir(options.directory);
196
+ try {
197
+ for await (const entry of directory) {
198
+ entries.push(entry);
199
+ if (entries.length > maxEntries) {
200
+ throw new Error(`${options.label} exceeds ${maxEntries} entries`);
201
+ }
202
+ }
203
+ }
204
+ finally {
205
+ await directory.close().catch((error) => {
206
+ if (error.code !== 'ERR_DIR_CLOSED')
207
+ throw error;
208
+ });
209
+ }
210
+ }
211
+ await verifyDirectoryChain(chain, options.label);
212
+ return {
213
+ entries,
214
+ verify: () => verifyDirectoryChain(chain, options.label),
215
+ };
216
+ }
217
+ export async function captureNativeProtectedDirectoryGuard(options) {
218
+ const chain = await captureDirectoryChain(options.root, options.directory, options.label);
219
+ return { verify: () => verifyDirectoryChain(chain, options.label) };
220
+ }
221
+ async function quarantineNativeProtectedDirectoryInternal(options) {
222
+ const directory = path.resolve(options.directory);
223
+ const quarantine = path.resolve(options.quarantine);
224
+ if (path.dirname(quarantine) !== path.dirname(directory) ||
225
+ !isInside(path.resolve(options.root), quarantine) ||
226
+ quarantine === directory) {
227
+ throw new Error(`${options.label} quarantine must be a distinct sibling inside its root`);
228
+ }
229
+ const parentChain = await captureDirectoryChain(options.root, path.dirname(directory), options.label);
230
+ const identity = await captureDirectoryIdentity(directory, options.label);
231
+ if (!isInside(parentChain[0].realPath, identity.realPath)) {
232
+ throw new Error(`${options.label} resolves outside its managed root`);
233
+ }
234
+ await options.beforeQuarantine?.();
235
+ await verifyDirectoryChain(parentChain, options.label);
236
+ const current = await fs.lstat(directory);
237
+ if (!current.isDirectory() ||
238
+ current.isSymbolicLink() ||
239
+ !sameDirectoryIdentity(identity, current) ||
240
+ (await fs.realpath(directory)) !== identity.realPath) {
241
+ throw new Error(`${options.label} changed before quarantine`);
242
+ }
243
+ try {
244
+ await fs.lstat(quarantine);
245
+ throw new Error(`${options.label} quarantine path is occupied`);
246
+ }
247
+ catch (error) {
248
+ if (error.code !== 'ENOENT')
249
+ throw error;
250
+ }
251
+ await fs.rename(directory, quarantine);
252
+ await verifyDirectoryChain(parentChain, options.label);
253
+ const quarantined = await fs.lstat(quarantine);
254
+ if (!quarantined.isDirectory() ||
255
+ quarantined.isSymbolicLink() ||
256
+ !sameDirectoryIdentity(identity, quarantined)) {
257
+ throw new Error(`${options.label} changed while quarantining`);
258
+ }
259
+ await options.afterQuarantine?.(quarantine);
260
+ try {
261
+ await fs.lstat(directory);
262
+ throw new Error(`${options.label} path was recreated while quarantining`);
263
+ }
264
+ catch (error) {
265
+ if (error.code !== 'ENOENT')
266
+ throw error;
267
+ }
268
+ return { quarantine, parentChain, identity };
269
+ }
270
+ export async function quarantineNativeProtectedDirectory(options) {
271
+ await quarantineNativeProtectedDirectoryInternal(options);
272
+ }
273
+ export async function removeNativeProtectedDirectory(options) {
274
+ const { quarantine, parentChain, identity } = await quarantineNativeProtectedDirectoryInternal(options);
275
+ await options.beforeRemove?.(quarantine);
276
+ await verifyDirectoryChain(parentChain, options.label);
277
+ const beforeRemove = await fs.lstat(quarantine);
278
+ if (!beforeRemove.isDirectory() ||
279
+ beforeRemove.isSymbolicLink() ||
280
+ !sameDirectoryIdentity(identity, beforeRemove)) {
281
+ throw new Error(`${options.label} changed before removal`);
282
+ }
283
+ await fs.rm(quarantine, { recursive: true });
284
+ await verifyDirectoryChain(parentChain, options.label);
285
+ }
286
+ export async function removeNativeProtectedFile(options) {
287
+ const file = path.resolve(options.file);
288
+ const parentChain = await captureDirectoryChain(options.root, path.dirname(file), options.label);
289
+ const before = await fs.lstat(file);
290
+ if (!before.isFile() || before.isSymbolicLink()) {
291
+ throw new Error(`${options.label} must be a regular file`);
292
+ }
293
+ const identity = asFileIdentity(before);
294
+ const realPath = await fs.realpath(file);
295
+ if (!isInside(parentChain[0].realPath, realPath)) {
296
+ throw new Error(`${options.label} resolves outside its managed root`);
297
+ }
298
+ const snapshot = await readNativeProtectedFile({
299
+ root: options.root,
300
+ file,
301
+ maxBytes: options.maxBytes,
302
+ label: options.label,
303
+ });
304
+ if (snapshot.hash !== options.expectedHash || snapshot.size !== options.expectedSize) {
305
+ throw new Error(`${options.label} changed before removal`);
306
+ }
307
+ const [afterRead, afterReadRealPath] = await Promise.all([fs.lstat(file), fs.realpath(file)]);
308
+ if (!afterRead.isFile() ||
309
+ afterRead.isSymbolicLink() ||
310
+ !sameFileIdentity(identity, afterRead) ||
311
+ afterReadRealPath !== realPath) {
312
+ throw new Error(`${options.label} changed while verifying removal`);
313
+ }
314
+ await options.beforeRemove?.();
315
+ await verifyDirectoryChain(parentChain, options.label);
316
+ const [current, currentRealPath] = await Promise.all([fs.lstat(file), fs.realpath(file)]);
317
+ if (!current.isFile() ||
318
+ current.isSymbolicLink() ||
319
+ !sameFileIdentity(identity, current) ||
320
+ currentRealPath !== realPath) {
321
+ throw new Error(`${options.label} changed before removal`);
322
+ }
323
+ await fs.rm(file);
324
+ await verifyDirectoryChain(parentChain, options.label);
325
+ }
326
+ export async function removeNativeProtectedEmptyDirectory(options) {
327
+ const directory = path.resolve(options.directory);
328
+ const parentChain = await captureDirectoryChain(options.root, path.dirname(directory), options.label);
329
+ const identity = await captureDirectoryIdentity(directory, options.label);
330
+ if (!isInside(parentChain[0].realPath, identity.realPath)) {
331
+ throw new Error(`${options.label} resolves outside its managed root`);
332
+ }
333
+ await options.beforeRemove?.();
334
+ await verifyDirectoryChain(parentChain, options.label);
335
+ const current = await fs.lstat(directory);
336
+ if (!current.isDirectory() ||
337
+ current.isSymbolicLink() ||
338
+ !sameDirectoryIdentity(identity, current) ||
339
+ (await fs.realpath(directory)) !== identity.realPath) {
340
+ throw new Error(`${options.label} changed before removal`);
341
+ }
342
+ await fs.rmdir(directory);
343
+ await verifyDirectoryChain(parentChain, options.label);
344
+ }
345
+ export async function removeNativeProtectedQuarantine(options) {
346
+ const quarantine = path.resolve(options.quarantine);
347
+ const parentChain = await captureDirectoryChain(options.root, path.dirname(quarantine), options.label);
348
+ const identity = await captureDirectoryIdentity(quarantine, options.label);
349
+ if (!isInside(parentChain[0].realPath, identity.realPath)) {
350
+ throw new Error(`${options.label} resolves outside its managed root`);
351
+ }
352
+ await options.beforeRemove?.(quarantine);
353
+ await verifyDirectoryChain(parentChain, options.label);
354
+ const beforeRemove = await fs.lstat(quarantine);
355
+ if (!beforeRemove.isDirectory() ||
356
+ beforeRemove.isSymbolicLink() ||
357
+ !sameDirectoryIdentity(identity, beforeRemove) ||
358
+ (await fs.realpath(quarantine)) !== identity.realPath) {
359
+ throw new Error(`${options.label} changed before removal`);
360
+ }
361
+ await fs.rm(quarantine, { recursive: true });
362
+ await verifyDirectoryChain(parentChain, options.label);
363
+ }
364
+ export async function ensureNativeProtectedDirectory(options) {
365
+ const lexicalRoot = path.resolve(options.root);
366
+ const lexicalDirectory = path.resolve(options.directory);
367
+ if (!isInside(lexicalRoot, lexicalDirectory)) {
368
+ throw new Error(`${options.label} is outside its managed root`);
369
+ }
370
+ const chain = [await captureDirectoryIdentity(lexicalRoot, options.label)];
371
+ let cursor = lexicalRoot;
372
+ for (const segment of path
373
+ .relative(lexicalRoot, lexicalDirectory)
374
+ .split(path.sep)
375
+ .filter(Boolean)) {
376
+ await verifyDirectoryChain(chain, options.label);
377
+ cursor = path.join(cursor, segment);
378
+ try {
379
+ await fs.mkdir(cursor);
380
+ }
381
+ catch (error) {
382
+ if (error.code !== 'EEXIST')
383
+ throw error;
384
+ }
385
+ const identity = await captureDirectoryIdentity(cursor, options.label);
386
+ if (!isInside(chain[0].realPath, identity.realPath)) {
387
+ throw new Error(`${options.label} resolves outside its managed root: ${cursor}`);
388
+ }
389
+ chain.push(identity);
390
+ }
391
+ await verifyDirectoryChain(chain, options.label);
392
+ }
393
+ /** Move a real directory inside one managed root while binding the source object identity. */
394
+ export async function moveNativeProtectedDirectory(options) {
395
+ const root = path.resolve(options.root);
396
+ const source = path.resolve(options.source);
397
+ const target = path.resolve(options.target);
398
+ if (source === target ||
399
+ !isInside(root, source) ||
400
+ !isInside(root, target) ||
401
+ isInside(source, target) ||
402
+ isInside(target, source)) {
403
+ throw new Error(`${options.label} source and target must be distinct paths inside one root`);
404
+ }
405
+ await ensureNativeProtectedDirectory({
406
+ root,
407
+ directory: path.dirname(target),
408
+ label: `${options.label} target parent`,
409
+ });
410
+ const sourceParentChain = await captureDirectoryChain(root, path.dirname(source), options.label);
411
+ const targetParentChain = await captureDirectoryChain(root, path.dirname(target), options.label);
412
+ const sourceIdentity = await captureDirectoryIdentity(source, options.label);
413
+ if (!isInside(sourceParentChain[0].realPath, sourceIdentity.realPath)) {
414
+ throw new Error(`${options.label} source resolves outside its managed root`);
415
+ }
416
+ try {
417
+ await fs.lstat(target);
418
+ throw new Error(`${options.label} target already exists`);
419
+ }
420
+ catch (error) {
421
+ if (error.code !== 'ENOENT')
422
+ throw error;
423
+ }
424
+ await options.beforeMove?.();
425
+ await Promise.all([
426
+ verifyDirectoryChain(sourceParentChain, options.label),
427
+ verifyDirectoryChain(targetParentChain, options.label),
428
+ ]);
429
+ const current = await fs.lstat(source);
430
+ if (!current.isDirectory() ||
431
+ current.isSymbolicLink() ||
432
+ !sameDirectoryIdentity(sourceIdentity, current) ||
433
+ (await fs.realpath(source)) !== sourceIdentity.realPath) {
434
+ throw new Error(`${options.label} source changed before move`);
435
+ }
436
+ await fs.rename(source, target);
437
+ await Promise.all([
438
+ verifyDirectoryChain(sourceParentChain, options.label),
439
+ verifyDirectoryChain(targetParentChain, options.label),
440
+ ]);
441
+ const moved = await fs.lstat(target);
442
+ if (!moved.isDirectory() ||
443
+ moved.isSymbolicLink() ||
444
+ !sameDirectoryIdentity(sourceIdentity, moved) ||
445
+ !isInside(sourceParentChain[0].realPath, await fs.realpath(target))) {
446
+ throw new Error(`${options.label} source identity changed while moving`);
447
+ }
448
+ try {
449
+ await fs.lstat(source);
450
+ throw new Error(`${options.label} source was recreated while moving`);
451
+ }
452
+ catch (error) {
453
+ if (error.code !== 'ENOENT')
454
+ throw error;
455
+ }
456
+ }
457
+ export async function copyNativeProtectedFile(options) {
458
+ const source = await readNativeProtectedFile({
459
+ root: options.sourceRoot,
460
+ file: options.source,
461
+ maxBytes: options.maxBytes,
462
+ label: options.label,
463
+ hooks: options.hooks,
464
+ forbiddenRoots: options.forbiddenRoots,
465
+ });
466
+ if (options.expectedHash !== undefined && source.hash !== options.expectedHash) {
467
+ throw new Error(`${options.label} content changed before copy`);
468
+ }
469
+ await atomicWriteBytes(options.target, source.bytes, {
470
+ containedRoot: options.targetRoot,
471
+ exclusive: options.exclusive,
472
+ beforeCommit: async () => {
473
+ await options.hooks?.beforeTargetCommit?.();
474
+ if (options.expectedTargetHash === undefined)
475
+ return;
476
+ if (options.expectedTargetHash === null) {
477
+ try {
478
+ await fs.lstat(options.target);
479
+ }
480
+ catch (error) {
481
+ if (error.code === 'ENOENT')
482
+ return;
483
+ throw error;
484
+ }
485
+ throw new Error(`${options.label} target changed before commit`);
486
+ }
487
+ const target = await readNativeProtectedFile({
488
+ root: options.targetRoot,
489
+ file: options.target,
490
+ maxBytes: options.maxBytes,
491
+ label: `${options.label} existing target`,
492
+ });
493
+ if (target.hash !== options.expectedTargetHash) {
494
+ throw new Error(`${options.label} target changed before commit`);
495
+ }
496
+ },
497
+ });
498
+ const persisted = await readNativeProtectedFile({
499
+ root: options.targetRoot,
500
+ file: options.target,
501
+ maxBytes: options.maxBytes,
502
+ label: `${options.label} target`,
503
+ });
504
+ if (persisted.hash !== source.hash || persisted.size !== source.size) {
505
+ throw new Error(`${options.label} target could not be verified`);
506
+ }
507
+ return persisted;
508
+ }
509
+ //# sourceMappingURL=native-protected-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-protected-file.js","sourceRoot":"","sources":["../../../domains/comet-native/native-protected-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function redactNativeCredentialText(value: string): string;
2
+ //# sourceMappingURL=native-redaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-redaction.d.ts","sourceRoot":"","sources":["../../../domains/comet-native/native-redaction.ts"],"names":[],"mappings":"AAaA,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAShE"}
@@ -0,0 +1,18 @@
1
+ const AUTHORIZATION_PATTERN = /\b(Bearer|Basic)\s+[^\s"']+/giu;
2
+ const PRIVATE_KEY_PATTERN = /-----BEGIN(?: [A-Z0-9]+)? PRIVATE KEY-----[\s\S]*?-----END(?: [A-Z0-9]+)? PRIVATE KEY-----/gu;
3
+ const URI_CREDENTIAL_PATTERN = /(https?:\/\/)[^\s/@:]+:[^\s/@]+@/giu;
4
+ const KNOWN_TOKEN_PATTERN = /\b(?:sk-(?:proj-)?[A-Za-z0-9_-]{16,}|gh[pousr]_[A-Za-z0-9_]{16,}|github_pat_[A-Za-z0-9_]{16,}|AKIA[A-Z0-9]{16}|AIza[A-Za-z0-9_-]{20,})\b/gu;
5
+ const JSON_CREDENTIAL_PATTERN = /("(?:[a-z0-9]+[_-])*(?:api[_-]?key|access[_-]?token|auth[_-]?token|client[_-]?secret|secret(?:[_-]?access)?[_-]?key|private[_-]?key|token|password|passwd|secret|authorization|cookie|set[_-]?cookie)"\s*:\s*)"(?:\\[\s\S]|[^"\\\r\n])*"/giu;
6
+ const QUOTED_CREDENTIAL_PATTERN = /(["'])((?:[a-z0-9]+[_-])*(?:api[_-]?key|access[_-]?token|auth[_-]?token|client[_-]?secret|secret(?:[_-]?access)?[_-]?key|private[_-]?key|token|password|passwd|secret|authorization|cookie|set[_-]?cookie))\1(\s*:\s*)(["'])[^\r\n]*?\4/giu;
7
+ const CREDENTIAL_ASSIGNMENT_PATTERN = /\b((?:[a-z0-9]+[_-])*(?:api[_-]?key|access[_-]?token|auth[_-]?token|client[_-]?secret|secret(?:[_-]?access)?[_-]?key|private[_-]?key|token|password|passwd|secret|authorization|cookie|set[_-]?cookie))\b(\s*[:=]\s*)(?:"[^"]*"|'[^']*'|[^\s,;"']+)/giu;
8
+ export function redactNativeCredentialText(value) {
9
+ return value
10
+ .replace(AUTHORIZATION_PATTERN, '$1 [REDACTED]')
11
+ .replace(PRIVATE_KEY_PATTERN, '[REDACTED PRIVATE KEY]')
12
+ .replace(URI_CREDENTIAL_PATTERN, '$1[REDACTED]@')
13
+ .replace(KNOWN_TOKEN_PATTERN, '[REDACTED TOKEN]')
14
+ .replace(JSON_CREDENTIAL_PATTERN, '$1"[REDACTED]"')
15
+ .replace(QUOTED_CREDENTIAL_PATTERN, '$1$2$1$3$4[REDACTED]$4')
16
+ .replace(CREDENTIAL_ASSIGNMENT_PATTERN, '$1$2[REDACTED]');
17
+ }
18
+ //# sourceMappingURL=native-redaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-redaction.js","sourceRoot":"","sources":["../../../domains/comet-native/native-redaction.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAqB,GAAG,gCAAgC,CAAC;AAC/D,MAAM,mBAAmB,GACvB,8FAA8F,CAAC;AACjG,MAAM,sBAAsB,GAAG,qCAAqC,CAAC;AACrE,MAAM,mBAAmB,GACvB,4IAA4I,CAAC;AAC/I,MAAM,uBAAuB,GAC3B,6OAA6O,CAAC;AAChP,MAAM,yBAAyB,GAC7B,4OAA4O,CAAC;AAC/O,MAAM,6BAA6B,GACjC,wPAAwP,CAAC;AAE3P,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,OAAO,KAAK;SACT,OAAO,CAAC,qBAAqB,EAAE,eAAe,CAAC;SAC/C,OAAO,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;SACtD,OAAO,CAAC,sBAAsB,EAAE,eAAe,CAAC;SAChD,OAAO,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAChD,OAAO,CAAC,uBAAuB,EAAE,gBAAgB,CAAC;SAClD,OAAO,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;SAC5D,OAAO,CAAC,6BAA6B,EAAE,gBAAgB,CAAC,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { type NativeCommittedRepairTrajectory, type NativeRepairRuntimeResult, type NativeRepairTrajectoryProjection } from './native-repair-runtime.js';
2
+ import { type NativeRepairHistoryRecord } from './native-repair-stagnation.js';
3
+ import type { NativeChangeState, NativeProjectPaths, NativeRepairDecisionProjection, NativeRepairStatusProjection } from './native-types.js';
4
+ import type { NativeVerificationEvidenceEnvelope } from './native-verification-evidence.js';
5
+ import type { NativeImplementationScopeBundle } from './native-verification-scope.js';
6
+ export interface NativeRepairHistoryInspection {
7
+ committed: NativeCommittedRepairTrajectory;
8
+ latest: NativeRepairTrajectoryProjection | null;
9
+ history: NativeRepairHistoryRecord[];
10
+ }
11
+ export type NativeRepairBuildGuard = {
12
+ disposition: 'proceed';
13
+ eventProjection: NativeRepairTrajectoryProjection | null;
14
+ } | {
15
+ disposition: 'manual-stop' | 'hard-stop';
16
+ signatureHash: string;
17
+ overrideRecorded: boolean;
18
+ };
19
+ /** Read only the checkpoint-committed trajectory prefix used as repair history authority. */
20
+ export declare function readNativeCommittedRepairTrajectory(paths: NativeProjectPaths, state: NativeChangeState): Promise<NativeCommittedRepairTrajectory>;
21
+ export declare function inspectNativeRepairHistory(paths: NativeProjectPaths, state: NativeChangeState): Promise<NativeRepairHistoryInspection>;
22
+ export declare function inspectLatestNativeRepairDecision(paths: NativeProjectPaths, state: NativeChangeState): Promise<NativeRepairDecisionProjection | null>;
23
+ export declare function projectNativeRepairDecision(result: NativeRepairRuntimeResult): NativeRepairDecisionProjection;
24
+ export declare function inspectNativeRepairFailureForTransition(options: {
25
+ paths: NativeProjectPaths;
26
+ state: NativeChangeState;
27
+ envelope: NativeVerificationEvidenceEnvelope;
28
+ categories?: readonly string[];
29
+ failedCheckIds?: readonly string[];
30
+ }): Promise<NativeRepairRuntimeResult>;
31
+ /** Decide whether a stopped repair may leave Build, without trusting caller-supplied history. */
32
+ export declare function inspectNativeRepairBuildGuard(options: {
33
+ paths: NativeProjectPaths;
34
+ state: NativeChangeState;
35
+ currentImplementationScope: NativeImplementationScopeBundle;
36
+ override?: {
37
+ expectedSignatureHash: string;
38
+ summary: string;
39
+ };
40
+ }): Promise<NativeRepairBuildGuard>;
41
+ export declare function inspectNativeRepairStatus(paths: NativeProjectPaths, state: NativeChangeState): Promise<NativeRepairStatusProjection | null>;
42
+ //# sourceMappingURL=native-repair-integration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-repair-integration.d.ts","sourceRoot":"","sources":["../../../domains/comet-native/native-repair-integration.ts"],"names":[],"mappings":"AAKA,OAAO,EAML,KAAK,+BAA+B,EACpC,KAAK,yBAAyB,EAC9B,KAAK,gCAAgC,EACtC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,+BAA+B,CAAC;AAMvC,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,8BAA8B,EAC9B,4BAA4B,EAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,mCAAmC,CAAC;AAC5F,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAEtF,MAAM,WAAW,6BAA6B;IAC5C,SAAS,EAAE,+BAA+B,CAAC;IAC3C,MAAM,EAAE,gCAAgC,GAAG,IAAI,CAAC;IAChD,OAAO,EAAE,yBAAyB,EAAE,CAAC;CACtC;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,WAAW,EAAE,SAAS,CAAC;IAAC,eAAe,EAAE,gCAAgC,GAAG,IAAI,CAAA;CAAE,GACpF;IACE,WAAW,EAAE,aAAa,GAAG,WAAW,CAAC;IACzC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAaN,6FAA6F;AAC7F,wBAAsB,mCAAmC,CACvD,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,+BAA+B,CAAC,CAe1C;AAED,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,6BAA6B,CAAC,CAOxC;AAyCD,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,8BAA8B,GAAG,IAAI,CAAC,CAEhD;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,yBAAyB,GAChC,8BAA8B,CAUhC;AAED,wBAAsB,uCAAuC,CAAC,OAAO,EAAE;IACrE,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,kCAAkC,CAAC;IAC7C,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAmBrC;AAED,iGAAiG;AACjG,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,iBAAiB,CAAC;IACzB,0BAA0B,EAAE,+BAA+B,CAAC;IAC5D,QAAQ,CAAC,EAAE;QAAE,qBAAqB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkFlC;AAED,wBAAsB,yBAAyB,CAC7C,KAAK,EAAE,kBAAkB,EACzB,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,4BAA4B,GAAG,IAAI,CAAC,CAc9C"}