gooseworks 0.5.8 → 0.5.9-dev.56.eca9486d

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 (188) 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 +7 -1
  51. package/dist/kit/core/errors.d.ts.map +1 -1
  52. package/dist/kit/core/errors.js +11 -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 +41 -4
  89. package/dist/kit/core/progress.d.ts.map +1 -1
  90. package/dist/kit/core/progress.js +105 -18
  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 +39 -5
  97. package/dist/kit/core/run.d.ts.map +1 -1
  98. package/dist/kit/core/run.js +514 -83
  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.d.ts +1 -0
  105. package/dist/kit/core/style.d.ts.map +1 -1
  106. package/dist/kit/core/style.js +1 -1
  107. package/dist/kit/core/style.js.map +1 -1
  108. package/dist/kit/line/client.d.ts +14 -2
  109. package/dist/kit/line/client.d.ts.map +1 -1
  110. package/dist/kit/line/client.js +40 -20
  111. package/dist/kit/line/client.js.map +1 -1
  112. package/dist/kit/line/types.d.ts +33 -1
  113. package/dist/kit/line/types.d.ts.map +1 -1
  114. package/dist/kit/maker/cues.d.ts +67 -0
  115. package/dist/kit/maker/cues.d.ts.map +1 -0
  116. package/dist/kit/maker/cues.js +204 -0
  117. package/dist/kit/maker/cues.js.map +1 -0
  118. package/dist/kit/maker/encode.d.ts +5 -0
  119. package/dist/kit/maker/encode.d.ts.map +1 -1
  120. package/dist/kit/maker/encode.js +7 -1
  121. package/dist/kit/maker/encode.js.map +1 -1
  122. package/dist/kit/maker/facts.d.ts +46 -0
  123. package/dist/kit/maker/facts.d.ts.map +1 -0
  124. package/dist/kit/maker/facts.js +159 -0
  125. package/dist/kit/maker/facts.js.map +1 -0
  126. package/dist/kit/maker/inputs.d.ts +48 -3
  127. package/dist/kit/maker/inputs.d.ts.map +1 -1
  128. package/dist/kit/maker/inputs.js +151 -22
  129. package/dist/kit/maker/inputs.js.map +1 -1
  130. package/dist/kit/maker/make.d.ts +20 -1
  131. package/dist/kit/maker/make.d.ts.map +1 -1
  132. package/dist/kit/maker/make.js +129 -21
  133. package/dist/kit/maker/make.js.map +1 -1
  134. package/dist/kit/maker/page.d.ts.map +1 -1
  135. package/dist/kit/maker/page.js +49 -1
  136. package/dist/kit/maker/page.js.map +1 -1
  137. package/dist/kit/maker/parts/html-frames/1.2.1/part.json +1083 -0
  138. package/dist/kit/maker/parts/html-frames/src/part.d.ts.map +1 -1
  139. package/dist/kit/maker/parts/html-frames/src/part.js +4 -1
  140. package/dist/kit/maker/parts/html-frames/src/part.js.map +1 -1
  141. package/dist/kit/maker/runtime.d.ts.map +1 -1
  142. package/dist/kit/maker/runtime.js +54 -7
  143. package/dist/kit/maker/runtime.js.map +1 -1
  144. package/dist/kit/maker/timing.d.ts +74 -0
  145. package/dist/kit/maker/timing.d.ts.map +1 -0
  146. package/dist/kit/maker/timing.js +152 -0
  147. package/dist/kit/maker/timing.js.map +1 -0
  148. package/dist/kit/maker/under.d.ts +126 -0
  149. package/dist/kit/maker/under.d.ts.map +1 -0
  150. package/dist/kit/maker/under.js +299 -0
  151. package/dist/kit/maker/under.js.map +1 -0
  152. package/dist/kit/parts/catalog.d.ts +3 -20
  153. package/dist/kit/parts/catalog.d.ts.map +1 -1
  154. package/dist/kit/parts/catalog.js +6 -41
  155. package/dist/kit/parts/catalog.js.map +1 -1
  156. package/dist/kit/parts/loader.d.ts +7 -2
  157. package/dist/kit/parts/loader.d.ts.map +1 -1
  158. package/dist/kit/parts/loader.js +88 -23
  159. package/dist/kit/parts/loader.js.map +1 -1
  160. package/dist/skills/master-skill.d.ts +4 -6
  161. package/dist/skills/master-skill.d.ts.map +1 -1
  162. package/dist/skills/master-skill.js +28 -28
  163. package/dist/skills/master-skill.js.map +1 -1
  164. package/dist/skills/routes.js +5 -5
  165. package/dist/skills/routes.js.map +1 -1
  166. package/dist/skills/server-entry-skills.d.ts +6 -6
  167. package/dist/skills/server-entry-skills.d.ts.map +1 -1
  168. package/dist/skills/server-entry-skills.js +89 -60
  169. package/dist/skills/server-entry-skills.js.map +1 -1
  170. package/dist/utils/browser-preflight.d.ts +3 -0
  171. package/dist/utils/browser-preflight.d.ts.map +1 -1
  172. package/dist/utils/browser-preflight.js +27 -6
  173. package/dist/utils/browser-preflight.js.map +1 -1
  174. package/dist/utils/exit.d.ts +6 -0
  175. package/dist/utils/exit.d.ts.map +1 -0
  176. package/dist/utils/exit.js +37 -0
  177. package/dist/utils/exit.js.map +1 -0
  178. package/package.json +14 -3
  179. package/skills/goose-ads/SKILL.md +8 -8
  180. package/skills/goose-product-photos/SKILL.md +8 -8
  181. package/skills/goose-video/SKILL.md +29 -595
  182. package/skills/goose-video-local/SKILL.md +3 -1572
  183. package/skills/gooseworks/SKILL.md +10 -12
  184. package/skills/make-custom-video/SKILL.md +25 -672
  185. package/skills/manifest.json +7 -7
  186. package/skills/routes.json +3 -3
  187. package/dist/kit/maker/parts/html-frames/1.1.0/part.json +0 -199
  188. package/dist/skills/production-video-skills.json +0 -5
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.loginCommand = void 0;
37
+ exports.syncMcpRegistration = syncMcpRegistration;
37
38
  exports.signIn = signIn;
