ninedeploy 0.10.6 → 0.16.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 (149) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +1 -0
  3. package/dist/client.d.ts +34 -0
  4. package/dist/client.d.ts.map +1 -1
  5. package/dist/client.js +81 -22
  6. package/dist/client.js.map +1 -1
  7. package/dist/commands/backupPolicy.d.ts +29 -0
  8. package/dist/commands/backupPolicy.d.ts.map +1 -0
  9. package/dist/commands/backupPolicy.js +111 -0
  10. package/dist/commands/backupPolicy.js.map +1 -0
  11. package/dist/commands/certificates.d.ts +18 -7
  12. package/dist/commands/certificates.d.ts.map +1 -1
  13. package/dist/commands/certificates.js +121 -1
  14. package/dist/commands/certificates.js.map +1 -1
  15. package/dist/commands/databaseAccess.d.ts +37 -0
  16. package/dist/commands/databaseAccess.d.ts.map +1 -0
  17. package/dist/commands/databaseAccess.js +306 -0
  18. package/dist/commands/databaseAccess.js.map +1 -0
  19. package/dist/commands/deploy.d.ts.map +1 -1
  20. package/dist/commands/deploy.js +28 -7
  21. package/dist/commands/deploy.js.map +1 -1
  22. package/dist/commands/githubApps.d.ts +40 -0
  23. package/dist/commands/githubApps.d.ts.map +1 -0
  24. package/dist/commands/githubApps.js +278 -0
  25. package/dist/commands/githubApps.js.map +1 -0
  26. package/dist/commands/housekeeping.d.ts +7 -0
  27. package/dist/commands/housekeeping.d.ts.map +1 -1
  28. package/dist/commands/housekeeping.js +16 -0
  29. package/dist/commands/housekeeping.js.map +1 -1
  30. package/dist/commands/logs.d.ts.map +1 -1
  31. package/dist/commands/logs.js +17 -2
  32. package/dist/commands/logs.js.map +1 -1
  33. package/dist/commands/manage.d.ts +26 -10
  34. package/dist/commands/manage.d.ts.map +1 -1
  35. package/dist/commands/manage.js +219 -65
  36. package/dist/commands/manage.js.map +1 -1
  37. package/dist/commands/manifest.d.ts.map +1 -1
  38. package/dist/commands/manifest.js +9 -1
  39. package/dist/commands/manifest.js.map +1 -1
  40. package/dist/commands/misc.d.ts +4 -2
  41. package/dist/commands/misc.d.ts.map +1 -1
  42. package/dist/commands/misc.js +25 -11
  43. package/dist/commands/misc.js.map +1 -1
  44. package/dist/commands/multiNode.d.ts +55 -0
  45. package/dist/commands/multiNode.d.ts.map +1 -0
  46. package/dist/commands/multiNode.js +438 -0
  47. package/dist/commands/multiNode.js.map +1 -0
  48. package/dist/commands/notifications.d.ts +1 -1
  49. package/dist/commands/operations.d.ts +89 -0
  50. package/dist/commands/operations.d.ts.map +1 -0
  51. package/dist/commands/operations.js +468 -0
  52. package/dist/commands/operations.js.map +1 -0
  53. package/dist/commands/panelBackup.d.ts +28 -0
  54. package/dist/commands/panelBackup.d.ts.map +1 -0
  55. package/dist/commands/panelBackup.js +153 -0
  56. package/dist/commands/panelBackup.js.map +1 -0
  57. package/dist/commands/plugins.d.ts +1 -1
  58. package/dist/commands/plugins.d.ts.map +1 -1
  59. package/dist/commands/plugins.js +7 -3
  60. package/dist/commands/plugins.js.map +1 -1
  61. package/dist/commands/proxyConfig.d.ts +16 -0
  62. package/dist/commands/proxyConfig.d.ts.map +1 -0
  63. package/dist/commands/proxyConfig.js +122 -0
  64. package/dist/commands/proxyConfig.js.map +1 -0
  65. package/dist/commands/secretProviders.d.ts +59 -0
  66. package/dist/commands/secretProviders.d.ts.map +1 -0
  67. package/dist/commands/secretProviders.js +212 -0
  68. package/dist/commands/secretProviders.js.map +1 -0
  69. package/dist/commands/services.d.ts.map +1 -1
  70. package/dist/commands/services.js +3 -5
  71. package/dist/commands/services.js.map +1 -1
  72. package/dist/commands/setup.d.ts +3 -1
  73. package/dist/commands/setup.d.ts.map +1 -1
  74. package/dist/commands/setup.js +19 -3
  75. package/dist/commands/setup.js.map +1 -1
  76. package/dist/commands/sources.d.ts +10 -3
  77. package/dist/commands/sources.d.ts.map +1 -1
  78. package/dist/commands/sources.js +116 -18
  79. package/dist/commands/sources.js.map +1 -1
  80. package/dist/commands/templates.d.ts.map +1 -1
  81. package/dist/commands/templates.js +8 -1
  82. package/dist/commands/templates.js.map +1 -1
  83. package/dist/config.d.ts.map +1 -1
  84. package/dist/config.js +2 -1
  85. package/dist/config.js.map +1 -1
  86. package/dist/index.js +427 -23
  87. package/dist/index.js.map +1 -1
  88. package/dist/lib/format.d.ts.map +1 -1
  89. package/dist/lib/format.js +5 -4
  90. package/dist/lib/format.js.map +1 -1
  91. package/dist/lib/panelBackupFile.d.ts +3 -0
  92. package/dist/lib/panelBackupFile.d.ts.map +1 -0
  93. package/dist/lib/panelBackupFile.js +71 -0
  94. package/dist/lib/panelBackupFile.js.map +1 -0
  95. package/dist/lib/serverRunner.d.ts +6 -0
  96. package/dist/lib/serverRunner.d.ts.map +1 -1
  97. package/dist/lib/serverRunner.js +18 -3
  98. package/dist/lib/serverRunner.js.map +1 -1
  99. package/dist/prompts.d.ts.map +1 -1
  100. package/dist/prompts.js +9 -2
  101. package/dist/prompts.js.map +1 -1
  102. package/package.json +6 -5
  103. package/src/client.ts +137 -0
  104. package/src/commands/backupPolicy.ts +123 -0
  105. package/src/commands/branding.ts +83 -0
  106. package/src/commands/buildCache.ts +72 -0
  107. package/src/commands/certificates.ts +208 -0
  108. package/src/commands/communityTemplates.ts +97 -0
  109. package/src/commands/configCenter.ts +71 -0
  110. package/src/commands/configPresets.ts +215 -0
  111. package/src/commands/databaseAccess.ts +333 -0
  112. package/src/commands/demo.ts +22 -0
  113. package/src/commands/deploy.ts +284 -0
  114. package/src/commands/doctor.ts +170 -0
  115. package/src/commands/domains.ts +170 -0
  116. package/src/commands/egress.ts +135 -0
  117. package/src/commands/emailTemplates.ts +112 -0
  118. package/src/commands/firewall.ts +82 -0
  119. package/src/commands/githubApps.ts +292 -0
  120. package/src/commands/housekeeping.ts +106 -0
  121. package/src/commands/login.ts +58 -0
  122. package/src/commands/logs.ts +91 -0
  123. package/src/commands/manage.ts +714 -0
  124. package/src/commands/manifest.ts +314 -0
  125. package/src/commands/metrics.ts +69 -0
  126. package/src/commands/misc.ts +307 -0
  127. package/src/commands/multiNode.ts +442 -0
  128. package/src/commands/notifications.ts +174 -0
  129. package/src/commands/operations.ts +519 -0
  130. package/src/commands/panelBackup.ts +167 -0
  131. package/src/commands/pgbouncer.ts +65 -0
  132. package/src/commands/plugins.ts +123 -0
  133. package/src/commands/proxyConfig.ts +117 -0
  134. package/src/commands/secretProviders.ts +228 -0
  135. package/src/commands/server.ts +126 -0
  136. package/src/commands/services.ts +249 -0
  137. package/src/commands/setup.ts +94 -0
  138. package/src/commands/sources.ts +317 -0
  139. package/src/commands/sso.ts +106 -0
  140. package/src/commands/templates.ts +158 -0
  141. package/src/commands/token.ts +66 -0
  142. package/src/commands/webhooks.ts +93 -0
  143. package/src/commands/workspaces.ts +63 -0
  144. package/src/config.ts +53 -0
  145. package/src/index.ts +1273 -0
  146. package/src/lib/format.ts +182 -0
  147. package/src/lib/panelBackupFile.ts +67 -0
  148. package/src/lib/serverRunner.ts +223 -0
  149. package/src/prompts.ts +238 -0
