@calltelemetry/cli 0.12.11 → 0.12.12

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 (145) hide show
  1. package/dist/commands/config.d.ts +25 -0
  2. package/dist/commands/config.d.ts.map +1 -1
  3. package/dist/commands/config.js +42 -3
  4. package/dist/commands/config.js.map +1 -1
  5. package/dist/commands/db.d.ts +24 -0
  6. package/dist/commands/db.d.ts.map +1 -1
  7. package/dist/commands/db.js +43 -4
  8. package/dist/commands/db.js.map +1 -1
  9. package/dist/commands/go-parity.d.ts +32 -0
  10. package/dist/commands/go-parity.d.ts.map +1 -0
  11. package/dist/commands/go-parity.js +359 -0
  12. package/dist/commands/go-parity.js.map +1 -0
  13. package/dist/commands/jtapi.d.ts.map +1 -1
  14. package/dist/commands/jtapi.js +2 -0
  15. package/dist/commands/jtapi.js.map +1 -1
  16. package/dist/commands/migrate.d.ts.map +1 -1
  17. package/dist/commands/migrate.js +2 -0
  18. package/dist/commands/migrate.js.map +1 -1
  19. package/dist/commands/network.d.ts.map +1 -1
  20. package/dist/commands/network.js +63 -50
  21. package/dist/commands/network.js.map +1 -1
  22. package/dist/commands/offline.d.ts.map +1 -1
  23. package/dist/commands/offline.js +2 -0
  24. package/dist/commands/offline.js.map +1 -1
  25. package/dist/commands/seed.d.ts.map +1 -1
  26. package/dist/commands/seed.js +2 -0
  27. package/dist/commands/seed.js.map +1 -1
  28. package/dist/commands/ship-certs.d.ts +7 -0
  29. package/dist/commands/ship-certs.d.ts.map +1 -0
  30. package/dist/commands/ship-certs.js +105 -0
  31. package/dist/commands/ship-certs.js.map +1 -0
  32. package/dist/commands/ship-db.d.ts +8 -0
  33. package/dist/commands/ship-db.d.ts.map +1 -0
  34. package/dist/commands/ship-db.js +358 -0
  35. package/dist/commands/ship-db.js.map +1 -0
  36. package/dist/commands/ship-diag.d.ts +10 -0
  37. package/dist/commands/ship-diag.d.ts.map +1 -0
  38. package/dist/commands/ship-diag.js +73 -0
  39. package/dist/commands/ship-diag.js.map +1 -0
  40. package/dist/commands/ship-ipv6.d.ts +6 -0
  41. package/dist/commands/ship-ipv6.d.ts.map +1 -0
  42. package/dist/commands/ship-ipv6.js +59 -0
  43. package/dist/commands/ship-ipv6.js.map +1 -0
  44. package/dist/commands/ship-logging.d.ts +7 -0
  45. package/dist/commands/ship-logging.d.ts.map +1 -0
  46. package/dist/commands/ship-logging.js +71 -0
  47. package/dist/commands/ship-logging.js.map +1 -0
  48. package/dist/commands/ship-migrate.d.ts +6 -0
  49. package/dist/commands/ship-migrate.d.ts.map +1 -0
  50. package/dist/commands/ship-migrate.js +152 -0
  51. package/dist/commands/ship-migrate.js.map +1 -0
  52. package/dist/commands/ship-os-updates.d.ts +6 -0
  53. package/dist/commands/ship-os-updates.d.ts.map +1 -0
  54. package/dist/commands/ship-os-updates.js +116 -0
  55. package/dist/commands/ship-os-updates.js.map +1 -0
  56. package/dist/commands/ship-postgres.d.ts +6 -0
  57. package/dist/commands/ship-postgres.d.ts.map +1 -0
  58. package/dist/commands/ship-postgres.js +84 -0
  59. package/dist/commands/ship-postgres.js.map +1 -0
  60. package/dist/commands/ship-services.d.ts +7 -0
  61. package/dist/commands/ship-services.d.ts.map +1 -0
  62. package/dist/commands/ship-services.js +127 -0
  63. package/dist/commands/ship-services.js.map +1 -0
  64. package/dist/commands/ship-sql-monitor.d.ts +6 -0
  65. package/dist/commands/ship-sql-monitor.d.ts.map +1 -0
  66. package/dist/commands/ship-sql-monitor.js +89 -0
  67. package/dist/commands/ship-sql-monitor.js.map +1 -0
  68. package/dist/commands/ship-status.d.ts +6 -0
  69. package/dist/commands/ship-status.d.ts.map +1 -0
  70. package/dist/commands/ship-status.js +21 -0
  71. package/dist/commands/ship-status.js.map +1 -0
  72. package/dist/commands/ship-update.d.ts +31 -0
  73. package/dist/commands/ship-update.d.ts.map +1 -0
  74. package/dist/commands/ship-update.js +234 -0
  75. package/dist/commands/ship-update.js.map +1 -0
  76. package/dist/commands/ship-users.d.ts +7 -0
  77. package/dist/commands/ship-users.d.ts.map +1 -0
  78. package/dist/commands/ship-users.js +118 -0
  79. package/dist/commands/ship-users.js.map +1 -0
  80. package/dist/commands/update.d.ts +45 -0
  81. package/dist/commands/update.d.ts.map +1 -1
  82. package/dist/commands/update.js +74 -3
  83. package/dist/commands/update.js.map +1 -1
  84. package/dist/commands/users.d.ts.map +1 -1
  85. package/dist/commands/users.js +51 -0
  86. package/dist/commands/users.js.map +1 -1
  87. package/dist/index.js +3 -72
  88. package/dist/index.js.map +1 -1
  89. package/dist/lib/network-apply.d.ts +102 -0
  90. package/dist/lib/network-apply.d.ts.map +1 -0
  91. package/dist/lib/network-apply.js +472 -0
  92. package/dist/lib/network-apply.js.map +1 -0
  93. package/dist/lib/ops-port.d.ts +205 -0
  94. package/dist/lib/ops-port.d.ts.map +1 -0
  95. package/dist/lib/ops-port.js +906 -0
  96. package/dist/lib/ops-port.js.map +1 -0
  97. package/dist/lib/public-doc.d.ts +37 -0
  98. package/dist/lib/public-doc.d.ts.map +1 -0
  99. package/dist/lib/public-doc.js +27 -0
  100. package/dist/lib/public-doc.js.map +1 -0
  101. package/dist/lib/ship-identity.d.ts +9 -0
  102. package/dist/lib/ship-identity.d.ts.map +1 -0
  103. package/dist/lib/ship-identity.js +12 -0
  104. package/dist/lib/ship-identity.js.map +1 -0
  105. package/dist/lib/ship-logo.d.ts +11 -0
  106. package/dist/lib/ship-logo.d.ts.map +1 -0
  107. package/dist/lib/ship-logo.js +17 -0
  108. package/dist/lib/ship-logo.js.map +1 -0
  109. package/dist/lib/ship-status.d.ts +21 -0
  110. package/dist/lib/ship-status.d.ts.map +1 -0
  111. package/dist/lib/ship-status.js +82 -0
  112. package/dist/lib/ship-status.js.map +1 -0
  113. package/dist/lib/version.d.ts +1 -1
  114. package/dist/lib/version.js +1 -1
  115. package/dist/program.d.ts +22 -0
  116. package/dist/program.d.ts.map +1 -0
  117. package/dist/program.js +124 -0
  118. package/dist/program.js.map +1 -0
  119. package/dist/shell/commands/diag.d.ts.map +1 -1
  120. package/dist/shell/commands/diag.js +47 -19
  121. package/dist/shell/commands/diag.js.map +1 -1
  122. package/dist/shell/commands/ops-mutates.d.ts +16 -0
  123. package/dist/shell/commands/ops-mutates.d.ts.map +1 -0
  124. package/dist/shell/commands/ops-mutates.js +62 -0
  125. package/dist/shell/commands/ops-mutates.js.map +1 -0
  126. package/dist/shell/commands/registry.d.ts.map +1 -1
  127. package/dist/shell/commands/registry.js +43 -0
  128. package/dist/shell/commands/registry.js.map +1 -1
  129. package/dist/shell/commands/show.d.ts +12 -0
  130. package/dist/shell/commands/show.d.ts.map +1 -1
  131. package/dist/shell/commands/show.js +190 -10
  132. package/dist/shell/commands/show.js.map +1 -1
  133. package/dist/shell/commands/telemetry.d.ts +11 -0
  134. package/dist/shell/commands/telemetry.d.ts.map +1 -0
  135. package/dist/shell/commands/telemetry.js +49 -0
  136. package/dist/shell/commands/telemetry.js.map +1 -0
  137. package/dist/shell/network-onboarding.d.ts +7 -4
  138. package/dist/shell/network-onboarding.d.ts.map +1 -1
  139. package/dist/shell/network-onboarding.js +22 -38
  140. package/dist/shell/network-onboarding.js.map +1 -1
  141. package/dist/ship-entry.d.ts +3 -0
  142. package/dist/ship-entry.d.ts.map +1 -0
  143. package/dist/ship-entry.js +121 -0
  144. package/dist/ship-entry.js.map +1 -0
  145. package/package.json +9 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-db.js","sourceRoot":"","sources":["../../src/commands/ship-db.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Slim non-Ink diagnostics for the ship binary (showtech via step runner).