38
39
  exports.createLoginCommand = createLoginCommand;
39
40
  exports.ensureLoggedIn = ensureLoggedIn;
@@ -95,7 +96,7 @@ function syncMcpRegistration() {
95
96
  return;
96
97
  if ((0, claude_mcp_1.configureClaudeMcp)()) {
97
98
  const creds = (0, credentials_1.getCredentials)();
98
- logger.info(`Synced the gooseworks MCP → ${creds?.mcp_server_url ?? 'the configured server'}`);
99
+ logger.info(`Pointed Claude Code's GooseWorks connection at ${creds?.email ?? 'this account'}.`);
99
100
  }
100
101
  }
101
102
  /** After a fresh login, point the user at a normal first request — not a special onboard command. */
@@ -117,9 +118,13 @@ async function signIn(apiBase, ref, flags = {}) {
117
118
  noWait,
118
119
  pendingLogin: (0, device_flow_1.readPendingDeviceLogin)(apiBase) !== null,
119
120
  });
121
+ const choice = {
122
+ ...(flags.chooseAccount ? { chooseAccount: true } : {}),
123
+ ...(flags.videoId ? { videoId: flags.videoId } : {}),
124
+ };
120
125
  if (mode === 'device') {
121
126
  try {
122
- const outcome = await (0, device_flow_1.runDeviceFlow)(apiBase, { ref, wait: !noWait });
127
+ const outcome = await (0, device_flow_1.runDeviceFlow)(apiBase, { ref, wait: !noWait, ...(flags.videoId ? { videoId: flags.videoId } : {}) });
123
128
  return outcome.status === 'done' ? outcome : { status: 'pending' };
124
129
  }
125
130
  catch (err) {
@@ -131,7 +136,16 @@ async function signIn(apiBase, ref, flags = {}) {
131
136
  logger.warn("Device sign-in isn't available on this server yet; using browser sign-in.");
132
137
  }
133
138
  }
134
- return { status: 'done', result: await (0, oauth_server_1.runOAuthFlow)(apiBase, ref) };
139
+ return { status: 'done', result: Object.keys(choice).length ? await (0, oauth_server_1.runOAuthFlow)(apiBase, ref, choice) : await (0, oauth_server_1.runOAuthFlow)(apiBase, ref) };
140
+ }
141
+ /** The saved login, or null when there is none or it was saved for another environment. */
142
+ function savedLogin() {
143
+ try {
144
+ return (0, credentials_1.getCredentials)();
145
+ }
146
+ catch {
147
+ return null;
148
+ }
135
149
  }