@@ -0,0 +1,278 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import process from 'node:process';
3
+ import { loadConfig } from '../config.js';
4
+ import { prompt } from '../prompts.js';
5
+ import { c, error, header, info, kv, spinner, success, table } from '../lib/format.js';
6
+ import { plain } from './sources.js';
7
+ /**
8
+ * 0.13: GitHub App registration (`ninedeploy github-app …`) and a service's
9
+ * App link (`ninedeploy services github <id>`). App names, slugs, owners,
10
+ * account logins and repository names come from GitHub, so every one of them
11
+ * goes through the F1011 terminal sanitiser before it is printed.
12
+ *
13
+ * Secrets never travel on argv: the private key is read from a file
14
+ * (`--key-file`) or `NINEDEPLOY_GITHUB_APP_KEY`, and a webhook secret only
15
+ * from `NINEDEPLOY_GITHUB_APP_WEBHOOK_SECRET`.
16
+ */
17
+ const KEY_ENV = 'NINEDEPLOY_GITHUB_APP_KEY';
18
+ const WEBHOOK_SECRET_ENV = 'NINEDEPLOY_GITHUB_APP_WEBHOOK_SECRET';
19
+ /** Canonical decimal id only, as the server's parseId accepts it (F598). */
20
+ function parseId(raw) {
21
+ const t = (raw ?? '').trim();
22
+ return /^[1-9]\d*$/.test(t) && Number.isSafeInteger(Number(t)) ? Number(t) : 0;
23
+ }
24
+ const message = (err) => plain(err instanceof Error ? err.message : String(err));
25
+ function installationState(inst) {
26
+ if (inst.removedAt)
27
+ return c.red('removed');
28
+ if (inst.suspendedAt)
29
+ return c.yellow('suspended');
30
+ return c.green('active');
31
+ }
32
+ function printInstallations(rows) {
33
+ if (rows.length === 0) {
34
+ info('No installations yet. Install the App on GitHub, then run `ninedeploy github-app sync <id>`.');
35
+ return;
36
+ }
37
+ table(rows.map((i) => ({
38
+ id: i.id,
39
+ account: plain(i.accountLogin ?? `installation ${i.installationId}`),
40
+ type: plain(i.accountType ?? '—'),
41
+ repos: i.repositorySelection,
42
+ state: installationState(i),
43
+ source: i.sourceId ?? '—',
44
+ })), ['id', 'account', 'type', 'repos', 'state', 'source']);
45
+ }
46
+ /** `ninedeploy github-app list` */
47
+ export async function githubAppList(client) {
48
+ header('GitHub Apps');
49
+ const apps = await spinner('Fetching GitHub Apps', () => client.githubApps.list());
50
+ if (apps.length === 0) {
51
+ const panel = loadConfig().baseUrl.replace(/\/+$/, '');
52
+ info(`No GitHub App registered. One-click setup runs in the browser: ${panel}/sources → GitHub Apps → Create GitHub App.`);
53
+ info('For GitHub Enterprise Server or an existing App: `ninedeploy github-app add-manual`.');
54
+ return;
55
+ }
56
+ table(apps.map((a) => ({
57
+ id: a.id,
58
+ name: plain(a.name),
59
+ appId: a.appId,
60
+ owner: plain(a.ownerLogin ?? '—'),
61
+ host: plain(new URL(a.webBaseUrl).host),
62
+ })), ['id', 'name', 'appId', 'owner', 'host']);
63
+ }
64
+ function printApp(app) {
65
+ kv('Name', plain(app.name));
66
+ kv('App ID', app.appId);
67
+ kv('Slug', app.slug ? plain(app.slug) : null);
68
+ kv('Owner', app.ownerLogin ? `${plain(app.ownerLogin)}${app.ownerType ? ` (${plain(app.ownerType)})` : ''}` : null);
69
+ kv('GitHub', plain(app.webBaseUrl));
70
+ kv('API', plain(app.apiBaseUrl));
71
+ kv('Webhook URL', app.webhookUrl);
72
+ kv('Install URL', app.installUrl ? plain(app.installUrl) : null);
73
+ kv('Private key', app.hasPrivateKey ? c.green('✓ set') : c.red('missing'));
74
+ }
75
+ /** `ninedeploy github-app show <id>` */
76
+ export async function githubAppShow(client, idArg) {
77
+ const id = parseId(idArg);
78
+ if (!id)
79
+ return error('Usage: ninedeploy github-app show <id>');
80
+ header(`GitHub App #${id}`);
81
+ try {
82
+ const [app, installations] = await spinner('Fetching', () => Promise.all([client.githubApps.get(id), client.githubApps.installations(id)]));
83
+ printApp(app);
84
+ console.log();
85
+ printInstallations(installations);
86
+ }
87
+ catch (err) {
88
+ error(message(err));
89
+ }
90
+ }
91
+ /** The private key from `--key-file`, else NINEDEPLOY_GITHUB_APP_KEY (with `\n` escapes turned back into newlines). */
92
+ function readPrivateKey(keyFile) {
93
+ if (keyFile)
94
+ return readFileSync(keyFile, 'utf8').trim();
95
+ const fromEnv = process.env[KEY_ENV]?.trim();
96
+ return fromEnv ? fromEnv.replace(/(?:\\r)?\\n/g, '\n') : null;
97
+ }
98
+ /** `ninedeploy github-app add-manual` — an existing App, or one on GitHub Enterprise Server. */
99
+ export async function githubAppAddManual(client, opts = {}) {
100
+ header('Add GitHub App');
101
+ const name = (opts.name ?? (await prompt('Display name (e.g. NineDeploy GHES)'))).trim();
102
+ if (!name)
103
+ return error('A name is required');
104
+ const appId = parseId(opts.appId ?? (await prompt('GitHub App ID')));
105
+ if (!appId)
106
+ return error('A numeric GitHub App ID is required');
107
+ if ((opts.webBaseUrl === undefined) !== (opts.apiBaseUrl === undefined)) {
108
+ return error('--web-base-url and --api-base-url go together (omit both for github.com)');
109
+ }
110
+ let privateKey;
111
+ try {
112
+ privateKey = readPrivateKey(opts.keyFile);
113
+ }
114
+ catch (err) {
115
+ return error(`Could not read the private key: ${message(err)}`);
116
+ }
117
+ if (!privateKey)
118
+ return error(`A private key is required: pass --key-file <path.pem> or set ${KEY_ENV}`);
119
+ const key = privateKey;
120
+ const webhookSecret = process.env[WEBHOOK_SECRET_ENV]?.trim() || undefined;
121
+ try {
122
+ const app = await spinner('Verifying the key with GitHub and saving', () => client.githubApps.create({
123
+ name,
124
+ appId,
125
+ privateKey: key,
126
+ ...(webhookSecret ? { webhookSecret } : {}),
127
+ ...(opts.webBaseUrl !== undefined ? { webBaseUrl: opts.webBaseUrl, apiBaseUrl: opts.apiBaseUrl } : {}),
128
+ }));
129
+ success(`GitHub App "${plain(app.name)}" registered (id: ${app.id})`);
130
+ if (!webhookSecret)
131
+ info('The panel generated a webhook secret and pointed the App\'s webhook at itself.');
132
+ if (app.installUrl)
133
+ info(`Install it: ${plain(app.installUrl)} — then run \`ninedeploy github-app sync ${app.id}\`.`);
134
+ }
135
+ catch (err) {
136
+ error(message(err));
137
+ }
138
+ }
139
+ /** `ninedeploy github-app sync <id>` */
140
+ export async function githubAppSync(client, idArg) {
141
+ const id = parseId(idArg);
142
+ if (!id)
143
+ return error('Usage: ninedeploy github-app sync <id>');
144
+ header(`Sync installations of GitHub App #${id}`);
145
+ try {
146
+ const res = await spinner('Syncing installations from GitHub', () => client.githubApps.syncInstallations(id));
147
+ success(`${res.created} new, ${res.updated} updated, ${res.removed} removed; ${res.sourcesCreated} source(s) created`);
148
+ if (res.truncated)
149
+ info('The installation list hit the page cap; nothing was marked removed.');
150
+ printInstallations(res.installations);
151
+ }
152
+ catch (err) {
153
+ error(message(err));
154
+ }
155
+ }
156
+ /** `ninedeploy github-app rotate-key <id> [--key-file <path>]` */
157
+ export async function githubAppRotateKey(client, idArg, opts = {}) {
158
+ const id = parseId(idArg);
159
+ if (!id)
160
+ return error('Usage: ninedeploy github-app rotate-key <id> --key-file <path.pem>');
161
+ header(`Rotate the private key of GitHub App #${id}`);
162
+ let privateKey;
163
+ try {
164
+ privateKey = readPrivateKey(opts.keyFile);
165
+ }
166
+ catch (err) {
167
+ return error(`Could not read the private key: ${message(err)}`);
168
+ }
169
+ if (!privateKey)
170
+ return error(`A private key is required: pass --key-file <path.pem> or set ${KEY_ENV}`);
171
+ const key = privateKey;
172
+ try {
173
+ await spinner('Verifying the new key with GitHub', () => client.githubApps.rotateKey(id, key));
174
+ success('Private key replaced. Revoke the old key on GitHub.');
175
+ }
176
+ catch (err) {
177
+ error(message(err));
178
+ }
179
+ }
180
+ /** `ninedeploy github-app remove <id> [--yes]` */
181
+ export async function githubAppRemove(client, idArg, opts = {}) {
182
+ const id = parseId(idArg);
183
+ if (!id)
184
+ return error('Usage: ninedeploy github-app remove <id>');
185
+ header(`Remove GitHub App #${id}`);
186
+ if (!opts.yes) {
187
+ const confirm = await prompt(`Type "delete" to forget GitHub App #${id}`, '');
188
+ if (confirm.trim() !== 'delete') {
189
+ info('Aborted.');
190
+ return;
191
+ }
192
+ }
193
+ try {
194
+ await spinner('Removing', () => client.githubApps.remove(id));
195
+ success(`GitHub App #${id} removed.`);
196
+ info('Its installation sources stay; clones through them fail until the App is registered again.');
197
+ }
198
+ catch (err) {
199
+ error(message(err));
200
+ }
201
+ }
202
+ /** `on` / `off` → boolean; anything else is a usage error (null). */
203
+ function onOff(value) {
204
+ if (value === undefined)
205
+ return undefined;
206
+ const v = value.trim().toLowerCase();
207
+ if (v === 'on')
208
+ return true;
209
+ if (v === 'off')
210
+ return false;
211
+ return null;
212
+ }
213
+ function printLink(link) {
214
+ if (!link) {
215
+ info('Not linked to a GitHub App installation. Link it with `--migrate <sourceId>` (a gh-app:… source).');
216
+ return;
217
+ }
218
+ kv('Repository', plain(link.repoFullName));
219
+ kv('State', link.active ? c.green('active (App webhooks deploy it)') : c.yellow(link.enabled ? 'inactive (installation suspended or removed)' : 'disabled'));
220
+ kv('Token scope', link.tokenScope);
221
+ kv('Commit status', link.reportStatus ? 'on' : 'off');
222
+ kv('PR comment', link.prComment ? 'on' : 'off');
223
+ kv('Source', link.sourceId ?? null);
224
+ kv('Previous src', link.previousSourceId ?? null);
225
+ }
226
+ /**
227
+ * `ninedeploy services github <id> [--status on|off] [--pr-comment on|off]
228
+ * [--migrate <sourceId>] [--finalize] [--unlink]` — without flags it shows
229
+ * the link. Steps run in order: migrate, feedback, finalize. `--unlink`
230
+ * (revert) runs alone; the server answers 409 with the reason when the
231
+ * service clones through the App source itself.
232
+ */
233
+ export async function serviceGithub(client, idArg, opts = {}) {
234
+ const id = parseId(idArg);
235
+ if (!id)
236
+ return error('Usage: ninedeploy services github <id> [--status on|off] [--pr-comment on|off] [--migrate <sourceId>] [--finalize] [--unlink]');
237
+ const reportStatus = onOff(opts.status);
238
+ const prComment = onOff(opts.prComment);
239
+ if (reportStatus === null)
240
+ return error('--status takes on or off');
241
+ if (prComment === null)
242
+ return error('--pr-comment takes on or off');
243
+ const migrateTo = opts.migrate === undefined ? undefined : parseId(opts.migrate);
244
+ if (migrateTo === 0)
245
+ return error(`Invalid --migrate source id: ${opts.migrate}`);
246
+ const changes = migrateTo !== undefined || reportStatus !== undefined || prComment !== undefined || opts.finalize === true;
247
+ if (opts.unlink && changes)
248
+ return error('--unlink runs on its own');
249
+ header(`GitHub link of service #${id}`);
250
+ try {
251
+ if (opts.unlink) {
252
+ const res = await spinner('Reverting to the previous source', () => client.services.github.unlink(id));
253
+ success(`Unlinked. Source is now ${res.sourceId ?? 'none'}; ${res.webhooksReactivated} webhook(s) switched back on.`);
254
+ return;
255
+ }
256
+ if (migrateTo !== undefined) {
257
+ await spinner('Linking to the GitHub App installation', () => client.services.github.migrate(id, migrateTo));
258
+ success('Linked. The previous source and webhook stay as a fallback until --finalize.');
259
+ }
260
+ if (reportStatus !== undefined || prComment !== undefined) {
261
+ await spinner('Updating GitHub feedback', () => client.services.github.feedback(id, {
262
+ ...(reportStatus !== undefined ? { reportStatus } : {}),
263
+ ...(prComment !== undefined ? { prComment } : {}),
264
+ }));
265
+ success('GitHub feedback updated.');
266
+ }
267
+ if (opts.finalize) {
268
+ const res = await spinner('Finalizing', () => client.services.github.finalize(id));
269
+ success(`Finalized; ${res.webhooksDeactivated} webhook(s) switched off.`);
270
+ }
271
+ const { link } = await spinner('Fetching the link', () => client.services.github.get(id));
272
+ printLink(link);
273
+ }
274
+ catch (err) {
275
+ error(message(err));
276
+ }
277
+ }
278
+ //# sourceMappingURL=githubApps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"githubApps.js","sourceRoot":"","sources":["../../src/commands/githubApps.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,13 @@ export declare function imagesList(client: NineDeployClient, opts?: {
18
18
  * default expectation on a first run: the operator
