@forgeax/engine-pack 0.1.23 → 0.1.25
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 +12 -6
- package/dist/build.d.ts +4 -4
- package/dist/build.d.ts.map +1 -1
- package/dist/build.mjs +390 -294
- package/dist/build.mjs.map +1 -1
- package/dist/cli-asset.mjs +33 -35
- package/dist/cli-asset.mjs.map +1 -1
- package/dist/evidence/material-cook.d.ts +26 -0
- package/dist/evidence/material-cook.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +121 -27
- package/dist/index.mjs.map +1 -1
- package/dist/material-cook.d.ts +1 -1
- package/dist/material-cook.d.ts.map +1 -1
- package/dist/material-cook.mjs +102 -4
- package/dist/material-cook.mjs.map +1 -1
- package/dist/{parameterized-pack-node.d.ts → pack-authoring-node.d.ts} +7 -7
- package/dist/pack-authoring-node.d.ts.map +1 -0
- package/dist/{parameterized-pack-node.mjs → pack-authoring-node.mjs} +59 -63
- package/dist/pack-authoring-node.mjs.map +1 -0
- package/dist/{parameterized-pack.d.ts → pack-authoring.d.ts} +28 -31
- package/dist/pack-authoring.d.ts.map +1 -0
- package/dist/pack-authoring.mjs +1137 -0
- package/dist/pack-authoring.mjs.map +1 -0
- package/dist/runtime.mjs +1 -1
- package/dist/runtime.mjs.map +1 -1
- package/dist/scanner.d.ts +11 -9
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.mjs +36 -34
- package/dist/scanner.mjs.map +1 -1
- package/dist/schema.mjs +1 -1
- package/dist/schema.mjs.map +1 -1
- package/dist/scriptable-pack-node.d.ts +4 -4
- package/dist/scriptable-pack-node.d.ts.map +1 -1
- package/dist/scriptable-pack-node.mjs +18 -20
- package/dist/scriptable-pack-node.mjs.map +1 -1
- package/dist/scriptable-pack.d.ts +3 -2
- package/dist/scriptable-pack.d.ts.map +1 -1
- package/dist/scriptable-pack.mjs +19 -23
- package/dist/scriptable-pack.mjs.map +1 -1
- package/package.json +2 -7
- package/schema/pack.schema.json +1 -1
- package/src/__tests__/material-cook-receipt-layer-plan.unit.test.ts +16 -0
- package/src/__tests__/material-cook-schema.unit.test.ts +62 -0
- package/src/__tests__/material-declaration-boundary.unit.test.ts +35 -0
- package/src/__tests__/material-surface-consumer-census.test.ts +24 -0
- package/src/__tests__/material-surface-publication.unit.test.ts +159 -0
- package/src/__tests__/material-surface-wire.unit.test.ts +30 -0
- package/src/__tests__/{parameterized-pack-authoring-gateway.unit.test.ts → pack-authoring-gateway.unit.test.ts} +9 -9
- package/src/__tests__/{parameterized-pack.unit.test.ts → pack-authoring.unit.test.ts} +10 -10
- package/src/__tests__/{parameterized-pack-scanner.unit.test.ts → pack-scanner.unit.test.ts} +6 -6
- package/src/__tests__/scanner-inventory.contract.test.ts +2 -4
- package/src/__tests__/scanner-inventory.test.ts +7 -6
- package/src/__tests__/scriptable-pack-cli.integration.test.ts +1 -1
- package/src/build.ts +10 -8
- package/src/catalog-builder.ts +3 -3
- package/src/cli-asset.ts +5 -5
- package/src/evidence/material-cook.ts +170 -7
- package/src/evidence/source-inventory.ts +3 -3
- package/src/index.ts +6 -1
- package/src/material-cook.ts +3 -0
- package/src/{parameterized-pack-node.ts → pack-authoring-node.ts} +71 -73
- package/src/{parameterized-pack.ts → pack-authoring.ts} +59 -74
- package/src/scanner.ts +33 -31
- package/src/schema/material-cook.schema.json +47 -1
- package/src/scriptable-pack-node.ts +25 -25
- package/src/scriptable-pack.ts +3 -2
- package/dist/__tests__/ai-recovery.unit.test.d.ts +0 -2
- package/dist/__tests__/ai-recovery.unit.test.d.ts.map +0 -1
- package/dist/__tests__/artifact-path.test.d.ts +0 -2
- package/dist/__tests__/artifact-path.test.d.ts.map +0 -1
- package/dist/__tests__/asset-evidence-error-hints.test.d.ts +0 -2
- package/dist/__tests__/asset-evidence-error-hints.test.d.ts.map +0 -1
- package/dist/__tests__/asset-evidence-lifecycle.test.d.ts +0 -2
- package/dist/__tests__/asset-evidence-lifecycle.test.d.ts.map +0 -1
- package/dist/__tests__/asset-evidence-schema.test.d.ts +0 -2
- package/dist/__tests__/asset-evidence-schema.test.d.ts.map +0 -1
- package/dist/__tests__/atlas-cli-region-mismatch.test.d.ts +0 -2
- package/dist/__tests__/atlas-cli-region-mismatch.test.d.ts.map +0 -1
- package/dist/__tests__/atlas-error-code-owner.test-d.d.ts +0 -2
- package/dist/__tests__/atlas-error-code-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/cli-asset-evidence.integration.test.d.ts +0 -2
- package/dist/__tests__/cli-asset-evidence.integration.test.d.ts.map +0 -1
- package/dist/__tests__/cli.unit.test.d.ts +0 -2
- package/dist/__tests__/cli.unit.test.d.ts.map +0 -1
- package/dist/__tests__/evidence-source-inventory.unit.test.d.ts +0 -2
- package/dist/__tests__/evidence-source-inventory.unit.test.d.ts.map +0 -1
- package/dist/__tests__/guid-collision.unit.test.d.ts +0 -2
- package/dist/__tests__/guid-collision.unit.test.d.ts.map +0 -1
- package/dist/__tests__/guid-validator-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/guid-validator-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/inventory-schema.test.d.ts +0 -2
- package/dist/__tests__/inventory-schema.test.d.ts.map +0 -1
- package/dist/__tests__/material-cook-dependencies.unit.test.d.ts +0 -2
- package/dist/__tests__/material-cook-dependencies.unit.test.d.ts.map +0 -1
- package/dist/__tests__/material-cook-receipt.unit.test.d.ts +0 -2
- package/dist/__tests__/material-cook-receipt.unit.test.d.ts.map +0 -1
- package/dist/__tests__/material-cook-schema.unit.test.d.ts +0 -2
- package/dist/__tests__/material-cook-schema.unit.test.d.ts.map +0 -1
- package/dist/__tests__/mesh-bin-consumer-surface.unit.test.d.ts +0 -2
- package/dist/__tests__/mesh-bin-consumer-surface.unit.test.d.ts.map +0 -1
- package/dist/__tests__/mesh-bin-contract.unit.test.d.ts +0 -2
- package/dist/__tests__/mesh-bin-contract.unit.test.d.ts.map +0 -1
- package/dist/__tests__/meta-schema-optional.test.d.ts +0 -2
- package/dist/__tests__/meta-schema-optional.test.d.ts.map +0 -1
- package/dist/__tests__/meta-source-overrides.unit.test.d.ts +0 -2
- package/dist/__tests__/meta-source-overrides.unit.test.d.ts.map +0 -1
- package/dist/__tests__/native-cooker-registry.test.d.ts +0 -2
- package/dist/__tests__/native-cooker-registry.test.d.ts.map +0 -1
- package/dist/__tests__/offline-evidence-artifact-verification-owner.test-d.d.ts +0 -2
- package/dist/__tests__/offline-evidence-artifact-verification-owner.test-d.d.ts.map +0 -1
- package/dist/__tests__/offline-evidence.integration.test.d.ts +0 -2
- package/dist/__tests__/offline-evidence.integration.test.d.ts.map +0 -1
- package/dist/__tests__/owner-chain.integration.test.d.ts +0 -2
- package/dist/__tests__/owner-chain.integration.test.d.ts.map +0 -1
- package/dist/__tests__/pack-v2-fixture-migration.test.d.ts +0 -2
- package/dist/__tests__/pack-v2-fixture-migration.test.d.ts.map +0 -1
- package/dist/__tests__/pack-v2-schema.test.d.ts +0 -2
- package/dist/__tests__/pack-v2-schema.test.d.ts.map +0 -1
- package/dist/__tests__/pack.unit.test.d.ts +0 -2
- package/dist/__tests__/pack.unit.test.d.ts.map +0 -1
- package/dist/__tests__/package-finalizer.contract.test.d.ts +0 -2
- package/dist/__tests__/package-finalizer.contract.test.d.ts.map +0 -1
- package/dist/__tests__/parameterized-pack-authoring-gateway.unit.test.d.ts +0 -2
- package/dist/__tests__/parameterized-pack-authoring-gateway.unit.test.d.ts.map +0 -1
- package/dist/__tests__/parameterized-pack-scanner.unit.test.d.ts +0 -2
- package/dist/__tests__/parameterized-pack-scanner.unit.test.d.ts.map +0 -1
- package/dist/__tests__/parameterized-pack.unit.test.d.ts +0 -2
- package/dist/__tests__/parameterized-pack.unit.test.d.ts.map +0 -1
- package/dist/__tests__/producer-contract-schema.unit.test.d.ts +0 -2
- package/dist/__tests__/producer-contract-schema.unit.test.d.ts.map +0 -1
- package/dist/__tests__/resolve-asset-source.test.d.ts +0 -2
- package/dist/__tests__/resolve-asset-source.test.d.ts.map +0 -1
- package/dist/__tests__/runtime-projection.unit.test.d.ts +0 -2
- package/dist/__tests__/runtime-projection.unit.test.d.ts.map +0 -1
- package/dist/__tests__/runtime.browser.test.d.ts +0 -2
- package/dist/__tests__/runtime.browser.test.d.ts.map +0 -1
- package/dist/__tests__/scanner-blacklist.test.d.ts +0 -2
- package/dist/__tests__/scanner-blacklist.test.d.ts.map +0 -1
- package/dist/__tests__/scanner-inventory.contract.test.d.ts +0 -2
- package/dist/__tests__/scanner-inventory.contract.test.d.ts.map +0 -1
- package/dist/__tests__/scanner-inventory.test.d.ts +0 -2
- package/dist/__tests__/scanner-inventory.test.d.ts.map +0 -1
- package/dist/__tests__/scanner-mount-cycle.test.d.ts +0 -2
- package/dist/__tests__/scanner-mount-cycle.test.d.ts.map +0 -1
- package/dist/__tests__/scriptable-pack-cli.integration.test.d.ts +0 -2
- package/dist/__tests__/scriptable-pack-cli.integration.test.d.ts.map +0 -1
- package/dist/__tests__/scriptable-pack-ddc-key.unit.test.d.ts +0 -2
- package/dist/__tests__/scriptable-pack-ddc-key.unit.test.d.ts.map +0 -1
- package/dist/__tests__/topology-actions.unit.test.d.ts +0 -2
- package/dist/__tests__/topology-actions.unit.test.d.ts.map +0 -1
- package/dist/__tests__/topology.unit.test.d.ts +0 -2
- package/dist/__tests__/topology.unit.test.d.ts.map +0 -1
- package/dist/parameterized-pack-node.d.ts.map +0 -1
- package/dist/parameterized-pack-node.mjs.map +0 -1
- package/dist/parameterized-pack.d.ts.map +0 -1
package/dist/scanner.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CatalogDiagnostic, ProviderProvenance, ResourceRevision, SourceOverrideDescriptor } from '@forgeax/engine-types';
|
|
2
2
|
import { PackError } from './errors.js';
|
|
3
|
-
import { type
|
|
3
|
+
import { type AnyScriptablePackDefinition, type ScriptablePackSourceMeta } from './pack-authoring.js';
|
|
4
4
|
import type { ScriptablePackSourceClosureEntry } from './scriptable-pack.js';
|
|
5
5
|
import { type ScriptablePackModuleExecutor } from './scriptable-pack-node.js';
|
|
6
6
|
export type ScanResult<T, E> = {
|
|
@@ -24,7 +24,9 @@ export interface ScriptablePackScanOptions {
|
|
|
24
24
|
readonly metadataOnly?: boolean;
|
|
25
25
|
}
|
|
26
26
|
/** Stable default policy shared by inventory and production owners. */
|
|
27
|
-
export declare const STANDARD_SCRIPTABLE_PACK_SCAN_OPTIONS: Readonly<{
|
|
27
|
+
export declare const STANDARD_SCRIPTABLE_PACK_SCAN_OPTIONS: Readonly<{
|
|
28
|
+
timeoutMs: 60000;
|
|
29
|
+
}>;
|
|
28
30
|
export interface InventoryDeclaration {
|
|
29
31
|
readonly guid: string;
|
|
30
32
|
readonly kind: string;
|
|
@@ -42,8 +44,8 @@ export interface ScanInventory {
|
|
|
42
44
|
export interface ScriptablePackInventoryDeclaration {
|
|
43
45
|
readonly sourcePath: string;
|
|
44
46
|
readonly sourceRevision: string;
|
|
45
|
-
readonly meta:
|
|
46
|
-
readonly definition: Readonly<
|
|
47
|
+
readonly meta: ScriptablePackSourceMeta;
|
|
48
|
+
readonly definition: Readonly<AnyScriptablePackDefinition>;
|
|
47
49
|
readonly sourceClosure: readonly ScriptablePackSourceClosureEntry[];
|
|
48
50
|
}
|
|
49
51
|
export interface MetaInventoryDocument {
|
|
@@ -78,14 +80,14 @@ export interface LegacyPackInventoryDocument {
|
|
|
78
80
|
readonly diagnostics?: readonly CatalogDiagnostic[];
|
|
79
81
|
readonly assets: readonly PackInventoryAsset[];
|
|
80
82
|
}
|
|
81
|
-
export interface
|
|
83
|
+
export interface PackSourceInventoryDocument {
|
|
82
84
|
readonly schemaVersion: '3.0.0';
|
|
83
85
|
readonly packageId: string;
|
|
84
86
|
readonly assets?: Readonly<Record<string, Readonly<Record<string, unknown>>>>;
|
|
85
87
|
readonly parent?: string;
|
|
86
88
|
readonly values?: Readonly<Record<string, unknown>>;
|
|
87
89
|
}
|
|
88
|
-
export type PackInventoryDocument = LegacyPackInventoryDocument |
|
|
90
|
+
export type PackInventoryDocument = LegacyPackInventoryDocument | PackSourceInventoryDocument;
|
|
89
91
|
export interface PackInventoryAsset {
|
|
90
92
|
readonly guid: string;
|
|
91
93
|
readonly kind: string;
|
|
@@ -109,11 +111,11 @@ export type ScanSourceDeclaration = {
|
|
|
109
111
|
readonly sourceText: string;
|
|
110
112
|
readonly value: PackInventoryDocument;
|
|
111
113
|
} | {
|
|
112
|
-
readonly format: 'pack.ts
|
|
114
|
+
readonly format: 'pack.ts';
|
|
113
115
|
readonly sourcePath: string;
|
|
114
116
|
readonly sourceRevision: string;
|
|
115
|
-
readonly value:
|
|
116
|
-
readonly definition:
|
|
117
|
+
readonly value: ScriptablePackSourceMeta;
|
|
118
|
+
readonly definition: AnyScriptablePackDefinition;
|
|
117
119
|
readonly sourceClosure: readonly ScriptablePackSourceClosureEntry[];
|
|
118
120
|
};
|
|
119
121
|
export declare const SCANNER_BLACKLIST: ReadonlySet<string>;
|
package/dist/scanner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,iBAAiB,EAEjB,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../src/scanner.ts"],"names":[],"mappings":"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"}
|
package/dist/scanner.mjs
CHANGED
|
@@ -7364,10 +7364,10 @@ function validateParameterDefinitions(parameters, propertyPath = "$.parameters")
|
|
|
7364
7364
|
}
|
|
7365
7365
|
return ok(Object.freeze(normalized));
|
|
7366
7366
|
}
|
|
7367
|
-
function
|
|
7367
|
+
function projectScriptablePackMeta(definition, sourcePath) {
|
|
7368
7368
|
return {
|
|
7369
7369
|
schemaVersion: "2.0.0",
|
|
7370
|
-
kind: "
|
|
7370
|
+
kind: "scriptable-pack-source",
|
|
7371
7371
|
packageId: PackageId.format(definition.packageId),
|
|
7372
7372
|
source: sourcePath,
|
|
7373
7373
|
..."parameters" in definition ? {
|
|
@@ -7569,7 +7569,7 @@ function parsePackJsonAsset(value, sourceKey) {
|
|
|
7569
7569
|
};
|
|
7570
7570
|
return ok(withArtifacts);
|
|
7571
7571
|
}
|
|
7572
|
-
function
|
|
7572
|
+
function parsePackSourceJson(value) {
|
|
7573
7573
|
if (!isRecord(value))
|
|
7574
7574
|
return jsonError("$", "a v3 pack.json object", value, "document is not an object");
|
|
7575
7575
|
if (value.schemaVersion !== "3.0.0")
|
|
@@ -7649,7 +7649,7 @@ function parseParameterizedPackJson(value) {
|
|
|
7649
7649
|
});
|
|
7650
7650
|
}
|
|
7651
7651
|
function projectDirectPackJson(value) {
|
|
7652
|
-
const parsed = "format" in value ? ok(value) :
|
|
7652
|
+
const parsed = "format" in value ? ok(value) : parsePackSourceJson(value);
|
|
7653
7653
|
if (!parsed.ok) return parsed;
|
|
7654
7654
|
if (parsed.value.format !== "direct") {
|
|
7655
7655
|
return failure(
|
|
@@ -7673,7 +7673,7 @@ function projectDirectPackJson(value) {
|
|
|
7673
7673
|
}
|
|
7674
7674
|
return ok({ packageId: PackageId.format(parsed.value.packageId), assets: Object.freeze(assets) });
|
|
7675
7675
|
}
|
|
7676
|
-
var
|
|
7676
|
+
var PACK_AUTHORING_OPERATION_IDS = [
|
|
7677
7677
|
"asset.list",
|
|
7678
7678
|
"asset.inspect",
|
|
7679
7679
|
"asset.resolve",
|
|
@@ -7685,14 +7685,12 @@ var PARAMETERIZED_PACK_OPERATION_IDS = [
|
|
|
7685
7685
|
"asset-source.rebuild",
|
|
7686
7686
|
"asset-source.cold-cook"
|
|
7687
7687
|
];
|
|
7688
|
-
|
|
7689
|
-
|
|
7690
|
-
|
|
7691
|
-
|
|
7692
|
-
|
|
7693
|
-
|
|
7694
|
-
})
|
|
7695
|
-
);
|
|
7688
|
+
PACK_AUTHORING_OPERATION_IDS.map((id) => ({
|
|
7689
|
+
id,
|
|
7690
|
+
domain: id.startsWith("asset-source.") ? "session" : "asset",
|
|
7691
|
+
readOnly: id.startsWith("asset."),
|
|
7692
|
+
requiresRevision: !id.startsWith("asset.") && id !== "asset-source.create"
|
|
7693
|
+
}));
|
|
7696
7694
|
function isRecord2(value) {
|
|
7697
7695
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
7698
7696
|
}
|
|
@@ -8153,7 +8151,7 @@ var pack_schema_default = {
|
|
|
8153
8151
|
},
|
|
8154
8152
|
parent: {
|
|
8155
8153
|
$ref: "#/$defs/guid36",
|
|
8156
|
-
description: "Parent
|
|
8154
|
+
description: "Parent ScriptablePack packageId for one v3 instance; the source may declare Pack parameters."
|
|
8157
8155
|
},
|
|
8158
8156
|
values: {
|
|
8159
8157
|
type: "object",
|
|
@@ -8508,7 +8506,7 @@ function hydrateFailure(value) {
|
|
|
8508
8506
|
return value;
|
|
8509
8507
|
}
|
|
8510
8508
|
var WorkerScriptablePackExecutor = class {
|
|
8511
|
-
|
|
8509
|
+
supportsPackParameters = true;
|
|
8512
8510
|
worker;
|
|
8513
8511
|
compileRoot;
|
|
8514
8512
|
nextBuildId = 0;
|
|
@@ -8609,7 +8607,7 @@ function scriptablePackWorkerUrl() {
|
|
|
8609
8607
|
const bundledWorker = new URL("./scriptable-pack-worker.mjs", import.meta.url);
|
|
8610
8608
|
return existsSync(fileURLToPath(bundledWorker)) ? bundledWorker : new URL("../dist/scriptable-pack-worker.mjs", import.meta.url);
|
|
8611
8609
|
}
|
|
8612
|
-
function
|
|
8610
|
+
function scriptablePackLoadFailure(sourcePath, reason, phase, diagnostic, timeoutMs) {
|
|
8613
8611
|
return {
|
|
8614
8612
|
code: "pack-parameter-invalid",
|
|
8615
8613
|
expected: "a trusted Pack v2 authoring module with a valid default export",
|
|
@@ -8623,14 +8621,14 @@ function parameterizedLoadFailure(sourcePath, reason, phase, diagnostic, timeout
|
|
|
8623
8621
|
}
|
|
8624
8622
|
};
|
|
8625
8623
|
}
|
|
8626
|
-
async function
|
|
8624
|
+
async function loadScriptablePack(sourcePath, options = {}) {
|
|
8627
8625
|
const timeoutMs = options.timeoutMs ?? 15e3;
|
|
8628
8626
|
const buildTimeoutMs = options.buildTimeoutMs ?? 5e3;
|
|
8629
8627
|
const executor = options.executor ?? new WorkerScriptablePackExecutor();
|
|
8630
8628
|
let disposeReason;
|
|
8631
8629
|
let timeout;
|
|
8632
8630
|
try {
|
|
8633
|
-
const timeoutSignal = /* @__PURE__ */ Symbol("
|
|
8631
|
+
const timeoutSignal = /* @__PURE__ */ Symbol("scriptable-pack-module-timeout");
|
|
8634
8632
|
const loaded = await Promise.race([
|
|
8635
8633
|
executor.load(sourcePath),
|
|
8636
8634
|
new Promise((resolve3) => {
|
|
@@ -8640,7 +8638,7 @@ async function loadParameterizedScriptablePack(sourcePath, options = {}) {
|
|
|
8640
8638
|
if (loaded === timeoutSignal) {
|
|
8641
8639
|
disposeReason = "timeout";
|
|
8642
8640
|
return err(
|
|
8643
|
-
|
|
8641
|
+
scriptablePackLoadFailure(
|
|
8644
8642
|
sourcePath,
|
|
8645
8643
|
"timeout",
|
|
8646
8644
|
"module-load",
|
|
@@ -8667,7 +8665,7 @@ async function loadParameterizedScriptablePack(sourcePath, options = {}) {
|
|
|
8667
8665
|
let buildTimedOut = false;
|
|
8668
8666
|
let buildTimeout;
|
|
8669
8667
|
const timeoutResult = err(
|
|
8670
|
-
|
|
8668
|
+
scriptablePackLoadFailure(
|
|
8671
8669
|
sourcePath,
|
|
8672
8670
|
"timeout",
|
|
8673
8671
|
"build",
|
|
@@ -8676,7 +8674,7 @@ async function loadParameterizedScriptablePack(sourcePath, options = {}) {
|
|
|
8676
8674
|
)
|
|
8677
8675
|
);
|
|
8678
8676
|
try {
|
|
8679
|
-
const invocation = "
|
|
8677
|
+
const invocation = "supportsPackParameters" in executor && executor.supportsPackParameters === true ? build(context.readByGuid, {
|
|
8680
8678
|
packageId: [...context.packageId],
|
|
8681
8679
|
..."values" in context && context.values !== void 0 ? { values: context.values } : {}
|
|
8682
8680
|
}) : definition.build(context);
|
|
@@ -8706,7 +8704,7 @@ async function loadParameterizedScriptablePack(sourcePath, options = {}) {
|
|
|
8706
8704
|
} catch (error) {
|
|
8707
8705
|
disposeReason = "failure";
|
|
8708
8706
|
return err(
|
|
8709
|
-
|
|
8707
|
+
scriptablePackLoadFailure(
|
|
8710
8708
|
sourcePath,
|
|
8711
8709
|
"module-load",
|
|
8712
8710
|
"module-load",
|
|
@@ -8729,9 +8727,13 @@ function packErr(error) {
|
|
|
8729
8727
|
function record(value) {
|
|
8730
8728
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
8731
8729
|
}
|
|
8732
|
-
var STANDARD_SCRIPTABLE_PACK_SCAN_OPTIONS = Object.freeze(
|
|
8733
|
-
|
|
8734
|
-
|
|
8730
|
+
var STANDARD_SCRIPTABLE_PACK_SCAN_OPTIONS = Object.freeze({
|
|
8731
|
+
// Scriptable Packs execute in an isolated worker. A cold worker must
|
|
8732
|
+
// compile the authored source closure before it can return metadata;
|
|
8733
|
+
// heavy procedural packs otherwise make the shared catalog fall back to
|
|
8734
|
+
// an empty degraded projection at the old 15-second budget.
|
|
8735
|
+
timeoutMs: 6e4
|
|
8736
|
+
});
|
|
8735
8737
|
var BLACKLIST = /* @__PURE__ */ new Set([
|
|
8736
8738
|
"node_modules",
|
|
8737
8739
|
"__tests__",
|
|
@@ -8860,7 +8862,7 @@ async function scanValidated(roots, opts = {}, capture) {
|
|
|
8860
8862
|
if (!loaded.ok) return loaded;
|
|
8861
8863
|
const { raw, parsed } = loaded.value;
|
|
8862
8864
|
if (record(parsed) && parsed.schemaVersion === "3.0.0") {
|
|
8863
|
-
const authoring =
|
|
8865
|
+
const authoring = parsePackSourceJson(parsed);
|
|
8864
8866
|
if (!authoring.ok) {
|
|
8865
8867
|
return packErr(
|
|
8866
8868
|
makePackError("pack-malformed-pack", {
|
|
@@ -9104,7 +9106,7 @@ async function scanValidated(roots, opts = {}, capture) {
|
|
|
9104
9106
|
...opts.scriptablePack ?? {},
|
|
9105
9107
|
...capture === void 0 ? { metadataOnly: true } : {}
|
|
9106
9108
|
};
|
|
9107
|
-
const loaded = await
|
|
9109
|
+
const loaded = await loadScriptablePack(sourcePath, loaderOptions);
|
|
9108
9110
|
if (!loaded.ok) {
|
|
9109
9111
|
const diagnostic = loaded.error.detail.diagnostic;
|
|
9110
9112
|
return packErr(
|
|
@@ -9133,12 +9135,12 @@ async function scanValidated(roots, opts = {}, capture) {
|
|
|
9133
9135
|
const packageCollision = registerPackage(
|
|
9134
9136
|
PackageId.format(loaded.value.packageId),
|
|
9135
9137
|
sourcePath,
|
|
9136
|
-
"
|
|
9138
|
+
"scriptable"
|
|
9137
9139
|
);
|
|
9138
9140
|
if (packageCollision !== void 0) return packErr(packageCollision);
|
|
9139
|
-
const meta =
|
|
9141
|
+
const meta = projectScriptablePackMeta(loaded.value, sourcePath);
|
|
9140
9142
|
capture?.declarations.set(sourcePath, {
|
|
9141
|
-
format: "pack.ts
|
|
9143
|
+
format: "pack.ts",
|
|
9142
9144
|
sourcePath,
|
|
9143
9145
|
sourceRevision: `sha256:${createHash("sha256").update(source).digest("hex")}`,
|
|
9144
9146
|
value: meta,
|
|
@@ -9167,15 +9169,15 @@ async function scanValidated(roots, opts = {}, capture) {
|
|
|
9167
9169
|
);
|
|
9168
9170
|
}
|
|
9169
9171
|
const kind = packageKind.get(parentId);
|
|
9170
|
-
if (kind !== "
|
|
9172
|
+
if (kind !== "scriptable" && kind !== "instance") {
|
|
9171
9173
|
return packErr(
|
|
9172
9174
|
makePackError("pack-malformed-pack", {
|
|
9173
9175
|
path: instance.path,
|
|
9174
|
-
reason: "pack-parent-
|
|
9176
|
+
reason: "pack-parent-has-no-parameters",
|
|
9175
9177
|
ajvErrors: [
|
|
9176
9178
|
{
|
|
9177
9179
|
instancePath: "/parent",
|
|
9178
|
-
message: `parent ${instance.parent} is not a
|
|
9180
|
+
message: `parent ${instance.parent} is not a ScriptablePack source with parameters`
|
|
9179
9181
|
}
|
|
9180
9182
|
]
|
|
9181
9183
|
})
|
|
@@ -9248,7 +9250,7 @@ async function scanInventory(roots, opts = {}) {
|
|
|
9248
9250
|
const declaration = declarations.get(sourcePath);
|
|
9249
9251
|
if (declaration?.format !== "pack.json") continue;
|
|
9250
9252
|
if (declaration.value.schemaVersion === "3.0.0") {
|
|
9251
|
-
const parsed =
|
|
9253
|
+
const parsed = parsePackSourceJson(declaration.value);
|
|
9252
9254
|
if (!parsed.ok) {
|
|
9253
9255
|
return packErr(
|
|
9254
9256
|
makePackError("pack-malformed-pack", {
|