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.
- package/README.md +84 -22
- package/dist/agents/staging.d.ts +38 -0
- package/dist/agents/staging.d.ts.map +1 -0
- package/dist/agents/staging.js +309 -0
- package/dist/agents/staging.js.map +1 -0
- package/dist/auth/credentials.d.ts +1 -0
- package/dist/auth/credentials.d.ts.map +1 -1
- package/dist/auth/credentials.js +26 -8
- package/dist/auth/credentials.js.map +1 -1
- package/dist/auth/device-flow.d.ts +79 -0
- package/dist/auth/device-flow.d.ts.map +1 -0
- package/dist/auth/device-flow.js +411 -0
- package/dist/auth/device-flow.js.map +1 -0
- package/dist/auth/login-mode.d.ts +25 -0
- package/dist/auth/login-mode.d.ts.map +1 -0
- package/dist/auth/login-mode.js +87 -0
- package/dist/auth/login-mode.js.map +1 -0
- package/dist/auth/oauth-server.d.ts +2 -2
- package/dist/auth/oauth-server.d.ts.map +1 -1
- package/dist/auth/oauth-server.js +28 -5
- package/dist/auth/oauth-server.js.map +1 -1
- package/dist/auth/paste-login.d.ts +27 -0
- package/dist/auth/paste-login.d.ts.map +1 -0
- package/dist/auth/paste-login.js +203 -0
- package/dist/auth/paste-login.js.map +1 -0
- package/dist/commands/doctor.d.ts +29 -5
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +116 -63
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/fetch.d.ts +1 -0
- package/dist/commands/fetch.d.ts.map +1 -1
- package/dist/commands/fetch.js +64 -29
- package/dist/commands/fetch.js.map +1 -1
- package/dist/commands/formats.js +2 -2
- package/dist/commands/formats.js.map +1 -1
- package/dist/commands/graphics/publish-flow.js +1 -1
- package/dist/commands/graphics/publish-flow.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +126 -26
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/launch.d.ts +3 -0
- package/dist/commands/launch.d.ts.map +1 -0
- package/dist/commands/launch.js +35 -0
- package/dist/commands/launch.js.map +1 -0
- package/dist/commands/login.d.ts +21 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +112 -30
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/logout.d.ts.map +1 -1
- package/dist/commands/logout.js +7 -1
- package/dist/commands/logout.js.map +1 -1
- package/dist/commands/skills.d.ts +50 -0
- package/dist/commands/skills.d.ts.map +1 -0
- package/dist/commands/skills.js +160 -0
- package/dist/commands/skills.js.map +1 -0
- package/dist/commands/styles.js +2 -2
- package/dist/commands/styles.js.map +1 -1
- package/dist/commands/tool.d.ts +17 -0
- package/dist/commands/tool.d.ts.map +1 -0
- package/dist/commands/tool.js +239 -0
- package/dist/commands/tool.js.map +1 -0
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +37 -6
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/video-local.d.ts +9 -0
- package/dist/commands/video-local.d.ts.map +1 -0
- package/dist/commands/video-local.js +83 -0
- package/dist/commands/video-local.js.map +1 -0
- package/dist/commands/video-save.d.ts +3 -0
- package/dist/commands/video-save.d.ts.map +1 -0
- package/dist/commands/video-save.js +83 -0
- package/dist/commands/video-save.js.map +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +14 -3
- package/dist/config.js.map +1 -1
- package/dist/environment.d.ts +9 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +105 -0
- package/dist/environment.js.map +1 -0
- package/dist/index.js +12 -38
- package/dist/index.js.map +1 -1
- package/dist/lib/graphics-cache.d.ts.map +1 -1
- package/dist/lib/graphics-cache.js +2 -2
- package/dist/lib/graphics-cache.js.map +1 -1
- package/dist/lib/mcp-client.d.ts +53 -0
- package/dist/lib/mcp-client.d.ts.map +1 -0
- package/dist/lib/mcp-client.js +196 -0
- package/dist/lib/mcp-client.js.map +1 -0
- package/dist/lib/video-local-captions.d.ts +83 -0
- package/dist/lib/video-local-captions.d.ts.map +1 -0
- package/dist/lib/video-local-captions.js +261 -0
- package/dist/lib/video-local-captions.js.map +1 -0
- package/dist/lib/video-local-runtime.d.ts +8 -0
- package/dist/lib/video-local-runtime.d.ts.map +1 -0
- package/dist/lib/video-local-runtime.js +201 -0
- package/dist/lib/video-local-runtime.js.map +1 -0
- package/dist/lib/video-save-mcp.d.ts +9 -0
- package/dist/lib/video-save-mcp.d.ts.map +1 -0
- package/dist/lib/video-save-mcp.js +162 -0
- package/dist/lib/video-save-mcp.js.map +1 -0
- package/dist/lib/video-save.d.ts +77 -0
- package/dist/lib/video-save.d.ts.map +1 -0
- package/dist/lib/video-save.js +440 -0
- package/dist/lib/video-save.js.map +1 -0
- package/dist/program.d.ts +2 -0
- package/dist/program.d.ts.map +1 -0
- package/dist/program.js +56 -0
- package/dist/program.js.map +1 -0
- package/dist/skills/custom-video-skill.d.ts +3 -0
- package/dist/skills/custom-video-skill.d.ts.map +1 -0
- package/dist/skills/custom-video-skill.js +6 -0
- package/dist/skills/custom-video-skill.js.map +1 -0
- package/dist/skills/installer.d.ts +12 -6
- package/dist/skills/installer.d.ts.map +1 -1
- package/dist/skills/installer.js +82 -38
- package/dist/skills/installer.js.map +1 -1
- package/dist/skills/master-skill.d.ts +34 -28
- package/dist/skills/master-skill.d.ts.map +1 -1
- package/dist/skills/master-skill.js +2264 -858
- package/dist/skills/master-skill.js.map +1 -1
- package/dist/skills/package-freshness.d.ts +16 -0
- package/dist/skills/package-freshness.d.ts.map +1 -0
- package/dist/skills/package-freshness.js +36 -0
- package/dist/skills/package-freshness.js.map +1 -0
- package/dist/skills/releases.d.ts +12 -0
- package/dist/skills/releases.d.ts.map +1 -0
- package/dist/skills/releases.js +155 -0
- package/dist/skills/releases.js.map +1 -0
- package/dist/skills/routes.d.ts.map +1 -1
- package/dist/skills/routes.js +12 -6
- package/dist/skills/routes.js.map +1 -1
- package/dist/skills/staging-content.d.ts +3 -0
- package/dist/skills/staging-content.d.ts.map +1 -0
- package/dist/skills/staging-content.js +12 -0
- package/dist/skills/staging-content.js.map +1 -0
- package/dist/utils/browser-preflight.d.ts +29 -0
- package/dist/utils/browser-preflight.d.ts.map +1 -0
- package/dist/utils/browser-preflight.js +338 -0
- package/dist/utils/browser-preflight.js.map +1 -0
- package/dist/utils/http.d.ts +7 -1
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +5 -1
- package/dist/utils/http.js.map +1 -1
- package/package.json +11 -3
- package/skills/goose-ads/SKILL.md +509 -239
- package/skills/goose-product-photos/SKILL.md +161 -60
- package/skills/goose-video/SKILL.md +592 -259
- package/skills/goose-video-local/SKILL.md +1409 -236
- package/skills/gooseworks/SKILL.md +327 -34
- package/skills/make-custom-video/SKILL.md +735 -0
- package/skills/manifest.json +12 -0
- package/skills/routes.json +13 -6
- package/dist/skills/fetcher.d.ts +0 -18
- package/dist/skills/fetcher.d.ts.map +0 -1
- package/dist/skills/fetcher.js +0 -118
- package/dist/skills/fetcher.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"master-skill.js","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"master-skill.js","sourceRoot":"","sources":["../../src/skills/master-skill.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface SkillPackageIdentity {
|
|
2
|
+
slug: string;
|
|
3
|
+
contentHash?: string | null;
|
|
4
|
+
requiresSkills?: string[];
|
|
5
|
+
dependencySkills?: Array<{
|
|
6
|
+
slug: string;
|
|
7
|
+
contentHash?: string | null;
|
|
8
|
+
}>;
|
|
9
|
+
}
|
|
10
|
+
/** Compares client-reported package identities, not arbitrary local file bytes. */
|
|
11
|
+
export declare function compareSavedPackage(current: SkillPackageIdentity, saved?: SkillPackageIdentity): {
|
|
12
|
+
status: string;
|
|
13
|
+
basis: string;
|
|
14
|
+
changes: string[];
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=package-freshness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-freshness.d.ts","sourceRoot":"","sources":["../../src/skills/package-freshness.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAAC;CACzE;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,EAAE,KAAK,CAAC,EAAE,oBAAoB;;;aACH,MAAM,EAAE;EAoBnG"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compareSavedPackage = compareSavedPackage;
|
|
4
|
+
/** Compares client-reported package identities, not arbitrary local file bytes. */
|
|
5
|
+
function compareSavedPackage(current, saved) {
|
|
6
|
+
if (!saved)
|
|
7
|
+
return { status: 'not_compared', basis: 'client_saved_hashes', changes: [] };
|
|
8
|
+
if (saved.slug !== current.slug)
|
|
9
|
+
throw new Error('Saved package slug does not match the requested skill');
|
|
10
|
+
const changes = [];
|
|
11
|
+
let unknown = !current.contentHash || !saved.contentHash;
|
|
12
|
+
if (current.contentHash && saved.contentHash && current.contentHash !== saved.contentHash)
|
|
13
|
+
changes.push(current.slug);
|
|
14
|
+
const previous = new Map((saved.dependencySkills || []).map((skill) => [skill.slug, skill.contentHash]));
|
|
15
|
+
const present = new Set();
|
|
16
|
+
for (const skill of current.dependencySkills || []) {
|
|
17
|
+
present.add(skill.slug);
|
|
18
|
+
if (!previous.has(skill.slug))
|
|
19
|
+
changes.push(skill.slug);
|
|
20
|
+
else if (!skill.contentHash || !previous.get(skill.slug))
|
|
21
|
+
unknown = true;
|
|
22
|
+
else if (previous.get(skill.slug) !== skill.contentHash)
|
|
23
|
+
changes.push(skill.slug);
|
|
24
|
+
}
|
|
25
|
+
for (const slug of previous.keys())
|
|
26
|
+
if (!present.has(slug))
|
|
27
|
+
changes.push(slug);
|
|
28
|
+
if ((current.requiresSkills || []).some((slug) => !present.has(slug)))
|
|
29
|
+
unknown = true;
|
|
30
|
+
return {
|
|
31
|
+
status: changes.length ? 'stale' : unknown ? 'unknown' : 'current',
|
|
32
|
+
basis: 'client_saved_hashes',
|
|
33
|
+
changes,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=package-freshness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-freshness.js","sourceRoot":"","sources":["../../src/skills/package-freshness.ts"],"names":[],"mappings":";;AAQA,kDAqBC;AAtBD,mFAAmF;AACnF,SAAgB,mBAAmB,CAAC,OAA6B,EAAE,KAA4B;IAC7F,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,qBAAqB,EAAE,OAAO,EAAE,EAAc,EAAE,CAAC;IACrG,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC1G,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IACzD,IAAI,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtH,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACzG,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,gBAAgB,IAAI,EAAE,EAAE,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aACnD,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YAAE,OAAO,GAAG,IAAI,CAAC;aACpE,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,WAAW;YAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,GAAG,IAAI,CAAC;IACtF,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QAClE,KAAK,EAAE,qBAAqB;QAC5B,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare function skillContentHash(content: string | Buffer): string;
|
|
2
|
+
export interface ReleasedSkills {
|
|
3
|
+
version: string;
|
|
4
|
+
hashes: Record<string, string>;
|
|
5
|
+
source: string;
|
|
6
|
+
}
|
|
7
|
+
/** Reads selected regular files in memory; never extracts paths onto disk. */
|
|
8
|
+
export declare function readReleasedSkillHashes(archive: Buffer, version: string, transform?: (content: string) => string): Record<string, string>;
|
|
9
|
+
/** Checks npm's release, never GitHub main. One timeout covers metadata + body. */
|
|
10
|
+
export declare function getReleasedSkills(timeoutMs?: number): Promise<ReleasedSkills>;
|
|
11
|
+
export declare function compareReleaseVersion(running: string, released: string): 'current' | 'outdated' | 'unreleased';
|
|
12
|
+
//# sourceMappingURL=releases.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"releases.d.ts","sourceRoot":"","sources":["../../src/skills/releases.ts"],"names":[],"mappings":"AAKA,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEjE;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AA2BD,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAgDzI;AAED,mFAAmF;AACnF,wBAAsB,iBAAiB,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAejF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,CAqB9G"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.skillContentHash = skillContentHash;
|
|
4
|
+
exports.readReleasedSkillHashes = readReleasedSkillHashes;
|
|
5
|
+
exports.getReleasedSkills = getReleasedSkills;
|
|
6
|
+
exports.compareReleaseVersion = compareReleaseVersion;
|
|
7
|
+
const node_crypto_1 = require("node:crypto");
|
|
8
|
+
const node_zlib_1 = require("node:zlib");
|
|
9
|
+
const environment_1 = require("../environment");
|
|
10
|
+
const staging_content_1 = require("./staging-content");
|
|
11
|
+
function skillContentHash(content) {
|
|
12
|
+
return (0, node_crypto_1.createHash)('sha256').update(content).digest('hex');
|
|
13
|
+
}
|
|
14
|
+
const REGISTRY = 'https://registry.npmjs.org';
|
|
15
|
+
const MAX_ARCHIVE = 8 * 1024 * 1024;
|
|
16
|
+
const MAX_UNPACKED = 32 * 1024 * 1024;
|
|
17
|
+
async function boundedResponse(url, signal, limit) {
|
|
18
|
+
const response = await fetch(url, { signal, redirect: 'error' });
|
|
19
|
+
if (!response.ok || !response.body)
|
|
20
|
+
throw new Error(`Published package unavailable (${response.status})`);
|
|
21
|
+
const reader = response.body.getReader();
|
|
22
|
+
const chunks = [];
|
|
23
|
+
let size = 0;
|
|
24
|
+
try {
|
|
25
|
+
while (true) {
|
|
26
|
+
const next = await reader.read();
|
|
27
|
+
if (next.done)
|
|
28
|
+
break;
|
|
29
|
+
size += next.value.length;
|
|
30
|
+
if (size > limit)
|
|
31
|
+
throw new Error('Published package exceeds the size limit');
|
|
32
|
+
chunks.push(next.value);
|
|
33
|
+
}
|
|
34
|
+
return Buffer.concat(chunks);
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
await reader.cancel().catch(() => undefined);
|
|
38
|
+
reader.releaseLock();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/** Reads selected regular files in memory; never extracts paths onto disk. */
|
|
42
|
+
function readReleasedSkillHashes(archive, version, transform) {
|
|
43
|
+
const tar = (0, node_zlib_1.gunzipSync)(archive, { maxOutputLength: MAX_UNPACKED });
|
|
44
|
+
const files = new Map();
|
|
45
|
+
for (let offset = 0; offset + 512 <= tar.length;) {
|
|
46
|
+
const header = tar.subarray(offset, offset + 512);
|
|
47
|
+
if (header.every((byte) => byte === 0))
|
|
48
|
+
break;
|
|
49
|
+
const field = (start, end) => header.subarray(start, end).toString('utf8').replace(/\0.*$/s, '').trim();
|
|
50
|
+
const octal = (start, end) => {
|
|
51
|
+
const value = field(start, end);
|
|
52
|
+
if (!/^[0-7]+$/.test(value))
|
|
53
|
+
throw new Error('Invalid published archive header');
|
|
54
|
+
return parseInt(value, 8);
|
|
55
|
+
};
|
|
56
|
+
const checksum = header.reduce((sum, byte, index) => sum + (index >= 148 && index < 156 ? 32 : byte), 0);
|
|
57
|
+
if (checksum !== octal(148, 156))
|
|
58
|
+
throw new Error('Invalid published archive checksum');
|
|
59
|
+
const size = octal(124, 136);
|
|
60
|
+
const prefix = field(345, 500);
|
|
61
|
+
const name = (prefix ? `${prefix}/` : '') + field(0, 100);
|
|
62
|
+
const start = offset + 512;
|
|
63
|
+
if (start + size > tar.length)
|
|
64
|
+
throw new Error('Truncated published archive');
|
|
65
|
+
const regular = header[156] === 0 || header[156] === 48;
|
|
66
|
+
if (regular && (name === 'package/package.json' || name === 'package/skills/manifest.json' || /^package\/skills\/[a-z0-9-]+\/SKILL\.md$/.test(name))) {
|
|
67
|
+
if (files.has(name) || size > 2 * 1024 * 1024)
|
|
68
|
+
throw new Error('Invalid published skill file');
|
|
69
|
+
files.set(name, tar.subarray(start, start + size));
|
|
70
|
+
}
|
|
71
|
+
offset = start + Math.ceil(size / 512) * 512;
|
|
72
|
+
}
|
|
73
|
+
const pkg = JSON.parse(files.get('package/package.json')?.toString('utf8') || '{}');
|
|
74
|
+
if (pkg.name !== 'gooseworks' || pkg.version !== version)
|
|
75
|
+
throw new Error('Published package identity mismatch');
|
|
76
|
+
const hashes = {};
|
|
77
|
+
for (const [name, content] of files) {
|
|
78
|
+
const match = name.match(/^package\/skills\/([a-z0-9-]+)\/SKILL\.md$/);
|
|
79
|
+
if (match)
|
|
80
|
+
hashes[match[1]] = skillContentHash(content);
|
|
81
|
+
}
|
|
82
|
+
if (!hashes.gooseworks)
|
|
83
|
+
throw new Error('Published package has no GooseWorks entry skill');
|
|
84
|
+
// Older releases have no manifest: derive it from the integrity-verified
|
|
85
|
+
// release files. New manifests must match those same actual shipped bytes.
|
|
86
|
+
const manifestFile = files.get('package/skills/manifest.json');
|
|
87
|
+
const adjustedHashes = () => transform ? Object.fromEntries(Object.keys(hashes).map(name => [name, skillContentHash(transform(files.get(`package/skills/${name}/SKILL.md`).toString('utf8')))])) : hashes;
|
|
88
|
+
if (manifestFile) {
|
|
89
|
+
const manifest = JSON.parse(manifestFile.toString('utf8'));
|
|
90
|
+
if (manifest.package !== 'gooseworks' || manifest.version !== version || !manifest.entries || typeof manifest.entries !== 'object')
|
|
91
|
+
throw new Error('Invalid published skill manifest');
|
|
92
|
+
for (const [name, hash] of Object.entries(manifest.entries)) {
|
|
93
|
+
if (hashes[name] !== hash)
|
|
94
|
+
throw new Error(`Published manifest mismatch for ${name}`);
|
|
95
|
+
}
|
|
96
|
+
if (!manifest.entries.gooseworks)
|
|
97
|
+
throw new Error('Published manifest has no entry skill');
|
|
98
|
+
return transform ? adjustedHashes() : { ...manifest.entries };
|
|
99
|
+
}
|
|
100
|
+
return adjustedHashes();
|
|
101
|
+
}
|
|
102
|
+
/** Checks npm's release, never GitHub main. One timeout covers metadata + body. */
|
|
103
|
+
async function getReleasedSkills(timeoutMs = 5000) {
|
|
104
|
+
const controller = new AbortController();
|
|
105
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
106
|
+
try {
|
|
107
|
+
const meta = JSON.parse((await boundedResponse(`${REGISTRY}/gooseworks/${(0, environment_1.getEnvironment)() === 'staging' ? 'next' : 'latest'}`, controller.signal, 1024 * 1024)).toString('utf8'));
|
|
108
|
+
if (meta.name !== 'gooseworks' || typeof meta.version !== 'string' || !/^\d+\.\d+\.\d+(?:-[a-zA-Z0-9.-]+)?$/.test(meta.version))
|
|
109
|
+
throw new Error('Invalid published package metadata');
|
|
110
|
+
const source = `${REGISTRY}/gooseworks/-/gooseworks-${meta.version}.tgz`;
|
|
111
|
+
if (meta.dist?.tarball !== source || typeof meta.dist?.integrity !== 'string' || !/^sha512-[A-Za-z0-9+/]+=*$/.test(meta.dist.integrity))
|
|
112
|
+
throw new Error('Invalid published package integrity');
|
|
113
|
+
const archive = await boundedResponse(source, controller.signal, MAX_ARCHIVE);
|
|
114
|
+
const integrity = `sha512-${(0, node_crypto_1.createHash)('sha512').update(archive).digest('base64')}`;
|
|
115
|
+
if (integrity !== meta.dist.integrity)
|
|
116
|
+
throw new Error('Published package integrity mismatch');
|
|
117
|
+
return { version: meta.version, hashes: readReleasedSkillHashes(archive, meta.version, (0, environment_1.getEnvironment)() === 'staging' ? staging_content_1.stagingContent : undefined), source };
|
|
118
|
+
}
|
|
119
|
+
finally {
|
|
120
|
+
clearTimeout(timer);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
function compareReleaseVersion(running, released) {
|
|
124
|
+
if (running === released)
|
|
125
|
+
return 'current';
|
|
126
|
+
const parse = (version) => version.match(/^(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);
|
|
127
|
+
const a = parse(running), b = parse(released);
|
|
128
|
+
if (!a || !b)
|
|
129
|
+
return 'unreleased';
|
|
130
|
+
for (let i = 1; i <= 3; i++) {
|
|
131
|
+
if (Number(a[i]) !== Number(b[i]))
|
|
132
|
+
return Number(a[i]) < Number(b[i]) ? 'outdated' : 'unreleased';
|
|
133
|
+
}
|
|
134
|
+
if (!a[4] && b[4])
|
|
135
|
+
return 'unreleased';
|
|
136
|
+
if (a[4] && !b[4])
|
|
137
|
+
return 'outdated';
|
|
138
|
+
const preA = (a[4] || '').split('.'), preB = (b[4] || '').split('.');
|
|
139
|
+
for (let i = 0; i < Math.max(preA.length, preB.length); i++) {
|
|
140
|
+
if (preA[i] === preB[i])
|
|
141
|
+
continue;
|
|
142
|
+
if (preA[i] === undefined)
|
|
143
|
+
return 'outdated';
|
|
144
|
+
if (preB[i] === undefined)
|
|
145
|
+
return 'unreleased';
|
|
146
|
+
const numericA = /^\d+$/.test(preA[i]), numericB = /^\d+$/.test(preB[i]);
|
|
147
|
+
if (numericA && numericB)
|
|
148
|
+
return Number(preA[i]) < Number(preB[i]) ? 'outdated' : 'unreleased';
|
|
149
|
+
if (numericA !== numericB)
|
|
150
|
+
return numericA ? 'outdated' : 'unreleased';
|
|
151
|
+
return preA[i] < preB[i] ? 'outdated' : 'unreleased';
|
|
152
|
+
}
|
|
153
|
+
return 'current';
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=releases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"releases.js","sourceRoot":"","sources":["../../src/skills/releases.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/skills/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,4CAA4C;AAC5C,MAAM,MAAM,aAAa;AACvB,+DAA+D;AAC7D,OAAO;AACT,+EAA+E;GAC7E,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../src/skills/routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,4CAA4C;AAC5C,MAAM,MAAM,aAAa;AACvB,+DAA+D;AAC7D,OAAO;AACT,+EAA+E;GAC7E,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,8CAA8C;IAC9C,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,WAAW,EA2CtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,EAkBjD,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAK9C;AAED,mFAAmF;AACnF,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAInD;AAED,wEAAwE;AACxE,wBAAgB,gBAAgB,IAAI;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,WAAW,EAAE,CAAC;IAC7B,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CASA;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,IAAI,MAAM,CAI/C;AAED,oDAAoD;AACpD,wBAAgB,sBAAsB,IAAI,MAAM,CAI/C"}
|
package/dist/skills/routes.js
CHANGED
|
@@ -33,7 +33,7 @@ exports.DOMAIN_ROUTES = [
|
|
|
33
33
|
{
|
|
34
34
|
skill: 'goose-ads',
|
|
35
35
|
when: 'Remix/make an ad, research a brand for ads, OR analyze ad performance — Meta/Google ad campaigns, creative fatigue, CAC/lead quality, competitor ad intel, ad angles & hooks',
|
|
36
|
-
how: '
|
|
36
|
+
how: 'In a chat app, fetch it with `catalog_fetch { type: "skill", slug: "goose-ads" }`. In a terminal, use the installed entry skill; if it is missing, run `gooseworks install --claude`.',
|
|
37
37
|
delivery: 'entry',
|
|
38
38
|
},
|
|
39
39
|
{
|
|
@@ -44,26 +44,32 @@ exports.DOMAIN_ROUTES = [
|
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
skill: 'goose-video',
|
|
47
|
-
when: '
|
|
48
|
-
how: '
|
|
47
|
+
when: 'Make a **video** ad from a template or an original brief. Template-free briefs and Instagram/direct video references route to make-custom-video. An agent that can run shell commands on the customer\'s computer makes it there; otherwise the GooseWorks coworker makes it.',
|
|
48
|
+
how: 'For new work, fetch the current goose-video entry from the selected connection, then load the full brand before format suggestions. An installed entry is a bootstrap; keep approved project packages on resume.',
|
|
49
|
+
delivery: 'entry',
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
skill: 'make-custom-video',
|
|
53
|
+
when: 'Create an original branded video without a template, adapt an Instagram/direct video reference, or resume a generated custom project; separate script and ingredient approvals are required in the same chat',
|
|
54
|
+
how: 'Fetch the current make-custom-video entry and its production harness for new work, then read summary, kit, products and learnings before script writing. Read an existing project first and retain its approved package/context on resume.',
|
|
49
55
|
delivery: 'entry',
|
|
50
56
|
},
|
|
51
57
|
{
|
|
52
58
|
skill: 'goose-video-local',
|
|
53
59
|
when: 'Render an EXISTING app video project or batch on this machine — the app\'s "copy for Claude" command names it',
|
|
54
|
-
how: '
|
|
60
|
+
how: 'Read the existing project first. Use the current goose-video-local entry as the connection adapter, retain approved recipe packages/context and apply brand preparation before a new plan or script.',
|
|
55
61
|
delivery: 'entry',
|
|
56
62
|
},
|
|
57
63
|
{
|
|
58
64
|
skill: 'goose-product-photos',
|
|
59
65
|
when: 'Make **product photos** — studio, lifestyle, marketplace, social, or on-model product photography',
|
|
60
|
-
how: '
|
|
66
|
+
how: 'In a chat app, fetch it with `catalog_fetch { type: "skill", slug: "goose-product-photos" }`. In a terminal, use the installed entry skill; if it is missing, run `gooseworks install --claude`.',
|
|
61
67
|
delivery: 'entry',
|
|
62
68
|
},
|
|
63
69
|
{
|
|
64
70
|
skill: 'animate-image',
|
|
65
71
|
when: 'Animate an approved static ad or product image',
|
|
66
|
-
how: 'Fetch
|
|
72
|
+
how: 'Fetch it (`catalog_fetch { type: "skill", slug: "animate-image" }` in a chat app, `gooseworks fetch animate-image` in a terminal) and follow its GooseWorks MCP workflow.',
|
|
67
73
|
delivery: 'fetch',
|
|
68
74
|
},
|
|
69
75
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/skills/routes.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;GAkBG;;;
|
|
1
|
+
{"version":3,"file":"routes.js","sourceRoot":"","sources":["../../src/skills/routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staging-content.d.ts","sourceRoot":"","sources":["../../src/skills/staging-content.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAMtD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stagingContent = stagingContent;
|
|
4
|
+
/** Adapt bundled/recipe instructions without renaming canonical skill folders. */
|
|
5
|
+
function stagingContent(content) {
|
|
6
|
+
return content.replaceAll('https://api.gooseworks.ai', 'https://api.staging.gooseworks.ai')
|
|
7
|
+
.replaceAll('https://make.gooseworks.ai', 'https://ads-staging.gooseworks.ai')
|
|
8
|
+
.replaceAll('gooseworks@latest', 'gooseworks@next')
|
|
9
|
+
.replaceAll('mcp__gooseworks__', 'mcp__gooseworks-staging__')
|
|
10
|
+
+ '\n\n## Staging session\nUse only the gooseworks-staging MCP connection and staging catalog. Every GooseWorks CLI command in this session is pinned to staging. Never retry against production.\n';
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=staging-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"staging-content.js","sourceRoot":"","sources":["../../src/skills/staging-content.ts"],"names":[],"mappings":";;AACA,wCAMC;AAPD,kFAAkF;AAClF,SAAgB,cAAc,CAAC,OAAe;IAC5C,OAAO,OAAO,CAAC,UAAU,CAAC,2BAA2B,EAAE,mCAAmC,CAAC;SACxF,UAAU,CAAC,4BAA4B,EAAE,mCAAmC,CAAC;SAC7E,UAAU,CAAC,mBAAmB,EAAE,iBAAiB,CAAC;SAClD,UAAU,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;UAC3D,kMAAkM,CAAC;AACzM,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type BrowserProbeCode = 'ready' | 'invalid_script' | 'missing_module' | 'missing_browser' | 'launch_failed' | 'close_failed' | 'timeout' | 'probe_failed';
|
|
2
|
+
export interface BrowserPreflightResult {
|
|
3
|
+
ok: boolean;
|
|
4
|
+
code: BrowserProbeCode;
|
|
5
|
+
detail: string;
|
|
6
|
+
fix: string;
|
|
7
|
+
rendererScript?: string;
|
|
8
|
+
resolvedScript?: string;
|
|
9
|
+
modulePath?: string;
|
|
10
|
+
version?: string;
|
|
11
|
+
executablePath?: string;
|
|
12
|
+
cliPath?: string;
|
|
13
|
+
cleanup?: {
|
|
14
|
+
ok: boolean;
|
|
15
|
+
remainingPids: number[];
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Probe the package the script would require, using the caller's cwd and env.
|
|
20
|
+
* Without a script, this is only a general check rooted in the current folder.
|
|
21
|
+
* Browser startup creates normal temporary runtime files; no project output.
|
|
22
|
+
*/
|
|
23
|
+
export declare function checkBrowserPreflight(opts?: {
|
|
24
|
+
rendererScript?: string;
|
|
25
|
+
cwd?: string;
|
|
26
|
+
launchTimeoutMs?: number;
|
|
27
|
+
closeTimeoutMs?: number;
|
|
28
|
+
}): BrowserPreflightResult;
|
|
29
|
+
//# sourceMappingURL=browser-preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-preflight.d.ts","sourceRoot":"","sources":["../../src/utils/browser-preflight.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,iBAAiB,GAC5F,eAAe,GAAG,cAAc,GAAG,SAAS,GAAG,cAAc,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACpD;AA0PD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,GAAE;IAC1C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,sBAAsB,CA2C9B"}
|