gooseworks 0.4.2 → 0.4.5-dev.15.facf60fb

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 (156) hide show
  1. package/README.md +84 -22
  2. package/dist/agents/staging.d.ts +38 -0
  3. package/dist/agents/staging.d.ts.map +1 -0
  4. package/dist/agents/staging.js +309 -0
  5. package/dist/agents/staging.js.map +1 -0
  6. package/dist/auth/credentials.d.ts +1 -0
  7. package/dist/auth/credentials.d.ts.map +1 -1
  8. package/dist/auth/credentials.js +26 -8
  9. package/dist/auth/credentials.js.map +1 -1
  10. package/dist/auth/device-flow.d.ts +79 -0
  11. package/dist/auth/device-flow.d.ts.map +1 -0
  12. package/dist/auth/device-flow.js +411 -0
  13. package/dist/auth/device-flow.js.map +1 -0
  14. package/dist/auth/login-mode.d.ts +25 -0
  15. package/dist/auth/login-mode.d.ts.map +1 -0
  16. package/dist/auth/login-mode.js +87 -0
  17. package/dist/auth/login-mode.js.map +1 -0
  18. package/dist/auth/oauth-server.d.ts +2 -2
  19. package/dist/auth/oauth-server.d.ts.map +1 -1
  20. package/dist/auth/oauth-server.js +28 -5
  21. package/dist/auth/oauth-server.js.map +1 -1
  22. package/dist/auth/paste-login.d.ts +27 -0
  23. package/dist/auth/paste-login.d.ts.map +1 -0
  24. package/dist/auth/paste-login.js +203 -0
  25. package/dist/auth/paste-login.js.map +1 -0
  26. package/dist/commands/doctor.d.ts +29 -5
  27. package/dist/commands/doctor.d.ts.map +1 -1
  28. package/dist/commands/doctor.js +116 -63
  29. package/dist/commands/doctor.js.map +1 -1
  30. package/dist/commands/fetch.d.ts +1 -0
  31. package/dist/commands/fetch.d.ts.map +1 -1
  32. package/dist/commands/fetch.js +64 -29
  33. package/dist/commands/fetch.js.map +1 -1
  34. package/dist/commands/formats.js +2 -2
  35. package/dist/commands/formats.js.map +1 -1
  36. package/dist/commands/graphics/publish-flow.js +1 -1
  37. package/dist/commands/graphics/publish-flow.js.map +1 -1
  38. package/dist/commands/install.d.ts.map +1 -1
  39. package/dist/commands/install.js +126 -26
  40. package/dist/commands/install.js.map +1 -1
  41. package/dist/commands/launch.d.ts +3 -0
  42. package/dist/commands/launch.d.ts.map +1 -0
  43. package/dist/commands/launch.js +35 -0
  44. package/dist/commands/launch.js.map +1 -0
  45. package/dist/commands/login.d.ts +21 -1
  46. package/dist/commands/login.d.ts.map +1 -1
  47. package/dist/commands/login.js +112 -30
  48. package/dist/commands/login.js.map +1 -1
  49. package/dist/commands/logout.d.ts.map +1 -1
  50. package/dist/commands/logout.js +7 -1
  51. package/dist/commands/logout.js.map +1 -1
  52. package/dist/commands/skills.d.ts +50 -0
  53. package/dist/commands/skills.d.ts.map +1 -0
  54. package/dist/commands/skills.js +160 -0
  55. package/dist/commands/skills.js.map +1 -0
  56. package/dist/commands/styles.js +2 -2
  57. package/dist/commands/styles.js.map +1 -1
  58. package/dist/commands/tool.d.ts +17 -0
  59. package/dist/commands/tool.d.ts.map +1 -0
  60. package/dist/commands/tool.js +239 -0
  61. package/dist/commands/tool.js.map +1 -0
  62. package/dist/commands/update.d.ts.map +1 -1
  63. package/dist/commands/update.js +37 -6
  64. package/dist/commands/update.js.map +1 -1
  65. package/dist/commands/video-local.d.ts +9 -0
  66. package/dist/commands/video-local.d.ts.map +1 -0
  67. package/dist/commands/video-local.js +83 -0
  68. package/dist/commands/video-local.js.map +1 -0
  69. package/dist/commands/video-save.d.ts +3 -0
  70. package/dist/commands/video-save.d.ts.map +1 -0
  71. package/dist/commands/video-save.js +83 -0
  72. package/dist/commands/video-save.js.map +1 -0
  73. package/dist/config.d.ts.map +1 -1
  74. package/dist/config.js +14 -3
  75. package/dist/config.js.map +1 -1
  76. package/dist/environment.d.ts +9 -0
  77. package/dist/environment.d.ts.map +1 -0
  78. package/dist/environment.js +105 -0
  79. package/dist/environment.js.map +1 -0
  80. package/dist/index.js +12 -38
  81. package/dist/index.js.map +1 -1
  82. package/dist/lib/graphics-cache.d.ts.map +1 -1
  83. package/dist/lib/graphics-cache.js +2 -2
  84. package/dist/lib/graphics-cache.js.map +1 -1
  85. package/dist/lib/mcp-client.d.ts +53 -0
  86. package/dist/lib/mcp-client.d.ts.map +1 -0
  87. package/dist/lib/mcp-client.js +196 -0
  88. package/dist/lib/mcp-client.js.map +1 -0
  89. package/dist/lib/video-local-captions.d.ts +83 -0
  90. package/dist/lib/video-local-captions.d.ts.map +1 -0
  91. package/dist/lib/video-local-captions.js +261 -0
  92. package/dist/lib/video-local-captions.js.map +1 -0
  93. package/dist/lib/video-local-runtime.d.ts +8 -0
  94. package/dist/lib/video-local-runtime.d.ts.map +1 -0
  95. package/dist/lib/video-local-runtime.js +201 -0
  96. package/dist/lib/video-local-runtime.js.map +1 -0
  97. package/dist/lib/video-save-mcp.d.ts +9 -0
  98. package/dist/lib/video-save-mcp.d.ts.map +1 -0
  99. package/dist/lib/video-save-mcp.js +162 -0
  100. package/dist/lib/video-save-mcp.js.map +1 -0
  101. package/dist/lib/video-save.d.ts +77 -0
  102. package/dist/lib/video-save.d.ts.map +1 -0
  103. package/dist/lib/video-save.js +440 -0
  104. package/dist/lib/video-save.js.map +1 -0
  105. package/dist/program.d.ts +2 -0
  106. package/dist/program.d.ts.map +1 -0
  107. package/dist/program.js +56 -0
  108. package/dist/program.js.map +1 -0
  109. package/dist/skills/custom-video-skill.d.ts +3 -0
  110. package/dist/skills/custom-video-skill.d.ts.map +1 -0
  111. package/dist/skills/custom-video-skill.js +6 -0
  112. package/dist/skills/custom-video-skill.js.map +1 -0
  113. package/dist/skills/installer.d.ts +12 -6
  114. package/dist/skills/installer.d.ts.map +1 -1
  115. package/dist/skills/installer.js +82 -38
  116. package/dist/skills/installer.js.map +1 -1
  117. package/dist/skills/master-skill.d.ts +34 -28
  118. package/dist/skills/master-skill.d.ts.map +1 -1
  119. package/dist/skills/master-skill.js +2264 -858
  120. package/dist/skills/master-skill.js.map +1 -1
  121. package/dist/skills/package-freshness.d.ts +16 -0
  122. package/dist/skills/package-freshness.d.ts.map +1 -0
  123. package/dist/skills/package-freshness.js +36 -0
  124. package/dist/skills/package-freshness.js.map +1 -0
  125. package/dist/skills/releases.d.ts +12 -0
  126. package/dist/skills/releases.d.ts.map +1 -0
  127. package/dist/skills/releases.js +155 -0
  128. package/dist/skills/releases.js.map +1 -0
  129. package/dist/skills/routes.d.ts.map +1 -1
  130. package/dist/skills/routes.js +12 -6
  131. package/dist/skills/routes.js.map +1 -1
  132. package/dist/skills/staging-content.d.ts +3 -0
  133. package/dist/skills/staging-content.d.ts.map +1 -0
  134. package/dist/skills/staging-content.js +12 -0
  135. package/dist/skills/staging-content.js.map +1 -0
  136. package/dist/utils/browser-preflight.d.ts +29 -0
  137. package/dist/utils/browser-preflight.d.ts.map +1 -0
  138. package/dist/utils/browser-preflight.js +338 -0
  139. package/dist/utils/browser-preflight.js.map +1 -0
  140. package/dist/utils/http.d.ts +7 -1
  141. package/dist/utils/http.d.ts.map +1 -1
  142. package/dist/utils/http.js +5 -1
  143. package/dist/utils/http.js.map +1 -1
  144. package/package.json +11 -3
  145. package/skills/goose-ads/SKILL.md +509 -239
  146. package/skills/goose-product-photos/SKILL.md +161 -60
  147. package/skills/goose-video/SKILL.md +592 -259
  148. package/skills/goose-video-local/SKILL.md +1409 -236
  149. package/skills/gooseworks/SKILL.md +327 -34
  150. package/skills/make-custom-video/SKILL.md +735 -0
  151. package/skills/manifest.json +12 -0
  152. package/skills/routes.json +13 -6
  153. package/dist/skills/fetcher.d.ts +0 -18
  154. package/dist/skills/fetcher.d.ts.map +0 -1
  155. package/dist/skills/fetcher.js +0 -118
  156. package/dist/skills/fetcher.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,qDAAqD;AACrD,mDAAiF;AACjF,6CAAmD;AACnD,qDAA0D;AAC1D,2CAAoE;AACpE,6CAA8E;AAC9E,6CAAoD;AACpD,yDAAwD;AACxD,wDAA0C;AAE7B,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,KAAK,GAAG,IAAA,4BAAc,GAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC;IACxC,IAAA,2BAAe,GAAE,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,IAAA,qCAAyB,EAAC,IAAA,6BAAc,GAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC7E,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,yBAAyB,CAAC,CAAC;IAE7C,IAAI,IAAA,yBAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,IAAA,wBAAe,GAAE,CAAC;QAClB,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAE/C,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,IAAA,+BAAkB,GAAE,EAAE,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAA,yBAAgB,EAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,IAAA,sBAAc,GAAE,CAAC;QACjB,MAAM,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAEzC,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,IAAA,yBAAiB,GAAE,EAAE,CAAC;gBACxB,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAA,yBAAgB,EAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,IAAI,IAAA,kCAAyB,GAAE,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,IAAA,wBAAe,EAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAClC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { Command } from 'commander';
