@open-mercato/cezar 0.9.1 → 0.9.2

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 (300) hide show
  1. package/README.md +19 -11
  2. package/dist/agent-config/catalog.d.ts +1 -1
  3. package/dist/agent-config/files.d.ts +1 -1
  4. package/dist/agent-config/service.d.ts +1 -1
  5. package/dist/agent-config/validate.d.ts +1 -1
  6. package/dist/automations/coordinator.d.ts +26 -0
  7. package/dist/automations/coordinator.js +66 -0
  8. package/dist/automations/coordinator.js.map +1 -0
  9. package/dist/automations/github-poller.d.ts +74 -0
  10. package/dist/automations/github-poller.js +234 -0
  11. package/dist/automations/github-poller.js.map +1 -0
  12. package/dist/automations/scheduler.d.ts +42 -0
  13. package/dist/automations/scheduler.js +192 -0
  14. package/dist/automations/scheduler.js.map +1 -0
  15. package/dist/automations/store.d.ts +65 -0
  16. package/dist/automations/store.js +298 -0
  17. package/dist/automations/store.js.map +1 -0
  18. package/dist/automations/task-template.d.ts +18 -0
  19. package/dist/automations/task-template.js +95 -0
  20. package/dist/automations/task-template.js.map +1 -0
  21. package/dist/automations/types.d.ts +251 -0
  22. package/dist/automations/types.js +158 -0
  23. package/dist/automations/types.js.map +1 -0
  24. package/dist/config.d.ts +9 -111
  25. package/dist/contract/agent-config.d.ts +151 -0
  26. package/dist/contract/automations.d.ts +911 -0
  27. package/dist/contract/events.d.ts +45 -0
  28. package/dist/contract/github.d.ts +467 -0
  29. package/dist/contract/health.d.ts +96 -0
  30. package/dist/contract/index.d.ts +15 -0
  31. package/dist/contract/index.js +1421 -0
  32. package/dist/contract/projects.d.ts +182 -0
  33. package/dist/contract/repo.d.ts +234 -0
  34. package/dist/contract/runs.d.ts +1226 -0
  35. package/dist/contract/skills.d.ts +225 -0
  36. package/dist/contract/workflows.d.ts +212 -0
  37. package/dist/contract/workspace.d.ts +442 -0
  38. package/dist/core/agent-env.d.ts +1 -1
  39. package/dist/core/agent-runner.d.ts +12 -1
  40. package/dist/core/agent-runner.js +13 -0
  41. package/dist/core/agent-runner.js.map +1 -1
  42. package/dist/core/ask.d.ts +45 -124
  43. package/dist/core/ask.js +103 -13
  44. package/dist/core/ask.js.map +1 -1
  45. package/dist/core/claude-cli-runner.d.ts +2 -2
  46. package/dist/core/claude-cli-runner.js +52 -9
  47. package/dist/core/claude-cli-runner.js.map +1 -1
  48. package/dist/core/claude-ui-mapper.d.ts +1 -1
  49. package/dist/core/codex-app-server-runner.d.ts +1 -1
  50. package/dist/core/codex-app-server-runner.js +55 -3
  51. package/dist/core/codex-app-server-runner.js.map +1 -1
  52. package/dist/core/codex-app-server-transport.d.ts +6 -1
  53. package/dist/core/codex-app-server-transport.js +12 -3
  54. package/dist/core/codex-app-server-transport.js.map +1 -1
  55. package/dist/core/codex-model-catalog.d.ts +1 -1
  56. package/dist/core/codex-ui-mapper.d.ts +5 -1
  57. package/dist/core/codex-ui-mapper.js +74 -17
  58. package/dist/core/codex-ui-mapper.js.map +1 -1
  59. package/dist/core/model-identity.d.ts +1 -1
  60. package/dist/core/model-presets.d.ts +2 -2
  61. package/dist/core/model-presets.js +1 -1
  62. package/dist/core/opencode-server-runner.d.ts +2 -2
  63. package/dist/core/opencode-ui-mapper.d.ts +4 -1
  64. package/dist/core/opencode-ui-mapper.js +45 -7
  65. package/dist/core/opencode-ui-mapper.js.map +1 -1
  66. package/dist/core/provider-auth.d.ts +62 -0
  67. package/dist/core/provider-auth.js +290 -0
  68. package/dist/core/provider-auth.js.map +1 -0
  69. package/dist/core/provider-availability.d.ts +3 -0
  70. package/dist/core/provider-availability.js +13 -0
  71. package/dist/core/provider-availability.js.map +1 -0
  72. package/dist/core/runner-factory.d.ts +1 -1
  73. package/dist/core/runner-model-catalog.d.ts +1 -1
  74. package/dist/core/tool-display.d.ts +1 -1
  75. package/dist/core/ui-events.d.ts +1 -1
  76. package/dist/core/ui-events.js +1 -1
  77. package/dist/git-diff-base.d.ts +60 -0
  78. package/dist/git-diff-base.js +54 -0
  79. package/dist/git-diff-base.js.map +1 -0
  80. package/dist/git-worktree.d.ts +37 -6
  81. package/dist/git-worktree.js +39 -9
  82. package/dist/git-worktree.js.map +1 -1
  83. package/dist/handoff.d.ts +2 -2
  84. package/dist/handoff.js +1 -1
  85. package/dist/index.js +65 -8
  86. package/dist/index.js.map +1 -1
  87. package/dist/paths.d.ts +16 -1
  88. package/dist/paths.js +24 -1
  89. package/dist/paths.js.map +1 -1
  90. package/dist/planner.d.ts +2 -2
  91. package/dist/planner.js +1 -1
  92. package/dist/planner.js.map +1 -1
  93. package/dist/release/manifests.d.ts +81 -0
  94. package/dist/release/manifests.js +74 -0
  95. package/dist/release/manifests.js.map +1 -0
  96. package/dist/release/snapshot.d.ts +9 -23
  97. package/dist/release/snapshot.js +9 -22
  98. package/dist/release/snapshot.js.map +1 -1
  99. package/dist/release/stable.d.ts +15 -29
  100. package/dist/release/stable.js +14 -27
  101. package/dist/release/stable.js.map +1 -1
  102. package/dist/runs/auto-name.d.ts +1 -1
  103. package/dist/runs/retention.d.ts +1 -1
  104. package/dist/runs/store.d.ts +142 -336
  105. package/dist/runs/store.js +136 -9
  106. package/dist/runs/store.js.map +1 -1
  107. package/dist/runs/ui-event-sink.d.ts +1 -1
  108. package/dist/server/app-type.d.ts +21 -0
  109. package/dist/server/app-type.js +2 -0
  110. package/dist/server/app-type.js.map +1 -0
  111. package/dist/server/capabilities.d.ts +6 -5
  112. package/dist/server/capabilities.js +11 -0
  113. package/dist/server/capabilities.js.map +1 -1
  114. package/dist/server/forge/github.d.ts +58 -151
  115. package/dist/server/forge/github.js +530 -6
  116. package/dist/server/forge/github.js.map +1 -1
  117. package/dist/server/forge/index.d.ts +10 -3
  118. package/dist/server/forge/index.js +14 -1
  119. package/dist/server/forge/index.js.map +1 -1
  120. package/dist/server/forge/types.d.ts +86 -1
  121. package/dist/server/git-changes.d.ts +8 -8
  122. package/dist/server/git-changes.js +14 -17
  123. package/dist/server/git-changes.js.map +1 -1
  124. package/dist/server/git.d.ts +2 -0
  125. package/dist/server/git.js +9 -0
  126. package/dist/server/git.js.map +1 -1
  127. package/dist/server/github.d.ts +3 -3
  128. package/dist/server/github.js +1 -1
  129. package/dist/server/github.js.map +1 -1
  130. package/dist/server/pr.d.ts +2 -2
  131. package/dist/server/project-context.d.ts +20 -3
  132. package/dist/server/project-context.js +30 -1
  133. package/dist/server/project-context.js.map +1 -1
  134. package/dist/server/provider-action-gate.d.ts +8 -0
  135. package/dist/server/provider-action-gate.js +54 -0
  136. package/dist/server/provider-action-gate.js.map +1 -0
  137. package/dist/server/provider-auth-runtime.d.ts +21 -0
  138. package/dist/server/provider-auth-runtime.js +66 -0
  139. package/dist/server/provider-auth-runtime.js.map +1 -0
  140. package/dist/server/server.d.ts +11142 -47
  141. package/dist/server/server.js +1714 -806
  142. package/dist/server/server.js.map +1 -1
  143. package/dist/server/validators.d.ts +97 -0
  144. package/dist/server/validators.js +86 -0
  145. package/dist/server/validators.js.map +1 -0
  146. package/dist/server/ws.d.ts +2 -2
  147. package/dist/server/ws.js +2 -2
  148. package/dist/server/ws.js.map +1 -1
  149. package/dist/server-install/engine.d.ts +1 -1
  150. package/dist/server-install/platforms/macosx-ngrok.d.ts +1 -1
  151. package/dist/server-install/platforms/ubuntu-vps.d.ts +16 -1
  152. package/dist/server-install/platforms/ubuntu-vps.js +83 -1
  153. package/dist/server-install/platforms/ubuntu-vps.js.map +1 -1
  154. package/dist/server-install/state.d.ts +1 -1
  155. package/dist/server-install/steps.d.ts +2 -2
  156. package/dist/server-install/strategies.d.ts +1 -1
  157. package/dist/server-install/types.d.ts +38 -424
  158. package/dist/server-install/ui.d.ts +1 -1
  159. package/dist/skills-banner.d.ts +7 -6
  160. package/dist/skills-banner.js +7 -6
  161. package/dist/skills-banner.js.map +1 -1
  162. package/dist/skills-remote.d.ts +2 -2
  163. package/dist/skills-update.d.ts +88 -0
  164. package/dist/skills-update.js +392 -0
  165. package/dist/skills-update.js.map +1 -0
  166. package/dist/skills.d.ts +2 -0
  167. package/dist/skills.js +3 -2
  168. package/dist/skills.js.map +1 -1
  169. package/dist/todos.d.ts +2 -28
  170. package/dist/todos.js +1 -1
  171. package/dist/ui-state.d.ts +16 -2
  172. package/dist/ui-state.js +14 -1
  173. package/dist/ui-state.js.map +1 -1
  174. package/dist/workflows/load.d.ts +1 -1
  175. package/dist/workflows/run.d.ts +53 -12
  176. package/dist/workflows/run.js +436 -64
  177. package/dist/workflows/run.js.map +1 -1
  178. package/dist/workflows/types.d.ts +59 -224
  179. package/dist/workflows/types.js +14 -0
  180. package/dist/workflows/types.js.map +1 -1
  181. package/dist/workspace/config.d.ts +68 -206
  182. package/dist/workspace/config.js +145 -14
  183. package/dist/workspace/config.js.map +1 -1
  184. package/dist/workspace/migrations.d.ts +1 -1
  185. package/dist/workspace/migrations.js +19 -4
  186. package/dist/workspace/migrations.js.map +1 -1
  187. package/dist/workspace/projects.d.ts +8 -2
  188. package/dist/workspace/projects.js +9 -3
  189. package/dist/workspace/projects.js.map +1 -1
  190. package/dist/workspace/semaphore.d.ts +6 -0
  191. package/dist/workspace/semaphore.js +14 -1
  192. package/dist/workspace/semaphore.js.map +1 -1
  193. package/dist/workspace/ui-state.d.ts +13 -3
  194. package/dist/workspace/ui-state.js +15 -5
  195. package/dist/workspace/ui-state.js.map +1 -1
  196. package/package.json +17 -39
  197. package/scripts/inline-contract.mjs +112 -0
  198. package/scripts/mock-claude.mjs +39 -1
  199. package/scripts/sync-readme.mjs +20 -0
  200. package/web/dist/assets/alert-dialog-ghffK6g9.js +1 -0
  201. package/web/dist/assets/arrow-down-Cz8qb71e.js +1 -0
  202. package/web/dist/assets/arrow-left-wcYKQXI_.js +1 -0
  203. package/web/dist/assets/bundle-mjs-BT31bpU6.js +1 -0
  204. package/web/dist/assets/centered-state-ZtnFHA-n.js +43 -0
  205. package/web/dist/assets/chevron-right-G4caF2QV.js +1 -0
  206. package/web/dist/assets/{chunk-BO2N2NFS-DtrdTCWa.js → chunk-BO2N2NFS-DE6qKn3r.js} +8 -8
  207. package/web/dist/assets/circle-check--KvBxXWp.js +1 -0
  208. package/web/dist/assets/circle-x-C3EFZ3xf.js +1 -0
  209. package/web/dist/assets/collapsible-B0JVzd0B.js +1 -0
  210. package/web/dist/assets/commit-list-wm6DPHNs.js +1 -0
  211. package/web/dist/assets/compare-variants-DbdP4Y5T.js +1 -0
  212. package/web/dist/assets/{core-DePtBHcl.js → core-BCsw8oQw.js} +1 -1
  213. package/web/dist/assets/diff-Bizc96qe.js +3 -0
  214. package/web/dist/assets/diff-stat-Dyfg3ltF.js +1 -0
  215. package/web/dist/assets/{diff-view-DCeSegKk.js → diff-view-CG8ek6tC.js} +4 -4
  216. package/web/dist/assets/dropdown-menu-C1Dlf35P.js +1 -0
  217. package/web/dist/assets/editable-title-5rC_QRBZ.js +1 -0
  218. package/web/dist/assets/{ellipsis-vertical-CNnSLn5a.js → ellipsis-vertical-DpGTRqC2.js} +1 -1
  219. package/web/dist/assets/{file-D4GBh1ao.js → file-DlUGpUlb.js} +1 -1
  220. package/web/dist/assets/folder-BAY6Vddy.js +1 -0
  221. package/web/dist/assets/{git-pull-request-DnR8Xh4_.js → git-pull-request-agOG0iGM.js} +1 -1
  222. package/web/dist/assets/git-toolbar-DGiNMmtY.js +1 -0
  223. package/web/dist/assets/github-Vp7lxYGQ.js +1 -0
  224. package/web/dist/assets/highlighted-body-OFNGDK62-BL-MfFgl.js +1 -0
  225. package/web/dist/assets/highlighter-CdHqIwFr.js +3 -0
  226. package/web/dist/assets/image-preview-BWGk5fPX.js +1 -0
  227. package/web/dist/assets/index-DSxyJpuK.css +2 -0
  228. package/web/dist/assets/index-DiawI6RX.js +6 -0
  229. package/web/dist/assets/lib-BQXq3kEf.js +1 -0
  230. package/web/dist/assets/lib-BxQXEXDF.js +1 -0
  231. package/web/dist/assets/markdown-BGBOGCA_.js +2 -0
  232. package/web/dist/assets/mermaid-GHXKKRXX-C4jxqUUb.js +1 -0
  233. package/web/dist/assets/new-task-form-BpAw_Dks.js +1 -0
  234. package/web/dist/assets/pill-Dvs-P0xy.js +1 -0
  235. package/web/dist/assets/project-router-Cx8NPoqn.js +1 -0
  236. package/web/dist/assets/prompt-templates-CSBYBR1I.js +15 -0
  237. package/web/dist/assets/react-runtime-CCIEwYL0.js +9 -0
  238. package/web/dist/assets/{refresh-cw-BT8E96Tm.js → refresh-cw-BoGdAykg.js} +1 -1
  239. package/web/dist/assets/repo-git-PmX-BNMo.js +1 -0
  240. package/web/dist/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  241. package/web/dist/assets/run-diff-EcOkf3ti.js +3 -0
  242. package/web/dist/assets/run-header-BGiv6_qX.js +1 -0
  243. package/web/dist/assets/{search-x-BDjaMrzG.js → search-x-X3EpVhgs.js} +1 -1
  244. package/web/dist/assets/skill-empty-hint-CZLALx6l.js +1 -0
  245. package/web/dist/assets/skills-BiWfHmCR.js +1 -0
  246. package/web/dist/assets/skills-CC91ouGH.js +1 -0
  247. package/web/dist/assets/sparkles-Dt4q7pbG.js +1 -0
  248. package/web/dist/assets/{square-terminal-Ckjjn0vb.js → square-terminal-hwBL8XsC.js} +1 -1
  249. package/web/dist/assets/tab-link-DIlR5T07.js +1 -0
  250. package/web/dist/assets/task-changes-XkHDxzQA.js +1 -0
  251. package/web/dist/assets/task-commits-BTTA5k5T.js +1 -0
  252. package/web/dist/assets/task-files-Da8_4C9g.js +2 -0
  253. package/web/dist/assets/task-thread-DoNXUsHr.js +9 -0
  254. package/web/dist/assets/textarea-CUdokhkv.js +1 -0
  255. package/web/dist/assets/thread-loading-B8q8ukXJ.js +1 -0
  256. package/web/dist/assets/{trash-2-DAyZ0VSi.js → trash-2-DhVIdWv8.js} +1 -1
  257. package/web/dist/assets/{triangle-alert-Uy8rokUh.js → triangle-alert-XYT0DGCI.js} +1 -1
  258. package/web/dist/assets/{upload-CDdyPPo_.js → upload-BKjN59-1.js} +1 -1
  259. package/web/dist/assets/use-desktop-Bf5LS_P4.js +1 -0
  260. package/web/dist/assets/use-submit-shortcut-CzVyoAMd.js +1 -0
  261. package/web/dist/assets/utils-DsLuRXwV.js +64 -0
  262. package/web/dist/assets/workflows-o2QU_pvU.js +11 -0
  263. package/web/dist/assets/zoomable-image-7WyUiaVD.js +1 -0
  264. package/web/dist/index.html +32 -13
  265. package/scripts/dev.mjs +0 -74
  266. package/scripts/release-snapshot.mjs +0 -130
  267. package/scripts/release.mjs +0 -119
  268. package/web/dist/assets/arrow-left-CnSdp92h.js +0 -1
  269. package/web/dist/assets/bundle-mjs-BegPhL5c.js +0 -1
  270. package/web/dist/assets/centered-state-DOsTcJZF.js +0 -43
  271. package/web/dist/assets/commit-list-BrxBEzRK.js +0 -1
  272. package/web/dist/assets/compare-variants-Bv2c9ORF.js +0 -1
  273. package/web/dist/assets/dist-B6XQOhgM.js +0 -1
  274. package/web/dist/assets/git-toolbar-pIC1ubPM.js +0 -1
  275. package/web/dist/assets/github-DTTSG0ht.js +0 -1
  276. package/web/dist/assets/highlighted-body-OFNGDK62-BuFJwunK.js +0 -1
  277. package/web/dist/assets/image-preview-DEhW0TFz.js +0 -1
  278. package/web/dist/assets/index-Cijmlz7q.js +0 -30
  279. package/web/dist/assets/index-DzroxqBG.css +0 -2
  280. package/web/dist/assets/lib-DPEZDBUN.js +0 -1
  281. package/web/dist/assets/lib-uHpeUPzK.js +0 -1
  282. package/web/dist/assets/mermaid-GHXKKRXX-CN2zQue0.js +0 -1
  283. package/web/dist/assets/open-mercato-toBr6SOa.svg +0 -11
  284. package/web/dist/assets/project-router-BMx4e8m-.js +0 -1
  285. package/web/dist/assets/repo-git-BusYfa3t.js +0 -1
  286. package/web/dist/assets/run-diff-wOJ3odA-.js +0 -3
  287. package/web/dist/assets/run-header-Cg5incil.js +0 -1
  288. package/web/dist/assets/skill-empty-hint-DTUSp6Vl.js +0 -1
  289. package/web/dist/assets/skills-PpP2owbM.js +0 -1
  290. package/web/dist/assets/tab-link-F3uQrdm2.js +0 -1
  291. package/web/dist/assets/task-changes-iD9kS79I.js +0 -1
  292. package/web/dist/assets/task-commits-COkLaUri.js +0 -1
  293. package/web/dist/assets/task-files-Ckttz7XH.js +0 -2
  294. package/web/dist/assets/task-thread-CQD91VPt.js +0 -9
  295. package/web/dist/assets/textarea-Bj_LCreg.js +0 -1
  296. package/web/dist/assets/use-desktop-DUh0STzq.js +0 -3
  297. package/web/dist/assets/utils-B8s5qIcK.js +0 -1
  298. package/web/dist/assets/workflows-BFk8C0co.js +0 -11
  299. package/web/dist/assets/zoomable-image-PEDOqyLQ.js +0 -1
  300. /package/web/{open-mercato.svg → dist/open-mercato.svg} +0 -0