19
19
  * eyeballs the would-delete set, then re-runs without it.
20
20
  */
21
+ /**
22
+ * r554: commander option parser for a whole-number flag in `1..max`.
23
+ * `images prune` used to pass `Number(v)` straight through — `--older-than 1.5`
24
+ * or `--keep-last abc` sent 1.5 / NaN (JSON `null`) and the server answered an
25
+ * opaque 422. Commander prints this message and exits 1 before any request.
26
+ */
27
+ export declare function positiveIntOption(max: number): (value: string) => number;
21
28
  export declare function imagesPrune(client: NineDeployClient, opts?: {
22
29
  keepLast?: number;
23
30
  olderThan?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"housekeeping.d.ts","sourceRoot":"","sources":["../../src/commands/housekeeping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/E;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAO,GACnC,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,MAAM,EAAE,gBAAgB,EACxB,IAAI,GAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACb,GACL,OAAO,CAAC,IAAI,CAAC,CAuBf"}
1
+ {"version":3,"file":"housekeeping.d.ts","sourceRoot":"","sources":["../../src/commands/housekeeping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAIxD,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ/E;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,IAAI,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CAAO,GACnC,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;;;;;GAMG;AACH;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAQxE;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,gBAAgB,EACxB,IAAI,GAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CACb,GACL,OAAO,CAAC,IAAI,CAAC,CAuBf"}
@@ -1,3 +1,4 @@
1
+ import { InvalidArgumentError } from 'commander';
1
2
  import { error, fmtBytes, header, info, spinner, success, table } from '../lib/format.js';
2
3
  export async function housekeepingPrune(client) {
3
4
  const res = await spinner('Running system prune', () => client.housekeeping.runPrune());
@@ -45,6 +46,21 @@ export async function imagesList(client, opts = {}) {
45
46
  * default expectation on a first run: the operator
46
47
  * eyeballs the would-delete set, then re-runs without it.
47
48
  */
49
+ /**
50
+ * r554: commander option parser for a whole-number flag in `1..max`.
51
+ * `images prune` used to pass `Number(v)` straight through — `--older-than 1.5`
52
+ * or `--keep-last abc` sent 1.5 / NaN (JSON `null`) and the server answered an
53
+ * opaque 422. Commander prints this message and exits 1 before any request.
54
+ */
55
+ export function positiveIntOption(max) {
56
+ return (value) => {
57
+ const n = Number(value);
58
+ if (!/^\d+$/.test(value.trim()) || n < 1 || n > max) {
59
+ throw new InvalidArgumentError(`Expected a whole number between 1 and ${max} (got "${value}").`);
60
+ }
61
+ return n;
62
+ };
63
+ }
48
64
  export async function imagesPrune(client, opts = {}) {
49
65
  header('Image prune');
50
66
  if (!opts.dangling && !opts.keepLast && !opts.olderThan) {
@@ -1 +1 @@
1
- {"version":3,"file":"housekeeping.js","sourceRoot":"","sources":["../../src/commands/housekeeping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"housekeeping.js","sourceRoot":"","sources":["../../src/commands/housekeeping.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAYrD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9F,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
1
+ {"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AA+BrD,wBAAsB,UAAU,CAC9B,MAAM,EAAE,gBAAgB,EACxB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9F,OAAO,CAAC,IAAI,CAAC,CA+Bf"}
@@ -7,6 +7,21 @@ const num = (v, usage) => {
7
7
  }
8
8
  return n;
9
9
  };
10
+ /**
11
+ * F880: a searched line is container stdout of any tenant's service (and its
12
+ * `service` label comes from the shipping pipeline), so it must not drive the
13
+ * operator's terminal. Same filter as F538 (`deploys watch`, manage.ts): SGR
14
+ * colours are kept; OSC/DCS strings (OSC 52 clipboard write, window title),
15
+ * non-SGR CSI (cursor moves, erase, clear screen), stray escapes and C0/DEL/C1
16
+ * controls other than tab, LF and CR are dropped.
17
+ */
18
+ const ESC = String.fromCharCode(27);
19
+ const TERMINAL_CONTROL = new RegExp(`${ESC}[\\]PX^_][\\s\\S]*?(?:${String.fromCharCode(7)}|${ESC}\\\\|$)` +
20
+ `|${ESC}\\[[0-?]*[ -/]*[@-~]` +
21
+ `|${ESC}[\\s\\S]?` +
22
+ '|[\\u0000-\\u0008\\u000b\\u000c\\u000e-\\u001f\\u007f-\\u009f]', 'g');
23
+ const SGR_ONLY = new RegExp(`^${ESC}\\[[0-9;]*m$`);
24
+ const terminalSafe = (s) => s.replace(TERMINAL_CONTROL, (m) => (SGR_ONLY.test(m) ? m : ''));
10
25
  export async function logsSearch(client, query, opts = {}) {
11
26
  if (!query) {
12
27
  error('Usage: ninedeploy logs search <query> [--service <id>] [--since 15m] [--drain <id>]');
@@ -34,8 +49,8 @@ export async function logsSearch(client, query, opts = {}) {
34
49
  console.log();
35
50
  for (const line of result.lines) {
36
51
  const ts = new Date(line.ts).toISOString();
37
- const svc = line.service ? c.dim(`[${line.service}]`) : '';
38
- console.log(`${c.dim(ts)} ${svc} ${line.line}`);
52
+ const svc = line.service ? c.dim(`[${terminalSafe(line.service)}]`) : '';
53
+ console.log(`${c.dim(ts)} ${svc} ${terminalSafe(line.line)}`);
39
54
  }
40
55
  }
41
56
  /** Parse `15m` / `2h` / `30s` / `1d` into minutes. The
@@ -1 +1 @@
1
- {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logs.js","sourceRoot":"","sources":["../../src/commands/logs.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,19 @@
1
1
  import type { NineDeployClient } from '../client.js';
2
- /** `ninedeploy env list <serviceId>` */
3
- export declare function envList(client: NineDeployClient, idStr: string): Promise<void>;
4
- /** `ninedeploy env set <serviceId> <key> <value> [--public]` */
2
+ /**
3
+ * 0.12: `--preview` targets the service's preview-only set — values only its
4
+ * PR previews receive — instead of the service's own (production) env.
5
+ */
6
+ interface EnvTarget {
7
+ preview?: boolean;
8
+ }
9
+ /** `ninedeploy env list <serviceId> [--preview]` */
10
+ export declare function envList(client: NineDeployClient, idStr: string, opts?: EnvTarget): Promise<void>;
11
+ /** `ninedeploy env set <serviceId> <key> <value> [--public] [--preview]` */
5
12
  export declare function envSet(client: NineDeployClient, idStr: string, key: string, value: string, opts: {
6
13
  public?: boolean;
7
- }): Promise<void>;
8
- /** `ninedeploy env rm <serviceId> <key>` */
9
- export declare function envRemove(client: NineDeployClient, idStr: string, key: string): Promise<void>;
14
+ } & EnvTarget): Promise<void>;
15
+ /** `ninedeploy env rm <serviceId> <key> [--preview]` */
16
+ export declare function envRemove(client: NineDeployClient, idStr: string, key: string, opts?: EnvTarget): Promise<void>;
10
17
  /** `ninedeploy domains list` */
11
18
  export declare function domainsList(client: NineDeployClient): Promise<void>;
12
19
  /** `ninedeploy domains add <serviceId> <host> [--path p] [--no-ssl]` */
@@ -14,6 +21,10 @@ export declare function domainsAdd(client: NineDeployClient, idStr: string, host
14
21
  path?: string;
15
22
  ssl?: boolean;
16
23
  }): Promise<void>;
24
+ /** `ninedeploy domains verify <serviceId> <domainId>` — r332: check the TXT
25
+ * ownership challenge of a pending domain and bring it live. Safe to re-run
26
+ * while DNS propagates. */
27
+ export declare function domainsVerify(client: NineDeployClient, idStr: string, domainIdStr: string): Promise<void>;
17
28
  /** `ninedeploy domains rm <domainId>` */
18
29
  export declare function domainsRemove(client: NineDeployClient, idStr: string, domainIdStr: string): Promise<void>;
19
30
  /**
@@ -47,10 +58,14 @@ export declare function domainsAcceptTransfer(client: NineDeployClient, token: s
47
58
  * operator) can cancel; the server enforces the same gate.
48
59
  */
49
60
  export declare function domainsCancelTransfer(client: NineDeployClient, token: string): Promise<void>;
50
- /** `ninedeploy volumes list` */
51
- export declare function volumesList(client: NineDeployClient): Promise<void>;
52
- /** `ninedeploy volumes rm <name>` */
53
- export declare function volumesRemove(client: NineDeployClient, name: string): Promise<void>;
61
+ /** `ninedeploy volumes list [--server <id>]` (0.16 T8: `--server` lists a node's volumes through its agent) */
62
+ export declare function volumesList(client: NineDeployClient, opts?: {
63
+ server?: string;
64
+ }): Promise<void>;
65
+ /** `ninedeploy volumes rm <name> [--server <id>]` (0.16 T8: `--server` deletes it on that node) */
66
+ export declare function volumesRemove(client: NineDeployClient, name: string, opts?: {
67
+ server?: string;
68
+ }): Promise<void>;
54
69
  /** `ninedeploy networks list` */
55
70
  export declare function networksList(client: NineDeployClient): Promise<void>;
56
71
  /** `ninedeploy networks create <name> [driver]` */
@@ -102,4 +117,5 @@ export declare function systemExport(file?: string): Promise<void>;
102
117
  export declare function deploysWatch(serviceIdStr: string, deployIdStr: string, timeoutMs?: number): Promise<void>;
103
118
  /** `ninedeploy system import <file>` — restores a system bundle (destructive). */
104
119
  export declare function systemImport(file: string): Promise<void>;
120
+ export {};
105
121
  //# sourceMappingURL=manage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/commands/manage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../src/commands/manage.ts"],"names":[],"mappings":"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"}