2
+ /**
3
+ * Narrow local worker for server-rendered video orders (GOOSE-3718). Those
4
+ * orders are paused (gooseworks-app server-video-orders.ts) and goose-video no
5
+ * longer runs this, so the command is hidden from --help. Kept so it works again
6
+ * if server orders are turned back on; client formats never use it.
7
+ */
8
+ export declare const videoLocalCommand: Command;
9
+ //# sourceMappingURL=video-local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-local.d.ts","sourceRoot":"","sources":["../../src/commands/video-local.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,SACuC,CAAC"}
@@ -0,0 +1,83 @@
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
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.videoLocalCommand = void 0;
37
+ const crypto_1 = require("crypto");
38
+ const path = __importStar(require("path"));
39
+ const commander_1 = require("commander");
40
+ const credentials_1 = require("../auth/credentials");
41
+ const video_local_captions_1 = require("../lib/video-local-captions");
42
+ const video_local_runtime_1 = require("../lib/video-local-runtime");
43
+ const logger = __importStar(require("../utils/logger"));
44
+ const environment_1 = require("../environment");
45
+ /**
46
+ * Narrow local worker for server-rendered video orders (GOOSE-3718). Those
47
+ * orders are paused (gooseworks-app server-video-orders.ts) and goose-video no
48
+ * longer runs this, so the command is hidden from --help. Kept so it works again
49
+ * if server orders are turned back on; client formats never use it.
50
+ */
51
+ exports.videoLocalCommand = new commander_1.Command('video-local')
52
+ .description('Run a server-vetted local video node (experimental)');
53
+ exports.videoLocalCommand.command('captions')
54
+ .description('Claim and run one approved local captions node for a CreativeSpec project')
55
+ .requiredOption('--project-id <id>', 'Existing video project ID')
56
+ .action(async ({ projectId }) => {
57
+ const creds = (0, credentials_1.getCredentials)();
58
+ if (!creds) {
59
+ logger.error('Not logged in. Run "gooseworks login" first.');
60
+ process.exitCode = 1;
61
+ return;
62
+ }
63
+ try {
64
+ const result = await (0, video_local_captions_1.executeNextCaptionClaim)({
65
+ projectId,
66
+ workerId: (0, crypto_1.randomUUID)(),
67
+ workRoot: path.join((0, environment_1.profileRoot)(), 'video-local'),
68
+ transport: (0, video_local_runtime_1.createCaptionTransport)(creds.api_base, creds.api_key),
69
+ runtime: (0, video_local_runtime_1.createCaptionRuntime)(),
70
+ });
71
+ if (!result) {
72
+ logger.info('No eligible captions node is offered for this project. Nothing was rendered or charged.');
73
+ return;
74
+ }
75
+ logger.success(`Completed local captions claim ${result.claimId}. Recovery journal: ${result.journalPath}`);
76
+ }
77
+ catch (error) {
78
+ logger.error(error instanceof Error ? error.message : 'Local captions failed');
79
+ logger.error('Any claimed lease and output remain in the private video-local journal for recovery.');
80
+ process.exitCode = 1;
81
+ }
82
+ });
83
+ //# sourceMappingURL=video-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-local.js","sourceRoot":"","sources":["../../src/commands/video-local.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAoC;AAEpC,2CAA6B;AAC7B,yCAAoC;AACpC,qDAAqD;AACrD,sEAAsE;AACtE,oEAA0F;AAC1F,wDAA0C;AAC1C,gDAA6C;AAE7C;;;;;GAKG;AACU,QAAA,iBAAiB,GAAG,IAAI,mBAAO,CAAC,aAAa,CAAC;KACxD,WAAW,CAAC,qDAAqD,CAAC,CAAC;AAEtE,yBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC;KAClC,WAAW,CAAC,2EAA2E,CAAC;KACxF,cAAc,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAyB,EAAE,EAAE;IACrD,MAAM,KAAK,GAAG,IAAA,4BAAc,GAAE,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC7D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,8CAAuB,EAAC;YAC3C,SAAS;YACT,QAAQ,EAAE,IAAA,mBAAU,GAAE;YACtB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,IAAA,yBAAW,GAAE,EAAE,aAAa,CAAC;YACjD,SAAS,EAAE,IAAA,4CAAsB,EAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YAChE,OAAO,EAAE,IAAA,0CAAoB,GAAE;SAChC,CAAC,CAAC;QACH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,yFAAyF,CAAC,CAAC;YACvG,OAAO;QACT,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,kCAAkC,MAAM,CAAC,OAAO,uBAAuB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QACrG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const videoSaveCommand: Command;
3
+ //# sourceMappingURL=video-save.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-save.d.ts","sourceRoot":"","sources":["../../src/commands/video-save.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,gBAAgB,SAC6E,CAAC"}
@@ -0,0 +1,83 @@
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
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.videoSaveCommand = void 0;
37
+ const commander_1 = require("commander");
38
+ const promises_1 = require("fs/promises");
39
+ const path = __importStar(require("path"));
40
+ const credentials_1 = require("../auth/credentials");
41
+ const video_save_1 = require("../lib/video-save");
42
+ const video_save_mcp_1 = require("../lib/video-save-mcp");
43
+ const logger = __importStar(require("../utils/logger"));
44
+ exports.videoSaveCommand = new commander_1.Command('video-save')
45
+ .description('Save an already checked local video; resume interrupted uploads without generating media');
46
+ async function run(checkpoint, manifest) {
47
+ try {
48
+ const creds = (0, credentials_1.getCredentials)();
49
+ if (!creds)
50
+ throw new Error('Run "gooseworks login" and reconnect to the original account before saving');
51
+ const transport = await (0, video_save_mcp_1.createSaveTransport)(creds);
52
+ const target = path.resolve(checkpoint);
53
+ if (manifest) {
54
+ const input = JSON.parse(await (0, promises_1.readFile)(path.resolve(manifest), 'utf8'));
55
+ await (0, video_save_1.prepareSave)(target, input, transport);
56
+ logger.success(`Finished-video checkpoint saved: ${target}. Run gooseworks video-save resume --checkpoint "${target}".`);
57
+ }
58
+ else {
59
+ const result = await (0, video_save_1.resumeSave)(target, transport);
60
+ logger.success(`Saved and selected the same render ${result.binding.render_id}. Local video: ${result.binding.final.path}`);
61
+ }
62
+ }
63
+ catch (error) {
64
+ logger.error(error instanceof Error ? error.message : 'Finished-video saving was interrupted');
65
+ logger.info('Keep the finished files and checkpoint. No video generation was requested.');
66
+ const saved = await (0, video_save_1.loadCheckpoint)(path.resolve(checkpoint)).catch(() => null);
67
+ if (saved) {
68
+ logger.info(`Local final recorded in the checkpoint: ${saved.binding.final.path}`);
69
+ logger.info(`Recovery checkpoint: ${path.resolve(checkpoint)}`);
70
+ }
71
+ process.exitCode = 1;
72
+ }
73
+ }
74
+ exports.videoSaveCommand.command('prepare')
75
+ .description('Bind the completed final/poster and existing passing quality evidence before uploading')
76
+ .requiredOption('--manifest <file>', 'Finished-video manifest JSON (no credentials)')
77
+ .requiredOption('--checkpoint <file>', 'Durable local checkpoint path')
78
+ .action((opts) => run(opts.checkpoint, opts.manifest));
79
+ exports.videoSaveCommand.command('resume')
80
+ .description('Read current state, then finish only missing save steps on the same render')
81
+ .requiredOption('--checkpoint <file>', 'Existing finished-video checkpoint')
82
+ .action((opts) => run(opts.checkpoint));
83
+ //# sourceMappingURL=video-save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"video-save.js","sourceRoot":"","sources":["../../src/commands/video-save.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,0CAAuC;AACvC,2CAA6B;AAC7B,qDAAqD;AACrD,kDAA+F;AAC/F,0DAA4D;AAC5D,wDAA0C;AAE7B,QAAA,gBAAgB,GAAG,IAAI,mBAAO,CAAC,YAAY,CAAC;KACtD,WAAW,CAAC,0FAA0F,CAAC,CAAC;AAE3G,KAAK,UAAU,GAAG,CAAC,UAAkB,EAAE,QAAiB;IACtD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAA,4BAAc,GAAE,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAC1G,MAAM,SAAS,GAAG,MAAM,IAAA,oCAAmB,EAAC,KAAK,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACxC,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAiB,CAAC;YACzF,MAAM,IAAA,wBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,oCAAoC,MAAM,oDAAoD,MAAM,IAAI,CAAC,CAAC;QAC3H,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAG,MAAM,IAAA,uBAAU,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YACnD,MAAM,CAAC,OAAO,CAAC,sCAAsC,MAAM,CAAC,OAAO,CAAC,SAAS,kBAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9H,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC;QAC/F,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QAC1F,MAAM,KAAK,GAAG,MAAM,IAAA,2BAAc,EAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,2CAA2C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACnF,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AACD,wBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC;KAChC,WAAW,CAAC,wFAAwF,CAAC;KACrG,cAAc,CAAC,mBAAmB,EAAE,+CAA+C,CAAC;KACpF,cAAc,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;KACtE,MAAM,CAAC,CAAC,IAA8C,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACnG,wBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC/B,WAAW,CAAC,4EAA4E,CAAC;KACzF,cAAc,CAAC,qBAAqB,EAAE,oCAAoC,CAAC;KAC3E,MAAM,CAAC,CAAC,IAA4B,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,QAAQ,QAAiE,CAAC;AAKvF,eAAO,MAAM,YAAY,QAAsE,CAAC;AAGhG,eAAO,MAAM,OAAO,QAAmE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,eAAO,MAAM,QAAQ,QAA0I,CAAC;AAMhK,eAAO,MAAM,YAAY,QAA+I,CAAC;AAWzK,eAAO,MAAM,OAAO,QAA2G,CAAC"}
package/dist/config.js CHANGED
@@ -9,13 +9,24 @@
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.HUB_URL = exports.FRONTEND_URL = exports.API_BASE = void 0;
12
- exports.API_BASE = process.env.GOOSEWORKS_API_BASE || 'https://api.gooseworks.ai';
12
+ const environment_1 = require("./environment");
13
+ exports.API_BASE = process.env.GOOSEWORKS_API_BASE || ((0, environment_1.getEnvironment)() === 'staging' ? 'https://api.staging.gooseworks.ai' : 'https://api.gooseworks.ai');
14
+ (0, environment_1.assertConnection)(exports.API_BASE, 'api');
13
15
  // The GTM web app (app.gooseworks.ai) is being sunset; `gw auth` now opens the