@@ -20,81 +20,31 @@ export type StepStatus = (typeof STEP_STATUSES)[number];
20
20
  * manual removal hint instead of yanking it.
21
21
  */
22
22
  export declare const stepArtifactSchema: z.ZodObject<{
23
- kind: z.ZodEnum<["owned", "shared"]>;
24
- /** file | package | service | cert | htpasswd | config | note */
23
+ kind: z.ZodEnum<{
24
+ owned: "owned";
25
+ shared: "shared";
26
+ }>;
25
27
  type: z.ZodString;
26
- /** Filesystem path for `owned` files (vhost, unit, htpasswd). */
27
28
  path: z.ZodOptional<z.ZodString>;
28
- /** Human name: package id, unit name, cert domain, auth user. */
29
29
  name: z.ZodOptional<z.ZodString>;
30
- /** `system` | `user` for services. */
31
30
  scope: z.ZodOptional<z.ZodString>;
32
- /** For `shared` artifacts: the exact command the operator can run to remove it. */
33
31
  removeHint: z.ZodOptional<z.ZodString>;
34
- }, "strip", z.ZodTypeAny, {
35
- kind: "owned" | "shared";
36
- type: string;
37
- path?: string | undefined;
38
- name?: string | undefined;
39
- scope?: string | undefined;
40
- removeHint?: string | undefined;
41
- }, {
42
- kind: "owned" | "shared";
43
- type: string;
44
- path?: string | undefined;
45
- name?: string | undefined;
46
- scope?: string | undefined;
47
- removeHint?: string | undefined;
48
- }>;
32
+ }, z.core.$strip>;
49
33
  export type StepArtifact = z.infer<typeof stepArtifactSchema>;