136
150
  async function finishLogin(apiBase, ref, result) {
137
151
  await (0, attribution_1.recordAttributionRef)(apiBase, ref, result.api_key);
@@ -149,7 +163,8 @@ function createLoginCommand() {
149
163
  .option('--browser', 'Sign in with a browser on this computer')
150
164
  .option('--no-wait', 'With --device: print the link and exit; run the command again to finish')
151
165
  .option('--paste [value]', 'Finish sign-in from the address your browser showed, or a GooseWorks key')
152
- .action(async (opts) => {
166
+ .option('--switch', 'Sign in with another account, choosing it in the browser')
167
+ .action(async (opts, command) => {
153
168
  (0, environment_1.assertConnection)(opts.apiBase, 'api');
154
169
  if (opts.browser && (opts.device || opts.wait === false)) {
155
170
  logger.error('--browser signs in on this computer; it cannot be combined with --device or --no-wait.');
@@ -167,21 +182,30 @@ function createLoginCommand() {
167
182
  }
168
183
  return;
169
184
  }
170
- const existing = (0, credentials_1.getCredentials)();
171
- if (existing) {
172
- logger.success(`Already logged in as ${existing.email}`);
185
+ const existing = savedLogin();
186
+ // An address named on purpose (--api-base or GOOSEWORKS_API_BASE) that isn't the saved login's signs in there.
187
+ const named = command.getOptionValueSource('apiBase') === 'cli' || !!process.env.GOOSEWORKS_API_BASE;
188
+ const otherAddress = !!existing && named && !(0, credentials_1.sameOrigin)(existing.api_base, opts.apiBase);
189
+ if (existing && !opts.switch && !otherAddress) {
190
+ logger.success(`Already signed in as ${existing.email}. To use another account: gooseworks login --switch`);
173
191
  await (0, attribution_1.recordAttributionRef)(existing.api_base || opts.apiBase, opts.ref, existing.api_key);
174
192
  await refreshEntrySkillsOnLogin();
175
193
  syncMcpRegistration();
176
- logger.info('Run "gooseworks logout" first to switch accounts.');
177
194
  return;
178
195
  }
179
196
  try {
180
- const outcome = await signIn(opts.apiBase, opts.ref, { device: opts.device, browser: opts.browser, wait: opts.wait });
197
+ const outcome = await signIn(opts.apiBase, opts.ref, {
198
+ device: opts.device,
199
+ browser: opts.browser,
200
+ wait: opts.wait,
201
+ ...(opts.switch ? { chooseAccount: true } : {}),
202
+ });
181
203
  if (outcome.status === 'pending') {
182
204
  logger.info('After you approve, run this command again (without --no-wait) to finish.');
183
205
  return;
184
206
  }
207
+ if (otherAddress)
208
+ logger.info(`Switched from ${new URL(existing.api_base).origin} to ${new URL(opts.apiBase).origin}.`);
185
209
  await finishLogin(opts.apiBase, opts.ref, outcome.result);
186
210
  }
187
211
  catch (err) {
@@ -198,7 +222,7 @@ exports.loginCommand = createLoginCommand();
198
222
  */
199
223
  async function ensureLoggedIn(apiBase = config_1.API_BASE, ref) {
200
224
  (0, environment_1.assertConnection)(apiBase, 'api');
201
- const existing = (0, credentials_1.getCredentials)();
225
+ const existing = savedLogin();
202
226
  if (existing) {
203
227
  await (0, attribution_1.recordAttributionRef)(existing.api_base || apiBase, ref, existing.api_key);
204
228
  return existing;
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,eAAO,MAAM,aAAa,SAmBtB,CAAC"}
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,aAAa,SA+BtB,CAAC"}
@@ -37,27 +37,45 @@ exports.logoutCommand = void 0;
37
37
  const commander_1 = require("commander");
38
38
  const credentials_1 = require("../auth/credentials");
39
39
  const device_flow_1 = require("../auth/device-flow");
40
+ const revoke_1 = require("../auth/revoke");
40
41
  const claude_mcp_1 = require("../agents/claude-mcp");
41
42
  const logger = __importStar(require("../utils/logger"));
42
43
  const environment_1 = require("../environment");
43
44
  exports.logoutCommand = new commander_1.Command('logout')
44
- .description('Sign out and clear saved credentials')
45
+ .description('Sign out, cancel the saved key and clear saved credentials')
45
46
  .action(async () => {
46
47
  // An unfinished device sign-in (`login --device --no-wait`) is dropped too,
47
48
  // even when no account is signed in yet.
48
49
  (0, device_flow_1.clearPendingDeviceLogin)();
49
- const existing = (0, credentials_1.getCredentials)();
50
- if (!existing) {
50
+ let existing = null;
51
+ let broken = false;
52
+ try {
53
+ existing = (0, credentials_1.getCredentials)();
54
+ }
55
+ catch {
56
+ // Saved for another environment or address: clear it so a new sign-in can start.
57
+ broken = true;
58
+ }
59
+ if (!existing && !broken) {
51
60
  logger.info('Not currently logged in.');
61
+ }
62
+ else {
63
+ const revoked = existing ? await (0, revoke_1.revokeKey)(existing) : null;
64
+ (0, credentials_1.clearCredentials)();
65
+ logger.success(existing ? `Signed out of GooseWorks (was ${existing.email}).` : 'Cleared a saved GooseWorks sign-in that did not match this environment.');
66
+ if (revoked === 'cancelled')
67
+ logger.info('Its key was cancelled, so any copy of it stops working too.');
68
+ if (revoked === 'unreachable')
69
+ logger.warn('Could not reach GooseWorks to cancel the old key; it was only removed from this computer.');
70
+ }
71
+ // Only the CLI's own Claude Code entries, and only where the CLI writes them. Removed even with no
72
+ // saved sign-in: a key copied into Claude Code must not outlive logout.
73
+ if ((0, environment_1.getEnvironment)() !== 'production')
52
74
  return;
75
+ if ((0, claude_mcp_1.removeClaudeMcp)().length)
76
+ logger.info('Removed the GooseWorks connection from Claude Code.');
77
+ if ((0, claude_mcp_1.otherGooseworksMcpEntries)().length) {
78
+ logger.info('Claude Code also has other GooseWorks connections that were set up by hand; remove them in Claude Code if you no longer need them.');
53
79
  }
54
- (0, credentials_1.clearCredentials)();
55
- // Also drop the `gooseworks` MCP registration from ~/.claude.json. Otherwise
56
- // it lingers pointing at the logged-out backend with a now-dead token — the
57
- // classic "project not found" / wrong-org trap when you later log into a
58
- // different backend (e.g. local dev) without re-registering.
59
- if ((0, environment_1.getEnvironment)() === 'production')
60
- (0, claude_mcp_1.removeClaudeMcp)();
61
- logger.success(`Logged out (was ${existing.email}) — cleared credentials + MCP registration`);
62
80
  });
63
81
  //# sourceMappingURL=logout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,qDAAuE;AACvE,qDAA8D;AAC9D,qDAAuD;AACvD,wDAA0C;AAC1C,gDAAgD;AAEnC,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,4EAA4E;IAC5E,yCAAyC;IACzC,IAAA,qCAAuB,GAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,IAAA,4BAAc,GAAE,CAAC;IAClC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,IAAA,8BAAgB,GAAE,CAAC;IACnB,6EAA6E;IAC7E,4EAA4E;IAC5E,yEAAyE;IACzE,6DAA6D;IAC7D,IAAI,IAAA,4BAAc,GAAE,KAAK,YAAY;QAAE,IAAA,4BAAe,GAAE,CAAC;IACzD,MAAM,CAAC,OAAO,CAAC,mBAAmB,QAAQ,CAAC,KAAK,4CAA4C,CAAC,CAAC;AAChG,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,qDAAyF;AACzF,qDAA8D;AAC9D,2CAA2C;AAC3C,qDAAkF;AAClF,wDAA0C;AAC1C,gDAAgD;AAEnC,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,4DAA4D,CAAC;KACzE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,4EAA4E;IAC5E,yCAAyC;IACzC,IAAA,qCAAuB,GAAE,CAAC;IAC1B,IAAI,QAAQ,GAAuB,IAAI,CAAC;IACxC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,CAAC;QACH,QAAQ,GAAG,IAAA,4BAAc,GAAE,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,iFAAiF;QACjF,MAAM,GAAG,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC1C,CAAC;SAAM,CAAC;QACN,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAA,kBAAS,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5D,IAAA,8BAAgB,GAAE,CAAC;QACnB,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,iCAAiC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,yEAAyE,CAAC,CAAC;QAC3J,IAAI,OAAO,KAAK,WAAW;YAAE,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QACxG,IAAI,OAAO,KAAK,aAAa;YAAE,MAAM,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;IAC1I,CAAC;IAED,mGAAmG;IACnG,wEAAwE;IACxE,IAAI,IAAA,4BAAc,GAAE,KAAK,YAAY;QAAE,OAAO;IAC9C,IAAI,IAAA,4BAAe,GAAE,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACjG,IAAI,IAAA,sCAAyB,GAAE,CAAC,MAAM,EAAE,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,oIAAoI,CAAC,CAAC;IACpJ,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,5 +1,40 @@
1
1
  import { Command } from 'commander';
2
+ import { KitLog, type KitEvent } from '../kit/core/log';
3
+ import { LineError, VideoLine } from '../kit/line/client';
4
+ /**
5
+ * The kit talks to GOOSEWORKS_API_BASE or the environment's address, never a saved login's other address.
6
+ * `video make` passes its video, so a first sign-in already asks for an account that can make it.
7
+ */
8
+ declare function setUp(videoId?: string, emit?: (event: KitEvent) => void): Promise<{
9
+ kit: {
10
+ noSelfUpdate: boolean;
11
+ apiBase: string;
12
+ environment: import("../kit/env").KitEnvironment;
13
+ worker: boolean;
14
+ lineToken?: string;
15
+ workerId?: string;
16
+ partsDir?: string;
17
+ stylesDir?: string;
18
+ };
19
+ home: string;
20
+ log: KitLog;
21
+ apiBase: string;
22
+ signedIn: boolean;
23
+ /** The line's last refusal before the make, which says why it can't go on. */
24
+ refused: LineError | null;
25
+ readonly line: VideoLine;
26
+ /** After a new sign-in: the same line with the new login. */
27
+ relogin(login: string): VideoLine;
28
+ }>;
29
+ type Session = Awaited<ReturnType<typeof setUp>>;
30
+ /**
31
+ * Before any slow setup: may this login make the video? A wrong account or an
32
+ * expired sign-in signs in again by itself (choosing the account, bound to
33
+ * this video) and asks once more. Returns the line to make it with, or null.
34
+ */
35
+ export declare function lineForVideo(id: string, session: Session): Promise<VideoLine | null>;
2
36
  export declare const videoCommand: Command;
3
37
  /** The old save step: `video make` now uploads the finished video and gets it checked. */
4
38
  export declare const videoSaveMovedCommand: Command;
39
+ export {};
5
40
  //# sourceMappingURL=video.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/commands/video.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0DpC,eAAO,MAAM,YAAY,SAA4E,CAAC;AA+CtG,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,SAO9B,CAAC"}
1
+ {"version":3,"file":"video.d.ts","sourceRoot":"","sources":["../../src/commands/video.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,OAAO,EAAE,MAAM,EAAE,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAQxD,OAAO,EAAE,SAAS,EAAa,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAgDrE;;;GAGG;AACH,iBAAe,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI;;;;;;;;;;;;;;;IAmBnE,8EAA8E;aAC7D,SAAS,GAAG,IAAI;;IAIjC,6DAA6D;mBAC9C,MAAM;GAMxB;AAED,KAAK,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;AAEjD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAqC1F;AAiCD,eAAO,MAAM,YAAY,SAA4E,CAAC;AAkUtG,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,SAO9B,CAAC"}