@jovie/cli 26.9.15 → 26.9.16
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 +20 -3
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +28 -3
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +17 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +40 -16
- package/dist/client.js.map +1 -1
- package/dist/commands.d.ts +12 -0
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +43 -1
- package/dist/commands.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +15 -1
- package/dist/mcp.js.map +1 -1
- package/dist/skill.d.ts +1 -1
- package/dist/skill.d.ts.map +1 -1
- package/dist/skill.js +14 -1
- package/dist/skill.js.map +1 -1
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -28,6 +28,7 @@ automated install. A repository build is not proof that npm has the package.
|
|
|
28
28
|
| `artist llms <username>` | `GET /{username}/llms.txt` |
|
|
29
29
|
| `api openapi` | `GET /api/v1/openapi.json` |
|
|
30
30
|
| `docs llms` | `GET /llms.txt` (`--full` for `/llms-full.txt`) |
|
|
31
|
+
| `report bug\|feedback --title <text> --details <text>` | `POST /api/agents/feedback`; returns `reportId` |
|
|
31
32
|
| `mcp` | Serve the commands above as MCP tools over stdio |
|
|
32
33
|
| `init` | Install `jovie/SKILL.md` into each installed agent (Claude, Codex, OpenClaw, Hermes) |
|
|
33
34
|
| `skill` | Print the skill |
|
|
@@ -54,7 +55,7 @@ query parameters.
|
|
|
54
55
|
```
|
|
55
56
|
|
|
56
57
|
Tools: `create_profile`, `get_artist`, `get_artist_guide`, `get_openapi`,
|
|
57
|
-
`get_docs`. `server.json` describes the package for the MCP registry.
|
|
58
|
+
`get_docs`, `report_issue`, `report_feedback`. `server.json` describes the package for the MCP registry.
|
|
58
59
|
|
|
59
60
|
## JavaScript client
|
|
60
61
|
|
|
@@ -68,12 +69,28 @@ const artist = await fetchArtist('artist-username');
|
|
|
68
69
|
## Boundary
|
|
69
70
|
|
|
70
71
|
The CLI sends no credentials, caches nothing, and sends no telemetry beyond a
|
|
71
|
-
`jovie-cli/<version>` User-Agent. `profile create`
|
|
72
|
+
`jovie-cli/<version>` User-Agent. `profile create` and `report` are its only writes. Reports carry only the CLI
|
|
73
|
+
version, platform, runtime, and the fields you pass. `init`
|
|
72
74
|
writes only `jovie/SKILL.md` into existing agent skill directories, or into
|
|
73
|
-
`--dir`. Commands use Node
|
|
75
|
+
`--dir`. Commands use Node 24 built-ins (`parseArgs`, `fetch`, `readline`) and
|
|
74
76
|
have no runtime dependencies. The MCP server covers tools only; adopt the
|
|
75
77
|
official SDK when resources, prompts, or HTTP transport are needed.
|
|
76
78
|
|
|
79
|
+
The repo already supplies Node 24's `node:util.parseArgs`, built-in `fetch`,
|
|
80
|
+
`AbortSignal.timeout`, TypeScript, Vitest, and Biome. The existing
|
|
81
|
+
`packages/action-contracts/bindings/cli.md` is only a future contract for
|
|
82
|
+
authenticated owner actions, outside this package's anonymous read-only scope.
|
|
83
|
+
|
|
84
|
+
We considered Commander/CAC (MIT, no runtime dependency), yargs (MIT but
|
|
85
|
+
larger), oclif (extensible but disproportionate), and Python Click/Typer or
|
|
86
|
+
Homebrew (a second runtime/distribution lane). None fits this fixed-command,
|
|
87
|
+
TypeScript-only surface as well as the native substrate.
|
|
88
|
+
|
|
89
|
+
Decision: build a dependency-free Node 24 client for Jovie's public GET
|
|
90
|
+
resources without credentials, writes, hidden state, or a new runtime.
|
|
91
|
+
Revisit only for a stable public capability index or extensible authenticated
|
|
92
|
+
owner commands; that requires new approval and security review.
|
|
93
|
+
|
|
77
94
|
Docs: [Jovie CLI](https://jov.ie/cli), [developer resources](https://jov.ie/developers).
|
|
78
95
|
|
|
79
96
|
## Release boundary
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAQA,OAAO,EAEL,KAAK,mBAAmB,EAIzB,MAAM,aAAa,CAAC;AAMrB,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AAEpD,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAiBnE;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,SAGX,GACA,MAAM,CAMR;AAID,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAQA,OAAO,EAEL,KAAK,mBAAmB,EAIzB,MAAM,aAAa,CAAC;AAMrB,eAAO,MAAM,oBAAoB,kBAAkB,CAAC;AAEpD,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAiBnE;AAED,wBAAgB,iBAAiB,CAC/B,YAAY,SAGX,GACA,MAAM,CAMR;AAID,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAkMD,wBAAsB,MAAM,CAC1B,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,YAAY,GAAE,eAAoB,GACjC,OAAO,CAAC,MAAM,CAAC,CAsEjB"}
|
package/dist/cli.js
CHANGED
|
@@ -45,6 +45,9 @@ function usage() {
|
|
|
45
45
|
const name = [
|
|
46
46
|
...command.path,
|
|
47
47
|
...(command.arg ? [`<${command.arg.name}>`] : []),
|
|
48
|
+
...(command.flags ?? [])
|
|
49
|
+
.filter(flag => flag.required)
|
|
50
|
+
.map(flag => `--${flag.name} <text>`),
|
|
48
51
|
].join(' ');
|
|
49
52
|
return ` ${name.padEnd(width)} ${command.summary}`;
|
|
50
53
|
});
|
|
@@ -103,6 +106,10 @@ function errorPayload(error) {
|
|
|
103
106
|
message: error instanceof Error ? error.message : String(error),
|
|
104
107
|
};
|
|
105
108
|
}
|
|
109
|
+
/** Command flags declared in the table (e.g. --title), parsed as strings. */
|
|
110
|
+
const COMMAND_FLAG_NAMES = [
|
|
111
|
+
...new Set(COMMANDS.flatMap(command => command.flags ?? []).map(f => f.name)),
|
|
112
|
+
];
|
|
106
113
|
function parseCliArgs(argv) {
|
|
107
114
|
const parsed = parseArgs({
|
|
108
115
|
args: [...argv],
|
|
@@ -113,6 +120,7 @@ function parseCliArgs(argv) {
|
|
|
113
120
|
help: { type: 'boolean', short: 'h' },
|
|
114
121
|
json: { type: 'boolean' },
|
|
115
122
|
version: { type: 'boolean', short: 'v' },
|
|
123
|
+
...Object.fromEntries(COMMAND_FLAG_NAMES.map(name => [name, { type: 'string' }])),
|
|
116
124
|
},
|
|
117
125
|
allowPositionals: true,
|
|
118
126
|
strict: true,
|
|
@@ -121,6 +129,7 @@ function parseCliArgs(argv) {
|
|
|
121
129
|
return {
|
|
122
130
|
values: {
|
|
123
131
|
baseUrl: values['base-url'],
|
|
132
|
+
flags: Object.fromEntries(COMMAND_FLAG_NAMES.filter(name => values[name] !== undefined).map(name => [name, String(values[name])])),
|
|
124
133
|
dir: values.dir,
|
|
125
134
|
full: values.full,
|
|
126
135
|
help: values.help,
|
|
@@ -139,14 +148,30 @@ async function execute(positionals, values, dependencies) {
|
|
|
139
148
|
return installSkill(dependencies.homeDir ?? homedir(), values.dir);
|
|
140
149
|
}
|
|
141
150
|
const command = findCommand(positionals);
|
|
142
|
-
|
|
143
|
-
|
|
151
|
+
if (!command) {
|
|
152
|
+
throw new UsageError(`Unknown command: ${positionals.join(' ')}`);
|
|
153
|
+
}
|
|
154
|
+
const expectedLength = command.arg ? 3 : 2;
|
|
155
|
+
if (command.arg && positionals.length < expectedLength) {
|
|
156
|
+
throw new UsageError(`Missing required argument <${command.arg.name}> for ${command.path.join(' ')}`);
|
|
157
|
+
}
|
|
158
|
+
if (positionals.length !== expectedLength) {
|
|
144
159
|
throw new UsageError(`Unknown command: ${positionals.join(' ')}`);
|
|
145
160
|
}
|
|
146
161
|
if (values.full && !command.acceptsFull) {
|
|
147
162
|
throw new UsageError('--full is only supported by docs llms');
|
|
148
163
|
}
|
|
149
|
-
|
|
164
|
+
const declared = new Set((command.flags ?? []).map(flag => flag.name));
|
|
165
|
+
const stray = Object.keys(values.flags).find(name => !declared.has(name));
|
|
166
|
+
if (stray) {
|
|
167
|
+
throw new UsageError(`--${stray} is not supported by ${command.path.join(' ')}`);
|
|
168
|
+
}
|
|
169
|
+
return command.run({
|
|
170
|
+
arg: positionals[2],
|
|
171
|
+
full: values.full === true,
|
|
172
|
+
flags: values.flags,
|
|
173
|
+
meta: { channel: 'cli', version: CLI_VERSION },
|
|
174
|
+
}, {
|
|
150
175
|
baseUrl,
|
|
151
176
|
fetchImpl: dependencies.fetchImpl,
|
|
152
177
|
userAgent: `jovie-cli/${CLI_VERSION}`,
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EACL,gBAAgB,EAEhB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEpD,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,IACE,MAAM,KAAK,IAAI;YACf,OAAO,MAAM,KAAK,QAAQ;YAC1B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EACtB,CAAC;YACD,MAAM,OAAO,GAAI,MAAyC,CAAC,OAAO,CAAC;YACnE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClD,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,mEAAmE;IACrE,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,YAAY,GAAG,OAAO,CACpB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EACvC,iBAAiB,CAClB;IAED,IAAI,CAAC;QACH,OAAO,sBAAsB,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAG,iBAAiB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
CHANGED
|
@@ -42,4 +42,21 @@ export declare function fetchArtistLlms(username: string, options?: ResourceOpti
|
|
|
42
42
|
* ownership. Anonymous and rate limited per IP.
|
|
43
43
|
*/
|
|
44
44
|
export declare function createProfile(spotifyArtistUrl: string, options?: ResourceOptions): Promise<unknown>;
|
|
45
|
+
export type ReportKind = 'bug' | 'feedback';
|
|
46
|
+
/** Safe execution context only; never env, credentials, or file contents. */
|
|
47
|
+
export interface ReportContext {
|
|
48
|
+
readonly cliVersion?: string;
|
|
49
|
+
readonly command?: string;
|
|
50
|
+
readonly apiCode?: string;
|
|
51
|
+
readonly scenario?: string;
|
|
52
|
+
readonly platform?: string;
|
|
53
|
+
readonly runtime?: string;
|
|
54
|
+
readonly channel?: 'cli' | 'mcp';
|
|
55
|
+
}
|
|
56
|
+
/** File a bug or feedback report. Returns `{ reportId }`. */
|
|
57
|
+
export declare function reportIssue(report: {
|
|
58
|
+
readonly kind: ReportKind;
|
|
59
|
+
readonly title: string;
|
|
60
|
+
readonly details: string;
|
|
61
|
+
}, context?: ReportContext, options?: ResourceOptions): Promise<unknown>;
|
|
45
62
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,mBAAmB,CAAC;AACjD,eAAO,MAAM,kBAAkB,QAAS,CAAC;AACzC,eAAO,MAAM,kBAAkB,cAAc,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG,CAChC,KAAK,EAAE,MAAM,GAAG,GAAG,EACnB,IAAI,CAAC,EAAE,WAAW,KACf,OAAO,CAAC,QAAQ,CAAC,CAAC;AAEvB,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;IACzC,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,IAAI,EAAG,eAAe,CAAU;gBAE7B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAKxC,QAAQ,CAAC,GAAG,EAAE,MAAM;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IACxB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM;IAT3B,QAAQ,CAAC,IAAI,EAAG,gBAAgB,CAAU;gBAGxC,OAAO,EAAE,MAAM,EACN,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,YAAY,CAAC,EAAE,MAAM,YAAA,EACrB,iBAAiB,CAAC,EAAE,MAAM,YAAA;IACnC,0EAA0E;IACjE,OAAO,CAAC,EAAE,MAAM,YAAA;CAK5B;AAMD,gFAAgF;AAChF,wBAAgB,gBAAgB,CAAC,OAAO,SAAmB,GAAG,MAAM,CAsBnE;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -88,22 +88,31 @@ async function request(pathname, accept, options, jsonBody) {
|
|
|
88
88
|
const url = resourceUrl(baseUrl, pathname);
|
|
89
89
|
const method = jsonBody === undefined ? 'GET' : 'POST';
|
|
90
90
|
let response;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
91
|
+
let lastError;
|
|
92
|
+
// One retry absorbs transient transport failures and cold-start timeouts;
|
|
93
|
+
// each attempt gets a fresh timeout signal. A caller abort never retries.
|
|
94
|
+
for (let attempt = 0; attempt < 2 && !options.signal?.aborted; attempt++) {
|
|
95
|
+
try {
|
|
96
|
+
response = await getFetch(options)(url, {
|
|
97
|
+
method,
|
|
98
|
+
headers: {
|
|
99
|
+
Accept: accept,
|
|
100
|
+
'User-Agent': options.userAgent ?? DEFAULT_USER_AGENT,
|
|
101
|
+
...(jsonBody === undefined
|
|
102
|
+
? {}
|
|
103
|
+
: { 'Content-Type': 'application/json' }),
|
|
104
|
+
},
|
|
105
|
+
...(jsonBody === undefined ? {} : { body: JSON.stringify(jsonBody) }),
|
|
106
|
+
signal: requestSignal(options),
|
|
107
|
+
});
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
catch (error) {
|
|
111
|
+
lastError = error;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (!response) {
|
|
115
|
+
throw new JovieRequestError(`${method} ${url} failed: ${errorMessage(lastError)}`, url);
|
|
107
116
|
}
|
|
108
117
|
const body = await response.text();
|
|
109
118
|
if (!response.ok) {
|
|
@@ -171,4 +180,19 @@ export function createProfile(spotifyArtistUrl, options = {}) {
|
|
|
171
180
|
}
|
|
172
181
|
return requestJson('/api/agents/profiles', options, { url: url.toString() });
|
|
173
182
|
}
|
|
183
|
+
/** File a bug or feedback report. Returns `{ reportId }`. */
|
|
184
|
+
export function reportIssue(report, context = {}, options = {}) {
|
|
185
|
+
const title = report.title.trim();
|
|
186
|
+
const details = report.details.trim();
|
|
187
|
+
if (!title || !details) {
|
|
188
|
+
throw new JovieInputError('A report needs both a title and details.');
|
|
189
|
+
}
|
|
190
|
+
const safeContext = Object.fromEntries(Object.entries(context).filter(([, value]) => value));
|
|
191
|
+
return requestJson('/api/agents/feedback', options, {
|
|
192
|
+
kind: report.kind,
|
|
193
|
+
title,
|
|
194
|
+
details,
|
|
195
|
+
context: safeContext,
|
|
196
|
+
});
|
|
197
|
+
}
|
|
174
198
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AACjD,MAAM,CAAC,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACzC,MAAM,CAAC,MAAM,kBAAkB,GAAG,WAAW,CAAC;AAe9C,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAC/B,IAAI,GAAG,eAAwB,CAAC;IAEzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAK/B;IACA;IACA;IACA;IAEA;IATF,IAAI,GAAG,gBAAyB,CAAC;IAE1C,YACE,OAAe,EACN,GAAW,EACX,MAAe,EACf,YAAqB,EACrB,iBAA0B;IACnC,0EAA0E;IACjE,OAAgB;QAEzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAPN,QAAG,GAAH,GAAG,CAAQ;QACX,WAAM,GAAN,MAAM,CAAS;QACf,iBAAY,GAAZ,YAAY,CAAS;QACrB,sBAAiB,GAAjB,iBAAiB,CAAS;QAE1B,YAAO,GAAP,OAAO,CAAS;QAGzB,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAAG,gBAAgB;IACzD,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IACE,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC3C,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,QAAQ;QACZ,GAAG,CAAC,MAAM;QACV,GAAG,CAAC,IAAI;QACR,CAAC,GAAG,CAAC,QAAQ,KAAK,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,EAC7C,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,sFAAsF,CACvF,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC,MAAM,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,QAAgB;IACpD,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;AACvE,CAAC;AAED,SAAS,aAAa,CAAC,OAAwB;IAC7C,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CACvC,OAAO,CAAC,SAAS,IAAI,kBAAkB,CACxC,CAAC;IACF,OAAO,OAAO,CAAC,MAAM;QACnB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAClD,CAAC,CAAC,aAAa,CAAC;AACpB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAwB;IACxC,OAAO,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,sBAAsB,CAC7B,KAAoB,EACpB,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE;IAElB,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAE7B,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,SAAS,CAAC;IAClD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoC,CAAC,KAAK;YACrE,EAAE,IAAI,CAAC;QACT,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,OAAO,CACpB,QAAgB,EAChB,MAAc,EACd,OAAwB,EACxB,QAAkB;IAElB,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACvD,IAAI,QAA8B,CAAC;IACnC,IAAI,SAAkB,CAAC;IAEvB,0EAA0E;IAC1E,0EAA0E;IAC1E,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC;QACzE,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE;gBACtC,MAAM;gBACN,OAAO,EAAE;oBACP,MAAM,EAAE,MAAM;oBACd,YAAY,EAAE,OAAO,CAAC,SAAS,IAAI,kBAAkB;oBACrD,GAAG,CAAC,QAAQ,KAAK,SAAS;wBACxB,CAAC,CAAC,EAAE;wBACJ,CAAC,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC;iBAC5C;gBACD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrE,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC;aAC/B,CAAC,CAAC;YACH,MAAM;QACR,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,SAAS,GAAG,KAAK,CAAC;QACpB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,iBAAiB,CACzB,GAAG,MAAM,IAAI,GAAG,YAAY,YAAY,CAAC,SAAS,CAAC,EAAE,EACrD,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,iBAAiB,CACzB,GAAG,MAAM,IAAI,GAAG,kBAAkB,QAAQ,CAAC,MAAM,EAAE,EACnD,GAAG,EACH,QAAQ,CAAC,MAAM,EACf,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EACpB,sBAAsB,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,EAC3D,YAAY,CAAC,IAAI,CAAC,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,QAAgB,EAChB,OAAwB,EACxB,QAAkB;IAElB,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,OAAO,CACjC,QAAQ,EACR,kBAAkB,EAClB,OAAO,EACP,QAAQ,CACT,CAAC;IACF,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,iBAAiB,CACzB,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,wBAAwB,EACzE,GAAG,EACH,SAAS,EACT,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CACrB,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,QAAgB,EAChB,OAAwB;IAExB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IACE,UAAU,CAAC,MAAM,GAAG,CAAC;QACrB,UAAU,CAAC,MAAM,GAAG,EAAE;QACtB,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EACrC,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,oGAAoG,CACrG,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CACzB,QAAgB,EAChB,UAA2B,EAAE;IAE7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,WAAW,CAAC,WAAW,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AAC3E,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,YAAY,CAAC,UAA2B,EAAE;IACxD,OAAO,WAAW,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,aAAa,CAC3B,IAAa,EACb,UAA2B,EAAE;IAE7B,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,UAA2B,EAAE;IAE7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,OAAO,WAAW,CAAC,IAAI,kBAAkB,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,gBAAwB,EACxB,UAA2B,EAAE;IAE7B,IAAI,GAAQ,CAAC;IACb,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CAAC,gBAAgB,gBAAgB,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,IACE,GAAG,CAAC,QAAQ,KAAK,QAAQ;QACzB,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzC,CAAC,8CAA8C,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAClE,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IACD,OAAO,WAAW,CAAC,sBAAsB,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC/E,CAAC;AAeD,6DAA6D;AAC7D,MAAM,UAAU,WAAW,CACzB,MAIC,EACD,UAAyB,EAAE,EAC3B,UAA2B,EAAE;IAE7B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CAAC,0CAA0C,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CACrD,CAAC;IACF,OAAO,WAAW,CAAC,sBAAsB,EAAE,OAAO,EAAE;QAClD,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK;QACL,OAAO;QACP,OAAO,EAAE,WAAW;KACrB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/commands.d.ts
CHANGED
|
@@ -2,6 +2,17 @@ import { type ResourceOptions } from './client.js';
|
|
|
2
2
|
export interface CommandInput {
|
|
3
3
|
readonly arg?: string;
|
|
4
4
|
readonly full?: boolean;
|
|
5
|
+
readonly flags?: Readonly<Record<string, string | undefined>>;
|
|
6
|
+
/** Set by the caller (CLI or MCP); attached to reports as safe context. */
|
|
7
|
+
readonly meta?: {
|
|
8
|
+
readonly channel: 'cli' | 'mcp';
|
|
9
|
+
readonly version: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export interface FlagSpec {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly description: string;
|
|
15
|
+
readonly required?: boolean;
|
|
5
16
|
}
|
|
6
17
|
/** One definition drives CLI dispatch, `--help`, and MCP tools. */
|
|
7
18
|
export interface CommandSpec {
|
|
@@ -13,6 +24,7 @@ export interface CommandSpec {
|
|
|
13
24
|
readonly description: string;
|
|
14
25
|
};
|
|
15
26
|
readonly acceptsFull?: boolean;
|
|
27
|
+
readonly flags?: readonly FlagSpec[];
|
|
16
28
|
readonly readOnly: boolean;
|
|
17
29
|
readonly run: (input: CommandInput, options: ResourceOptions) => Promise<unknown>;
|
|
18
30
|
}
|
package/dist/commands.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,eAAe,EAErB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC9D,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,GAAG,KAAK,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/E;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,CACZ,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,eAAe,KACrB,OAAO,CAAC,OAAO,CAAC,CAAC;CACvB;AAuCD,eAAO,MAAM,QAAQ,EAAE,SAAS,WAAW,EAiE1C,CAAC;AAEF,wBAAgB,WAAW,CACzB,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B,WAAW,GAAG,SAAS,CAKzB"}
|
package/dist/commands.js
CHANGED
|
@@ -1,7 +1,33 @@
|
|
|
1
|
-
import { createProfile, fetchArtist, fetchArtistLlms, fetchOpenApi, fetchSiteLlms, } from './client.js';
|
|
1
|
+
import { createProfile, fetchArtist, fetchArtistLlms, fetchOpenApi, fetchSiteLlms, reportIssue, } from './client.js';
|
|
2
2
|
function required(input) {
|
|
3
3
|
return input.arg ?? '';
|
|
4
4
|
}
|
|
5
|
+
const REPORT_FLAGS = [
|
|
6
|
+
{ name: 'title', description: 'One-line summary', required: true },
|
|
7
|
+
{
|
|
8
|
+
name: 'details',
|
|
9
|
+
description: 'What you tried, what happened, what you expected',
|
|
10
|
+
required: true,
|
|
11
|
+
},
|
|
12
|
+
{ name: 'command', description: 'Jovie command or tool that failed' },
|
|
13
|
+
{ name: 'code', description: 'apiCode/error code you received' },
|
|
14
|
+
{ name: 'scenario', description: 'Task or scenario you were attempting' },
|
|
15
|
+
];
|
|
16
|
+
function report(kind) {
|
|
17
|
+
return (input, options) => reportIssue({
|
|
18
|
+
kind,
|
|
19
|
+
title: input.flags?.title ?? '',
|
|
20
|
+
details: input.flags?.details ?? '',
|
|
21
|
+
}, {
|
|
22
|
+
command: input.flags?.command,
|
|
23
|
+
apiCode: input.flags?.code,
|
|
24
|
+
scenario: input.flags?.scenario,
|
|
25
|
+
channel: input.meta?.channel,
|
|
26
|
+
cliVersion: input.meta?.version,
|
|
27
|
+
platform: `${process.platform}-${process.arch}`,
|
|
28
|
+
runtime: `node ${process.versions.node}`,
|
|
29
|
+
}, options);
|
|
30
|
+
}
|
|
5
31
|
export const COMMANDS = [
|
|
6
32
|
{
|
|
7
33
|
path: ['profile', 'create'],
|
|
@@ -45,6 +71,22 @@ export const COMMANDS = [
|
|
|
45
71
|
readOnly: true,
|
|
46
72
|
run: (input, options) => fetchSiteLlms(input.full === true, options),
|
|
47
73
|
},
|
|
74
|
+
{
|
|
75
|
+
path: ['report', 'bug'],
|
|
76
|
+
tool: 'report_issue',
|
|
77
|
+
summary: 'Report a Jovie bug you hit (something failed or returned wrong data). Returns a reportId.',
|
|
78
|
+
flags: REPORT_FLAGS,
|
|
79
|
+
readOnly: false,
|
|
80
|
+
run: report('bug'),
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
path: ['report', 'feedback'],
|
|
84
|
+
tool: 'report_feedback',
|
|
85
|
+
summary: 'Send feedback on Jovie (confusing, missing, or slow). Returns a reportId.',
|
|
86
|
+
flags: REPORT_FLAGS,
|
|
87
|
+
readOnly: false,
|
|
88
|
+
run: report('feedback'),
|
|
89
|
+
},
|
|
48
90
|
];
|
|
49
91
|
export function findCommand(positionals) {
|
|
50
92
|
return COMMANDS.find(command => command.path[0] === positionals[0] && command.path[1] === positionals[1]);
|
package/dist/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,WAAW,EACX,eAAe,EACf,YAAY,EACZ,aAAa,
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../src/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAYvD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAExC,UAAU,cAAc;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAC1C;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAYvD,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAExC,UAAU,cAAc;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC;CAC1C;AA0GD,oFAAoF;AACpF,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAoCzC;AAED,oEAAoE;AACpE,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE;IAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EACzC,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAoBf"}
|
package/dist/mcp.js
CHANGED
|
@@ -19,13 +19,20 @@ function toolDefinition(command) {
|
|
|
19
19
|
if (command.acceptsFull) {
|
|
20
20
|
properties.full = { type: 'boolean', description: 'Fetch the full guide' };
|
|
21
21
|
}
|
|
22
|
+
for (const flag of command.flags ?? []) {
|
|
23
|
+
properties[flag.name] = { type: 'string', description: flag.description };
|
|
24
|
+
}
|
|
25
|
+
const required = [
|
|
26
|
+
...(command.arg ? [command.arg.name] : []),
|
|
27
|
+
...(command.flags ?? []).filter(flag => flag.required).map(f => f.name),
|
|
28
|
+
];
|
|
22
29
|
return {
|
|
23
30
|
name: command.tool,
|
|
24
31
|
description: command.summary,
|
|
25
32
|
inputSchema: {
|
|
26
33
|
type: 'object',
|
|
27
34
|
properties,
|
|
28
|
-
...(
|
|
35
|
+
...(required.length ? { required } : {}),
|
|
29
36
|
additionalProperties: false,
|
|
30
37
|
},
|
|
31
38
|
annotations: {
|
|
@@ -65,6 +72,13 @@ async function callTool(params, context) {
|
|
|
65
72
|
const result = await command.run({
|
|
66
73
|
arg: command.arg ? String(args[command.arg.name] ?? '') : undefined,
|
|
67
74
|
full: args.full === true,
|
|
75
|
+
flags: Object.fromEntries((command.flags ?? []).map(flag => [
|
|
76
|
+
flag.name,
|
|
77
|
+
typeof args[flag.name] === 'string'
|
|
78
|
+
? args[flag.name]
|
|
79
|
+
: undefined,
|
|
80
|
+
])),
|
|
81
|
+
meta: { channel: 'mcp', version: context.version },
|
|
68
82
|
}, {
|
|
69
83
|
baseUrl: context.baseUrl,
|
|
70
84
|
fetchImpl: context.fetchImpl,
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,EAAE,QAAQ,EAAoB,MAAM,eAAe,CAAC;AAE3D,2DAA2D;AAC3D,gFAAgF;AAChF,MAAM,2BAA2B,GAAG;IAClC,YAAY;IACZ,YAAY;IACZ,YAAY;IACZ,YAAY;CACb,CAAC;AAiBF,SAAS,cAAc,CAAC,OAAoB;IAC1C,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;YAC7B,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;SACrC,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,UAAU,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,sBAAsB,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU;YACV,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/skill.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/** The agent skill shipped by `jovie skill` and installed by `jovie init`. */
|
|
2
|
-
export declare const SKILL_MD = "---\nname: jovie\ndescription: Give a music artist a Jovie profile (link-in-bio page with their music, links, events, and merch) from their Spotify artist URL, and look up existing Jovie artist profiles. Use when a user or artist wants a link-in-bio / artist page / smart profile, or asks about an artist on Jovie.\n---\n\n# Jovie\n\nJovie builds a public artist profile (jov.ie/<username>) from a Spotify\nartist URL. No account or API key is needed to create one. The artist later\nclaims it by opening the claim URL and verifying ownership.\n\n## Create a profile for an artist\n\n```sh\nnpx -y @jovie/cli profile create https://open.spotify.com/artist/<id> --json\n```\n\nReturns:\n\n```json\n{\"username\":\"...\",\"profileUrl\":\"https://jov.ie/...\",\"claimUrl\":\"https://jov.ie/.../claim\",\"claimed\":false,\"public\":true,\"created\":true}\n```\n\n- Give the human the `profileUrl` to see the page and the `claimUrl` to\n take ownership. Opening the claim URL requires the artist to verify they\n own the Spotify artist, so share it with the artist only.\n- `created: false` means the profile already existed and was not changed.\n- `claimUrl: null` means the artist already owns the profile.\n- Only Spotify artist URLs work. Find one by searching Spotify for the artist.\n\n## Look up an artist\n\n```sh\nnpx -y @jovie/cli artist get <username> --json # structured profile\nnpx -y @jovie/cli artist llms <username> # markdown guide\n```\n\n## Errors\n\nWith `--json`, failures print `{\"error\":{\"code\":\"...\",\"message\":\"...\"}}`.\nExit codes: 0 ok, 1 request failed, 2 bad input. API failures carry a\nstable `apiCode`; branch on it, never on the message:\n`RATE_LIMITED` (wait `retryAfterSeconds`), `UNSUPPORTED_URL`,\n`ARTIST_NOT_FOUND`, `FEATURE_DISABLED`.\n\n## MCP\n\nThe same tools are available as an MCP server: `npx -y @jovie/cli mcp`\n(stdio). Tools: create_profile, get_artist, get_artist_guide, get_openapi,\nget_docs.\n";
|
|
2
|
+
export declare const SKILL_MD = "---\nname: jovie\ndescription: Give a music artist a Jovie profile (link-in-bio page with their music, links, events, and merch) from their Spotify artist URL, and look up existing Jovie artist profiles. Use when a user or artist wants a link-in-bio / artist page / smart profile, or asks about an artist on Jovie.\n---\n\n# Jovie\n\nJovie builds a public artist profile (jov.ie/<username>) from a Spotify\nartist URL. No account or API key is needed to create one. The artist later\nclaims it by opening the claim URL and verifying ownership.\n\n## Create a profile for an artist\n\n```sh\nnpx -y @jovie/cli profile create https://open.spotify.com/artist/<id> --json\n```\n\nReturns:\n\n```json\n{\"username\":\"...\",\"profileUrl\":\"https://jov.ie/...\",\"claimUrl\":\"https://jov.ie/.../claim\",\"claimed\":false,\"public\":true,\"created\":true}\n```\n\n- Give the human the `profileUrl` to see the page and the `claimUrl` to\n take ownership. Opening the claim URL requires the artist to verify they\n own the Spotify artist, so share it with the artist only.\n- `created: false` means the profile already existed and was not changed.\n- `claimUrl: null` means the artist already owns the profile.\n- Only Spotify artist URLs work. Find one by searching Spotify for the artist.\n\n## Look up an artist\n\n```sh\nnpx -y @jovie/cli artist get <username> --json # structured profile\nnpx -y @jovie/cli artist llms <username> # markdown guide\n```\n\n## Errors\n\nWith `--json`, failures print `{\"error\":{\"code\":\"...\",\"message\":\"...\"}}`.\nExit codes: 0 ok, 1 request failed, 2 bad input. API failures carry a\nstable `apiCode`; branch on it, never on the message:\n`RATE_LIMITED` (wait `retryAfterSeconds`), `UNSUPPORTED_URL`,\n`ARTIST_NOT_FOUND`, `FEATURE_DISABLED`.\n\n## Report problems\n\nIf Jovie fails, returns something wrong, or is confusing, report it. Reports\nare read and fixed, and it is the fastest way to make Jovie work better for you:\n\n```sh\nnpx -y @jovie/cli report bug --title \"<one line>\" --details \"<what you tried, what happened, what you expected>\" --code <apiCode> --json\nnpx -y @jovie/cli report feedback --title \"<one line>\" --details \"<what was confusing or missing>\" --json\n```\n\nReturns `{\"reportId\":\"...\"}`. Never include secrets, tokens, or private user data\nin a report. The CLI only attaches its version, platform, and runtime.\n\n## MCP\n\nThe same tools are available as an MCP server: `npx -y @jovie/cli mcp`\n(stdio). Tools: create_profile, get_artist, get_artist_guide, get_openapi,\nget_docs, report_issue, report_feedback.\n";
|
|
3
3
|
//# sourceMappingURL=skill.d.ts.map
|
package/dist/skill.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,eAAO,MAAM,QAAQ,ojFA+DpB,CAAC"}
|
package/dist/skill.js
CHANGED
|
@@ -44,10 +44,23 @@ stable \`apiCode\`; branch on it, never on the message:
|
|
|
44
44
|
\`RATE_LIMITED\` (wait \`retryAfterSeconds\`), \`UNSUPPORTED_URL\`,
|
|
45
45
|
\`ARTIST_NOT_FOUND\`, \`FEATURE_DISABLED\`.
|
|
46
46
|
|
|
47
|
+
## Report problems
|
|
48
|
+
|
|
49
|
+
If Jovie fails, returns something wrong, or is confusing, report it. Reports
|
|
50
|
+
are read and fixed, and it is the fastest way to make Jovie work better for you:
|
|
51
|
+
|
|
52
|
+
\`\`\`sh
|
|
53
|
+
npx -y @jovie/cli report bug --title "<one line>" --details "<what you tried, what happened, what you expected>" --code <apiCode> --json
|
|
54
|
+
npx -y @jovie/cli report feedback --title "<one line>" --details "<what was confusing or missing>" --json
|
|
55
|
+
\`\`\`
|
|
56
|
+
|
|
57
|
+
Returns \`{"reportId":"..."}\`. Never include secrets, tokens, or private user data
|
|
58
|
+
in a report. The CLI only attaches its version, platform, and runtime.
|
|
59
|
+
|
|
47
60
|
## MCP
|
|
48
61
|
|
|
49
62
|
The same tools are available as an MCP server: \`npx -y @jovie/cli mcp\`
|
|
50
63
|
(stdio). Tools: create_profile, get_artist, get_artist_guide, get_openapi,
|
|
51
|
-
get_docs.
|
|
64
|
+
get_docs, report_issue, report_feedback.
|
|
52
65
|
`;
|
|
53
66
|
//# sourceMappingURL=skill.js.map
|
package/dist/skill.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,QAAQ,GAAG
|
|
1
|
+
{"version":3,"file":"skill.js","sourceRoot":"","sources":["../src/skill.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,MAAM,CAAC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+DvB,CAAC"}
|
package/package.json
CHANGED
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"LICENSE"
|
|
49
49
|
],
|
|
50
50
|
"engines": {
|
|
51
|
-
"node": ">=
|
|
51
|
+
"node": ">=24.21.0 <25"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"build": "tsc -p tsconfig.build.json",
|
|
@@ -62,11 +62,11 @@
|
|
|
62
62
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@types/node": "^26.6.
|
|
66
|
-
"@vitest/coverage-v8": "5.0.
|
|
65
|
+
"@types/node": "^26.6.3",
|
|
66
|
+
"@vitest/coverage-v8": "5.0.2",
|
|
67
67
|
"tsx": "^4.23.15",
|
|
68
68
|
"typescript": "^6.0.3",
|
|
69
|
-
"vitest": "5.0.
|
|
69
|
+
"vitest": "5.0.2"
|
|
70
70
|
},
|
|
71
|
-
"version": "26.9.
|
|
71
|
+
"version": "26.9.16"
|
|
72
72
|
}
|