50
34
  /** What a step returns from `run()`; `undo()` receives it back verbatim. */
51
35
  export declare const stepCreatedSchema: z.ZodNullable<z.ZodObject<{
52
36
  artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
53
- kind: z.ZodEnum<["owned", "shared"]>;
54
- /** file | package | service | cert | htpasswd | config | note */
37
+ kind: z.ZodEnum<{
38
+ owned: "owned";
39
+ shared: "shared";
40
+ }>;
55
41
  type: z.ZodString;
56
- /** Filesystem path for `owned` files (vhost, unit, htpasswd). */
57
42
  path: z.ZodOptional<z.ZodString>;
58
- /** Human name: package id, unit name, cert domain, auth user. */
59
43
  name: z.ZodOptional<z.ZodString>;
60
- /** `system` | `user` for services. */
61
44
  scope: z.ZodOptional<z.ZodString>;
62
- /** For `shared` artifacts: the exact command the operator can run to remove it. */
63
45
  removeHint: z.ZodOptional<z.ZodString>;
64
- }, "strip", z.ZodTypeAny, {
65
- kind: "owned" | "shared";
66
- type: string;
67
- path?: string | undefined;
68
- name?: string | undefined;
69
- scope?: string | undefined;
70
- removeHint?: string | undefined;
71
- }, {
72
- kind: "owned" | "shared";
73
- type: string;
74
- path?: string | undefined;
75
- name?: string | undefined;
76
- scope?: string | undefined;
77
- removeHint?: string | undefined;
78
- }>, "many">>;
79
- }, "strip", z.ZodTypeAny, {
80
- artifacts: {
81
- kind: "owned" | "shared";
82
- type: string;
83
- path?: string | undefined;
84
- name?: string | undefined;
85
- scope?: string | undefined;
86
- removeHint?: string | undefined;
87
- }[];
88
- }, {
89
- artifacts?: {
90
- kind: "owned" | "shared";
91
- type: string;
92
- path?: string | undefined;
93
- name?: string | undefined;
94
- scope?: string | undefined;
95
- removeHint?: string | undefined;
96
- }[] | undefined;
97
- }>>;
46
+ }, z.core.$strip>>>;
47
+ }, z.core.$strip>>;
98
48
  export type StepCreated = z.infer<typeof stepCreatedSchema>;
