@drawcall/market 0.8.25 → 0.8.26

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.
@@ -0,0 +1,303 @@
1
+ import { createRequire } from 'node:module';
2
+ import { getConfigPath as getAuthConfigPath, runDeviceLogin, saveAuthToken, signOut, } from '@drawcall/auth';
3
+ import { Command, Option } from 'commander';
4
+ import { ASSET_TYPES } from './schemas.js';
5
+ import { installCommand } from './commands/install.js';
6
+ import { searchCommand } from './commands/search.js';
7
+ import { agentCommand } from './commands/agent.js';
8
+ import { generateCommand } from './commands/generate.js';
9
+ import { generateInstallCommand } from './commands/generate-install.js';
10
+ import { listCommand } from './commands/list.js';
11
+ import { packCommand } from './commands/pack.js';
12
+ import { syncCommand } from './commands/sync.js';
13
+ import { previewCommand } from './commands/preview.js';
14
+ import { urlsCommand } from './commands/urls.js';
15
+ import { uploadCommand } from './commands/upload.js';
16
+ import { typesCommand } from './commands/types.js';
17
+ import { logout } from './commands/logout.js';
18
+ import { v1 } from './index.js';
19
+ import { clearConfig, saveConfig } from './config.js';
20
+ import { loginResult } from './output.js';
21
+ import { marketSkill } from './skill.js';
22
+ const DEFAULT_BASE_URL = 'https://market.drawcall.ai';
23
+ export function createMarketCommand(options = {}) {
24
+ const program = new Command();
25
+ const invocation = options.invocation ?? options.name ?? 'market';
26
+ /** Accumulate a repeatable option into an array. */
27
+ const collect = (value, previous) => previous.concat(value);
28
+ const typeOption = new Option('--type <type>', 'Asset type').choices([...ASSET_TYPES]);
29
+ const referenceImageOption = new Option('--reference-image <file-or-url>', 'Reference image the result should match: file path or http(s) URL (repeatable)')
30
+ .argParser(collect)
31
+ .default([]);
32
+ // Omitted → the server picks the default from your entitlement (private if you hold market:private,
33
+ // else public). `--access private` requires that entitlement.
34
+ const accessOption = new Option('--access <access>', 'Asset visibility').choices([
35
+ 'public',
36
+ 'private',
37
+ ]);
38
+ const apiOption = new Option('--api <url>', 'API URL').default(process.env.MARKET_API_URL, 'from MARKET_API_URL / config / default');
39
+ program
40
+ .name(options.name ?? 'market')
41
+ .description('Find and use Drawcall Market assets')
42
+ .version(options.version ?? readPackageVersion())
43
+ .enablePositionalOptions()
44
+ .addHelpText('after', `\nAI agents that have not already seen the Market skill should run \`${invocation} skill\` before using this CLI.`);
45
+ program
46
+ .command('skill')
47
+ .description('Print the Market agent skill')
48
+ .action(() => {
49
+ process.stdout.write(marketSkill);
50
+ });
51
+ program
52
+ .command('types')
53
+ .description('List current asset types, generation support, and search guidance')
54
+ .addOption(apiOption)
55
+ .action(async (opts) => {
56
+ await typesCommand(opts.api);
57
+ });
58
+ if (options.includeAuthCommands ?? true)
59
+ addAuthCommands(program, apiOption);
60
+ program
61
+ .command('install')
62
+ .description('Install assets by name, or package.json assetDependencies when no names are given')
63
+ .argument('[assets...]', 'Asset names, optionally with @range')
64
+ .addOption(apiOption)
65
+ .option('--unapproved', 'Include unapproved versions', false)
66
+ .option('--force', 'Overwrite existing files', false)
67
+ .option('--key <key>', 'Access key of a shared private asset (no account needed)')
68
+ .option('--cwd <dir>', 'Project directory')
69
+ .option('--redirect <folder>', 'Do not download asset files destined for this static root (e.g. public); write <folder>/_redirects rules to their canonical URLs instead. Repeatable.', collect, [])
70
+ .action(async (args, opts) => {
71
+ await installCommand(args, {
72
+ baseUrl: opts.api,
73
+ unapproved: opts.unapproved,
74
+ force: opts.force,
75
+ key: opts.key,
76
+ cwd: opts.cwd,
77
+ redirect: opts.redirect,
78
+ });
79
+ });
80
+ program
81
+ .command('list')
82
+ .description('List asset dependencies declared in package.json, including file aliases')
83
+ .option('--cwd <dir>', 'Project directory')
84
+ .action(async (opts) => {
85
+ await listCommand({
86
+ cwd: opts.cwd,
87
+ });
88
+ });
89
+ program
90
+ .command('sync')
91
+ .description('Update package.json assetDependencies aliases to match where installed files live now')
92
+ .addOption(apiOption)
93
+ .option('--cwd <dir>', 'Project directory')
94
+ .action(async (opts) => {
95
+ await syncCommand({
96
+ baseUrl: opts.api,
97
+ cwd: opts.cwd,
98
+ });
99
+ });
100
+ program
101
+ .command('pack')
102
+ .description('Create a Market asset zip using the same packaging step as upload')
103
+ .argument('<source>', 'project directory, .zip path, or glob')
104
+ .addOption(typeOption)
105
+ .option('--out <file>', 'Output zip path')
106
+ .option('--cwd <dir>', 'Project directory')
107
+ .option('--npm <dep>', 'npm dependency name@range (repeatable)', collect, [])
108
+ .option('--asset <dep>', 'asset dependency name@range (repeatable)', collect, [])
109
+ .option('--skill <dep>', 'skill dependency label=source (repeatable)', collect, [])
110
+ .action(async (zipFilter, opts) => {
111
+ await packCommand(zipFilter, {
112
+ type: opts.type,
113
+ out: opts.out,
114
+ cwd: opts.cwd,
115
+ npm: opts.npm,
116
+ asset: opts.asset,
117
+ skill: opts.skill,
118
+ });
119
+ });
120
+ program
121
+ .command('search')
122
+ .description('Find assets')
123
+ .argument('<query>', 'Search query')
124
+ .addOption(typeOption)
125
+ .addOption(apiOption)
126
+ .option('--unapproved', 'Include unapproved versions', false)
127
+ .option('--limit <n>', 'Max results, 1-5', parseSearchLimit, 5)
128
+ .option('--json', 'Emit a machine-readable JSON array instead of the summary lines', false)
129
+ .action(async (query, opts) => {
130
+ requireType(opts.type, 'Search');
131
+ await searchCommand(query, {
132
+ type: opts.type,
133
+ baseUrl: opts.api,
134
+ unapproved: opts.unapproved,
135
+ limit: opts.limit,
136
+ json: opts.json,
137
+ });
138
+ });
139
+ const agent = program
140
+ .command('agent')
141
+ .description('Plan, find, judge and generate a set of assets from a goal')
142
+ .argument('[goal]', 'What you need, in plain language')
143
+ .addOption(apiOption)
144
+ .addOption(referenceImageOption)
145
+ .option('--json', 'Output JSON', false)
146
+ .action(async (goal, opts) => {
147
+ if (!goal) {
148
+ agent.help({ error: true });
149
+ return;
150
+ }
151
+ await agentCommand(goal, {
152
+ baseUrl: opts.api,
153
+ referenceImages: opts.referenceImage,
154
+ json: opts.json,
155
+ });
156
+ });
157
+ program
158
+ .command('upload')
159
+ .description('Publish one asset')
160
+ .argument('<name>', 'Asset name')
161
+ .argument('<zip-filter>', '.zip path or glob')
162
+ .argument('<description>', 'Short description')
163
+ .addOption(typeOption)
164
+ .addOption(apiOption)
165
+ .option('--version <version>', 'Explicit semver version')
166
+ .option('--cwd <dir>', 'Project directory')
167
+ .option('--npm <dep>', 'npm dependency name@range (repeatable)', collect, [])
168
+ .option('--asset <dep>', 'asset dependency name@range (repeatable)', collect, [])
169
+ .option('--skill <dep>', 'skill dependency label=source (repeatable)', collect, [])
170
+ .addOption(accessOption)
171
+ .action(async (name, zipFilter, description, opts) => {
172
+ requireType(opts.type, 'Upload');
173
+ await uploadCommand(name, zipFilter, description, {
174
+ type: opts.type,
175
+ version: opts.version,
176
+ baseUrl: opts.api,
177
+ cwd: opts.cwd,
178
+ npm: opts.npm,
179
+ asset: opts.asset,
180
+ skill: opts.skill,
181
+ access: opts.access,
182
+ });
183
+ });
184
+ program
185
+ .command('preview')
186
+ .description("Save an asset's preview image")
187
+ .argument('<asset>', 'Asset name, optionally with @version')
188
+ .addOption(apiOption)
189
+ .option('--unapproved', 'Include unapproved versions', false)
190
+ .option('--out <file>', 'Output image path')
191
+ .action(async (name, opts) => {
192
+ await previewCommand(name, {
193
+ baseUrl: opts.api,
194
+ unapproved: opts.unapproved,
195
+ out: opts.out,
196
+ });
197
+ });
198
+ program
199
+ .command('urls')
200
+ .description("Print an asset's remote file base URL, subpaths, and preview URL")
201
+ .argument('<asset>', 'Asset name, optionally with @version')
202
+ .addOption(apiOption)
203
+ .option('--unapproved', 'Include unapproved versions', false)
204
+ .option('--key <key>', 'Access key of a shared private asset (no account needed)')
205
+ .action(async (ref, opts) => {
206
+ await urlsCommand(ref, {
207
+ baseUrl: opts.api,
208
+ unapproved: opts.unapproved,
209
+ key: opts.key,
210
+ });
211
+ });
212
+ const generate = program
213
+ .command('generate')
214
+ .description('Generate and install an asset, or check a generation job')
215
+ .argument('[description]', 'Asset prompt (omit when using a subcommand)')
216
+ .addOption(typeOption)
217
+ .addOption(apiOption)
218
+ .addOption(referenceImageOption)
219
+ .option('--cwd <dir>', 'Project directory')
220
+ .addOption(accessOption)
221
+ .action(async (description, opts) => {
222
+ if (!description) {
223
+ generate.help({ error: true });
224
+ return;
225
+ }
226
+ requireType(opts.type, 'Generate');
227
+ await generateCommand(description, {
228
+ type: opts.type,
229
+ baseUrl: opts.api,
230
+ referenceImages: opts.referenceImage,
231
+ cwd: opts.cwd,
232
+ access: opts.access,
233
+ });
234
+ });
235
+ // `generate install <jobId>` finishes a slow (job-based) generation: it checks the job once and, when
236
+ // it has completed, installs the produced asset into the project. Still running → prints a note and
237
+ // exits 0 (run again later); failed → exits 1. Fast asset types never need this — `generate` installs
238
+ // them inline. ("install" over "status": the command's job is to integrate the asset, not just report.)
239
+ generate
240
+ .command('install')
241
+ .description('Install the asset from a generation job once it has completed')
242
+ .argument('<jobId>', `Job id printed by \`${invocation} generate\``)
243
+ .addOption(apiOption)
244
+ .option('--cwd <dir>', 'Project directory')
245
+ // Read merged options: `--cwd`/`--api` after `generate install` are otherwise captured by the
246
+ // parent `generate` command (which declares the same options), leaving this subcommand's own opts
247
+ // undefined. `optsWithGlobals()` surfaces whichever level parsed them.
248
+ .action(async (jobId, _options, command) => {
249
+ const { api, cwd } = command.optsWithGlobals();
250
+ await generateInstallCommand(jobId, { baseUrl: api, cwd });
251
+ });
252
+ return program;
253
+ }
254
+ function addAuthCommands(program, apiOption) {
255
+ program
256
+ .command('login')
257
+ .description('Sign in')
258
+ .addOption(apiOption)
259
+ .action(async (opts) => {
260
+ const baseUrl = opts.api ?? DEFAULT_BASE_URL;
261
+ const token = await runDeviceLogin();
262
+ const client = v1.createClient({ baseUrl, authToken: token });
263
+ const profile = await client.user.getProfile();
264
+ if (!profile)
265
+ throw new Error('The Market API did not accept the auth token.');
266
+ if (opts.api)
267
+ await saveConfig({ baseUrl: opts.api });
268
+ else
269
+ await clearConfig();
270
+ await saveAuthToken(token);
271
+ console.log(loginResult(profile.email, getAuthConfigPath()));
272
+ });
273
+ program
274
+ .command('logout')
275
+ .description('Sign out')
276
+ .action(async () => {
277
+ await logout(await signOut());
278
+ });
279
+ }
280
+ function requireType(type, command) {
281
+ if (!type) {
282
+ throw new Error(`${command} requires --type. Available types: ${ASSET_TYPES.join(', ')}`);
283
+ }
284
+ }
285
+ function parseSearchLimit(value) {
286
+ const parsed = Number.parseInt(value, 10);
287
+ if (!Number.isInteger(parsed) || parsed < 1) {
288
+ throw new Error('--limit must be a positive integer');
289
+ }
290
+ return Math.min(parsed, 5);
291
+ }
292
+ function readPackageVersion() {
293
+ const value = createRequire(import.meta.url)('../package.json');
294
+ if (!value ||
295
+ typeof value !== 'object' ||
296
+ Array.isArray(value) ||
297
+ !('version' in value) ||
298
+ typeof value.version !== 'string') {
299
+ throw new Error('Market package.json is missing a valid version');
300
+ }
301
+ return value.version;
302
+ }
303
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EACL,aAAa,IAAI,iBAAiB,EAClC,cAAc,EACd,aAAa,EACb,OAAO,GACR,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAoC,MAAM,cAAc,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AASrD,MAAM,UAAU,mBAAmB,CAAC,UAAgC,EAAE;IACpE,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;IAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAA;IAEjE,oDAAoD;IACpD,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,QAAkB,EAAY,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAEvF,MAAM,UAAU,GAAG,IAAI,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAA;IACtF,MAAM,oBAAoB,GAAG,IAAI,MAAM,CACrC,iCAAiC,EACjC,gFAAgF,CACjF;SACE,SAAS,CAAC,OAAO,CAAC;SAClB,OAAO,CAAC,EAAE,CAAC,CAAA;IACd,oGAAoG;IACpG,8DAA8D;IAC9D,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC,OAAO,CAAC;QAC/E,QAAQ;QACR,SAAS;KACV,CAAC,CAAA;IACF,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,OAAO,CAC5D,OAAO,CAAC,GAAG,CAAC,cAAc,EAC1B,wCAAwC,CACzC,CAAA;IAED,OAAO;SACJ,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC;SAC9B,WAAW,CAAC,qCAAqC,CAAC;SAClD,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,kBAAkB,EAAE,CAAC;SAChD,uBAAuB,EAAE;SACzB,WAAW,CACV,OAAO,EACP,wEAAwE,UAAU,iCAAiC,CACpH,CAAA;IAEH,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,mEAAmE,CAAC;SAChF,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CAAC,KAAK,EAAE,IAAsB,EAAE,EAAE;QACvC,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEJ,IAAI,OAAO,CAAC,mBAAmB,IAAI,IAAI;QAAE,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAE5E,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CACV,mFAAmF,CACpF;SACA,QAAQ,CAAC,aAAa,EAAE,qCAAqC,CAAC;SAC9D,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CAAC,cAAc,EAAE,6BAA6B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,SAAS,EAAE,0BAA0B,EAAE,KAAK,CAAC;SACpD,MAAM,CAAC,aAAa,EAAE,0DAA0D,CAAC;SACjF,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CACL,qBAAqB,EACrB,uJAAuJ,EACvJ,OAAO,EACP,EAAE,CACH;SACA,MAAM,CACL,KAAK,EACH,IAAc,EACd,IAOC,EACD,EAAE;QACF,MAAM,cAAc,CAAC,IAAI,EAAE;YACzB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAEH,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,0EAA0E,CAAC;SACvF,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,IAAsB,EAAE,EAAE;QACvC,MAAM,WAAW,CAAC;YAChB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CACV,uFAAuF,CACxF;SACA,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,KAAK,EAAE,IAAoC,EAAE,EAAE;QACrD,MAAM,WAAW,CAAC;YAChB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,mEAAmE,CAAC;SAChF,QAAQ,CAAC,UAAU,EAAE,uCAAuC,CAAC;SAC7D,SAAS,CAAC,UAAU,CAAC;SACrB,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC;SACzC,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,aAAa,EAAE,wCAAwC,EAAE,OAAO,EAAE,EAAE,CAAC;SAC5E,MAAM,CAAC,eAAe,EAAE,0CAA0C,EAAE,OAAO,EAAE,EAAE,CAAC;SAChF,MAAM,CAAC,eAAe,EAAE,4CAA4C,EAAE,OAAO,EAAE,EAAE,CAAC;SAClF,MAAM,CACL,KAAK,EACH,SAAiB,EACjB,IAOC,EACD,EAAE;QACF,MAAM,WAAW,CAAC,SAAS,EAAE;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAEH,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,aAAa,CAAC;SAC1B,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;SACnC,SAAS,CAAC,UAAU,CAAC;SACrB,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CAAC,cAAc,EAAE,6BAA6B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC;SAC9D,MAAM,CAAC,QAAQ,EAAE,iEAAiE,EAAE,KAAK,CAAC;SAC1F,MAAM,CACL,KAAK,EACH,KAAa,EACb,IAMC,EACD,EAAE;QACF,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAChC,MAAM,aAAa,CAAC,KAAK,EAAE;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAEH,MAAM,KAAK,GAAG,OAAO;SAClB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4DAA4D,CAAC;SACzE,QAAQ,CAAC,QAAQ,EAAE,kCAAkC,CAAC;SACtD,SAAS,CAAC,SAAS,CAAC;SACpB,SAAS,CAAC,oBAAoB,CAAC;SAC/B,MAAM,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC;SACtC,MAAM,CACL,KAAK,EACH,IAAwB,EACxB,IAA+D,EAC/D,EAAE;QACF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3B,OAAM;QACR,CAAC;QACD,MAAM,YAAY,CAAC,IAAI,EAAE;YACvB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,eAAe,EAAE,IAAI,CAAC,cAAc;YACpC,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAEH,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,mBAAmB,CAAC;SAChC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;SAChC,QAAQ,CAAC,cAAc,EAAE,mBAAmB,CAAC;SAC7C,QAAQ,CAAC,eAAe,EAAE,mBAAmB,CAAC;SAC9C,SAAS,CAAC,UAAU,CAAC;SACrB,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;SACxD,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,MAAM,CAAC,aAAa,EAAE,wCAAwC,EAAE,OAAO,EAAE,EAAE,CAAC;SAC5E,MAAM,CAAC,eAAe,EAAE,0CAA0C,EAAE,OAAO,EAAE,EAAE,CAAC;SAChF,MAAM,CAAC,eAAe,EAAE,4CAA4C,EAAE,OAAO,EAAE,EAAE,CAAC;SAClF,SAAS,CAAC,YAAY,CAAC;SACvB,MAAM,CACL,KAAK,EACH,IAAY,EACZ,SAAiB,EACjB,WAAmB,EACnB,IASC,EACD,EAAE;QACF,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;QAChC,MAAM,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE;YAChD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAEH,OAAO;SACJ,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+BAA+B,CAAC;SAC5C,QAAQ,CAAC,SAAS,EAAE,sCAAsC,CAAC;SAC3D,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CAAC,cAAc,EAAE,6BAA6B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,cAAc,EAAE,mBAAmB,CAAC;SAC3C,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,IAAyD,EAAE,EAAE;QACxF,MAAM,cAAc,CAAC,IAAI,EAAE;YACzB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kEAAkE,CAAC;SAC/E,QAAQ,CAAC,SAAS,EAAE,sCAAsC,CAAC;SAC3D,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CAAC,cAAc,EAAE,6BAA6B,EAAE,KAAK,CAAC;SAC5D,MAAM,CAAC,aAAa,EAAE,0DAA0D,CAAC;SACjF,MAAM,CAAC,KAAK,EAAE,GAAW,EAAE,IAAyD,EAAE,EAAE;QACvF,MAAM,WAAW,CAAC,GAAG,EAAE;YACrB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEJ,MAAM,QAAQ,GAAG,OAAO;SACrB,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,0DAA0D,CAAC;SACvE,QAAQ,CAAC,eAAe,EAAE,6CAA6C,CAAC;SACxE,SAAS,CAAC,UAAU,CAAC;SACrB,SAAS,CAAC,SAAS,CAAC;SACpB,SAAS,CAAC,oBAAoB,CAAC;SAC/B,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;SAC1C,SAAS,CAAC,YAAY,CAAC;SACvB,MAAM,CACL,KAAK,EACH,WAA+B,EAC/B,IAMC,EACD,EAAE;QACF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9B,OAAM;QACR,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QAClC,MAAM,eAAe,CAAC,WAAW,EAAE;YACjC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,eAAe,EAAE,IAAI,CAAC,cAAc;YACpC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC,CACF,CAAA;IAEH,sGAAsG;IACtG,oGAAoG;IACpG,sGAAsG;IACtG,wGAAwG;IACxG,QAAQ;SACL,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,+DAA+D,CAAC;SAC5E,QAAQ,CAAC,SAAS,EAAE,uBAAuB,UAAU,aAAa,CAAC;SACnE,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CAAC,aAAa,EAAE,mBAAmB,CAAC;QAC3C,8FAA8F;QAC9F,kGAAkG;QAClG,uEAAuE;SACtE,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,QAAQ,EAAE,OAAgB,EAAE,EAAE;QAC1D,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,CAAA;QAC9C,MAAM,sBAAsB,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;IAC5D,CAAC,CAAC,CAAA;IAEJ,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB,EAAE,SAAiB;IAC1D,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,SAAS,CAAC;SACtB,SAAS,CAAC,SAAS,CAAC;SACpB,MAAM,CAAC,KAAK,EAAE,IAAsB,EAAE,EAAE;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,gBAAgB,CAAA;QAC5C,MAAM,KAAK,GAAG,MAAM,cAAc,EAAE,CAAA;QACpC,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;QAC7D,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAA;QAC9C,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;QAE9E,IAAI,IAAI,CAAC,GAAG;YAAE,MAAM,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;;YAChD,MAAM,WAAW,EAAE,CAAA;QACxB,MAAM,aAAa,CAAC,KAAK,CAAC,CAAA;QAC1B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEJ,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,UAAU,CAAC;SACvB,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,MAAM,CAAC,MAAM,OAAO,EAAE,CAAC,CAAA;IAC/B,CAAC,CAAC,CAAA;AACN,CAAC;AAED,SAAS,WAAW,CAAC,IAA2B,EAAE,OAAe;IAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,sCAAsC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC3F,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IACzC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;IACvD,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,kBAAkB;IACzB,MAAM,KAAK,GAAY,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAA;IACxE,IACE,CAAC,KAAK;QACN,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC;QACrB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;IACnE,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAA;AACtB,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare function logout(): Promise<void>;
1
+ export declare function logout(authExisted: boolean): Promise<void>;
2
2
  //# sourceMappingURL=logout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAGA,wBAAsB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAO5C"}
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAIA,wBAAsB,MAAM,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhE"}
@@ -1,12 +1,12 @@
1
- import { clearConfig, getConfigPath } from '../config.js';
1
+ import { getConfigPath } from '@drawcall/auth';
2
+ import { clearConfig, getConfigPath as getMarketConfigPath } from '../config.js';
2
3
  import { logoutResult } from '../output.js';
