@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,75 @@
1
+ import { createInterface } from 'node:readline/promises';
2
+ import { renderHumanValue } from '../diagnostics.js';
3
+ import { loadOperatorPolicy, runSyncOperatorApplication } from '../environment/operator-application.js';
4
+ import { runSyncAdoption } from './adopt.js';
5
+ import { applySelectedBootstrapSurface as applyBootstrap, prepareSelectedBootstrapSurface as prepareBootstrap, resumeSelectedBootstrapSurface as resumeBootstrap, } from '../environment/generated-application/bootstrap-skill.js';
6
+ import { checkGeneratedEnvironment as check, prepareGeneratedEnvironmentCurrentness as prepareCurrentness, } from '../environment/generated-application/check.js';
7
+ import {} from '../environment/generated-application/shared.js';
8
+ import { applyGeneratedEnvironmentRepair as applyRepair, syncGeneratedEnvironment as synchronize, syncTeamGeneratedEnvironment as synchronizeTeam, } from '../environment/generated-application/sync.js';
9
+ export function prepareSelectedBootstrapSurface(input, adapters) {
10
+ return prepareBootstrap(input, adapters);
11
+ }
12
+ export function resumeSelectedBootstrapSurface(input, adapters) {
13
+ return resumeBootstrap(input, adapters);
14
+ }
15
+ export function applySelectedBootstrapSurface(authority) {
16
+ return applyBootstrap(authority);
17
+ }
18
+ export function prepareGeneratedEnvironmentCurrentness(input, adapters) {
19
+ return prepareCurrentness(input, adapters);
20
+ }
21
+ export function applyGeneratedEnvironmentRepair(authority, options) {
22
+ return applyRepair(authority, options);
23
+ }
24
+ export function syncGeneratedEnvironment(input, adapters) {
25
+ return synchronize(input, adapters);
26
+ }
27
+ export function syncTeamGeneratedEnvironment(input, adapters) {
28
+ return synchronizeTeam(input, adapters);
29
+ }
30
+ /** `sync --adopt`: record the adoption, then run the ordinary sync that renders the merge. */
31
+ export function adoptAndSyncGeneratedEnvironment(input) {
32
+ return runSyncAdoption(input, request => synchronizeTeam(request));
33
+ }
34
+ export function checkGeneratedEnvironment(input) {
35
+ return check(input);
36
+ }
37
+ async function confirmStaleRemoval(io, request) {
38
+ if (io.confirmStaleRemoval)
39
+ return io.confirmStaleRemoval(request);
40
+ if (!io.stdin)
41
+ return undefined;
42
+ io.stderr.write(renderHumanValue(request));
43
+ const prompt = createInterface({ input: io.stdin, output: io.stderr, terminal: true });
44
+ try {
45
+ const answer = await prompt.question('Type the exact stale-removal digest to approve this sync: ');
46
+ return answer.trim();
47
+ }
48
+ finally {
49
+ prompt.close();
50
+ }
51
+ }
52
+ export async function runSyncOperatorCommand(input, options, io, handler, policy = loadOperatorPolicy) {
53
+ return runSyncOperatorApplication(input, {
54
+ ...options,
55
+ terminal: io.confirmStaleRemoval !== undefined || io.stdin?.isTTY === true,
56
+ }, {
57
+ synchronize: handler,
58
+ confirmStaleRemoval: (request) => confirmStaleRemoval(io, request),
59
+ policy,
60
+ confirmPolicyWeakening: async (request) => {
61
+ if (io.confirmPolicyWeakening)
62
+ return io.confirmPolicyWeakening(request);
63
+ if (!io.stdin)
64
+ return undefined;
65
+ io.stderr.write(renderHumanValue({ weakens: request.weakened.map(row => `${row.field}: ${row.from} -> ${row.to}`), digest: request.digest }));
66
+ const prompt = createInterface({ input: io.stdin, output: io.stderr, terminal: true });
67
+ try {
68
+ return (await prompt.question('Type the digest to accept this weaker policy: ')).trim();
69
+ }
70
+ finally {
71
+ prompt.close();
72
+ }
73
+ },
74
+ });
75
+ }
@@ -0,0 +1,186 @@
1
+ import type { Diagnostic } from '../diagnostics.js';
2
+ import { type ExecuteProbeOutcome } from '../environment-exec/execute.js';
3
+ import { type ExecutionStep } from '../environment/contract.js';
4
+ import type { ResolvedExecutable } from '../environment/executable.js';
5
+ import { type BootstrapStateAddress } from '../environment/state.js';
6
+ import { type OwnershipAuthority } from '../surfaces/ownership.js';
7
+ import { type InspectedBootstrapOutputs } from '../surfaces/skill-contract.js';
8
+ import type { SurfaceChange } from '../surfaces/sync.js';
9
+ export interface PublicationAdapters {
10
+ readonly execute: (step: ExecutionStep) => Promise<ExecuteProbeOutcome>;
11
+ readonly authorizeStaleRemoval?: (request: GeneratedStaleRemovalApprovalRequest) => Promise<GeneratedStaleRemovalApproval | undefined>;
12
+ }
13
+ interface PublicationChange {
14
+ readonly operation: 'write' | 'remove';
15
+ readonly path: string;
16
+ }
17
+ export interface PublicationRefusal {
18
+ readonly kind: 'refusal';
19
+ readonly artifact: null;
20
+ readonly destination: null;
21
+ readonly result: null;
22
+ readonly status: 2;
23
+ readonly diagnostics: readonly Diagnostic[];
24
+ }
25
+ export interface GeneratedStaleRemovalApprovalEntry {
26
+ readonly path: string;
27
+ readonly operation: 'write-file' | 'remove-file' | 'remove-symlink';
28
+ readonly current: Readonly<{
29
+ readonly kind: 'file' | 'symlink';
30
+ readonly sha256?: string;
31
+ readonly target?: string;
32
+ readonly dev: number;
33
+ readonly ino: number;
34
+ }>;
35
+ readonly resultSha256?: string;
36
+ }
37
+ export interface GeneratedStaleRemovalApprovalRequest {
38
+ readonly format: 'cockpit-stale-removal-request/v1';
39
+ readonly cockpitId: string;
40
+ readonly generation: string;
41
+ readonly sourceSha256: string;
42
+ readonly entries: readonly GeneratedStaleRemovalApprovalEntry[];
43
+ readonly digest: string;
44
+ }
45
+ export interface GeneratedStaleRemovalApproval {
46
+ readonly format: 'cockpit-stale-removal-approval/v1';
47
+ readonly digest: string;
48
+ }
49
+ export interface DirectoryIdentity {
50
+ readonly dev: number;
51
+ readonly ino: number;
52
+ }
53
+ export interface FileIdentity {
54
+ readonly root: DirectoryIdentity;
55
+ readonly chain: readonly DirectoryIdentity[];
56
+ readonly file: DirectoryIdentity;
57
+ }
58
+ type NodeAuthority = ResolvedExecutable;
59
+ export declare function nodeAuthority(): Promise<NodeAuthority | undefined>;
60
+ export type AnchoredRead = Readonly<{
61
+ kind: 'complete';
62
+ bytes: Buffer;
63
+ sha256: string;
64
+ identity: FileIdentity;
65
+ }> | Readonly<{
66
+ kind: 'missing';
67
+ }> | Readonly<{
68
+ kind: 'invalid';
69
+ }>;
70
+ export type AnchoredEntry = Readonly<{
71
+ kind: 'missing' | 'other';
72
+ }> | Readonly<{
73
+ kind: 'file';
74
+ bytes: Buffer;
75
+ sha256: string;
76
+ identity: FileIdentity;
77
+ mode: number;
78
+ }> | Readonly<{
79
+ kind: 'symlink';
80
+ target: string;
81
+ identity: DirectoryIdentity;
82
+ }> | Readonly<{
83
+ kind: 'invalid';
84
+ }>;
85
+ export declare function readAnchoredFile(root: string, path: string, maxBytes: number, node: NodeAuthority, adapters: PublicationAdapters, deadline?: number): Promise<AnchoredRead>;
86
+ export declare function readAnchoredEntry(root: string, path: string, maxBytes: number, node: NodeAuthority, adapters: PublicationAdapters): Promise<AnchoredEntry>;
87
+ export type AnchoredRelocation = Readonly<{
88
+ kind: 'complete';
89
+ sha256: string;
90
+ }> | Readonly<{
91
+ kind: 'refusal';
92
+ recovery: 'unchanged' | 'indeterminate';
93
+ failure?: string;
94
+ recoveryFailures?: readonly string[];
95
+ retainedPaths?: readonly string[];
96
+ }>;
97
+ /** Move one authenticated regular file to a portable authored destination through the publication helper. */
98
+ export declare function relocateAnchoredFile(root: string, sourcePath: string, destinationPath: string, maxBytes: number, expectedSha256: string, node: NodeAuthority, adapters: PublicationAdapters): Promise<AnchoredRelocation>;
99
+ /** Confirm or restore the original side of an anchored relocation without following either path. */
100
+ export declare function restoreAnchoredFile(root: string, originalPath: string, relocatedPath: string, maxBytes: number, expectedSha256: string, node: NodeAuthority, adapters: PublicationAdapters): Promise<AnchoredRelocation>;
101
+ interface AnchoredBatchReadRequest {
102
+ readonly path: string;
103
+ readonly maxBytes: number;
104
+ readonly action: 'read-file' | 'read-entry';
105
+ }
106
+ export type AnchoredBatchReadResult = AnchoredRead | AnchoredEntry;
107
+ type AnchoredBatchOutcome = Readonly<{
108
+ kind: 'complete';
109
+ results: readonly AnchoredBatchReadResult[];
110
+ }> | Readonly<{
111
+ kind: 'invalid';
112
+ index: number;
113
+ }>;
114
+ export declare function readAnchoredBatches(root: string, requests: readonly AnchoredBatchReadRequest[], node: NodeAuthority, adapters: PublicationAdapters, deadline?: number): Promise<AnchoredBatchOutcome | undefined>;
115
+ export declare function readAnchoredConfigSource(root: string, path: string, node: NodeAuthority, adapters: PublicationAdapters, deadline?: number): Promise<{
116
+ bytes: Buffer;
117
+ sha256: string;
118
+ identity: FileIdentity;
119
+ } | undefined>;
120
+ export declare function portablePublicationPaths(paths: readonly string[]): boolean;
121
+ export interface ExpectedEntryState {
122
+ readonly kind: 'missing' | 'file' | 'symlink';
123
+ readonly sha256?: string;
124
+ readonly target?: string;
125
+ readonly identity?: DirectoryIdentity;
126
+ }
127
+ export interface PublicationMutation {
128
+ readonly path: string;
129
+ readonly phase: 'desired' | 'stale' | 'ledger';
130
+ readonly operation: 'write-file' | 'write-symlink' | 'remove-file' | 'remove-symlink';
131
+ readonly expected: ExpectedEntryState;
132
+ readonly bytes?: string;
133
+ readonly sha256?: string;
134
+ readonly target?: string;
135
+ readonly compactAnchor?: string;
136
+ }
137
+ export declare function expectedState(entry: AnchoredEntry): ExpectedEntryState | undefined;
138
+ export interface PublicationPlan {
139
+ readonly changes: readonly PublicationChange[];
140
+ readonly staleRemoval?: GeneratedStaleRemovalApprovalRequest;
141
+ }
142
+ export interface PublicationPlanInput {
143
+ readonly authority: OwnershipAuthority;
144
+ readonly generation: string;
145
+ readonly sourceSha256: string;
146
+ readonly rootIdentity: DirectoryIdentity;
147
+ readonly node: ResolvedExecutable;
148
+ readonly mode: 'sync';
149
+ readonly ledgerExpected: ExpectedEntryState;
150
+ readonly nextLedgerBytes: string;
151
+ readonly mutations: readonly PublicationMutation[];
152
+ readonly surfaceActions?: readonly SurfaceChange[];
153
+ }
154
+ export interface BootstrapPublicationPlanInput {
155
+ readonly mode: 'bootstrap';
156
+ readonly root: string;
157
+ readonly rootIdentity: DirectoryIdentity;
158
+ readonly node: ResolvedExecutable;
159
+ readonly inspected: InspectedBootstrapOutputs;
160
+ readonly mutations: readonly PublicationMutation[];
161
+ readonly refresh?: Readonly<{
162
+ readonly address: BootstrapStateAddress;
163
+ readonly revision: number;
164
+ readonly commandSha256: string;
165
+ }>;
166
+ }
167
+ type AdmittedPublicationPlanInput = PublicationPlanInput | BootstrapPublicationPlanInput;
168
+ export interface PublicationRunAdapters extends PublicationAdapters {
169
+ readonly dryRun?: boolean;
170
+ readonly revalidate: (deadline?: number, stage?: 'preview' | 'before-stage' | 'before-publish' | 'after-publish') => Promise<boolean | PublicationRefusal>;
171
+ }
172
+ export type PublicationOutcome = PublicationRefusal | Readonly<{
173
+ kind: 'complete';
174
+ changes: readonly PublicationChange[];
175
+ committedPaths: readonly string[];
176
+ staleRemoval?: GeneratedStaleRemovalApprovalRequest;
177
+ }>;
178
+ /** Admit exact classified leaves against the observed durable ledger, never raw delete authority. */
179
+ export declare function admitPublicationPlan(input: AdmittedPublicationPlanInput, adapters: PublicationAdapters): Promise<PublicationRefusal | Readonly<{
180
+ kind: 'complete';
181
+ plan: PublicationPlan;
182
+ }>>;
183
+ /** Asks for approval before another owner writes; the run reuses this answer instead of asking again. */
184
+ export declare function authorizePublicationPlan(plan: PublicationPlan, adapters: PublicationAdapters): Promise<true | PublicationRefusal>;
185
+ export declare function runPublicationPlan(plan: PublicationPlan, adapters: PublicationRunAdapters): Promise<PublicationOutcome>;
186
+ export {};