99
49
  /**
100
50
  * Persisted per-step outcome — the `steps` map in `server.json`. A status this
@@ -103,70 +53,26 @@ export type StepCreated = z.infer<typeof stepCreatedSchema>;
103
53
  * failure that would discard the whole ledger.
104
54
  */
105
55
  export declare const stepOutcomeSchema: z.ZodObject<{
106
- status: z.ZodCatch<z.ZodEnum<["pending", "done", "skipped", "failed"]>>;
56
+ status: z.ZodCatch<z.ZodEnum<{
57
+ done: "done";
58
+ failed: "failed";
59
+ pending: "pending";
60
+ skipped: "skipped";
61
+ }>>;
107
62
  created: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodObject<{
108
63
  artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
109
- kind: z.ZodEnum<["owned", "shared"]>;
110
- /** file | package | service | cert | htpasswd | config | note */
64
+ kind: z.ZodEnum<{
65
+ owned: "owned";
66
+ shared: "shared";
67
+ }>;
111
68
  type: z.ZodString;
112
- /** Filesystem path for `owned` files (vhost, unit, htpasswd). */
113
69
  path: z.ZodOptional<z.ZodString>;
114
- /** Human name: package id, unit name, cert domain, auth user. */
115
70
  name: z.ZodOptional<z.ZodString>;
116
- /** `system` | `user` for services. */
117
71
  scope: z.ZodOptional<z.ZodString>;
118
- /** For `shared` artifacts: the exact command the operator can run to remove it. */
119
72
  removeHint: z.ZodOptional<z.ZodString>;
120
- }, "strip", z.ZodTypeAny, {
121
- kind: "owned" | "shared";
122
- type: string;
123
- path?: string | undefined;
124
- name?: string | undefined;
125
- scope?: string | undefined;
126
- removeHint?: string | undefined;
127
- }, {
128
- kind: "owned" | "shared";
129
- type: string;
130
- path?: string | undefined;
131
- name?: string | undefined;
132
- scope?: string | undefined;
133
- removeHint?: string | undefined;
134
- }>, "many">>;
135
- }, "strip", z.ZodTypeAny, {
136
- artifacts: {
137
- kind: "owned" | "shared";
138
- type: string;
139
- path?: string | undefined;
140
- name?: string | undefined;
141
- scope?: string | undefined;
142
- removeHint?: string | undefined;
143
- }[];
144
- }, {
145
- artifacts?: {
146
- kind: "owned" | "shared";
147
- type: string;
148
- path?: string | undefined;
149
- name?: string | undefined;
150
- scope?: string | undefined;
151
- removeHint?: string | undefined;
152
- }[] | undefined;
153
- }>>>>;
154
- }, "strip", z.ZodTypeAny, {
155
- status: "done" | "failed" | "pending" | "skipped";
156
- created?: {
157
- artifacts: {
158
- kind: "owned" | "shared";
159
- type: string;
160
- path?: string | undefined;
161
- name?: string | undefined;
162
- scope?: string | undefined;
163
- removeHint?: string | undefined;
164
- }[];
165
- } | null | undefined;
166
- }, {
167
- status?: unknown;
168
- created?: unknown;
169
- }>;
73
+ }, z.core.$strip>>>;
74
+ }, z.core.$strip>>>>;
75
+ }, z.core.$strip>;
170
76
  export type StepOutcome = z.infer<typeof stepOutcomeSchema>;
