bazilion 0.19.1 → 0.20.0

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 (91) hide show
  1. package/dist/cli.js +272 -129
  2. package/dist/cli.js.map +1 -1
  3. package/dist/daemon.js +1667 -707
  4. package/dist/daemon.js.map +1 -1
  5. package/dist/migrations/0001_init.sql +46 -0
  6. package/dist/web/client/assets/{ChatPane-DCyGcqdh.js → ChatPane-CGCtAuD3.js} +1 -1
  7. package/dist/web/client/assets/{ConfirmDialog-C908TxS5.js → ConfirmDialog-Br19uXWH.js} +1 -1
  8. package/dist/web/client/assets/{FieldRow-CELqI-1V.js → FieldRow-Csy3_cH5.js} +1 -1
  9. package/dist/web/client/assets/{ProductionTeamPolicyEditor-DnTcWhG8.js → ProductionTeamPolicyEditor-DG1x4Cqz.js} +1 -1
  10. package/dist/web/client/assets/{ProfileCommunicationEditor-BVIEaW3s.js → ProfileCommunicationEditor-C3odNVkK.js} +1 -1
  11. package/dist/web/client/assets/{ResultSourceConversation-4gbZCh_s.js → ResultSourceConversation-5PFWqXTY.js} +1 -1
  12. package/dist/web/client/assets/{TeamTabs-V17b45X5.js → TeamTabs-BHB_COm0.js} +1 -1
  13. package/dist/web/client/assets/{TemplatesTabs-BMK3Qok_.js → TemplatesTabs-YyytjW7k.js} +1 -1
  14. package/dist/web/client/assets/{UnsavedChangesGuard-BaE-UzyS.js → UnsavedChangesGuard-CredyC3E.js} +1 -1
  15. package/dist/web/client/assets/{_id-CArZR-IO.js → _id-BLm9LVlZ.js} +1 -1
  16. package/dist/web/client/assets/{_id-BU1l9gP7.js → _id-BZ_-4M4s.js} +1 -1
  17. package/dist/web/client/assets/{_id-Bvh5LyUv.js → _id-CIkPtQY0.js} +1 -1
  18. package/dist/web/client/assets/{_id-BVANQm00.js → _id-KXX6nuKc.js} +1 -1
  19. package/dist/web/client/assets/{_id-tUkSe5li.js → _id-nDbQY7f_.js} +1 -1
  20. package/dist/web/client/assets/{activity-CWCnqjqj.js → activity-BE7jG1Mz.js} +1 -1
  21. package/dist/web/client/assets/{agents-CdCnhH06.js → agents-S9lzXrrs.js} +1 -1
  22. package/dist/web/client/assets/{agents-CX4STmGK.js → agents-vOPd-upn.js} +1 -1
  23. package/dist/web/client/assets/{approvals-CnNpwG78.js → approvals-BUfhlUAX.js} +1 -1
  24. package/dist/web/client/assets/{attention-CEE-wWrx.js → attention-C3r-2GSp.js} +1 -1
  25. package/dist/web/client/assets/chevron-right-C7P3Z105.js +1 -0
  26. package/dist/web/client/assets/{config-CSEtI-dq.js → config-AL_EM57n.js} +1 -1
  27. package/dist/web/client/assets/{inbox-MYnBtPdF.js → inbox-LlCpJrMH.js} +1 -1
  28. package/dist/web/client/assets/{index-Ct31TjS-.js → index-CwMw0pnV.js} +2 -2
  29. package/dist/web/client/assets/{learning-BIR5FTgQ.js → learning-zvTJ_9vM.js} +1 -1
  30. package/dist/web/client/assets/{login-DIeceuOs.js → login-BpQ54z8Y.js} +1 -1
  31. package/dist/web/client/assets/{mcp-CX3kJpGu.js → mcp-BD6VzXg_.js} +1 -1
  32. package/dist/web/client/assets/{members-DlhSjye1.js → members-SEDi8SFo.js} +1 -1
  33. package/dist/web/client/assets/{memory-CsDd6b2l.js → memory-zi_dPlMA.js} +1 -1
  34. package/dist/web/client/assets/{policy-DkWDhG0x.js → policy-URjQAAdN.js} +1 -1
  35. package/dist/web/client/assets/{results-BHdhNHJJ.js → results-Bcuy4Flp.js} +1 -1
  36. package/dist/web/client/assets/review-CVH7X9-d.js +1 -0
  37. package/dist/web/client/assets/{routes-DtYD4WJL.js → routes-BJEX6yAE.js} +1 -1
  38. package/dist/web/client/assets/{services-WUlW7oEo.js → services-BTG4F5FL.js} +1 -1
  39. package/dist/web/client/assets/{skills-jNoUfUSZ.js → skills-DwiHS7eD.js} +1 -1
  40. package/dist/web/client/assets/{teams-C1kYRrtP.js → teams-DcROmSGB.js} +1 -1
  41. package/dist/web/client/assets/{teams-D3FaSKE7.js → teams-DfpwQu1i.js} +1 -1
  42. package/dist/web/client/assets/{telegram-D86AO6V9.js → telegram-BLyaaUXE.js} +1 -1
  43. package/dist/web/client/assets/{tokens-B42KDisP.js → tokens-Dp9Vwvfx.js} +1 -1
  44. package/dist/web/client/assets/{triggers-yEfWnQ_K.js → triggers-CtVhrAGA.js} +1 -1
  45. package/dist/web/client/assets/verifications-TC0ccGLY.js +2 -0
  46. package/dist/web/client/assets/{welcome-D8IbF_P0.js → welcome-DML3X1ha.js} +1 -1
  47. package/dist/web/client/assets/{x-CXKABZ7C.js → x-D8yuCam7.js} +1 -1
  48. package/dist/web/server/assets/{_id-bVispdh-.js → _id-Bazctexc.js} +1 -1
  49. package/dist/web/server/assets/{_id-Dab2CVtO2.js → _id-BjvOb4CK2.js} +1 -1
  50. package/dist/web/server/assets/{_id-DL-SnSnK.js → _id-Bn0w00AG.js} +1 -1
  51. package/dist/web/server/assets/{_id-D2bDA1iV.js → _id-DFf_uQiI.js} +1 -1
  52. package/dist/web/server/assets/{_tanstack-start-manifest_v-BcTOb0oj.js → _tanstack-start-manifest_v-BGSoO6CK.js} +79 -79
  53. package/dist/web/server/assets/{activity-CLDAy6rk.js → activity-j_Enmf3L.js} +1 -1
  54. package/dist/web/server/assets/{agents-CdB2kuNN.js → agents-BAi0dE66.js} +1 -1
  55. package/dist/web/server/assets/{agents-DfHcb2H2.js → agents-BHUbTrm7.js} +1 -1
  56. package/dist/web/server/assets/{approvals-Bq846WaP.js → approvals-BcUm6IOo.js} +1 -1
  57. package/dist/web/server/assets/{attention-Sm-U7s_0.js → attention-BQBa0Bu5.js} +1 -1
  58. package/dist/web/server/assets/{auth-PB5dVyvX.js → auth-PDNSxrT-.js} +1 -1
  59. package/dist/web/server/assets/{config-BNGTBu80.js → config-Cf7hhsUR.js} +1 -1
  60. package/dist/web/server/assets/{daemon-client-CWQvck6B.js → daemon-client-DY4jE6KU.js} +15 -0
  61. package/dist/web/server/assets/{git-review-C_h_tezf.js → git-review-RvzReZyD.js} +1 -1
  62. package/dist/web/server/assets/{inbox-DJoU-bla.js → inbox-Du1guYth.js} +1 -1
  63. package/dist/web/server/assets/{learning-DVb0I_3Z.js → learning-CjcixPRH.js} +1 -1
  64. package/dist/web/server/assets/{mcp-CeZqOiDG.js → mcp-BCalFLvt.js} +1 -1
  65. package/dist/web/server/assets/{members-CcYjuqxB.js → members-C4TpK50B.js} +1 -1
  66. package/dist/web/server/assets/{memory-CH2yNT89.js → memory-CLZs-XRY.js} +1 -1
  67. package/dist/web/server/assets/{policy-DrRKinMr.js → policy-BrIXpwxZ.js} +1 -1
  68. package/dist/web/server/assets/publications-BrX3-WJf.js +57 -0
  69. package/dist/web/server/assets/{results-fT2zyiJx.js → results-CJR6dNzB.js} +1 -1
  70. package/dist/web/server/assets/{review-CvUPk4HA.js → review-CRHiZfC8.js} +1 -1
  71. package/dist/web/server/assets/{review-DYcYdUTv.js → review-Dqdts12v.js} +205 -3
  72. package/dist/web/server/assets/{review-packets-e36PsTSX.js → review-packets-D3bZ7QYU.js} +1 -1
  73. package/dist/web/server/assets/{router-NYhuYQCd.js → router-BVhdWkwP.js} +3 -3
  74. package/dist/web/server/assets/{routes-RdppWPiW.js → routes-DizvfkfZ.js} +1 -1
  75. package/dist/web/server/assets/{services-Dgu7dcTC.js → services-DDRj180j.js} +1 -1
  76. package/dist/web/server/assets/{skills-DL7UIWa8.js → skills-Bck9L5oo.js} +1 -1
  77. package/dist/web/server/assets/{teams-DiC-MBg4.js → teams-CSqR5mWl.js} +1 -1
  78. package/dist/web/server/assets/{teams-Cmn7mdx9.js → teams-C_PicOsj.js} +1 -1
  79. package/dist/web/server/assets/{telegram-CLOFnLjF.js → telegram-D0odXx1E.js} +1 -1
  80. package/dist/web/server/assets/{tokens-BVva7GHu.js → tokens-B2O0Di4p.js} +1 -1
  81. package/dist/web/server/assets/{triggers-D4orksJq.js → triggers-DtKMYL2r.js} +1 -1
  82. package/dist/web/server/assets/{verification-C1SHMTX8.js → verification-no5BrOeR.js} +1 -1
  83. package/dist/web/server/assets/{verifications-Ci49n2Km.js → verifications-CM-Bbgjt.js} +114 -91
  84. package/dist/web/server/assets/{verifications-C_ycXrPK.js → verifications-DhGe86E1.js} +1 -1
  85. package/dist/web/server/server.js +56 -48
  86. package/dist/worker.js +36 -0
  87. package/dist/worker.js.map +1 -1
  88. package/package.json +3 -3
  89. package/dist/web/client/assets/chevron-right-CvCEwfSl.js +0 -1
  90. package/dist/web/client/assets/review-Dyw47eM1.js +0 -1
  91. package/dist/web/client/assets/verifications-DrHQEQFx.js +0 -2
