gooseworks 0.5.9-dev.53.c1bd6be2 → 0.5.9-dev.57.78646da5

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 (150) hide show
  1. package/dist/agents/claude-mcp.d.ts +7 -1
  2. package/dist/agents/claude-mcp.d.ts.map +1 -1
  3. package/dist/agents/claude-mcp.js +43 -10
  4. package/dist/agents/claude-mcp.js.map +1 -1
  5. package/dist/auth/credentials.d.ts +8 -0
  6. package/dist/auth/credentials.d.ts.map +1 -1
  7. package/dist/auth/credentials.js +35 -1
  8. package/dist/auth/credentials.js.map +1 -1
  9. package/dist/auth/device-flow.d.ts +4 -1
  10. package/dist/auth/device-flow.d.ts.map +1 -1
  11. package/dist/auth/device-flow.js +8 -3
  12. package/dist/auth/device-flow.js.map +1 -1
  13. package/dist/auth/oauth-server.d.ts +9 -1
  14. package/dist/auth/oauth-server.d.ts.map +1 -1
  15. package/dist/auth/oauth-server.js +19 -11
  16. package/dist/auth/oauth-server.js.map +1 -1
  17. package/dist/auth/revoke.d.ts +10 -0
  18. package/dist/auth/revoke.d.ts.map +1 -0
  19. package/dist/auth/revoke.js +31 -0
  20. package/dist/auth/revoke.js.map +1 -0
  21. package/dist/commands/login.d.ts +15 -1
  22. package/dist/commands/login.d.ts.map +1 -1
  23. package/dist/commands/login.js +34 -10
  24. package/dist/commands/login.js.map +1 -1
  25. package/dist/commands/logout.d.ts.map +1 -1
  26. package/dist/commands/logout.js +29 -11
  27. package/dist/commands/logout.js.map +1 -1
  28. package/dist/commands/video.d.ts +35 -0
  29. package/dist/commands/video.d.ts.map +1 -1
  30. package/dist/commands/video.js +475 -39
  31. package/dist/commands/video.js.map +1 -1
  32. package/dist/index.js +2 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/kit/core/canonical.d.ts +3 -1
  35. package/dist/kit/core/canonical.d.ts.map +1 -1
  36. package/dist/kit/core/canonical.js +1 -1
  37. package/dist/kit/core/canonical.js.map +1 -1
  38. package/dist/kit/core/check.d.ts +2 -0
  39. package/dist/kit/core/check.d.ts.map +1 -1
  40. package/dist/kit/core/check.js +12 -2
  41. package/dist/kit/core/check.js.map +1 -1
  42. package/dist/kit/core/detach.d.ts +11 -0
  43. package/dist/kit/core/detach.d.ts.map +1 -0
  44. package/dist/kit/core/detach.js +72 -0
  45. package/dist/kit/core/detach.js.map +1 -0
  46. package/dist/kit/core/diff.d.ts +5 -0
  47. package/dist/kit/core/diff.d.ts.map +1 -0
  48. package/dist/kit/core/diff.js +132 -0
  49. package/dist/kit/core/diff.js.map +1 -0
  50. package/dist/kit/core/errors.d.ts +13 -1
  51. package/dist/kit/core/errors.d.ts.map +1 -1
  52. package/dist/kit/core/errors.js +14 -1
  53. package/dist/kit/core/errors.js.map +1 -1
  54. package/dist/kit/core/eyes.d.ts +80 -0
  55. package/dist/kit/core/eyes.d.ts.map +1 -0
  56. package/dist/kit/core/eyes.js +366 -0
  57. package/dist/kit/core/eyes.js.map +1 -0
  58. package/dist/kit/core/files.js +2 -2
  59. package/dist/kit/core/files.js.map +1 -1
  60. package/dist/kit/core/lock.d.ts +4 -0
  61. package/dist/kit/core/lock.d.ts.map +1 -0
  62. package/dist/kit/core/lock.js +13 -0
  63. package/dist/kit/core/lock.js.map +1 -0
  64. package/dist/kit/core/log.d.ts +38 -2
  65. package/dist/kit/core/log.d.ts.map +1 -1
  66. package/dist/kit/core/log.js +38 -5
  67. package/dist/kit/core/log.js.map +1 -1
  68. package/dist/kit/core/outcome.d.ts +114 -0
  69. package/dist/kit/core/outcome.d.ts.map +1 -0
  70. package/dist/kit/core/outcome.js +246 -0
  71. package/dist/kit/core/outcome.js.map +1 -0
  72. package/dist/kit/core/patch.d.ts +64 -0
  73. package/dist/kit/core/patch.d.ts.map +1 -0
  74. package/dist/kit/core/patch.js +289 -0
  75. package/dist/kit/core/patch.js.map +1 -0
  76. package/dist/kit/core/paths.d.ts +17 -0
  77. package/dist/kit/core/paths.d.ts.map +1 -1
  78. package/dist/kit/core/paths.js +21 -0
  79. package/dist/kit/core/paths.js.map +1 -1
  80. package/dist/kit/core/pieces.d.ts +16 -4
  81. package/dist/kit/core/pieces.d.ts.map +1 -1
  82. package/dist/kit/core/pieces.js +84 -27
  83. package/dist/kit/core/pieces.js.map +1 -1
  84. package/dist/kit/core/progress-reporter.d.ts +21 -4
  85. package/dist/kit/core/progress-reporter.d.ts.map +1 -1
  86. package/dist/kit/core/progress-reporter.js +74 -12
  87. package/dist/kit/core/progress-reporter.js.map +1 -1
  88. package/dist/kit/core/progress.d.ts +18 -1
  89. package/dist/kit/core/progress.d.ts.map +1 -1
  90. package/dist/kit/core/progress.js +44 -1
  91. package/dist/kit/core/progress.js.map +1 -1
  92. package/dist/kit/core/refusal-log.d.ts +7 -0
  93. package/dist/kit/core/refusal-log.d.ts.map +1 -0
  94. package/dist/kit/core/refusal-log.js +54 -0
  95. package/dist/kit/core/refusal-log.js.map +1 -0
  96. package/dist/kit/core/run.d.ts +43 -5
  97. package/dist/kit/core/run.d.ts.map +1 -1
  98. package/dist/kit/core/run.js +520 -84
  99. package/dist/kit/core/run.js.map +1 -1
  100. package/dist/kit/core/save.d.ts +7 -3
  101. package/dist/kit/core/save.d.ts.map +1 -1
  102. package/dist/kit/core/save.js +57 -20
  103. package/dist/kit/core/save.js.map +1 -1
  104. package/dist/kit/core/style.js +1 -1
  105. package/dist/kit/core/style.js.map +1 -1
  106. package/dist/kit/line/client.d.ts +14 -2
  107. package/dist/kit/line/client.d.ts.map +1 -1
  108. package/dist/kit/line/client.js +40 -20
  109. package/dist/kit/line/client.js.map +1 -1
  110. package/dist/kit/line/types.d.ts +33 -1
  111. package/dist/kit/line/types.d.ts.map +1 -1
  112. package/dist/kit/maker/inputs.js +1 -1
  113. package/dist/kit/maker/make.d.ts.map +1 -1
  114. package/dist/kit/maker/make.js +4 -2
  115. package/dist/kit/maker/make.js.map +1 -1
  116. package/dist/kit/maker/parts/html-frames/{1.2.0 → 1.2.1}/part.json +1 -1
  117. package/dist/kit/parts/catalog.d.ts +3 -20
  118. package/dist/kit/parts/catalog.d.ts.map +1 -1
  119. package/dist/kit/parts/catalog.js +6 -41
  120. package/dist/kit/parts/catalog.js.map +1 -1
  121. package/dist/kit/parts/loader.d.ts +7 -2
  122. package/dist/kit/parts/loader.d.ts.map +1 -1
  123. package/dist/kit/parts/loader.js +88 -23
  124. package/dist/kit/parts/loader.js.map +1 -1
  125. package/dist/skills/master-skill.d.ts +1 -3
  126. package/dist/skills/master-skill.d.ts.map +1 -1
  127. package/dist/skills/master-skill.js +12 -14
  128. package/dist/skills/master-skill.js.map +1 -1
  129. package/dist/skills/routes.js +4 -4
  130. package/dist/skills/routes.js.map +1 -1
  131. package/dist/skills/server-entry-skills.d.ts +6 -6
  132. package/dist/skills/server-entry-skills.js +15 -15
  133. package/dist/skills/server-entry-skills.js.map +1 -1
  134. package/dist/utils/browser-preflight.d.ts +3 -0
  135. package/dist/utils/browser-preflight.d.ts.map +1 -1
  136. package/dist/utils/browser-preflight.js +27 -6
  137. package/dist/utils/browser-preflight.js.map +1 -1
  138. package/dist/utils/exit.d.ts +6 -0
  139. package/dist/utils/exit.d.ts.map +1 -0
  140. package/dist/utils/exit.js +37 -0
  141. package/dist/utils/exit.js.map +1 -0
  142. package/package.json +13 -2
  143. package/skills/goose-ads/SKILL.md +3 -3
  144. package/skills/goose-product-photos/SKILL.md +3 -3
  145. package/skills/goose-video/SKILL.md +5 -5
  146. package/skills/goose-video-local/SKILL.md +3 -3
  147. package/skills/gooseworks/SKILL.md +6 -8
  148. package/skills/make-custom-video/SKILL.md +2 -2
  149. package/skills/manifest.json +7 -7
  150. package/skills/routes.json +3 -3