171
77
  /**
172
78
  * `~/.cezar/server.json` — host-level, install-once. Additive-safe: every new
@@ -175,332 +81,40 @@ export type StepOutcome = z.infer<typeof stepOutcomeSchema>;
175
81
  */
176
82
  export declare const serverStateSchema: z.ZodObject<{
177
83
  schema: z.ZodCatch<z.ZodLiteral<1>>;
178
- /**
179
- * Free string, not an enum: a `server.json` written by a newer cezar with a
180
- * platform this version doesn't ship must still parse — the registry lookup
181
- * is where "unknown platform" is decided, with the ledger intact.
182
- */
183
84
  platform: z.ZodCatch<z.ZodOptional<z.ZodString>>;
184
- /**
185
- * Instance id (slug) this record belongs to — `default` for the original
186
- * single-cockpit host, or a domain-derived slug for a named instance under
187
- * `~/.cezar/server-instances/`. Self-describing so tooling can list what a
188
- * host runs without re-deriving it from the filename.
189
- */
190
85
  instance: z.ZodCatch<z.ZodOptional<z.ZodString>>;
191
- /** Public domain this instance answers on (drives nginx `server_name` +
192
- * the SSL cert). Absent for a plain HTTP / default install. */
193
86
  domain: z.ZodCatch<z.ZodOptional<z.ZodString>>;
194
- /**
195
- * External-reverse-proxy mode (`--external-proxy`): the box already has a
196
- * front (Dokploy/Traefik, Coolify, Caddy, an existing nginx) that owns
197
- * :80/:443 and provides TLS + auth. cezar then installs NO nginx and NO
198
- * cert of its own — just the service — and that proxy routes to `bindHost`.
199
- */
200
87
  externalProxy: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
201
- /**
202
- * Interface the cockpit binds. Loopback by default; an external-proxy
203
- * install may need a host the proxy can actually reach (e.g. the docker
204
- * bridge `172.17.0.1` when the proxy runs in a container).
205
- */
206
- bindHost: z.ZodCatch<z.ZodOptional<z.ZodString>>;
207
- /** Flips true only when every required step is `done`. */
208
- installed: z.ZodCatch<z.ZodDefault<z.ZodBoolean>>;
209
- /** True when this record was written by a CEZ_DRY_RUN preview — a real
210
- * install/uninstall treats it as no record at all (self-healing). */
211
- dryRun: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
212
- /** ISO stamp set by the caller (Date.now is unavailable in some contexts). */
213
- createdAt: z.ZodCatch<z.ZodOptional<z.ZodString>>;
214
- updatedAt: z.ZodCatch<z.ZodOptional<z.ZodString>>;
215
- primaryPort: z.ZodCatch<z.ZodDefault<z.ZodNumber>>;
216
- /** Public URL / identity user surfaced at the end — display only. */
217
- publicUrl: z.ZodCatch<z.ZodOptional<z.ZodString>>;
218
- /** macOS+ngrok free tier: the tunnel URL changes across restarts. */
219
- ephemeral: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
220
- steps: z.ZodCatch<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
221
- status: z.ZodCatch<z.ZodEnum<["pending", "done", "skipped", "failed"]>>;
222
- created: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodObject<{
223
- artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
224
- kind: z.ZodEnum<["owned", "shared"]>;
225
- /** file | package | service | cert | htpasswd | config | note */
226
- type: z.ZodString;
227
- /** Filesystem path for `owned` files (vhost, unit, htpasswd). */
228
- path: z.ZodOptional<z.ZodString>;
229
- /** Human name: package id, unit name, cert domain, auth user. */
230
- name: z.ZodOptional<z.ZodString>;
231
- /** `system` | `user` for services. */
232
- scope: z.ZodOptional<z.ZodString>;
233
- /** For `shared` artifacts: the exact command the operator can run to remove it. */
234
- removeHint: z.ZodOptional<z.ZodString>;
235
- }, "strip", z.ZodTypeAny, {
236
- kind: "owned" | "shared";
237
- type: string;
238
- path?: string | undefined;
239
- name?: string | undefined;
240
- scope?: string | undefined;
241
- removeHint?: string | undefined;
242
- }, {
243
- kind: "owned" | "shared";
244
- type: string;
245
- path?: string | undefined;
246
- name?: string | undefined;
247
- scope?: string | undefined;
248
- removeHint?: string | undefined;
249
- }>, "many">>;
250
- }, "strip", z.ZodTypeAny, {
251
- artifacts: {
252
- kind: "owned" | "shared";
253
- type: string;
254
- path?: string | undefined;
255
- name?: string | undefined;
256
- scope?: string | undefined;
257
- removeHint?: string | undefined;
258
- }[];
259
- }, {
260
- artifacts?: {
261
- kind: "owned" | "shared";
262
- type: string;
263
- path?: string | undefined;
264
- name?: string | undefined;
265
- scope?: string | undefined;
266
- removeHint?: string | undefined;
267
- }[] | undefined;
268
- }>>>>;
269
- }, "strip", z.ZodTypeAny, {
270
- status: "done" | "failed" | "pending" | "skipped";
271
- created?: {
272
- artifacts: {
273
- kind: "owned" | "shared";
274
- type: string;
275
- path?: string | undefined;
276
- name?: string | undefined;
277
- scope?: string | undefined;
278
- removeHint?: string | undefined;
279
- }[];
280
- } | null | undefined;
281
- }, {
282
- status?: unknown;
283
- created?: unknown;
284
- }>>>>>;
285
- }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
286
- schema: z.ZodCatch<z.ZodLiteral<1>>;
287
- /**
288
- * Free string, not an enum: a `server.json` written by a newer cezar with a
289
- * platform this version doesn't ship must still parse — the registry lookup
290
- * is where "unknown platform" is decided, with the ledger intact.
291
- */
292
- platform: z.ZodCatch<z.ZodOptional<z.ZodString>>;
293
- /**
294
- * Instance id (slug) this record belongs to — `default` for the original
295
- * single-cockpit host, or a domain-derived slug for a named instance under
296
- * `~/.cezar/server-instances/`. Self-describing so tooling can list what a
297
- * host runs without re-deriving it from the filename.
298
- */
299
- instance: z.ZodCatch<z.ZodOptional<z.ZodString>>;
300
- /** Public domain this instance answers on (drives nginx `server_name` +
301
- * the SSL cert). Absent for a plain HTTP / default install. */
302
- domain: z.ZodCatch<z.ZodOptional<z.ZodString>>;
303
- /**
304
- * External-reverse-proxy mode (`--external-proxy`): the box already has a
305
- * front (Dokploy/Traefik, Coolify, Caddy, an existing nginx) that owns
306
- * :80/:443 and provides TLS + auth. cezar then installs NO nginx and NO
307
- * cert of its own — just the service — and that proxy routes to `bindHost`.
308
- */
309
- externalProxy: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
310
- /**
311
- * Interface the cockpit binds. Loopback by default; an external-proxy
312
- * install may need a host the proxy can actually reach (e.g. the docker
313
- * bridge `172.17.0.1` when the proxy runs in a container).
314
- */
315
- bindHost: z.ZodCatch<z.ZodOptional<z.ZodString>>;
316
- /** Flips true only when every required step is `done`. */
317
- installed: z.ZodCatch<z.ZodDefault<z.ZodBoolean>>;
318
- /** True when this record was written by a CEZ_DRY_RUN preview — a real
319
- * install/uninstall treats it as no record at all (self-healing). */
320
- dryRun: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
321
- /** ISO stamp set by the caller (Date.now is unavailable in some contexts). */
322
- createdAt: z.ZodCatch<z.ZodOptional<z.ZodString>>;
323
- updatedAt: z.ZodCatch<z.ZodOptional<z.ZodString>>;
324
- primaryPort: z.ZodCatch<z.ZodDefault<z.ZodNumber>>;
325
- /** Public URL / identity user surfaced at the end — display only. */
326
- publicUrl: z.ZodCatch<z.ZodOptional<z.ZodString>>;
327
- /** macOS+ngrok free tier: the tunnel URL changes across restarts. */
328
- ephemeral: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
329
- steps: z.ZodCatch<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
330
- status: z.ZodCatch<z.ZodEnum<["pending", "done", "skipped", "failed"]>>;
331
- created: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodObject<{
332
- artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
333
- kind: z.ZodEnum<["owned", "shared"]>;
334
- /** file | package | service | cert | htpasswd | config | note */
335
- type: z.ZodString;
336
- /** Filesystem path for `owned` files (vhost, unit, htpasswd). */
337
- path: z.ZodOptional<z.ZodString>;
338
- /** Human name: package id, unit name, cert domain, auth user. */
339
- name: z.ZodOptional<z.ZodString>;
340
- /** `system` | `user` for services. */
341
- scope: z.ZodOptional<z.ZodString>;
342
- /** For `shared` artifacts: the exact command the operator can run to remove it. */
343
- removeHint: z.ZodOptional<z.ZodString>;
344
- }, "strip", z.ZodTypeAny, {
345
- kind: "owned" | "shared";
346
- type: string;
347
- path?: string | undefined;
348
- name?: string | undefined;
349
- scope?: string | undefined;
350
- removeHint?: string | undefined;
351
- }, {
352
- kind: "owned" | "shared";
353
- type: string;
354
- path?: string | undefined;
355
- name?: string | undefined;
356
- scope?: string | undefined;
357
- removeHint?: string | undefined;
358
- }>, "many">>;
359
- }, "strip", z.ZodTypeAny, {
360
- artifacts: {
361
- kind: "owned" | "shared";
362
- type: string;
363
- path?: string | undefined;
364
- name?: string | undefined;
365
- scope?: string | undefined;
366
- removeHint?: string | undefined;
367
- }[];
368
- }, {
369
- artifacts?: {
370
- kind: "owned" | "shared";
371
- type: string;
372
- path?: string | undefined;
373
- name?: string | undefined;
374
- scope?: string | undefined;
375
- removeHint?: string | undefined;
376
- }[] | undefined;
377
- }>>>>;
378
- }, "strip", z.ZodTypeAny, {
379
- status: "done" | "failed" | "pending" | "skipped";
380
- created?: {
381
- artifacts: {
382
- kind: "owned" | "shared";
383
- type: string;
384
- path?: string | undefined;
385
- name?: string | undefined;
386
- scope?: string | undefined;
387
- removeHint?: string | undefined;
388
- }[];
389
- } | null | undefined;
390
- }, {
391
- status?: unknown;
392
- created?: unknown;
393
- }>>>>>;
394
- }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
395
- schema: z.ZodCatch<z.ZodLiteral<1>>;
396
- /**
397
- * Free string, not an enum: a `server.json` written by a newer cezar with a
398
- * platform this version doesn't ship must still parse — the registry lookup
399
- * is where "unknown platform" is decided, with the ledger intact.
400
- */
401
- platform: z.ZodCatch<z.ZodOptional<z.ZodString>>;
402
- /**
403
- * Instance id (slug) this record belongs to — `default` for the original
404
- * single-cockpit host, or a domain-derived slug for a named instance under
405
- * `~/.cezar/server-instances/`. Self-describing so tooling can list what a
406
- * host runs without re-deriving it from the filename.
407
- */
408
- instance: z.ZodCatch<z.ZodOptional<z.ZodString>>;
409
- /** Public domain this instance answers on (drives nginx `server_name` +
410
- * the SSL cert). Absent for a plain HTTP / default install. */
411
- domain: z.ZodCatch<z.ZodOptional<z.ZodString>>;
412
- /**
413
- * External-reverse-proxy mode (`--external-proxy`): the box already has a
414
- * front (Dokploy/Traefik, Coolify, Caddy, an existing nginx) that owns
415
- * :80/:443 and provides TLS + auth. cezar then installs NO nginx and NO
416
- * cert of its own — just the service — and that proxy routes to `bindHost`.
417
- */
418
- externalProxy: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
419
- /**
420
- * Interface the cockpit binds. Loopback by default; an external-proxy
421
- * install may need a host the proxy can actually reach (e.g. the docker
422
- * bridge `172.17.0.1` when the proxy runs in a container).
423
- */
424
88
  bindHost: z.ZodCatch<z.ZodOptional<z.ZodString>>;