package/dist/cli.js CHANGED
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  // src/index.ts
4
- import { defineCommand as defineCommand38, runCommand, showUsage } from "citty";
4
+ import { defineCommand as defineCommand39, runCommand, showUsage } from "citty";
5
5
 
6
6
  // package.json
7
7
  var package_default = {
8
8
  name: "bazilion",
9
- version: "0.19.1",
9
+ version: "0.20.0",
10
10
  description: "Multi-agent runtime CLI \u2014 spawn LLM agents, manage profiles/teams/skills, and run the local daemon.",
11
11
  license: "MIT",
12
12
  repository: {
@@ -203,6 +203,21 @@ function createClient(cfg) {
203
203
  cancel: (requestId) => request("POST", `${base}/${encodeURIComponent(requestId)}/cancel`)
204
204
  };
205
205
  },
206
+ /**
207
+ * Publications to a code host (BAZ-046).
208
+ *
209
+ * One operator decision about a reviewed revision. Nothing here can merge, deploy, force a push or
210
+ * name a remote: the request has a packet, an optional branch and an optional commit message, and the
211
+ * rest is configuration the operator owns.
212
+ */
213
+ publications: (teamId) => {
214
+ const base = `/api/teams/${encodeURIComponent(teamId)}/publications`;
215
+ return {
216
+ list: () => request("GET", base),
217
+ show: (publicationId2) => request("GET", `${base}/${encodeURIComponent(publicationId2)}`),
218
+ create: (input) => request("POST", base, input)
219
+ };
220
+ },
206
221
  /**
207
222
  * Revision-bound review packets (BAZ-043).
208
223
  *
@@ -2461,7 +2476,7 @@ function pauseRestoredUserQueue(database) {
2461
2476
  // src/backup-schema.ts
2462
2477
  import { createHash } from "crypto";
2463
2478
  var CANONICAL_MIGRATION = "0001_init";
2464
- var CANONICAL_SCHEMA_HASH = "da37324d58fa517941ec0557529d00a7a812413f9fda7e5d611287ad42b47595";
2479
+ var CANONICAL_SCHEMA_HASH = "469e6610e0f1030aa9e699bff1083a54305a77bc48f573eeae908d96a48d5396";
2465
2480
  var CANONICAL_OBJECTS = [
2466
2481
  ["table", "team_coding_environments"],
2467
2482
  ["table", "workspace_writers"],
@@ -2586,7 +2601,12 @@ var CANONICAL_OBJECTS = [
2586
2601
  ["trigger", "validate_team_agent_state_insert"],
2587
2602
  ["trigger", "validate_team_policy_baseline_update"],
2588
2603
  ["trigger", "validate_team_policy_edge_insert"],
2589
- ["trigger", "validate_team_template_edge_insert"]
2604
+ ["trigger", "validate_team_template_edge_insert"],
2605
+ // BAZ-046: one operator-approved publication of a reviewed revision to a code host.
2606
+ ["table", "publications"],
2607
+ ["index", "publications_team_time"],
2608
+ ["index", "publications_packet_published"],
2609
+ ["index", "publications_lease"]
2590
2610
  ];
2591
2611
  function normalizeSql(sql) {
2592
2612
  return sql.replace(/\s+/g, " ").trim();
@@ -5733,7 +5753,7 @@ var skillCommand = defineCommand25({
5733
5753
  // src/commands/team.ts
5734
5754
  import { readFileSync as readFileSync11 } from "fs";
5735
5755
  import { stdin as stdin2 } from "process";
5736
- import { defineCommand as defineCommand32 } from "citty";
5756
+ import { defineCommand as defineCommand33 } from "citty";
5737
5757
 
5738
5758
  // src/commands/team-coding-log.ts
5739
5759
  import { defineCommand as defineCommand26 } from "citty";
@@ -6288,17 +6308,139 @@ var teamPolicyCommand = defineCommand28({
6288
6308
  }
6289
6309
  });
6290
6310
 
6311
+ // src/commands/team-publish.ts
6312
+ import { defineCommand as defineCommand29 } from "citty";
6313
+ var slug = { id: { type: "positional", required: true, description: "Team slug" } };
6314
+ var publicationId = {
6315
+ publicationId: { type: "positional", required: true, description: "Publication id" }
6316
+ };
6317
+ function printReport(report) {
6318
+ const publication = report.publication;
6319
+ console.log(`${publication.id} ${publication.state}`);
6320
+ console.log(` packet: ${publication.packetId}`);
6321
+ console.log(
6322
+ ` change: snapshot ${publication.snapshotId.slice(0, 12)} (base ${publication.baseOid.slice(0, 12)})`
6323
+ );
6324
+ console.log(` target: ${publication.host} ${publication.repository}`);
6325
+ console.log(
6326
+ ` branch: ${publication.headBranch} (base ${publication.baseBranch})${publication.commitOid ? `
6327
+ commit: ${publication.commitOid}${publication.signed ? "" : " (unsigned)"}` : ""}`
6328
+ );
6329
+ if (publication.pullRequestUrl) {
6330
+ console.log(` pull request: ${publication.pullRequestUrl}`);
6331
+ } else if (publication.state === "published") {
6332
+ console.log(" pull request: none was opened");
6333
+ }
6334
+ if (publication.refusalReason) {
6335
+ console.log(` refused: ${publication.refusalReason} \u2014 ${publication.refusalDetail ?? ""}`);
6336
+ }
6337
+ if (publication.error) console.log(` note: ${publication.error}`);
6338
+ console.log(` ${report.guidance}`);
6339
+ }
6340
+ function printList(list8) {
6341
+ if (list8.publications.length === 0) {
6342
+ console.log("no publications");
6343
+ return;
6344
+ }
6345
+ const rows = list8.publications.map((publication) => [
6346
+ publication.id,
6347
+ publication.state,
6348
+ publication.headBranch,
6349
+ publication.commitOid ? publication.commitOid.slice(0, 10) : "-",
6350
+ publication.pullRequestNumber ? `#${publication.pullRequestNumber}` : "-",
6351
+ publication.refusalReason ?? ""
6352
+ ]);
6353
+ for (const line of columnize(rows)) console.log(line);
6354
+ }
6355
+ var createCmd3 = defineCommand29({
6356
+ meta: {
6357
+ name: "create",
6358
+ description: "Publish a reviewed revision to a new branch (and open a pull request)"
6359
+ },
6360
+ args: {
6361
+ ...slug,
6362
+ packet: { type: "string", required: true, description: "Review packet id to publish" },
6363
+ branch: {
6364
+ type: "string",
6365
+ description: "Branch to publish to (default: bazilion/review-<packet prefix>)"
6366
+ },
6367
+ message: { type: "string", description: "Commit message (default: derived from the packet)" },
6368
+ json: { type: "boolean", description: "Emit JSON" }
6369
+ },
6370
+ async run({ args: args2 }) {
6371
+ const client = createClient2();
6372
+ try {
6373
+ const response = await client.publications(args2.id).create({
6374
+ teamId: args2.id,
6375
+ packetId: args2.packet,
6376
+ ...args2.branch ? { headBranch: args2.branch } : {},
6377
+ ...args2.message ? { commitMessage: args2.message } : {}
6378
+ });
6379
+ if (args2.json) {
6380
+ console.log(JSON.stringify(response, null, 2));
6381
+ return;
6382
+ }
6383
+ if ("blocked" in response) {
6384
+ console.error(`refused: ${response.blocked.reason} \u2014 ${response.blocked.detail}`);
6385
+ process.exit(1);
6386
+ }
6387
+ printReport(response.report);
6388
+ } catch (error) {
6389
+ console.error(error instanceof Error ? error.message : String(error));
6390
+ process.exit(1);
6391
+ }
6392
+ }
6393
+ });
6394
+ var listCmd10 = defineCommand29({
6395
+ meta: { name: "list", description: "List publications for a Team" },
6396
+ args: { ...slug, json: { type: "boolean", description: "Emit JSON" } },
6397
+ async run({ args: args2 }) {
6398
+ const client = createClient2();
6399
+ const response = await client.publications(args2.id).list();
6400
+ if (args2.json) {
6401
+ console.log(JSON.stringify(response, null, 2));
6402
+ return;
6403
+ }
6404
+ printList(response);
6405
+ }
6406
+ });
6407
+ var showCmd5 = defineCommand29({
6408
+ meta: { name: "show", description: "Show one publication and its outcome" },
6409
+ args: { ...slug, ...publicationId, json: { type: "boolean", description: "Emit JSON" } },
6410
+ async run({ args: args2 }) {
6411
+ const client = createClient2();
6412
+ try {
6413
+ const response = await client.publications(args2.id).show(args2.publicationId);
6414
+ if (args2.json) {
6415
+ console.log(JSON.stringify(response, null, 2));
6416
+ return;
6417
+ }
6418
+ printReport(response.report);
6419
+ } catch (error) {
6420
+ console.error(error instanceof Error ? error.message : String(error));
6421
+ process.exit(1);
6422
+ }
6423
+ }
6424
+ });
6425
+ var teamPublishCommand = defineCommand29({
6426
+ meta: {
6427
+ name: "publish",
6428
+ description: "Publish a reviewed revision to a code host (BAZ-046)"
6429
+ },
6430
+ subCommands: { create: createCmd3, list: listCmd10, show: showCmd5 }
6431
+ });
6432
+
6291
6433
  // src/commands/team-review.ts
6292
- import { defineCommand as defineCommand30 } from "citty";
6434
+ import { defineCommand as defineCommand31 } from "citty";
6293
6435
 
6294
6436
  // src/commands/team-review-packet.ts
6295
- import { defineCommand as defineCommand29 } from "citty";
6296
- var slug = { id: { type: "positional", required: true, description: "Team slug" } };
6437
+ import { defineCommand as defineCommand30 } from "citty";
6438
+ var slug2 = { id: { type: "positional", required: true, description: "Team slug" } };
6297
6439
  var packetId = {
6298
6440
  packetId: { type: "positional", required: true, description: "Review packet id" }
6299
6441
  };
6300
6442
  var SEVERITIES = ["blocker", "major", "minor", "info"];
6301
- function printReport(report) {
6443
+ function printReport2(report) {
6302
6444
  const packet = report.packet;
6303
6445
  const requester = packet.requester.kind === "agent" ? `agent ${packet.requester.agentId}` : "operator";
6304
6446
  console.log(`${packet.id} ${packet.state}${report.applicability.stale ? " (stale)" : ""}`);
@@ -6344,10 +6486,10 @@ function printReport(report) {
6344
6486
  " note: a review conclusion is not acceptance, and this command never commits, pushes, merges or deploys"
6345
6487
  );
6346
6488
  }
6347
- var createCmd3 = defineCommand29({
6489
+ var createCmd4 = defineCommand30({
6348
6490
  meta: { name: "create", description: "Capture a review packet for a retained revision" },
6349
6491
  args: {
6350
- ...slug,
6492
+ ...slug2,
6351
6493
  snapshot: {
6352
6494
  type: "string",
6353
6495
  required: true,
@@ -6372,16 +6514,16 @@ var createCmd3 = defineCommand29({
6372
6514
  console.log(JSON.stringify(response, null, 2));
6373
6515
  return;
6374
6516
  }
6375
- printReport(response.report);
6517
+ printReport2(response.report);
6376
6518
  } catch (error) {
6377
6519
  console.error(error instanceof Error ? error.message : String(error));
6378
6520
  process.exit(1);
6379
6521
  }
6380
6522
  }
6381
6523
  });
6382
- var listCmd10 = defineCommand29({
6524
+ var listCmd11 = defineCommand30({
6383
6525
  meta: { name: "list", description: "List review packets for a Team" },
6384
- args: { ...slug, json: { type: "boolean", description: "Emit JSON" } },
6526
+ args: { ...slug2, json: { type: "boolean", description: "Emit JSON" } },
6385
6527
  async run({ args: args2 }) {
6386
6528
  const client = createClient2();
6387
6529
  const response = await client.reviewPackets(args2.id).list();
@@ -6411,9 +6553,9 @@ var listCmd10 = defineCommand29({
6411
6553
  );
6412
6554
  }
6413
6555
  });
6414
- var showCmd5 = defineCommand29({
6556
+ var showCmd6 = defineCommand30({
6415
6557
  meta: { name: "show", description: "Show one review packet, its findings and its conclusions" },
6416
- args: { ...slug, ...packetId, json: { type: "boolean", description: "Emit JSON" } },
6558
+ args: { ...slug2, ...packetId, json: { type: "boolean", description: "Emit JSON" } },
6417
6559
  async run({ args: args2 }) {
6418
6560
  const client = createClient2();
6419
6561
  try {
@@ -6422,17 +6564,17 @@ var showCmd5 = defineCommand29({
6422
6564
  console.log(JSON.stringify(response, null, 2));
6423
6565
  return;
6424
6566
  }
6425
- printReport(response.report);
6567
+ printReport2(response.report);
6426
6568
  } catch (error) {
6427
6569
  console.error(error instanceof Error ? error.message : String(error));
6428
6570
  process.exit(1);
6429
6571
  }
6430
6572
  }
6431
6573
  });
6432
- var findingCmd = defineCommand29({
6574
+ var findingCmd = defineCommand30({
6433
6575
  meta: { name: "finding", description: "Record a finding against the packet\u2019s captured revision" },
6434
6576
  args: {
6435
- ...slug,
6577
+ ...slug2,
6436
6578
  ...packetId,
6437
6579
  path: { type: "string", required: true, description: "Repository-relative path" },
6438
6580
  severity: { type: "string", required: true, description: SEVERITIES.join(" | ") },
@@ -6466,17 +6608,17 @@ var findingCmd = defineCommand29({
6466
6608
  console.log(
6467
6609
  `finding recorded against revision ${response.report.packet.snapshot.id.slice(0, 12)}`
6468
6610
  );
6469
- printReport(response.report);
6611
+ printReport2(response.report);
6470
6612
  } catch (error) {
6471
6613
  console.error(error instanceof Error ? error.message : String(error));
6472
6614
  process.exit(1);
6473
6615
  }
6474
6616
  }
6475
6617
  });
6476
- var resolveCmd = defineCommand29({
6618
+ var resolveCmd = defineCommand30({
6477
6619
  meta: { name: "resolve", description: "Resolve a finding with explicit proof" },
6478
6620
  args: {
6479
- ...slug,
6621
+ ...slug2,
6480
6622
  ...packetId,
6481
6623
  findingId: { type: "positional", required: true, description: "Finding id" },
6482
6624
  kind: {
@@ -6502,17 +6644,17 @@ var resolveCmd = defineCommand29({
6502
6644
  console.log(JSON.stringify(response, null, 2));
6503
6645
  return;
6504
6646
  }
6505
- printReport(response.report);
6647
+ printReport2(response.report);
6506
6648
  } catch (error) {
6507
6649
  console.error(error instanceof Error ? error.message : String(error));
6508
6650
  process.exit(1);
6509
6651
  }
6510
6652
  }
6511
6653
  });
6512
- var concludeCmd = defineCommand29({
6654
+ var concludeCmd = defineCommand30({
6513
6655
  meta: { name: "conclude", description: "Record the reviewer\u2019s conclusion for this revision" },
6514
6656
  args: {
6515
- ...slug,
6657
+ ...slug2,
6516
6658
  ...packetId,
6517
6659
  conclusion: {
6518
6660
  type: "string",
@@ -6538,16 +6680,16 @@ var concludeCmd = defineCommand29({
6538
6680
  console.log(JSON.stringify(response, null, 2));
6539
6681
  return;
6540
6682
  }
6541
- printReport(response.report);
6683
+ printReport2(response.report);
6542
6684
  } catch (error) {
6543
6685
  console.error(error instanceof Error ? error.message : String(error));
6544
6686
  process.exit(1);
6545
6687
  }
6546
6688
  }
6547
6689
  });
6548
- var snapshotCmd = defineCommand29({
6690
+ var snapshotCmd = defineCommand30({
6549
6691
  meta: { name: "snapshots", description: "List retained revisions that could be reviewed" },
6550
- args: { ...slug, json: { type: "boolean", description: "Emit JSON" } },
6692
+ args: { ...slug2, json: { type: "boolean", description: "Emit JSON" } },
6551
6693
  async run({ args: args2 }) {
6552
6694
  const client = createClient2();
6553
6695
  const list8 = await client.repositoryReview(args2.id).snapshots();
@@ -6571,13 +6713,13 @@ var snapshotCmd = defineCommand29({
6571
6713
  for (const line of columnize(rows)) console.log(line);
6572
6714
  }
6573
6715
  });
6574
- var reportedCmd = defineCommand29({
6716
+ var reportedCmd = defineCommand30({
6575
6717
  meta: {
6576
6718
  name: "reported",
6577
6719
  description: "Record an operator-reported external state (never verified by Bazilion)"
6578
6720
  },
6579
6721
  args: {
6580
- ...slug,
6722
+ ...slug2,
6581
6723
  ...packetId,
6582
6724
  state: {
6583
6725
  type: "positional",
@@ -6614,13 +6756,13 @@ var reportedCmd = defineCommand29({
6614
6756
  }
6615
6757
  }
6616
6758
  });
6617
- var linkCmd = defineCommand29({
6759
+ var linkCmd = defineCommand30({
6618
6760
  meta: {
6619
6761
  name: "link",
6620
6762
  description: "Resolve where a file link points, and where it would open"
6621
6763
  },
6622
6764
  args: {
6623
- ...slug,
6765
+ ...slug2,
6624
6766
  ...packetId,
6625
6767
  path: { type: "string", required: true, description: "Changed path in the reviewed revision" },
6626
6768
  line: { type: "string", description: "Line to point at" },
@@ -6662,10 +6804,10 @@ var linkCmd = defineCommand29({
6662
6804
  }
6663
6805
  }
6664
6806
  });
6665
- var exportCmd = defineCommand29({
6807
+ var exportCmd = defineCommand30({
6666
6808
  meta: { name: "export", description: "Print the patch and handoff text for a packet\u2019s revision" },
6667
6809
  args: {
6668
- ...slug,
6810
+ ...slug2,
6669
6811
  ...packetId,
6670
6812
  patch: { type: "boolean", description: "Print only the unified patch" },
6671
6813
  deliver: {
@@ -6716,15 +6858,15 @@ handoff names ${result.limitations.length} limitation(s), and a conclusion is no
6716
6858
  }
6717
6859
  }
6718
6860
  });
6719
- var teamReviewPacketCommand = defineCommand29({
6861
+ var teamReviewPacketCommand = defineCommand30({
6720
6862
  meta: {
6721
6863
  name: "packet",
6722
6864
  description: "Revision-bound review packets: captured revision, findings, conclusion and handoff"
6723
6865
  },
6724
6866
  subCommands: {
6725
- create: createCmd3,
6726
- list: listCmd10,
6727
- show: showCmd5,
6867
+ create: createCmd4,
6868
+ list: listCmd11,
6869
+ show: showCmd6,
6728
6870
  finding: findingCmd,
6729
6871
  resolve: resolveCmd,
6730
6872
  conclude: concludeCmd,
@@ -6736,19 +6878,19 @@ var teamReviewPacketCommand = defineCommand29({
6736
6878
  });
6737
6879
 
6738
6880
  // src/commands/team-review.ts
6739
- var slug2 = {
6881
+ var slug3 = {
6740
6882
  id: { type: "positional", required: true, description: "Team slug" }
6741
6883
  };
6742
6884
  function printIssues(changes) {
6743
6885
  for (const issue of changes.issues) console.log(`note: ${issue.code}: ${issue.message}`);
6744
6886
  }
6745
- var showCmd6 = defineCommand30({
6887
+ var showCmd7 = defineCommand31({
6746
6888
  meta: {
6747
6889
  name: "show",
6748
6890
  description: "List changes since a baseline (read-only)"
6749
6891
  },
6750
6892
  args: {
6751
- ...slug2,
6893
+ ...slug3,
6752
6894
  base: {
6753
6895
  type: "string",
6754
6896
  description: "Comparison base: branch, tag or commit id (default HEAD)"
@@ -6807,13 +6949,13 @@ var showCmd6 = defineCommand30({
6807
6949
  printIssues(changes);
6808
6950
  }
6809
6951
  });
6810
- var captureCmd = defineCommand30({
6952
+ var captureCmd = defineCommand31({
6811
6953
  meta: {
6812
6954
  name: "capture",
6813
6955
  description: "Capture a bounded source snapshot for a Team (read-only)"
6814
6956
  },
6815
6957
  args: {
6816
- ...slug2,
6958
+ ...slug3,
6817
6959
  base: { type: "string", description: "Comparison base (default HEAD)" },
6818
6960
  include: {
6819
6961
  type: "string",
@@ -6850,9 +6992,9 @@ var captureCmd = defineCommand30({
6850
6992
  for (const issue of snapshot.issues) console.log(` note: ${issue.code}: ${issue.message}`);
6851
6993
  }
6852
6994
  });
6853
- var snapshotsCmd = defineCommand30({
6995
+ var snapshotsCmd = defineCommand31({
6854
6996
  meta: { name: "snapshots", description: "List retained source snapshots for a Team" },
6855
- args: { ...slug2, json: { type: "boolean", description: "Emit JSON" } },
6997
+ args: { ...slug3, json: { type: "boolean", description: "Emit JSON" } },
6856
6998
  async run({ args: args2 }) {
6857
6999
  const client = createClient2();
6858
7000
  const list8 = await client.repositoryReview(args2.id).snapshots();
@@ -6874,10 +7016,10 @@ var snapshotsCmd = defineCommand30({
6874
7016
  for (const line of columnize(rows)) console.log(line);
6875
7017
  }
6876
7018
  });
6877
- var snapshotCmd2 = defineCommand30({
7019
+ var snapshotCmd2 = defineCommand31({
6878
7020
  meta: { name: "snapshot", description: "Show one retained source snapshot" },
6879
7021
  args: {
6880
- ...slug2,
7022
+ ...slug3,
6881
7023
  snapshot: { type: "positional", required: true, description: "Snapshot id" },
6882
7024
  json: { type: "boolean", description: "Emit JSON" }
6883
7025
  },
@@ -6900,13 +7042,13 @@ var snapshotCmd2 = defineCommand30({
6900
7042
  for (const line of columnize(rows)) console.log(line);
6901
7043
  }
6902
7044
  });
6903
- var teamReviewCommand = defineCommand30({
7045
+ var teamReviewCommand = defineCommand31({
6904
7046
  meta: {
6905
7047
  name: "review",
6906
7048
  description: "Read-only Git change review and bounded source snapshots"
6907
7049
  },
6908
7050
  subCommands: {
6909
- show: showCmd6,
7051
+ show: showCmd7,
6910
7052
  capture: captureCmd,
6911
7053
  snapshots: snapshotsCmd,
6912
7054
  snapshot: snapshotCmd2,
@@ -6915,8 +7057,8 @@ var teamReviewCommand = defineCommand30({
6915
7057
  });
6916
7058
 
6917
7059
  // src/commands/team-verify.ts
6918
- import { defineCommand as defineCommand31 } from "citty";
6919
- var slug3 = {
7060
+ import { defineCommand as defineCommand32 } from "citty";
7061
+ var slug4 = {
6920
7062
  id: { type: "positional", required: true, description: "Team slug" }
6921
7063
  };
6922
7064
  var OUTCOME_GLYPH = {
@@ -6932,7 +7074,7 @@ var OUTCOME_GLYPH = {
6932
7074
  function latestAttempt(report) {
6933
7075
  return [...report.attempts].sort((a, b) => b.attemptNumber - a.attemptNumber)[0];
6934
7076
  }
6935
- function printReport2(report) {
7077
+ function printReport3(report) {
6936
7078
  const { request } = report;
6937
7079
  const requester = request.requester.kind === "agent" ? `agent ${request.requester.agentId}` : "operator";
6938
7080
  console.log(`${request.id} ${request.state}`);
@@ -6971,13 +7113,13 @@ function printReport2(report) {
6971
7113
  if (attempt?.error) console.log(` note: ${attempt.error}`);
6972
7114
  if (!attempt) console.log(" note: no attempt has run yet");
6973
7115
  }
6974
- var createCmd4 = defineCommand31({
7116
+ var createCmd5 = defineCommand32({
6975
7117
  meta: {
6976
7118
  name: "create",
6977
7119
  description: "Capture a verification request against a snapshot (does not run checks)"
6978
7120
  },
6979
7121
  args: {
6980
- ...slug3,
7122
+ ...slug4,
6981
7123
  agent: { type: "string", required: true, description: "Team member who will verify" },
6982
7124
  snapshot: { type: "string", required: true, description: "BAZ-042 snapshot id to verify" },
6983
7125
  check: {
@@ -7044,10 +7186,10 @@ var createCmd4 = defineCommand31({
7044
7186
  }
7045
7187
  }
7046
7188
  });
7047
- var listCmd11 = defineCommand31({
7189
+ var listCmd12 = defineCommand32({
7048
7190
  meta: { name: "list", description: "List verification requests for a Team" },
7049
7191
  args: {
7050
- ...slug3,
7192
+ ...slug4,
7051
7193
  json: { type: "boolean", description: "Emit JSON" }
7052
7194
  },
7053
7195
  async run({ args: args2 }) {
@@ -7074,10 +7216,10 @@ var listCmd11 = defineCommand31({
7074
7216
  console.log("run `bazilion team verify show <slug> <id>` for a request's current applicability");
7075
7217
  }
7076
7218
  });
7077
- var showCmd7 = defineCommand31({
7219
+ var showCmd8 = defineCommand32({
7078
7220
  meta: { name: "show", description: "Show one verification request and its evidence" },
7079
7221
  args: {
7080
- ...slug3,
7222
+ ...slug4,
7081
7223
  requestId: { type: "positional", required: true, description: "Verification request id" },
7082
7224
  json: { type: "boolean", description: "Emit JSON" }
7083
7225
  },
@@ -7089,17 +7231,17 @@ var showCmd7 = defineCommand31({
7089
7231
  console.log(JSON.stringify(response, null, 2));
7090
7232
  return;
7091
7233
  }
7092
- printReport2(response.request);
7234
+ printReport3(response.request);
7093
7235
  } catch (error) {
7094
7236
  console.error(error instanceof Error ? error.message : String(error));
7095
7237
  process.exit(1);
7096
7238
  }
7097
7239
  }
7098
7240
  });
7099
- var cancelCmd2 = defineCommand31({
7241
+ var cancelCmd2 = defineCommand32({
7100
7242
  meta: { name: "cancel", description: "Cancel a pending or running verification request" },
7101
7243
  args: {
7102
- ...slug3,
7244
+ ...slug4,
7103
7245
  requestId: { type: "positional", required: true, description: "Verification request id" },
7104
7246
  json: { type: "boolean", description: "Emit JSON" }
7105
7247
  },
@@ -7112,28 +7254,28 @@ var cancelCmd2 = defineCommand31({
7112
7254
  return;
7113
7255
  }
7114
7256
  console.log(`cancelled or cancelled-pending: ${response.request.request.id}`);
7115
- printReport2(response.request);
7257
+ printReport3(response.request);
7116
7258
  } catch (error) {
7117
7259
  console.error(error instanceof Error ? error.message : String(error));
7118
7260
  process.exit(1);
7119
7261
  }
7120
7262
  }
7121
7263
  });
7122
- var verifyCommand = defineCommand31({
7264
+ var verifyCommand = defineCommand32({
7123
7265
  meta: {
7124
7266
  name: "verify",
7125
7267
  description: "Specialist verification of a captured code change (BAZ-044)"
7126
7268
  },
7127
7269
  subCommands: {
7128
- create: createCmd4,
7129
- list: listCmd11,
7130
- show: showCmd7,
7270
+ create: createCmd5,
7271
+ list: listCmd12,
7272
+ show: showCmd8,
7131
7273
  cancel: cancelCmd2
7132
7274
  }
7133
7275
  });
7134
7276
 
7135
7277
  // src/commands/team.ts
7136
- var addCmd2 = defineCommand32({
7278
+ var addCmd2 = defineCommand33({
7137
7279
  meta: {
7138
7280
  name: "add",
7139
7281
  description: "Register a team at ~/.bazilion/teams/<slug>/ (use --link to point at an existing tree)"
@@ -7157,7 +7299,7 @@ var addCmd2 = defineCommand32({
7157
7299
  console.log(`registered team ${g.id} at ${g.path}`);
7158
7300
  }
7159
7301
  });
7160
- var listCmd12 = defineCommand32({
7302
+ var listCmd13 = defineCommand33({
7161
7303
  meta: { name: "list", description: "List teams" },
7162
7304
  async run() {
7163
7305
  const client = createClient2();
@@ -7170,7 +7312,7 @@ var listCmd12 = defineCommand32({
7170
7312
  for (const line of columnize(rows)) console.log(line);
7171
7313
  }
7172
7314
  });
7173
- var rmCmd5 = defineCommand32({
7315
+ var rmCmd5 = defineCommand33({
7174
7316
  meta: { name: "rm", description: "Remove a team registration" },
7175
7317
  args: {
7176
7318
  id: { type: "positional", required: true }
@@ -7191,7 +7333,7 @@ async function readStdin() {
7191
7333
  for await (const chunk of stdin2) chunks.push(chunk);
7192
7334
  return Buffer.concat(chunks).toString("utf8");
7193
7335
  }
7194
- var userMdShowCmd = defineCommand32({
7336
+ var userMdShowCmd = defineCommand33({
7195
7337
  meta: { name: "show", description: "Print the team's USER.md" },
7196
7338
  args: { id: { type: "positional", required: true } },
7197
7339
  async run({ args: args2 }) {
@@ -7201,7 +7343,7 @@ var userMdShowCmd = defineCommand32({
7201
7343
  if (g.userMd && !g.userMd.endsWith("\n")) process.stdout.write("\n");
7202
7344
  }
7203
7345
  });
7204
- var userMdSetCmd = defineCommand32({
7346
+ var userMdSetCmd = defineCommand33({
7205
7347
  meta: {
7206
7348
  name: "set",
7207
7349
  description: "Replace the team's USER.md (from --file, --from-stdin, or inline text)"
@@ -7227,7 +7369,7 @@ var userMdSetCmd = defineCommand32({
7227
7369
  console.log(`updated USER.md for team ${args2.id} (${content.length} bytes)`);
7228
7370
  }
7229
7371
  });
7230
- var userMdClearCmd = defineCommand32({
7372
+ var userMdClearCmd = defineCommand33({
7231
7373
  meta: { name: "clear", description: "Clear the team's USER.md to empty" },
7232
7374
  args: { id: { type: "positional", required: true } },
7233
7375
  async run({ args: args2 }) {
@@ -7237,7 +7379,7 @@ var userMdClearCmd = defineCommand32({
7237
7379
  console.log(`cleared USER.md for team ${args2.id}`);
7238
7380
  }
7239
7381
  });
7240
- var userMdCmd = defineCommand32({
7382
+ var userMdCmd = defineCommand33({
7241
7383
  meta: { name: "user-md", description: "View or edit a team's USER.md" },
7242
7384
  subCommands: {
7243
7385
  show: userMdShowCmd,
@@ -7245,7 +7387,7 @@ var userMdCmd = defineCommand32({
7245
7387
  clear: userMdClearCmd
7246
7388
  }
7247
7389
  });
7248
- var topicFormatShowCmd = defineCommand32({
7390
+ var topicFormatShowCmd = defineCommand33({
7249
7391
  meta: { name: "show", description: "Print the team's Telegram topic-name template" },
7250
7392
  args: { id: { type: "positional", required: true } },
7251
7393
  async run({ args: args2 }) {
@@ -7254,7 +7396,7 @@ var topicFormatShowCmd = defineCommand32({
7254
7396
  console.log(g.telegramTopicNameFormat ?? "(default naming)");
7255
7397
  }
7256
7398
  });
7257
- var topicFormatSetCmd = defineCommand32({
7399
+ var topicFormatSetCmd = defineCommand33({
7258
7400
  meta: {
7259
7401
  name: "set",
7260
7402
  description: "Set the topic-name template. Tokens: {agent.name} {team.name} {team.slug} (must include {agent.name})"
@@ -7274,7 +7416,7 @@ var topicFormatSetCmd = defineCommand32({
7274
7416
  console.log(`set topic-name template for team ${args2.id}: ${g.telegramTopicNameFormat}`);
7275
7417
  }
7276
7418
  });
7277
- var topicFormatClearCmd = defineCommand32({
7419
+ var topicFormatClearCmd = defineCommand33({
7278
7420
  meta: { name: "clear", description: "Clear the template (revert to built-in naming)" },
7279
7421
  args: { id: { type: "positional", required: true } },
7280
7422
  async run({ args: args2 }) {
@@ -7284,7 +7426,7 @@ var topicFormatClearCmd = defineCommand32({
7284
7426
  console.log(`cleared topic-name template for team ${args2.id}`);
7285
7427
  }
7286
7428
  });
7287
- var topicFormatCmd = defineCommand32({
7429
+ var topicFormatCmd = defineCommand33({
7288
7430
  meta: {
7289
7431
  name: "topic-format",
7290
7432
  description: "View or edit a team's Telegram forum-topic name template"
@@ -7295,7 +7437,7 @@ var topicFormatCmd = defineCommand32({
7295
7437
  clear: topicFormatClearCmd
7296
7438
  }
7297
7439
  });
7298
- var contextCmd = defineCommand32({
7440
+ var contextCmd = defineCommand33({
7299
7441
  meta: {
7300
7442
  name: "context",
7301
7443
  description: "Inspect repository instructions, Git state and command suggestions"
@@ -7342,16 +7484,17 @@ var contextCmd = defineCommand32({
7342
7484
  console.log(` ${issue.code}${issue.path ? `: ${safe2(issue.path)}` : ""} \u2014 ${issue.message}`);
7343
7485
  }
7344
7486
  });
7345
- var teamCommand = defineCommand32({
7487
+ var teamCommand = defineCommand33({
7346
7488
  meta: { name: "team", description: "Manage teams (collaboration contexts)" },
7347
7489
  subCommands: {
7348
7490
  environment: teamEnvironmentCommand,
7349
7491
  log: teamCodingLogCommand,
7350
7492
  review: teamReviewCommand,
7351
7493
  verify: verifyCommand,
7494
+ publish: teamPublishCommand,
7352
7495
  context: contextCmd,
7353
7496
  add: addCmd2,
7354
- list: listCmd12,
7497
+ list: listCmd13,
7355
7498
  rm: rmCmd5,
7356
7499
  "user-md": userMdCmd,
7357
7500
  "topic-format": topicFormatCmd,
@@ -7361,7 +7504,7 @@ var teamCommand = defineCommand32({
7361
7504
 
7362
7505
  // src/commands/team-template.ts
7363
7506
  import { readFileSync as readFileSync12 } from "fs";
7364
- import { defineCommand as defineCommand33 } from "citty";
7507
+ import { defineCommand as defineCommand34 } from "citty";
7365
7508
  function jsonFile(path) {
7366
7509
  try {
7367
7510
  return JSON.parse(readFileSync12(path, "utf8"));
@@ -7389,7 +7532,7 @@ function printTeam(detail) {
7389
7532
  console.log(line);
7390
7533
  }
7391
7534
  }
7392
- var list7 = defineCommand33({
7535
+ var list7 = defineCommand34({
7393
7536
  meta: { name: "list", description: "List canonical Team templates" },
7394
7537
  args: { json: { type: "boolean", description: "Emit stable JSON" } },
7395
7538
  async run({ args: args2 }) {
@@ -7403,7 +7546,7 @@ var list7 = defineCommand33({
7403
7546
  console.log(line);
7404
7547
  }
7405
7548
  });
7406
- var show6 = defineCommand33({
7549
+ var show6 = defineCommand34({
7407
7550
  meta: { name: "show", description: "Show a canonical Team template" },
7408
7551
  args: {
7409
7552
  id: { type: "positional", required: true },
@@ -7417,7 +7560,7 @@ var show6 = defineCommand33({
7417
7560
  else printTeam(detail);
7418
7561
  }
7419
7562
  });
7420
- var exportCommand2 = defineCommand33({
7563
+ var exportCommand2 = defineCommand34({
7421
7564
  meta: {
7422
7565
  name: "export",
7423
7566
  description: "Export a portable versioned Team-template document to stdout"
@@ -7457,7 +7600,7 @@ function printImportDiff(current, document) {
7457
7600
  for (const value of diff2.added) console.log(` + ${value}`);
7458
7601
  for (const value of diff2.removed) console.log(` - ${value}`);
7459
7602
  }
7460
- var importCommand2 = defineCommand33({
7603
+ var importCommand2 = defineCommand34({
7461
7604
  meta: {
7462
7605
  name: "import",
7463
7606
  description: "Validate, diff, and explicitly apply a portable Team-template document"
@@ -7538,7 +7681,7 @@ var importCommand2 = defineCommand33({
7538
7681
  );
7539
7682
  }
7540
7683
  });
7541
- var teamTemplateCommand = defineCommand33({
7684
+ var teamTemplateCommand = defineCommand34({
7542
7685
  meta: {
7543
7686
  name: "team-template",
7544
7687
  description: "Inspect and exchange canonical Team templates"
@@ -7547,8 +7690,8 @@ var teamTemplateCommand = defineCommand33({
7547
7690
  });
7548
7691
 
7549
7692
  // src/commands/telegram.ts
7550
- import { defineCommand as defineCommand34 } from "citty";
7551
- var setCmd2 = defineCommand34({
7693
+ import { defineCommand as defineCommand35 } from "citty";
7694
+ var setCmd2 = defineCommand35({
7552
7695
  meta: {
7553
7696
  name: "set",
7554
7697
  description: "Save bot token + supergroup chat ID (paired write)"
@@ -7566,7 +7709,7 @@ var setCmd2 = defineCommand34({
7566
7709
  console.log(`saved \xB7 token ${state.botTokenPreview} \xB7 chat ${state.chatId}`);
7567
7710
  }
7568
7711
  });
7569
- var clearCmd = defineCommand34({
7712
+ var clearCmd = defineCommand35({
7570
7713
  meta: {
7571
7714
  name: "clear",
7572
7715
  description: "Remove stored bot token + chat ID"
@@ -7577,7 +7720,7 @@ var clearCmd = defineCommand34({
7577
7720
  console.log("cleared");
7578
7721
  }
7579
7722
  });
7580
- var showCmd8 = defineCommand34({
7723
+ var showCmd9 = defineCommand35({
7581
7724
  meta: {
7582
7725
  name: "show",
7583
7726
  description: "Show what credentials are stored (token is masked)"
@@ -7598,7 +7741,7 @@ var showCmd8 = defineCommand34({
7598
7741
  }
7599
7742
  }
7600
7743
  });
7601
- var reconnectCmd = defineCommand34({
7744
+ var reconnectCmd = defineCommand35({
7602
7745
  meta: {
7603
7746
  name: "reconnect",
7604
7747
  description: "Apply a pending supergroup chat-id migration + re-activate the bot"
@@ -7609,7 +7752,7 @@ var reconnectCmd = defineCommand34({
7609
7752
  console.log(`reconnected \xB7 chat ${state.chatId}`);
7610
7753
  }
7611
7754
  });
7612
- var configCmd = defineCommand34({
7755
+ var configCmd = defineCommand35({
7613
7756
  meta: {
7614
7757
  name: "config",
7615
7758
  description: "Manage Telegram credentials (bot token + chat ID)"
@@ -7617,10 +7760,10 @@ var configCmd = defineCommand34({
7617
7760
  subCommands: {
7618
7761
  set: setCmd2,
7619
7762
  clear: clearCmd,
7620
- show: showCmd8
7763
+ show: showCmd9
7621
7764
  }
7622
7765
  });
7623
- var healthCmd = defineCommand34({
7766
+ var healthCmd = defineCommand35({
7624
7767
  meta: {
7625
7768
  name: "health",
7626
7769
  description: "Run the four-step preflight against the Telegram Bot API"
@@ -7659,7 +7802,7 @@ var healthCmd = defineCommand34({
7659
7802
  if (!allOk) process.exitCode = 1;
7660
7803
  }
7661
7804
  });
7662
- var botStatusCmd = defineCommand34({
7805
+ var botStatusCmd = defineCommand35({
7663
7806
  meta: {
7664
7807
  name: "status",
7665
7808
  description: "Show polling state of the live bot"
@@ -7684,7 +7827,7 @@ var botStatusCmd = defineCommand34({
7684
7827
  if (!p.running) process.exitCode = 1;
7685
7828
  }
7686
7829
  });
7687
- var botRestartCmd = defineCommand34({
7830
+ var botRestartCmd = defineCommand35({
7688
7831
  meta: {
7689
7832
  name: "restart",
7690
7833
  description: "Force-restart the bot (tears down + brings up from current creds)"
@@ -7695,7 +7838,7 @@ var botRestartCmd = defineCommand34({
7695
7838
  console.log("restart requested");
7696
7839
  }
7697
7840
  });
7698
- var botCmd = defineCommand34({
7841
+ var botCmd = defineCommand35({
7699
7842
  meta: {
7700
7843
  name: "bot",
7701
7844
  description: "Inspect / control the live polling bot"
@@ -7705,7 +7848,7 @@ var botCmd = defineCommand34({
7705
7848
  restart: botRestartCmd
7706
7849
  }
7707
7850
  });
7708
- var bindCmd = defineCommand34({
7851
+ var bindCmd = defineCommand35({
7709
7852
  meta: {
7710
7853
  name: "bind",
7711
7854
  description: "Create a Telegram topic for an agent (manual fallback for /talk)"
@@ -7723,7 +7866,7 @@ var bindCmd = defineCommand34({
7723
7866
  console.log(` ${result.deepLink}`);
7724
7867
  }
7725
7868
  });
7726
- var unbindCmd = defineCommand34({
7869
+ var unbindCmd = defineCommand35({
7727
7870
  meta: {
7728
7871
  name: "unbind",
7729
7872
  description: "Clear an agent's Telegram topic binding (topic stays in Telegram as orphan)"
@@ -7737,7 +7880,7 @@ var unbindCmd = defineCommand34({
7737
7880
  console.log(`unbound agent ${args2.agent}`);
7738
7881
  }
7739
7882
  });
7740
- var listBindingsCmd = defineCommand34({
7883
+ var listBindingsCmd = defineCommand35({
7741
7884
  meta: {
7742
7885
  name: "list",
7743
7886
  description: "List agents and their Telegram topic bindings"
@@ -7765,7 +7908,7 @@ var listBindingsCmd = defineCommand34({
7765
7908
  }
7766
7909
  }
7767
7910
  });
7768
- var allowCmd = defineCommand34({
7911
+ var allowCmd = defineCommand35({
7769
7912
  meta: { name: "allow", description: "Add a Telegram user id to the allowlist" },
7770
7913
  args: {
7771
7914
  userId: { type: "positional", required: true, description: "Numeric Telegram user id" },
@@ -7781,7 +7924,7 @@ var allowCmd = defineCommand34({
7781
7924
  console.log(`allowed ${u.userId} (${u.role})`);
7782
7925
  }
7783
7926
  });
7784
- var denyCmd = defineCommand34({
7927
+ var denyCmd = defineCommand35({
7785
7928
  meta: { name: "deny", description: "Remove a Telegram user id from the allowlist" },
7786
7929
  args: { userId: { type: "positional", required: true } },
7787
7930
  async run({ args: args2 }) {
@@ -7790,7 +7933,7 @@ var denyCmd = defineCommand34({
7790
7933
  console.log(`removed ${args2.userId}`);
7791
7934
  }
7792
7935
  });
7793
- var allowedCmd = defineCommand34({
7936
+ var allowedCmd = defineCommand35({
7794
7937
  meta: { name: "allowed", description: "List allowlisted Telegram users" },
7795
7938
  async run() {
7796
7939
  const client = createClient2();
@@ -7805,7 +7948,7 @@ var allowedCmd = defineCommand34({
7805
7948
  }
7806
7949
  }
7807
7950
  });
7808
- var pairingCreateCmd = defineCommand34({
7951
+ var pairingCreateCmd = defineCommand35({
7809
7952
  meta: { name: "create", description: "Generate a one-time Telegram owner pairing code" },
7810
7953
  async run() {
7811
7954
  const result = await createClient2().post(
@@ -7816,7 +7959,7 @@ var pairingCreateCmd = defineCommand34({
7816
7959
  console.log("send `/pair <code>` in the configured \u2699 bazilion service topic");
7817
7960
  }
7818
7961
  });
7819
- var pairingStatusCmd = defineCommand34({
7962
+ var pairingStatusCmd = defineCommand35({
7820
7963
  meta: { name: "status", description: "Show Telegram owner pairing status" },
7821
7964
  async run() {
7822
7965
  const result = await createClient2().get("/api/config/telegram/pairing");
@@ -7827,14 +7970,14 @@ var pairingStatusCmd = defineCommand34({
7827
7970
  console.log(`expires: ${new Date(result.challengeExpiresAt).toISOString()}`);
7828
7971
  }
7829
7972
  });
7830
- var pairingCancelCmd = defineCommand34({
7973
+ var pairingCancelCmd = defineCommand35({
7831
7974
  meta: { name: "cancel", description: "Cancel the active Telegram pairing code" },
7832
7975
  async run() {
7833
7976
  await createClient2().del("/api/config/telegram/pairing/challenge");
7834
7977
  console.log("pairing challenge cancelled");
7835
7978
  }
7836
7979
  });
7837
- var pairingResetCmd = defineCommand34({
7980
+ var pairingResetCmd = defineCommand35({
7838
7981
  meta: { name: "reset", description: "Revoke the Telegram owner and require re-pairing" },
7839
7982
  args: {
7840
7983
  yes: { type: "boolean", description: "Confirm destructive owner reset", required: true }
@@ -7845,7 +7988,7 @@ var pairingResetCmd = defineCommand34({
7845
7988
  console.log("Telegram owner reset; ingress is closed until re-paired");
7846
7989
  }
7847
7990
  });
7848
- var pairingCmd = defineCommand34({
7991
+ var pairingCmd = defineCommand35({
7849
7992
  meta: { name: "pairing", description: "Manage single-owner Telegram pairing" },
7850
7993
  subCommands: {
7851
7994
  create: pairingCreateCmd,
@@ -7854,7 +7997,7 @@ var pairingCmd = defineCommand34({
7854
7997
  reset: pairingResetCmd
7855
7998
  }
7856
7999
  });
7857
- var telegramCommand = defineCommand34({
8000
+ var telegramCommand = defineCommand35({
7858
8001
  meta: {
7859
8002
  name: "telegram",
7860
8003
  description: "Telegram integration: credentials, health, bot lifecycle, bindings, access"
@@ -7875,7 +8018,7 @@ var telegramCommand = defineCommand34({
7875
8018
  });
7876
8019
 
7877
8020
  // src/commands/token.ts
7878
- import { defineCommand as defineCommand35 } from "citty";
8021
+ import { defineCommand as defineCommand36 } from "citty";
7879
8022
  import qrcode from "qrcode-terminal";
7880
8023
  function tokenRow(t) {
7881
8024
  const last = t.lastUsedAt ? new Date(t.lastUsedAt).toISOString() : "(never)";
@@ -7904,7 +8047,7 @@ function resolveQrServer(override) {
7904
8047
  }
7905
8048
  return url.origin;
7906
8049
  }
7907
- var createCmd5 = defineCommand35({
8050
+ var createCmd6 = defineCommand36({
7908
8051
  meta: { name: "create", description: "Mint a new web token (shown once)" },
7909
8052
  args: {
7910
8053
  label: { type: "positional", required: true, description: "Human-readable label" },
@@ -7947,7 +8090,7 @@ var createCmd5 = defineCommand35({
7947
8090
  qrcode.generate(pairUrl, { small: true }, (qr) => console.log(qr));
7948
8091
  }
7949
8092
  });
7950
- var listCmd13 = defineCommand35({
8093
+ var listCmd14 = defineCommand36({
7951
8094
  meta: { name: "list", description: "List web tokens" },
7952
8095
  args: {
7953
8096
  all: { type: "boolean", description: "Include revoked tokens" }
@@ -7963,7 +8106,7 @@ var listCmd13 = defineCommand35({
7963
8106
  for (const line of columnize(tokens.map(tokenRow))) console.log(line);
7964
8107
  }
7965
8108
  });
7966
- var showLocalCmd = defineCommand35({
8109
+ var showLocalCmd = defineCommand36({
7967
8110
  meta: {
7968
8111
  name: "show-local",
7969
8112
  description: "Print the bootstrap web token stored in ~/.bazilion/auth.json"
@@ -7973,7 +8116,7 @@ var showLocalCmd = defineCommand35({
7973
8116
  console.log(readAuthFile(paths.authFile).token);
7974
8117
  }
7975
8118
  });
7976
- var revokeCmd2 = defineCommand35({
8119
+ var revokeCmd2 = defineCommand36({
7977
8120
  meta: { name: "revoke", description: "Revoke a web token" },
7978
8121
  args: {
7979
8122
  id: { type: "positional", required: true }
@@ -7984,19 +8127,19 @@ var revokeCmd2 = defineCommand35({
7984
8127
  console.log(`revoked token ${args2.id}`);
7985
8128
  }
7986
8129
  });
7987
- var tokenCommand = defineCommand35({
8130
+ var tokenCommand = defineCommand36({
7988
8131
  meta: { name: "token", description: "Manage web tokens for API/CLI clients" },
7989
8132
  subCommands: {
7990
- create: createCmd5,
7991
- list: listCmd13,
8133
+ create: createCmd6,
8134
+ list: listCmd14,
7992
8135
  revoke: revokeCmd2,
7993
8136
  "show-local": showLocalCmd
7994
8137
  }
7995
8138
  });
7996
8139
 
7997
8140
  // src/commands/trigger.ts
7998
- import { defineCommand as defineCommand36 } from "citty";
7999
- var addCmd3 = defineCommand36({
8141
+ import { defineCommand as defineCommand37 } from "citty";
8142
+ var addCmd3 = defineCommand37({
8000
8143
  meta: { name: "add", description: "Add an interval / cron trigger to an agent" },
8001
8144
  args: {
8002
8145
  agent: { type: "positional", required: true },
@@ -8044,7 +8187,7 @@ function triggerRow(t) {
8044
8187
  const msgPreview = t.message.length > 60 ? `${t.message.slice(0, 60)}\u2026` : t.message;
8045
8188
  return [t.id, state, spec, `last: ${last}`, `"${msgPreview}"`];
8046
8189
  }
8047
- var listCmd14 = defineCommand36({
8190
+ var listCmd15 = defineCommand37({
8048
8191
  meta: { name: "list", description: "List triggers for an agent" },
8049
8192
  args: {
8050
8193
  agent: { type: "positional", required: true }
@@ -8061,7 +8204,7 @@ var listCmd14 = defineCommand36({
8061
8204
  for (const line of columnize(triggers.map(triggerRow))) console.log(line);
8062
8205
  }
8063
8206
  });
8064
- var rmCmd6 = defineCommand36({
8207
+ var rmCmd6 = defineCommand37({
8065
8208
  meta: { name: "rm", description: "Delete a trigger" },
8066
8209
  args: {
8067
8210
  id: { type: "positional", required: true }
@@ -8072,7 +8215,7 @@ var rmCmd6 = defineCommand36({
8072
8215
  console.log(`removed trigger ${args2.id}`);
8073
8216
  }
8074
8217
  });
8075
- var enableCmd3 = defineCommand36({
8218
+ var enableCmd3 = defineCommand37({
8076
8219
  meta: { name: "enable", description: "Enable a trigger" },
8077
8220
  args: {
8078
8221
  id: { type: "positional", required: true }
@@ -8084,7 +8227,7 @@ var enableCmd3 = defineCommand36({
8084
8227
  console.log(`enabled trigger ${args2.id}`);
8085
8228
  }
8086
8229
  });
8087
- var disableCmd3 = defineCommand36({
8230
+ var disableCmd3 = defineCommand37({
8088
8231
  meta: { name: "disable", description: "Disable a trigger" },
8089
8232
  args: {
8090
8233
  id: { type: "positional", required: true }
@@ -8096,7 +8239,7 @@ var disableCmd3 = defineCommand36({
8096
8239
  console.log(`disabled trigger ${args2.id}`);
8097
8240
  }
8098
8241
  });
8099
- var historyCmd = defineCommand36({
8242
+ var historyCmd = defineCommand37({
8100
8243
  meta: { name: "history", description: "Show recent dispatches for a trigger" },
8101
8244
  args: {
8102
8245
  id: { type: "positional", required: true },
@@ -8124,11 +8267,11 @@ var historyCmd = defineCommand36({
8124
8267
  for (const line of columnize(rows)) console.log(line);
8125
8268
  }
8126
8269
  });
8127
- var triggerCommand = defineCommand36({
8270
+ var triggerCommand = defineCommand37({
8128
8271
  meta: { name: "trigger", description: "Manage scheduled agent triggers" },
8129
8272
  subCommands: {
8130
8273
  add: addCmd3,
8131
- list: listCmd14,
8274
+ list: listCmd15,
8132
8275
  rm: rmCmd6,
8133
8276
  enable: enableCmd3,
8134
8277
  disable: disableCmd3,
@@ -8140,7 +8283,7 @@ var triggerCommand = defineCommand36({
8140
8283
  import { existsSync as existsSync7, lstatSync as lstatSync4, readdirSync as readdirSync2, realpathSync as realpathSync2, rmSync as rmSync4 } from "fs";
8141
8284
  import { homedir as homedir2 } from "os";
8142
8285
  import { isAbsolute as isAbsolute2, join as join6, parse as parse2, relative as relative2, resolve as resolve5, sep } from "path";
8143
- import { defineCommand as defineCommand37 } from "citty";
8286
+ import { defineCommand as defineCommand38 } from "citty";
8144
8287
  function makeLineReader() {
8145
8288
  let buffer = "";
8146
8289
  let ended = false;
@@ -8227,7 +8370,7 @@ function assertSafeUninstallHome(home) {
8227
8370
  }
8228
8371
  return target;
8229
8372
  }
8230
- var uninstallCommand = defineCommand37({
8373
+ var uninstallCommand = defineCommand38({
8231
8374
  meta: {
8232
8375
  name: "uninstall",
8233
8376
  description: "Wipe bazilion state from ~/.bazilion (or BAZILION_HOME)"
@@ -8331,7 +8474,7 @@ var uninstallCommand = defineCommand37({
8331
8474
 
8332
8475
  // src/index.ts
8333
8476
  var VERSION = package_default.version;
8334
- var main = defineCommand38({
8477
+ var main = defineCommand39({
8335
8478
  meta: {
8336
8479
  name: "bazilion",
8337
8480
  version: VERSION,