@@ -1,35 +1,192 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.videoSaveMovedCommand = exports.videoCommand = void 0;
37
+ exports.lineForVideo = lineForVideo;
4
38
  const child_process_1 = require("child_process");
39
+ const promises_1 = require("fs/promises");
40
+ const path = __importStar(require("path"));
41
+ const util_1 = require("util");
5
42
  const commander_1 = require("commander");
6
43
  const credentials_1 = require("../auth/credentials");
7
44
  const env_1 = require("../kit/env");
8
45
  const check_1 = require("../kit/core/check");
46
+ const errors_1 = require("../kit/core/errors");
9
47
  const device_1 = require("../kit/core/device");
10
48
  const host_1 = require("../kit/core/host");
49
+ const detach_1 = require("../kit/core/detach");
11
50
  const log_1 = require("../kit/core/log");
51
+ const outcome_1 = require("../kit/core/outcome");
12
52
  const paths_1 = require("../kit/core/paths");
53
+ const progress_1 = require("../kit/core/progress");
54
+ const patch_1 = require("../kit/core/patch");
55
+ const refusal_log_1 = require("../kit/core/refusal-log");
13
56
  const run_1 = require("../kit/core/run");
57
+ const save_1 = require("../kit/core/save");
14
58
  const client_1 = require("../kit/line/client");