425
- /** Flips true only when every required step is `done`. */
426
89
  installed: z.ZodCatch<z.ZodDefault<z.ZodBoolean>>;
427
- /** True when this record was written by a CEZ_DRY_RUN preview — a real
428
- * install/uninstall treats it as no record at all (self-healing). */
429
90
  dryRun: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
430
- /** ISO stamp set by the caller (Date.now is unavailable in some contexts). */
431
91
  createdAt: z.ZodCatch<z.ZodOptional<z.ZodString>>;
432
92
  updatedAt: z.ZodCatch<z.ZodOptional<z.ZodString>>;
433
93
  primaryPort: z.ZodCatch<z.ZodDefault<z.ZodNumber>>;
434
- /** Public URL / identity user surfaced at the end — display only. */
435
94
  publicUrl: z.ZodCatch<z.ZodOptional<z.ZodString>>;
436
- /** macOS+ngrok free tier: the tunnel URL changes across restarts. */
437
95
  ephemeral: z.ZodCatch<z.ZodOptional<z.ZodBoolean>>;
438
96
  steps: z.ZodCatch<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodCatch<z.ZodObject<{
439
- status: z.ZodCatch<z.ZodEnum<["pending", "done", "skipped", "failed"]>>;
97
+ status: z.ZodCatch<z.ZodEnum<{
98
+ done: "done";
99
+ failed: "failed";
100
+ pending: "pending";
101
+ skipped: "skipped";
102
+ }>>;
440
103
  created: z.ZodCatch<z.ZodOptional<z.ZodNullable<z.ZodObject<{
441
104
  artifacts: z.ZodDefault<z.ZodArray<z.ZodObject<{
442
- kind: z.ZodEnum<["owned", "shared"]>;
443
- /** file | package | service | cert | htpasswd | config | note */
105
+ kind: z.ZodEnum<{
106
+ owned: "owned";
107
+ shared: "shared";
108
+ }>;
444
109
  type: z.ZodString;
445
- /** Filesystem path for `owned` files (vhost, unit, htpasswd). */
446
110
  path: z.ZodOptional<z.ZodString>;
447
- /** Human name: package id, unit name, cert domain, auth user. */
448
111
  name: z.ZodOptional<z.ZodString>;
449
- /** `system` | `user` for services. */
450
112
  scope: z.ZodOptional<z.ZodString>;
451
- /** For `shared` artifacts: the exact command the operator can run to remove it. */
452
113
  removeHint: z.ZodOptional<z.ZodString>;
453
- }, "strip", z.ZodTypeAny, {
454
- kind: "owned" | "shared";
455
- type: string;
456
- path?: string | undefined;
457
- name?: string | undefined;
458
- scope?: string | undefined;
459
- removeHint?: string | undefined;
460
- }, {
461
- kind: "owned" | "shared";
462
- type: string;
463
- path?: string | undefined;
464
- name?: string | undefined;
465
- scope?: string | undefined;
466
- removeHint?: string | undefined;
467
- }>, "many">>;
468
- }, "strip", z.ZodTypeAny, {
469
- artifacts: {
470
- kind: "owned" | "shared";
471
- type: string;
472
- path?: string | undefined;
473
- name?: string | undefined;
474
- scope?: string | undefined;
475
- removeHint?: string | undefined;
476
- }[];
477
- }, {
478
- artifacts?: {
479
- kind: "owned" | "shared";
480
- type: string;
481
- path?: string | undefined;
482
- name?: string | undefined;
483
- scope?: string | undefined;
484
- removeHint?: string | undefined;
485
- }[] | undefined;
486
- }>>>>;
487
- }, "strip", z.ZodTypeAny, {
488
- status: "done" | "failed" | "pending" | "skipped";
489
- created?: {
490
- artifacts: {
491
- kind: "owned" | "shared";
492
- type: string;
493
- path?: string | undefined;
494
- name?: string | undefined;
495
- scope?: string | undefined;
496
- removeHint?: string | undefined;
497
- }[];
498
- } | null | undefined;
499
- }, {
500
- status?: unknown;
501
- created?: unknown;
502
- }>>>>>;
503
- }, z.ZodTypeAny, "passthrough">>;
114
+ }, z.core.$strip>>>;
115
+ }, z.core.$strip>>>>;
116
+ }, z.core.$strip>>>>>;
117
+ }, z.core.$loose>;
504
118
  export type ServerState = z.infer<typeof serverStateSchema>;