14
16
  // Goose Growth app (ads-frontend) at make.gooseworks.ai/cli/auth, which is a
15
17
  // straight port of the old CLI login page. Old published CLI versions still hit
16
18
  // app.gooseworks.ai and are handled by the sunset redirect layer.
17
- exports.FRONTEND_URL = process.env.GOOSEWORKS_FRONTEND_URL || 'https://make.gooseworks.ai';
19
+ exports.FRONTEND_URL = process.env.GOOSEWORKS_FRONTEND_URL || ((0, environment_1.getEnvironment)() === 'staging' ? 'https://ads-staging.gooseworks.ai' : 'https://make.gooseworks.ai');
20
+ if ((0, environment_1.getEnvironment)() === 'staging') {
21
+ const url = new URL(exports.FRONTEND_URL);
22
+ // The staging Growth app is ads-staging.gooseworks.ai (make.gooseworks.ai's staging twin);
23
+ // app.staging is the retired GTM app and has no /link.
24
+ const stagingFrontend = url.hostname === 'ads-staging.gooseworks.ai' || url.hostname.endsWith('.staging.gooseworks.ai');
25
+ if (url.protocol !== 'https:' || !stagingFrontend || url.username || url.password)
26
+ throw new Error('Staging sign-in must use the staging frontend');
27
+ }
18
28
  // Public graphics hub (skills + formats catalog). Distinct host from FRONTEND_URL:
19
29
  // `app.gooseworks.ai` has no /styles or /formats routes — those live on skills.gooseworks.ai.
20
- exports.HUB_URL = process.env.GOOSEWORKS_HUB_URL || 'https://skills.gooseworks.ai';
30
+ // No staging public hub is deployed. Do not advertise a production catalog link.
31
+ exports.HUB_URL = (0, environment_1.getEnvironment)() === 'staging' ? '' : (process.env.GOOSEWORKS_HUB_URL || 'https://skills.gooseworks.ai');
21
32
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEU,QAAA,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,2BAA2B,CAAC;AACvF,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,kEAAkE;AACrD,QAAA,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,4BAA4B,CAAC;AAChG,mFAAmF;AACnF,8FAA8F;AACjF,QAAA,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,8BAA8B,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,+CAAiE;AAEpD,QAAA,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,IAAA,4BAAc,GAAE,KAAK,SAAS,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;AAChK,IAAA,8BAAgB,EAAC,gBAAQ,EAAE,KAAK,CAAC,CAAC;AAClC,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,kEAAkE;AACrD,QAAA,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,CAAC,IAAA,4BAAc,GAAE,KAAK,SAAS,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC;AACzK,IAAI,IAAA,4BAAc,GAAE,KAAK,SAAS,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,oBAAY,CAAC,CAAC;IAClC,2FAA2F;IAC3F,uDAAuD;IACvD,MAAM,eAAe,GAAG,GAAG,CAAC,QAAQ,KAAK,2BAA2B,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;IACxH,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,eAAe,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;AACtJ,CAAC;AACD,mFAAmF;AACnF,8FAA8F;AAC9F,iFAAiF;AACpE,QAAA,OAAO,GAAG,IAAA,4BAAc,GAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,8BAA8B,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export type GooseEnvironment = 'production' | 'staging';
2
+ export declare function selectEnvironment(value: string): void;
3
+ export declare function getEnvironment(): GooseEnvironment;
4
+ export declare function profileRoot(): string;
5
+ export declare function sourceBranch(): 'main' | 'dev';
6
+ /** Bootstrap before importing command modules, whose defaults read config. */
7
+ export declare function consumeEnvironment(args: string[]): string[];
8
+ export declare function assertConnection(value: string, kind: 'api' | 'mcp'): void;
9
+ //# sourceMappingURL=environment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAAC;AAGxD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAGrD;AACD,wBAAgB,cAAc,IAAI,gBAAgB,CAAqB;AACvE,wBAAgB,WAAW,IAAI,MAAM,CAGpC;AACD,wBAAgB,YAAY,IAAI,MAAM,GAAG,KAAK,CAAoD;AAElG,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAgB3D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,CAezE"}
@@ -0,0 +1,105 @@
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
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.selectEnvironment = selectEnvironment;
37
+ exports.getEnvironment = getEnvironment;
38
+ exports.profileRoot = profileRoot;
39
+ exports.sourceBranch = sourceBranch;
40
+ exports.consumeEnvironment = consumeEnvironment;
41
+ exports.assertConnection = assertConnection;
42
+ const os = __importStar(require("os"));
43
+ const path = __importStar(require("node:path"));
44
+ let selected = 'production';
45
+ function selectEnvironment(value) {
46
+ if (value !== 'production' && value !== 'staging')
47
+ throw new Error('--env must be production or staging');
48
+ selected = value;
49
+ }
50
+ function getEnvironment() { return selected; }
51
+ function profileRoot() {
52
+ // A launched agent has a different home, but uses the same selected Goose login.
53
+ return path.join(process.env.GOOSEWORKS_USER_HOME || os.homedir(), '.gooseworks', 'profiles', selected);
54
+ }
55
+ function sourceBranch() { return selected === 'staging' ? 'dev' : 'main'; }
56
+ /** Bootstrap before importing command modules, whose defaults read config. */
57
+ function consumeEnvironment(args) {
58
+ const result = [];
59
+ let value;
60
+ for (let i = 0; i < args.length; i++) {
61
+ const arg = args[i];
62
+ if (arg === '--') {
63
+ result.push(...args.slice(i));
64
+ break;
65
+ }
66
+ if (arg === '--env' || arg.startsWith('--env=')) {
67
+ if (value !== undefined)
68
+ throw new Error('Pass --env only once');
69
+ value = arg === '--env' ? args[++i] : arg.slice(6);
70
+ if (!value)
71
+ throw new Error('--env requires production or staging');
72
+ }
73
+ else
74
+ result.push(arg);
75
+ }
76
+ // A staging launcher pins child commands too; an explicit production override is refused.
77
+ const pinned = process.env.GOOSEWORKS_SESSION_ENV;
78
+ if (pinned && value && value !== pinned)
79
+ throw new Error('This agent session is pinned to staging. Start a separate production session.');
80
+ selectEnvironment(value || pinned || 'production');
81
+ return result;
82
+ }
83
+ function assertConnection(value, kind) {
84
+ const url = new URL(value);
85
+ if (url.username || url.password || url.search || url.hash)
86
+ throw new Error(`Invalid ${kind} connection URL`);
87
+ const local = ['localhost', '127.0.0.1', '[::1]'].includes(url.hostname);
88
+ if (local && selected === 'production' && ['http:', 'https:'].includes(url.protocol))
89
+ return;
90
+ if (url.protocol !== 'https:')
91
+ throw new Error(`${kind} connection must use HTTPS`);
92
+ const staged = url.hostname.endsWith('.staging.gooseworks.ai');
93
+ if (selected === 'staging' ? !staged : staged)
94
+ throw new Error(`${kind} connection does not match --env ${selected}. Sign in to that environment again.`);
95
+ const allowed = kind === 'api'
96
+ ? ['api.gooseworks.ai', 'app.gooseworks.ai', 'api.staging.gooseworks.ai']
97
+ // Staging's customer MCP (the one `cal_` keys use) is app-mcp.staging; mcp.staging
98
+ // is its internal sandbox MCP. Production names them the other way round.
99
+ : ['mcp.gooseworks.ai', 'sandbox-mcp.gooseworks.ai', 'mcp.staging.gooseworks.ai', 'app-mcp.staging.gooseworks.ai'];
100
+ if (!allowed.includes(url.hostname))
101
+ throw new Error(`Unrecognized ${kind} connection host: ${url.hostname}`);
102
+ if (kind === 'api' && url.pathname !== '/' && url.pathname !== '')
103
+ throw new Error('API base must be an origin');
104
+ }
105
+ //# sourceMappingURL=environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,42 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- const commander_1 = require("commander");
5
- const install_1 = require("./commands/install");
6
- const login_1 = require("./commands/login");
7
- const logout_1 = require("./commands/logout");
8
- const whoami_1 = require("./commands/whoami");
9
- const update_1 = require("./commands/update");
10
- const credits_1 = require("./commands/credits");
11
- const search_1 = require("./commands/search");
12
- const fetch_1 = require("./commands/fetch");
13
- const env_1 = require("./commands/env");
14
- const call_1 = require("./commands/call");
15
- const orthogonal_1 = require("./commands/orthogonal");
16
- const styles_1 = require("./commands/styles");
17
- const formats_1 = require("./commands/formats");
18
- const doctor_1 = require("./commands/doctor");
19
- const log_1 = require("./commands/log");
20
- const version_1 = require("./version");
21
- const program = new commander_1.Command();
22
- program
23
- .name('gooseworks')
24
- .description('GooseWorks CLI — give your coding agent real data tools')
25
- .version((0, version_1.getVersion)());
26
- program.addCommand(install_1.installCommand);
27
- program.addCommand(login_1.loginCommand);
28
- program.addCommand(logout_1.logoutCommand);
29
- program.addCommand(whoami_1.whoamiCommand);
30
- program.addCommand(update_1.updateCommand);
31
- program.addCommand(credits_1.creditsCommand);
32
- program.addCommand(search_1.searchCommand);
33
- program.addCommand(fetch_1.fetchCommand);
34
- program.addCommand(env_1.envCommand);
35
- program.addCommand(call_1.callCommand);
36
- program.addCommand(orthogonal_1.orthogonalCommand);
37
- program.addCommand(styles_1.stylesCommand);
38
- program.addCommand(formats_1.formatsCommand);
39
- program.addCommand(doctor_1.doctorCommand);
40
- program.addCommand(log_1.logCommand);
41
- program.parse();
4
+ const environment_1 = require("./environment");
5
+ async function main() {
6
+ try {
7
+ const args = (0, environment_1.consumeEnvironment)(process.argv.slice(2));
8
+ await require('./program').run(args);
9
+ }
10
+ catch (error) {
11
+ console.error(error instanceof Error ? error.message : 'GooseWorks failed');
12
+ process.exitCode = 1;
13
+ }
14
+ }
15
+ void main();
42
16
  //# 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,yCAAoC;AACpC,gDAAoD;AACpD,4CAAgD;AAChD,8CAAkD;AAClD,8CAAkD;AAClD,8CAAkD;AAClD,gDAAoD;AACpD,8CAAkD;AAClD,4CAAgD;AAChD,wCAA4C;AAC5C,0CAA8C;AAC9C,sDAA0D;AAC1D,8CAAkD;AAClD,gDAAoD;AACpD,8CAAkD;AAClD,wCAA4C;AAC5C,uCAAuC;AAEvC,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,YAAY,CAAC;KAClB,WAAW,CAAC,yDAAyD,CAAC;KACtE,OAAO,CAAC,IAAA,oBAAU,GAAE,CAAC,CAAC;AAEzB,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,gBAAU,CAAC,CAAC;AAC/B,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,8BAAiB,CAAC,CAAC;AACtC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,gBAAU,CAAC,CAAC;AAE/B,OAAO,CAAC,KAAK,EAAE,CAAC"}
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 +1 @@
1
- {"version":3,"file":"graphics-cache.d.ts","sourceRoot":"","sources":["../../src/lib/graphics-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC5C,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAsBpC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,wBAAgB,SAAS,CACvB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,UAAU,GAAG,IAAI,CAcnB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB,IAAI,CAeN;AAQD,kEAAkE;AAClE,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
1
+ {"version":3,"file":"graphics-cache.d.ts","sourceRoot":"","sources":["../../src/lib/graphics-cache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAQH,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC5C,MAAM,MAAM,OAAO,GAAG,IAAI,GAAG,MAAM,CAAC;AAsBpC,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAED,wBAAgB,SAAS,CACvB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,GACf,UAAU,GAAG,IAAI,CAcnB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,IAAI,GAClB,IAAI,CAeN;AAQD,kEAAkE;AAClE,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
@@ -51,11 +51,11 @@ exports.writeCache = writeCache;
51
51
  exports.getCacheRoot = getCacheRoot;
52
52
  const fs = __importStar(require("fs"));
53
53
  const path = __importStar(require("path"));
54
- const os = __importStar(require("os"));
55
54
  const graphics_manifest_1 = require("./graphics-manifest");
55
+ const environment_1 = require("../environment");
56
56
  function getCacheRootInternal() {
57
57
  return (process.env.GOOSEWORKS_GRAPHICS_CACHE_DIR ||
58
- path.join(os.homedir(), '.gooseworks', 'cache', 'graphics'));
58
+ path.join((0, environment_1.profileRoot)(), 'cache', 'graphics'));
59
59
  }
60
60
  /**
61
61
  * Returns the cache file path for a slug, or null if the slug fails the
@@ -1 +1 @@
1
- {"version":3,"file":"graphics-cache.js","sourceRoot":"","sources":["../../src/lib/graphics-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graphics-cache.js","sourceRoot":"","sources":["../../src/lib/graphics-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * A small MCP client for the GooseWorks MCP server (Streamable HTTP), using
3
+ * the saved CLI sign-in. It lets an agent that has a shell but no MCP
4
+ * connector (a cloud agent's sandbox: ChatGPT agent, Meta AI, Grok) call the
5
+ * same GooseWorks tools a connected agent calls (GOOSE-3937).
6
+ *
7
+ * One connection per CLI run: initialize → tools/list or tools/call → DELETE
8
+ * the session. The endpoint is `<mcp_server_url>/mcp`, the same one the CLI
9
+ * registers for Claude Code and Codex.
10
+ */
11
+ import type { Credentials } from '../auth/credentials';
12
+ export declare const LOGIN_HINT = "Run `npx gooseworks login` (cloud sandbox or SSH: `npx gooseworks login --device --no-wait`).";
13
+ export interface McpTool {
14
+ name: string;
15
+ description?: string;
16
+ inputSchema?: unknown;
17
+ }
18
+ export interface McpContentBlock {
19
+ type: string;
20
+ text?: string;
21
+ mimeType?: string;
22
+ uri?: string;
23
+ resource?: {
24
+ uri?: string;
25
+ mimeType?: string;
26
+ text?: string;
27
+ };
28
+ }
29
+ export interface McpToolResult {
30
+ content?: McpContentBlock[];
31
+ structuredContent?: unknown;
32
+ isError?: boolean;
33
+ [key: string]: unknown;
34
+ }
35
+ export interface McpConnection {
36
+ /** The server's own usage rules (paid work, approvals), if it sends any. */
37
+ instructions: string | null;
38
+ listTools(): Promise<McpTool[]>;
39
+ callTool(name: string, args: Record<string, unknown>): Promise<McpToolResult>;
40
+ close(): Promise<void>;
41
+ }
42
+ export declare class McpError extends Error {
43
+ readonly status?: number | undefined;
44
+ constructor(message: string, status?: number | undefined);
45
+ }
46
+ /** `<mcp_server_url>/mcp`; HTTPS only, except a local dev server. */
47
+ export declare function mcpEndpoint(mcpServerUrl: string): URL;
48
+ export declare function connectMcp(creds: Credentials, opts?: {
49
+ timeoutMs?: number;
50
+ clientName?: string;
51
+ version?: string;
52
+ }): Promise<McpConnection>;
53
+ //# sourceMappingURL=mcp-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../src/lib/mcp-client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMvD,eAAO,MAAM,UAAU,kGAC0E,CAAC;AAElG,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,qBAAa,QAAS,SAAQ,KAAK;IACJ,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;gBAAzC,OAAO,EAAE,MAAM,EAAW,MAAM,CAAC,EAAE,MAAM,YAAA;CAItD;AAED,qEAAqE;AACrE,wBAAgB,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAUrD;AAiDD,wBAAsB,UAAU,CAC9B,KAAK,EAAE,WAAW,EAClB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO,GACvE,OAAO,CAAC,aAAa,CAAC,CA2GxB"}