@b00dea/cockpit 0.0.0-stage → 0.1.1

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 (426) hide show
  1. package/CHANGELOG.md +474 -0
  2. package/LICENSE +21 -0
  3. package/README.md +25 -2
  4. package/bin/cockpit.mjs +33 -0
  5. package/cockpit.schema.json +2644 -0
  6. package/dist/autonomy.d.ts +45 -0
  7. package/dist/autonomy.js +173 -0
  8. package/dist/bounded-read.d.ts +14 -0
  9. package/dist/bounded-read.js +42 -0
  10. package/dist/browser/commands.d.ts +117 -0
  11. package/dist/browser/commands.js +453 -0
  12. package/dist/browser/package-paths.d.ts +1 -0
  13. package/dist/browser/package-paths.js +6 -0
  14. package/dist/browser/proxy.d.ts +22 -0
  15. package/dist/browser/proxy.js +37 -0
  16. package/dist/browser/runtime.d.ts +118 -0
  17. package/dist/browser/runtime.js +186 -0
  18. package/dist/browser/surfaces.d.ts +141 -0
  19. package/dist/browser/surfaces.js +561 -0
  20. package/dist/browser/ui-gate.d.ts +15 -0
  21. package/dist/browser/ui-gate.js +18 -0
  22. package/dist/canonical-json.d.ts +2 -0
  23. package/dist/canonical-json.js +5 -0
  24. package/dist/cli-guard.d.ts +5 -0
  25. package/dist/cli-guard.js +71 -0
  26. package/dist/cli-main.d.ts +176 -0
  27. package/dist/cli-main.js +1584 -0
  28. package/dist/cli.d.ts +3 -0
  29. package/dist/cli.js +16 -0
  30. package/dist/command-table.d.ts +121 -0
  31. package/dist/command-table.js +664 -0
  32. package/dist/config/load.d.ts +183 -0
  33. package/dist/config/load.js +367 -0
  34. package/dist/config/sibling-toml.d.ts +48 -0
  35. package/dist/config/sibling-toml.js +160 -0
  36. package/dist/config/surface-tools-toml.d.ts +9 -0
  37. package/dist/config/surface-tools-toml.js +37 -0
  38. package/dist/config/unconfirmed-toml.d.ts +9 -0
  39. package/dist/config/unconfirmed-toml.js +29 -0
  40. package/dist/config/verified-write.d.ts +43 -0
  41. package/dist/config/verified-write.js +89 -0
  42. package/dist/diagnostics.d.ts +26 -0
  43. package/dist/diagnostics.js +344 -0
  44. package/dist/docs/check.d.ts +16 -0
  45. package/dist/docs/check.js +197 -0
  46. package/dist/docs/decision-record.d.ts +34 -0
  47. package/dist/docs/decision-record.js +135 -0
  48. package/dist/docs/decisions.d.ts +16 -0
  49. package/dist/docs/decisions.js +103 -0
  50. package/dist/docs/markdown.d.ts +36 -0
  51. package/dist/docs/markdown.js +88 -0
  52. package/dist/docs/references.d.ts +32 -0
  53. package/dist/docs/references.js +148 -0
  54. package/dist/emit.d.ts +22 -0
  55. package/dist/emit.js +43 -0
  56. package/dist/entrypoint-kinds.d.ts +3 -0
  57. package/dist/entrypoint-kinds.js +11 -0
  58. package/dist/environment/application/confirm.d.ts +35 -0
  59. package/dist/environment/application/confirm.js +122 -0
  60. package/dist/environment/application/destructive.d.ts +6 -0
  61. package/dist/environment/application/destructive.js +429 -0
  62. package/dist/environment/application/doctor.d.ts +94 -0
  63. package/dist/environment/application/doctor.js +247 -0
  64. package/dist/environment/application/guard.d.ts +49 -0
  65. package/dist/environment/application/guard.js +677 -0
  66. package/dist/environment/application/health.d.ts +143 -0
  67. package/dist/environment/application/health.js +385 -0
  68. package/dist/environment/application/lifecycle-context.d.ts +235 -0
  69. package/dist/environment/application/lifecycle-context.js +154 -0
  70. package/dist/environment/application/lifecycle-state.d.ts +25 -0
  71. package/dist/environment/application/lifecycle-state.js +202 -0
  72. package/dist/environment/application/lifecycle.d.ts +18 -0
  73. package/dist/environment/application/lifecycle.js +737 -0
  74. package/dist/environment/application/logs.d.ts +45 -0
  75. package/dist/environment/application/logs.js +127 -0
  76. package/dist/environment/application/services.d.ts +60 -0
  77. package/dist/environment/application/services.js +89 -0
  78. package/dist/environment/application/setup.d.ts +129 -0
  79. package/dist/environment/application/setup.js +741 -0
  80. package/dist/environment/application/shared.d.ts +11 -0
  81. package/dist/environment/application/shared.js +61 -0
  82. package/dist/environment/application/siblings.d.ts +43 -0
  83. package/dist/environment/application/siblings.js +269 -0
  84. package/dist/environment/claims.d.ts +389 -0
  85. package/dist/environment/claims.js +1701 -0
  86. package/dist/environment/codex-hook-trust.d.ts +11 -0
  87. package/dist/environment/codex-hook-trust.js +185 -0
  88. package/dist/environment/compose-environment.d.ts +1 -0
  89. package/dist/environment/compose-environment.js +6 -0
  90. package/dist/environment/compose-ownership.d.ts +21 -0
  91. package/dist/environment/compose-ownership.js +117 -0
  92. package/dist/environment/compose-topology.d.ts +125 -0
  93. package/dist/environment/compose-topology.js +490 -0
  94. package/dist/environment/contract.d.ts +522 -0
  95. package/dist/environment/contract.js +794 -0
  96. package/dist/environment/declaration.d.ts +14 -0
  97. package/dist/environment/declaration.js +39 -0
  98. package/dist/environment/destructive-composition.d.ts +29 -0
  99. package/dist/environment/destructive-composition.js +333 -0
  100. package/dist/environment/docker-daemon.d.ts +30 -0
  101. package/dist/environment/docker-daemon.js +78 -0
  102. package/dist/environment/docker-endpoint.d.ts +10 -0
  103. package/dist/environment/docker-endpoint.js +19 -0
  104. package/dist/environment/env-schema-observation.d.ts +46 -0
  105. package/dist/environment/env-schema-observation.js +241 -0
  106. package/dist/environment/evidence.d.ts +136 -0
  107. package/dist/environment/evidence.js +437 -0
  108. package/dist/environment/executable.d.ts +38 -0
  109. package/dist/environment/executable.js +190 -0
  110. package/dist/environment/generated-application/authorities.d.ts +5 -0
  111. package/dist/environment/generated-application/authorities.js +61 -0
  112. package/dist/environment/generated-application/bootstrap-skill.d.ts +16 -0
  113. package/dist/environment/generated-application/bootstrap-skill.js +328 -0
  114. package/dist/environment/generated-application/check.d.ts +13 -0
  115. package/dist/environment/generated-application/check.js +191 -0
  116. package/dist/environment/generated-application/custom-surface.d.ts +26 -0
  117. package/dist/environment/generated-application/custom-surface.js +289 -0
  118. package/dist/environment/generated-application/prepare.d.ts +29 -0
  119. package/dist/environment/generated-application/prepare.js +278 -0
  120. package/dist/environment/generated-application/publication.d.ts +33 -0
  121. package/dist/environment/generated-application/publication.js +547 -0
  122. package/dist/environment/generated-application/shared.d.ts +492 -0
  123. package/dist/environment/generated-application/shared.js +354 -0
  124. package/dist/environment/generated-application/surface-observation.d.ts +4 -0
  125. package/dist/environment/generated-application/surface-observation.js +69 -0
  126. package/dist/environment/generated-application/surface-outputs.d.ts +71 -0
  127. package/dist/environment/generated-application/surface-outputs.js +400 -0
  128. package/dist/environment/generated-application/surfaces.d.ts +3 -0
  129. package/dist/environment/generated-application/surfaces.js +704 -0
  130. package/dist/environment/generated-application/sync.d.ts +6 -0
  131. package/dist/environment/generated-application/sync.js +124 -0
  132. package/dist/environment/git-observation.d.ts +202 -0
  133. package/dist/environment/git-observation.js +553 -0
  134. package/dist/environment/health-composition.d.ts +12 -0
  135. package/dist/environment/health-composition.js +645 -0
  136. package/dist/environment/host-observation.d.ts +56 -0
  137. package/dist/environment/host-observation.js +52 -0
  138. package/dist/environment/identity.d.ts +48 -0
  139. package/dist/environment/identity.js +85 -0
  140. package/dist/environment/init-application.d.ts +333 -0
  141. package/dist/environment/init-application.js +726 -0
  142. package/dist/environment/install-policy-observation.d.ts +71 -0
  143. package/dist/environment/install-policy-observation.js +284 -0
  144. package/dist/environment/install-policy.d.ts +48 -0
  145. package/dist/environment/install-policy.js +96 -0
  146. package/dist/environment/instance.d.ts +33 -0
  147. package/dist/environment/instance.js +122 -0
  148. package/dist/environment/instruction-pointer.d.ts +19 -0
  149. package/dist/environment/instruction-pointer.js +144 -0
  150. package/dist/environment/lifecycle-composition.d.ts +31 -0
  151. package/dist/environment/lifecycle-composition.js +742 -0
  152. package/dist/environment/lifecycle-stage.d.ts +120 -0
  153. package/dist/environment/lifecycle-stage.js +408 -0
  154. package/dist/environment/lifecycle.d.ts +75 -0
  155. package/dist/environment/lifecycle.js +354 -0
  156. package/dist/environment/logs.d.ts +132 -0
  157. package/dist/environment/logs.js +519 -0
  158. package/dist/environment/map-limit.d.ts +2 -0
  159. package/dist/environment/map-limit.js +13 -0
  160. package/dist/environment/mcp-observation.d.ts +9 -0
  161. package/dist/environment/mcp-observation.js +46 -0
  162. package/dist/environment/observations.d.ts +46 -0
  163. package/dist/environment/observations.js +346 -0
  164. package/dist/environment/operator-application.d.ts +79 -0
  165. package/dist/environment/operator-application.js +197 -0
  166. package/dist/environment/ports.d.ts +182 -0
  167. package/dist/environment/ports.js +1205 -0
  168. package/dist/environment/posture-observation.d.ts +68 -0
  169. package/dist/environment/posture-observation.js +253 -0
  170. package/dist/environment/presence.d.ts +4 -0
  171. package/dist/environment/presence.js +26 -0
  172. package/dist/environment/read-composition.d.ts +32 -0
  173. package/dist/environment/read-composition.js +397 -0
  174. package/dist/environment/readiness-composition.d.ts +57 -0
  175. package/dist/environment/readiness-composition.js +151 -0
  176. package/dist/environment/reclaim.d.ts +370 -0
  177. package/dist/environment/reclaim.js +1940 -0
  178. package/dist/environment/repository-identity.d.ts +13 -0
  179. package/dist/environment/repository-identity.js +108 -0
  180. package/dist/environment/runtime-measurement-record.d.ts +38 -0
  181. package/dist/environment/runtime-measurement-record.js +111 -0
  182. package/dist/environment/runtime-measurement.d.ts +27 -0
  183. package/dist/environment/runtime-measurement.js +224 -0
  184. package/dist/environment/runtime-probe-residue.d.ts +43 -0
  185. package/dist/environment/runtime-probe-residue.js +148 -0
  186. package/dist/environment/runtime-probe.d.ts +72 -0
  187. package/dist/environment/runtime-probe.js +725 -0
  188. package/dist/environment/runtime.d.ts +551 -0
  189. package/dist/environment/runtime.js +2405 -0
  190. package/dist/environment/seed.d.ts +16 -0
  191. package/dist/environment/seed.js +43 -0
  192. package/dist/environment/selftest-application.d.ts +86 -0
  193. package/dist/environment/selftest-application.js +713 -0
  194. package/dist/environment/sensitive.d.ts +3 -0
  195. package/dist/environment/sensitive.js +48 -0
  196. package/dist/environment/served-checkout-grants.d.ts +53 -0
  197. package/dist/environment/served-checkout-grants.js +182 -0
  198. package/dist/environment/setup-observation.d.ts +62 -0
  199. package/dist/environment/setup-observation.js +1473 -0
  200. package/dist/environment/setup.d.ts +43 -0
  201. package/dist/environment/setup.js +176 -0
  202. package/dist/environment/sibling-checkouts.d.ts +119 -0
  203. package/dist/environment/sibling-checkouts.js +254 -0
  204. package/dist/environment/sibling-instructions.d.ts +33 -0
  205. package/dist/environment/sibling-instructions.js +224 -0
  206. package/dist/environment/sibling-observation.d.ts +27 -0
  207. package/dist/environment/sibling-observation.js +45 -0
  208. package/dist/environment/sibling-pull.d.ts +23 -0
  209. package/dist/environment/sibling-pull.js +95 -0
  210. package/dist/environment/sibling-registration.d.ts +45 -0
  211. package/dist/environment/sibling-registration.js +538 -0
  212. package/dist/environment/stack-inputs.d.ts +18 -0
  213. package/dist/environment/stack-inputs.js +210 -0
  214. package/dist/environment/stack-inventory-prune.d.ts +31 -0
  215. package/dist/environment/stack-inventory-prune.js +129 -0
  216. package/dist/environment/stack-inventory-report.d.ts +44 -0
  217. package/dist/environment/stack-inventory-report.js +78 -0
  218. package/dist/environment/stack-inventory.d.ts +94 -0
  219. package/dist/environment/stack-inventory.js +418 -0
  220. package/dist/environment/state.d.ts +410 -0
  221. package/dist/environment/state.js +2153 -0
  222. package/dist/environment/templates.d.ts +140 -0
  223. package/dist/environment/templates.js +685 -0
  224. package/dist/environment/tool-registration.d.ts +9 -0
  225. package/dist/environment/tool-registration.js +92 -0
  226. package/dist/environment/upgrade-application.d.ts +19 -0
  227. package/dist/environment/upgrade-application.js +175 -0
  228. package/dist/environment-exec/execute.d.ts +105 -0
  229. package/dist/environment-exec/execute.js +1179 -0
  230. package/dist/environment-exec/libexec-program.d.ts +6 -0
  231. package/dist/environment-exec/libexec-program.js +22 -0
  232. package/dist/environment-exec/verified-digest.d.ts +4 -0
  233. package/dist/environment-exec/verified-digest.js +16 -0
  234. package/dist/exact-keys.d.ts +7 -0
  235. package/dist/exact-keys.js +15 -0
  236. package/dist/fix-catalogue.d.ts +32 -0
  237. package/dist/fix-catalogue.js +60 -0
  238. package/dist/freshness.d.ts +29 -0
  239. package/dist/freshness.js +75 -0
  240. package/dist/generated-environment/adopt.d.ts +16 -0
  241. package/dist/generated-environment/adopt.js +271 -0
  242. package/dist/generated-environment/command.d.ts +47 -0
  243. package/dist/generated-environment/command.js +75 -0
  244. package/dist/generated-environment/transaction.d.ts +186 -0
  245. package/dist/generated-environment/transaction.js +1770 -0
  246. package/dist/grading/evaluate.d.ts +71 -0
  247. package/dist/grading/evaluate.js +403 -0
  248. package/dist/grading/grade.d.ts +33 -0
  249. package/dist/grading/grade.js +57 -0
  250. package/dist/guards/answer-confirmation.d.ts +41 -0
  251. package/dist/guards/answer-confirmation.js +109 -0
  252. package/dist/guards/evaluator.d.ts +130 -0
  253. package/dist/guards/evaluator.js +1258 -0
  254. package/dist/guards/harness-adapter.d.ts +17 -0
  255. package/dist/guards/harness-adapter.js +57 -0
  256. package/dist/guards/host.d.ts +8 -0
  257. package/dist/guards/host.js +10 -0
  258. package/dist/guards/invocation-parser.d.ts +66 -0
  259. package/dist/guards/invocation-parser.js +595 -0
  260. package/dist/guards/local-identity.d.ts +44 -0
  261. package/dist/guards/local-identity.js +129 -0
  262. package/dist/guards/policy-change.d.ts +43 -0
  263. package/dist/guards/policy-change.js +159 -0
  264. package/dist/guards/policy-pin.d.ts +13 -0
  265. package/dist/guards/policy-pin.js +177 -0
  266. package/dist/guards/protected-locations.d.ts +62 -0
  267. package/dist/guards/protected-locations.js +461 -0
  268. package/dist/guards/read-only.d.ts +37 -0
  269. package/dist/guards/read-only.js +315 -0
  270. package/dist/init/command.d.ts +41 -0
  271. package/dist/init/command.js +330 -0
  272. package/dist/init/derive.d.ts +53 -0
  273. package/dist/init/derive.js +819 -0
  274. package/dist/init/draft.d.ts +140 -0
  275. package/dist/init/draft.js +1228 -0
  276. package/dist/init/render.d.ts +47 -0
  277. package/dist/init/render.js +104 -0
  278. package/dist/init/scaffold.d.ts +53 -0
  279. package/dist/init/scaffold.js +121 -0
  280. package/dist/invocation.d.ts +13 -0
  281. package/dist/invocation.js +20 -0
  282. package/dist/package-metadata.d.ts +9 -0
  283. package/dist/package-metadata.js +19 -0
  284. package/dist/readiness.d.ts +53 -0
  285. package/dist/readiness.js +88 -0
  286. package/dist/references/named.d.ts +24 -0
  287. package/dist/references/named.js +27 -0
  288. package/dist/refusal.d.ts +15 -0
  289. package/dist/refusal.js +7 -0
  290. package/dist/registry-derivation.d.ts +31 -0
  291. package/dist/registry-derivation.js +32 -0
  292. package/dist/registry-resolve/command.d.ts +47 -0
  293. package/dist/registry-resolve/command.js +226 -0
  294. package/dist/registry-resolve/registry.d.ts +68 -0
  295. package/dist/registry-resolve/registry.js +292 -0
  296. package/dist/registry-resolve/render-shell.d.ts +18 -0
  297. package/dist/registry-resolve/render-shell.js +36 -0
  298. package/dist/repair.d.ts +29 -0
  299. package/dist/repair.js +8 -0
  300. package/dist/repository-path.d.ts +9 -0
  301. package/dist/repository-path.js +16 -0
  302. package/dist/schema-json.d.ts +1 -0
  303. package/dist/schema-json.js +177 -0
  304. package/dist/schema.d.ts +1289 -0
  305. package/dist/schema.js +985 -0
  306. package/dist/setup/command.d.ts +4 -0
  307. package/dist/setup/command.js +4 -0
  308. package/dist/sha256.d.ts +1 -0
  309. package/dist/sha256.js +4 -0
  310. package/dist/surfaces/adoption.d.ts +41 -0
  311. package/dist/surfaces/adoption.js +217 -0
  312. package/dist/surfaces/consumer-instructions.d.ts +20 -0
  313. package/dist/surfaces/consumer-instructions.js +43 -0
  314. package/dist/surfaces/contract.d.ts +42 -0
  315. package/dist/surfaces/contract.js +169 -0
  316. package/dist/surfaces/core-declarations.d.ts +24 -0
  317. package/dist/surfaces/core-declarations.js +79 -0
  318. package/dist/surfaces/development-markers.d.ts +1 -0
  319. package/dist/surfaces/development-markers.js +18 -0
  320. package/dist/surfaces/generator-adapter.d.ts +71 -0
  321. package/dist/surfaces/generator-adapter.js +809 -0
  322. package/dist/surfaces/harness-registry.d.ts +260 -0
  323. package/dist/surfaces/harness-registry.js +146 -0
  324. package/dist/surfaces/mcp.d.ts +145 -0
  325. package/dist/surfaces/mcp.js +349 -0
  326. package/dist/surfaces/merge.d.ts +30 -0
  327. package/dist/surfaces/merge.js +105 -0
  328. package/dist/surfaces/ownership.d.ts +190 -0
  329. package/dist/surfaces/ownership.js +795 -0
  330. package/dist/surfaces/projection.d.ts +136 -0
  331. package/dist/surfaces/projection.js +716 -0
  332. package/dist/surfaces/render.d.ts +79 -0
  333. package/dist/surfaces/render.js +636 -0
  334. package/dist/surfaces/restrictions.d.ts +130 -0
  335. package/dist/surfaces/restrictions.js +447 -0
  336. package/dist/surfaces/selftest.d.ts +162 -0
  337. package/dist/surfaces/selftest.js +393 -0
  338. package/dist/surfaces/skill-contract.d.ts +85 -0
  339. package/dist/surfaces/skill-contract.js +449 -0
  340. package/dist/surfaces/sync.d.ts +57 -0
  341. package/dist/surfaces/sync.js +164 -0
  342. package/dist/team-metadata.d.ts +41 -0
  343. package/dist/team-metadata.js +513 -0
  344. package/dist/testing/gates.d.ts +91 -0
  345. package/dist/testing/gates.js +182 -0
  346. package/dist/testing/hooks.d.ts +59 -0
  347. package/dist/testing/hooks.js +139 -0
  348. package/dist/testing/test-protection.d.ts +34 -0
  349. package/dist/testing/test-protection.js +137 -0
  350. package/dist/testing/verdict.d.ts +29 -0
  351. package/dist/testing/verdict.js +62 -0
  352. package/dist/testing/weakening.d.ts +15 -0
  353. package/dist/testing/weakening.js +30 -0
  354. package/dist/work-orders/application-closure.d.ts +7 -0
  355. package/dist/work-orders/application-closure.js +76 -0
  356. package/dist/work-orders/application-context.d.ts +162 -0
  357. package/dist/work-orders/application-context.js +137 -0
  358. package/dist/work-orders/application-decisions.d.ts +27 -0
  359. package/dist/work-orders/application-decisions.js +121 -0
  360. package/dist/work-orders/application-grading.d.ts +11 -0
  361. package/dist/work-orders/application-grading.js +212 -0
  362. package/dist/work-orders/application.d.ts +6 -0
  363. package/dist/work-orders/application.js +223 -0
  364. package/dist/work-orders/composition.d.ts +101 -0
  365. package/dist/work-orders/composition.js +1202 -0
  366. package/dist/work-orders/contract.d.ts +77 -0
  367. package/dist/work-orders/contract.js +140 -0
  368. package/dist/work-orders/decisions.d.ts +23 -0
  369. package/dist/work-orders/decisions.js +55 -0
  370. package/dist/work-orders/store.d.ts +207 -0
  371. package/dist/work-orders/store.js +291 -0
  372. package/docs/README.md +68 -0
  373. package/docs/architecture.md +136 -0
  374. package/docs/capability-matrix.md +58 -0
  375. package/docs/cli-reference.md +807 -0
  376. package/docs/command-list.md +62 -0
  377. package/docs/compose-patterns.md +99 -0
  378. package/docs/concepts.md +173 -0
  379. package/docs/configuration-essentials.md +177 -0
  380. package/docs/configuration-reference.md +636 -0
  381. package/docs/docs-check.md +76 -0
  382. package/docs/environment.md +948 -0
  383. package/docs/extending.md +43 -0
  384. package/docs/faq.md +113 -0
  385. package/docs/getting-started.md +692 -0
  386. package/docs/harness-surfaces.md +500 -0
  387. package/docs/joining-a-team.md +76 -0
  388. package/docs/release-policy.md +49 -0
  389. package/docs/safety-and-autonomy.md +463 -0
  390. package/docs/troubleshooting.md +382 -0
  391. package/docs/tutorial.md +171 -0
  392. package/docs/work-and-browser.md +420 -0
  393. package/libexec/browser-operation.cjs +270 -0
  394. package/libexec/fence-marker.cjs +101 -0
  395. package/libexec/fence-marker.d.cts +24 -0
  396. package/libexec/fenced-group-runner.cjs +77 -0
  397. package/libexec/fenced-supervisor.cjs +137 -0
  398. package/libexec/generated-filesystem.cjs +731 -0
  399. package/libexec/install-filesystem.cjs +225 -0
  400. package/libexec/rulesync-generator.NOTICE.md +1112 -0
  401. package/libexec/rulesync-generator.cjs +743 -0
  402. package/libexec/surface-generator-worker.cjs +266 -0
  403. package/libexec/surface-output-reader.cjs +99 -0
  404. package/libexec/surface-scratch-cleanup.cjs +14 -0
  405. package/libexec/validate-harness-evidence.d.mts +183 -0
  406. package/libexec/validate-harness-evidence.mjs +1312 -0
  407. package/package.json +74 -4
  408. package/surfaces/README.md +33 -0
  409. package/surfaces/agents/evaluator.agent.md +76 -0
  410. package/surfaces/guards/bash-guard.sh +48 -0
  411. package/surfaces/guards/claude.adapter.json +25 -0
  412. package/surfaces/guards/codex.adapter.json +24 -0
  413. package/surfaces/guards/opencode.adapter.json +25 -0
  414. package/surfaces/references/browser.md +63 -0
  415. package/surfaces/references/test-data-and-personas.md +84 -0
  416. package/surfaces/references/testing-tiers.md +11 -0
  417. package/surfaces/skills/cockpit-browser.skill.md +59 -0
  418. package/surfaces/skills/cockpit-explain.skill.md +32 -0
  419. package/surfaces/skills/cockpit-fix.skill.md +37 -0
  420. package/surfaces/skills/cockpit-setup.skill.md +39 -0
  421. package/surfaces/skills/cockpit-work.skill.md +34 -0
  422. package/surfaces/skills/collection.json +5 -0
  423. package/surfaces/skills/procedures/explain.md +66 -0
  424. package/surfaces/skills/procedures/fix.md +95 -0
  425. package/surfaces/skills/procedures/setup.md +452 -0
  426. package/surfaces/skills/procedures/work.md +134 -0