505
119
  /** Freshly-initialized state (no install yet). */
506
120
  export declare function freshServerState(): ServerState;
@@ -1,5 +1,5 @@
1
1
  import * as clack from '@clack/prompts';
2
- import { type Ui } from './types.js';
2
+ import { type Ui } from './types.ts';
3
3
  /**
4
4
  * The interactive surface, implemented over `@clack/prompts` — the one place
5
5
  * the TUI library is imported. `types.ts`, the engine and the steps talk to
@@ -1,16 +1,17 @@
1
1
  /**
2
2
  * Promotes `open-mercato/skills` (#391) — cezar's built-in default skills source
3
3
  * (`DEFAULT_SKILLS_REPOS` in `src/config.ts`) that today only surfaces in `--help`. Split out of
4
- * `src/index.ts` so the CLI banner has one source of truth the web cockpit copy
5
- * (`web/app/src/components/skills-banner.tsx`) can be kept in step with, and so it is testable
6
- * without importing `index.ts` (which runs `main()` on import).
4
+ * `src/index.ts` so it is testable without importing `index.ts` (which runs `main()` on import).
5
+ * It once had a cockpit twin to stay in step with; #603 replaced that with the opt-in
6
+ * `packages/web/src/components/skills-import-panel.tsx`, so the terminal is now the only surface
7
+ * that renders the promo.
7
8
  *
8
9
  * Printed on `serve` start — a few lines in an already-chatty startup block. It has two off
9
10
  * switches, because a promo that cannot be silenced is a nag:
10
11
  * - `CEZ_NO_BANNER=1` in the environment, and
11
- * - `dismissedSkillsBanner` in `.ai/cezar/ui-state.json` — the SAME flag the cockpit banner
12
- * persists, so dismissing it there also silences the terminal and the two surfaces tell one
13
- * story.
12
+ * - `dismissedSkillsBanner` in `.ai/cezar/ui-state.json` — written by the cockpit banner until
13
+ * #603 removed it. The flag is still honoured, so anyone who dismissed it back then stays
14
+ * silenced; nothing writes it today.
14
15
  * Reading that flag follows the `src/config.ts` rule: a missing/unreadable/malformed state file
15
16
  * degrades to showing the banner, never to a crash or a blocked startup.
16
17
  */