3
+ */
4
+ import type { Command } from 'commander';
5
+ export declare function runShipShowtech(opts: {
6
+ policyMinutes?: string;
7
+ skipDiskBenchmark?: boolean;
8
+ }): Promise<void>;
9
+ export declare function registerShipDiagCommand(program: Command): void;
10
+ //# sourceMappingURL=ship-diag.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-diag.d.ts","sourceRoot":"","sources":["../../src/commands/ship-diag.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWzC,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsChB;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiC9D"}
@@ -0,0 +1,73 @@
1
+ import { join } from 'node:path';
2
+ import { getPaths } from '../lib/paths.js';
3
+ import { showtechSteps } from '../lib/showtech-steps.js';
4
+ import { runStepsCli } from '../lib/update-steps.js';
5
+ import * as out from '../utils/output.js';
6
+ function timestamp() {
7
+ return new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
8
+ }
9
+ export async function runShipShowtech(opts) {
10
+ const { installDir } = getPaths();
11
+ const bundleDir = join(installDir, `ct-showtech-${timestamp()}`);
12
+ const policyMinutes = opts.policyMinutes ? parseInt(opts.policyMinutes, 10) : undefined;
13
+ if (opts.policyMinutes && (policyMinutes === undefined || Number.isNaN(policyMinutes))) {
14
+ out.fail('--policy-minutes must be a number');
15
+ process.exitCode = 1;
16
+ return;
17
+ }
18
+ console.log('Collecting show-tech support bundle...');
19
+ console.log(`Bundle dir: ${bundleDir}`);
20
+ console.log();
21
+ const steps = showtechSteps(bundleDir, {
22
+ policyMinutes: policyMinutes !== undefined && !Number.isNaN(policyMinutes) ? policyMinutes : undefined,
23
+ includeDiskBenchmark: !opts.skipDiskBenchmark,
24
+ });
25
+ // Best-effort collection: log step failures but continue so operators
26
+ // still get a partial bundle (parity with shell debug showtech).
27
+ let failed = 0;
28
+ for (const step of steps) {
29
+ try {
30
+ await runStepsCli([step]);
31
+ }
32
+ catch {
33
+ failed += 1;
34
+ }
35
+ }
36
+ console.log();
37
+ if (failed > 0) {
38
+ out.warn(`Show-tech finished with ${failed} step failure(s); archive may be partial.`);
39
+ process.exitCode = 1;
40
+ }
41
+ else {
42
+ out.ok('Show-tech complete (see archive path above).');
43
+ }
44
+ }
45
+ export function registerShipDiagCommand(program) {
46
+ const diag = program.command('diag').description('Diagnostics');
47
+ const showtechAction = async (opts) => {
48
+ try {
49
+ await runShipShowtech(opts);
50
+ }
51
+ catch (err) {
52
+ out.fail(err?.message ?? String(err));
53
+ process.exitCode = 1;
54
+ }
55
+ };
56
+ diag
57
+ .command('showtech')
58
+ .description('Collect support bundle (logs, config, health) — text step runner')
59
+ .option('--policy-minutes <minutes>', 'Include policy history for last N minutes')
60
+ .option('--skip-disk-benchmark', 'Skip fio disk benchmark in health report')
61
+ .action(showtechAction);
62
+ // Alias: ct showtech
63
+ program
64
+ .command('showtech')
65
+ .description('Collect support bundle (alias for diag showtech)')
66
+ .option('--policy-minutes <minutes>', 'Include policy history for last N minutes')
67
+ .option('--skip-disk-benchmark', 'Skip fio disk benchmark in health report')
68
+ .action(showtechAction);
69
+ diag.action(() => {
70
+ console.log('Usage: ct diag showtech [--policy-minutes N] [--skip-disk-benchmark]');
71
+ });
72
+ }
73
+ //# sourceMappingURL=ship-diag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-diag.js","sourceRoot":"","sources":["../../src/commands/ship-diag.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Ship (no-Ink) IPv6 dual-stack toggle.
3
+ */
4
+ import type { Command } from 'commander';
5
+ export declare function registerShipIpv6Command(program: Command): void;
6
+ //# sourceMappingURL=ship-ipv6.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-ipv6.d.ts","sourceRoot":"","sources":["../../src/commands/ship-ipv6.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsBzC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmC9D"}
@@ -0,0 +1,59 @@
1
+ import { execa } from 'execa';
2
+ import { enableIpv6, disableIpv6, getIpv6Status } from '../lib/ipv6.js';
3
+ import { composeUp } from '../lib/compose.js';
4
+ import { getPrefs, savePrefs } from '../lib/prefs.js';
5
+ import * as out from '../utils/output.js';
6
+ async function restartServices() {
7
+ try {
8
+ await execa('systemctl', ['restart', 'docker-compose-app.service']);
9
+ out.ok('Service restarted');
10
+ }
11
+ catch {
12
+ try {
13
+ await composeUp(['-d']);
14
+ out.ok('Stack recreated via docker compose up -d');
15
+ }
16
+ catch (e) {
17
+ out.warn(`IPv6 changed; restart failed: ${e?.message ?? e}`);
18
+ out.info('Apply with: ct restart');
19
+ }
20
+ }
21
+ }
22
+ export function registerShipIpv6Command(program) {
23
+ program
24
+ .command('ipv6 [action]')
25
+ .description('Show or toggle IPv6 support (enable|disable)')
26
+ .action(async (action) => {
27
+ if (!action || action === 'status') {
28
+ console.log(`IPv6 Status: ${getIpv6Status()}`);
29
+ console.log();
30
+ console.log('Usage: ct ipv6 <enable|disable>');
31
+ return;
32
+ }
33
+ try {
34
+ if (action === 'enable') {
35
+ await enableIpv6();
36
+ const prefs = getPrefs();
37
+ savePrefs({ ...prefs, ipv6: true });
38
+ console.log('IPv6 enabled (preference saved).');
39
+ await restartServices();
40
+ return;
41
+ }
42
+ if (action === 'disable') {
43
+ await disableIpv6();
44
+ const prefs = getPrefs();
45
+ savePrefs({ ...prefs, ipv6: false });
46
+ console.log('IPv6 disabled (preference saved).');
47
+ await restartServices();
48
+ return;
49
+ }
50
+ out.fail(`Invalid action: ${action}. Use enable or disable.`);
51
+ process.exitCode = 1;
52
+ }
53
+ catch (err) {
54
+ out.fail(err instanceof Error ? err.message : String(err));
55
+ process.exitCode = 1;
56
+ }
57
+ });
58
+ }
59
+ //# sourceMappingURL=ship-ipv6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-ipv6.js","sourceRoot":"","sources":["../../src/commands/ship-ipv6.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACxE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAE1C,KAAK,UAAU,eAAe;IAC5B,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,4BAA4B,CAAC,CAAC,CAAC;QACpE,GAAG,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACxB,GAAG,CAAC,EAAE,CAAC,0CAA0C,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,iCAAiC,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAAgB;IACtD,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,8CAA8C,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,MAAe,EAAE,EAAE;QAChC,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,EAAE,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,MAAM,UAAU,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACzB,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,MAAM,eAAe,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,WAAW,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;gBACzB,SAAS,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;gBACjD,MAAM,eAAe,EAAE,CAAC;gBACxB,OAAO;YACT,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,mBAAmB,MAAM,0BAA0B,CAAC,CAAC;YAC9D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Ship (no-Ink) logging level: show or set LOGGING_LEVEL in docker-compose.yml.
3
+ * Argv forms: `ct logging`, `ct logging status`, `ct logging debug|info|warning|error`.
4
+ */
5
+ import type { Command } from 'commander';
6
+ export declare function registerShipLoggingCommand(program: Command): void;
7
+ //# sourceMappingURL=ship-logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-logging.d.ts","sourceRoot":"","sources":["../../src/commands/ship-logging.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2DzC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmBjE"}
@@ -0,0 +1,71 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { execa } from 'execa';
3
+ import { writeFileSafe } from '../lib/fs.js';
4
+ import { composeUp } from '../lib/compose.js';
5
+ import { getPaths } from '../lib/paths.js';
6
+ import * as out from '../utils/output.js';
7
+ const VALID_LEVELS = ['debug', 'info', 'warning', 'error'];
8
+ function getLoggingLevel() {
9
+ const { composeFile } = getPaths();
10
+ if (!existsSync(composeFile))
11
+ return 'unknown';
12
+ const content = readFileSync(composeFile, 'utf-8');
13
+ const match = content.match(/LOGGING_LEVEL=(\w+)/);
14
+ return match ? match[1] : 'warning';
15
+ }
16
+ function printStatus() {
17
+ console.log(`Logging Level: ${getLoggingLevel()}`);
18
+ console.log();
19
+ console.log(`Available levels: ${VALID_LEVELS.join(', ')}`);
20
+ console.log('Usage: ct logging <level>');
21
+ }
22
+ async function setLoggingLevel(level) {
23
+ const { composeFile } = getPaths();
24
+ if (!existsSync(composeFile)) {
25
+ out.fail(`docker-compose.yml not found (${composeFile})`);
26
+ process.exitCode = 1;
27
+ return;
28
+ }
29
+ const content = readFileSync(composeFile, 'utf-8');
30
+ if (!/LOGGING_LEVEL=\w+/.test(content)) {
31
+ out.fail('LOGGING_LEVEL not found in docker-compose.yml');
32
+ process.exitCode = 1;
33
+ return;
34
+ }
35
+ const updated = content.replace(/LOGGING_LEVEL=\w+/, `LOGGING_LEVEL=${level}`);
36
+ await writeFileSafe(composeFile, updated);
37
+ console.log(`Logging level set to ${level}`);
38
+ try {
39
+ await execa('systemctl', ['restart', 'docker-compose-app.service']);
40
+ out.ok('Service restarted');
41
+ }
42
+ catch {
43
+ try {
44
+ await composeUp(['-d']);
45
+ out.ok('Stack recreated via docker compose up -d');
46
+ }
47
+ catch (e) {
48
+ out.warn(`Level written; restart failed: ${e?.message ?? e}`);
49
+ out.info('Apply with: ct restart');
50
+ }
51
+ }
52
+ }
53
+ export function registerShipLoggingCommand(program) {
54
+ program
55
+ .command('logging [level]')
56
+ .description('Show or set appliance logging level (debug, info, warning, error)')
57
+ .action(async (level) => {
58
+ if (!level || level === 'status') {
59
+ printStatus();
60
+ return;
61
+ }
62
+ if (!VALID_LEVELS.includes(level)) {
63
+ out.fail(`Invalid logging level '${level}'`);
64
+ console.log(`Available levels: ${VALID_LEVELS.join(', ')}`);
65
+ process.exitCode = 1;
66
+ return;
67
+ }
68
+ await setLoggingLevel(level);
69
+ });
70
+ }
71
+ //# sourceMappingURL=ship-logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-logging.js","sourceRoot":"","sources":["../../src/commands/ship-logging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Ship (no-Ink) Ecto migrations: status | run | history | watch (text poll).
3
+ */
4
+ import type { Command } from 'commander';
5
+ export declare function registerShipMigrateCommand(program: Command): void;
6
+ //# sourceMappingURL=ship-migrate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-migrate.d.ts","sourceRoot":"","sources":["../../src/commands/ship-migrate.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4GzC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8DjE"}
@@ -0,0 +1,152 @@
1
+ import { composeExec } from '../lib/compose.js';
2
+ import { DB_USER, DB_NAME, PG_ENV } from '../lib/db.js';
3
+ import { rpc } from '../lib/rpc.js';
4
+ import { attachMigrateLegacy } from './go-parity.js';
5
+ import * as out from '../utils/output.js';
6
+ async function psqlTerse(query) {
7
+ const result = await composeExec('db', ['psql', '-U', DB_USER, '-d', DB_NAME, '-tAc', query], { env: PG_ENV, pipe: true });
8
+ return (result.stdout ?? '').trim();
9
+ }
10
+ async function migrateStatus() {
11
+ const raw = await rpc('Ecto.Migrator.migrations(Cdrcisco.Repo) |> Enum.map(fn {status, version, name} -> "#{status}|#{version}|#{name}" end) |> Enum.join("\\n") |> IO.puts()');
12
+ const lines = raw
13
+ .trim()
14
+ .split('\n')
15
+ .map((l) => l.trim())
16
+ .filter((l) => l.includes('|'));
17
+ if (lines.length === 0) {
18
+ console.log('No migrations found (or web RPC unavailable).');
19
+ return;
20
+ }
21
+ const upCount = lines.filter((l) => l.startsWith('up')).length;
22
+ const downCount = lines.filter((l) => l.startsWith('down')).length;
23
+ console.log('Migration status');
24
+ console.log(` Applied: ${upCount} Pending: ${downCount}`);
25
+ console.log();
26
+ console.log(' Status Version Name');
27
+ for (const line of lines) {
28
+ const [status, version, ...rest] = line.split('|').map((c) => c.trim());
29
+ const name = rest.join('|');
30
+ console.log(` ${(status ?? '').padEnd(7)} ${(version ?? '').padEnd(18)} ${name}`);
31
+ }
32
+ if (downCount > 0) {
33
+ out.warn(`${downCount} pending — run: ct migrate run`);
34
+ }
35
+ else {
36
+ out.ok('All migrations applied');
37
+ }
38
+ }
39
+ async function migrateRun() {
40
+ console.log('Running pending Ecto migrations...');
41
+ const output = await rpc('Ecto.Migrator.run(Cdrcisco.Repo, :up, all: true) |> inspect() |> IO.puts()');
42
+ if (output.trim())
43
+ console.log(output.trim());
44
+ out.ok('Migrations applied');
45
+ }
46
+ async function migrateHistory() {
47
+ const result = await psqlTerse('SELECT version || \'|\' || coalesce(inserted_at::text, \'\') FROM schema_migrations ORDER BY version DESC LIMIT 20;');
48
+ if (!result) {
49
+ console.log('No migration history in schema_migrations.');
50
+ return;
51
+ }
52
+ console.log('Migration history (last 20)');
53
+ console.log(' Version Inserted at');
54
+ for (const line of result.split('\n').filter(Boolean)) {
55
+ const [version, inserted] = line.split('|');
56
+ console.log(` ${(version ?? '').padEnd(18)} ${inserted ?? ''}`);
57
+ }
58
+ }
59
+ async function migrateWatch(intervalSec) {
60
+ const ms = Math.max(1, intervalSec) * 1000;
61
+ console.log(`Polling migrations every ${intervalSec}s (Ctrl-C to stop).\n`);
62
+ let running = true;
63
+ const onSigint = () => {
64
+ running = false;
65
+ };
66
+ process.once('SIGINT', onSigint);
67
+ try {
68
+ while (running) {
69
+ try {
70
+ const output = await rpc('ms = Ecto.Migrator.migrations(Cdrcisco.Repo); total = length(ms); applied = Enum.count(ms, fn {s, _, _} -> s == :up end); IO.puts("#{applied}/#{total}")');
71
+ const ts = new Date().toISOString();
72
+ console.log(`${ts} applied ${output.trim()}`);
73
+ if (output.trim().match(/^(\d+)\/\1$/)) {
74
+ out.ok('All migrations applied');
75
+ break;
76
+ }
77
+ }
78
+ catch (err) {
79
+ out.warn(`Poll failed: ${err instanceof Error ? err.message : String(err)}`);
80
+ }
81
+ if (!running)
82
+ break;
83
+ await new Promise((r) => setTimeout(r, ms));
84
+ }
85
+ }
86
+ finally {
87
+ process.removeListener('SIGINT', onSigint);
88
+ }
89
+ }
90
+ export function registerShipMigrateCommand(program) {
91
+ const migrate = program.command('migrate').description('Database migration commands');
92
+ attachMigrateLegacy(migrate);
93
+ migrate
94
+ .command('status')
95
+ .description('Show Ecto migration status (default)')
96
+ .action(async () => {
97
+ try {
98
+ await migrateStatus();
99
+ }
100
+ catch (err) {
101
+ out.fail(err instanceof Error ? err.message : String(err));
102
+ process.exitCode = 1;
103
+ }
104
+ });
105
+ migrate
106
+ .command('run')
107
+ .description('Run pending Ecto migrations')
108
+ .action(async () => {
109
+ try {
110
+ await migrateRun();
111
+ }
112
+ catch (err) {
113
+ out.fail(err instanceof Error ? err.message : String(err));
114
+ process.exitCode = 1;
115
+ }
116
+ });
117
+ migrate
118
+ .command('history')
119
+ .description('Show recent schema_migrations rows')
120
+ .action(async () => {
121
+ try {
122
+ await migrateHistory();
123
+ }
124
+ catch (err) {
125
+ out.fail(err instanceof Error ? err.message : String(err));
126
+ process.exitCode = 1;
127
+ }
128
+ });
129
+ migrate
130
+ .command('watch')
131
+ .description('Poll migration progress (plain text)')
132
+ .option('-i, --interval <seconds>', 'Refresh interval', '5')
133
+ .action(async (opts) => {
134
+ try {
135
+ await migrateWatch(parseInt(opts.interval ?? '5', 10) || 5);
136
+ }
137
+ catch (err) {
138
+ out.fail(err instanceof Error ? err.message : String(err));
139
+ process.exitCode = 1;
140
+ }
141
+ });
142
+ migrate.action(async () => {
143
+ try {
144
+ await migrateStatus();
145
+ }
146
+ catch (err) {
147
+ out.fail(err instanceof Error ? err.message : String(err));
148
+ process.exitCode = 1;
149
+ }
150
+ });
151
+ }
152
+ //# sourceMappingURL=ship-migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-migrate.js","sourceRoot":"","sources":["../../src/commands/ship-migrate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Ship (no-Ink) OS updates via systemd timer (lib/os-updates).
3
+ */
4
+ import type { Command } from 'commander';
5
+ export declare function registerShipOsUpdatesCommand(program: Command): void;
6
+ //# sourceMappingURL=ship-os-updates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-os-updates.d.ts","sourceRoot":"","sources":["../../src/commands/ship-os-updates.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0BzC,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoGnE"}
@@ -0,0 +1,116 @@
1
+ import { execa } from 'execa';
2
+ import { getTimerStatus, resolveSchedule, writeServiceUnit, writeTimerUnit, enableTimer, disableTimer, getUpdateLog, SCHEDULES, } from '../lib/os-updates.js';
3
+ import * as out from '../utils/output.js';
4
+ async function printStatus() {
5
+ const s = await getTimerStatus();
6
+ console.log('OS updates');
7
+ console.log(` Enabled : ${s.enabled ? 'yes' : 'no'}`);
8
+ console.log(` Schedule: ${s.scheduleLabel ?? s.schedule ?? '(none)'}`);
9
+ console.log(` Next : ${s.nextRun ?? '(unknown)'}`);
10
+ console.log(` Last : ${s.lastRun ?? '(never)'} result=${s.lastResult ?? '-'}`);
11
+ console.log();
12
+ console.log(`Schedules: ${SCHEDULES.map((x) => x.key).join(', ')}`);
13
+ console.log('Usage: ct os-updates enable <daily|weekly|monthly>|disable|run|log|status');
14
+ }
15
+ export function registerShipOsUpdatesCommand(program) {
16
+ const cmd = program
17
+ .command('os-updates')
18
+ .description('Manage automatic OS updates via systemd timer');
19
+ cmd
20
+ .command('status')
21
+ .description('Show timer status (default)')
22
+ .action(async () => {
23
+ try {
24
+ await printStatus();
25
+ }
26
+ catch (err) {
27
+ out.fail(err instanceof Error ? err.message : String(err));
28
+ process.exitCode = 1;
29
+ }
30
+ });
31
+ cmd
32
+ .command('enable <schedule>')
33
+ .description('Enable automatic updates (daily, weekly, or monthly)')
34
+ .action(async (schedule) => {
35
+ try {
36
+ const opt = resolveSchedule(schedule);
37
+ if (!opt) {
38
+ out.fail(`Invalid schedule '${schedule}'. Use: ${SCHEDULES.map((s) => s.key).join(', ')}`);
39
+ process.exitCode = 1;
40
+ return;
41
+ }
42
+ await writeServiceUnit();
43
+ await writeTimerUnit(opt.calendar, opt.label);
44
+ await enableTimer();
45
+ out.ok(`OS updates enabled: ${opt.label}`);
46
+ }
47
+ catch (err) {
48
+ out.fail(err instanceof Error ? err.message : String(err));
49
+ process.exitCode = 1;
50
+ }
51
+ });
52
+ cmd
53
+ .command('disable')
54
+ .description('Disable automatic OS updates')
55
+ .action(async () => {
56
+ try {
57
+ await disableTimer();
58
+ out.ok('OS updates disabled');
59
+ }
60
+ catch (err) {
61
+ out.fail(err instanceof Error ? err.message : String(err));
62
+ process.exitCode = 1;
63
+ }
64
+ });
65
+ cmd
66
+ .command('run')
67
+ .description('Run OS update immediately (dnf update)')
68
+ .option('-y, --yes', 'Confirm without prompt')
69
+ .action(async (opts) => {
70
+ try {
71
+ if (!opts.yes && process.stdin.isTTY) {
72
+ out.warn('This runs: dnf update -y --refresh');
73
+ out.info('Re-run with --yes: ct os-updates run --yes');
74
+ process.exitCode = 1;
75
+ return;
76
+ }
77
+ if (!opts.yes && !process.stdin.isTTY) {
78
+ out.fail('Non-interactive os-updates run requires --yes');
79
+ process.exitCode = 1;
80
+ return;
81
+ }
82
+ console.log('Running dnf update -y --refresh ...');
83
+ await execa('sudo', ['dnf', 'update', '-y', '--refresh'], { stdio: 'inherit' });
84
+ out.ok('OS update finished');
85
+ }
86
+ catch (err) {
87
+ out.fail(err instanceof Error ? err.message : String(err));
88
+ process.exitCode = 1;
89
+ }
90
+ });
91
+ cmd
92
+ .command('log')
93
+ .description('Show recent OS update journal history')
94
+ .option('-n, --lines <n>', 'Journal lines', '50')
95
+ .action(async (opts) => {
96
+ try {
97
+ const n = Math.max(1, parseInt(opts.lines ?? '50', 10) || 50);
98
+ const log = await getUpdateLog(n);
99
+ console.log(log || 'No update history found.');
100
+ }
101
+ catch (err) {
102
+ out.fail(err instanceof Error ? err.message : String(err));
103
+ process.exitCode = 1;
104
+ }
105
+ });
106
+ cmd.action(async () => {
107
+ try {
108
+ await printStatus();
109
+ }
110
+ catch (err) {
111
+ out.fail(err instanceof Error ? err.message : String(err));
112
+ process.exitCode = 1;
113
+ }
114
+ });
115
+ }
116
+ //# sourceMappingURL=ship-os-updates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-os-updates.js","sourceRoot":"","sources":["../../src/commands/ship-os-updates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Ship (no-Ink) PostgreSQL version + connection profile management.
3
+ */
4
+ import type { Command } from 'commander';
5
+ export declare function registerShipPostgresCommand(program: Command): void;
6
+ //# sourceMappingURL=ship-postgres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ship-postgres.d.ts","sourceRoot":"","sources":["../../src/commands/ship-postgres.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAczC,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiFlE"}