@drawcall/market 0.1.97 → 0.1.99
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 +7 -4
- package/dist/asset-implementation.d.ts +12 -10
- package/dist/asset-implementation.d.ts.map +1 -1
- package/dist/asset-implementation.js.map +1 -1
- package/dist/client.d.ts +14 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +18 -0
- package/dist/client.js.map +1 -1
- package/dist/commands/upload.d.ts.map +1 -1
- package/dist/commands/upload.js +8 -3
- package/dist/commands/upload.js.map +1 -1
- package/dist/contract.d.ts +0 -5
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +4 -8
- package/dist/contract.js.map +1 -1
- package/dist/index.d.ts +3 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -3
- package/dist/index.js.map +1 -1
- package/dist/schemas.d.ts +0 -5
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +2 -9
- package/dist/schemas.js.map +1 -1
- package/package.json +2 -2
- package/src/asset-implementation.ts +13 -8
- package/src/client.ts +26 -0
- package/src/commands/upload.ts +8 -3
- package/src/contract.ts +3 -9
- package/src/index.ts +3 -10
- package/src/schemas.ts +2 -10
- package/dist/generate-job.d.ts +0 -25
- package/dist/generate-job.d.ts.map +0 -1
- package/dist/generate-job.js +0 -33
- package/dist/generate-job.js.map +0 -1
- package/src/generate-job.ts +0 -35
package/README.md
CHANGED
|
@@ -12,20 +12,23 @@ npm install @drawcall/market
|
|
|
12
12
|
|
|
13
13
|
## Usage
|
|
14
14
|
|
|
15
|
-
`createMarketClient` is the one API. It returns a fully-typed [oRPC](https://orpc.dev) client where every procedure — `search`, `exact`, `
|
|
15
|
+
`createMarketClient` is the one API. It returns a fully-typed [oRPC](https://orpc.dev) client where every procedure — `search`, `exact`, `files`, `uploadZip`, `generate`, `installMetadata` — is type-checked end-to-end against the contract.
|
|
16
16
|
|
|
17
17
|
```ts
|
|
18
|
-
import { createMarketClient } from '@drawcall/market'
|
|
18
|
+
import { createMarketClient, downloadAssetZipBytes } from '@drawcall/market'
|
|
19
19
|
|
|
20
20
|
const client = createMarketClient()
|
|
21
21
|
// createMarketClient({ baseUrl, fetch, authToken }) to override the API host,
|
|
22
22
|
// supply a custom fetch, or authenticate reads/writes.
|
|
23
23
|
|
|
24
24
|
const asset = await client.asset.exact({ name: 'my-model', includeUnapproved: false })
|
|
25
|
-
|
|
25
|
+
// Per-file index with fetch-ready CDN URLs (what `market install` uses):
|
|
26
|
+
const { files } = await client.asset.files({ name: 'my-model', version: asset.latestVersion })
|
|
27
|
+
// Or the whole version as one zip, streamed by `GET /download`:
|
|
28
|
+
const zip = await downloadAssetZipBytes({ name: 'my-model', version: asset.latestVersion })
|
|
26
29
|
```
|
|
27
30
|
|
|
28
|
-
Reads (`search`, `exact`, `
|
|
31
|
+
Reads (`search`, `exact`, `files`, `installMetadata`) are public. `uploadZip` and `generate` require an `authToken`.
|
|
29
32
|
|
|
30
33
|
### Searching
|
|
31
34
|
|
|
@@ -33,7 +33,7 @@ export interface AssetUploadZipInput {
|
|
|
33
33
|
/** Requested visibility; the worker resolves the effective access (see `AssetAccess`). */
|
|
34
34
|
access?: AssetAccess;
|
|
35
35
|
}
|
|
36
|
-
export interface
|
|
36
|
+
export interface AssetVersionRef {
|
|
37
37
|
name: string;
|
|
38
38
|
version: string;
|
|
39
39
|
/** The asset's capability key, an alternative credential to identity for private/unapproved assets. */
|
|
@@ -51,6 +51,14 @@ export interface AssetOwner {
|
|
|
51
51
|
id: string;
|
|
52
52
|
role: string;
|
|
53
53
|
}
|
|
54
|
+
export interface GenerationReceipt {
|
|
55
|
+
type: AssetType;
|
|
56
|
+
providerJobId: string;
|
|
57
|
+
description: string;
|
|
58
|
+
assetName: string;
|
|
59
|
+
ownerId: string;
|
|
60
|
+
access: AssetAccess;
|
|
61
|
+
}
|
|
54
62
|
export interface AssetProvider {
|
|
55
63
|
type: AssetType;
|
|
56
64
|
/** Shown when an agent asks how to search this asset type. */
|
|
@@ -73,16 +81,10 @@ export interface AssetProvider {
|
|
|
73
81
|
uploadZip(input: AssetUploadZipInput, owner: AssetOwner): Promise<AssetVersion>;
|
|
74
82
|
generate?(input: AssetGenerateInput, owner: AssetOwner): Promise<GenerateAssetResult>;
|
|
75
83
|
/**
|
|
76
|
-
* Job-based generation for providers whose upstream work runs for minutes
|
|
77
|
-
* `startGeneration` kicks off the upstream job and returns a pollable jobId WITHOUT waiting;
|
|
78
|
-
* `generationStatus` checks that job on each poll and, once the upstream work is done, persists it
|
|
79
|
-
* and returns the asset. A provider implements EITHER `generate` (fast, inline) OR this pair (slow,
|
|
80
|
-
* polled) — never relying on one long-held request. See generate-job.ts.
|
|
84
|
+
* Job-based generation for providers whose upstream work runs for minutes.
|
|
81
85
|
*/
|
|
82
|
-
startGeneration?(input: AssetGenerateInput, owner: AssetOwner): Promise<
|
|
83
|
-
|
|
84
|
-
}>;
|
|
85
|
-
generationStatus?(jobId: string, owner: AssetOwner): Promise<GenerateJobStatus>;
|
|
86
|
+
startGeneration?(input: AssetGenerateInput, owner: AssetOwner): Promise<GenerationReceipt>;
|
|
87
|
+
generationStatus?(receipt: GenerationReceipt): Promise<GenerateJobStatus>;
|
|
86
88
|
}
|
|
87
89
|
export type AssetImplementation = AssetProvider;
|
|
88
90
|
export declare function assetRelevanceScore(asset: AssetSearchResult): number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-implementation.d.ts","sourceRoot":"","sources":["../src/asset-implementation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACd,MAAM,eAAe,CAAA;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAE7E,eAAO,MAAM,qBAAqB,EAAE,OAAO,MAAsC,CAAA;AAEjF,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,CAAC,qBAAqB,CAAC,CAAC,EAAE,MAAM,CAAA;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB,EAAE,OAAO,CAAA;IAC1B,IAAI,EAAE,QAAQ,GAAG,cAAc,GAAG,WAAW,CAAA;CAC9C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,OAAO,CAAA;IAC1B,uGAAuG;IACvG,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACzC,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,GAAG,EAAE,IAAI,CAAA;IACT,0FAA0F;IAC1F,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"asset-implementation.d.ts","sourceRoot":"","sources":["../src/asset-implementation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-implementation.js","sourceRoot":"","sources":["../src/asset-implementation.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,qBAAqB,GAAkB,MAAM,CAAC,qBAAqB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"asset-implementation.js","sourceRoot":"","sources":["../src/asset-implementation.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,qBAAqB,GAAkB,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAkGjF,MAAM,UAAU,mBAAmB,CAAC,KAAwB;IAC1D,OAAQ,KAAiC,CAAC,qBAAqB,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAuB;IAChE,OAAO;QACL,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,eAAe,CAAC;QACnE,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB,IAAI,KAAK;QAChE,aAAa,EAAE,QAAQ,CAAC,aAAa,IAAI,IAAI;QAC7C,oCAAoC,EAAE,QAAQ,CAAC,oCAAoC,IAAI,KAAK;QAC5F,mCAAmC,EAAE,QAAQ,CAAC,mCAAmC,IAAI,KAAK;KAC3F,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,KAAwB,EACxB,KAAa;IAEb,MAAM,MAAM,GAAG,EAAE,GAAG,KAAK,EAA6B,CAAA;IACtD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE;QACnD,KAAK,EAAE,KAAK;QACZ,UAAU,EAAE,KAAK;KAClB,CAAC,CAAA;IACF,OAAO,MAAM,CAAA;AACf,CAAC"}
|
package/dist/client.d.ts
CHANGED
|
@@ -7,4 +7,18 @@ export interface MarketClientOptions {
|
|
|
7
7
|
authToken?: string;
|
|
8
8
|
}
|
|
9
9
|
export declare function createMarketClient(opts?: MarketClientOptions): MarketClient;
|
|
10
|
+
/**
|
|
11
|
+
* The `GET /download` zip view of a version as bytes. The stream is deterministic (store-mode
|
|
12
|
+
* entries, fixed mtimes), so two calls for the same immutable version are byte-identical — which is
|
|
13
|
+
* what upload's "unchanged, skip publishing" check compares against.
|
|
14
|
+
*/
|
|
15
|
+
export declare function downloadAssetZipBytes(opts: {
|
|
16
|
+
name: string;
|
|
17
|
+
version: string;
|
|
18
|
+
baseUrl?: string;
|
|
19
|
+
authToken?: string;
|
|
20
|
+
/** The asset's capability key, an alternative credential to identity for private/unapproved assets. */
|
|
21
|
+
key?: string;
|
|
22
|
+
fetch?: typeof globalThis.fetch;
|
|
23
|
+
}): Promise<Uint8Array>;
|
|
10
24
|
//# 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":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;AAI5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,mBAAwB,GAAG,YAAY,CAQ/E"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,MAAM,YAAY,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAA;AAI5D,MAAM,WAAW,mBAAmB;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,mBAAwB,GAAG,YAAY,CAQ/E;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,uGAAuG;IACvG,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC,GAAG,OAAO,CAAC,UAAU,CAAC,CAWtB"}
|
package/dist/client.js
CHANGED
|
@@ -13,4 +13,22 @@ export function createMarketClient(opts = {}) {
|
|
|
13
13
|
});
|
|
14
14
|
return createORPCClient(link);
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* The `GET /download` zip view of a version as bytes. The stream is deterministic (store-mode
|
|
18
|
+
* entries, fixed mtimes), so two calls for the same immutable version are byte-identical — which is
|
|
19
|
+
* what upload's "unchanged, skip publishing" check compares against.
|
|
20
|
+
*/
|
|
21
|
+
export async function downloadAssetZipBytes(opts) {
|
|
22
|
+
const url = new URL('/download', opts.baseUrl ?? DEFAULT_BASE_URL);
|
|
23
|
+
url.searchParams.set('name', opts.name);
|
|
24
|
+
url.searchParams.set('version', opts.version);
|
|
25
|
+
if (opts.key)
|
|
26
|
+
url.searchParams.set('key', opts.key);
|
|
27
|
+
const doFetch = opts.fetch ?? globalThis.fetch;
|
|
28
|
+
const response = await doFetch(url.toString(), { headers: buildHeaders(opts.authToken) });
|
|
29
|
+
if (!response.ok) {
|
|
30
|
+
throw new Error(`Download of ${opts.name}@${opts.version} failed (${response.status})`);
|
|
31
|
+
}
|
|
32
|
+
return new Uint8Array(await response.arrayBuffer());
|
|
33
|
+
}
|
|
16
34
|
//# 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":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAM5C,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAQrD,SAAS,YAAY,CAAC,SAAkB;IACtC,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA4B,EAAE;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAA;IAChD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC;QACvB,GAAG,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI;QACtC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;KACtC,CAAC,CAAA;IACF,OAAO,gBAAgB,CAAe,IAAI,CAAC,CAAA;AAC7C,CAAC"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAM5C,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AAQrD,SAAS,YAAY,CAAC,SAAkB;IACtC,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACzE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA4B,EAAE;IAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAA;IAChD,MAAM,IAAI,GAAG,IAAI,OAAO,CAAC;QACvB,GAAG,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,IAAI;QACtC,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC;KACtC,CAAC,CAAA;IACF,OAAO,gBAAgB,CAAe,IAAI,CAAC,CAAA;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAQ3C;IACC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,IAAI,gBAAgB,CAAC,CAAA;IAClE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;IACvC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,IAAI,CAAC,GAAG;QAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAA;IAC9C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;IACzF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,YAAY,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;IACzF,CAAC;IACD,OAAO,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAA;AACrD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":"AAMA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,SAAS,EACf,MAAM,eAAe,CAAA;AAEtB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAA;IACd,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,iFAAiF;IACjF,MAAM,CAAC,EAAE,WAAW,CAAA;CACrB;AAED,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,IAAI,CAAC,CAwFf;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAQlE"}
|
package/dist/commands/upload.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import ora from 'ora';
|
|
2
2
|
import semver from 'semver';
|
|
3
|
+
import { downloadAssetZipBytes } from '../client.js';
|
|
3
4
|
import { getCliClient } from '../cli-client.js';
|
|
4
5
|
import { packAsset, packPolicyFromInstallMetadata, parsePackDependencies } from '../pack.js';
|
|
5
6
|
import { unchangedUploadResult, uploadResult } from '../output.js';
|
|
@@ -22,7 +23,10 @@ export async function uploadCommand(name, zipFilter, description, opts) {
|
|
|
22
23
|
});
|
|
23
24
|
const cwd = opts.cwd ?? process.cwd();
|
|
24
25
|
const type = opts.type;
|
|
25
|
-
const { client } = await getCliClient({
|
|
26
|
+
const { client, baseUrl, authToken } = await getCliClient({
|
|
27
|
+
baseUrl: opts.baseUrl,
|
|
28
|
+
requireAuth: true,
|
|
29
|
+
});
|
|
26
30
|
const installMetadata = await client.asset.installMetadata();
|
|
27
31
|
const packed = await packAsset(zipFilter, {
|
|
28
32
|
cwd,
|
|
@@ -44,11 +48,12 @@ export async function uploadCommand(name, zipFilter, description, opts) {
|
|
|
44
48
|
throw new Error(`Asset "${parsedName}" already exists and is owned by another user`);
|
|
45
49
|
}
|
|
46
50
|
if (existing) {
|
|
47
|
-
const
|
|
51
|
+
const latestBytes = await downloadAssetZipBytes({
|
|
48
52
|
name: parsedName,
|
|
49
53
|
version: existing.latestVersion,
|
|
54
|
+
baseUrl,
|
|
55
|
+
authToken,
|
|
50
56
|
});
|
|
51
|
-
const latestBytes = new Uint8Array(await latestZip.arrayBuffer());
|
|
52
57
|
if (existing.description === parsedDescription &&
|
|
53
58
|
depsEqual(existing.npmDependencies, npmDependencies) &&
|
|
54
59
|
depsEqual(existing.assetDependencies, assetDependencies) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,MAAM,MAAM,QAAQ,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,4BAA4B,GAG7B,MAAM,eAAe,CAAA;AAiBtB,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAAY,EACZ,SAAiB,EACjB,WAAmB,EACnB,IAA0B;IAE1B,MAAM,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACxC,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK;KAChC,CAAC,CAAC,KAAK,EAAE,CAAA;IAEV,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACjF,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAA;QAC7D,0EAA0E;QAC1E,MAAM,YAAY,GAAG,qBAAqB,CAAC;YACzC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAA;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAA;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACtB,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../src/commands/upload.ts"],"names":[],"mappings":"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"}
|
package/dist/contract.d.ts
CHANGED
|
@@ -167,11 +167,6 @@ export declare const contract: {
|
|
|
167
167
|
}>>;
|
|
168
168
|
zip: z.ZodCustom<File, File>;
|
|
169
169
|
}, z.core.$strip>, z.ZodCustom<AssetVersion, AssetVersion>, Record<never, never>, Record<never, never>>;
|
|
170
|
-
downloadZip: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
171
|
-
name: z.ZodString;
|
|
172
|
-
version: z.ZodString;
|
|
173
|
-
key: z.ZodOptional<z.ZodString>;
|
|
174
|
-
}, z.core.$strip>, z.ZodCustom<Blob, Blob>, Record<never, never>, Record<never, never>>;
|
|
175
170
|
files: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
176
171
|
name: z.ZodString;
|
|
177
172
|
version: z.ZodString;
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
package/dist/contract.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { oc } from '@orpc/contract';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { MAX_UPLOAD_ZIP_SIZE_BYTES, agentRunStatusSchema, agentStartSchema, agentStatusSchema, assetFilesSchema,
|
|
3
|
+
import { MAX_UPLOAD_ZIP_SIZE_BYTES, agentRunStatusSchema, agentStartSchema, agentStatusSchema, assetFilesSchema, exactAssetSchema, fileManifestSchema, generateAssetSchema, generateJobStatusSchema, generateResponseSchema, generateStatusInputSchema, listAssetsSchema, updateProfileSchema, uploadZipSchema, } from './schemas.js';
|
|
4
4
|
export const contract = {
|
|
5
5
|
asset: {
|
|
6
6
|
search: oc.input(listAssetsSchema).output(z.custom()),
|
|
@@ -13,7 +13,6 @@ export const contract = {
|
|
|
13
13
|
path: ['zip'],
|
|
14
14
|
}))
|
|
15
15
|
.output(z.custom()),
|
|
16
|
-
downloadZip: oc.input(downloadZipSchema).output(z.instanceof(Blob)),
|
|
17
16
|
// The derived file index of a version — every stored file's path, size and md5 etag plus the
|
|
18
17
|
// fetch-ready data-plane URLs, so installs fetch files in parallel through the same edge cache
|
|
19
18
|
// browsers warm.
|
|
@@ -23,12 +22,9 @@ export const contract = {
|
|
|
23
22
|
// copy of an installed asset without keeping any hashes itself. Private assets are owner-only,
|
|
24
23
|
// same as download.
|
|
25
24
|
fileManifest: oc.input(fileManifestSchema).output(z.custom()),
|
|
26
|
-
// Generation
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
// is held open for the length of the job — the market proxies the upstream service's async job
|
|
30
|
-
// statelessly (see generate-job.ts), so no request outlives a client/proxy timeout. The
|
|
31
|
-
// `generateAndWait` client helper drives both.
|
|
25
|
+
// Generation answers immediately: `completed` for fast providers, or `pending` with an
|
|
26
|
+
// unguessable Market Workflow id for slow providers. The Workflow polls and finalizes the
|
|
27
|
+
// upstream job even when the caller disconnects; `generateStatus` only reads its state.
|
|
32
28
|
generate: oc.input(generateAssetSchema).output(generateResponseSchema),
|
|
33
29
|
generateStatus: oc.input(generateStatusInputSchema).output(generateJobStatusSchema),
|
|
34
30
|
installMetadata: oc.output(z.custom()),
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { createMarketClient } from './client.js';
|
|
1
|
+
export { createMarketClient, downloadAssetZipBytes } from './client.js';
|
|
2
2
|
export type { MarketClient, MarketClientOptions } from './client.js';
|
|
3
3
|
export { contract } from './contract.js';
|
|
4
4
|
export type { AppContract } from './contract.js';
|
|
5
5
|
export type { Asset, AssetExactResult, AssetFileEntry, AssetFilesResult, AssetInstallMetadata, AssetVersion, AssetSearchResult, PaginatedList, User, GenerateAssetResult, } from './contract.js';
|
|
6
|
-
export type {
|
|
6
|
+
export type { AssetVersionRef, AssetExactInput, AssetGenerateInput, AssetImplementation, AssetOwner, AssetProvider, GenerationReceipt, RankedAssetSearchResult, AssetSearchInput, AssetUploadZipInput, } from './asset-implementation.js';
|
|
7
7
|
export { ASSET_RELEVANCE_SCORE, assetRelevanceScore, installMetadataForProvider, withAssetRelevanceScore, } from './asset-implementation.js';
|
|
8
8
|
export { resolve, ResolutionError } from './resolve.js';
|
|
9
9
|
export type { ResolvedAsset, ResolveResult } from './resolve.js';
|
|
@@ -12,10 +12,8 @@ export type { GenerateInput } from './generate.js';
|
|
|
12
12
|
export { GenerationProviderError } from './provider-error.js';
|
|
13
13
|
export { agentAndWait, AgentError } from './agent.js';
|
|
14
14
|
export type { AgentInput } from './agent.js';
|
|
15
|
-
export { ASSET_TYPES, MAX_UPLOAD_ZIP_SIZE_BYTES, assetTypeSchema, semverSchema, assetNameSchema, assetAccessSchema, npmDependenciesSchema, assetDependenciesSchema, skillDependenciesSchema, uploadZipSchema,
|
|
15
|
+
export { ASSET_TYPES, MAX_UPLOAD_ZIP_SIZE_BYTES, assetTypeSchema, semverSchema, assetNameSchema, assetAccessSchema, npmDependenciesSchema, assetDependenciesSchema, skillDependenciesSchema, uploadZipSchema, exactAssetSchema, fileManifestSchema, generateAssetSchema, updateProfileSchema, listAssetsSchema, agentStartSchema, agentStatusSchema, agentResultAssetSchema, agentResultSchema, agentRunStatusSchema, generatedAssetSchema, generateResponseSchema, generateStatusInputSchema, generateJobStatusSchema, } from './schemas.js';
|
|
16
16
|
export type { AssetType, AssetAccess, AssetFileManifest, AgentResultAsset, AgentResult, AgentRunStatus, GenerateResponse, GenerateJobStatus, } from './schemas.js';
|
|
17
|
-
export { encodeGenerationJobId, decodeGenerationJobId, generationJobSchema, } from './generate-job.js';
|
|
18
|
-
export type { GenerationJob } from './generate-job.js';
|
|
19
17
|
export { MAX_FILE_SIZE, ALLOWED_EXTENSIONS, ASSET_TYPE_LABELS } from './constants.js';
|
|
20
18
|
export { packageJsonAssetDependencies, packageJsonAssetDependenciesFromFiles, parsePackageJson, } from './package-json.js';
|
|
21
19
|
export type { PackageJson } from './package-json.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AACvE,YAAY,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAGpE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,YAAY,EACV,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,IAAI,EACJ,mBAAmB,GACpB,MAAM,eAAe,CAAA;AAEtB,YAAY,EACV,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACvD,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGhE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAC9E,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAG7D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AACrD,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAG5C,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,cAAc,CAAA;AACrB,YAAY,EACV,SAAS,EACT,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAErF,OAAO,EACL,4BAA4B,EAC5B,qCAAqC,EACrC,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Client
|
|
2
|
-
export { createMarketClient } from './client.js';
|
|
2
|
+
export { createMarketClient, downloadAssetZipBytes } from './client.js';
|
|
3
3
|
// Contracts
|
|
4
4
|
export { contract } from './contract.js';
|
|
5
5
|
export { ASSET_RELEVANCE_SCORE, assetRelevanceScore, installMetadataForProvider, withAssetRelevanceScore, } from './asset-implementation.js';
|
|
@@ -11,8 +11,7 @@ export { GenerationProviderError } from './provider-error.js';
|
|
|
11
11
|
// Agent
|
|
12
12
|
export { agentAndWait, AgentError } from './agent.js';
|
|
13
13
|
// Schemas
|
|
14
|
-
export { ASSET_TYPES, MAX_UPLOAD_ZIP_SIZE_BYTES, assetTypeSchema, semverSchema, assetNameSchema, assetAccessSchema, npmDependenciesSchema, assetDependenciesSchema, skillDependenciesSchema, uploadZipSchema,
|
|
15
|
-
export { encodeGenerationJobId, decodeGenerationJobId, generationJobSchema, } from './generate-job.js';
|
|
14
|
+
export { ASSET_TYPES, MAX_UPLOAD_ZIP_SIZE_BYTES, assetTypeSchema, semverSchema, assetNameSchema, assetAccessSchema, npmDependenciesSchema, assetDependenciesSchema, skillDependenciesSchema, uploadZipSchema, exactAssetSchema, fileManifestSchema, generateAssetSchema, updateProfileSchema, listAssetsSchema, agentStartSchema, agentStatusSchema, agentResultAssetSchema, agentResultSchema, agentRunStatusSchema, generatedAssetSchema, generateResponseSchema, generateStatusInputSchema, generateJobStatusSchema, } from './schemas.js';
|
|
16
15
|
// Constants
|
|
17
16
|
export { MAX_FILE_SIZE, ALLOWED_EXTENSIONS, ASSET_TYPE_LABELS } from './constants.js';
|
|
18
17
|
export { packageJsonAssetDependencies, packageJsonAssetDependenciesFromFiles, parsePackageJson, } from './package-json.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAGvE,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AA6BxC,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAElC,UAAU;AACV,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAGvD,WAAW;AACX,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAE9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAA;AAE7D,QAAQ;AACR,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAGrD,UAAU;AACV,OAAO,EACL,WAAW,EACX,yBAAyB,EACzB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,cAAc,CAAA;AAYrB,YAAY;AACZ,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAErF,OAAO,EACL,4BAA4B,EAC5B,qCAAqC,EACrC,gBAAgB,GACjB,MAAM,mBAAmB,CAAA"}
|
package/dist/schemas.d.ts
CHANGED
|
@@ -93,11 +93,6 @@ export declare const uploadZipSchema: z.ZodObject<{
|
|
|
93
93
|
private: "private";
|
|
94
94
|
}>>;
|
|
95
95
|
}, z.core.$strip>;
|
|
96
|
-
export declare const downloadZipSchema: z.ZodObject<{
|
|
97
|
-
name: z.ZodString;
|
|
98
|
-
version: z.ZodString;
|
|
99
|
-
key: z.ZodOptional<z.ZodString>;
|
|
100
|
-
}, z.core.$strip>;
|
|
101
96
|
export declare const assetFilesSchema: z.ZodObject<{
|
|
102
97
|
name: z.ZodString;
|
|
103
98
|
version: z.ZodString;
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,WAAW,kJAUd,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD,eAAO,MAAM,eAAe;;;;;;;;;;EAAsB,CAAA;AAElD,eAAO,MAAM,yBAAyB,QAAqB,CAAA;AAC3D,eAAO,MAAM,4BAA4B,OAAO,CAAA;AAEhD,eAAO,MAAM,YAAY,aAKtB,CAAA;AAEH,eAAO,MAAM,eAAe,aAUxB,CAAA;AAEJ,eAAO,MAAM,qBAAqB,qDAA+C,CAAA;AAEjF,eAAO,MAAM,uBAAuB,qDAA+C,CAAA;AAKnF,eAAO,MAAM,uBAAuB,qDAA+C,CAAA;AAEnF,eAAO,MAAM,sBAAsB,aAA+C,CAAA;AAKlF,eAAO,MAAM,iBAAiB;;;EAAgC,CAAA;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;iBAO3B,CAAA;AAKF,eAAO,MAAM,eAAe,aAA6B,CAAA;AAEzD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;iBAM3B,CAAA;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAY1B,CAAA;
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,WAAW,kJAUd,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD,eAAO,MAAM,eAAe;;;;;;;;;;EAAsB,CAAA;AAElD,eAAO,MAAM,yBAAyB,QAAqB,CAAA;AAC3D,eAAO,MAAM,4BAA4B,OAAO,CAAA;AAEhD,eAAO,MAAM,YAAY,aAKtB,CAAA;AAEH,eAAO,MAAM,eAAe,aAUxB,CAAA;AAEJ,eAAO,MAAM,qBAAqB,qDAA+C,CAAA;AAEjF,eAAO,MAAM,uBAAuB,qDAA+C,CAAA;AAKnF,eAAO,MAAM,uBAAuB,qDAA+C,CAAA;AAEnF,eAAO,MAAM,sBAAsB,aAA+C,CAAA;AAKlF,eAAO,MAAM,iBAAiB;;;EAAgC,CAAA;AAC9D,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAE3D,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;iBAO3B,CAAA;AAKF,eAAO,MAAM,eAAe,aAA6B,CAAA;AAEzD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;iBAM3B,CAAA;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAY1B,CAAA;AAIF,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAA;AAEF;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAStD,eAAO,MAAM,qBAAqB,yBAOzB,CAAA;AAET,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;iBAM9B,CAAA;AAGF,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAA;AAGF,eAAO,MAAM,sBAAsB;;;;;;;6BAGjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE,eAAO,MAAM,yBAAyB;;iBAEpC,CAAA;AAIF,eAAO,MAAM,uBAAuB;;;;;;;;;6BAIlC,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAKvE,eAAO,MAAM,gBAAgB;;;kBAG3B,CAAA;AAEF,eAAO,MAAM,iBAAiB;;iBAE5B,CAAA;AAIF,eAAO,MAAM,sBAAsB;;;;;;;;iBAKjC,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAKrE,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAG5B,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAK3D,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;6BAI/B,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA"}
|
package/dist/schemas.js
CHANGED
|
@@ -71,13 +71,8 @@ export const uploadZipSchema = z.object({
|
|
|
71
71
|
// `market:private` scope (rejected otherwise).
|
|
72
72
|
access: assetAccessSchema.optional(),
|
|
73
73
|
});
|
|
74
|
-
export const downloadZipSchema = z.object({
|
|
75
|
-
name: assetNameSchema,
|
|
76
|
-
version: semverSchema,
|
|
77
|
-
key: accessKeySchema.optional(),
|
|
78
|
-
});
|
|
79
74
|
// Input of `asset.files`: the derived file index of a version, for per-file installs from the data
|
|
80
|
-
// plane. Same credential rules as
|
|
75
|
+
// plane. Same credential rules as the `GET /download` zip view: an identified viewer or a `key`.
|
|
81
76
|
export const assetFilesSchema = z.object({
|
|
82
77
|
name: assetNameSchema,
|
|
83
78
|
version: semverSchema,
|
|
@@ -111,9 +106,7 @@ export const generatedAssetSchema = z.object({
|
|
|
111
106
|
assetName: assetNameSchema,
|
|
112
107
|
version: semverSchema,
|
|
113
108
|
});
|
|
114
|
-
//
|
|
115
|
-
// providers like the humanoid model, whose upstream job runs for minutes — see generate-job.ts). A
|
|
116
|
-
// discriminated union keeps "pending without a job id" and "done without an asset" unrepresentable.
|
|
109
|
+
// Fast providers finish inline; slow providers return a Workflow id to poll.
|
|
117
110
|
export const generateResponseSchema = z.discriminatedUnion('status', [
|
|
118
111
|
generatedAssetSchema.extend({ status: z.literal('completed') }),
|
|
119
112
|
z.object({ status: z.literal('pending'), jobId: z.string().min(1) }),
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.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.1.
|
|
3
|
+
"version": "0.1.99",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/drawcall-ai/market",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"build": "tsc",
|
|
31
31
|
"prepack": "npm run build && node scripts/prepare-publish.mjs",
|
|
32
32
|
"dev": "tsx src/cli.ts",
|
|
33
|
-
"test": "
|
|
33
|
+
"test": "tsx --test tests/*.test.ts",
|
|
34
34
|
"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
35
|
"typecheck": "tsc --noEmit"
|
|
36
36
|
},
|
|
@@ -46,7 +46,7 @@ export interface AssetUploadZipInput {
|
|
|
46
46
|
access?: AssetAccess
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
export interface
|
|
49
|
+
export interface AssetVersionRef {
|
|
50
50
|
name: string
|
|
51
51
|
version: string
|
|
52
52
|
/** The asset's capability key, an alternative credential to identity for private/unapproved assets. */
|
|
@@ -67,6 +67,15 @@ export interface AssetOwner {
|
|
|
67
67
|
role: string
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
+
export interface GenerationReceipt {
|
|
71
|
+
type: AssetType
|
|
72
|
+
providerJobId: string
|
|
73
|
+
description: string
|
|
74
|
+
assetName: string
|
|
75
|
+
ownerId: string
|
|
76
|
+
access: AssetAccess
|
|
77
|
+
}
|
|
78
|
+
|
|
70
79
|
export interface AssetProvider {
|
|
71
80
|
type: AssetType
|
|
72
81
|
/** Shown when an agent asks how to search this asset type. */
|
|
@@ -89,14 +98,10 @@ export interface AssetProvider {
|
|
|
89
98
|
uploadZip(input: AssetUploadZipInput, owner: AssetOwner): Promise<AssetVersion>
|
|
90
99
|
generate?(input: AssetGenerateInput, owner: AssetOwner): Promise<GenerateAssetResult>
|
|
91
100
|
/**
|
|
92
|
-
* Job-based generation for providers whose upstream work runs for minutes
|
|
93
|
-
* `startGeneration` kicks off the upstream job and returns a pollable jobId WITHOUT waiting;
|
|
94
|
-
* `generationStatus` checks that job on each poll and, once the upstream work is done, persists it
|
|
95
|
-
* and returns the asset. A provider implements EITHER `generate` (fast, inline) OR this pair (slow,
|
|
96
|
-
* polled) — never relying on one long-held request. See generate-job.ts.
|
|
101
|
+
* Job-based generation for providers whose upstream work runs for minutes.
|
|
97
102
|
*/
|
|
98
|
-
startGeneration?(input: AssetGenerateInput, owner: AssetOwner): Promise<
|
|
99
|
-
generationStatus?(
|
|
103
|
+
startGeneration?(input: AssetGenerateInput, owner: AssetOwner): Promise<GenerationReceipt>
|
|
104
|
+
generationStatus?(receipt: GenerationReceipt): Promise<GenerateJobStatus>
|
|
100
105
|
}
|
|
101
106
|
|
|
102
107
|
export type AssetImplementation = AssetProvider
|
package/src/client.ts
CHANGED
|
@@ -26,3 +26,29 @@ export function createMarketClient(opts: MarketClientOptions = {}): MarketClient
|
|
|
26
26
|
})
|
|
27
27
|
return createORPCClient<MarketClient>(link)
|
|
28
28
|
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The `GET /download` zip view of a version as bytes. The stream is deterministic (store-mode
|
|
32
|
+
* entries, fixed mtimes), so two calls for the same immutable version are byte-identical — which is
|
|
33
|
+
* what upload's "unchanged, skip publishing" check compares against.
|
|
34
|
+
*/
|
|
35
|
+
export async function downloadAssetZipBytes(opts: {
|
|
36
|
+
name: string
|
|
37
|
+
version: string
|
|
38
|
+
baseUrl?: string
|
|
39
|
+
authToken?: string
|
|
40
|
+
/** The asset's capability key, an alternative credential to identity for private/unapproved assets. */
|
|
41
|
+
key?: string
|
|
42
|
+
fetch?: typeof globalThis.fetch
|
|
43
|
+
}): Promise<Uint8Array> {
|
|
44
|
+
const url = new URL('/download', opts.baseUrl ?? DEFAULT_BASE_URL)
|
|
45
|
+
url.searchParams.set('name', opts.name)
|
|
46
|
+
url.searchParams.set('version', opts.version)
|
|
47
|
+
if (opts.key) url.searchParams.set('key', opts.key)
|
|
48
|
+
const doFetch = opts.fetch ?? globalThis.fetch
|
|
49
|
+
const response = await doFetch(url.toString(), { headers: buildHeaders(opts.authToken) })
|
|
50
|
+
if (!response.ok) {
|
|
51
|
+
throw new Error(`Download of ${opts.name}@${opts.version} failed (${response.status})`)
|
|
52
|
+
}
|
|
53
|
+
return new Uint8Array(await response.arrayBuffer())
|
|
54
|
+
}
|
package/src/commands/upload.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import ora from 'ora'
|
|
2
2
|
import semver from 'semver'
|
|
3
|
+
import { downloadAssetZipBytes } from '../client.js'
|
|
3
4
|
import { getCliClient } from '../cli-client.js'
|
|
4
5
|
import { packAsset, packPolicyFromInstallMetadata, parsePackDependencies } from '../pack.js'
|
|
5
6
|
import { unchangedUploadResult, uploadResult } from '../output.js'
|
|
@@ -51,7 +52,10 @@ export async function uploadCommand(
|
|
|
51
52
|
})
|
|
52
53
|
const cwd = opts.cwd ?? process.cwd()
|
|
53
54
|
const type = opts.type
|
|
54
|
-
const { client } = await getCliClient({
|
|
55
|
+
const { client, baseUrl, authToken } = await getCliClient({
|
|
56
|
+
baseUrl: opts.baseUrl,
|
|
57
|
+
requireAuth: true,
|
|
58
|
+
})
|
|
55
59
|
const installMetadata = await client.asset.installMetadata()
|
|
56
60
|
const packed = await packAsset(zipFilter, {
|
|
57
61
|
cwd,
|
|
@@ -75,11 +79,12 @@ export async function uploadCommand(
|
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
if (existing) {
|
|
78
|
-
const
|
|
82
|
+
const latestBytes = await downloadAssetZipBytes({
|
|
79
83
|
name: parsedName,
|
|
80
84
|
version: existing.latestVersion,
|
|
85
|
+
baseUrl,
|
|
86
|
+
authToken,
|
|
81
87
|
})
|
|
82
|
-
const latestBytes = new Uint8Array(await latestZip.arrayBuffer())
|
|
83
88
|
if (
|
|
84
89
|
existing.description === parsedDescription &&
|
|
85
90
|
depsEqual(existing.npmDependencies, npmDependencies) &&
|
package/src/contract.ts
CHANGED
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
agentStartSchema,
|
|
8
8
|
agentStatusSchema,
|
|
9
9
|
assetFilesSchema,
|
|
10
|
-
downloadZipSchema,
|
|
11
10
|
exactAssetSchema,
|
|
12
11
|
fileManifestSchema,
|
|
13
12
|
generateAssetSchema,
|
|
@@ -147,8 +146,6 @@ export const contract = {
|
|
|
147
146
|
)
|
|
148
147
|
.output(z.custom<AssetVersion>()),
|
|
149
148
|
|
|
150
|
-
downloadZip: oc.input(downloadZipSchema).output(z.instanceof(Blob)),
|
|
151
|
-
|
|
152
149
|
// The derived file index of a version — every stored file's path, size and md5 etag plus the
|
|
153
150
|
// fetch-ready data-plane URLs, so installs fetch files in parallel through the same edge cache
|
|
154
151
|
// browsers warm.
|
|
@@ -160,12 +157,9 @@ export const contract = {
|
|
|
160
157
|
// same as download.
|
|
161
158
|
fileManifest: oc.input(fileManifestSchema).output(z.custom<AssetFileManifest>()),
|
|
162
159
|
|
|
163
|
-
// Generation
|
|
164
|
-
//
|
|
165
|
-
//
|
|
166
|
-
// is held open for the length of the job — the market proxies the upstream service's async job
|
|
167
|
-
// statelessly (see generate-job.ts), so no request outlives a client/proxy timeout. The
|
|
168
|
-
// `generateAndWait` client helper drives both.
|
|
160
|
+
// Generation answers immediately: `completed` for fast providers, or `pending` with an
|
|
161
|
+
// unguessable Market Workflow id for slow providers. The Workflow polls and finalizes the
|
|
162
|
+
// upstream job even when the caller disconnects; `generateStatus` only reads its state.
|
|
169
163
|
generate: oc.input(generateAssetSchema).output(generateResponseSchema),
|
|
170
164
|
|
|
171
165
|
generateStatus: oc.input(generateStatusInputSchema).output(generateJobStatusSchema),
|
package/src/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Client
|
|
2
|
-
export { createMarketClient } from './client.js'
|
|
2
|
+
export { createMarketClient, downloadAssetZipBytes } from './client.js'
|
|
3
3
|
export type { MarketClient, MarketClientOptions } from './client.js'
|
|
4
4
|
|
|
5
5
|
// Contracts
|
|
@@ -21,12 +21,13 @@ export type {
|
|
|
21
21
|
} from './contract.js'
|
|
22
22
|
|
|
23
23
|
export type {
|
|
24
|
-
|
|
24
|
+
AssetVersionRef,
|
|
25
25
|
AssetExactInput,
|
|
26
26
|
AssetGenerateInput,
|
|
27
27
|
AssetImplementation,
|
|
28
28
|
AssetOwner,
|
|
29
29
|
AssetProvider,
|
|
30
|
+
GenerationReceipt,
|
|
30
31
|
RankedAssetSearchResult,
|
|
31
32
|
AssetSearchInput,
|
|
32
33
|
AssetUploadZipInput,
|
|
@@ -63,7 +64,6 @@ export {
|
|
|
63
64
|
assetDependenciesSchema,
|
|
64
65
|
skillDependenciesSchema,
|
|
65
66
|
uploadZipSchema,
|
|
66
|
-
downloadZipSchema,
|
|
67
67
|
exactAssetSchema,
|
|
68
68
|
fileManifestSchema,
|
|
69
69
|
generateAssetSchema,
|
|
@@ -90,13 +90,6 @@ export type {
|
|
|
90
90
|
GenerateJobStatus,
|
|
91
91
|
} from './schemas.js'
|
|
92
92
|
|
|
93
|
-
export {
|
|
94
|
-
encodeGenerationJobId,
|
|
95
|
-
decodeGenerationJobId,
|
|
96
|
-
generationJobSchema,
|
|
97
|
-
} from './generate-job.js'
|
|
98
|
-
export type { GenerationJob } from './generate-job.js'
|
|
99
|
-
|
|
100
93
|
// Constants
|
|
101
94
|
export { MAX_FILE_SIZE, ALLOWED_EXTENSIONS, ASSET_TYPE_LABELS } from './constants.js'
|
|
102
95
|
|
package/src/schemas.ts
CHANGED
|
@@ -95,14 +95,8 @@ export const uploadZipSchema = z.object({
|
|
|
95
95
|
access: assetAccessSchema.optional(),
|
|
96
96
|
})
|
|
97
97
|
|
|
98
|
-
export const downloadZipSchema = z.object({
|
|
99
|
-
name: assetNameSchema,
|
|
100
|
-
version: semverSchema,
|
|
101
|
-
key: accessKeySchema.optional(),
|
|
102
|
-
})
|
|
103
|
-
|
|
104
98
|
// Input of `asset.files`: the derived file index of a version, for per-file installs from the data
|
|
105
|
-
// plane. Same credential rules as
|
|
99
|
+
// plane. Same credential rules as the `GET /download` zip view: an identified viewer or a `key`.
|
|
106
100
|
export const assetFilesSchema = z.object({
|
|
107
101
|
name: assetNameSchema,
|
|
108
102
|
version: semverSchema,
|
|
@@ -151,9 +145,7 @@ export const generatedAssetSchema = z.object({
|
|
|
151
145
|
version: semverSchema,
|
|
152
146
|
})
|
|
153
147
|
|
|
154
|
-
//
|
|
155
|
-
// providers like the humanoid model, whose upstream job runs for minutes — see generate-job.ts). A
|
|
156
|
-
// discriminated union keeps "pending without a job id" and "done without an asset" unrepresentable.
|
|
148
|
+
// Fast providers finish inline; slow providers return a Workflow id to poll.
|
|
157
149
|
export const generateResponseSchema = z.discriminatedUnion('status', [
|
|
158
150
|
generatedAssetSchema.extend({ status: z.literal('completed') }),
|
|
159
151
|
z.object({ status: z.literal('pending'), jobId: z.string().min(1) }),
|
package/dist/generate-job.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const generationJobSchema: z.ZodObject<{
|
|
3
|
-
type: z.ZodEnum<{
|
|
4
|
-
model: "model";
|
|
5
|
-
"humanoid-model": "humanoid-model";
|
|
6
|
-
texture: "texture";
|
|
7
|
-
"humanoid-animation": "humanoid-animation";
|
|
8
|
-
template: "template";
|
|
9
|
-
"sound-effect": "sound-effect";
|
|
10
|
-
"background-music": "background-music";
|
|
11
|
-
environment: "environment";
|
|
12
|
-
flipbook: "flipbook";
|
|
13
|
-
}>;
|
|
14
|
-
providerJobId: z.ZodString;
|
|
15
|
-
description: z.ZodString;
|
|
16
|
-
assetName: z.ZodString;
|
|
17
|
-
access: z.ZodDefault<z.ZodEnum<{
|
|
18
|
-
public: "public";
|
|
19
|
-
private: "private";
|
|
20
|
-
}>>;
|
|
21
|
-
}, z.core.$strip>;
|
|
22
|
-
export type GenerationJob = z.infer<typeof generationJobSchema>;
|
|
23
|
-
export declare function encodeGenerationJobId(job: GenerationJob): string;
|
|
24
|
-
export declare function decodeGenerationJobId(jobId: string): GenerationJob;
|
|
25
|
-
//# sourceMappingURL=generate-job.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-job.d.ts","sourceRoot":"","sources":["../src/generate-job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAUvB,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;iBAS9B,CAAA;AACF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAE/D,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAEhE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,CAQlE"}
|
package/dist/generate-job.js
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { assetAccessSchema, assetTypeSchema } from './schemas.js';
|
|
3
|
-
// A long-running generation is exposed to the caller as a job it polls (see `generate` /
|
|
4
|
-
// `generateStatus` in the contract). The market itself keeps NO state between polls: everything
|
|
5
|
-
// `generateStatus` needs to resume a job lives in the opaque jobId — which provider (`type`), the
|
|
6
|
-
// upstream provider's own job id (`providerJobId`, e.g. the character API job), the original
|
|
7
|
-
// `description` (stored metadata + search text), and the `assetName` pinned at start so a finalize
|
|
8
|
-
// re-run persists to the SAME name@version (idempotent) instead of minting a fresh unique name. The
|
|
9
|
-
// upstream service is the source of truth, so the market is a thin stateless proxy over its job.
|
|
10
|
-
export const generationJobSchema = z.object({
|
|
11
|
-
type: assetTypeSchema,
|
|
12
|
-
providerJobId: z.string().min(1),
|
|
13
|
-
description: z.string().min(1),
|
|
14
|
-
assetName: z.string().min(1),
|
|
15
|
-
// The resolved visibility to persist when the job finalizes. Carried in the (stateless) jobId so
|
|
16
|
-
// the finalizing poll sets the same access the caller chose at start. Defaults to public for jobs
|
|
17
|
-
// minted before this field existed.
|
|
18
|
-
access: assetAccessSchema.default('public'),
|
|
19
|
-
});
|
|
20
|
-
export function encodeGenerationJobId(job) {
|
|
21
|
-
return Buffer.from(JSON.stringify(job), 'utf8').toString('base64url');
|
|
22
|
-
}
|
|
23
|
-
export function decodeGenerationJobId(jobId) {
|
|
24
|
-
let parsed;
|
|
25
|
-
try {
|
|
26
|
-
parsed = JSON.parse(Buffer.from(jobId, 'base64url').toString('utf8'));
|
|
27
|
-
}
|
|
28
|
-
catch {
|
|
29
|
-
throw new Error('Malformed generation job id');
|
|
30
|
-
}
|
|
31
|
-
return generationJobSchema.parse(parsed);
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=generate-job.js.map
|
package/dist/generate-job.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"generate-job.js","sourceRoot":"","sources":["../src/generate-job.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEjE,yFAAyF;AACzF,gGAAgG;AAChG,kGAAkG;AAClG,6FAA6F;AAC7F,mGAAmG;AACnG,oGAAoG;AACpG,iGAAiG;AACjG,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,eAAe;IACrB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,iGAAiG;IACjG,kGAAkG;IAClG,oCAAoC;IACpC,MAAM,EAAE,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC5C,CAAC,CAAA;AAGF,MAAM,UAAU,qBAAqB,CAAC,GAAkB;IACtD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAa;IACjD,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;AAC1C,CAAC"}
|
package/src/generate-job.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod'
|
|
2
|
-
import { assetAccessSchema, assetTypeSchema } from './schemas.js'
|
|
3
|
-
|
|
4
|
-
// A long-running generation is exposed to the caller as a job it polls (see `generate` /
|
|
5
|
-
// `generateStatus` in the contract). The market itself keeps NO state between polls: everything
|
|
6
|
-
// `generateStatus` needs to resume a job lives in the opaque jobId — which provider (`type`), the
|
|
7
|
-
// upstream provider's own job id (`providerJobId`, e.g. the character API job), the original
|
|
8
|
-
// `description` (stored metadata + search text), and the `assetName` pinned at start so a finalize
|
|
9
|
-
// re-run persists to the SAME name@version (idempotent) instead of minting a fresh unique name. The
|
|
10
|
-
// upstream service is the source of truth, so the market is a thin stateless proxy over its job.
|
|
11
|
-
export const generationJobSchema = z.object({
|
|
12
|
-
type: assetTypeSchema,
|
|
13
|
-
providerJobId: z.string().min(1),
|
|
14
|
-
description: z.string().min(1),
|
|
15
|
-
assetName: z.string().min(1),
|
|
16
|
-
// The resolved visibility to persist when the job finalizes. Carried in the (stateless) jobId so
|
|
17
|
-
// the finalizing poll sets the same access the caller chose at start. Defaults to public for jobs
|
|
18
|
-
// minted before this field existed.
|
|
19
|
-
access: assetAccessSchema.default('public'),
|
|
20
|
-
})
|
|
21
|
-
export type GenerationJob = z.infer<typeof generationJobSchema>
|
|
22
|
-
|
|
23
|
-
export function encodeGenerationJobId(job: GenerationJob): string {
|
|
24
|
-
return Buffer.from(JSON.stringify(job), 'utf8').toString('base64url')
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function decodeGenerationJobId(jobId: string): GenerationJob {
|
|
28
|
-
let parsed: unknown
|
|
29
|
-
try {
|
|
30
|
-
parsed = JSON.parse(Buffer.from(jobId, 'base64url').toString('utf8'))
|
|
31
|
-
} catch {
|
|
32
|
-
throw new Error('Malformed generation job id')
|
|
33
|
-
}
|
|
34
|
-
return generationJobSchema.parse(parsed)
|
|
35
|
-
}
|