@@ -2,16 +2,17 @@ import { readUiState } from './ui-state.js';
2
2
  /**
3
3
  * Promotes `open-mercato/skills` (#391) — cezar's built-in default skills source
4
4
  * (`DEFAULT_SKILLS_REPOS` in `src/config.ts`) that today only surfaces in `--help`. Split out of
5
- * `src/index.ts` so the CLI banner has one source of truth the web cockpit copy
6
- * (`web/app/src/components/skills-banner.tsx`) can be kept in step with, and so it is testable
7
- * without importing `index.ts` (which runs `main()` on import).
5
+ * `src/index.ts` so it is testable without importing `index.ts` (which runs `main()` on import).
6
+ * It once had a cockpit twin to stay in step with; #603 replaced that with the opt-in
7
+ * `packages/web/src/components/skills-import-panel.tsx`, so the terminal is now the only surface
8
+ * that renders the promo.
8
9
  *
9
10
  * Printed on `serve` start — a few lines in an already-chatty startup block. It has two off
10
11
  * switches, because a promo that cannot be silenced is a nag:
11
12
  * - `CEZ_NO_BANNER=1` in the environment, and
12
- * - `dismissedSkillsBanner` in `.ai/cezar/ui-state.json` — the SAME flag the cockpit banner
13
- * persists, so dismissing it there also silences the terminal and the two surfaces tell one
14
- * story.
13
+ * - `dismissedSkillsBanner` in `.ai/cezar/ui-state.json` — written by the cockpit banner until
14
+ * #603 removed it. The flag is still honoured, so anyone who dismissed it back then stays
15
+ * silenced; nothing writes it today.
15
16
  * Reading that flag follows the `src/config.ts` rule: a missing/unreadable/malformed state file
16
17
  * degrades to showing the banner, never to a crash or a blocked startup.
17
18
  */
@@ -1 +1 @@
1
- {"version":3,"file":"skills-banner.js","sourceRoot":"","sources":["../src/skills-banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,0DAA0D;IAC1D,0EAA0E;IAC1E,iEAAiE;IACjE,uFAAuF;IACvF,8EAA8E;CAC/E,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAAgB;IAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,qBAAqB,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,GAAG,GAA4B,OAAO,CAAC,GAAG;IAE1C,IAAI,CAAC,CAAC,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO;IACtD,KAAK,MAAM,IAAI,IAAI,mBAAmB;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAClD,GAAG,EAAE,CAAC;AACR,CAAC"}
1
+ {"version":3,"file":"skills-banner.js","sourceRoot":"","sources":["../src/skills-banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsB;IACpD,0DAA0D;IAC1D,0EAA0E;IAC1E,iEAAiE;IACjE,uFAAuF;IACvF,8EAA8E;CAC/E,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,QAAgB;IAC3D,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG;QAAE,OAAO,KAAK,CAAC;IACpD,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO,OAAO,CAAC,qBAAqB,KAAK,IAAI,CAAC;AAChD,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,QAAgB,EAChB,GAAG,GAA4B,OAAO,CAAC,GAAG;IAE1C,IAAI,CAAC,CAAC,MAAM,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAAE,OAAO;IACtD,KAAK,MAAM,IAAI,IAAI,mBAAmB;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IAClD,GAAG,EAAE,CAAC;AACR,CAAC"}
@@ -1,5 +1,5 @@
1
- import { type SkillsRepoSource } from './config.js';
2
- import { type Skill } from './skills.js';
1
+ import { type SkillsRepoSource } from './config.ts';
2
+ import { type Skill } from './skills.ts';
3
3
  /**
4
4
  * The git remote for a configured source, or null when the value is unsafe to
5
5
  * hand to `git` (#428). Team-skill repos are code-trusted — their skill bodies