@@ -0,0 +1,522 @@
1
+ import { type EntrypointKind } from '../entrypoint-kinds.js';
2
+ export interface Diagnostic<Code extends string = string> {
3
+ severity: 'error' | 'warning' | 'info';
4
+ code: Code;
5
+ message: string;
6
+ target?: string;
7
+ fix?: string;
8
+ }
9
+ export type JsonSnapshot = null | boolean | number | string | JsonSnapshotArray | JsonSnapshotObject;
10
+ interface JsonSnapshotArray extends ReadonlyArray<JsonSnapshot> {
11
+ }
12
+ export interface JsonSnapshotObject {
13
+ readonly [key: string]: JsonSnapshot;
14
+ }
15
+ export declare function snapshotJson(value: unknown): JsonSnapshot | undefined;
16
+ export declare function snapshotGeneratedJson(value: unknown): JsonSnapshot | undefined;
17
+ declare const identityBrand: unique symbol;
18
+ type BrandedIdentity<Name extends string> = string & {
19
+ readonly [identityBrand]: Name;
20
+ };
21
+ export type CockpitId = BrandedIdentity<'CockpitId'>;
22
+ export type CheckoutId = BrandedIdentity<'CheckoutId'>;
23
+ export type StackId = BrandedIdentity<'StackId'>;
24
+ export type HolderId = BrandedIdentity<'HolderId'>;
25
+ declare const OBSERVATION_LIFECYCLE_STAGES: readonly ['bootstrap', 'steady'];
26
+ declare const SETUP_ACTION_KINDS: readonly ['clone', 'wire-remote', 'report'];
27
+ export declare const INHERITED_TOOL_ENVIRONMENT: readonly ["HOME", "USER", "LOGNAME", "TMPDIR", "LANG", "LC_ALL", "LC_CTYPE", "TZ"];
28
+ export declare const DOCKER_CLIENT_ENVIRONMENT: ReadonlySet<string>;
29
+ export declare const HOST_PROCESS_CONTROL_ENV: RegExp;
30
+ export declare const OBSERVATION_PRODUCER_BYTE_LIMIT = 256;
31
+ export declare const OBSERVATION_REASON_BYTE_LIMIT = 1024;
32
+ export declare const ENVIRONMENT_CODES: Readonly<{
33
+ readonly CONFIG_NOT_FOUND: 'CONFIG_NOT_FOUND';
34
+ readonly CONFIG_UNREADABLE: 'CONFIG_UNREADABLE';
35
+ readonly CONFIG_ENCODING_INVALID: 'CONFIG_ENCODING_INVALID';
36
+ readonly CONFIG_PARSE_INVALID: 'CONFIG_PARSE_INVALID';
37
+ readonly CONFIG_SCHEMA_INVALID: 'CONFIG_SCHEMA_INVALID';
38
+ readonly GENERATED_HOST_PATH_UNMOUNTED: 'GENERATED_HOST_PATH_UNMOUNTED';
39
+ readonly STATE_ROOT_UNAVAILABLE: 'STATE_ROOT_UNAVAILABLE';
40
+ readonly STATE_FORMAT_UNSUPPORTED: 'STATE_FORMAT_UNSUPPORTED';
41
+ readonly STATE_RECORD_MALFORMED: 'STATE_RECORD_MALFORMED';
42
+ readonly STATE_LOCKED: 'STATE_LOCKED';
43
+ readonly STATE_DURABILITY_INDETERMINATE: 'STATE_DURABILITY_INDETERMINATE';
44
+ readonly SETUP_CONFIG_REQUIRED: 'SETUP_CONFIG_REQUIRED';
45
+ readonly SETUP_OPTION_DUPLICATE: 'SETUP_OPTION_DUPLICATE';
46
+ readonly SETUP_POSITIONAL_UNSUPPORTED: 'SETUP_POSITIONAL_UNSUPPORTED';
47
+ readonly SETUP_PATH_OUTSIDE_ROOT: 'SETUP_PATH_OUTSIDE_ROOT';
48
+ readonly SETUP_PATH_SYMLINK: 'SETUP_PATH_SYMLINK';
49
+ readonly SETUP_PATH_TYPE_INVALID: 'SETUP_PATH_TYPE_INVALID';
50
+ readonly SETUP_PARENT_MISSING: 'SETUP_PARENT_MISSING';
51
+ readonly SETUP_REMOTE_MISMATCH: 'SETUP_REMOTE_MISMATCH';
52
+ readonly SETUP_REMOTE_UNRESOLVABLE: 'SETUP_REMOTE_UNRESOLVABLE';
53
+ readonly SETUP_MANUAL_MISSING: 'SETUP_MANUAL_MISSING';
54
+ readonly SETUP_CLONE_FAILED: 'SETUP_CLONE_FAILED';
55
+ readonly SETUP_NONE_ABSENT: 'SETUP_NONE_ABSENT';
56
+ readonly SETUP_NONE_DIRECTORY: 'SETUP_NONE_DIRECTORY';
57
+ readonly SETUP_NONE_REPOSITORY: 'SETUP_NONE_REPOSITORY';
58
+ readonly SETUP_POSTCHECK_FAILED: 'SETUP_POSTCHECK_FAILED';
59
+ readonly SETUP_INSTRUCTION_POINTER_OFFERED: 'SETUP_INSTRUCTION_POINTER_OFFERED';
60
+ readonly SETUP_INSTRUCTION_POINTER_INVALID: 'SETUP_INSTRUCTION_POINTER_INVALID';
61
+ readonly SETUP_INSTRUCTION_FILES_OFFERED: 'SETUP_INSTRUCTION_FILES_OFFERED';
62
+ readonly SETUP_INSTRUCTION_FILES_INVALID: 'SETUP_INSTRUCTION_FILES_INVALID';
63
+ readonly CONFIG_CHANGED_DURING_EXECUTION: 'CONFIG_CHANGED_DURING_EXECUTION';
64
+ readonly EXECUTION_SPAWN_FAILED: 'EXECUTION_SPAWN_FAILED';
65
+ readonly EXECUTION_PRECONDITION_CHANGED: 'EXECUTION_PRECONDITION_CHANGED';
66
+ readonly EXECUTION_STAGING_FAILED: 'EXECUTION_STAGING_FAILED';
67
+ readonly EXECUTION_STAGING_CLEANUP_FAILED: 'EXECUTION_STAGING_CLEANUP_FAILED';
68
+ readonly EXECUTION_TIMEOUT: 'EXECUTION_TIMEOUT';
69
+ readonly EXECUTION_STDOUT_LIMIT: 'EXECUTION_STDOUT_LIMIT';
70
+ readonly EXECUTION_STDERR_LIMIT: 'EXECUTION_STDERR_LIMIT';
71
+ readonly EXECUTION_STEP_FAILED: 'EXECUTION_STEP_FAILED';
72
+ readonly EXECUTION_ABORTED: 'EXECUTION_ABORTED';
73
+ readonly EXECUTION_TERMINATION_UNCONFIRMED: 'EXECUTION_TERMINATION_UNCONFIRMED';
74
+ readonly EXECUTION_COMPENSATION_TIMEOUT: 'EXECUTION_COMPENSATION_TIMEOUT';
75
+ readonly EXECUTION_COMPENSATION_STEP_FAILED: 'EXECUTION_COMPENSATION_STEP_FAILED';
76
+ readonly LIFECYCLE_EVIDENCE_INVALID: 'LIFECYCLE_EVIDENCE_INVALID';
77
+ readonly LIFECYCLE_PROGRESS_INVALID: 'LIFECYCLE_PROGRESS_INVALID';
78
+ readonly STACK_RECORDED_UNDER_EARLIER_NAME: 'STACK_RECORDED_UNDER_EARLIER_NAME';
79
+ readonly PORT_FAMILY_COLLISION: 'PORT_FAMILY_COLLISION';
80
+ readonly PORT_LISTENER_EVIDENCE_INVALID: 'PORT_LISTENER_EVIDENCE_INVALID';
81
+ readonly PORT_FAMILY_OUT_OF_RANGE: 'PORT_FAMILY_OUT_OF_RANGE';
82
+ readonly PORT_LEASE_EXHAUSTED: 'PORT_LEASE_EXHAUSTED';
83
+ readonly PORT_LOCAL_VALUE_CORRECTED: 'PORT_LOCAL_VALUE_CORRECTED';
84
+ readonly PORT_EXTERNAL_REGISTRATION_GAP: 'PORT_EXTERNAL_REGISTRATION_GAP';
85
+ readonly CLAIM_CO_TENANT: 'CLAIM_CO_TENANT';
86
+ readonly CLAIM_LIVENESS_UNKNOWN: 'CLAIM_LIVENESS_UNKNOWN';
87
+ readonly DRAIN_ATTEMPT_REPAIR_REQUIRED: 'DRAIN_ATTEMPT_REPAIR_REQUIRED';
88
+ readonly INSTALL_POLICY_OBSERVATION_UNAVAILABLE: 'INSTALL_POLICY_OBSERVATION_UNAVAILABLE';
89
+ readonly INSTALL_POLICY_OBSERVATION_INVALID: 'INSTALL_POLICY_OBSERVATION_INVALID';
90
+ readonly INSTALL_POLICY_MISSING: 'INSTALL_POLICY_MISSING';
91
+ readonly INSTALL_POLICY_AMBIGUOUS: 'INSTALL_POLICY_AMBIGUOUS';
92
+ readonly TEMPLATE_NOT_FOUND: 'TEMPLATE_NOT_FOUND';
93
+ readonly TEMPLATE_NOT_TRACKED: 'TEMPLATE_NOT_TRACKED';
94
+ readonly TEMPLATE_IGNORED: 'TEMPLATE_IGNORED';
95
+ readonly TEMPLATE_PATH_OUTSIDE_ROOT: 'TEMPLATE_PATH_OUTSIDE_ROOT';
96
+ readonly ENVIRONMENT_FILE_NOT_FOUND: 'ENVIRONMENT_FILE_NOT_FOUND';
97
+ readonly ENVIRONMENT_FILE_UNREADABLE: 'ENVIRONMENT_FILE_UNREADABLE';
98
+ readonly ENVIRONMENT_FILE_TOO_LARGE: 'ENVIRONMENT_FILE_TOO_LARGE';
99
+ readonly ENVIRONMENT_FILE_MALFORMED: 'ENVIRONMENT_FILE_MALFORMED';
100
+ readonly INSTANCE_NOT_IGNORED: 'INSTANCE_NOT_IGNORED';
101
+ readonly ENVIRONMENT_SEED_PRECONDITION_CHANGED: 'ENVIRONMENT_SEED_PRECONDITION_CHANGED';
102
+ readonly ENVIRONMENT_SEED_FAILED: 'ENVIRONMENT_SEED_FAILED';
103
+ readonly RUNTIME_UNAVAILABLE: 'RUNTIME_UNAVAILABLE';
104
+ readonly RUNTIME_IMAGE_UNAVAILABLE: 'RUNTIME_IMAGE_UNAVAILABLE';
105
+ readonly RUNTIME_UNMEASURED: 'RUNTIME_UNMEASURED';
106
+ readonly RUNTIME_COMPOSE_REMOTE: 'RUNTIME_COMPOSE_REMOTE';
107
+ readonly RUNTIME_PROBE_TIMEOUT: 'RUNTIME_PROBE_TIMEOUT';
108
+ readonly LOGS_TRUNCATED: 'LOGS_TRUNCATED';
109
+ readonly RESET_CONFIRMATION_REQUIRED: 'RESET_CONFIRMATION_REQUIRED';
110
+ readonly RESET_CONFIRMATION_MISMATCH: 'RESET_CONFIRMATION_MISMATCH';
111
+ readonly RESET_CO_TENANT: 'RESET_CO_TENANT';
112
+ readonly EVIDENCE_UNAVAILABLE: 'EVIDENCE_UNAVAILABLE';
113
+ readonly RECLAIM_LABEL_ESCAPE: 'RECLAIM_LABEL_ESCAPE';
114
+ readonly RECLAIM_ACCOUNTING_MISMATCH: 'RECLAIM_ACCOUNTING_MISMATCH';
115
+ readonly DOWN_RESOURCES_KEPT: 'DOWN_RESOURCES_KEPT';
116
+ readonly STACKS_ORPHANED: 'STACKS_ORPHANED';
117
+ readonly STACKS_PRUNE_UNCONFIRMED: 'STACKS_PRUNE_UNCONFIRMED';
118
+ readonly STACKS_PRUNE_INCOMPLETE: 'STACKS_PRUNE_INCOMPLETE';
119
+ readonly CONFIG_STALE: 'CONFIG_STALE';
120
+ readonly SIBLING_MISSING: 'SIBLING_MISSING';
121
+ readonly GUIDE_CAP_EXCEEDED: 'GUIDE_CAP_EXCEEDED';
122
+ readonly SIBLING_GUIDE_MISSING: 'SIBLING_GUIDE_MISSING';
123
+ readonly MACHINE_MEMORY_BELOW_FLOOR: 'MACHINE_MEMORY_BELOW_FLOOR';
124
+ readonly MACHINE_CPU_BELOW_FLOOR: 'MACHINE_CPU_BELOW_FLOOR';
125
+ readonly MACHINE_DISK_BELOW_FLOOR: 'MACHINE_DISK_BELOW_FLOOR';
126
+ readonly MACHINE_COLD_START_EXCEEDED: 'MACHINE_COLD_START_EXCEEDED';
127
+ readonly GIT_STATE_UNHEALTHY: 'GIT_STATE_UNHEALTHY';
128
+ readonly CHECKOUT_ADJACENCY_UNHEALTHY: 'CHECKOUT_ADJACENCY_UNHEALTHY';
129
+ readonly GIT_COMPARISON_REMOTE_MISMATCH: 'GIT_COMPARISON_REMOTE_MISMATCH';
130
+ readonly RUNNING_CHECKOUT_MISMATCH: 'RUNNING_CHECKOUT_MISMATCH';
131
+ readonly ENVIRONMENT_KEYS_STALE: 'ENVIRONMENT_KEYS_STALE';
132
+ readonly ENV_SCHEMA_UNHEALTHY: 'ENV_SCHEMA_UNHEALTHY';
133
+ readonly ENV_SCHEMA_TOOL_MISSING: 'ENV_SCHEMA_TOOL_MISSING';
134
+ readonly GENERATED_ENVIRONMENT_UNAVAILABLE: 'GENERATED_ENVIRONMENT_UNAVAILABLE';
135
+ readonly CLAIM_STATE_UNHEALTHY: 'CLAIM_STATE_UNHEALTHY';
136
+ readonly MOUNT_POSTURE_UNAVAILABLE: 'MOUNT_POSTURE_UNAVAILABLE';
137
+ readonly COMPOSE_PROFILE_UNDEFINED: 'COMPOSE_PROFILE_UNDEFINED';
138
+ readonly STATE_UNSEEDED: 'STATE_UNSEEDED';
139
+ readonly STACK_NOT_RUNNING: 'STACK_NOT_RUNNING';
140
+ readonly SKILL_BUDGET_UNAVAILABLE: 'SKILL_BUDGET_UNAVAILABLE';
141
+ readonly HARNESS_SURFACE_UNAVAILABLE: 'HARNESS_SURFACE_UNAVAILABLE';
142
+ readonly DIRECTORY_GRANTS_UNAVAILABLE: 'DIRECTORY_GRANTS_UNAVAILABLE';
143
+ readonly TEAM_METADATA_UNAVAILABLE: 'TEAM_METADATA_UNAVAILABLE';
144
+ readonly COCKPIT_VERSION_MISMATCH: 'COCKPIT_VERSION_MISMATCH';
145
+ readonly MOUNT_MATERIALIZATION_UNAVAILABLE: 'MOUNT_MATERIALIZATION_UNAVAILABLE';
146
+ readonly ENVIRONMENT_NOT_DECLARED: 'ENVIRONMENT_NOT_DECLARED';
147
+ readonly SERVICE_NOT_DECLARED: 'SERVICE_NOT_DECLARED';
148
+ readonly GUARD_HOSTS_UNDECLARED: 'GUARD_HOSTS_UNDECLARED';
149
+ readonly TESTING_GATE_UNDECLARED: 'TESTING_GATE_UNDECLARED';
150
+ readonly MCP_COMMAND_UNRESOLVED: 'MCP_COMMAND_UNRESOLVED';
151
+ readonly MCP_ENVIRONMENT_UNSET: 'MCP_ENVIRONMENT_UNSET';
152
+ readonly EVALUATOR_UNAVAILABLE: 'EVALUATOR_UNAVAILABLE';
153
+ readonly EVALUATOR_RUN_FAILED: 'EVALUATOR_RUN_FAILED';
154
+ readonly EVALUATOR_FELL_BACK_TO_RUNNING_TOOL: 'EVALUATOR_FELL_BACK_TO_RUNNING_TOOL';
155
+ readonly EVALUATOR_ANSWER_INVALID: 'EVALUATOR_ANSWER_INVALID';
156
+ readonly TEST_GATE_UNSATISFIED: 'TEST_GATE_UNSATISFIED';
157
+ readonly WORK_GRADE_UNSATISFIED: 'WORK_GRADE_UNSATISFIED';
158
+ readonly WORK_CHECK_FAILED: 'WORK_CHECK_FAILED';
159
+ readonly BROWSER_ROUTE_FINDINGS: 'BROWSER_ROUTE_FINDINGS';
160
+ readonly WORK_VERIFY_FAILED: 'WORK_VERIFY_FAILED';
161
+ readonly WORK_PERSON_REQUIRED: 'WORK_PERSON_REQUIRED';
162
+ readonly WORK_TEST_WEAKENED: 'WORK_TEST_WEAKENED';
163
+ readonly AUTONOMY_PERSON_REQUIRED: 'AUTONOMY_PERSON_REQUIRED';
164
+ readonly AUTONOMY_CI_ONLY: 'AUTONOMY_CI_ONLY';
165
+ readonly POLICY_WEAKENING_UNCONFIRMED: 'POLICY_WEAKENING_UNCONFIRMED';
166
+ readonly GUARD_CONFIG_UNSYNCED: 'GUARD_CONFIG_UNSYNCED';
167
+ readonly GUARD_CONFIG_WIDENED: 'GUARD_CONFIG_WIDENED';
168
+ readonly WORK_ORDER_CLOSED: 'WORK_ORDER_CLOSED';
169
+ readonly CODEX_HOOK_UNTRUSTED: 'CODEX_HOOK_UNTRUSTED';
170
+ readonly SELFTEST_CUSTOM_PROBE_UNSUPPORTED: 'SELFTEST_CUSTOM_PROBE_UNSUPPORTED';
171
+ readonly DECLARATION_UNCONFIRMED: 'DECLARATION_UNCONFIRMED';
172
+ readonly CONFIRM_PERSON_REQUIRED: 'CONFIRM_PERSON_REQUIRED';
173
+ readonly CONFIRM_ANSWER_NOT_LISTED: 'CONFIRM_ANSWER_NOT_LISTED';
174
+ readonly CONFIRM_OBSERVATION_FAILED: 'CONFIRM_OBSERVATION_FAILED';
175
+ readonly CONFIRM_RECORD_UNWRITABLE: 'CONFIRM_RECORD_UNWRITABLE';
176
+ readonly COCKPIT_NOT_INSTALLED: 'COCKPIT_NOT_INSTALLED';
177
+ readonly COCKPIT_LAUNCHER_UNPROVEN: 'COCKPIT_LAUNCHER_UNPROVEN';
178
+ readonly SIBLING_REMOTE_UNRECORDED: 'SIBLING_REMOTE_UNRECORDED';
179
+ readonly SECRET_FILE_TRACKED: 'SECRET_FILE_TRACKED';
180
+ readonly SIBLING_INSTRUCTIONS_AGENTS_ONLY: 'SIBLING_INSTRUCTIONS_AGENTS_ONLY';
181
+ readonly SIBLING_INSTRUCTIONS_CLAUDE_ONLY: 'SIBLING_INSTRUCTIONS_CLAUDE_ONLY';
182
+ readonly SIBLING_INSTRUCTIONS_UNLINKED: 'SIBLING_INSTRUCTIONS_UNLINKED';
183
+ readonly SIBLING_INSTRUCTIONS_MISSING: 'SIBLING_INSTRUCTIONS_MISSING';
184
+ readonly SIBLING_INSTRUCTIONS_TOOL_ONLY: 'SIBLING_INSTRUCTIONS_TOOL_ONLY';
185
+ readonly GUARD_SEARCH_PATH_RELATIVE: 'GUARD_SEARCH_PATH_RELATIVE';
186
+ readonly SESSION_STACK_RETAINED: 'SESSION_STACK_RETAINED';
187
+ readonly UPGRADE_PACKAGE_MANAGER_UNKNOWN: 'UPGRADE_PACKAGE_MANAGER_UNKNOWN';
188
+ readonly UPGRADE_REGISTRY_UNREACHABLE: 'UPGRADE_REGISTRY_UNREACHABLE';
189
+ readonly UPGRADE_VERSION_INVALID: 'UPGRADE_VERSION_INVALID';
190
+ readonly UPGRADE_ALREADY_CURRENT: 'UPGRADE_ALREADY_CURRENT';
191
+ readonly UPGRADE_INSTALL_FAILED: 'UPGRADE_INSTALL_FAILED';
192
+ readonly UPGRADE_SYNC_FAILED: 'UPGRADE_SYNC_FAILED';
193
+ readonly DATA_SEED_FAILED: 'DATA_SEED_FAILED';
194
+ readonly DATA_SEED_UNAVAILABLE: 'DATA_SEED_UNAVAILABLE';
195
+ readonly DOCS_NOT_DECLARED: 'DOCS_NOT_DECLARED';
196
+ readonly DOCS_DECLARATION_UNMATCHED: 'DOCS_DECLARATION_UNMATCHED';
197
+ readonly DOCS_REFERENCE_REMOVED: 'DOCS_REFERENCE_REMOVED';
198
+ readonly DOCS_TARGET_REMOVED: 'DOCS_TARGET_REMOVED';
199
+ readonly DECISION_NUMBER_REUSED: 'DECISION_NUMBER_REUSED';
200
+ readonly DECISION_UNINDEXED: 'DECISION_UNINDEXED';
201
+ readonly DECISION_INDEX_ENTRY_MISSING: 'DECISION_INDEX_ENTRY_MISSING';
202
+ readonly DECISION_STATUS_MISSING: 'DECISION_STATUS_MISSING';
203
+ readonly DECISION_LINK_UNRESOLVED: 'DECISION_LINK_UNRESOLVED';
204
+ readonly DECISION_SUPERSEDED_STALE: 'DECISION_SUPERSEDED_STALE';
205
+ readonly SIBLING_CHECKOUT_RECORD_INVALID: 'SIBLING_CHECKOUT_RECORD_INVALID';
206
+ readonly SIBLING_CHECKOUT_UNKNOWN: 'SIBLING_CHECKOUT_UNKNOWN';
207
+ readonly SIBLING_CHECKOUT_UNAVAILABLE: 'SIBLING_CHECKOUT_UNAVAILABLE';
208
+ readonly SIBLING_CHECKOUT_FOREIGN: 'SIBLING_CHECKOUT_FOREIGN';
209
+ readonly SIBLING_CHECKOUT_OVERRIDDEN: 'SIBLING_CHECKOUT_OVERRIDDEN';
210
+ readonly SIBLING_ENVIRONMENT_FILE_MISSING: 'SIBLING_ENVIRONMENT_FILE_MISSING';
211
+ readonly PULL_SKIPPED: 'PULL_SKIPPED';
212
+ readonly STACK_INPUTS_CHANGED: 'STACK_INPUTS_CHANGED';
213
+ readonly STACK_INPUTS_UNRECORDED: 'STACK_INPUTS_UNRECORDED';
214
+ }>;
215
+ export declare const EXECUTION_FAILURE_CODES: readonly ["EXECUTION_SPAWN_FAILED", "EXECUTION_PRECONDITION_CHANGED", "EXECUTION_STAGING_FAILED", "EXECUTION_STAGING_CLEANUP_FAILED", "EXECUTION_TIMEOUT", "EXECUTION_STDOUT_LIMIT", "EXECUTION_STDERR_LIMIT", "EXECUTION_STEP_FAILED", "EXECUTION_ABORTED", "EXECUTION_TERMINATION_UNCONFIRMED"];
216
+ export declare const REFUSAL_CODES: readonly ["CONFIG_NOT_FOUND", "CONFIG_UNREADABLE", "CONFIG_ENCODING_INVALID", "CONFIG_PARSE_INVALID", "CONFIG_SCHEMA_INVALID", "STATE_ROOT_UNAVAILABLE", "STATE_FORMAT_UNSUPPORTED", "STATE_RECORD_MALFORMED", "STATE_LOCKED", "STATE_DURABILITY_INDETERMINATE", "SETUP_CONFIG_REQUIRED", "SETUP_OPTION_DUPLICATE", "SETUP_POSITIONAL_UNSUPPORTED", "SETUP_PATH_OUTSIDE_ROOT", "SETUP_PATH_SYMLINK", "SETUP_PATH_TYPE_INVALID", "SETUP_PARENT_MISSING", "SETUP_REMOTE_MISMATCH", "SETUP_REMOTE_UNRESOLVABLE", "SETUP_MANUAL_MISSING", "SETUP_CLONE_FAILED", "SETUP_POSTCHECK_FAILED", "SETUP_INSTRUCTION_POINTER_INVALID", "SETUP_INSTRUCTION_FILES_INVALID", "CONFIG_CHANGED_DURING_EXECUTION", "EXECUTION_SPAWN_FAILED", "EXECUTION_PRECONDITION_CHANGED", "EXECUTION_STAGING_FAILED", "EXECUTION_STAGING_CLEANUP_FAILED", "EXECUTION_TIMEOUT", "EXECUTION_STDOUT_LIMIT", "EXECUTION_STDERR_LIMIT", "EXECUTION_STEP_FAILED", "EXECUTION_ABORTED", "EXECUTION_TERMINATION_UNCONFIRMED", "EXECUTION_COMPENSATION_TIMEOUT", "EXECUTION_COMPENSATION_STEP_FAILED", "LIFECYCLE_EVIDENCE_INVALID", "LIFECYCLE_PROGRESS_INVALID", "STACK_RECORDED_UNDER_EARLIER_NAME", "PORT_FAMILY_COLLISION", "PORT_LISTENER_EVIDENCE_INVALID", "PORT_FAMILY_OUT_OF_RANGE", "PORT_LEASE_EXHAUSTED", "CLAIM_CO_TENANT", "CLAIM_LIVENESS_UNKNOWN", "DRAIN_ATTEMPT_REPAIR_REQUIRED", "INSTALL_POLICY_OBSERVATION_UNAVAILABLE", "INSTALL_POLICY_OBSERVATION_INVALID", "INSTALL_POLICY_MISSING", "INSTALL_POLICY_AMBIGUOUS", "TEMPLATE_NOT_FOUND", "TEMPLATE_NOT_TRACKED", "TEMPLATE_IGNORED", "TEMPLATE_PATH_OUTSIDE_ROOT", "ENVIRONMENT_FILE_NOT_FOUND", "ENVIRONMENT_FILE_UNREADABLE", "ENVIRONMENT_FILE_TOO_LARGE", "ENVIRONMENT_FILE_MALFORMED", "INSTANCE_NOT_IGNORED", "ENVIRONMENT_SEED_PRECONDITION_CHANGED", "ENVIRONMENT_SEED_FAILED", "RUNTIME_UNAVAILABLE", "RUNTIME_IMAGE_UNAVAILABLE", "RUNTIME_UNMEASURED", "RUNTIME_COMPOSE_REMOTE", "RUNTIME_PROBE_TIMEOUT", "RESET_CONFIRMATION_REQUIRED", "RESET_CONFIRMATION_MISMATCH", "RESET_CO_TENANT", "EVIDENCE_UNAVAILABLE", "RECLAIM_LABEL_ESCAPE", "RECLAIM_ACCOUNTING_MISMATCH", "DOWN_RESOURCES_KEPT", "GIT_COMPARISON_REMOTE_MISMATCH"];
217
+ export type ObservationLifecycleStage = typeof OBSERVATION_LIFECYCLE_STAGES[number];
218
+ export type SetupActionKind = typeof SETUP_ACTION_KINDS[number];
219
+ export type EnvironmentCode = typeof ENVIRONMENT_CODES[keyof typeof ENVIRONMENT_CODES];
220
+ export type ExecutionFailureCode = typeof EXECUTION_FAILURE_CODES[number];
221
+ export type RefusalCode = typeof REFUSAL_CODES[number];
222
+ export type EnvironmentDiagnostic = Diagnostic<EnvironmentCode>;
223
+ export declare class RefusalError extends Error {
224
+ }
225
+ export declare function errorCause(error: unknown): string;
226
+ export declare function parseJsonText(text: string, subject: string, expected: string): Readonly<{
227
+ value: unknown;
228
+ }> | Readonly<{
229
+ refusal: string;
230
+ }>;
231
+ export declare function tryParseJson(text: string): unknown;
232
+ export declare function hasErrorCode(error: unknown, ...codes: readonly string[]): boolean;
233
+ export declare function isMissing(error: unknown): boolean;
234
+ export declare function isCanonicalTimestamp(value: unknown): value is string;
235
+ type ExpectedObservation = {
236
+ kind: 'path';
237
+ target: string;
238
+ state: 'absent' | 'directory' | 'repository';
239
+ } | {
240
+ kind: 'remote';
241
+ target: string;
242
+ name: string;
243
+ url: string;
244
+ };
245
+ export interface FilesystemCheck {
246
+ path: string;
247
+ expected: 'absent' | 'directory' | 'file';
248
+ sha256?: string;
249
+ maxBytes?: number;
250
+ identity?: FilesystemIdentity;
251
+ }
252
+ export interface FilesystemObjectIdentity {
253
+ dev: number;
254
+ ino: number;
255
+ /** Creation time in nanoseconds as a decimal string; '0' where the filesystem records none. */
256
+ birthtimeNs: string;
257
+ }
258
+ export interface FilesystemIdentity extends FilesystemObjectIdentity {
259
+ ancestors: readonly FilesystemAncestorIdentity[];
260
+ }
261
+ export interface FilesystemAncestorIdentity extends FilesystemObjectIdentity {
262
+ path: string;
263
+ }
264
+ interface FilesystemObjectStatus {
265
+ readonly dev: bigint;
266
+ readonly ino: bigint;
267
+ readonly birthtimeNs: bigint;
268
+ }
269
+ export declare function filesystemObjectIdentity(status: FilesystemObjectStatus): FilesystemObjectIdentity;
270
+ export declare function sameFilesystemObject(status: FilesystemObjectStatus, recorded: FilesystemObjectIdentity): boolean;
271
+ export declare function isFilesystemObjectIdentity(value: Record<string, unknown>): boolean;
272
+ interface ConsumedFileBase {
273
+ path: string;
274
+ sha256: string;
275
+ maxBytes: number;
276
+ argvIndexes: readonly number[];
277
+ }
278
+ export type ConsumedFile = ConsumedFileBase & ({
279
+ executable: true;
280
+ executionMode: 'verified-path';
281
+ } | {
282
+ executable: false;
283
+ executionMode?: never;
284
+ });
285
+ export interface SourceProvenance {
286
+ path: string;
287
+ byteLength: number;
288
+ sha256: string;
289
+ }
290
+ export type ConfigSourceSnapshot = ({
291
+ state: 'available';
292
+ } & SourceProvenance) | {
293
+ state: 'unavailable';
294
+ path: string;
295
+ code: typeof ENVIRONMENT_CODES.CONFIG_NOT_FOUND | typeof ENVIRONMENT_CODES.CONFIG_UNREADABLE;
296
+ };
297
+ export interface SetupExecutionEvidence {
298
+ mutationMayHaveOccurred: boolean;
299
+ completedStepIds: readonly string[];
300
+ failedStep?: {
301
+ id: string;
302
+ started: boolean;
303
+ };
304
+ compensation: {
305
+ attemptedStepIds: readonly string[];
306
+ completedStepIds: readonly string[];
307
+ failed: readonly {
308
+ id: string;
309
+ code: ExecutionFailureCode;
310
+ }[];
311
+ };
312
+ }
313
+ export interface SetupRefusalEvidence {
314
+ execution: SetupExecutionEvidence;
315
+ source: {
316
+ before: SourceProvenance;
317
+ after: ConfigSourceSnapshot;
318
+ postcheck?: SourceProvenance;
319
+ };
320
+ }
321
+ export interface ExecutionStep {
322
+ id: string;
323
+ argv: readonly [string, ...string[]];
324
+ argv0: string;
325
+ cwd: string;
326
+ env: Readonly<Record<string, string>>;
327
+ timeoutMs: number;
328
+ spawnNotAfter?: string;
329
+ stdoutLimitBytes: number;
330
+ stderrLimitBytes: number;
331
+ outputOverflow?: 'retain-tail';
332
+ failureOutput?: 'stderr-tail';
333
+ paths: readonly string[];
334
+ ports: readonly number[];
335
+ labels: Readonly<Record<string, string>>;
336
+ expected: readonly ExpectedObservation[];
337
+ consumedFiles: readonly ConsumedFile[];
338
+ filesystemChecks: readonly FilesystemCheck[];
339
+ executionFence?: ExecutionFence;
340
+ compensation: readonly ExecutionStep[];
341
+ }
342
+ export interface ExecutionFence {
343
+ readonly attemptId: string;
344
+ readonly markerPath: string;
345
+ readonly socketPath: string;
346
+ }
347
+ export interface ExecutionPlan {
348
+ steps: readonly ExecutionStep[];
349
+ }
350
+ type LifecycleResumeBoundary = Readonly<{
351
+ completedStepIds: readonly string[];
352
+ nextStepId: string | null;
353
+ }>;
354
+ type LifecycleStepBase = Readonly<{
355
+ id: string;
356
+ }>;
357
+ interface LifecycleEntrypoint {
358
+ readonly name: string;
359
+ readonly kind: EntrypointKind;
360
+ readonly port: string;
361
+ readonly value: string;
362
+ }
363
+ interface LifecycleCompletedService {
364
+ readonly service: string;
365
+ readonly containerId: string;
366
+ }
367
+ export interface LifecycleProgress {
368
+ readonly workBasisSha256: string;
369
+ readonly operationGeneration: string;
370
+ readonly completedServices: readonly LifecycleCompletedService[];
371
+ }
372
+ type LifecycleStep = (LifecycleStepBase & Readonly<{
373
+ kind: 'preflight';
374
+ }>) | (LifecycleStepBase & Readonly<{
375
+ kind: 'claim';
376
+ action: 'acquire' | 'release';
377
+ }>) | (LifecycleStepBase & Readonly<{
378
+ kind: 'prepare';
379
+ execution: ExecutionStep;
380
+ }>) | (LifecycleStepBase & Readonly<{
381
+ kind: 'service';
382
+ service: string;
383
+ }>) | (LifecycleStepBase & Readonly<{
384
+ kind: 'publish-entrypoints';
385
+ values: readonly LifecycleEntrypoint[];
386
+ }>);
387
+ type ClaimReleaseStep = LifecycleStepBase & Readonly<{
388
+ kind: 'claim';
389
+ action: 'release';
390
+ }>;
391
+ export type LifecyclePlan = Readonly<{
392
+ verb: 'up' | 'sleep' | 'down' | 'reset';
393
+ progress: LifecycleProgress;
394
+ steps: readonly LifecycleStep[];
395
+ resumeBoundary: LifecycleResumeBoundary;
396
+ compensation: readonly Readonly<{
397
+ step: ClaimReleaseStep;
398
+ ownership: Readonly<{
399
+ stackId: StackId;
400
+ holderId: HolderId;
401
+ recordRevision: number;
402
+ change: 'acquired';
403
+ }>;
404
+ }>[];
405
+ diagnostics: readonly EnvironmentDiagnostic[];
406
+ }>;
407
+ export declare const MAX_STEP_TIMEOUT_MS = 7200000;
408
+ export declare function snapshotExecutionStep(value: unknown): ExecutionStep | undefined;
409
+ export declare function snapshotExecutionPlan(value: unknown): ExecutionPlan | undefined;
410
+ export declare function snapshotLifecyclePlan(value: unknown): LifecyclePlan | undefined;
411
+ export interface ExecutionReceipt {
412
+ readonly stepId: string;
413
+ readonly startedAt: string;
414
+ readonly finishedAt: string;
415
+ readonly receiptMatches: (step: ExecutionStep) => boolean;
416
+ }
417
+ export type Observation<T> = {
418
+ state: 'available';
419
+ value: T;
420
+ observedAt: string;
421
+ producer: string;
422
+ } | {
423
+ state: 'unavailable';
424
+ reason: string;
425
+ producer: string;
426
+ } | {
427
+ state: 'failed';
428
+ code: RefusalCode;
429
+ reason: string;
430
+ producer: string;
431
+ };
432
+ export type ObservationExpectation = {
433
+ readonly kind: 'equal';
434
+ readonly value: JsonSnapshot;
435
+ } | {
436
+ readonly kind: 'one-of';
437
+ readonly values: readonly JsonSnapshot[];
438
+ } | {
439
+ readonly kind: 'minimum';
440
+ readonly value: number;
441
+ } | {
442
+ readonly kind: 'maximum';
443
+ readonly value: number;
444
+ } | {
445
+ readonly kind: 'present';
446
+ };
447
+ type ObservationApplicability = {
448
+ readonly state: 'required';
449
+ readonly posture: string;
450
+ } | {
451
+ readonly state: 'not-applicable';
452
+ readonly posture: string;
453
+ readonly reason: string;
454
+ };
455
+ type ObservationFreshness = {
456
+ readonly state: 'current';
457
+ } | {
458
+ readonly state: 'stale' | 'missing';
459
+ readonly reason: string;
460
+ };
461
+ type EnvironmentObservedValue = {
462
+ readonly state: 'available';
463
+ readonly value: JsonSnapshot;
464
+ readonly observedAt: string;
465
+ } | {
466
+ readonly state: 'unavailable' | 'failed';
467
+ readonly reason: string;
468
+ readonly observedAt: string;
469
+ };
470
+ export interface EnvironmentObservation {
471
+ readonly code: EnvironmentCode;
472
+ readonly owner: string;
473
+ readonly stackId: StackId;
474
+ readonly source: string;
475
+ readonly observed: EnvironmentObservedValue;
476
+ readonly expectation: ObservationExpectation;
477
+ readonly applicability: ObservationApplicability;
478
+ readonly freshness: ObservationFreshness;
479
+ readonly remedy: string;
480
+ }
481
+ export interface ObservationDeclaration {
482
+ readonly id: string;
483
+ readonly owner: string;
484
+ readonly postures: readonly string[];
485
+ readonly stages: readonly ObservationStageDeclaration[];
486
+ readonly code: EnvironmentCode;
487
+ readonly isIssued: (value: unknown) => value is EnvironmentObservation;
488
+ readonly issuedAt?: (value: unknown) => number | undefined;
489
+ }
490
+ export type ObservationStageDeclaration = {
491
+ readonly stage: ObservationLifecycleStage;
492
+ readonly disposition: 'required';
493
+ } | {
494
+ readonly stage: ObservationLifecycleStage;
495
+ readonly disposition: 'not-applicable';
496
+ readonly reason: string;
497
+ };
498
+ export declare function snapshotEnvironmentObservation(value: unknown): EnvironmentObservation | undefined;
499
+ export type EnvironmentCommandOutcome<Result> = {
500
+ kind: 'complete';
501
+ status: 0;
502
+ diagnostics: readonly EnvironmentDiagnostic[];
503
+ result: Result;
504
+ plan?: never;
505
+ } | {
506
+ kind: 'preview';
507
+ status: 0;
508
+ diagnostics: readonly EnvironmentDiagnostic[];
509
+ result: Result;
510
+ plan: ExecutionPlan;
511
+ } | {
512
+ kind: 'refusal';
513
+ status: 2;
514
+ diagnostics: readonly EnvironmentDiagnostic[];
515
+ result: null;
516
+ plan?: never;
517
+ };
518
+ /** A command refusal carrying the diagnostics an owner raised: exit status 2 and no result. */
519
+ export declare function forwardedRefusal(diagnostics: readonly EnvironmentDiagnostic[]): Extract<EnvironmentCommandOutcome<never>, {
520
+ kind: 'refusal';
521
+ }>;
522
+ export {};