15
- async function setUp() {
59
+ const login_1 = require("./login");
60
+ const exit_1 = require("../utils/exit");
61
+ /** No one may be watching (CI, or no terminal), so a sign-in must not wait for approval. */
62
+ function unattended() {
63
+ const ci = process.env.CI?.trim().toLowerCase();
64
+ return !process.stdin.isTTY || !process.stdout.isTTY || (!!ci && ci !== '0' && ci !== 'false');
65
+ }
66
+ function savedEmail() {
67
+ try {
68
+ return (0, credentials_1.getCredentials)()?.email ?? null;
69
+ }
70
+ catch {
71
+ return null;
72
+ }
73
+ }
74
+ /**
75
+ * Signs in on this computer, so the customer never has to run another command,
76
+ * then reads the saved login back so its key stays paired with its own address.
77
+ * The new login replaces this computer's GooseWorks login, and Claude Code's
78
+ * connection follows it. Unattended, it prints the approval link and stops instead of waiting.
79
+ */
80
+ async function signInForKit(apiBase, choice = {}) {
81
+ const noWait = unattended();
82
+ const before = savedEmail();
83
+ console.log(noWait ? 'Signing in to GooseWorks first…' : 'Signing in to GooseWorks first, then carrying on…');
84
+ try {
85
+ const outcome = await (0, login_1.signIn)(apiBase, undefined, { ...(noWait ? { wait: false } : {}), ...choice });
86
+ if (outcome.status !== 'done') {
87
+ console.log('Approve the sign-in at the link above, then run the same command again.');
88
+ return null;
89
+ }
90
+ }
91
+ catch {
92
+ console.log('Sign-in did not finish. Run the same command again.');
93
+ return null;
94
+ }
95
+ const creds = (0, credentials_1.connectionFor)(apiBase);
96
+ if (!creds) {
97
+ console.log('Sign-in finished for a different GooseWorks server, so nothing was sent.');
98
+ return null;
99
+ }
100
+ if (before && before !== creds.email)
101
+ console.log(`This computer now uses GooseWorks as ${creds.email} instead of ${before}.`);
102
+ (0, login_1.syncMcpRegistration)();
103
+ return creds;
104
+ }
105
+ /**
106
+ * The kit talks to GOOSEWORKS_API_BASE or the environment's address, never a saved login's other address.
107
+ * `video make` passes its video, so a first sign-in already asks for an account that can make it.
108
+ */
109
+ async function setUp(videoId, emit) {
16
110
  // The token leaves the environment as it is read, so no child process sees it.
17
111
  const settings = (0, env_1.readKitEnv)(process.env);
18
112
  const kit = { ...settings, noSelfUpdate: settings.noSelfUpdate || settings.worker };
19
- const creds = kit.worker ? null : (0, credentials_1.getCredentials)();
20
113
  if (kit.worker && !kit.lineToken)
21
114
  throw new Error('This worker has no video token, so it cannot make the video.');
22
- const apiBase = kit.worker ? settings.apiBase : (creds?.api_base ?? settings.apiBase);
115
+ const apiBase = settings.apiBase;
116
+ const creds = kit.worker ? null : ((0, credentials_1.connectionFor)(apiBase) ?? (await signInForKit(apiBase, videoId ? { videoId } : {})));
117
+ if (creds)
118
+ console.log(`Signed in to GooseWorks as ${creds.email}.`);
23
119
  const home = (0, paths_1.kitHome)();
24
- const line = new client_1.VideoLine({
120
+ const device = await (0, device_1.deviceId)(home);
121
+ const lineFor = (login) => new client_1.VideoLine({ apiBase, deviceId: device, workerId: kit.workerId, login, lineToken: kit.lineToken });
122
+ let line = lineFor(creds?.api_key);
123
+ const log = new log_1.KitLog((text) => console.log(text), (text) => line.redact(text), emit);
124
+ const session = {
125
+ kit,
126
+ home,
127
+ log,
25
128
  apiBase,
26
- deviceId: await (0, device_1.deviceId)(home),
27
- workerId: kit.workerId,
28
- login: creds?.api_key,
29
- lineToken: kit.lineToken,
30
- });
31
- const log = new log_1.KitLog((text) => console.log(text), (text) => line.redact(text));
32
- return { kit, home, line, log, apiBase };
129
+ signedIn: kit.worker || !!creds,
130
+ /** The line's last refusal before the make, which says why it can't go on. */
131
+ refused: null,
132
+ get line() {
133
+ return line;
134
+ },
135
+ /** After a new sign-in: the same line with the new login. */
136
+ relogin(login) {
137
+ line = lineFor(login);
138
+ return line;
139
+ },
140
+ };
141
+ return session;
142
+ }
143
+ /**
144
+ * Before any slow setup: may this login make the video? A wrong account or an
145
+ * expired sign-in signs in again by itself (choosing the account, bound to
146
+ * this video) and asks once more. Returns the line to make it with, or null.
147
+ */
148
+ async function lineForVideo(id, session) {
149
+ if (session.kit.worker)
150
+ return session.line;
151
+ let error;
152
+ try {
153
+ await session.line.access(id);
154
+ return session.line;
155
+ }
156
+ catch (caught) {
157
+ error = caught;
158
+ }
159
+ if (!(error instanceof client_1.LineError))
160
+ throw error;
161
+ // A server without the access check: the hand-over checks the same things.
162
+ if (error.status === 404 && error.code !== 'not_found')
163
+ return session.line;
164
+ (0, refusal_log_1.recordRefusal)(session.home, id, 'access refused', error);
165
+ session.refused = error;
166
+ if (error.next !== 'sign_in') {
167
+ session.log.say((0, client_1.lineWords)(error));
168
+ return null;
169
+ }
170
+ const signedInAs = typeof error.details?.signed_in_as === 'string' ? error.details.signed_in_as : null;
171
+ session.log.say(error.code === 'not_signed_in'
172
+ ? 'This computer’s GooseWorks sign-in has expired; signing in again…'
173
+ : `This computer is signed in as ${signedInAs ?? 'another account'}; signing in with the account from your chat…`);
174
+ const creds = await signInForKit(session.apiBase, { chooseAccount: error.code !== 'not_signed_in', videoId: id });
175
+ if (!creds)
176
+ return null;
177
+ const line = session.relogin(creds.api_key);
178
+ try {
179
+ await line.access(id);
180
+ return line;
181
+ }
182
+ catch (again) {
183
+ if (!(again instanceof client_1.LineError))
184
+ throw again;
185
+ (0, refusal_log_1.recordRefusal)(session.home, id, 'access refused', again);
186
+ session.refused = again;
187
+ session.log.say((0, client_1.lineWords)(again));
188
+ return null;
189
+ }
33
190
  }
34
191
  /**
35
192
  * The kit is older than the oldest one that works: run the same command with
@@ -46,10 +203,13 @@ function selfUpdate(say, noSelfUpdate, message) {
46
203
  return Promise.resolve(1);
47
204
  }
48
205
  say('Updating the video kit, then carrying on…');
206
+ // A detached run already holds its turn: the newer kit makes the video inside it, without waiting again.
207
+ const env = { ...process.env, GOOSEWORKS_KIT_UPDATED: '1' };
208
+ delete env[detach_1.DETACHED_ENV];
49
209
  return new Promise((resolve) => {
50
210
  const child = (0, child_process_1.spawn)(process.platform === 'win32' ? 'npx.cmd' : 'npx', ['-y', 'gooseworks@latest', ...process.argv.slice(2)], {
51
211
  stdio: 'inherit',
52
- env: { ...process.env, GOOSEWORKS_KIT_UPDATED: '1' },
212
+ env,
53
213
  });
54
214
  child.on('error', () => {
55
215
  say('The video kit could not update itself. Update GooseWorks, then run the same command again.');
@@ -63,8 +223,17 @@ exports.videoCommand
63
223
  .command('check')
64
224
  .description('Check this computer can make videos, set up what is missing, and report it')
65
225
  .action(async () => {
66
- const { kit, home, line, log } = await setUp();
67
- const result = await (0, check_1.checkComputer)({ home, env: process.env, line, host: (0, host_1.defaultHost)(), say: (text) => log.say(text) });
226
+ const session = await setUp();
227
+ const { kit, home, line, log, apiBase, signedIn } = session;
228
+ if (!signedIn) {
229
+ process.exitCode = 1;
230
+ return;
231
+ }
232
+ const signInAgain = async () => {
233
+ const creds = await signInForKit(apiBase);
234
+ return creds ? session.relogin(creds.api_key) : null;
235
+ };
236
+ const result = await (0, check_1.checkComputer)({ home, env: process.env, line, host: (0, host_1.defaultHost)(), say: (text) => log.say(text), signInAgain });
68
237
  if (result.status === 'update_kit') {
69
238
  process.exitCode = await selfUpdate((text) => log.say(text), kit.noSelfUpdate, result.message);
70
239
  return;
@@ -72,37 +241,304 @@ exports.videoCommand
72
241
  if (result.status !== 'ready')
73
242
  process.exitCode = 1;
74
243
  });
244
+ /** What each exit code of `video make` means, for whoever runs it. */
245
+ const EXIT_HELP = `
246
+ Exit codes:
247
+ ${outcome_1.EXIT_CODES.done} the video is made and passed its checks
248
+ ${outcome_1.EXIT_CODES.failed} it can't go on as it is: the plan, a check or a part needs a change first
249
+ ${outcome_1.EXIT_CODES.stopped} it was stopped, on this computer or on the card
250
+ ${outcome_1.EXIT_CODES.run_again} something failed for now: the same command carries on and keeps what was made
251
+ ${outcome_1.EXIT_CODES.update_kit} it needs a newer GooseWorks than this computer could get
252
+ ${outcome_1.EXIT_CODES.sign_in} this computer needs to sign in to GooseWorks with the video's account`;
253
+ function output(json) {
254
+ const write = (value) => {
255
+ process.stdout.write(`${JSON.stringify(value)}\n`);
256
+ };
257
+ if (!json)
258
+ return { json, say: (text) => console.log(text), event: write, restore: () => undefined };
259
+ // Every line, a sign-in's included, goes out as an event, so a program reads one JSON value per line.
260
+ const original = console.log;
261
+ console.log = (...args) => write({ event: 'say', text: (0, util_1.format)(...args) });
262
+ return { json, say: (text) => write({ event: 'say', text }), event: write, restore: () => void (console.log = original) };
263
+ }
264
+ /**
265
+ * `video make --detach` prints exactly one JSON line on stdout, whatever happens; its other words
266
+ * (a sign-in, say) go to stderr, where the person still sees them.
267
+ */
268
+ function detachOutput() {
269
+ const original = console.log;
270
+ const toErr = (text) => void process.stderr.write(`${text}\n`);
271
+ console.log = (...args) => toErr((0, util_1.format)(...args));
272
+ let sent = false;
273
+ const once = (value) => {
274
+ if (sent)
275
+ return;
276
+ sent = true;
277
+ process.stdout.write(`${JSON.stringify(value)}\n`);
278
+ };
279
+ return { json: true, say: toErr, event: once, restore: () => void (console.log = original) };
280
+ }
281
+ /** Saves how the make ended, prints its words when they weren't yet, and sets the exit code; `--json` ends on the result. */
282
+ function finish(id, home, result, out, printWords) {
283
+ if (printWords && result.message)
284
+ out.say(result.message);
285
+ if (printWords && result.status === 'done')
286
+ for (const line of afterDone(result))
287
+ out.say(line);
288
+ const record = (0, outcome_1.resultRecord)(id, result);
289
+ (0, outcome_1.saveResult)((0, paths_1.runLayout)(home, id), record);
290
+ if (out.json)
291
+ out.event(record);
292
+ process.exitCode = record.exit_code || undefined;
293
+ return record.exit_code;
294
+ }
295
+ /** After a finished video's words: what the checks noted, and the frame sheet to look at before it is shared. */
296
+ function afterDone(result) {
297
+ return [
298
+ ...(result.warnings ?? []).map((warning) => `Our check noted: ${warning}`),
299
+ ...(result.contact_sheet ? [`Look over its frames before you share it: ${result.contact_sheet}`] : []),
300
+ ];
301
+ }
302
+ /** Why the make couldn't start, as an end: the line's refusal, or a sign-in that didn't finish. */
303
+ function notStarted(refused) {
304
+ if (!refused)
305
+ return { status: 'stopped', message: 'This computer isn’t signed in to GooseWorks yet. Sign in, then run the same command again.', next: 'sign_in' };
306
+ return { status: refused.next === 'change_request' ? 'failed' : 'stopped', message: (0, client_1.lineWords)(refused), code: refused.code, next: refused.next };
307
+ }
308
+ /** Makes the video in this process. A detached process first waits for its turn on this computer. */
309
+ async function makeHere(id, out, patched) {
310
+ const turn = process.env[detach_1.DETACHED_ENV] === '1' ? await (0, save_1.waitForLock)((0, paths_1.detachedTurnLock)((0, paths_1.kitHome)())) : null;
311
+ try {
312
+ const session = await setUp(id, out.json ? (event) => out.event(event) : undefined);
313
+ const { kit, home, log, apiBase, signedIn } = session;
314
+ if (!signedIn) {
315
+ finish(id, home, notStarted(null), out, false);
316
+ return;
317
+ }
318
+ const line = await lineForVideo(id, session);
319
+ if (!line) {
320
+ finish(id, home, notStarted(session.refused), out, false);
321
+ return;
322
+ }
323
+ const stop = new AbortController();
324
+ const onSignal = () => stop.abort();
325
+ process.once('SIGINT', onSignal);
326
+ process.once('SIGTERM', onSignal);
327
+ let ended = false;
328
+ // The run stopped but something it started won't let go: its words, its result, then the process ends.
329
+ const forceEnd = (result) => {
330
+ if (ended)
331
+ return;
332
+ ended = true;
333
+ void (0, exit_1.exitNow)(finish(id, home, result, out, true));
334
+ };
335
+ try {
336
+ const result = await (0, run_1.makeVideo)(id, {
337
+ home,
338
+ env: { ...process.env },
339
+ line,
340
+ host: (0, host_1.defaultHost)(),
341
+ log,
342
+ environment: (0, env_1.apiEnvironment)(apiBase),
343
+ signal: stop.signal,
344
+ forceEnd,
345
+ ...(patched?.length ? { patched } : {}),
346
+ });
347
+ if (ended)
348
+ return;
349
+ ended = true;
350
+ if (result.status === 'update_kit') {
351
+ const code = await selfUpdate((text) => log.say(text), kit.noSelfUpdate, result.message);
352
+ // The newer kit saved and printed its own result; only a kit that couldn't update says it here.
353
+ if (code === 1 && (kit.noSelfUpdate || process.env.GOOSEWORKS_KIT_UPDATED === '1'))
354
+ finish(id, home, result, out, false);
355
+ else
356
+ process.exitCode = code || undefined;
357
+ return;
358
+ }
359
+ // The line's own words are the last thing printed (with --json, the result follows them).
360
+ finish(id, home, result, out, true);
361
+ }
362
+ finally {
363
+ process.off('SIGINT', onSignal);
364
+ process.off('SIGTERM', onSignal);
365
+ }
366
+ }
367
+ finally {
368
+ await turn?.();
369
+ if (process.env[detach_1.DETACHED_ENV] === '1')
370
+ await forgetDetached((0, paths_1.kitHome)(), id);
371
+ }
372
+ }
373
+ /** The detached run is over: its record goes, so a later process with the same pid is never taken for it. */
374
+ async function forgetDetached(home, id) {
375
+ const layout = (0, paths_1.runLayout)(home, id);
376
+ const record = await (0, save_1.readJson)(layout.detached);
377
+ if (record?.pid === process.pid)
378
+ await (0, promises_1.rm)(layout.detached, { force: true }).catch(() => undefined);
379
+ }
380
+ /**
381
+ * Starts the make in a process of its own and returns: signed in first, where the person can see it, and
382
+ * never a second run of a video that is already being made. Prints one JSON line either way.
383
+ */
384
+ async function makeDetached(id, out) {
385
+ const session = await setUp(id);
386
+ const { kit, home } = session;
387
+ if (kit.worker) {
388
+ finish(id, home, { status: 'failed', message: 'A worker makes its video in the foreground, so --detach is not for it.', code: 'invalid_input' }, out, true);
389
+ return;
390
+ }
391
+ if (!session.signedIn) {
392
+ finish(id, home, notStarted(null), out, false);
393
+ return;
394
+ }
395
+ if (!(await lineForVideo(id, session))) {
396
+ finish(id, home, notStarted(session.refused), out, false);
397
+ return;
398
+ }
399
+ const layout = (0, paths_1.runLayout)(home, id);
400
+ // One claim per video across the check and the start, so two detaches never start two runs.
401
+ const claim = await (0, save_1.waitForLock)(path.join(layout.root, 'detach.lock'));
402
+ try {
403
+ const now = await (0, outcome_1.videoStatus)(home, id);
404
+ if (now.state === 'making' || now.state === 'waiting') {
405
+ out.event({ event: 'running', video_id: id, state: now.state, ...(now.pid ? { pid: now.pid } : {}), output: layout.output });
406
+ return;
407
+ }
408
+ const pid = (0, detach_1.startDetached)({ args: (0, detach_1.detachedArgs)(process.argv.slice(2)), output: layout.output, env: process.env });
409
+ const record = { pid, started_at: new Date().toISOString(), output: layout.output };
410
+ await (0, save_1.writeJson)(layout.detached, record);
411
+ out.event({ event: 'started', video_id: id, pid, output: layout.output });
412
+ }
413
+ finally {
414
+ await claim();
415
+ }
416
+ }
75
417
  exports.videoCommand
76
418
  .command('make <id>')
77
419
  .description('Make an approved video: the same command resumes it after a stop or a crash')
78
- .action(async (id) => {
79
- const { kit, home, line, log, apiBase } = await setUp();
80
- const stop = new AbortController();
81
- const onSignal = () => stop.abort();
82
- process.once('SIGINT', onSignal);
83
- process.once('SIGTERM', onSignal);
420
+ .option('--detach', 'start it in a process of its own on this computer, print one JSON line and return; `video status <id>` follows it')
421
+ .option('--json', 'print one JSON event per line, ending with a JSON result line')
422
+ .option('--patched <steps>', 'Make it with these steps’ edited code (comma-separated), taken out with video step --edit')
423
+ .addHelpText('after', EXIT_HELP)
424
+ .action(async (id, opts) => {
425
+ const detach = !!opts.detach && process.env[detach_1.DETACHED_ENV] !== '1';
426
+ const out = detach ? detachOutput() : output(!!opts.json);
84
427
  try {
85
- const result = await (0, run_1.makeVideo)(id, {
86
- home,
87
- env: { ...process.env },
88
- line,
89
- host: (0, host_1.defaultHost)(),
90
- log,
91
- environment: (0, env_1.apiEnvironment)(apiBase),
92
- signal: stop.signal,
93
- });
94
- if (result.status === 'update_kit') {
95
- process.exitCode = await selfUpdate((text) => log.say(text), kit.noSelfUpdate, result.message);
96
- return;
97
- }
98
- // The line's own words are the last thing printed.
99
- log.say(result.message);
100
- if (result.status !== 'done')
101
- process.exitCode = 1;
428
+ if (detach)
429
+ await makeDetached(id, out);
430
+ else
431
+ await makeHere(id, out, opts.patched ? patchedSteps(opts.patched) : undefined);
432
+ }
433
+ catch (error) {
434
+ // Whatever went wrong still ends on the result and its stable exit code.
435
+ const message = error instanceof errors_1.KitStop ? error.message : 'This video could not be made right now. Run the same command again; what was made so far is kept.';
436
+ if (!(error instanceof errors_1.KitStop))
437
+ console.error(error instanceof Error ? error.message : String(error));
438
+ const code = error instanceof errors_1.KitStop ? error.code : 'tool_failed';
439
+ finish(id, (0, paths_1.kitHome)(), { status: error instanceof errors_1.KitStop && error.reason === 'stop' ? 'stopped' : 'failed', message, ...(code ? { code } : {}) }, out, true);
102
440
  }
103
441
  finally {
104
- process.off('SIGINT', onSignal);
105
- process.off('SIGTERM', onSignal);
442
+ out.restore();
443
+ // The run is over and its lock given back: a handle a part left open (a browser, say) must not keep the command running.
444
+ (0, exit_1.exitWhenDone)();
445
+ }
446
+ });
447
+ /** The status as lines for the person. */
448
+ function statusLines(status) {
449
+ const head = status.state === 'making'
450
+ ? 'This video is being made on this computer now.'
451
+ : status.state === 'waiting'
452
+ ? 'This video waits for another video on this computer to finish, then starts by itself.'
453
+ : status.state === 'not_started'
454
+ ? 'This video hasn’t been made on this computer yet.'
455
+ : (status.message ?? 'The last run of this video ended.');
456
+ const rows = status.state === 'making' || status.state === 'waiting' ? (status.steps ?? []).filter((row) => row.state !== 'todo').map(progress_1.lineOf) : [];
457
+ const sheet = status.contact_sheet ? [`Frame sheet: ${status.contact_sheet} (\`video verify ${status.video_id}\` says what to look for)`] : [];
458
+ return [head, ...rows, ...sheet, ...(status.log ? [`Log: ${status.log}`] : [])];
459
+ }
460
+ exports.videoCommand
461
+ .command('status <ids...>')
462
+ .description('How each video is going on this computer: being made, waiting, or how its last run ended')
463
+ .option('--json', 'print each as one JSON line')
464
+ .action(async (ids, opts) => {
465
+ for (const id of ids) {
466
+ const status = await (0, outcome_1.videoStatus)((0, paths_1.kitHome)(), id);
467
+ if (opts.json)
468
+ console.log(JSON.stringify(status));
469
+ else
470
+ for (const line of [...(ids.length > 1 ? [`${id}:`] : []), ...statusLines(status)])
471
+ console.log(line);
472
+ }
473
+ });
474
+ exports.videoCommand
475
+ .command('verify <ids...>')
476
+ .description('Where each finished video and its frame sheet are on this computer, and what to look for before saying it is ready')
477
+ .option('--json', 'print each as one JSON line')
478
+ .action(async (ids, opts) => {
479
+ for (const id of ids) {
480
+ const found = await (0, outcome_1.verifyOf)((0, paths_1.kitHome)(), id);
481
+ if (!found.final)
482
+ process.exitCode = 1;
483
+ if (opts.json)
484
+ console.log(JSON.stringify(found));
485
+ else
486
+ for (const line of [...(ids.length > 1 ? [`${id}:`] : []), ...(0, outcome_1.verifyLines)(found)])
487
+ console.log(line);
488
+ }
489
+ });
490
+ exports.videoCommand
491
+ .command('log <id>')
492
+ .description('The newest run log of the video on this computer, for support')
493
+ .option('--lines <n>', 'how many of its last lines to print', '50')
494
+ .option('--path', 'print only where the log is')
495
+ .action(async (id, opts) => {
496
+ const file = await (0, outcome_1.latestRunLog)((0, paths_1.runLayout)((0, paths_1.kitHome)(), id));
497
+ if (!file) {
498
+ console.log('No run of this video has a log on this computer yet.');
499
+ process.exitCode = 1;
500
+ return;
501
+ }
502
+ if (opts.path) {
503
+ console.log(file);
504
+ return;
505
+ }
506
+ const count = Math.min(Math.max(Number.parseInt(opts.lines, 10) || 50, 1), 5000);
507
+ for (const line of (await (0, outcome_1.tailOf)(file, count)) ?? [])
508
+ console.log(line);
509
+ });
510
+ function patchedSteps(list) {
511
+ return list
512
+ .split(',')
513
+ .map((step) => step.trim())
514
+ .filter(Boolean);
515
+ }
516
+ exports.videoCommand
517
+ .command('step <id> <step>')
518
+ .description('Take out the exact code one step of a video ran, to fix it; then make the video again with --patched <step>')
519
+ .option('--edit', 'Copy the step’s locked part into the video’s folder and print where it is')
520
+ .action(async (id, step, options) => {
521
+ if (!options.edit) {
522
+ console.log(`Add --edit to take the step out: gooseworks video step ${id} ${step} --edit`);
523
+ process.exitCode = 1;
524
+ return;
525
+ }
526
+ try {
527
+ const taken = await (0, patch_1.takeOutStep)({ home: (0, paths_1.kitHome)(), videoId: id, step, env: process.env, loader: (0, host_1.defaultHost)().loader });
528
+ if (taken.movedAside)
529
+ console.log(`An earlier edit of this step, for another version, was moved to ${taken.movedAside}.`);
530
+ console.log(taken.kept
531
+ ? `Step ${step} (${taken.part.id} ${taken.part.version}) is already taken out, with your edits, at:`
532
+ : `Step ${step} runs ${taken.part.id} ${taken.part.version}. Its code is now at:`);
533
+ console.log(taken.dir);
534
+ console.log(`Change only what is wrong there (never part.json). Then run this video’s make command again with --patched ${step} added.`);
535
+ console.log('The edited step may only reuse what this video already bought: a new paid request stops the run before anything is charged.');
536
+ }
537
+ catch (error) {
538
+ if (!(error instanceof errors_1.KitStop) && !(error instanceof Error && error.name === 'PartLoadError'))
539
+ throw error;
540
+ console.log(error.message);
541
+ process.exitCode = 1;
106
542
  }
107
543
  });
108
544
  /** The old save step: `video make` now uploads the finished video and gets it checked. */
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/commands/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../src/commands/video.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const environment_1 = require("./environment");
5
+ const exit_1 = require("./utils/exit");
5
6
  async function main() {
6
7
  try {
7
8
  const args = (0, environment_1.consumeEnvironment)(process.argv.slice(2));
@@ -11,6 +12,7 @@ async function main() {
11
12
  console.error(error instanceof Error ? error.message : 'GooseWorks failed');
12
13
  process.exitCode = 1;
13
14
  }
15
+ await (0, exit_1.exitIfRequested)();
14
16
  }
15
17
  void main();
16
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,+CAAmD;AAEnD,KAAK,UAAU,IAAI;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAA,gCAAkB,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACD,CAAC;AACD,KAAK,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,+CAAmD;AACnD,uCAA+C;AAE/C,KAAK,UAAU,IAAI;IACnB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAA,gCAAkB,EAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC5E,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,IAAA,sBAAe,GAAE,CAAC;AACxB,CAAC;AACD,KAAK,IAAI,EAAE,CAAC"}