@drawcall/market 0.1.4 → 0.1.5
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/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +9 -5
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/search.js +1 -1
- package/dist/commands/search.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/install.ts +12 -4
- package/src/commands/search.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA;AAI/D,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAOD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,eAAe,CAAA;AAI/D,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAOD,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC/F"}
|
package/dist/commands/install.js
CHANGED
|
@@ -6,13 +6,14 @@ import { generateAndWait } from '../generate.js';
|
|
|
6
6
|
import { assetNameSchema } from '../schemas.js';
|
|
7
7
|
import { getCliClient } from '../cli-client.js';
|
|
8
8
|
export async function installCommand(args, opts) {
|
|
9
|
-
const { client } = await getCliClient({ baseUrl: opts.baseUrl
|
|
9
|
+
const { client, apiKey } = await getCliClient({ baseUrl: opts.baseUrl });
|
|
10
|
+
const canGenerate = Boolean(apiKey);
|
|
10
11
|
const spinner = ora().start();
|
|
11
12
|
try {
|
|
12
13
|
const requests = [];
|
|
13
14
|
for (const arg of args) {
|
|
14
15
|
spinner.text = `Resolving "${truncate(arg, 40)}"`;
|
|
15
|
-
requests.push(await resolveArg(client, arg, opts.type, spinner));
|
|
16
|
+
requests.push(await resolveArg(client, arg, opts.type, spinner, canGenerate));
|
|
16
17
|
}
|
|
17
18
|
spinner.text = 'Resolving dependency tree';
|
|
18
19
|
const resolution = await resolve(client.asset, requests, {
|
|
@@ -33,9 +34,9 @@ export async function installCommand(args, opts) {
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
/**
|
|
36
|
-
* Fallthrough: exact-name → top-1 search hit → auto-generate.
|
|
37
|
+
* Fallthrough: exact-name → top-1 search hit → auto-generate (auth only).
|
|
37
38
|
*/
|
|
38
|
-
async function resolveArg(client, arg, type, spinner) {
|
|
39
|
+
async function resolveArg(client, arg, type, spinner, canGenerate) {
|
|
39
40
|
// 1. Try parsing as asset-name[@range] and looking up exact
|
|
40
41
|
const parsed = parseNameAndRange(arg);
|
|
41
42
|
if (parsed) {
|
|
@@ -58,7 +59,10 @@ async function resolveArg(client, arg, type, spinner) {
|
|
|
58
59
|
spinner.start();
|
|
59
60
|
return { name: hit.name, range: '*' };
|
|
60
61
|
}
|
|
61
|
-
// 3. Auto-generate
|
|
62
|
+
// 3. Auto-generate (requires auth)
|
|
63
|
+
if (!canGenerate) {
|
|
64
|
+
throw new Error(`No matches for "${arg}". Run \`market login\` to enable auto-generation of missing assets.`);
|
|
65
|
+
}
|
|
62
66
|
spinner.text = `No matches — generating "${truncate(arg, 40)}"`;
|
|
63
67
|
const generated = await generateAndWait(client, { description: arg, type }, {
|
|
64
68
|
onProgress: (msg) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAiB,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAkB,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAe/C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc,EAAE,IAA2B;IAC9E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAiB,MAAM,KAAK,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAkB,MAAM,eAAe,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAe/C,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc,EAAE,IAA2B;IAC9E,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IACxE,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAEnC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;IAC7B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAmB,EAAE,CAAA;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,GAAG,cAAc,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA;YACjD,QAAQ,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAA;QAC/E,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,2BAA2B,CAAA;QAC1C,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE;YACvD,iBAAiB,EAAE,IAAI,CAAC,UAAU,IAAI,KAAK;SAC5C,CAAC,CAAA;QAEF,MAAM,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE;YACnC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;gBAClB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAA;YACpB,CAAC;SACF,CAAC,CAAA;QAEF,OAAO,CAAC,OAAO,CACb,aAAa,UAAU,CAAC,MAAM,CAAC,MAAM,aAAa;YAChD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3F,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9D,MAAM,GAAG,CAAA;IACX,CAAC;AACH,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU,CACvB,MAAoB,EACpB,GAAW,EACX,IAA2B,EAC3B,OAAY,EACZ,WAAoB;IAEpB,4DAA4D;IAC5D,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACpE,IAAI,QAAQ;YAAE,OAAO,MAAM,CAAA;IAC7B,CAAC;IAED,6BAA6B;IAC7B,OAAO,CAAC,IAAI,GAAG,cAAc,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA;IACjD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;QACtC,MAAM,EAAE,GAAG;QACX,IAAI;QACJ,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,WAAW;KAClB,CAAC,CAAA;IACF,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAC5B,OAAO,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,CAAA;QAC5F,OAAO,CAAC,KAAK,EAAE,CAAA;QACf,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;IACvC,CAAC;IAED,mCAAmC;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,mBAAmB,GAAG,sEAAsE,CAC7F,CAAA;IACH,CAAC;IAED,OAAO,CAAC,IAAI,GAAG,4BAA4B,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAA;IAC/D,MAAM,SAAS,GAAG,MAAM,eAAe,CACrC,MAAM,EACN,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAE,EAC1B;QACE,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;YAClB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAA;QACpB,CAAC;KACF,CACF,CAAA;IACD,OAAO,CAAC,IAAI,CACV,aAAa,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CACjG,CAAA;IACD,OAAO,CAAC,KAAK,EAAE,CAAA;IACf,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,CAAA;AAChE,CAAC;AAED;;;GAGG;AACH,SAAS,iBAAiB,CAAC,GAAW;IACpC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9B,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACnD,MAAM,KAAK,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;IACrD,OAAO,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AACzE,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,GAAW;IACtC,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACvD,CAAC"}
|
package/dist/commands/search.js
CHANGED
|
@@ -3,7 +3,7 @@ import ora from 'ora';
|
|
|
3
3
|
import { getCliClient } from '../cli-client.js';
|
|
4
4
|
const SEARCH_LIMIT = 10;
|
|
5
5
|
export async function searchCommand(query, opts) {
|
|
6
|
-
const { client } = await getCliClient({ baseUrl: opts.baseUrl
|
|
6
|
+
const { client } = await getCliClient({ baseUrl: opts.baseUrl });
|
|
7
7
|
const spinner = ora(`Searching "${query}"`).start();
|
|
8
8
|
let results;
|
|
9
9
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAG/C,MAAM,YAAY,GAAG,EAAE,CAAA;AAOvB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAa,EAAE,IAA0B;IAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAG/C,MAAM,YAAY,GAAG,EAAE,CAAA;AAOvB,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAa,EAAE,IAA0B;IAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAEhE,MAAM,OAAO,GAAG,GAAG,CAAC,cAAc,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,CAAA;IACnD,IAAI,OAAO,CAAA;IACX,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAChC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,YAAY;YACnB,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,WAAW;SAClB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QAC9D,MAAM,GAAG,CAAA;IACX,CAAC;IACD,OAAO,CAAC,IAAI,EAAE,CAAA;IAEd,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAA;QACrC,OAAM;IACR,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QACxE,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAA;IACjF,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
package/src/commands/install.ts
CHANGED
|
@@ -20,14 +20,15 @@ interface AssetRequest {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export async function installCommand(args: string[], opts: InstallCommandOptions): Promise<void> {
|
|
23
|
-
const { client } = await getCliClient({ baseUrl: opts.baseUrl
|
|
23
|
+
const { client, apiKey } = await getCliClient({ baseUrl: opts.baseUrl })
|
|
24
|
+
const canGenerate = Boolean(apiKey)
|
|
24
25
|
|
|
25
26
|
const spinner = ora().start()
|
|
26
27
|
try {
|
|
27
28
|
const requests: AssetRequest[] = []
|
|
28
29
|
for (const arg of args) {
|
|
29
30
|
spinner.text = `Resolving "${truncate(arg, 40)}"`
|
|
30
|
-
requests.push(await resolveArg(client, arg, opts.type, spinner))
|
|
31
|
+
requests.push(await resolveArg(client, arg, opts.type, spinner, canGenerate))
|
|
31
32
|
}
|
|
32
33
|
|
|
33
34
|
spinner.text = 'Resolving dependency tree'
|
|
@@ -53,13 +54,14 @@ export async function installCommand(args: string[], opts: InstallCommandOptions
|
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
/**
|
|
56
|
-
* Fallthrough: exact-name → top-1 search hit → auto-generate.
|
|
57
|
+
* Fallthrough: exact-name → top-1 search hit → auto-generate (auth only).
|
|
57
58
|
*/
|
|
58
59
|
async function resolveArg(
|
|
59
60
|
client: MarketClient,
|
|
60
61
|
arg: string,
|
|
61
62
|
type: AssetType | undefined,
|
|
62
63
|
spinner: Ora,
|
|
64
|
+
canGenerate: boolean,
|
|
63
65
|
): Promise<AssetRequest> {
|
|
64
66
|
// 1. Try parsing as asset-name[@range] and looking up exact
|
|
65
67
|
const parsed = parseNameAndRange(arg)
|
|
@@ -84,7 +86,13 @@ async function resolveArg(
|
|
|
84
86
|
return { name: hit.name, range: '*' }
|
|
85
87
|
}
|
|
86
88
|
|
|
87
|
-
// 3. Auto-generate
|
|
89
|
+
// 3. Auto-generate (requires auth)
|
|
90
|
+
if (!canGenerate) {
|
|
91
|
+
throw new Error(
|
|
92
|
+
`No matches for "${arg}". Run \`market login\` to enable auto-generation of missing assets.`,
|
|
93
|
+
)
|
|
94
|
+
}
|
|
95
|
+
|
|
88
96
|
spinner.text = `No matches — generating "${truncate(arg, 40)}"`
|
|
89
97
|
const generated = await generateAndWait(
|
|
90
98
|
client,
|
package/src/commands/search.ts
CHANGED
|
@@ -11,7 +11,7 @@ export interface SearchCommandOptions {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export async function searchCommand(query: string, opts: SearchCommandOptions): Promise<void> {
|
|
14
|
-
const { client } = await getCliClient({ baseUrl: opts.baseUrl
|
|
14
|
+
const { client } = await getCliClient({ baseUrl: opts.baseUrl })
|
|
15
15
|
|
|
16
16
|
const spinner = ora(`Searching "${query}"`).start()
|
|
17
17
|
let results
|