@yugoo-design/dsh-design-studio 0.2.8 → 0.3.0
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 +17 -0
- package/lib/index.d.ts +3 -2
- package/lib/index.js +3 -19
- package/lib/{instance-changes-CFLBPBdi.d.ts → instance-changes-BIFP123O.d.ts} +2 -71
- package/lib/{instance-changes-RvOGeBaE.js → instance-changes-CAX1OjCg.js} +11 -34
- package/lib/node.d.ts +9 -3
- package/lib/node.js +66 -28
- package/lib/types-B2R_HUZy.d.ts +76 -0
- package/lib/types.d.ts +2 -0
- package/lib/types.js +22 -0
- package/licenses/dsh-distribution.json +101 -83
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -56,6 +56,23 @@ Other incomplete or malformed definitions remain editable with locatable readine
|
|
|
56
56
|
diagnostics. Imports get independent catalog identities and retain original bytes,
|
|
57
57
|
methods, runtime names and resources. Repeated display names receive numeric suffixes.
|
|
58
58
|
Kit imports preserve supplied Bundle trees; absent dependencies remain explicit.
|
|
59
|
+
Mount cards read titles and descriptions from the selected saved sources, including
|
|
60
|
+
imported trees without a separate library entry. Display metadata does not create
|
|
61
|
+
library records or change mount bindings.
|
|
62
|
+
|
|
63
|
+
Catalog discovery and import name collision checks use the owning catalog's
|
|
64
|
+
already loaded Bundle metadata. The trusted `listBundles` port supplies exact
|
|
65
|
+
pins, titles, runtime names and optional picker descriptions; it does not capture
|
|
66
|
+
or compile source trees. Selecting a Bundle captures and validates that source,
|
|
67
|
+
so an unrelated unavailable source cannot block an import.
|
|
68
|
+
|
|
69
|
+
Complete source capture and retention support up to 32 MiB per tree, matching
|
|
70
|
+
Core's Bundle resource budget. A portable archive supports 32 MiB of total source
|
|
71
|
+
bytes; its JSON allows 64 MiB for base64 and the envelope. Existing file, path,
|
|
72
|
+
composition and revision limits still apply.
|
|
73
|
+
Opaque resources retain their byte lengths during compilation, without text
|
|
74
|
+
conversion. The 1 MiB text editing limit is separate. Browser transports read
|
|
75
|
+
these limits from the pure `dsh-design-studio/types` entry.
|
|
59
76
|
|
|
60
77
|
`exportArchive({id, expectedRevision})` exports the current complete saved source
|
|
61
78
|
and mounted Bundle resources through the existing source-archive format. It supports
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a as StudioBinaryContentError, c as StudioValidationReport, i as STUDIO_SOURCE_MAX_BYTES, n as DesignKitVersionPin, o as StudioDiagnostic, r as STUDIO_ARCHIVE_MAX_JSON_BYTES, s as StudioReadFs, t as DesignBundleVersionPin } from "./types-B2R_HUZy.js";
|
|
2
|
+
import { C as StudioPanelPreviewRequest, E as loadStudioKit, S as StudioPanelPreview, T as prepareStudioPanelPreview, _ as StudioArchiveSource, a as StudioInstanceFileChange, b as exportStudioSourceArchive, c as normalizeStudioInstanceChanges, d as StudioPanelDraftRecord, f as StudioPanelDraftRepository, g as StudioArchivePin, h as StudioArchiveFile, i as StudioInstanceChangeRequest, l as StudioDraftSources, m as StudioSourceSnapshot, n as StudioInstanceCandidate, o as StudioInstanceFileDiff, p as StudioPanelDraftSummary, r as StudioInstanceChangeReceipt, s as StudioInstanceSaveChanges, t as STUDIO_INSTANCE_CHANGE_LIMITS, u as StudioPanelDraftContent, v as StudioContentArchive, w as StudioPanelPreviewResult, x as readStudioContentArchive, y as exportStudioContentArchive } from "./instance-changes-BIFP123O.js";
|
|
2
3
|
import { DesignKit, DesignSkill } from "@yugoo-design/dsh-design-core";
|
|
3
4
|
//#region src/snapshot.d.ts
|
|
4
5
|
/** One Bundle addressed by its declared version. */
|
|
@@ -391,4 +392,4 @@ declare class StudioBundleSourceService {
|
|
|
391
392
|
}): Promise<StudioBundleFileResult>;
|
|
392
393
|
}
|
|
393
394
|
//#endregion
|
|
394
|
-
export { type DesignBundleSnapshot, type DesignBundleVersionPin, type DesignCatalogSnapshot, type DesignKitSnapshot, type DesignKitVersionPin, STUDIO_INSTANCE_CHANGE_LIMITS, type StudioArchiveFile, type StudioArchivePin, type StudioArchiveSource, StudioBinaryContentError, type StudioBundleFileRefView, type StudioBundleFileResult, type StudioBundleFileView, type StudioBundleMountView, type StudioBundlePanelView, type StudioBundleSourcePort, StudioBundleSourceService, type StudioBundleValidationSummary, type StudioBundleVersionEntry, type StudioBundleView, type StudioBundleWorkspaceResult, type StudioBundleWorkspaceView, type StudioCatalogSnapshotPort, type StudioCompositionCatalog, type StudioContentArchive, type StudioDiagnostic, type StudioDraftSources, type StudioInstanceCandidate, type StudioInstanceChangeReceipt, type StudioInstanceChangeRequest, type StudioInstanceFileChange, type StudioInstanceFileDiff, type StudioInstanceSaveChanges, type StudioKitView, type StudioKitWorkspaceResult, type StudioKitWorkspaceView, type StudioManagementFailure, StudioManagementService, type StudioPanelDraftContent, type StudioPanelDraftRecord, type StudioPanelDraftRepository, type StudioPanelDraftSummary, type StudioPanelPreview, type StudioPanelPreviewRequest, type StudioPanelPreviewResult, type StudioReadFs, type StudioRelationView, type StudioRelationVocabularyView, type StudioResourceRefView, type StudioSourceSnapshot, type StudioValidationReport, type StudioWorkspaceView, buildStudioCompositionCatalog, exportStudioContentArchive, exportStudioSourceArchive, loadStudioKit, normalizeStudioInstanceChanges, prepareStudioPanelPreview, readStudioContentArchive, searchStudioBundles, snapshotKit, validateBundle, validateKit };
|
|
395
|
+
export { type DesignBundleSnapshot, type DesignBundleVersionPin, type DesignCatalogSnapshot, type DesignKitSnapshot, type DesignKitVersionPin, STUDIO_ARCHIVE_MAX_JSON_BYTES, STUDIO_INSTANCE_CHANGE_LIMITS, STUDIO_SOURCE_MAX_BYTES, type StudioArchiveFile, type StudioArchivePin, type StudioArchiveSource, StudioBinaryContentError, type StudioBundleFileRefView, type StudioBundleFileResult, type StudioBundleFileView, type StudioBundleMountView, type StudioBundlePanelView, type StudioBundleSourcePort, StudioBundleSourceService, type StudioBundleValidationSummary, type StudioBundleVersionEntry, type StudioBundleView, type StudioBundleWorkspaceResult, type StudioBundleWorkspaceView, type StudioCatalogSnapshotPort, type StudioCompositionCatalog, type StudioContentArchive, type StudioDiagnostic, type StudioDraftSources, type StudioInstanceCandidate, type StudioInstanceChangeReceipt, type StudioInstanceChangeRequest, type StudioInstanceFileChange, type StudioInstanceFileDiff, type StudioInstanceSaveChanges, type StudioKitView, type StudioKitWorkspaceResult, type StudioKitWorkspaceView, type StudioManagementFailure, StudioManagementService, type StudioPanelDraftContent, type StudioPanelDraftRecord, type StudioPanelDraftRepository, type StudioPanelDraftSummary, type StudioPanelPreview, type StudioPanelPreviewRequest, type StudioPanelPreviewResult, type StudioReadFs, type StudioRelationView, type StudioRelationVocabularyView, type StudioResourceRefView, type StudioSourceSnapshot, type StudioValidationReport, type StudioWorkspaceView, buildStudioCompositionCatalog, exportStudioContentArchive, exportStudioSourceArchive, loadStudioKit, normalizeStudioInstanceChanges, prepareStudioPanelPreview, readStudioContentArchive, searchStudioBundles, snapshotKit, validateBundle, validateKit };
|
package/lib/index.js
CHANGED
|
@@ -1,23 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { STUDIO_ARCHIVE_MAX_JSON_BYTES, STUDIO_SOURCE_MAX_BYTES, StudioBinaryContentError } from "./types.js";
|
|
2
|
+
import { c as prepareStudioPanelPreview, i as exportStudioSourceArchive, l as loadStudioKit, n as normalizeStudioInstanceChanges, o as readStudioContentArchive, r as exportStudioContentArchive, t as STUDIO_INSTANCE_CHANGE_LIMITS } from "./instance-changes-CAX1OjCg.js";
|
|
2
3
|
import { basename, join, resolve } from "node:path";
|
|
3
4
|
import { diagnoseKnowledgeDeclarations } from "@yugoo-design/dsh-design-core";
|
|
4
|
-
//#region src/types.ts
|
|
5
|
-
/**
|
|
6
|
-
* Thrown by a Bundle source port when a file exists but is not decodable
|
|
7
|
-
* UTF-8 text. The Studio surfaces binary content as an explicit diagnostic
|
|
8
|
-
* instead of lossy-decoding it into a text viewer.
|
|
9
|
-
*/
|
|
10
|
-
var StudioBinaryContentError = class extends Error {
|
|
11
|
-
/** The path whose content is not UTF-8 text. */
|
|
12
|
-
path;
|
|
13
|
-
/** @param path - absolute path of the non-text file. */
|
|
14
|
-
constructor(path) {
|
|
15
|
-
super(`design studio: ${JSON.stringify(path)} is not UTF-8 text`);
|
|
16
|
-
this.name = "StudioBinaryContentError";
|
|
17
|
-
this.path = path;
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
//#endregion
|
|
21
5
|
//#region src/snapshot.ts
|
|
22
6
|
/**
|
|
23
7
|
* Project one Core-compiled Kit into its version-addressed snapshot form.
|
|
@@ -547,4 +531,4 @@ var StudioBundleSourceService = class {
|
|
|
547
531
|
}
|
|
548
532
|
};
|
|
549
533
|
//#endregion
|
|
550
|
-
export { STUDIO_INSTANCE_CHANGE_LIMITS, StudioBinaryContentError, StudioBundleSourceService, StudioManagementService, buildStudioCompositionCatalog, exportStudioContentArchive, exportStudioSourceArchive, loadStudioKit, normalizeStudioInstanceChanges, prepareStudioPanelPreview, readStudioContentArchive, searchStudioBundles, snapshotKit, validateBundle, validateKit };
|
|
534
|
+
export { STUDIO_ARCHIVE_MAX_JSON_BYTES, STUDIO_INSTANCE_CHANGE_LIMITS, STUDIO_SOURCE_MAX_BYTES, StudioBinaryContentError, StudioBundleSourceService, StudioManagementService, buildStudioCompositionCatalog, exportStudioContentArchive, exportStudioSourceArchive, loadStudioKit, normalizeStudioInstanceChanges, prepareStudioPanelPreview, readStudioContentArchive, searchStudioBundles, snapshotKit, validateBundle, validateKit };
|
|
@@ -1,74 +1,5 @@
|
|
|
1
|
+
import { n as DesignKitVersionPin, o as StudioDiagnostic, s as StudioReadFs, t as DesignBundleVersionPin } from "./types-B2R_HUZy.js";
|
|
1
2
|
import { DesignKit, DesignSkill, KitResourceContent } from "@yugoo-design/dsh-design-core";
|
|
2
|
-
//#region src/types.d.ts
|
|
3
|
-
/**
|
|
4
|
-
* Host-neutral Design Studio ports and read-model vocabulary.
|
|
5
|
-
*
|
|
6
|
-
* The Studio is a pure domain library: every filesystem operation goes through
|
|
7
|
-
* an injected port so each Agent Host adapter (DSH, Codex, Claude Code, SDK
|
|
8
|
-
* Pilot) supplies its own native file operations. Nothing here imports an
|
|
9
|
-
* Agent Host runtime, Cordis, or `node:fs`. Installed content remains read-only;
|
|
10
|
-
* editable drafts use separate injected snapshot and persistence ports.
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* Read-only filesystem surface the Studio needs to enumerate and validate
|
|
14
|
-
* Kits. Structurally compatible with the Design Core `KitFsLike` loader port.
|
|
15
|
-
*/
|
|
16
|
-
interface StudioReadFs {
|
|
17
|
-
/** Read one UTF-8 text file; `undefined` when absent. */
|
|
18
|
-
readText(path: string): Promise<string | undefined>;
|
|
19
|
-
/** Optional attached-resource text/opaque projection; never used for definition slots. */
|
|
20
|
-
readResource?(path: string): Promise<KitResourceContent | undefined>;
|
|
21
|
-
/** List one directory's entry names. */
|
|
22
|
-
listDir(path: string): Promise<string[]>;
|
|
23
|
-
/** Whether a path is a directory; adapters without it fall back to read probes. */
|
|
24
|
-
isDirectory?(path: string): Promise<boolean>;
|
|
25
|
-
/** Resolve symlinks for confinement checks. */
|
|
26
|
-
realPath?(path: string): Promise<string>;
|
|
27
|
-
}
|
|
28
|
-
/** One explicit Studio diagnostic (a stable code plus a locatable message). */
|
|
29
|
-
interface StudioDiagnostic {
|
|
30
|
-
/** Stable diagnostic code, e.g. `kit.load`. */
|
|
31
|
-
readonly code: string;
|
|
32
|
-
/** Human-readable, locatable message. */
|
|
33
|
-
readonly message: string;
|
|
34
|
-
/** The Kit or Bundle the diagnostic is about, when known. */
|
|
35
|
-
readonly subject?: string;
|
|
36
|
-
/** Omitted means error, preserving existing error-only consumers. */
|
|
37
|
-
readonly severity?: 'warning';
|
|
38
|
-
}
|
|
39
|
-
/** The outcome of validating one Kit or Bundle definition. */
|
|
40
|
-
interface StudioValidationReport {
|
|
41
|
-
/** True when the definition loads without errors; warnings do not block use. */
|
|
42
|
-
readonly valid: boolean;
|
|
43
|
-
/** Definition errors or non-blocking authoring warnings. */
|
|
44
|
-
readonly diagnostics: readonly StudioDiagnostic[];
|
|
45
|
-
}
|
|
46
|
-
/** Exact identity of one published Kit version. */
|
|
47
|
-
interface DesignKitVersionPin {
|
|
48
|
-
/** Published Kit name. */
|
|
49
|
-
readonly name: string;
|
|
50
|
-
/** Exact declared Kit version (`major.minor`). */
|
|
51
|
-
readonly version: string;
|
|
52
|
-
}
|
|
53
|
-
/** Exact identity of one published Bundle version. */
|
|
54
|
-
interface DesignBundleVersionPin {
|
|
55
|
-
/** Published Bundle name. */
|
|
56
|
-
readonly name: string;
|
|
57
|
-
/** Explicit declared Bundle version (`major.minor`). */
|
|
58
|
-
readonly version: string;
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Thrown by a Bundle source port when a file exists but is not decodable
|
|
62
|
-
* UTF-8 text. The Studio surfaces binary content as an explicit diagnostic
|
|
63
|
-
* instead of lossy-decoding it into a text viewer.
|
|
64
|
-
*/
|
|
65
|
-
declare class StudioBinaryContentError extends Error {
|
|
66
|
-
/** The path whose content is not UTF-8 text. */
|
|
67
|
-
readonly path: string;
|
|
68
|
-
/** @param path - absolute path of the non-text file. */
|
|
69
|
-
constructor(path: string);
|
|
70
|
-
}
|
|
71
|
-
//#endregion
|
|
72
3
|
//#region src/load.d.ts
|
|
73
4
|
/**
|
|
74
5
|
* Load a Kit with authority derived from the Studio-controlled directory.
|
|
@@ -277,4 +208,4 @@ interface StudioInstanceChangeReceipt {
|
|
|
277
208
|
/** Copy before any asynchronous host work so callers cannot mutate an in-flight edit. */
|
|
278
209
|
declare function normalizeStudioInstanceChanges(value: StudioInstanceChangeRequest): StudioInstanceChangeRequest;
|
|
279
210
|
//#endregion
|
|
280
|
-
export {
|
|
211
|
+
export { StudioPanelPreviewRequest as C, loadStudioKit as E, StudioPanelPreview as S, prepareStudioPanelPreview as T, StudioArchiveSource as _, StudioInstanceFileChange as a, exportStudioSourceArchive as b, normalizeStudioInstanceChanges as c, StudioPanelDraftRecord as d, StudioPanelDraftRepository as f, StudioArchivePin as g, StudioArchiveFile as h, StudioInstanceChangeRequest as i, StudioDraftSources as l, StudioSourceSnapshot as m, StudioInstanceCandidate as n, StudioInstanceFileDiff as o, StudioPanelDraftSummary as p, StudioInstanceChangeReceipt as r, StudioInstanceSaveChanges as s, STUDIO_INSTANCE_CHANGE_LIMITS as t, StudioPanelDraftContent as u, StudioContentArchive as v, StudioPanelPreviewResult as w, readStudioContentArchive as x, exportStudioContentArchive as y };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { STUDIO_ARCHIVE_MAX_JSON_BYTES, STUDIO_SOURCE_MAX_BYTES } from "./types.js";
|
|
2
|
+
import { isAbsolute, relative, resolve, sep } from "node:path";
|
|
3
|
+
import { DesignBundleVersion, DesignKitVersion, compileSchema, loadDesignBundle, loadDesignKit, projectKitResource } from "@yugoo-design/dsh-design-core";
|
|
3
4
|
import { createHash } from "node:crypto";
|
|
4
5
|
//#region src/load.ts
|
|
5
6
|
/** Studio-owned loading of a Kit from its directory source. */
|
|
@@ -146,38 +147,14 @@ async function prepareStudioPanelPreview(source, kitRoot, request, loadOptions =
|
|
|
146
147
|
//#endregion
|
|
147
148
|
//#region src/content-archive.ts
|
|
148
149
|
/** Portable regular-file content, not a plugin installer or publication format. */
|
|
149
|
-
const MAX_BYTES =
|
|
150
|
-
const MAX_JSON =
|
|
150
|
+
const MAX_BYTES = STUDIO_SOURCE_MAX_BYTES;
|
|
151
|
+
const MAX_JSON = STUDIO_ARCHIVE_MAX_JSON_BYTES;
|
|
151
152
|
const MAX_FILES = 4096;
|
|
152
153
|
const HASH = /^[0-9a-f]{64}$/;
|
|
153
154
|
const sha = (value) => createHash("sha256").update(value).digest("hex");
|
|
154
|
-
|
|
155
|
-
".bin",
|
|
156
|
-
".png",
|
|
157
|
-
".jpg",
|
|
158
|
-
".jpeg",
|
|
159
|
-
".gif",
|
|
160
|
-
".webp",
|
|
161
|
-
".avif",
|
|
162
|
-
".ico",
|
|
163
|
-
".bmp",
|
|
164
|
-
".pdf",
|
|
165
|
-
".woff",
|
|
166
|
-
".woff2",
|
|
167
|
-
".ttf",
|
|
168
|
-
".otf",
|
|
169
|
-
".eot",
|
|
170
|
-
".wasm"
|
|
171
|
-
]);
|
|
172
|
-
/** Shared by archive capture and virtual import; full bytes and directory entries remain intact. */
|
|
155
|
+
/** Core owns the shared text/opaque projection; retained bytes stay exact. */
|
|
173
156
|
function readStudioArchiveResource(path, bytes) {
|
|
174
|
-
return
|
|
175
|
-
kind: "opaque",
|
|
176
|
-
byteLength: bytes.byteLength
|
|
177
|
-
} : {
|
|
178
|
-
kind: "text",
|
|
179
|
-
content: new TextDecoder("utf-8", { fatal: true }).decode(bytes)
|
|
180
|
-
};
|
|
157
|
+
return projectKitResource(path, bytes);
|
|
181
158
|
}
|
|
182
159
|
function object(value) {
|
|
183
160
|
if (!value || typeof value !== "object" || Array.isArray(value)) throw Error("Invalid archive object.");
|
|
@@ -220,7 +197,7 @@ function canonical(data) {
|
|
|
220
197
|
}
|
|
221
198
|
/** Parse a bounded JSON envelope; hashes include metadata and every original byte. */
|
|
222
199
|
function readStudioContentArchive(source) {
|
|
223
|
-
if (typeof source !== "string" || Buffer.byteLength(source) > MAX_JSON) throw Error("Archive JSON exceeds
|
|
200
|
+
if (typeof source !== "string" || Buffer.byteLength(source) > MAX_JSON) throw Error("Archive JSON exceeds 64 MiB.");
|
|
224
201
|
const raw = object(JSON.parse(source));
|
|
225
202
|
keys(raw, [
|
|
226
203
|
"format",
|
|
@@ -288,12 +265,12 @@ function readStudioContentArchive(source) {
|
|
|
288
265
|
directories.add(parts.join("/"));
|
|
289
266
|
parts.pop();
|
|
290
267
|
}
|
|
291
|
-
if (!Number.isSafeInteger(entry.bytes) || entry.bytes < 0 || entry.bytes > MAX_BYTES - total) throw Error("Archive content exceeds
|
|
268
|
+
if (!Number.isSafeInteger(entry.bytes) || entry.bytes < 0 || entry.bytes > MAX_BYTES - total) throw Error("Archive content exceeds 32 MiB or has an invalid byte count.");
|
|
292
269
|
if (typeof entry.base64 !== "string" || entry.base64.length > Math.ceil(MAX_BYTES / 3) * 4 || entry.base64.length % 4 || !/^[A-Za-z0-9+/]*={0,2}$/u.test(entry.base64)) throw Error("Invalid archive base64.");
|
|
293
270
|
const bytes = Buffer.from(entry.base64, "base64");
|
|
294
271
|
if (bytes.toString("base64") !== entry.base64 || entry.bytes !== bytes.length || typeof entry.sha256 !== "string" || !HASH.test(entry.sha256) || sha(bytes) !== entry.sha256) throw Error("Archive file integrity mismatch.");
|
|
295
272
|
total += bytes.length;
|
|
296
|
-
if (total > MAX_BYTES) throw Error("Archive content exceeds
|
|
273
|
+
if (total > MAX_BYTES) throw Error("Archive content exceeds 32 MiB.");
|
|
297
274
|
return Object.freeze({
|
|
298
275
|
path,
|
|
299
276
|
base64: entry.base64,
|
|
@@ -584,7 +561,7 @@ async function exportArchive(snapshot, input, validateDefinition) {
|
|
|
584
561
|
safePath(target);
|
|
585
562
|
const bytes = await source.readBytes(resolve(source.root, path));
|
|
586
563
|
total += bytes.byteLength;
|
|
587
|
-
if (total > MAX_BYTES || files.length >= MAX_FILES) throw Error("Archive content exceeds
|
|
564
|
+
if (total > MAX_BYTES || files.length >= MAX_FILES) throw Error("Archive content exceeds 32 MiB or 4096 files.");
|
|
588
565
|
files.push({
|
|
589
566
|
path: target,
|
|
590
567
|
base64: Buffer.from(bytes).toString("base64"),
|
package/lib/node.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as DesignKitVersionPin, t as DesignBundleVersionPin } from "./types-B2R_HUZy.js";
|
|
2
|
+
import { a as StudioInstanceFileChange, f as StudioPanelDraftRepository, i as StudioInstanceChangeRequest, l as StudioDraftSources, m as StudioSourceSnapshot, n as StudioInstanceCandidate, r as StudioInstanceChangeReceipt, s as StudioInstanceSaveChanges, v as StudioContentArchive, w as StudioPanelPreviewResult } from "./instance-changes-BIFP123O.js";
|
|
2
3
|
//#region src/node/types.d.ts
|
|
3
4
|
type StudioAwaitable<T> = T | Promise<T>;
|
|
4
5
|
interface StudioSourceEntry {
|
|
@@ -119,7 +120,11 @@ interface StudioInstanceBundleChoice extends DesignBundleVersionPin {
|
|
|
119
120
|
readonly instanceId?: string;
|
|
120
121
|
readonly revision?: number;
|
|
121
122
|
}
|
|
122
|
-
interface StudioInstanceDescription extends Omit<StudioInstanceStoredRecord, 'overlays' | 'importedFromSnapshot'> {
|
|
123
|
+
interface StudioInstanceDescription extends Omit<StudioInstanceStoredRecord, 'overlays' | 'importedFromSnapshot' | 'mounts'> {
|
|
124
|
+
/** Display-only metadata from the selected source; never persisted in mount pins. */
|
|
125
|
+
readonly mounts: readonly (StudioInstanceMount & {
|
|
126
|
+
readonly display?: Partial<Pick<StudioInstanceBundleChoice, 'title' | 'description' | 'displayDescription'>>;
|
|
127
|
+
})[];
|
|
123
128
|
/** Same-identity editable projection of a catalog source. */
|
|
124
129
|
readonly current?: boolean;
|
|
125
130
|
readonly refs: readonly {
|
|
@@ -213,7 +218,8 @@ interface StudioInstanceComposition {
|
|
|
213
218
|
preview?(input: StudioInstancePreviewInput): Promise<StudioPanelPreviewResult>;
|
|
214
219
|
}
|
|
215
220
|
interface StudioInstanceTrustedCaptures {
|
|
216
|
-
|
|
221
|
+
/** Already loaded catalog metadata; discovery must not capture complete sources. */
|
|
222
|
+
listBundles(): StudioAwaitable<readonly StudioInstanceBundleChoice[]>;
|
|
217
223
|
captureBundle(pin: DesignBundleVersionPin): StudioAwaitable<StudioBundleCapture>;
|
|
218
224
|
captureKit(pin: DesignKitVersionPin): StudioAwaitable<{
|
|
219
225
|
readonly files: readonly StudioSourceEntry[];
|
package/lib/node.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { STUDIO_SOURCE_MAX_BYTES } from "./types.js";
|
|
2
|
+
import { a as readStudioArchiveResource, i as exportStudioSourceArchive, n as normalizeStudioInstanceChanges, s as finalizeStudioPanelPreview, t as STUDIO_INSTANCE_CHANGE_LIMITS } from "./instance-changes-CAX1OjCg.js";
|
|
2
3
|
import { isAbsolute, join, relative, resolve, sep } from "node:path";
|
|
3
4
|
import { loadDesignBundle, loadDesignKit, parseFrontmatter, parseKitMounts, parseMindsetSkillNames } from "@yugoo-design/dsh-design-core";
|
|
4
5
|
import { createHash, randomUUID } from "node:crypto";
|
|
@@ -8,7 +9,7 @@ import { isMap, isScalar, isSeq, parse, parseDocument, stringify } from "yaml";
|
|
|
8
9
|
/** Atomic local source storage and retained trial captures. No project writes. */
|
|
9
10
|
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
|
|
10
11
|
const HASH = /^[0-9a-f]{64}$/;
|
|
11
|
-
const MAX_SOURCE_BYTES =
|
|
12
|
+
const MAX_SOURCE_BYTES = STUDIO_SOURCE_MAX_BYTES;
|
|
12
13
|
const MAX_DOCUMENT_BYTES = 2097152;
|
|
13
14
|
const inside = (root, path) => {
|
|
14
15
|
const rel = relative(root, path);
|
|
@@ -249,7 +250,7 @@ async function createStudioDraftPorts({ stateRoot, kitRoot, readInstalledKit, re
|
|
|
249
250
|
].includes(part)) || seen.has(path) || typeof base64 !== "string" || Buffer.from(base64, "base64").toString("base64") !== base64) throw new Error("Invalid source tree entry.");
|
|
250
251
|
seen.add(path);
|
|
251
252
|
bytes += Buffer.byteLength(base64, "base64");
|
|
252
|
-
if (bytes > MAX_SOURCE_BYTES) throw new Error("Source tree exceeds
|
|
253
|
+
if (bytes > MAX_SOURCE_BYTES) throw new Error("Source tree exceeds 32 MiB.");
|
|
253
254
|
return [path, base64];
|
|
254
255
|
}).sort((a, b) => a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0);
|
|
255
256
|
};
|
|
@@ -285,10 +286,10 @@ async function createStudioDraftPorts({ stateRoot, kitRoot, readInstalledKit, re
|
|
|
285
286
|
if (info.isSymbolicLink()) throw new Error("Studio cannot snapshot source symlinks.");
|
|
286
287
|
if (info.isDirectory()) await walk(file, base, prefix);
|
|
287
288
|
else if (info.isFile()) {
|
|
288
|
-
if (total + info.size > MAX_SOURCE_BYTES || entries.length >= 4096) throw new Error("Kit preview snapshot exceeds
|
|
289
|
+
if (total + info.size > MAX_SOURCE_BYTES || entries.length >= 4096) throw new Error("Kit preview snapshot exceeds 32 MiB or 4096 files.");
|
|
289
290
|
const bytes = await readFile(file);
|
|
290
291
|
total += bytes.length;
|
|
291
|
-
if (total > MAX_SOURCE_BYTES) throw new Error("Kit preview snapshot exceeds
|
|
292
|
+
if (total > MAX_SOURCE_BYTES) throw new Error("Kit preview snapshot exceeds 32 MiB.");
|
|
292
293
|
entries.push([prefix + relative(base, file).split(sep).join("/"), bytes.toString("base64")]);
|
|
293
294
|
} else throw new Error("Studio sources must be regular files or directories.");
|
|
294
295
|
}
|
|
@@ -557,13 +558,20 @@ async function createStudioInstances(options) {
|
|
|
557
558
|
}
|
|
558
559
|
return typeof value === "string" && Buffer.byteLength(value) <= MAX_TEXT ? value : void 0;
|
|
559
560
|
};
|
|
560
|
-
const
|
|
561
|
+
const { title: _sourceTitle, ...copy } = await sourceDisplayCopy(record.kind, text);
|
|
562
|
+
return copy;
|
|
563
|
+
};
|
|
564
|
+
const sourceDisplayCopy = async (kind, text) => {
|
|
565
|
+
const source = await text(kind === "kit" ? "mindset.md" : "SKILL.md");
|
|
561
566
|
const frontmatter = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/.exec(source ?? "");
|
|
562
|
-
let meta = {}, translated;
|
|
567
|
+
let meta = {}, manifest = {}, translated;
|
|
568
|
+
if (kind === "bundle") try {
|
|
569
|
+
manifest = parse(await text("skill.yaml") ?? "") ?? {};
|
|
570
|
+
} catch {}
|
|
563
571
|
try {
|
|
564
572
|
meta = frontmatter ? parse(frontmatter[1]) ?? {} : {};
|
|
565
573
|
} catch {}
|
|
566
|
-
if (
|
|
574
|
+
if (kind === "kit") translated = meta.display_description;
|
|
567
575
|
else {
|
|
568
576
|
let locales = {};
|
|
569
577
|
try {
|
|
@@ -582,11 +590,14 @@ async function createStudioInstances(options) {
|
|
|
582
590
|
zh: await readLocale("zh-CN"),
|
|
583
591
|
en: await readLocale("en-US")
|
|
584
592
|
};
|
|
585
|
-
if (translated.zh === void 0 && translated.en === void 0)
|
|
586
|
-
translated = parse(await text("skill.yaml") ?? "")?.description;
|
|
587
|
-
} catch {}
|
|
593
|
+
if (translated.zh === void 0 && translated.en === void 0) translated = manifest.description;
|
|
588
594
|
}
|
|
595
|
+
let title;
|
|
596
|
+
try {
|
|
597
|
+
title = titleOf(manifest.title);
|
|
598
|
+
} catch {}
|
|
589
599
|
return {
|
|
600
|
+
...title ? { title } : {},
|
|
590
601
|
...typeof meta.description === "string" ? { description: meta.description } : {},
|
|
591
602
|
...translated && ["zh", "en"].every((language) => typeof translated[language] === "string" && translated[language].trim()) ? { displayDescription: {
|
|
592
603
|
zh: translated.zh,
|
|
@@ -736,7 +747,10 @@ async function createStudioInstances(options) {
|
|
|
736
747
|
...await displayCopy(record),
|
|
737
748
|
...await readiness(record),
|
|
738
749
|
files,
|
|
739
|
-
...record.kind === "kit" ? {
|
|
750
|
+
...record.kind === "kit" ? {
|
|
751
|
+
availableBundles: await candidates(records),
|
|
752
|
+
mounts: await describedMounts(record)
|
|
753
|
+
} : {}
|
|
740
754
|
};
|
|
741
755
|
};
|
|
742
756
|
const read = async (input) => describe(active(await repository.read(typeof input === "string" ? input : input.id)));
|
|
@@ -748,18 +762,18 @@ async function createStudioInstances(options) {
|
|
|
748
762
|
return mounts.map((mount) => pin(mount.bundle));
|
|
749
763
|
}
|
|
750
764
|
};
|
|
751
|
-
const
|
|
752
|
-
const selected = mounts.find((mount) => same(mount.bundle, pin(requested)));
|
|
753
|
-
if (!selected) throw new Error("Core requested a Bundle outside the selected exact mounts.");
|
|
765
|
+
const currentMountRecord = async (selected) => {
|
|
754
766
|
if (selected.bundle.instanceId) {
|
|
755
767
|
const current = modern(await repository.read(selected.bundle.instanceId));
|
|
756
768
|
if (current.kind !== "bundle" || current.bundle.name !== selected.bundle.name) throw new Error("Mounted Bundle identity changed.");
|
|
757
|
-
return
|
|
758
|
-
files: await filesOf(current),
|
|
759
|
-
sourceId: current.sourceId
|
|
760
|
-
};
|
|
769
|
+
return current;
|
|
761
770
|
}
|
|
762
|
-
|
|
771
|
+
return (await repository.list()).find((record) => !record.deletedAt && record.current === true && record.kind === "bundle" && record.bundle.name === selected.bundle.name);
|
|
772
|
+
};
|
|
773
|
+
const resolveMounts = (mounts, currentLibrary = false) => async (requested) => {
|
|
774
|
+
const selected = mounts.find((mount) => same(mount.bundle, pin(requested)));
|
|
775
|
+
if (!selected) throw new Error("Core requested a Bundle outside the selected exact mounts.");
|
|
776
|
+
const current = await currentMountRecord(selected);
|
|
763
777
|
if (current) return {
|
|
764
778
|
files: await filesOf(current),
|
|
765
779
|
sourceId: current.sourceId
|
|
@@ -771,6 +785,26 @@ async function createStudioInstances(options) {
|
|
|
771
785
|
sourceId: selected.bundle.source.sourceId
|
|
772
786
|
};
|
|
773
787
|
};
|
|
788
|
+
const describedMounts = async (record) => Promise.all(record.mounts.map(async (mount) => {
|
|
789
|
+
try {
|
|
790
|
+
const captured = await resolveMounts(record.mounts, record.current === true)(mount.bundle);
|
|
791
|
+
const display = await sourceDisplayCopy("bundle", async (path) => {
|
|
792
|
+
safePath(path);
|
|
793
|
+
const file = captured.files.find((file) => file.path === path);
|
|
794
|
+
return file && Buffer.byteLength(file.base64, "base64") <= MAX_TEXT ? decode$1(file.base64) : void 0;
|
|
795
|
+
});
|
|
796
|
+
const current = await currentMountRecord(mount);
|
|
797
|
+
return {
|
|
798
|
+
...mount,
|
|
799
|
+
display: {
|
|
800
|
+
...display,
|
|
801
|
+
...current ? { title: current.title } : {}
|
|
802
|
+
}
|
|
803
|
+
};
|
|
804
|
+
} catch {
|
|
805
|
+
return mount;
|
|
806
|
+
}
|
|
807
|
+
}));
|
|
774
808
|
const kitInput = async (record) => ({
|
|
775
809
|
kit: record.kit,
|
|
776
810
|
kitFiles: await filesOf(record),
|
|
@@ -853,7 +887,7 @@ async function createStudioInstances(options) {
|
|
|
853
887
|
path,
|
|
854
888
|
base64
|
|
855
889
|
}));
|
|
856
|
-
if (files.length > 4096 || files.reduce((bytes, file) => bytes + Buffer.byteLength(file.base64, "base64"), 0) >
|
|
890
|
+
if (files.length > 4096 || files.reduce((bytes, file) => bytes + Buffer.byteLength(file.base64, "base64"), 0) > 33554432) throw new Error("Instance source tree exceeds 4096 files or 32 MiB.");
|
|
857
891
|
const paths = new Set(entries.keys());
|
|
858
892
|
for (const path of paths) {
|
|
859
893
|
const parts = path.split("/");
|
|
@@ -1613,7 +1647,7 @@ async function createStudioInstances(options) {
|
|
|
1613
1647
|
//#endregion
|
|
1614
1648
|
//#region src/node/studio-instance-composition.mjs
|
|
1615
1649
|
/** Core-backed Studio adapters over trusted captures; no filesystem, installation or execution port. */
|
|
1616
|
-
const MAX_TREE_BYTES =
|
|
1650
|
+
const MAX_TREE_BYTES = STUDIO_SOURCE_MAX_BYTES;
|
|
1617
1651
|
const MAX_TREE_FILES = 4096;
|
|
1618
1652
|
const MAX_CLOSURE_BYTES = 67108864;
|
|
1619
1653
|
const MAX_CLOSURE_FILES = 16384;
|
|
@@ -1657,7 +1691,7 @@ function memorySource(entries, budget = {
|
|
|
1657
1691
|
const bytes = Buffer.from(base64, "base64");
|
|
1658
1692
|
if (bytes.toString("base64") !== base64) throw new Error("Studio source base64 is not canonical.");
|
|
1659
1693
|
total += bytes.length;
|
|
1660
|
-
if (total > MAX_TREE_BYTES) throw new Error("Studio source exceeds
|
|
1694
|
+
if (total > MAX_TREE_BYTES) throw new Error("Studio source exceeds 32 MiB.");
|
|
1661
1695
|
files.set(path, bytes);
|
|
1662
1696
|
const parts = path.split("/");
|
|
1663
1697
|
for (let count = 1; count < parts.length; count++) directories.add(parts.slice(0, count).join("/"));
|
|
@@ -1682,6 +1716,10 @@ function memorySource(entries, budget = {
|
|
|
1682
1716
|
const bytes = files.get(keyOf(path));
|
|
1683
1717
|
return bytes === void 0 ? void 0 : Buffer.from(bytes);
|
|
1684
1718
|
},
|
|
1719
|
+
async readResource(path) {
|
|
1720
|
+
const bytes = files.get(keyOf(path));
|
|
1721
|
+
return bytes === void 0 ? void 0 : readStudioArchiveResource(path, bytes);
|
|
1722
|
+
},
|
|
1685
1723
|
async listDir(path) {
|
|
1686
1724
|
const key = keyOf(path), prefix = key ? `${key}/` : "";
|
|
1687
1725
|
return [...new Set([...files.keys()].filter((name) => name.startsWith(prefix)).map((name) => name.slice(prefix.length).split("/")[0]))].sort();
|
|
@@ -1928,13 +1966,13 @@ function createStudioInstanceAdapters(trusted) {
|
|
|
1928
1966
|
const pin = pinOf(value), key = `${pin.name}@${pin.version}`;
|
|
1929
1967
|
if (seen.has(key)) throw new Error(`Ambiguous exact Bundle ${key}.`);
|
|
1930
1968
|
seen.add(key);
|
|
1931
|
-
|
|
1969
|
+
if (!value.title || typeof value.title.zh !== "string" || typeof value.title.en !== "string" || typeof value.runtimeName !== "string" || !/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/.test(value.runtimeName) || value.description !== void 0 && typeof value.description !== "string" || value.displayDescription !== void 0 && (!value.displayDescription || typeof value.displayDescription.zh !== "string" || typeof value.displayDescription.en !== "string")) throw new Error("Trusted Bundle catalog metadata is missing or invalid.");
|
|
1932
1970
|
result.push({
|
|
1933
1971
|
...pin,
|
|
1934
|
-
title:
|
|
1935
|
-
runtimeName:
|
|
1936
|
-
...
|
|
1937
|
-
...
|
|
1972
|
+
title: { ...value.title },
|
|
1973
|
+
runtimeName: value.runtimeName,
|
|
1974
|
+
...value.description === void 0 ? {} : { description: value.description },
|
|
1975
|
+
...value.displayDescription === void 0 ? {} : { displayDescription: { ...value.displayDescription } }
|
|
1938
1976
|
});
|
|
1939
1977
|
}
|
|
1940
1978
|
return result;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { KitResourceContent } from "@yugoo-design/dsh-design-core";
|
|
2
|
+
//#region src/types.d.ts
|
|
3
|
+
/** Complete source bytes, matching Core's Bundle resource budget. */
|
|
4
|
+
declare const STUDIO_SOURCE_MAX_BYTES: number;
|
|
5
|
+
/** Base64 plus the bounded source/archive envelope. Safe for browser transports. */
|
|
6
|
+
declare const STUDIO_ARCHIVE_MAX_JSON_BYTES: number;
|
|
7
|
+
/**
|
|
8
|
+
* Host-neutral Design Studio ports and read-model vocabulary.
|
|
9
|
+
*
|
|
10
|
+
* The Studio is a pure domain library: every filesystem operation goes through
|
|
11
|
+
* an injected port so each Agent Host adapter (DSH, Codex, Claude Code, SDK
|
|
12
|
+
* Pilot) supplies its own native file operations. Nothing here imports an
|
|
13
|
+
* Agent Host runtime, Cordis, or `node:fs`. Installed content remains read-only;
|
|
14
|
+
* editable drafts use separate injected snapshot and persistence ports.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Read-only filesystem surface the Studio needs to enumerate and validate
|
|
18
|
+
* Kits. Structurally compatible with the Design Core `KitFsLike` loader port.
|
|
19
|
+
*/
|
|
20
|
+
interface StudioReadFs {
|
|
21
|
+
/** Read one UTF-8 text file; `undefined` when absent. */
|
|
22
|
+
readText(path: string): Promise<string | undefined>;
|
|
23
|
+
/** Optional attached-resource text/opaque projection; never used for definition slots. */
|
|
24
|
+
readResource?(path: string): Promise<KitResourceContent | undefined>;
|
|
25
|
+
/** List one directory's entry names. */
|
|
26
|
+
listDir(path: string): Promise<string[]>;
|
|
27
|
+
/** Whether a path is a directory; adapters without it fall back to read probes. */
|
|
28
|
+
isDirectory?(path: string): Promise<boolean>;
|
|
29
|
+
/** Resolve symlinks for confinement checks. */
|
|
30
|
+
realPath?(path: string): Promise<string>;
|
|
31
|
+
}
|
|
32
|
+
/** One explicit Studio diagnostic (a stable code plus a locatable message). */
|
|
33
|
+
interface StudioDiagnostic {
|
|
34
|
+
/** Stable diagnostic code, e.g. `kit.load`. */
|
|
35
|
+
readonly code: string;
|
|
36
|
+
/** Human-readable, locatable message. */
|
|
37
|
+
readonly message: string;
|
|
38
|
+
/** The Kit or Bundle the diagnostic is about, when known. */
|
|
39
|
+
readonly subject?: string;
|
|
40
|
+
/** Omitted means error, preserving existing error-only consumers. */
|
|
41
|
+
readonly severity?: 'warning';
|
|
42
|
+
}
|
|
43
|
+
/** The outcome of validating one Kit or Bundle definition. */
|
|
44
|
+
interface StudioValidationReport {
|
|
45
|
+
/** True when the definition loads without errors; warnings do not block use. */
|
|
46
|
+
readonly valid: boolean;
|
|
47
|
+
/** Definition errors or non-blocking authoring warnings. */
|
|
48
|
+
readonly diagnostics: readonly StudioDiagnostic[];
|
|
49
|
+
}
|
|
50
|
+
/** Exact identity of one published Kit version. */
|
|
51
|
+
interface DesignKitVersionPin {
|
|
52
|
+
/** Published Kit name. */
|
|
53
|
+
readonly name: string;
|
|
54
|
+
/** Exact declared Kit version (`major.minor`). */
|
|
55
|
+
readonly version: string;
|
|
56
|
+
}
|
|
57
|
+
/** Exact identity of one published Bundle version. */
|
|
58
|
+
interface DesignBundleVersionPin {
|
|
59
|
+
/** Published Bundle name. */
|
|
60
|
+
readonly name: string;
|
|
61
|
+
/** Explicit declared Bundle version (`major.minor`). */
|
|
62
|
+
readonly version: string;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Thrown by a Bundle source port when a file exists but is not decodable
|
|
66
|
+
* UTF-8 text. The Studio surfaces binary content as an explicit diagnostic
|
|
67
|
+
* instead of lossy-decoding it into a text viewer.
|
|
68
|
+
*/
|
|
69
|
+
declare class StudioBinaryContentError extends Error {
|
|
70
|
+
/** The path whose content is not UTF-8 text. */
|
|
71
|
+
readonly path: string;
|
|
72
|
+
/** @param path - absolute path of the non-text file. */
|
|
73
|
+
constructor(path: string);
|
|
74
|
+
}
|
|
75
|
+
//#endregion
|
|
76
|
+
export { StudioBinaryContentError as a, StudioValidationReport as c, STUDIO_SOURCE_MAX_BYTES as i, DesignKitVersionPin as n, StudioDiagnostic as o, STUDIO_ARCHIVE_MAX_JSON_BYTES as r, StudioReadFs as s, DesignBundleVersionPin as t };
|
package/lib/types.d.ts
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { a as StudioBinaryContentError, c as StudioValidationReport, i as STUDIO_SOURCE_MAX_BYTES, n as DesignKitVersionPin, o as StudioDiagnostic, r as STUDIO_ARCHIVE_MAX_JSON_BYTES, s as StudioReadFs, t as DesignBundleVersionPin } from "./types-B2R_HUZy.js";
|
|
2
|
+
export { DesignBundleVersionPin, DesignKitVersionPin, STUDIO_ARCHIVE_MAX_JSON_BYTES, STUDIO_SOURCE_MAX_BYTES, StudioBinaryContentError, StudioDiagnostic, StudioReadFs, StudioValidationReport };
|
package/lib/types.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//#region src/types.ts
|
|
2
|
+
/** Complete source bytes, matching Core's Bundle resource budget. */
|
|
3
|
+
const STUDIO_SOURCE_MAX_BYTES = 33554432;
|
|
4
|
+
/** Base64 plus the bounded source/archive envelope. Safe for browser transports. */
|
|
5
|
+
const STUDIO_ARCHIVE_MAX_JSON_BYTES = STUDIO_SOURCE_MAX_BYTES * 2;
|
|
6
|
+
/**
|
|
7
|
+
* Thrown by a Bundle source port when a file exists but is not decodable
|
|
8
|
+
* UTF-8 text. The Studio surfaces binary content as an explicit diagnostic
|
|
9
|
+
* instead of lossy-decoding it into a text viewer.
|
|
10
|
+
*/
|
|
11
|
+
var StudioBinaryContentError = class extends Error {
|
|
12
|
+
/** The path whose content is not UTF-8 text. */
|
|
13
|
+
path;
|
|
14
|
+
/** @param path - absolute path of the non-text file. */
|
|
15
|
+
constructor(path) {
|
|
16
|
+
super(`design studio: ${JSON.stringify(path)} is not UTF-8 text`);
|
|
17
|
+
this.name = "StudioBinaryContentError";
|
|
18
|
+
this.path = path;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { STUDIO_ARCHIVE_MAX_JSON_BYTES, STUDIO_SOURCE_MAX_BYTES, StudioBinaryContentError };
|
|
@@ -4,24 +4,24 @@
|
|
|
4
4
|
"scope": "observed-current-dsh-output-and-selected-original-materials",
|
|
5
5
|
"sourceArchiveObserved": null,
|
|
6
6
|
"outputSha256": {
|
|
7
|
-
"lib/index.js": "
|
|
8
|
-
"lib/instance-changes-
|
|
9
|
-
"lib/node.js": "
|
|
7
|
+
"lib/index.js": "ff934dd0775d14cea0e0d4021321ca19dd20325392676f73fd92763873d4cb2d",
|
|
8
|
+
"lib/instance-changes-CAX1OjCg.js": "140c939b82437d2b040398da5f32f9b547f9c0746d2b1f8b425821b549a38405",
|
|
9
|
+
"lib/node.js": "7089870a471028e9355e785728d24d23afc7a889bd06eecf900963b14b250e32",
|
|
10
|
+
"lib/types.js": "ab22180af3ebfb0dbb1e827b82f95ccd1492ae45e9080c1b792dd82d032ce9f4"
|
|
10
11
|
},
|
|
11
12
|
"normalBuildMaps": [
|
|
12
13
|
{
|
|
13
14
|
"output": "lib/index.js",
|
|
14
15
|
"observation": "normal-build-done-module-membership",
|
|
15
16
|
"evidenceFile": "dsh-release-studio-0-output-modules.json",
|
|
16
|
-
"evidenceSha256": "
|
|
17
|
-
"normalOutputSha256": "
|
|
18
|
-
"packedOutputSha256": "
|
|
17
|
+
"evidenceSha256": "01e5975f5b064dae4dc56fb31265e6f292ee4431126f263421ecad766c5059d4",
|
|
18
|
+
"normalOutputSha256": "591a7858cf8933dd03c46e7dde2fddcc9ffb029acddd4d1b205756a76f595b43",
|
|
19
|
+
"packedOutputSha256": "ff934dd0775d14cea0e0d4021321ca19dd20325392676f73fd92763873d4cb2d",
|
|
19
20
|
"projectOwnedSources": [
|
|
20
21
|
"packages/studio/src/bundle-source.ts",
|
|
21
22
|
"packages/studio/src/composition.ts",
|
|
22
23
|
"packages/studio/src/management.ts",
|
|
23
24
|
"packages/studio/src/snapshot.ts",
|
|
24
|
-
"packages/studio/src/types.ts",
|
|
25
25
|
"packages/studio/src/validate.ts"
|
|
26
26
|
],
|
|
27
27
|
"projectOwnedSourceSha256": {
|
|
@@ -29,22 +29,21 @@
|
|
|
29
29
|
"packages/studio/src/composition.ts": "9bf73c460608b5f491a471348292f7917159595a3d9fbff96f5637efefe309ce",
|
|
30
30
|
"packages/studio/src/management.ts": "81ead1c264f09ec82a1fff34ecfb96270081040175981f5d17188871f4570ad1",
|
|
31
31
|
"packages/studio/src/snapshot.ts": "377f9234d7696a26809199b417462bdf9e16f8286a9cb524a2d422648c37bc9d",
|
|
32
|
-
"packages/studio/src/types.ts": "7941c92f98810858297bee10048c64eb259c4748ba302c88032f32bd9f3fbadd",
|
|
33
32
|
"packages/studio/src/validate.ts": "38005e8858a678c75cbb27fe53e7b2d8bd068acbf205196a4acf82a87d0faa0a"
|
|
34
33
|
},
|
|
35
|
-
"sourceCount":
|
|
34
|
+
"sourceCount": 5,
|
|
36
35
|
"sourceContentsVerified": false,
|
|
37
36
|
"moduleInputsReadAndHashed": true,
|
|
38
37
|
"actualArchiveOutputBindingVerified": false,
|
|
39
38
|
"limitations": "Bundler-reported membership and current input bytes; no complete retained-code, nested prebundle or license acceptance claim"
|
|
40
39
|
},
|
|
41
40
|
{
|
|
42
|
-
"output": "lib/instance-changes-
|
|
41
|
+
"output": "lib/instance-changes-CAX1OjCg.js",
|
|
43
42
|
"observation": "normal-build-done-module-membership",
|
|
44
43
|
"evidenceFile": "dsh-release-studio-0-output-modules.json",
|
|
45
|
-
"evidenceSha256": "
|
|
46
|
-
"normalOutputSha256": "
|
|
47
|
-
"packedOutputSha256": "
|
|
44
|
+
"evidenceSha256": "01e5975f5b064dae4dc56fb31265e6f292ee4431126f263421ecad766c5059d4",
|
|
45
|
+
"normalOutputSha256": "adfddefdfc955d55a0b9e2c1be05e5218b8ede4516f203437eedf51347d74c3a",
|
|
46
|
+
"packedOutputSha256": "140c939b82437d2b040398da5f32f9b547f9c0746d2b1f8b425821b549a38405",
|
|
48
47
|
"projectOwnedSources": [
|
|
49
48
|
"packages/studio/src/content-archive.ts",
|
|
50
49
|
"packages/studio/src/instance-changes.ts",
|
|
@@ -52,7 +51,7 @@
|
|
|
52
51
|
"packages/studio/src/panel-preview.ts"
|
|
53
52
|
],
|
|
54
53
|
"projectOwnedSourceSha256": {
|
|
55
|
-
"packages/studio/src/content-archive.ts": "
|
|
54
|
+
"packages/studio/src/content-archive.ts": "2b551470a52d8aa3f4dd0e2f9cc6124ac062d93b1be3f9937d780f9417be11ef",
|
|
56
55
|
"packages/studio/src/instance-changes.ts": "164b78c06d359d899b4edb3bd6fe96c1f41072ec4739331d3d57d4b8a45505a2",
|
|
57
56
|
"packages/studio/src/load.ts": "a2e334453a7efea7b7dd00e33dcd9b0d811fc100f919ee4f244662ce9ea835bf",
|
|
58
57
|
"packages/studio/src/panel-preview.ts": "da59fa5ae7d47249148b1295a3517f2288e7079441c3d277d2e18720128e6d1b"
|
|
@@ -67,9 +66,9 @@
|
|
|
67
66
|
"output": "lib/node.js",
|
|
68
67
|
"observation": "normal-build-done-module-membership",
|
|
69
68
|
"evidenceFile": "dsh-release-studio-0-output-modules.json",
|
|
70
|
-
"evidenceSha256": "
|
|
71
|
-
"normalOutputSha256": "
|
|
72
|
-
"packedOutputSha256": "
|
|
69
|
+
"evidenceSha256": "01e5975f5b064dae4dc56fb31265e6f292ee4431126f263421ecad766c5059d4",
|
|
70
|
+
"normalOutputSha256": "205e8ea2772ec3d0387fbcd79457eb64e98f391736efbb4cdb943cf8f33819c4",
|
|
71
|
+
"packedOutputSha256": "7089870a471028e9355e785728d24d23afc7a889bd06eecf900963b14b250e32",
|
|
73
72
|
"projectOwnedSources": [
|
|
74
73
|
"packages/studio/src/node/studio-authoring.mjs",
|
|
75
74
|
"packages/studio/src/node/studio-instance-composition.mjs",
|
|
@@ -78,15 +77,34 @@
|
|
|
78
77
|
],
|
|
79
78
|
"projectOwnedSourceSha256": {
|
|
80
79
|
"packages/studio/src/node/studio-authoring.mjs": "c5466098ac3013441ff8b13f84b400d8364b1bc8a68ea35f8de4da8634abd169",
|
|
81
|
-
"packages/studio/src/node/studio-instance-composition.mjs": "
|
|
82
|
-
"packages/studio/src/node/studio-instances.mjs": "
|
|
83
|
-
"packages/studio/src/node/studio-panel-drafts.mjs": "
|
|
80
|
+
"packages/studio/src/node/studio-instance-composition.mjs": "df1c85a15050dbf8e7b3e640d85f617bccdfe95ca89a87604b661bbdd42eb349",
|
|
81
|
+
"packages/studio/src/node/studio-instances.mjs": "df8796676b3d34f1299e2c0c10d5827838ec4ea61095cd9dcb5a8e518c8caa42",
|
|
82
|
+
"packages/studio/src/node/studio-panel-drafts.mjs": "4b95b77778e007683bc323f45b0bcbed3a6319e78a50c8e1c83a7903e1b7c3ee"
|
|
84
83
|
},
|
|
85
84
|
"sourceCount": 4,
|
|
86
85
|
"sourceContentsVerified": false,
|
|
87
86
|
"moduleInputsReadAndHashed": true,
|
|
88
87
|
"actualArchiveOutputBindingVerified": false,
|
|
89
88
|
"limitations": "Bundler-reported membership and current input bytes; no complete retained-code, nested prebundle or license acceptance claim"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"output": "lib/types.js",
|
|
92
|
+
"observation": "normal-build-done-module-membership",
|
|
93
|
+
"evidenceFile": "dsh-release-studio-0-output-modules.json",
|
|
94
|
+
"evidenceSha256": "01e5975f5b064dae4dc56fb31265e6f292ee4431126f263421ecad766c5059d4",
|
|
95
|
+
"normalOutputSha256": "ab22180af3ebfb0dbb1e827b82f95ccd1492ae45e9080c1b792dd82d032ce9f4",
|
|
96
|
+
"packedOutputSha256": "ab22180af3ebfb0dbb1e827b82f95ccd1492ae45e9080c1b792dd82d032ce9f4",
|
|
97
|
+
"projectOwnedSources": [
|
|
98
|
+
"packages/studio/src/types.ts"
|
|
99
|
+
],
|
|
100
|
+
"projectOwnedSourceSha256": {
|
|
101
|
+
"packages/studio/src/types.ts": "8299f7135d792820d0d7501acbe65efd7c48dc27dc6cdfe0d173631eff09e7de"
|
|
102
|
+
},
|
|
103
|
+
"sourceCount": 1,
|
|
104
|
+
"sourceContentsVerified": false,
|
|
105
|
+
"moduleInputsReadAndHashed": true,
|
|
106
|
+
"actualArchiveOutputBindingVerified": false,
|
|
107
|
+
"limitations": "Bundler-reported membership and current input bytes; no complete retained-code, nested prebundle or license acceptance claim"
|
|
90
108
|
}
|
|
91
109
|
],
|
|
92
110
|
"currentBuildAssociation": {
|
|
@@ -98,14 +116,14 @@
|
|
|
98
116
|
"sha256": "f877117fa40947596f6780e36a99036a16057ff20f6a91105fb00d254f866193",
|
|
99
117
|
"name": "dsh-design-studio",
|
|
100
118
|
"version": "0.0.0",
|
|
101
|
-
"packageMetadataSha256": "
|
|
119
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
102
120
|
"firstParty": true,
|
|
103
121
|
"currentSourceIdentity": {
|
|
104
122
|
"manifestPath": "packages/studio/package.json",
|
|
105
|
-
"sourceCommit": "
|
|
123
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
106
124
|
"name": "dsh-design-studio",
|
|
107
125
|
"version": "0.0.0",
|
|
108
|
-
"packageMetadataSha256": "
|
|
126
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
109
127
|
}
|
|
110
128
|
},
|
|
111
129
|
{
|
|
@@ -114,14 +132,14 @@
|
|
|
114
132
|
"sha256": "9bf73c460608b5f491a471348292f7917159595a3d9fbff96f5637efefe309ce",
|
|
115
133
|
"name": "dsh-design-studio",
|
|
116
134
|
"version": "0.0.0",
|
|
117
|
-
"packageMetadataSha256": "
|
|
135
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
118
136
|
"firstParty": true,
|
|
119
137
|
"currentSourceIdentity": {
|
|
120
138
|
"manifestPath": "packages/studio/package.json",
|
|
121
|
-
"sourceCommit": "
|
|
139
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
122
140
|
"name": "dsh-design-studio",
|
|
123
141
|
"version": "0.0.0",
|
|
124
|
-
"packageMetadataSha256": "
|
|
142
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
125
143
|
}
|
|
126
144
|
},
|
|
127
145
|
{
|
|
@@ -130,14 +148,14 @@
|
|
|
130
148
|
"sha256": "81ead1c264f09ec82a1fff34ecfb96270081040175981f5d17188871f4570ad1",
|
|
131
149
|
"name": "dsh-design-studio",
|
|
132
150
|
"version": "0.0.0",
|
|
133
|
-
"packageMetadataSha256": "
|
|
151
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
134
152
|
"firstParty": true,
|
|
135
153
|
"currentSourceIdentity": {
|
|
136
154
|
"manifestPath": "packages/studio/package.json",
|
|
137
|
-
"sourceCommit": "
|
|
155
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
138
156
|
"name": "dsh-design-studio",
|
|
139
157
|
"version": "0.0.0",
|
|
140
|
-
"packageMetadataSha256": "
|
|
158
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
141
159
|
}
|
|
142
160
|
},
|
|
143
161
|
{
|
|
@@ -146,30 +164,14 @@
|
|
|
146
164
|
"sha256": "377f9234d7696a26809199b417462bdf9e16f8286a9cb524a2d422648c37bc9d",
|
|
147
165
|
"name": "dsh-design-studio",
|
|
148
166
|
"version": "0.0.0",
|
|
149
|
-
"packageMetadataSha256": "
|
|
167
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
150
168
|
"firstParty": true,
|
|
151
169
|
"currentSourceIdentity": {
|
|
152
170
|
"manifestPath": "packages/studio/package.json",
|
|
153
|
-
"sourceCommit": "
|
|
171
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
154
172
|
"name": "dsh-design-studio",
|
|
155
173
|
"version": "0.0.0",
|
|
156
|
-
"packageMetadataSha256": "
|
|
157
|
-
}
|
|
158
|
-
},
|
|
159
|
-
{
|
|
160
|
-
"output": "lib/index.js",
|
|
161
|
-
"path": "packages/studio/src/types.ts",
|
|
162
|
-
"sha256": "7941c92f98810858297bee10048c64eb259c4748ba302c88032f32bd9f3fbadd",
|
|
163
|
-
"name": "dsh-design-studio",
|
|
164
|
-
"version": "0.0.0",
|
|
165
|
-
"packageMetadataSha256": "5a27dcb60ce95be6cbe2d083b9cfd8a2c4012dda9b3a9541ff915f868d75c7ae",
|
|
166
|
-
"firstParty": true,
|
|
167
|
-
"currentSourceIdentity": {
|
|
168
|
-
"manifestPath": "packages/studio/package.json",
|
|
169
|
-
"sourceCommit": "0b5bf3787553103454fb910fce6a9e964d18b8fa",
|
|
170
|
-
"name": "dsh-design-studio",
|
|
171
|
-
"version": "0.0.0",
|
|
172
|
-
"packageMetadataSha256": "5a27dcb60ce95be6cbe2d083b9cfd8a2c4012dda9b3a9541ff915f868d75c7ae"
|
|
174
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
173
175
|
}
|
|
174
176
|
},
|
|
175
177
|
{
|
|
@@ -178,78 +180,78 @@
|
|
|
178
180
|
"sha256": "38005e8858a678c75cbb27fe53e7b2d8bd068acbf205196a4acf82a87d0faa0a",
|
|
179
181
|
"name": "dsh-design-studio",
|
|
180
182
|
"version": "0.0.0",
|
|
181
|
-
"packageMetadataSha256": "
|
|
183
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
182
184
|
"firstParty": true,
|
|
183
185
|
"currentSourceIdentity": {
|
|
184
186
|
"manifestPath": "packages/studio/package.json",
|
|
185
|
-
"sourceCommit": "
|
|
187
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
186
188
|
"name": "dsh-design-studio",
|
|
187
189
|
"version": "0.0.0",
|
|
188
|
-
"packageMetadataSha256": "
|
|
190
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
189
191
|
}
|
|
190
192
|
},
|
|
191
193
|
{
|
|
192
|
-
"output": "lib/instance-changes-
|
|
194
|
+
"output": "lib/instance-changes-CAX1OjCg.js",
|
|
193
195
|
"path": "packages/studio/src/content-archive.ts",
|
|
194
|
-
"sha256": "
|
|
196
|
+
"sha256": "2b551470a52d8aa3f4dd0e2f9cc6124ac062d93b1be3f9937d780f9417be11ef",
|
|
195
197
|
"name": "dsh-design-studio",
|
|
196
198
|
"version": "0.0.0",
|
|
197
|
-
"packageMetadataSha256": "
|
|
199
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
198
200
|
"firstParty": true,
|
|
199
201
|
"currentSourceIdentity": {
|
|
200
202
|
"manifestPath": "packages/studio/package.json",
|
|
201
|
-
"sourceCommit": "
|
|
203
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
202
204
|
"name": "dsh-design-studio",
|
|
203
205
|
"version": "0.0.0",
|
|
204
|
-
"packageMetadataSha256": "
|
|
206
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
205
207
|
}
|
|
206
208
|
},
|
|
207
209
|
{
|
|
208
|
-
"output": "lib/instance-changes-
|
|
210
|
+
"output": "lib/instance-changes-CAX1OjCg.js",
|
|
209
211
|
"path": "packages/studio/src/instance-changes.ts",
|
|
210
212
|
"sha256": "164b78c06d359d899b4edb3bd6fe96c1f41072ec4739331d3d57d4b8a45505a2",
|
|
211
213
|
"name": "dsh-design-studio",
|
|
212
214
|
"version": "0.0.0",
|
|
213
|
-
"packageMetadataSha256": "
|
|
215
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
214
216
|
"firstParty": true,
|
|
215
217
|
"currentSourceIdentity": {
|
|
216
218
|
"manifestPath": "packages/studio/package.json",
|
|
217
|
-
"sourceCommit": "
|
|
219
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
218
220
|
"name": "dsh-design-studio",
|
|
219
221
|
"version": "0.0.0",
|
|
220
|
-
"packageMetadataSha256": "
|
|
222
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
221
223
|
}
|
|
222
224
|
},
|
|
223
225
|
{
|
|
224
|
-
"output": "lib/instance-changes-
|
|
226
|
+
"output": "lib/instance-changes-CAX1OjCg.js",
|
|
225
227
|
"path": "packages/studio/src/load.ts",
|
|
226
228
|
"sha256": "a2e334453a7efea7b7dd00e33dcd9b0d811fc100f919ee4f244662ce9ea835bf",
|
|
227
229
|
"name": "dsh-design-studio",
|
|
228
230
|
"version": "0.0.0",
|
|
229
|
-
"packageMetadataSha256": "
|
|
231
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
230
232
|
"firstParty": true,
|
|
231
233
|
"currentSourceIdentity": {
|
|
232
234
|
"manifestPath": "packages/studio/package.json",
|
|
233
|
-
"sourceCommit": "
|
|
235
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
234
236
|
"name": "dsh-design-studio",
|
|
235
237
|
"version": "0.0.0",
|
|
236
|
-
"packageMetadataSha256": "
|
|
238
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
237
239
|
}
|
|
238
240
|
},
|
|
239
241
|
{
|
|
240
|
-
"output": "lib/instance-changes-
|
|
242
|
+
"output": "lib/instance-changes-CAX1OjCg.js",
|
|
241
243
|
"path": "packages/studio/src/panel-preview.ts",
|
|
242
244
|
"sha256": "da59fa5ae7d47249148b1295a3517f2288e7079441c3d277d2e18720128e6d1b",
|
|
243
245
|
"name": "dsh-design-studio",
|
|
244
246
|
"version": "0.0.0",
|
|
245
|
-
"packageMetadataSha256": "
|
|
247
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
246
248
|
"firstParty": true,
|
|
247
249
|
"currentSourceIdentity": {
|
|
248
250
|
"manifestPath": "packages/studio/package.json",
|
|
249
|
-
"sourceCommit": "
|
|
251
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
250
252
|
"name": "dsh-design-studio",
|
|
251
253
|
"version": "0.0.0",
|
|
252
|
-
"packageMetadataSha256": "
|
|
254
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
253
255
|
}
|
|
254
256
|
},
|
|
255
257
|
{
|
|
@@ -258,62 +260,78 @@
|
|
|
258
260
|
"sha256": "c5466098ac3013441ff8b13f84b400d8364b1bc8a68ea35f8de4da8634abd169",
|
|
259
261
|
"name": "dsh-design-studio",
|
|
260
262
|
"version": "0.0.0",
|
|
261
|
-
"packageMetadataSha256": "
|
|
263
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
262
264
|
"firstParty": true,
|
|
263
265
|
"currentSourceIdentity": {
|
|
264
266
|
"manifestPath": "packages/studio/package.json",
|
|
265
|
-
"sourceCommit": "
|
|
267
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
266
268
|
"name": "dsh-design-studio",
|
|
267
269
|
"version": "0.0.0",
|
|
268
|
-
"packageMetadataSha256": "
|
|
270
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
269
271
|
}
|
|
270
272
|
},
|
|
271
273
|
{
|
|
272
274
|
"output": "lib/node.js",
|
|
273
275
|
"path": "packages/studio/src/node/studio-instance-composition.mjs",
|
|
274
|
-
"sha256": "
|
|
276
|
+
"sha256": "df1c85a15050dbf8e7b3e640d85f617bccdfe95ca89a87604b661bbdd42eb349",
|
|
275
277
|
"name": "dsh-design-studio",
|
|
276
278
|
"version": "0.0.0",
|
|
277
|
-
"packageMetadataSha256": "
|
|
279
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
278
280
|
"firstParty": true,
|
|
279
281
|
"currentSourceIdentity": {
|
|
280
282
|
"manifestPath": "packages/studio/package.json",
|
|
281
|
-
"sourceCommit": "
|
|
283
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
282
284
|
"name": "dsh-design-studio",
|
|
283
285
|
"version": "0.0.0",
|
|
284
|
-
"packageMetadataSha256": "
|
|
286
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
285
287
|
}
|
|
286
288
|
},
|
|
287
289
|
{
|
|
288
290
|
"output": "lib/node.js",
|
|
289
291
|
"path": "packages/studio/src/node/studio-instances.mjs",
|
|
290
|
-
"sha256": "
|
|
292
|
+
"sha256": "df8796676b3d34f1299e2c0c10d5827838ec4ea61095cd9dcb5a8e518c8caa42",
|
|
291
293
|
"name": "dsh-design-studio",
|
|
292
294
|
"version": "0.0.0",
|
|
293
|
-
"packageMetadataSha256": "
|
|
295
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
294
296
|
"firstParty": true,
|
|
295
297
|
"currentSourceIdentity": {
|
|
296
298
|
"manifestPath": "packages/studio/package.json",
|
|
297
|
-
"sourceCommit": "
|
|
299
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
298
300
|
"name": "dsh-design-studio",
|
|
299
301
|
"version": "0.0.0",
|
|
300
|
-
"packageMetadataSha256": "
|
|
302
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
301
303
|
}
|
|
302
304
|
},
|
|
303
305
|
{
|
|
304
306
|
"output": "lib/node.js",
|
|
305
307
|
"path": "packages/studio/src/node/studio-panel-drafts.mjs",
|
|
306
|
-
"sha256": "
|
|
308
|
+
"sha256": "4b95b77778e007683bc323f45b0bcbed3a6319e78a50c8e1c83a7903e1b7c3ee",
|
|
309
|
+
"name": "dsh-design-studio",
|
|
310
|
+
"version": "0.0.0",
|
|
311
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
312
|
+
"firstParty": true,
|
|
313
|
+
"currentSourceIdentity": {
|
|
314
|
+
"manifestPath": "packages/studio/package.json",
|
|
315
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
316
|
+
"name": "dsh-design-studio",
|
|
317
|
+
"version": "0.0.0",
|
|
318
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"output": "lib/types.js",
|
|
323
|
+
"path": "packages/studio/src/types.ts",
|
|
324
|
+
"sha256": "8299f7135d792820d0d7501acbe65efd7c48dc27dc6cdfe0d173631eff09e7de",
|
|
307
325
|
"name": "dsh-design-studio",
|
|
308
326
|
"version": "0.0.0",
|
|
309
|
-
"packageMetadataSha256": "
|
|
327
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab",
|
|
310
328
|
"firstParty": true,
|
|
311
329
|
"currentSourceIdentity": {
|
|
312
330
|
"manifestPath": "packages/studio/package.json",
|
|
313
|
-
"sourceCommit": "
|
|
331
|
+
"sourceCommit": "3c92097b166b6e282a52dda91f6e086aff01be50",
|
|
314
332
|
"name": "dsh-design-studio",
|
|
315
333
|
"version": "0.0.0",
|
|
316
|
-
"packageMetadataSha256": "
|
|
334
|
+
"packageMetadataSha256": "a9756be17e31425c29e10ddf82937a7dab2febee72fa0c6d6f3f5c45822c3aab"
|
|
317
335
|
}
|
|
318
336
|
}
|
|
319
337
|
],
|
package/package.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"directory": "packages/studio"
|
|
6
6
|
},
|
|
7
7
|
"name": "@yugoo-design/dsh-design-studio",
|
|
8
|
-
"version": "0.
|
|
8
|
+
"version": "0.3.0",
|
|
9
9
|
"license": "Apache-2.0",
|
|
10
10
|
"type": "module",
|
|
11
11
|
"description": "Host-neutral Studio catalog and authoring domain with an optional Node storage and source-composition adapter.",
|
|
@@ -17,6 +17,10 @@
|
|
|
17
17
|
"default": "./lib/index.js"
|
|
18
18
|
},
|
|
19
19
|
"./package.json": "./package.json",
|
|
20
|
+
"./types": {
|
|
21
|
+
"types": "./lib/types.d.ts",
|
|
22
|
+
"default": "./lib/types.js"
|
|
23
|
+
},
|
|
20
24
|
"./node": {
|
|
21
25
|
"types": "./lib/node.d.ts",
|
|
22
26
|
"default": "./lib/node.js"
|
|
@@ -34,7 +38,7 @@
|
|
|
34
38
|
"test:source-storage": "tsx --tsconfig tests/source-tsconfig.json --test tests/source-storage.test.mjs"
|
|
35
39
|
},
|
|
36
40
|
"peerDependencies": {
|
|
37
|
-
"@yugoo-design/dsh-design-core": "0.
|
|
41
|
+
"@yugoo-design/dsh-design-core": "0.3.0"
|
|
38
42
|
},
|
|
39
43
|
"files": [
|
|
40
44
|
"lib/**/*.js",
|