3
- export async function logout() {
4
- const existed = await clearConfig();
5
- if (existed) {
4
+ export async function logout(authExisted) {
5
+ const configExisted = await clearConfig();
6
+ if (authExisted) {
6
7
  console.log(logoutResult(getConfigPath()));
8
+ return;
7
9
  }
8
- else {
9
- console.log(logoutResult());
10
- }
10
+ console.log(logoutResult(configExisted ? getMarketConfigPath() : undefined));
11
11
  }
12
12
  //# sourceMappingURL=logout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,MAAM;IAC1B,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAA;IACnC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;IAC5C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAA;IAC7B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/commands/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAChF,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,WAAoB;IAC/C,MAAM,aAAa,GAAG,MAAM,WAAW,EAAE,CAAA;IACzC,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,CAAA;QAC1C,OAAM;IACR,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAA;AAC9E,CAAC"}
package/dist/config.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export interface Config {
2
- authToken: string;
2
+ authToken?: string;
3
3
  baseUrl?: string;
4
4
  }
5
5
  export declare function loadConfig(): Promise<Config | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAcD,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOzD;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW9D;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAQpD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,MAAM;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAcD,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOzD;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW9D;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAQpD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
package/dist/config.js CHANGED
@@ -3,7 +3,7 @@ import * as os from 'os';
3
3
  import * as path from 'path';
4
4
  import { z } from 'zod';
5
5
  const rawConfigSchema = z.object({
6
- authToken: z.string().min(1),
6
+ authToken: z.string().min(1).optional(),
7
7
  baseUrl: z.string().url().optional(),
8
8
  });
9
9
  function configDir() {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAA;AACxB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAC5B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAA;AAOF,SAAS,SAAS;IAChB,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAA;IAC1D,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAA;IAC9E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,aAAa,CAAC,CAAA;AAC9C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU;IAC9B,IAAI,CAAC;QACH,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACpF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACrC,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAc;IAC7C,MAAM,GAAG,GAAG,SAAS,EAAE,CAAA;IACvB,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACxC,4EAA4E;IAC5E,4EAA4E;IAC5E,6EAA6E;IAC7E,0DAA0D;IAC1D,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC1B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAA;IACzB,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;IACjF,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AAC7B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAA;QACtC,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,EAAE,CAAA;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAA;AAC7E,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drawcall/market",
3
- "version": "0.8.25",
3
+ "version": "0.8.26",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/drawcall-ai/market",
@@ -16,6 +16,10 @@
16
16
  "./install": {
17
17
  "types": "./dist/install-entry.d.ts",
18
18
  "import": "./dist/install-entry.js"
19
+ },
20
+ "./command": {
21
+ "types": "./dist/command-entry.d.ts",
22
+ "import": "./dist/command-entry.js"
19
23
  }
20
24
  },
21
25
  "files": [
@@ -29,22 +33,21 @@
29
33
  "scripts": {
30
34
  "build": "rm -rf dist && tsc -p tsconfig.build.json",
31
35
  "prepack": "npm run build && node scripts/prepare-publish.mjs",
36
+ "postpack": "node scripts/restore-package.mjs",
32
37
  "dev": "tsx src/cli.ts",
33
38
  "test": "tsx --test tests/*.test.ts",
34
39
  "test:install-layout": "tsx --test tests/install-layout.test.ts tests/install-lock.test.ts tests/install-command.test.ts tests/list-command.test.ts tests/pack.test.ts",
35
40
  "typecheck": "tsc --noEmit"
36
41
  },
37
42
  "dependencies": {
43
+ "@drawcall/auth": "^0.1.0",
38
44
  "@orpc/client": "^1.0.0",
39
45
  "@orpc/contract": "^1.0.0",
40
46
  "@orpc/openapi-client": "1.13.14",
41
- "chalk": "^5.6.2",
42
47
  "commander": "^14.0.3",
43
48
  "fflate": "^0.8.2",
44
49
  "ignore": "^7.0.5",
45
50
  "nypm": "^0.6.0",
46
- "open": "^10.1.0",
47
- "openid-client": "^6.8.4",
48
51
  "ora": "^8.1.1",
49
52
  "p-map": "^7.0.6",
50
53
  "semver": "^7.7.0",
package/src/cli-client.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import type { MarketClient } from './client.js'
2
+ import { getAuthToken } from '@drawcall/auth'
2
3
  import { createClient as createV1Client } from './v1/client.js'
3
4
  import { loadConfig } from './config.js'
4
5
 
@@ -25,8 +26,8 @@ export interface CliClient {
25
26
  }
26
27
 
27
28
  export async function getCliClient(opts: CliClientOptions = {}): Promise<CliClient> {
29
+ const authToken = await getAuthToken()
28
30
  const config = await loadConfig()
29
- const authToken = process.env.DRAWCALL_AUTH_TOKEN ?? config?.authToken
30
31
  const baseUrl = opts.baseUrl ?? process.env.MARKET_API_URL ?? config?.baseUrl ?? DEFAULT_BASE_URL
31
32
 
32
33
  if (opts.requireAuth && !authToken) {