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
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { type EntrySkill } from '../skills/master-skill';
|
|
3
|
+
import { type ReleasedSkills } from '../skills/releases';
|
|
4
|
+
export declare function entryFreshnessReport(skills: EntrySkill[], runningVersion: string, release?: ReleasedSkills): {
|
|
5
|
+
runningVersion: string;
|
|
6
|
+
releasedVersion: string | null;
|
|
7
|
+
cli: string;
|
|
8
|
+
releaseSource: string | null;
|
|
9
|
+
entries: {
|
|
10
|
+
name: string;
|
|
11
|
+
installedHash: string | null;
|
|
12
|
+
bundledHash: string;
|
|
13
|
+
releasedHash: string | null;
|
|
14
|
+
local: string;
|
|
15
|
+
published: string;
|
|
16
|
+
hosts: {
|
|
17
|
+
local: string;
|
|
18
|
+
published: string;
|
|
19
|
+
host: string;
|
|
20
|
+
path: string;
|
|
21
|
+
hash: string | null;
|
|
22
|
+
location: "managed_link" | "linked_elsewhere" | "independent" | "unreadable";
|
|
23
|
+
}[];
|
|
24
|
+
}[];
|
|
25
|
+
};
|
|
26
|
+
export declare function readEntryFreshnessReport(): Promise<{
|
|
27
|
+
runningVersion: string;
|
|
28
|
+
releasedVersion: string | null;
|
|
29
|
+
cli: string;
|
|
30
|
+
releaseSource: string | null;
|
|
31
|
+
entries: {
|
|
32
|
+
name: string;
|
|
33
|
+
installedHash: string | null;
|
|
34
|
+
bundledHash: string;
|
|
35
|
+
releasedHash: string | null;
|
|
36
|
+
local: string;
|
|
37
|
+
published: string;
|
|
38
|
+
hosts: {
|
|
39
|
+
local: string;
|
|
40
|
+
published: string;
|
|
41
|
+
host: string;
|
|
42
|
+
path: string;
|
|
43
|
+
hash: string | null;
|
|
44
|
+
location: "managed_link" | "linked_elsewhere" | "independent" | "unreadable";
|
|
45
|
+
}[];
|
|
46
|
+
}[];
|
|
47
|
+
}>;
|
|
48
|
+
export declare function reportEntrySkillFreshness(existing?: Awaited<ReturnType<typeof readEntryFreshnessReport>>): Promise<void>;
|
|
49
|
+
export declare const skillsCommand: Command;
|
|
50
|
+
//# sourceMappingURL=skills.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzE,OAAO,EAA8D,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAkCrH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;kBAxB/E,MAAM;kBAAQ,MAAM;kBAAQ,MAAM,GAAG,IAAI;sBAAY,cAAc,GAAG,kBAAkB,GAAG,aAAa,GAAG,YAAY;;;EAiDlJ;AAED,wBAAsB,wBAAwB;;;;;;;;;;;;;;;kBAnDlB,MAAM;kBAAQ,MAAM;kBAAQ,MAAM,GAAG,IAAI;sBAAY,cAAc,GAAG,kBAAkB,GAAG,aAAa,GAAG,YAAY;;;GAwDlJ;AAED,wBAAsB,yBAAyB,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB9H;AAED,eAAO,MAAM,aAAa,SAC8C,CAAC"}
|
|
@@ -0,0 +1,160 @@
|
|
|
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.skillsCommand = void 0;
|
|
37
|
+
exports.entryFreshnessReport = entryFreshnessReport;
|
|
38
|
+
exports.readEntryFreshnessReport = readEntryFreshnessReport;
|
|
39
|
+
exports.reportEntrySkillFreshness = reportEntrySkillFreshness;
|
|
40
|
+
const commander_1 = require("commander");
|
|
41
|
+
const master_skill_1 = require("../skills/master-skill");
|
|
42
|
+
const installer_1 = require("../skills/installer");
|
|
43
|
+
const releases_1 = require("../skills/releases");
|
|
44
|
+
const version_1 = require("../version");
|
|
45
|
+
const logger = __importStar(require("../utils/logger"));
|
|
46
|
+
const fs = __importStar(require("node:fs"));
|
|
47
|
+
const os = __importStar(require("os"));
|
|
48
|
+
const path = __importStar(require("node:path"));
|
|
49
|
+
const installer_2 = require("../skills/installer");
|
|
50
|
+
const environment_1 = require("../environment");
|
|
51
|
+
const staging_content_1 = require("../skills/staging-content");
|
|
52
|
+
/** A host can load a preserved real folder instead of our shared managed entry. */
|
|
53
|
+
function inspectHostEntries(name) {
|
|
54
|
+
if ((0, environment_1.getEnvironment)() === 'staging')
|
|
55
|
+
return [];
|
|
56
|
+
return ['codex', 'claude'].flatMap((host) => {
|
|
57
|
+
const dir = path.join(os.homedir(), `.${host}`, 'skills', name);
|
|
58
|
+
const file = path.join(dir, 'SKILL.md');
|
|
59
|
+
try {
|
|
60
|
+
if (!fs.lstatSync(dir, { throwIfNoEntry: false }))
|
|
61
|
+
return [];
|
|
62
|
+
if (!fs.statSync(file).isFile())
|
|
63
|
+
throw new Error('Not a skill file');
|
|
64
|
+
const isLink = fs.lstatSync(dir).isSymbolicLink();
|
|
65
|
+
let managed = false;
|
|
66
|
+
if (isLink) {
|
|
67
|
+
try {
|
|
68
|
+
managed = fs.realpathSync(dir) === fs.realpathSync(path.join((0, installer_2.getSkillsBasePath)(), name));
|
|
69
|
+
}
|
|
70
|
+
catch { /* A separate host link can exist without a shared install. */ }
|
|
71
|
+
}
|
|
72
|
+
return [{ host, path: file, hash: (0, releases_1.skillContentHash)(fs.readFileSync(file)), location: managed ? 'managed_link' : isLink ? 'linked_elsewhere' : 'independent' }];
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return [{ host, path: file, hash: null, location: 'unreadable' }];
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function entryFreshnessReport(skills, runningVersion, release) {
|
|
80
|
+
return {
|
|
81
|
+
runningVersion,
|
|
82
|
+
releasedVersion: release?.version ?? null,
|
|
83
|
+
cli: release ? (0, releases_1.compareReleaseVersion)(runningVersion, release.version) : 'unavailable',
|
|
84
|
+
releaseSource: release?.source ?? null,
|
|
85
|
+
entries: skills.map((skill) => {
|
|
86
|
+
const installed = (0, installer_1.inspectEntrySkill)(skill.name);
|
|
87
|
+
const bundledHash = (0, releases_1.skillContentHash)(skill.content);
|
|
88
|
+
const releasedHash = release?.hashes[skill.name] ?? null;
|
|
89
|
+
return {
|
|
90
|
+
name: skill.name,
|
|
91
|
+
installedHash: installed.hash ?? null,
|
|
92
|
+
bundledHash,
|
|
93
|
+
releasedHash,
|
|
94
|
+
local: installed.modified ? 'modified_or_untracked' : installed.missing ? 'missing' : installed.hash === bundledHash ? 'bundled' : 'different_from_bundle',
|
|
95
|
+
published: !release ? 'unavailable' : !releasedHash ? 'not_in_release' : installed.hash === releasedHash ? 'current' : installed.missing ? 'missing' : 'different_from_release',
|
|
96
|
+
hosts: inspectHostEntries(skill.name).map((host) => ({
|
|
97
|
+
...host,
|
|
98
|
+
local: host.hash === bundledHash ? 'bundled' : host.hash ? 'different_from_bundle' : 'unreadable',
|
|
99
|
+
published: !release ? 'unavailable' : !releasedHash ? 'not_in_release' : host.hash === releasedHash ? 'current' : 'different_from_release',
|
|
100
|
+
})),
|
|
101
|
+
};
|
|
102
|
+
}),
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
async function readEntryFreshnessReport() {
|
|
106
|
+
let release;
|
|
107
|
+
try {
|
|
108
|
+
release = await (0, releases_1.getReleasedSkills)();
|
|
109
|
+
}
|
|
110
|
+
catch { /* offline is unknown, never current */ }
|
|
111
|
+
const skills = (0, master_skill_1.getEntrySkills)().map(skill => (0, environment_1.getEnvironment)() === 'staging' ? { ...skill, content: (0, staging_content_1.stagingContent)(skill.content) } : skill);
|
|
112
|
+
return entryFreshnessReport(skills, (0, version_1.getVersion)(), release);
|
|
113
|
+
}
|
|
114
|
+
async function reportEntrySkillFreshness(existing) {
|
|
115
|
+
const report = existing ?? await readEntryFreshnessReport();
|
|
116
|
+
if (report.cli === 'unavailable')
|
|
117
|
+
logger.warn('Published skill freshness could not be checked. Local setup can continue; run `gooseworks skills status` when online.');
|
|
118
|
+
else if (report.cli === 'outdated')
|
|
119
|
+
logger.warn(`CLI ${report.runningVersion} is older than published ${report.releasedVersion}. Run npm install -g gooseworks@latest, then gooseworks update; this CLI can only install its bundled instructions.`);
|
|
120
|
+
else if (report.cli === 'current')
|
|
121
|
+
logger.success(`CLI ${report.runningVersion} matches the latest published version.`);
|
|
122
|
+
else if (report.cli === 'unreleased')
|
|
123
|
+
logger.info(`CLI ${report.runningVersion} differs from published ${report.releasedVersion}; this may be an unreleased build. Do not downgrade an approved run.`);
|
|
124
|
+
for (const entry of report.entries) {
|
|
125
|
+
if (entry.local === 'modified_or_untracked')
|
|
126
|
+
logger.warn(`${entry.name}: local edits or unknown install provenance; preserved. Review/back up before gooseworks update --overwrite-modified.`);
|
|
127
|
+
else if (entry.local === 'missing')
|
|
128
|
+
logger.info(`${entry.name}: not installed.`);
|
|
129
|
+
else if (entry.local === 'different_from_bundle')
|
|
130
|
+
logger.warn(`${entry.name}: installed instructions differ from this CLI. Run gooseworks update after checking the published CLI version.`);
|
|
131
|
+
else if (entry.published === 'different_from_release')
|
|
132
|
+
logger.warn(`${entry.name}: installed instructions differ from the published package. Run gooseworks skills status --json to compare the release, bundle and local file.`);
|
|
133
|
+
for (const host of entry.hosts) {
|
|
134
|
+
if (host.location === 'managed_link')
|
|
135
|
+
continue;
|
|
136
|
+
if (host.local !== 'bundled' || host.published === 'different_from_release') {
|
|
137
|
+
logger.warn(`${entry.name}: ${host.host} loads a separate or unreadable copy at ${host.path}; preserved. Review/back up that host copy before replacing it. Shared entry updates do not replace independent host files.`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
if (report.entries.some((entry) => ['goose-video', 'goose-video-local', 'make-custom-video'].includes(entry.name)
|
|
142
|
+
&& (entry.local !== 'bundled' || entry.published === 'different_from_release'
|
|
143
|
+
|| entry.hosts.some((host) => host.local !== 'bundled' || host.published === 'different_from_release')))) {
|
|
144
|
+
logger.info('New video work can load the current matching entry with catalog_fetch on the selected GooseWorks connection. Save it in a new run folder; preserve edited local files and approved project packages.');
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.skillsCommand = new commander_1.Command('skills')
|
|
148
|
+
.description('Inspect installed entry skills without replacing files');
|
|
149
|
+
exports.skillsCommand.command('status')
|
|
150
|
+
.description('Compare local instructions and this CLI with the latest published npm package')
|
|
151
|
+
.option('--json', 'Print hashes and release provenance as JSON')
|
|
152
|
+
.action(async (options) => {
|
|
153
|
+
if (options.json)
|
|
154
|
+
console.log(JSON.stringify(await readEntryFreshnessReport(), null, 2));
|
|
155
|
+
else {
|
|
156
|
+
await reportEntrySkillFreshness();
|
|
157
|
+
logger.info('This check covers bundled entry skills. Saved recipe packages use their connected server catalog hashes; MCP tool schemas have a separate host cache. Approved runs keep their pinned package.');
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
//# sourceMappingURL=skills.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/styles.js
CHANGED
|
@@ -106,7 +106,7 @@ const publishCmd = new commander_1.Command('publish')
|
|
|
106
106
|
await (0, publish_flow_1.runPublishFlow)({
|
|
107
107
|
manifestFilename: graphics_manifest_1.STYLE_MANIFEST_FILENAME,
|
|
108
108
|
validate: graphics_manifest_1.validateStyleManifest,
|
|
109
|
-
hubUrl: (slug) => `${config_1.HUB_URL}/styles/${slug}
|
|
109
|
+
hubUrl: (slug) => config_1.HUB_URL ? `${config_1.HUB_URL}/styles/${slug}` : '',
|
|
110
110
|
searchHint: (slug) => `gooseworks styles search ${slug}`,
|
|
111
111
|
label: 'style',
|
|
112
112
|
upload: (manifest, files) => (0, graphics_api_1.publishStyle)(auth, manifest, files),
|
|
@@ -121,7 +121,7 @@ const updateCmd = new commander_1.Command('update')
|
|
|
121
121
|
await (0, publish_flow_1.runUpdateFlow)({
|
|
122
122
|
manifestFilename: graphics_manifest_1.STYLE_MANIFEST_FILENAME,
|
|
123
123
|
validate: graphics_manifest_1.validateStyleManifest,
|
|
124
|
-
hubUrl: (s) => `${config_1.HUB_URL}/styles/${s}
|
|
124
|
+
hubUrl: (s) => config_1.HUB_URL ? `${config_1.HUB_URL}/styles/${s}` : '',
|
|
125
125
|
searchHint: (s) => `gooseworks styles search ${s}`,
|
|
126
126
|
label: 'style',
|
|
127
127
|
upload: (manifest, files) => (0, graphics_api_1.updateStyle)(auth, slug, manifest, files),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/commands/styles.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/commands/styles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
import { type McpToolResult } from '../lib/mcp-client';
|
|
3
|
+
/** `mcp__gooseworks__account_whoami` → `account_whoami` (the name a coding agent shows). */
|
|
4
|
+
export declare function normalizeToolName(raw: string): string;
|
|
5
|
+
/** The call's arguments: inline JSON, `-` for stdin, or `--file`; `{}` when none. */
|
|
6
|
+
export declare function readToolArgs(inline: string | undefined, file: string | undefined, stdin?: () => string): Record<string, unknown>;
|
|
7
|
+
/**
|
|
8
|
+
* What the agent reads. A JSON text block is the server's model view of the
|
|
9
|
+
* result, so it is printed (pretty) and is enough. When the text is only a
|
|
10
|
+
* sentence, the fields an agent acts on (`next_step`, ids, statuses) are in
|
|
11
|
+
* `structuredContent.result`, so that is printed after it as "Data:".
|
|
12
|
+
* Images and resources are described, never dumped.
|
|
13
|
+
*/
|
|
14
|
+
export declare function formatToolResult(result: McpToolResult): string;
|
|
15
|
+
export declare function createToolCommand(): Command;
|
|
16
|
+
export declare const toolCommand: Command;
|
|
17
|
+
//# sourceMappingURL=tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/commands/tool.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAsE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAsB3H,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED,qFAAqF;AACrF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,GAAE,MAAM,MAA0C,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAcnK;AASD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CA8B9D;AA2BD,wBAAgB,iBAAiB,IAAI,OAAO,CAyF3C;AAED,eAAO,MAAM,WAAW,SAAsB,CAAC"}
|
|
@@ -0,0 +1,239 @@
|
|
|
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.toolCommand = void 0;
|
|
37
|
+
exports.normalizeToolName = normalizeToolName;
|
|
38
|
+
exports.readToolArgs = readToolArgs;
|
|
39
|
+
exports.formatToolResult = formatToolResult;
|
|
40
|
+
exports.createToolCommand = createToolCommand;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const commander_1 = require("commander");
|
|
43
|
+
const credentials_1 = require("../auth/credentials");
|
|
44
|
+
const mcp_client_1 = require("../lib/mcp-client");
|
|
45
|
+
const version_1 = require("../version");
|
|
46
|
+
const logger = __importStar(require("../utils/logger"));
|
|
47
|
+
/** `mcp__gooseworks__account_whoami` → `account_whoami` (the name a coding agent shows). */
|
|
48
|
+
function normalizeToolName(raw) {
|
|
49
|
+
const prefixed = /^mcp__[^_]+(?:_[^_]+)*?__(.+)$/.exec(raw.trim());
|
|
50
|
+
return (prefixed ? prefixed[1] : raw).trim();
|
|
51
|
+
}
|
|
52
|
+
/** The call's arguments: inline JSON, `-` for stdin, or `--file`; `{}` when none. */
|
|
53
|
+
function readToolArgs(inline, file, stdin = () => fs.readFileSync(0, 'utf-8')) {
|
|
54
|
+
if (inline !== undefined && file !== undefined)
|
|
55
|
+
throw new Error('Pass the arguments inline or with --file, not both.');
|
|
56
|
+
const raw = file !== undefined ? fs.readFileSync(file, 'utf-8') : inline === '-' ? stdin() : inline;
|
|
57
|
+
if (raw === undefined || !raw.trim())
|
|
58
|
+
return {};
|
|
59
|
+
let parsed;
|
|
60
|
+
try {
|
|
61
|
+
parsed = JSON.parse(raw);
|
|
62
|
+
}
|
|
63
|
+
catch (err) {
|
|
64
|
+
throw new Error(`Tool arguments must be a JSON object: ${err.message}`);
|
|
65
|
+
}
|
|
66
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
67
|
+
throw new Error('Tool arguments must be a JSON object, for example \'{"brand_id":"…"}\'.');
|
|
68
|
+
}
|
|
69
|
+
return parsed;
|
|
70
|
+
}
|
|
71
|
+
function firstSentence(text) {
|
|
72
|
+
if (!text)
|
|
73
|
+
return '';
|
|
74
|
+
const line = text.trim().split(/\r?\n/)[0];
|
|
75
|
+
const match = /^(.{1,200}?[.!?])(\s|$)/.exec(line);
|
|
76
|
+
return (match ? match[1] : line.slice(0, 200)).trim();
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* What the agent reads. A JSON text block is the server's model view of the
|
|
80
|
+
* result, so it is printed (pretty) and is enough. When the text is only a
|
|
81
|
+
* sentence, the fields an agent acts on (`next_step`, ids, statuses) are in
|
|
82
|
+
* `structuredContent.result`, so that is printed after it as "Data:".
|
|
83
|
+
* Images and resources are described, never dumped.
|
|
84
|
+
*/
|
|
85
|
+
function formatToolResult(result) {
|
|
86
|
+
const blocks = Array.isArray(result.content) ? result.content : [];
|
|
87
|
+
const parts = [];
|
|
88
|
+
let sawJsonText = false;
|
|
89
|
+
for (const block of blocks) {
|
|
90
|
+
if (block.type === 'text' && typeof block.text === 'string') {
|
|
91
|
+
try {
|
|
92
|
+
parts.push(JSON.stringify(JSON.parse(block.text), null, 2));
|
|
93
|
+
sawJsonText = true;
|
|
94
|
+
}
|
|
95
|
+
catch {
|
|
96
|
+
parts.push(block.text);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
else if (block.type === 'image') {
|
|
100
|
+
parts.push(`[image${block.mimeType ? ` ${block.mimeType}` : ''}]`);
|
|
101
|
+
}
|
|
102
|
+
else if (block.type === 'resource' || block.type === 'resource_link') {
|
|
103
|
+
const uri = block.uri ?? block.resource?.uri;
|
|
104
|
+
parts.push(`[resource${uri ? ` ${uri}` : ''}]`);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
parts.push(`[${block.type}]`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
const structured = result.structuredContent;
|
|
111
|
+
if (!sawJsonText && structured !== undefined && structured !== null) {
|
|
112
|
+
// The server wraps the data as { result }; print just the data then.
|
|
113
|
+
const keys = typeof structured === 'object' && !Array.isArray(structured) ? Object.keys(structured) : [];
|
|
114
|
+
const data = keys.length === 1 && keys[0] === 'result' ? structured.result : structured;
|
|
115
|
+
const json = JSON.stringify(data, null, 2);
|
|
116
|
+
parts.push(parts.length ? `\nData:\n${json}` : json);
|
|
117
|
+
}
|
|
118
|
+
return parts.join('\n');
|
|
119
|
+
}
|
|
120
|
+
function suggest(name, tools) {
|
|
121
|
+
const close = tools
|
|
122
|
+
.map((t) => t.name)
|
|
123
|
+
.filter((n) => n.includes(name) || name.includes(n) || n.split('_')[0] === name.split('_')[0])
|
|
124
|
+
.slice(0, 5);
|
|
125
|
+
return close.length ? ` Did you mean: ${close.join(', ')}?` : ' Run `npx gooseworks tool --list` to see them.';
|
|
126
|
+
}
|
|
127
|
+
async function withConnection(timeoutSeconds, work) {
|
|
128
|
+
const creds = (0, credentials_1.getCredentials)();
|
|
129
|
+
if (!creds)
|
|
130
|
+
throw new mcp_client_1.McpError('Not logged in. ' + mcp_client_1.LOGIN_HINT);
|
|
131
|
+
const seconds = timeoutSeconds === undefined ? undefined : Number(timeoutSeconds);
|
|
132
|
+
if (seconds !== undefined && (!Number.isFinite(seconds) || seconds <= 0))
|
|
133
|
+
throw new Error('--timeout must be a number of seconds.');
|
|
134
|
+
const mcp = await (0, mcp_client_1.connectMcp)(creds, {
|
|
135
|
+
clientName: 'gooseworks-cli-tool',
|
|
136
|
+
version: (0, version_1.getVersion)(),
|
|
137
|
+
...(seconds ? { timeoutMs: seconds * 1000 } : {}),
|
|
138
|
+
});
|
|
139
|
+
try {
|
|
140
|
+
return await work(mcp);
|
|
141
|
+
}
|
|
142
|
+
finally {
|
|
143
|
+
await mcp.close();
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
function createToolCommand() {
|
|
147
|
+
return new commander_1.Command('tool')
|
|
148
|
+
.description('Call a GooseWorks tool (the same tools as the GooseWorks MCP connector) with your saved sign-in')
|
|
149
|
+
.argument('[name]', 'Tool name, e.g. account_whoami or brand_onboarding')
|
|
150
|
+
.argument('[args]', 'Arguments as a JSON object, or - to read them from stdin')
|
|
151
|
+
.option('--list', 'List the tools, with the server\'s rules for using them')
|
|
152
|
+
.option('--schema', 'Show the tool\'s description and input schema instead of calling it')
|
|
153
|
+
.option('--file <path>', 'Read the arguments (a JSON object) from a file')
|
|
154
|
+
.option('--json', 'Print the raw result (or list) as JSON')
|
|
155
|
+
.option('--timeout <seconds>', 'Give up waiting after this many seconds (default 300)')
|
|
156
|
+
.addHelpText('after', `
|
|
157
|
+
Examples:
|
|
158
|
+
$ gooseworks tool --list
|
|
159
|
+
$ gooseworks tool brand_onboarding --schema
|
|
160
|
+
$ gooseworks tool account_whoami
|
|
161
|
+
$ gooseworks tool brand_onboarding '{"action":"status"}'
|
|
162
|
+
|
|
163
|
+
Use this when GooseWorks tools are not connected to your agent (for example
|
|
164
|
+
a cloud sandbox). The server's rules still apply: paid work needs the user's
|
|
165
|
+
yes first.`)
|
|
166
|
+
.action(async (rawName, rawArgs, opts) => {
|
|
167
|
+
try {
|
|
168
|
+
if (opts.list) {
|
|
169
|
+
await withConnection(opts.timeout, async (mcp) => {
|
|
170
|
+
const tools = await mcp.listTools();
|
|
171
|
+
if (opts.json) {
|
|
172
|
+
console.log(JSON.stringify({ instructions: mcp.instructions, tools }, null, 2));
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (mcp.instructions) {
|
|
176
|
+
console.log('Rules from GooseWorks for using these tools:\n');
|
|
177
|
+
console.log(mcp.instructions);
|
|
178
|
+
console.log('');
|
|
179
|
+
}
|
|
180
|
+
console.log(`${tools.length} tools. Call one with: npx gooseworks tool <name> '<json arguments>'\n`);
|
|
181
|
+
for (const tool of [...tools].sort((a, b) => a.name.localeCompare(b.name))) {
|
|
182
|
+
const summary = firstSentence(tool.description);
|
|
183
|
+
console.log(summary ? `${tool.name} — ${summary}` : tool.name);
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
if (!rawName) {
|
|
189
|
+
logger.error('Name a tool, or run `npx gooseworks tool --list`.');
|
|
190
|
+
process.exit(1);
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
const name = normalizeToolName(rawName);
|
|
194
|
+
if (opts.schema) {
|
|
195
|
+
await withConnection(opts.timeout, async (mcp) => {
|
|
196
|
+
const tool = (await mcp.listTools()).find((t) => t.name === name);
|
|
197
|
+
if (!tool)
|
|
198
|
+
throw new mcp_client_1.McpError(`There is no GooseWorks tool named ${name}.`);
|
|
199
|
+
if (opts.json) {
|
|
200
|
+
console.log(JSON.stringify(tool, null, 2));
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
console.log(`${tool.name}\n`);
|
|
204
|
+
if (tool.description)
|
|
205
|
+
console.log(`${tool.description.trim()}\n`);
|
|
206
|
+
console.log('Input schema:');
|
|
207
|
+
console.log(JSON.stringify(tool.inputSchema ?? {}, null, 2));
|
|
208
|
+
});
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
const args = readToolArgs(rawArgs, opts.file);
|
|
212
|
+
let failed = false;
|
|
213
|
+
await withConnection(opts.timeout, async (mcp) => {
|
|
214
|
+
let result;
|
|
215
|
+
try {
|
|
216
|
+
result = await mcp.callTool(name, args);
|
|
217
|
+
}
|
|
218
|
+
catch (err) {
|
|
219
|
+
// An unknown tool comes back as a JSON-RPC error; name the close ones.
|
|
220
|
+
if (err instanceof mcp_client_1.McpError && /not found|unknown tool/i.test(err.message)) {
|
|
221
|
+
const tools = await mcp.listTools().catch(() => []);
|
|
222
|
+
throw new mcp_client_1.McpError(`There is no GooseWorks tool named ${name}.${suggest(name, tools)}`);
|
|
223
|
+
}
|
|
224
|
+
throw err;
|
|
225
|
+
}
|
|
226
|
+
console.log(opts.json ? JSON.stringify(result, null, 2) : formatToolResult(result));
|
|
227
|
+
failed = result.isError === true;
|
|
228
|
+
});
|
|
229
|
+
if (failed)
|
|
230
|
+
process.exit(1);
|
|
231
|
+
}
|
|
232
|
+
catch (err) {
|
|
233
|
+
logger.error(err instanceof Error ? err.message : String(err));
|
|
234
|
+
process.exit(1);
|
|
235
|
+
}
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
exports.toolCommand = createToolCommand();
|
|
239
|
+
//# sourceMappingURL=tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/commands/tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/commands/update.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC,eAAO,MAAM,aAAa,SA2EtB,CAAC"}
|
package/dist/commands/update.js
CHANGED
|
@@ -44,18 +44,49 @@ const cursor_1 = require("../agents/cursor");
|
|
|
44
44
|
const detect_1 = require("../agents/detect");
|
|
45
45
|
const master_skill_1 = require("../skills/master-skill");
|
|
46
46
|
const logger = __importStar(require("../utils/logger"));
|
|
47
|
+
const skills_1 = require("./skills");
|
|
48
|
+
const environment_1 = require("../environment");
|
|
49
|
+
const staging_1 = require("../agents/staging");
|
|
47
50
|
exports.updateCommand = new commander_1.Command('update')
|
|
48
|
-
.description('
|
|
49
|
-
.
|
|
51
|
+
.description('Refresh entry skills from this installed CLI; preserve edited files and saved recipes')
|
|
52
|
+
.option('--overwrite-modified', 'Replace edited or untracked managed entry files after you back them up')
|
|
53
|
+
.option('--project <folder>', 'Required for the staging installation to refresh')
|
|
54
|
+
.action(async (opts) => {
|
|
55
|
+
if ((0, environment_1.getEnvironment)() === 'staging') {
|
|
56
|
+
if (!opts.project)
|
|
57
|
+
throw new Error('Staging update requires --project <folder>');
|
|
58
|
+
const { projectProfile } = await Promise.resolve().then(() => __importStar(require('../agents/staging')));
|
|
59
|
+
const fs = await Promise.resolve().then(() => __importStar(require('node:fs')));
|
|
60
|
+
const manifest = JSON.parse(fs.readFileSync(projectProfile(opts.project).manifest, 'utf8'));
|
|
61
|
+
for (const agent of manifest.agents)
|
|
62
|
+
(0, staging_1.stagingLaunch)(opts.project, agent);
|
|
63
|
+
const results = (0, installer_1.installManagedEntrySkills)((0, master_skill_1.getEntrySkills)().map(skill => ({ ...skill, content: (0, staging_1.stagingContent)(skill.content) })), { overwriteModified: opts.overwriteModified });
|
|
64
|
+
if (results.some(result => result.action === 'preserved'))
|
|
65
|
+
throw new Error('Review/back up edited staging entry files before --overwrite-modified');
|
|
66
|
+
(0, staging_1.installStagingProject)(opts.project, manifest.agents);
|
|
67
|
+
logger.done('Staging updated. Close the previous staging session and launch a fresh one.');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
if (opts.project)
|
|
71
|
+
throw new Error('This is a staging project install. Pass --env staging update --project <folder>.');
|
|
50
72
|
const creds = (0, credentials_1.getCredentials)();
|
|
51
73
|
if (!creds) {
|
|
52
74
|
logger.error('Not logged in. Run "gooseworks login" first.');
|
|
53
75
|
process.exit(1);
|
|
54
76
|
}
|
|
77
|
+
const freshness = await (0, skills_1.readEntryFreshnessReport)();
|
|
78
|
+
await (0, skills_1.reportEntrySkillFreshness)(freshness);
|
|
79
|
+
if (freshness.cli === 'outdated') {
|
|
80
|
+
logger.error('Entry refresh refused: upgrade this CLI before installing its bundled instructions. No skill files were changed.');
|
|
81
|
+
process.exit(1);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
55
84
|
logger.step(1, 2, 'Updating skills...');
|
|
56
|
-
(0, installer_1.
|
|
57
|
-
|
|
58
|
-
|
|
85
|
+
for (const r of (0, installer_1.installManagedEntrySkills)((0, master_skill_1.getEntrySkills)(), { overwriteModified: opts.overwriteModified })) {
|
|
86
|
+
if (r.action === 'preserved')
|
|
87
|
+
logger.warn(`Preserved edited or untracked ${r.name}; review/back up before --overwrite-modified.`);
|
|
88
|
+
else
|
|
89
|
+
logger.success(`${r.action === 'installed' ? 'Updated' : 'Kept'} ${r.name} skill`);
|
|
59
90
|
}
|
|
60
91
|
logger.step(2, 2, 'Reconfiguring agents...');
|
|
61
92
|
if ((0, detect_1.isAgentInstalled)('claude')) {
|
|
@@ -90,6 +121,6 @@ exports.updateCommand = new commander_1.Command('update')
|
|
|
90
121
|
logger.info('Cursor installed but MCP was not previously configured — skipped');
|
|
91
122
|
}
|
|
92
123
|
}
|
|
93
|
-
logger.done('
|
|
124
|
+
logger.done('Bundled entry refresh complete. Standalone recipes and project-pinned packages were preserved.');
|
|
94
125
|
});
|
|
95
126
|
//# sourceMappingURL=update.js.map
|