@helix3/helix-cli 0.1.14-helix3.178 → 0.1.14-helix3.179
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/continuum/adminPackagePublishCommand.d.ts +12 -0
- package/dist/continuum/adminPackagePublishCommand.js +21 -0
- package/dist/continuum/adminPackagePublishCommand.js.map +1 -0
- package/dist/continuum/characterMigrationGenerator.d.ts +17 -0
- package/dist/continuum/characterMigrationGenerator.js +242 -0
- package/dist/continuum/characterMigrationGenerator.js.map +1 -0
- package/dist/continuum/cli.d.ts +1 -0
- package/dist/continuum/cli.js +3 -2
- package/dist/continuum/cli.js.map +1 -1
- package/dist/continuum/client.d.ts +14 -1
- package/dist/continuum/client.js +18 -1
- package/dist/continuum/client.js.map +1 -1
- package/dist/continuum/index.d.ts +1 -0
- package/dist/continuum/index.js +1 -0
- package/dist/continuum/index.js.map +1 -1
- package/dist/continuum/types.d.ts +6 -0
- package/dist/continuum/workflow.js +5 -1
- package/dist/continuum/workflow.js.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
import type { CliCredentials } from '../config';
|
|
3
|
+
export interface ContinuumAdminPackagePublishDependencies {
|
|
4
|
+
requireAuth(): CliCredentials;
|
|
5
|
+
publishLegacyItemPackage(credentials: CliCredentials, path: string, options: {
|
|
6
|
+
confirmPublicListing: boolean;
|
|
7
|
+
}): Promise<unknown>;
|
|
8
|
+
printJson(value: unknown): void;
|
|
9
|
+
fail(message: string): never;
|
|
10
|
+
}
|
|
11
|
+
/** Complete resumable migration path; only legacy pins and Listings use admin authority. */
|
|
12
|
+
export declare function registerContinuumAdminPackagePublishCommand(continuum: Command, dependencies: ContinuumAdminPackagePublishDependencies): void;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.registerContinuumAdminPackagePublishCommand = registerContinuumAdminPackagePublishCommand;
|
|
4
|
+
/** Complete resumable migration path; only legacy pins and Listings use admin authority. */
|
|
5
|
+
function registerContinuumAdminPackagePublishCommand(continuum, dependencies) {
|
|
6
|
+
continuum
|
|
7
|
+
.command('publish-legacy-item-package')
|
|
8
|
+
.description('Admin-only: publish and pin a legacy Universal Item Package through Continuum')
|
|
9
|
+
.argument('<input>', 'publication JSON; file object paths are resolved beside this file')
|
|
10
|
+
.option('--confirm-public-listing', 'explicitly authorize public Vault/Marketplace Listings for this CLI invocation')
|
|
11
|
+
.action(async (path, options) => {
|
|
12
|
+
try {
|
|
13
|
+
const receipt = await dependencies.publishLegacyItemPackage(dependencies.requireAuth(), path, { confirmPublicListing: options.confirmPublicListing === true });
|
|
14
|
+
dependencies.printJson(receipt);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
dependencies.fail(`✖ ${error instanceof Error ? error.message : String(error)}`);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=adminPackagePublishCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adminPackagePublishCommand.js","sourceRoot":"","sources":["../../src/continuum/adminPackagePublishCommand.ts"],"names":[],"mappings":";;AAeA,kGAqBC;AAtBD,4FAA4F;AAC5F,SAAgB,2CAA2C,CACzD,SAAkB,EAClB,YAAsD;IAEtD,SAAS;SACN,OAAO,CAAC,6BAA6B,CAAC;SACtC,WAAW,CAAC,+EAA+E,CAAC;SAC5F,QAAQ,CAAC,SAAS,EAAE,mEAAmE,CAAC;SACxF,MAAM,CAAC,0BAA0B,EAAE,gFAAgF,CAAC;SACpH,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAA2C,EAAE,EAAE;QAC1E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,wBAAwB,CACzD,YAAY,CAAC,WAAW,EAAE,EAC1B,IAAI,EACJ,EAAE,oBAAoB,EAAE,OAAO,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAChE,CAAC;YACF,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
export declare const DEFAULT_CHARACTER_BASE_ITEM_IDS: readonly ["b45e4a1e-0000-4000-8000-000000000001", "bcafa7e1-9487-422d-8c08-e152b81f1f45"];
|
|
3
|
+
export interface CharacterMigrationGeneratorOptions {
|
|
4
|
+
outputDirectory: string;
|
|
5
|
+
apiBaseUrl?: string;
|
|
6
|
+
itemIds?: string[];
|
|
7
|
+
baseItemIds?: string[];
|
|
8
|
+
fetch?: typeof fetch;
|
|
9
|
+
}
|
|
10
|
+
export interface CharacterMigrationGeneratorReceipt {
|
|
11
|
+
status: 'ready';
|
|
12
|
+
count: number;
|
|
13
|
+
outputDirectory: string;
|
|
14
|
+
itemIds: string[];
|
|
15
|
+
}
|
|
16
|
+
export declare function generateCharacterContinuumMigration(options: CharacterMigrationGeneratorOptions): Promise<CharacterMigrationGeneratorReceipt>;
|
|
17
|
+
export declare function registerCharacterContinuumMigrationGeneratorCommand(continuum: Command): void;
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_CHARACTER_BASE_ITEM_IDS = void 0;
|
|
4
|
+
exports.generateCharacterContinuumMigration = generateCharacterContinuumMigration;
|
|
5
|
+
exports.registerCharacterContinuumMigrationGeneratorCommand = registerCharacterContinuumMigrationGeneratorCommand;
|
|
6
|
+
const node_crypto_1 = require("node:crypto");
|
|
7
|
+
const promises_1 = require("node:fs/promises");
|
|
8
|
+
const node_path_1 = require("node:path");
|
|
9
|
+
const helix_manifest_1 = require("@hypersoniclabs/helix-manifest");
|
|
10
|
+
const config_1 = require("../config");
|
|
11
|
+
const cli_1 = require("./cli");
|
|
12
|
+
const identity_1 = require("./identity");
|
|
13
|
+
exports.DEFAULT_CHARACTER_BASE_ITEM_IDS = [
|
|
14
|
+
'b45e4a1e-0000-4000-8000-000000000001',
|
|
15
|
+
'bcafa7e1-9487-422d-8c08-e152b81f1f45',
|
|
16
|
+
];
|
|
17
|
+
const IDENTITY_NAMESPACE = 'helix.creator.character-continuum-migration/1';
|
|
18
|
+
const MAX_MIGRATION_ITEMS = 100;
|
|
19
|
+
const REQUEST_CONCURRENCY = 8;
|
|
20
|
+
function migrationUuid(key) {
|
|
21
|
+
return (0, identity_1.deterministicContinuumUuid)(`${IDENTITY_NAMESPACE}\0${key}`);
|
|
22
|
+
}
|
|
23
|
+
function jsonFileBytes(value) {
|
|
24
|
+
return Buffer.concat([Buffer.from((0, helix_manifest_1.canonicalJsonBytes)(value)), Buffer.from('\n')]);
|
|
25
|
+
}
|
|
26
|
+
function slug(value) {
|
|
27
|
+
return value.toLowerCase().normalize('NFKD').replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '').slice(0, 48) || 'character-item';
|
|
28
|
+
}
|
|
29
|
+
async function boundedMap(values, mapper) {
|
|
30
|
+
const results = new Array(values.length);
|
|
31
|
+
let cursor = 0;
|
|
32
|
+
await Promise.all(Array.from({ length: Math.min(REQUEST_CONCURRENCY, values.length) }, async () => {
|
|
33
|
+
while (cursor < values.length) {
|
|
34
|
+
const index = cursor;
|
|
35
|
+
cursor += 1;
|
|
36
|
+
results[index] = await mapper(values[index]);
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
return results;
|
|
40
|
+
}
|
|
41
|
+
async function getJson(fetcher, apiBaseUrl, path) {
|
|
42
|
+
const response = await fetcher(`${apiBaseUrl}${path}`);
|
|
43
|
+
if (!response.ok)
|
|
44
|
+
throw new Error(`GET ${path} failed with HTTP ${response.status}`);
|
|
45
|
+
const body = await response.json();
|
|
46
|
+
return body && typeof body === 'object' && 'item' in body && body.item !== undefined
|
|
47
|
+
? body.item
|
|
48
|
+
: body;
|
|
49
|
+
}
|
|
50
|
+
async function downloadForPublication(fetcher, url) {
|
|
51
|
+
const response = await fetcher(url);
|
|
52
|
+
if (!response.ok)
|
|
53
|
+
throw new Error(`GET ${url} failed with HTTP ${response.status}`);
|
|
54
|
+
if (!response.body)
|
|
55
|
+
throw new Error(`GET ${url} returned no response body`);
|
|
56
|
+
const hash = (0, node_crypto_1.createHash)('sha256');
|
|
57
|
+
const inlineChunks = [];
|
|
58
|
+
let byteLength = 0;
|
|
59
|
+
let retainInline = true;
|
|
60
|
+
for await (const chunk of response.body) {
|
|
61
|
+
const bytes = Buffer.from(chunk);
|
|
62
|
+
byteLength += bytes.byteLength;
|
|
63
|
+
hash.update(bytes);
|
|
64
|
+
if (retainInline && byteLength <= cli_1.MAX_INLINE_OBJECT_BYTES) {
|
|
65
|
+
inlineChunks.push(bytes);
|
|
66
|
+
}
|
|
67
|
+
else if (retainInline) {
|
|
68
|
+
retainInline = false;
|
|
69
|
+
inlineChunks.length = 0;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (byteLength === 0)
|
|
73
|
+
throw new Error(`GET ${url} returned an empty asset`);
|
|
74
|
+
return {
|
|
75
|
+
digest: hash.digest('hex'),
|
|
76
|
+
byteLength,
|
|
77
|
+
...(retainInline ? { inlineBytes: Buffer.concat(inlineChunks, byteLength) } : {}),
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function assertBoundedIds(ids, label) {
|
|
81
|
+
const unique = [...new Set(ids)];
|
|
82
|
+
if (unique.length > MAX_MIGRATION_ITEMS) {
|
|
83
|
+
throw new TypeError(`${label} exceeds the ${MAX_MIGRATION_ITEMS}-item migration batch limit`);
|
|
84
|
+
}
|
|
85
|
+
unique.forEach((id) => (0, identity_1.assertContinuumUuid)(id, label));
|
|
86
|
+
return unique;
|
|
87
|
+
}
|
|
88
|
+
async function inventory(options) {
|
|
89
|
+
const explicitIds = assertBoundedIds(options.itemIds ?? [], 'Universal Item id');
|
|
90
|
+
if (explicitIds.length) {
|
|
91
|
+
return boundedMap(explicitIds, (id) => getJson(options.fetch, options.apiBaseUrl, `/api/v1/universal-items/${id}`));
|
|
92
|
+
}
|
|
93
|
+
const baseIds = assertBoundedIds(options.baseItemIds?.length ? options.baseItemIds : [...exports.DEFAULT_CHARACTER_BASE_ITEM_IDS], 'base Universal Item id');
|
|
94
|
+
const compatibleResponses = await boundedMap(baseIds, (baseId) => getJson(options.fetch, options.apiBaseUrl, `/api/v1/universal-items/${baseId}/add-ons?limit=${MAX_MIGRATION_ITEMS}`));
|
|
95
|
+
const ids = new Set(baseIds);
|
|
96
|
+
compatibleResponses.forEach((compatible, index) => {
|
|
97
|
+
if (!Array.isArray(compatible.items))
|
|
98
|
+
throw new Error(`${baseIds[index]} compatible add-ons response is not an array`);
|
|
99
|
+
if (Number.isInteger(compatible.total) && compatible.total > compatible.items.length) {
|
|
100
|
+
throw new Error(`${baseIds[index]} returned ${compatible.items.length} of ${compatible.total} compatible add-ons; generate explicit --item-id descriptors instead of silently truncating`);
|
|
101
|
+
}
|
|
102
|
+
compatible.items.forEach((item) => ids.add(item.id));
|
|
103
|
+
});
|
|
104
|
+
const discoveredIds = assertBoundedIds([...ids], 'discovered Universal Item id');
|
|
105
|
+
return boundedMap(discoveredIds, (id) => getJson(options.fetch, options.apiBaseUrl, `/api/v1/universal-items/${id}`));
|
|
106
|
+
}
|
|
107
|
+
function listing(itemId, surface, item, packageId) {
|
|
108
|
+
return {
|
|
109
|
+
listing: {
|
|
110
|
+
schema: 'helix.continuum.listing/1',
|
|
111
|
+
id: migrationUuid(`listing:${itemId}:${surface}`),
|
|
112
|
+
surface,
|
|
113
|
+
target: surface === 'vault'
|
|
114
|
+
? { type: 'package', packageId }
|
|
115
|
+
: { type: 'universal-item', universalItemId: itemId },
|
|
116
|
+
visibility: 'public',
|
|
117
|
+
title: item.title,
|
|
118
|
+
tags: ['character', item.kind === 'avatar' ? 'base' : 'add-on'],
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
async function descriptor(item, outputDirectory, fetcher) {
|
|
123
|
+
if (item.kind !== 'avatar' && item.kind !== 'add_on') {
|
|
124
|
+
throw new Error(`${item.id} ${item.title} is ${item.kind}, not a character base or add-on`);
|
|
125
|
+
}
|
|
126
|
+
if (item.kind === 'add_on' && item.hostKind !== 'character') {
|
|
127
|
+
throw new Error(`${item.id} ${item.title} is an add-on for ${item.hostKind ?? 'an unknown host'}, not a character`);
|
|
128
|
+
}
|
|
129
|
+
if (item.status !== 'published') {
|
|
130
|
+
throw new Error(`${item.id} ${item.title} must be published before generating public Continuum adoption`);
|
|
131
|
+
}
|
|
132
|
+
const web = item.assets?.find((asset) => asset.rendition === 'web' && asset.status === 'ready' && asset.mimeType === 'model/gltf-binary');
|
|
133
|
+
if (!web?.cdnUrl)
|
|
134
|
+
throw new Error(`${item.id} ${item.title} has no ready web GLB`);
|
|
135
|
+
const downloaded = await downloadForPublication(fetcher, web.cdnUrl);
|
|
136
|
+
const filename = (0, node_path_1.basename)(new URL(web.cdnUrl).pathname);
|
|
137
|
+
const glbReference = {
|
|
138
|
+
cid: `cid:sha256:${downloaded.digest}`,
|
|
139
|
+
bytes: downloaded.byteLength,
|
|
140
|
+
mediaType: 'model/gltf-binary',
|
|
141
|
+
role: item.kind === 'avatar' ? 'character-rendition' : 'web-rendition',
|
|
142
|
+
};
|
|
143
|
+
const packageId = migrationUuid(`package:${item.id}`);
|
|
144
|
+
const isBase = item.kind === 'avatar';
|
|
145
|
+
const objects = [];
|
|
146
|
+
let root = glbReference;
|
|
147
|
+
if (!isBase) {
|
|
148
|
+
const definitionBytes = jsonFileBytes({
|
|
149
|
+
schema: 'helix.continuum.character-addon/1',
|
|
150
|
+
itemId: item.id,
|
|
151
|
+
title: item.title,
|
|
152
|
+
hostKind: item.hostKind,
|
|
153
|
+
...(item.fits?.slotType ? { slotType: item.fits.slotType } : {}),
|
|
154
|
+
fits: item.fits ?? {},
|
|
155
|
+
ops: item.ops ?? item.properties?.ops ?? [],
|
|
156
|
+
rendition: glbReference,
|
|
157
|
+
});
|
|
158
|
+
root = {
|
|
159
|
+
cid: `cid:sha256:${(0, node_crypto_1.createHash)('sha256').update(definitionBytes).digest('hex')}`,
|
|
160
|
+
bytes: definitionBytes.byteLength,
|
|
161
|
+
mediaType: 'application/vnd.helix.character-addon+json;version=1',
|
|
162
|
+
role: 'addon-definition',
|
|
163
|
+
};
|
|
164
|
+
objects.push({ reference: root, source: { kind: 'file', path: 'addon-definition.json', audience: 'public' } });
|
|
165
|
+
await (0, promises_1.writeFile)((0, node_path_1.join)(outputDirectory, item.id, 'addon-definition.json'), definitionBytes);
|
|
166
|
+
}
|
|
167
|
+
objects.push({
|
|
168
|
+
reference: glbReference,
|
|
169
|
+
source: downloaded.inlineBytes
|
|
170
|
+
? { kind: 'file', path: filename, audience: 'public' }
|
|
171
|
+
: { kind: 'universal-item-adoption', assetId: web.id, contentSha256: downloaded.digest, audience: 'public' },
|
|
172
|
+
});
|
|
173
|
+
if (downloaded.inlineBytes)
|
|
174
|
+
await (0, promises_1.writeFile)((0, node_path_1.join)(outputDirectory, item.id, filename), downloaded.inlineBytes);
|
|
175
|
+
const requires = isBase ? [] : [item.fits?.requires?.skeleton ?? 'helix-humanoid@1'];
|
|
176
|
+
const provides = isBase
|
|
177
|
+
? ['helix-humanoid@1', 'character.base@1']
|
|
178
|
+
: ['character-addon@1', ...(item.fits?.slotType ? [item.fits.slotType] : [])];
|
|
179
|
+
return {
|
|
180
|
+
projectId: `legacy-character-item:${item.id}`,
|
|
181
|
+
package: { schema: 'helix.continuum.package/1', id: packageId, type: isBase ? 'character' : 'addon', name: item.title },
|
|
182
|
+
packagePublication: { slug: `${slug(item.title)}-${item.id.slice(0, 8)}`, visibility: 'public' },
|
|
183
|
+
packageVersion: {
|
|
184
|
+
schema: 'helix.continuum.package-version/1',
|
|
185
|
+
package: { id: packageId, type: isBase ? 'character' : 'addon' },
|
|
186
|
+
version: '1.0.0', root, dependencies: [],
|
|
187
|
+
variants: [{ id: 'web', runtimeProfileId: 'web-balanced', object: glbReference }],
|
|
188
|
+
compatibility: { contract: isBase ? 'helix.character/1' : 'helix.addon/1', requires, provides },
|
|
189
|
+
provenance: { kind: 'imported', source: 'legacy-universal-item', sourceId: item.id },
|
|
190
|
+
expectedClosure: {
|
|
191
|
+
objectCount: objects.length,
|
|
192
|
+
totalBytes: objects.reduce((sum, object) => sum + object.reference.bytes, 0),
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
objects,
|
|
196
|
+
universalItemPin: { itemId: item.id, promoteToPublished: true },
|
|
197
|
+
listings: [listing(item.id, 'vault', item, packageId), listing(item.id, 'marketplace', item, packageId)],
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
async function generateCharacterContinuumMigration(options) {
|
|
201
|
+
const outputDirectory = (0, node_path_1.resolve)(options.outputDirectory);
|
|
202
|
+
const apiBaseUrl = (options.apiBaseUrl ?? config_1.DEFAULT_API_URL).replace(/\/+$/, '');
|
|
203
|
+
const fetcher = options.fetch ?? fetch;
|
|
204
|
+
await (0, promises_1.mkdir)(outputDirectory, { recursive: true });
|
|
205
|
+
const items = await inventory({ apiBaseUrl, fetch: fetcher, itemIds: options.itemIds, baseItemIds: options.baseItemIds });
|
|
206
|
+
const summary = [];
|
|
207
|
+
for (const item of items.sort((a, b) => a.id.localeCompare(b.id))) {
|
|
208
|
+
await (0, promises_1.mkdir)((0, node_path_1.join)(outputDirectory, item.id), { recursive: true });
|
|
209
|
+
const publication = await descriptor(item, outputDirectory, fetcher);
|
|
210
|
+
await (0, promises_1.writeFile)((0, node_path_1.join)(outputDirectory, item.id, 'publish.json'), Buffer.from(`${JSON.stringify(publication, null, 2)}\n`));
|
|
211
|
+
summary.push({
|
|
212
|
+
itemId: item.id,
|
|
213
|
+
title: item.title,
|
|
214
|
+
kind: item.kind,
|
|
215
|
+
packageId: publication.package.id,
|
|
216
|
+
listingIds: publication.listings.map((entry) => entry.listing.id),
|
|
217
|
+
descriptor: `${item.id}/publish.json`,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
await (0, promises_1.writeFile)((0, node_path_1.join)(outputDirectory, 'inventory.json'), Buffer.from(`${JSON.stringify({ count: summary.length, items: summary }, null, 2)}\n`));
|
|
221
|
+
return { status: 'ready', count: summary.length, outputDirectory, itemIds: summary.map((item) => item.itemId) };
|
|
222
|
+
}
|
|
223
|
+
function collect(value, previous) {
|
|
224
|
+
return [...previous, value];
|
|
225
|
+
}
|
|
226
|
+
function registerCharacterContinuumMigrationGeneratorCommand(continuum) {
|
|
227
|
+
continuum
|
|
228
|
+
.command('prepare-legacy-character-packages')
|
|
229
|
+
.description('Generate deterministic Continuum character/add-on migration descriptors without publishing')
|
|
230
|
+
.requiredOption('--output <directory>', 'descriptor and small-object output directory')
|
|
231
|
+
.option('--item-id <uuid>', 'generate exactly this Universal Item (repeatable)', collect, [])
|
|
232
|
+
.option('--base-item-id <uuid>', 'discover this base and its compatible add-ons (repeatable)', collect, [])
|
|
233
|
+
.action(async (options) => {
|
|
234
|
+
const receipt = await generateCharacterContinuumMigration({
|
|
235
|
+
outputDirectory: options.output,
|
|
236
|
+
itemIds: options.itemId,
|
|
237
|
+
baseItemIds: options.baseItemId,
|
|
238
|
+
});
|
|
239
|
+
console.log(JSON.stringify(receipt, null, 2));
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=characterMigrationGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"characterMigrationGenerator.js","sourceRoot":"","sources":["../../src/continuum/characterMigrationGenerator.ts"],"names":[],"mappings":"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"}
|
package/dist/continuum/cli.d.ts
CHANGED
|
@@ -32,6 +32,7 @@ export type ContinuumWorldPublicationFile<T> = {
|
|
|
32
32
|
objects?: CliObject[];
|
|
33
33
|
listings: ContinuumPublicationIntent['listings'];
|
|
34
34
|
};
|
|
35
|
+
export declare const MAX_INLINE_OBJECT_BYTES: number;
|
|
35
36
|
export declare function readContinuumPublicationFile<T>(path: string): Promise<{
|
|
36
37
|
input: T;
|
|
37
38
|
sourceDigest: string;
|
package/dist/continuum/cli.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MAX_INLINE_OBJECT_BYTES = void 0;
|
|
3
4
|
exports.readContinuumPublicationFile = readContinuumPublicationFile;
|
|
4
5
|
exports.readSafeRegularFile = readSafeRegularFile;
|
|
5
6
|
exports.readSafeConfinedFile = readSafeConfinedFile;
|
|
@@ -9,7 +10,7 @@ const node_path_1 = require("node:path");
|
|
|
9
10
|
const promises_1 = require("node:fs/promises");
|
|
10
11
|
const sourceBundle_1 = require("./sourceBundle");
|
|
11
12
|
const MAX_DESCRIPTOR_BYTES = 16 * 1024 * 1024;
|
|
12
|
-
|
|
13
|
+
exports.MAX_INLINE_OBJECT_BYTES = 1024 * 1024;
|
|
13
14
|
async function readContinuumPublicationFile(path) {
|
|
14
15
|
const absolute = (0, node_path_1.resolve)(path);
|
|
15
16
|
const descriptor = await readSafeRegularFile(absolute, MAX_DESCRIPTOR_BYTES, 'publication descriptor');
|
|
@@ -23,7 +24,7 @@ async function readContinuumPublicationFile(path) {
|
|
|
23
24
|
if (object.source.kind === 'file') {
|
|
24
25
|
if (!object.source.path || object.source.path.includes('\0'))
|
|
25
26
|
throw new TypeError('file object source path must be a non-empty path');
|
|
26
|
-
const source = await readSafeConfinedFile(descriptorDirectory, object.source.path, MAX_INLINE_OBJECT_BYTES, `file object source ${object.source.path}`);
|
|
27
|
+
const source = await readSafeConfinedFile(descriptorDirectory, object.source.path, exports.MAX_INLINE_OBJECT_BYTES, `file object source ${object.source.path}`);
|
|
27
28
|
objectPublications.push({
|
|
28
29
|
reference: object.reference,
|
|
29
30
|
source: { kind: 'inline', bytes: source.bytes, filename: (0, node_path_1.basename)(source.path), audience: object.source.audience },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/continuum/cli.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/continuum/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import type { ContinuumLease, ContinuumObjectRecord, ContinuumPublicationApi } f
|
|
|
4
4
|
import type { ContinuumPackageInspection } from './pull';
|
|
5
5
|
/** Thin transport only. Creator policy and compilation stay out of the backend client. */
|
|
6
6
|
export declare class HelixContinuumApi implements ContinuumPublicationApi {
|
|
7
|
-
|
|
7
|
+
protected readonly api: HelixApi;
|
|
8
8
|
constructor(api: HelixApi);
|
|
9
9
|
putObject(input: {
|
|
10
10
|
bytes: Uint8Array;
|
|
@@ -12,6 +12,7 @@ export declare class HelixContinuumApi implements ContinuumPublicationApi {
|
|
|
12
12
|
mediaType: string;
|
|
13
13
|
audience?: 'private' | 'public';
|
|
14
14
|
}): Promise<ContinuumObjectRecord>;
|
|
15
|
+
adoptUniversalItemObject(assetId: string, contentSha256: string, audience?: 'private' | 'public'): Promise<ContinuumObjectRecord>;
|
|
15
16
|
adoptVaultObject(versionId: string, audience?: 'private' | 'public'): Promise<ContinuumObjectRecord>;
|
|
16
17
|
adoptInstantWorldObject(buildId: string, contentSha256: string): Promise<ContinuumObjectRecord>;
|
|
17
18
|
createPackage(pkg: ContinuumPackage, settings?: {
|
|
@@ -50,3 +51,15 @@ export declare class HelixContinuumApi implements ContinuumPublicationApi {
|
|
|
50
51
|
defaultRuntimeProfileId: string;
|
|
51
52
|
}): Promise<unknown>;
|
|
52
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Explicitly scoped transport for the one-time migration of legacy Universal
|
|
56
|
+
* Items whose current creator differs from the authenticated Continuum admin.
|
|
57
|
+
* Every other publication operation is identical to the normal creator path.
|
|
58
|
+
*/
|
|
59
|
+
export declare class HelixLegacyAdminContinuumApi extends HelixContinuumApi {
|
|
60
|
+
pinUniversalItemPackage(itemId: string, input: {
|
|
61
|
+
packagePin: ContinuumPackageVersionReference;
|
|
62
|
+
promoteToPublished?: true;
|
|
63
|
+
}): Promise<unknown>;
|
|
64
|
+
createListing(listing: Listing): Promise<unknown>;
|
|
65
|
+
}
|
package/dist/continuum/client.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HelixContinuumApi = void 0;
|
|
3
|
+
exports.HelixLegacyAdminContinuumApi = exports.HelixContinuumApi = void 0;
|
|
4
4
|
const node_buffer_1 = require("node:buffer");
|
|
5
5
|
const node_crypto_1 = require("node:crypto");
|
|
6
6
|
function unwrap(value) {
|
|
@@ -38,6 +38,9 @@ class HelixContinuumApi {
|
|
|
38
38
|
mediaType: input.mediaType, audience: input.audience,
|
|
39
39
|
}));
|
|
40
40
|
}
|
|
41
|
+
async adoptUniversalItemObject(assetId, contentSha256, audience) {
|
|
42
|
+
return normalizeObjectReceipt(await this.api.request('POST', `/api/v1/continuum/universal-item-assets/${encodeURIComponent(assetId)}/object-adoption`, { contentSha256, audience: audience ?? 'private' }));
|
|
43
|
+
}
|
|
41
44
|
async adoptVaultObject(versionId, audience) {
|
|
42
45
|
return normalizeObjectReceipt(await this.api.request('POST', `/api/v1/continuum/vault-asset-versions/${encodeURIComponent(versionId)}/object-adoption`, { audience: audience ?? 'private' }));
|
|
43
46
|
}
|
|
@@ -90,6 +93,20 @@ class HelixContinuumApi {
|
|
|
90
93
|
}
|
|
91
94
|
}
|
|
92
95
|
exports.HelixContinuumApi = HelixContinuumApi;
|
|
96
|
+
/**
|
|
97
|
+
* Explicitly scoped transport for the one-time migration of legacy Universal
|
|
98
|
+
* Items whose current creator differs from the authenticated Continuum admin.
|
|
99
|
+
* Every other publication operation is identical to the normal creator path.
|
|
100
|
+
*/
|
|
101
|
+
class HelixLegacyAdminContinuumApi extends HelixContinuumApi {
|
|
102
|
+
pinUniversalItemPackage(itemId, input) {
|
|
103
|
+
return this.pinLegacyUniversalItemPackageAsAdmin(itemId, input);
|
|
104
|
+
}
|
|
105
|
+
async createListing(listing) {
|
|
106
|
+
return this.api.request('POST', '/api/v1/continuum/admin/listings', listing);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
exports.HelixLegacyAdminContinuumApi = HelixLegacyAdminContinuumApi;
|
|
93
110
|
function packageSlug(pkg) {
|
|
94
111
|
const stem = pkg.name.toLowerCase().normalize('NFKD').replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '').slice(0, 48) || 'package';
|
|
95
112
|
return `${stem}-${(0, node_crypto_1.createHash)('sha256').update(pkg.id).digest('hex').slice(0, 8)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/continuum/client.ts"],"names":[],"mappings":";;;AAAA,6CAAqC;AACrC,6CAAqD;AAOrD,SAAS,MAAM,CAAI,KAAkB;IACnC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAU,CAAC;AACzF,CAAC;AAeD,SAAS,sBAAsB,CAAC,KAAc;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAA0B,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,IAAI,QAAQ;QAChF,CAAC,CAAE,QAAgC,CAAC,MAAM;QAC1C,CAAC,CAAC,QAAQ,CAAC;IACb,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ;QAAE,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;IACzH,MAAM,OAAO,GAAG,SAA8B,CAAC;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,SAAS,CAAC;IACjD,IAAI,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAK,KAAgB,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;IAC7E,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,SAAS,CAAC,qDAAqD,CAAC,CAAC;IAC7E,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAmC,EAAE,KAAK,EAAE,KAAe,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;AACpH,CAAC;AAED,0FAA0F;AAC1F,MAAa,iBAAiB;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/continuum/client.ts"],"names":[],"mappings":"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"}
|
package/dist/continuum/index.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./authoring"), exports);
|
|
18
|
+
__exportStar(require("./characterMigrationGenerator"), exports);
|
|
18
19
|
__exportStar(require("./client"), exports);
|
|
19
20
|
__exportStar(require("./cli"), exports);
|
|
20
21
|
__exportStar(require("./identity"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/continuum/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,2CAAyB;AACzB,wCAAsB;AACtB,6CAA2B;AAC3B,yCAAuB;AACvB,iDAA+B;AAC/B,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/continuum/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,gEAA8C;AAC9C,2CAAyB;AACzB,wCAAsB;AACtB,6CAA2B;AAC3B,yCAAuB;AACvB,iDAA+B;AAC/B,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B"}
|
|
@@ -8,6 +8,11 @@ export type ContinuumObjectSource = {
|
|
|
8
8
|
bytes: Uint8Array;
|
|
9
9
|
filename: string;
|
|
10
10
|
audience?: 'private' | 'public';
|
|
11
|
+
} | {
|
|
12
|
+
kind: 'universal-item-adoption';
|
|
13
|
+
assetId: string;
|
|
14
|
+
contentSha256: string;
|
|
15
|
+
audience?: 'private' | 'public';
|
|
11
16
|
} | {
|
|
12
17
|
kind: 'vault-adoption';
|
|
13
18
|
vaultAssetVersionId: string;
|
|
@@ -102,6 +107,7 @@ export interface ContinuumPublicationApi {
|
|
|
102
107
|
mediaType: string;
|
|
103
108
|
audience?: 'private' | 'public';
|
|
104
109
|
}): Promise<ContinuumObjectRecord>;
|
|
110
|
+
adoptUniversalItemObject(assetId: string, contentSha256: string, audience?: 'private' | 'public'): Promise<ContinuumObjectRecord>;
|
|
105
111
|
adoptVaultObject(vaultAssetVersionId: string, audience?: 'private' | 'public'): Promise<ContinuumObjectRecord>;
|
|
106
112
|
adoptInstantWorldObject(buildId: string, contentSha256: string): Promise<ContinuumObjectRecord>;
|
|
107
113
|
createPackage(pkg: ContinuumPackage, settings?: {
|
|
@@ -235,6 +235,7 @@ class ContinuumPublisher {
|
|
|
235
235
|
async publishObject(object) {
|
|
236
236
|
switch (object.source.kind) {
|
|
237
237
|
case 'inline': return this.api.putObject({ bytes: object.source.bytes, filename: object.source.filename, mediaType: object.reference.mediaType, audience: object.source.audience });
|
|
238
|
+
case 'universal-item-adoption': return this.api.adoptUniversalItemObject(object.source.assetId, object.source.contentSha256, object.source.audience);
|
|
238
239
|
case 'vault-adoption': return this.api.adoptVaultObject(object.source.vaultAssetVersionId, object.source.audience);
|
|
239
240
|
case 'instant-world-adoption': return this.api.adoptInstantWorldObject(object.source.buildId, object.source.contentSha256);
|
|
240
241
|
case 'existing': return object.reference;
|
|
@@ -353,7 +354,10 @@ function preflight(input) {
|
|
|
353
354
|
if (object.source.kind === 'instant-world-adoption' && object.reference.cid !== `cid:sha256:${object.source.contentSha256.toLowerCase()}`) {
|
|
354
355
|
throw new TypeError(`Instant World adoption hash does not match ${object.reference.cid}`);
|
|
355
356
|
}
|
|
356
|
-
if (
|
|
357
|
+
if (object.source.kind === 'universal-item-adoption' && object.reference.cid !== `cid:sha256:${object.source.contentSha256.toLowerCase()}`) {
|
|
358
|
+
throw new TypeError(`Universal Item adoption hash does not match ${object.reference.cid}`);
|
|
359
|
+
}
|
|
360
|
+
if (input.packagePublication?.visibility === 'public' && (object.source.kind === 'inline' || object.source.kind === 'universal-item-adoption' || object.source.kind === 'vault-adoption') && object.source.audience !== 'public') {
|
|
357
361
|
throw new TypeError(`public Package object ${object.reference.cid} must be ingested or adopted with public audience`);
|
|
358
362
|
}
|
|
359
363
|
}
|