codedeck 0.7.0 → 0.7.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 (121) hide show
  1. package/README.md +49 -34
  2. package/dist/cli/commands/claims.js +3 -2
  3. package/dist/cli/commands/claims.js.map +1 -1
  4. package/dist/cli/commands/doctor.js +8 -40
  5. package/dist/cli/commands/doctor.js.map +1 -1
  6. package/dist/cli/commands/logs.js +2 -2
  7. package/dist/cli/commands/logs.js.map +1 -1
  8. package/dist/cli/commands/open.js +8 -9
  9. package/dist/cli/commands/open.js.map +1 -1
  10. package/dist/cli/commands/ps.js +6 -6
  11. package/dist/cli/commands/ps.js.map +1 -1
  12. package/dist/cli/commands/review.js +36 -58
  13. package/dist/cli/commands/review.js.map +1 -1
  14. package/dist/cli/commands/run.js +27 -27
  15. package/dist/cli/commands/run.js.map +1 -1
  16. package/dist/cli/commands/setup.js +96 -314
  17. package/dist/cli/commands/setup.js.map +1 -1
  18. package/dist/cli/commands/show.js +2 -1
  19. package/dist/cli/commands/show.js.map +1 -1
  20. package/dist/cli/commands/ui.js +61 -0
  21. package/dist/cli/commands/ui.js.map +1 -0
  22. package/dist/cli/commands/usage.js +65 -42
  23. package/dist/cli/commands/usage.js.map +1 -1
  24. package/dist/cli/commands/wait.js +3 -2
  25. package/dist/cli/commands/wait.js.map +1 -1
  26. package/dist/cli/index.js +55 -39
  27. package/dist/cli/index.js.map +1 -1
  28. package/dist/cli/web-launch.js +126 -0
  29. package/dist/cli/web-launch.js.map +1 -0
  30. package/dist/config/config.js +0 -70
  31. package/dist/config/config.js.map +1 -1
  32. package/dist/config/paths.js +1 -0
  33. package/dist/config/paths.js.map +1 -1
  34. package/dist/config/setup.js +248 -0
  35. package/dist/config/setup.js.map +1 -0
  36. package/dist/config/web-host.js +31 -0
  37. package/dist/config/web-host.js.map +1 -0
  38. package/dist/config/web-port.js +24 -0
  39. package/dist/config/web-port.js.map +1 -0
  40. package/dist/core/claude-transcript.js +87 -0
  41. package/dist/core/claude-transcript.js.map +1 -1
  42. package/dist/core/errors.js +17 -0
  43. package/dist/core/errors.js.map +1 -1
  44. package/dist/core/models.js +4 -1
  45. package/dist/core/models.js.map +1 -1
  46. package/dist/core/pricing.js +73 -50
  47. package/dist/core/pricing.js.map +1 -1
  48. package/dist/core/roles.js +6 -5
  49. package/dist/core/roles.js.map +1 -1
  50. package/dist/core/run-skills.js +114 -0
  51. package/dist/core/run-skills.js.map +1 -0
  52. package/dist/core/run-usage.js +4 -1
  53. package/dist/core/run-usage.js.map +1 -1
  54. package/dist/core/session.js +6 -16
  55. package/dist/core/session.js.map +1 -1
  56. package/dist/core/usage-query.js +41 -0
  57. package/dist/core/usage-query.js.map +1 -0
  58. package/dist/daemon/build-id.js +30 -0
  59. package/dist/daemon/build-id.js.map +1 -0
  60. package/dist/daemon/daemon.js +1116 -767
  61. package/dist/daemon/daemon.js.map +1 -1
  62. package/dist/daemon/instance-lock.js +48 -0
  63. package/dist/daemon/instance-lock.js.map +1 -0
  64. package/dist/daemon/web-supervisor.js +251 -0
  65. package/dist/daemon/web-supervisor.js.map +1 -0
  66. package/dist/drivers/claude/driver.js +1 -0
  67. package/dist/drivers/claude/driver.js.map +1 -1
  68. package/dist/drivers/codex/driver.js +14 -3
  69. package/dist/drivers/codex/driver.js.map +1 -1
  70. package/dist/drivers/codex/host-skills.js +57 -0
  71. package/dist/drivers/codex/host-skills.js.map +1 -0
  72. package/dist/drivers/opencode/driver.js +6 -2
  73. package/dist/drivers/opencode/driver.js.map +1 -1
  74. package/dist/drivers/session-runtime.js +2 -0
  75. package/dist/drivers/session-runtime.js.map +1 -1
  76. package/dist/drivers/terminal.js +15 -0
  77. package/dist/drivers/terminal.js.map +1 -1
  78. package/dist/git/diff.js +29 -4
  79. package/dist/git/diff.js.map +1 -1
  80. package/dist/open/contract.js.map +1 -1
  81. package/dist/open/pty.js +330 -5
  82. package/dist/open/pty.js.map +1 -1
  83. package/dist/plugin/agents/general.md +33 -6
  84. package/dist/plugin/hooks/pane-ticker.ts +102 -0
  85. package/dist/plugin/hooks/register.tsx +33 -8
  86. package/dist/plugin/mods/agents/pane.ts +259 -136
  87. package/dist/plugin/mods/agents/types.ts +19 -3
  88. package/dist/plugin/statusline.sh +22 -34
  89. package/dist/store/database.js +5 -1
  90. package/dist/store/database.js.map +1 -1
  91. package/dist/store/sessions.js +55 -12
  92. package/dist/store/sessions.js.map +1 -1
  93. package/dist/utils/process.js +2 -16
  94. package/dist/utils/process.js.map +1 -1
  95. package/dist/web/brand.js +59 -0
  96. package/dist/web/brand.js.map +1 -0
  97. package/dist/web/child.js +67 -0
  98. package/dist/web/child.js.map +1 -0
  99. package/dist/web/home-page.js +48 -0
  100. package/dist/web/home-page.js.map +1 -0
  101. package/dist/web/review-page.js +12 -5
  102. package/dist/web/review-page.js.map +1 -1
  103. package/dist/web/security.js +170 -0
  104. package/dist/web/security.js.map +1 -0
  105. package/dist/web/server.js +198 -0
  106. package/dist/web/server.js.map +1 -0
  107. package/dist/web/setup-icons.js +37 -0
  108. package/dist/web/setup-icons.js.map +1 -0
  109. package/dist/web/setup-page.js +1795 -0
  110. package/dist/web/setup-page.js.map +1 -0
  111. package/dist/web/setup-routes.js +475 -0
  112. package/dist/web/setup-routes.js.map +1 -0
  113. package/dist/web/usage-page.js +609 -0
  114. package/dist/web/usage-page.js.map +1 -0
  115. package/dist/web/usage-routes.js +88 -0
  116. package/dist/web/usage-routes.js.map +1 -0
  117. package/dist/web/web-token.js +56 -0
  118. package/dist/web/web-token.js.map +1 -0
  119. package/package.json +1 -1
  120. package/dist/plugin/prompts/_partials/commit.md +0 -145
  121. package/dist/plugin/prompts/_partials/pr-writer.md +0 -186
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-page.js","sourceRoot":"","sources":["../../src/web/setup-page.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,475 @@
1
+ import { REASONING_EFFORTS } from "../core/driver.js";
2
+ import { CATALOG_DISCOVERY_TIMEOUT_MS, getBatchModels } from "../core/models.js";
3
+ import { isAgentId } from "../core/session.js";
4
+ import { ROLES } from "../core/roles.js";
5
+ import { DEFAULT_CONFIG, readConfigForSetup, saveConfig, serializeConfig, } from "../config/config.js";
6
+ import { isOrchestratorMode } from "../config/orchestrator-mode.js";
7
+ import { buildSetupPlan, catalogContains, validateBindings, } from "../config/setup.js";
8
+ import { getPaths } from "../config/paths.js";
9
+ import { getRegistry } from "../drivers/registry.js";
10
+ import { renderSetupPage } from "./setup-page.js";
11
+ const MAX_SETUP_BODY_BYTES = 64 * 1024;
12
+ const MODEL_PATTERN = /^[^\p{White_Space}\p{Cc}\p{Cf}=]+$/u;
13
+ function jsonResponse(response, status, value) {
14
+ response.writeHead(status, { "content-type": "application/json; charset=utf-8" });
15
+ response.end(JSON.stringify(value));
16
+ }
17
+ function isObject(value) {
18
+ return typeof value === "object" && value !== null && !Array.isArray(value);
19
+ }
20
+ function hasOnlyKeys(value, keys) {
21
+ return Object.keys(value).every((key) => keys.includes(key));
22
+ }
23
+ function errorMessage(error) {
24
+ return error instanceof Error ? error.message : String(error);
25
+ }
26
+ function currentConfigPath(dependencies) {
27
+ return dependencies.configPath?.() ?? getPaths().configFile;
28
+ }
29
+ function setupReadProblem(read, dependencies, thrown) {
30
+ if (thrown !== undefined) {
31
+ const error = thrown instanceof Error ? thrown : new Error(String(thrown));
32
+ return {
33
+ read: {
34
+ status: "invalid",
35
+ source: "none",
36
+ path: currentConfigPath(dependencies),
37
+ config: null,
38
+ raw: null,
39
+ message: error.message,
40
+ readError: error,
41
+ },
42
+ code: 15,
43
+ message: `Cannot save config "${currentConfigPath(dependencies)}": ${error.message}.`,
44
+ };
45
+ }
46
+ if (read.status !== "invalid")
47
+ return undefined;
48
+ if (read.readError) {
49
+ return {
50
+ read,
51
+ code: 15,
52
+ message: `Cannot save config "${currentConfigPath(dependencies)}": ${read.message ?? read.readError.message}.`,
53
+ };
54
+ }
55
+ return {
56
+ read,
57
+ code: 14,
58
+ message: read.message ?? `Config file "${read.path}" contains invalid JSON; no changes were written. Repair or move it and retry.`,
59
+ };
60
+ }
61
+ export function buildSetupState(read) {
62
+ if (read.status === "invalid") {
63
+ throw new Error(read.message ?? `Config file "${read.path}" could not be read.`);
64
+ }
65
+ const current = { ...DEFAULT_CONFIG, ...(read.config ?? {}) };
66
+ const bindings = current.agents ?? {};
67
+ const efforts = Object.fromEntries(ROLES.flatMap((role) => {
68
+ const effort = bindings[role]?.effort;
69
+ return effort === undefined ? [] : [[role, effort]];
70
+ }));
71
+ return {
72
+ target: { kind: "global" },
73
+ bindings,
74
+ efforts,
75
+ ...(current.orchestrator === undefined ? {} : { orchestrator: current.orchestrator }),
76
+ ...(current.defaultSandbox === undefined ? {} : { sandbox: current.defaultSandbox }),
77
+ ...(current.autocompact === undefined ? {} : { autocompact: current.autocompact }),
78
+ };
79
+ }
80
+ function readAndResolve(dependencies) {
81
+ let read;
82
+ try {
83
+ read = (dependencies.readConfig ?? readConfigForSetup)();
84
+ }
85
+ catch (error) {
86
+ const problem = setupReadProblem({
87
+ status: "invalid",
88
+ source: "none",
89
+ path: currentConfigPath(dependencies),
90
+ config: null,
91
+ raw: null,
92
+ message: errorMessage(error),
93
+ }, dependencies, error);
94
+ return { problem: problem };
95
+ }
96
+ const problem = setupReadProblem(read, dependencies);
97
+ if (problem)
98
+ return { problem };
99
+ const current = { ...DEFAULT_CONFIG, ...(read.config ?? {}) };
100
+ try {
101
+ const state = buildSetupState(read);
102
+ return { loaded: { read, current, state } };
103
+ }
104
+ catch (error) {
105
+ return {
106
+ problem: {
107
+ read,
108
+ code: 14,
109
+ message: errorMessage(error),
110
+ },
111
+ };
112
+ }
113
+ }
114
+ function configValidation(read) {
115
+ return {
116
+ status: read.status,
117
+ source: read.source,
118
+ path: read.path,
119
+ message: read.status === "invalid" ? read.message : null,
120
+ };
121
+ }
122
+ function noCatalog() {
123
+ return { status: "not-needed", source: "none", ageMs: null, message: null };
124
+ }
125
+ function catalogValidation(catalog, message) {
126
+ if (!catalog)
127
+ return noCatalog();
128
+ return {
129
+ status: catalog.status,
130
+ source: catalog.source,
131
+ ageMs: catalog.ageMs,
132
+ message,
133
+ };
134
+ }
135
+ function emptyEnvelope(read, code, message) {
136
+ return {
137
+ proposta: null,
138
+ validacoes: {
139
+ config: configValidation(read),
140
+ catalogo: noCatalog(),
141
+ bindings: [],
142
+ },
143
+ mudancas: [],
144
+ resultado: { status: "error", code, saved: false, message },
145
+ };
146
+ }
147
+ function isRole(value) {
148
+ return ROLES.includes(value);
149
+ }
150
+ function isRoleBinding(value) {
151
+ if (!isObject(value) ||
152
+ !hasOnlyKeys(value, ["harness", "model", "effort"]) ||
153
+ !isAgentId(value.harness) ||
154
+ typeof value.model !== "string" ||
155
+ !MODEL_PATTERN.test(value.model)) {
156
+ return false;
157
+ }
158
+ return value.effort === undefined || REASONING_EFFORTS.includes(value.effort);
159
+ }
160
+ export function isSetupSelection(value) {
161
+ if (!isObject(value))
162
+ return false;
163
+ const allowedKeys = ["agents", "orchestrator", "sandbox", "autocompact", "offCatalogConfirmed"];
164
+ if (Object.keys(value).some((key) => !allowedKeys.includes(key)))
165
+ return false;
166
+ if (!isObject(value.agents))
167
+ return false;
168
+ if (Object.entries(value.agents).some(([role, binding]) => !isRole(role) || !isRoleBinding(binding)))
169
+ return false;
170
+ if (value.orchestrator !== undefined) {
171
+ if (!isObject(value.orchestrator) || !hasOnlyKeys(value.orchestrator, ["investigate", "selfWork", "tools", "parallelism"])) {
172
+ return false;
173
+ }
174
+ if (!isOrchestratorMode(value.orchestrator))
175
+ return false;
176
+ }
177
+ if (value.sandbox !== undefined &&
178
+ value.sandbox !== "workspace-write" &&
179
+ value.sandbox !== "danger-full-access")
180
+ return false;
181
+ if (value.autocompact !== undefined) {
182
+ if (!isObject(value.autocompact) || !hasOnlyKeys(value.autocompact, ["enabled"]) || typeof value.autocompact.enabled !== "boolean") {
183
+ return false;
184
+ }
185
+ }
186
+ if (value.offCatalogConfirmed !== undefined) {
187
+ if (!isObject(value.offCatalogConfirmed))
188
+ return false;
189
+ if (Object.entries(value.offCatalogConfirmed).some(([role, confirmed]) => !isRole(role) || typeof confirmed !== "boolean")) {
190
+ return false;
191
+ }
192
+ }
193
+ return true;
194
+ }
195
+ async function readJsonBody(request) {
196
+ const chunks = [];
197
+ let size = 0;
198
+ let oversized = false;
199
+ try {
200
+ for await (const chunk of request) {
201
+ const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
202
+ size += buffer.byteLength;
203
+ if (size > MAX_SETUP_BODY_BYTES) {
204
+ oversized = true;
205
+ continue;
206
+ }
207
+ chunks.push(buffer);
208
+ }
209
+ }
210
+ catch (error) {
211
+ return { ok: false, message: errorMessage(error) };
212
+ }
213
+ if (oversized)
214
+ return { ok: false, message: "Setup request body exceeds 64 KiB." };
215
+ try {
216
+ return { ok: true, value: JSON.parse(Buffer.concat(chunks).toString("utf8")) };
217
+ }
218
+ catch {
219
+ return { ok: false, message: "Setup request body must be valid JSON." };
220
+ }
221
+ }
222
+ function changedBindings(targetBindings, selection) {
223
+ const current = targetBindings ?? {};
224
+ return ROLES.flatMap((role) => {
225
+ const binding = selection.agents[role];
226
+ if (!binding)
227
+ return [];
228
+ const previous = current[role];
229
+ if (previous?.harness === binding.harness && previous.model === binding.model)
230
+ return [];
231
+ return [{ role, binding }];
232
+ });
233
+ }
234
+ function catalogFailure(error) {
235
+ return {
236
+ models: [],
237
+ status: "unavailable",
238
+ source: "none",
239
+ ageMs: null,
240
+ discoveryError: errorMessage(error),
241
+ cacheWriteFailed: false,
242
+ };
243
+ }
244
+ function errorCodeFor(entries) {
245
+ const failed = entries.find((entry) => entry.status !== "accepted");
246
+ if (!failed)
247
+ return undefined;
248
+ if (failed.status === "harness-unavailable")
249
+ return 11;
250
+ if (failed.status === "unknown-model")
251
+ return 12;
252
+ return 13;
253
+ }
254
+ function bindingMessage(entries) {
255
+ return entries.find((entry) => entry.status !== "accepted")?.message;
256
+ }
257
+ function confirmedOffCatalog(entry, selection, catalog) {
258
+ if (!selection.offCatalogConfirmed?.[entry.role])
259
+ return false;
260
+ if (entry.status !== "unknown-model" && entry.status !== "unverified")
261
+ return false;
262
+ const harness = catalog.models.find((candidate) => candidate.agent === entry.harness);
263
+ return harness?.available === true && !catalogContains(harness, entry.model);
264
+ }
265
+ export function createSetupRoutes(dependencies = {}) {
266
+ const loadCatalog = dependencies.getBatchModels ?? ((options) => getBatchModels(dependencies.registry ?? getRegistry(), options));
267
+ let refreshInFlight;
268
+ function refreshCatalog() {
269
+ if (refreshInFlight)
270
+ return refreshInFlight;
271
+ const pending = loadCatalog({ refresh: true, allowNetwork: true, timeoutMs: CATALOG_DISCOVERY_TIMEOUT_MS });
272
+ const inFlight = pending.finally(() => {
273
+ if (refreshInFlight === inFlight)
274
+ refreshInFlight = undefined;
275
+ });
276
+ refreshInFlight = inFlight;
277
+ return inFlight;
278
+ }
279
+ async function validateChanged(bindings, selection, allowConfirmation) {
280
+ if (bindings.length === 0)
281
+ return { entries: [], message: null };
282
+ let catalog;
283
+ try {
284
+ catalog = await loadCatalog({
285
+ agents: [...new Set(bindings.map(({ binding }) => binding.harness))],
286
+ allowNetwork: false,
287
+ });
288
+ }
289
+ catch (error) {
290
+ catalog = catalogFailure(error);
291
+ }
292
+ const validation = validateBindings(bindings, catalog);
293
+ const entries = validation.entries.map((entry) => allowConfirmation && confirmedOffCatalog(entry, selection, catalog)
294
+ ? { ...entry, status: "accepted", message: "" }
295
+ : entry);
296
+ const code = errorCodeFor(entries);
297
+ const message = bindingMessage(entries) ?? validation.message;
298
+ return { catalog, entries, code, message };
299
+ }
300
+ function method(request, response, expected) {
301
+ if (request.method === expected)
302
+ return true;
303
+ response.writeHead(405, { Allow: expected, "content-type": "text/plain; charset=utf-8" });
304
+ response.end("method not allowed");
305
+ return false;
306
+ }
307
+ function page(_request, response) {
308
+ response.writeHead(200, { "content-type": "text/html; charset=utf-8" });
309
+ response.end(renderSetupPage({ pages: dependencies.pages ?? [{ label: "Setup", path: "/setup" }] }));
310
+ }
311
+ function stateRoute(_request, response) {
312
+ const result = readAndResolve(dependencies);
313
+ if ("problem" in result) {
314
+ jsonResponse(response, 500, { error: result.problem.message, code: result.problem.code });
315
+ return;
316
+ }
317
+ const { read, state } = result.loaded;
318
+ jsonResponse(response, 200, {
319
+ config: { status: read.status, source: read.source, path: read.path },
320
+ target: state.target,
321
+ bindings: state.bindings,
322
+ efforts: state.efforts,
323
+ ...(state.orchestrator === undefined ? {} : { orchestrator: state.orchestrator }),
324
+ ...(state.sandbox === undefined ? {} : { sandbox: state.sandbox }),
325
+ ...(state.autocompact === undefined ? {} : { autocompact: state.autocompact }),
326
+ });
327
+ }
328
+ async function catalogRoute(_request, response) {
329
+ try {
330
+ const catalog = await loadCatalog({ allowNetwork: false });
331
+ jsonResponse(response, 200, catalog);
332
+ }
333
+ catch (error) {
334
+ jsonResponse(response, 500, { error: errorMessage(error) });
335
+ }
336
+ }
337
+ async function refreshRoute(_request, response) {
338
+ try {
339
+ jsonResponse(response, 200, await refreshCatalog());
340
+ }
341
+ catch (error) {
342
+ jsonResponse(response, 500, { error: errorMessage(error) });
343
+ }
344
+ }
345
+ async function mutationRoute(request, response, dryRun) {
346
+ const body = await readJsonBody(request);
347
+ if (!body.ok || !isSetupSelection(body.value)) {
348
+ jsonResponse(response, 400, { error: body.message ?? "Setup request body has an invalid shape." });
349
+ return;
350
+ }
351
+ const selection = body.value;
352
+ const result = readAndResolve(dependencies);
353
+ if ("problem" in result) {
354
+ jsonResponse(response, 500, emptyEnvelope(result.problem.read, result.problem.code, result.problem.message));
355
+ return;
356
+ }
357
+ const { read, current } = result.loaded;
358
+ const plan = buildSetupPlan(current, selection);
359
+ const changed = changedBindings(current.agents, selection);
360
+ let validation;
361
+ try {
362
+ validation = await validateChanged(changed, selection, !dryRun);
363
+ }
364
+ catch (error) {
365
+ validation = {
366
+ catalog: catalogFailure(error),
367
+ entries: changed.map(({ role, binding }) => ({
368
+ role,
369
+ harness: binding.harness,
370
+ model: binding.model,
371
+ status: "unverified",
372
+ message: errorMessage(error),
373
+ })),
374
+ code: 13,
375
+ message: errorMessage(error),
376
+ };
377
+ }
378
+ const validations = {
379
+ config: configValidation(read),
380
+ catalogo: catalogValidation(validation.catalog, validation.message),
381
+ bindings: validation.entries,
382
+ };
383
+ if (validation.code !== undefined) {
384
+ const failed = bindingMessage(validation.entries) ?? validation.message ?? "Setup validation failed.";
385
+ jsonResponse(response, 422, {
386
+ proposta: plan.proposedConfig,
387
+ validacoes: validations,
388
+ mudancas: plan.diff,
389
+ resultado: { status: "error", code: validation.code, saved: false, message: failed },
390
+ });
391
+ return;
392
+ }
393
+ if (plan.diff.length === 0) {
394
+ jsonResponse(response, 200, {
395
+ proposta: plan.proposedConfig,
396
+ validacoes: validations,
397
+ mudancas: plan.diff,
398
+ resultado: { status: "unchanged", code: 0, saved: false, message: "Configuration unchanged." },
399
+ });
400
+ return;
401
+ }
402
+ if (dryRun) {
403
+ jsonResponse(response, 200, {
404
+ proposta: plan.proposedConfig,
405
+ validacoes: validations,
406
+ mudancas: plan.diff,
407
+ resultado: { status: "dry-run", code: 0, saved: false, message: "Dry run; configuration not written." },
408
+ });
409
+ return;
410
+ }
411
+ const serialized = serializeConfig(plan.proposedConfig);
412
+ if (read.source === "canonical" && read.raw === serialized) {
413
+ jsonResponse(response, 200, {
414
+ proposta: plan.proposedConfig,
415
+ validacoes: validations,
416
+ mudancas: [],
417
+ resultado: { status: "unchanged", code: 0, saved: false, message: "Configuration unchanged." },
418
+ });
419
+ return;
420
+ }
421
+ try {
422
+ const saved = (dependencies.saveConfig ?? saveConfig)(plan.proposedConfig);
423
+ if (saved === false) {
424
+ jsonResponse(response, 200, {
425
+ proposta: plan.proposedConfig,
426
+ validacoes: validations,
427
+ mudancas: [],
428
+ resultado: { status: "unchanged", code: 0, saved: false, message: "Configuration unchanged." },
429
+ });
430
+ return;
431
+ }
432
+ }
433
+ catch (error) {
434
+ const message = `Cannot save config "${currentConfigPath(dependencies)}": ${errorMessage(error)}.`;
435
+ jsonResponse(response, 500, {
436
+ proposta: plan.proposedConfig,
437
+ validacoes: validations,
438
+ mudancas: plan.diff,
439
+ resultado: { status: "error", code: 15, saved: false, message },
440
+ });
441
+ return;
442
+ }
443
+ jsonResponse(response, 200, {
444
+ proposta: plan.proposedConfig,
445
+ validacoes: validations,
446
+ mudancas: plan.diff,
447
+ resultado: { status: "applied", code: 0, saved: true, message: "Configuration saved." },
448
+ });
449
+ }
450
+ const route = (path, kind, handler, label) => ({ path, kind, handler, ...(label === undefined ? {} : { label }) });
451
+ return [
452
+ route("/setup", "page", page, "Setup"),
453
+ route("/api/setup/state", "api", (request, response) => {
454
+ if (method(request, response, "GET"))
455
+ stateRoute(request, response);
456
+ }),
457
+ route("/api/setup/catalog", "api", (request, response) => {
458
+ if (method(request, response, "GET"))
459
+ return catalogRoute(request, response);
460
+ }),
461
+ route("/api/setup/catalog/refresh", "api", (request, response) => {
462
+ if (method(request, response, "POST"))
463
+ return refreshRoute(request, response);
464
+ }),
465
+ route("/api/setup/dry-run", "api", (request, response) => {
466
+ if (method(request, response, "POST"))
467
+ return mutationRoute(request, response, true);
468
+ }),
469
+ route("/api/setup/apply", "api", (request, response) => {
470
+ if (method(request, response, "POST"))
471
+ return mutationRoute(request, response, false);
472
+ }),
473
+ ];
474
+ }
475
+ //# sourceMappingURL=setup-routes.js.map