@forgeax/engine-pack 0.1.21 → 0.1.23

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.
Files changed (124) hide show
  1. package/README.md +159 -46
  2. package/dist/__tests__/inventory-schema.test.d.ts +2 -0
  3. package/dist/__tests__/inventory-schema.test.d.ts.map +1 -0
  4. package/dist/__tests__/parameterized-pack-authoring-gateway.unit.test.d.ts +2 -0
  5. package/dist/__tests__/parameterized-pack-authoring-gateway.unit.test.d.ts.map +1 -0
  6. package/dist/__tests__/parameterized-pack-scanner.unit.test.d.ts +2 -0
  7. package/dist/__tests__/parameterized-pack-scanner.unit.test.d.ts.map +1 -0
  8. package/dist/__tests__/parameterized-pack.unit.test.d.ts +2 -0
  9. package/dist/__tests__/parameterized-pack.unit.test.d.ts.map +1 -0
  10. package/dist/__tests__/scanner-blacklist.test.d.ts +2 -0
  11. package/dist/__tests__/scanner-blacklist.test.d.ts.map +1 -0
  12. package/dist/build.d.ts +9 -4
  13. package/dist/build.d.ts.map +1 -1
  14. package/dist/build.mjs +3314 -803
  15. package/dist/build.mjs.map +1 -1
  16. package/dist/builtin.mjs +37 -4
  17. package/dist/builtin.mjs.map +1 -1
  18. package/dist/catalog-builder.d.ts.map +1 -1
  19. package/dist/cli-asset.d.ts.map +1 -1
  20. package/dist/cli-asset.mjs +1368 -850
  21. package/dist/cli-asset.mjs.map +1 -1
  22. package/dist/deriveAssetName.d.ts +11 -7
  23. package/dist/deriveAssetName.d.ts.map +1 -1
  24. package/dist/evidence/source-inventory.d.ts.map +1 -1
  25. package/dist/guid.d.ts +15 -0
  26. package/dist/guid.d.ts.map +1 -1
  27. package/dist/guid.mjs +53 -5
  28. package/dist/guid.mjs.map +1 -1
  29. package/dist/index.d.ts +3 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.mjs +1252 -560
  32. package/dist/index.mjs.map +1 -1
  33. package/dist/inventory/binding.d.ts +6 -0
  34. package/dist/inventory/binding.d.ts.map +1 -0
  35. package/dist/inventory/declaration.d.ts +24 -0
  36. package/dist/inventory/declaration.d.ts.map +1 -0
  37. package/dist/inventory/index.d.ts +3 -0
  38. package/dist/inventory/index.d.ts.map +1 -0
  39. package/dist/inventory/sync.d.ts +5 -0
  40. package/dist/inventory/sync.d.ts.map +1 -0
  41. package/dist/name.mjs +4 -7
  42. package/dist/name.mjs.map +1 -1
  43. package/dist/package-finalizer.d.ts +2 -20
  44. package/dist/package-finalizer.d.ts.map +1 -1
  45. package/dist/parameterized-pack-node.d.ts +26 -0
  46. package/dist/parameterized-pack-node.d.ts.map +1 -0
  47. package/dist/parameterized-pack-node.mjs +11093 -0
  48. package/dist/parameterized-pack-node.mjs.map +1 -0
  49. package/dist/parameterized-pack.d.ts +233 -0
  50. package/dist/parameterized-pack.d.ts.map +1 -0
  51. package/dist/resolve-asset-source.d.ts +1 -3
  52. package/dist/resolve-asset-source.d.ts.map +1 -1
  53. package/dist/resolve-asset-source.mjs +6 -81
  54. package/dist/resolve-asset-source.mjs.map +1 -1
  55. package/dist/runtime.mjs +77 -7
  56. package/dist/runtime.mjs.map +1 -1
  57. package/dist/scanner.d.ts +19 -8
  58. package/dist/scanner.d.ts.map +1 -1
  59. package/dist/scanner.mjs +1169 -690
  60. package/dist/scanner.mjs.map +1 -1
  61. package/dist/schema-compiled.d.ts.map +1 -1
  62. package/dist/schema.mjs +79 -7
  63. package/dist/schema.mjs.map +1 -1
  64. package/dist/scriptable-pack-node.d.ts +8 -32
  65. package/dist/scriptable-pack-node.d.ts.map +1 -1
  66. package/dist/scriptable-pack-node.mjs +576 -1021
  67. package/dist/scriptable-pack-node.mjs.map +1 -1
  68. package/dist/scriptable-pack-worker.mjs +29 -11
  69. package/dist/scriptable-pack-worker.mjs.map +1 -1
  70. package/dist/scriptable-pack.d.ts +19 -532
  71. package/dist/scriptable-pack.d.ts.map +1 -1
  72. package/dist/scriptable-pack.mjs +1042 -527
  73. package/dist/scriptable-pack.mjs.map +1 -1
  74. package/package.json +7 -7
  75. package/schema/meta.schema.json +1 -1
  76. package/schema/pack.schema.json +76 -6
  77. package/src/__tests__/guid-collision.unit.test.ts +18 -9
  78. package/src/__tests__/inventory-schema.test.ts +109 -0
  79. package/src/__tests__/pack.unit.test.ts +1 -238
  80. package/src/__tests__/package-finalizer.contract.test.ts +55 -0
  81. package/src/__tests__/parameterized-pack-authoring-gateway.unit.test.ts +249 -0
  82. package/src/__tests__/parameterized-pack-scanner.unit.test.ts +123 -0
  83. package/src/__tests__/parameterized-pack.unit.test.ts +266 -0
  84. package/src/__tests__/resolve-asset-source.test.ts +15 -98
  85. package/src/__tests__/scanner-blacklist.test.ts +55 -0
  86. package/src/__tests__/scanner-inventory.contract.test.ts +14 -15
  87. package/src/__tests__/scanner-inventory.test.ts +24 -12
  88. package/src/__tests__/scriptable-pack-cli.integration.test.ts +4 -9
  89. package/src/__tests__/topology.unit.test.ts +23 -0
  90. package/src/build.ts +28 -18
  91. package/src/catalog-builder.ts +61 -34
  92. package/src/cli-asset.ts +70 -85
  93. package/src/deriveAssetName.ts +14 -13
  94. package/src/evidence/source-inventory.ts +34 -21
  95. package/src/guid.ts +65 -4
  96. package/src/index.ts +12 -11
  97. package/src/inventory/binding.ts +25 -0
  98. package/src/inventory/declaration.ts +168 -0
  99. package/src/inventory/index.ts +18 -0
  100. package/src/inventory/sync.ts +22 -0
  101. package/src/package-finalizer.ts +2 -42
  102. package/src/parameterized-pack-node.ts +1968 -0
  103. package/src/parameterized-pack.ts +1493 -0
  104. package/src/resolve-asset-source.ts +4 -76
  105. package/src/scanner.ts +241 -59
  106. package/src/schema-compiled.ts +2 -0
  107. package/src/scriptable-pack-node.ts +111 -722
  108. package/src/scriptable-pack-worker.ts +48 -16
  109. package/src/scriptable-pack.ts +27 -939
  110. package/dist/.tsbuildinfo +0 -1
  111. package/dist/__tests__/load-asset-config.test.d.ts +0 -2
  112. package/dist/__tests__/load-asset-config.test.d.ts.map +0 -1
  113. package/dist/__tests__/scriptable-pack.test-d.d.ts +0 -2
  114. package/dist/__tests__/scriptable-pack.test-d.d.ts.map +0 -1
  115. package/dist/__tests__/scriptable-pack.unit.test.d.ts +0 -2
  116. package/dist/__tests__/scriptable-pack.unit.test.d.ts.map +0 -1
  117. package/dist/config.d.ts +0 -6
  118. package/dist/config.d.ts.map +0 -1
  119. package/dist/config.mjs +0 -29
  120. package/dist/config.mjs.map +0 -1
  121. package/src/__tests__/load-asset-config.test.ts +0 -121
  122. package/src/__tests__/scriptable-pack.test-d.ts +0 -131
  123. package/src/__tests__/scriptable-pack.unit.test.ts +0 -789
  124. package/src/config.ts +0 -36
@@ -1,6 +1,7 @@
1
1
  import type { Result } from '@forgeax/engine-types';
2
2
  import { type ProducerSemanticIdentityInput } from './evidence/source-inventory.js';
3
- import { type ScriptablePackAssetKind, type ScriptablePackAuthoringPort, type ScriptablePackDefinition, type ScriptablePackError, type ScriptablePackSourceClosureEntry } from './scriptable-pack.js';
3
+ import { type AnyParameterizedPackDefinition, type PackAuthoringError } from './parameterized-pack.js';
4
+ import type { ScriptablePackSourceClosureEntry } from './scriptable-pack.js';
4
5
  export interface ScriptablePackModuleExecutor {
5
6
  load(sourcePath: string): Promise<unknown>;
6
7
  dispose?(reason: 'complete' | 'timeout' | 'failure'): void | Promise<void>;
@@ -23,40 +24,15 @@ export declare function readOptionalBuildCache<T>(cache: OptionalBuildCache<T>):
23
24
  readonly value: T;
24
25
  readonly fromCache: boolean;
25
26
  }>;
26
- export interface LoadScriptablePackOptions {
27
- /** Maximum time allowed for module initialization in the isolated worker. */
27
+ /** Capture one immutable ScriptablePack module closure for inventory and production. */
28
+ export declare function inventoryScriptablePackSource(sourcePath: string, initialSourceText?: string): Promise<readonly ScriptablePackSourceClosureEntry[]>;
29
+ export declare function createScriptablePackModuleExecutorPool(options?: ScriptablePackModuleExecutorPoolOptions): ScriptablePackModuleExecutorPool;
30
+ export interface LoadParameterizedScriptablePackOptions {
28
31
  readonly timeoutMs?: number;
29
- /** Maximum time allowed for one definition.build(reader) in the isolated worker. */
30
32
  readonly buildTimeoutMs?: number;
31
33
  readonly executor?: ScriptablePackModuleExecutor;
32
- /** Release the isolated loader after identity projection when build will not be called. */
33
34
  readonly metadataOnly?: boolean;
34
35
  }
35
- /** Capture one immutable ScriptablePack module closure for inventory and production. */
36
- export declare function inventoryScriptablePackSource(sourcePath: string, initialSourceText?: string): Promise<readonly ScriptablePackSourceClosureEntry[]>;
37
- export declare function createScriptablePackModuleExecutorPool(options?: ScriptablePackModuleExecutorPoolOptions): ScriptablePackModuleExecutorPool;
38
- export declare function loadScriptablePack(sourcePath: string, options?: LoadScriptablePackOptions): Promise<Result<Readonly<ScriptablePackDefinition>, ScriptablePackError>>;
39
- interface CanonicalOutput {
40
- readonly guid: string;
41
- readonly kind: ScriptablePackAssetKind;
42
- readonly name?: string;
43
- }
44
- interface CanonicalManifest {
45
- readonly schemaVersion: '1.0.0';
46
- readonly packageId: string;
47
- readonly name?: string;
48
- readonly assets: Readonly<Record<string, CanonicalOutput>>;
49
- readonly externalAssets: Readonly<Record<string, string>>;
50
- }
51
- export interface FileSystemScriptablePackAuthoringOptions {
52
- /** All source and target paths are confined to this game root. */
53
- readonly gameRoot: string;
54
- readonly incomingRefs?: (sourcePath: string, sourceKey?: string) => Promise<readonly string[]>;
55
- readonly rebuild?: (sourcePath: string, mode: 'rebuild' | 'cold-cook') => Promise<Result<void, ScriptablePackError>>;
56
- }
57
- /** Render the one source shape that the file authoring port may mutate structurally. */
58
- export declare function renderCanonicalScriptablePack(manifest: CanonicalManifest): string;
59
- /** Node filesystem adapter for the public ScriptablePack authoring gateway. */
60
- export declare function createFileSystemScriptablePackAuthoringPort(options: FileSystemScriptablePackAuthoringOptions): ScriptablePackAuthoringPort;
61
- export {};
36
+ /** Load the parameterized Pack source contract in an isolated module executor. */
37
+ export declare function loadParameterizedScriptablePack(sourcePath: string, options?: LoadParameterizedScriptablePackOptions): Promise<Result<Readonly<AnyParameterizedPackDefinition>, PackAuthoringError>>;
62
38
  //# sourceMappingURL=scriptable-pack-node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scriptable-pack-node.d.ts","sourceRoot":"","sources":["../src/scriptable-pack-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scriptable-pack-node.d.ts","sourceRoot":"","sources":["../src/scriptable-pack-node.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAa,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/D,OAAO,EACL,KAAK,6BAA6B,EAEnC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,KAAK,8BAA8B,EACnC,KAAK,kBAAkB,EAIxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAe,gCAAgC,EAAE,MAAM,sBAAsB,CAAC;AAe1F,MAAM,WAAW,4BAA4B;IAC3C,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,CAAC,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5E;AAWD,MAAM,WAAW,gCAAgC;IAC/C,OAAO,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACjD,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED,MAAM,WAAW,uCAAuC;IACtD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CACrC;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,6BAA6B,GAAG,MAAM,CAEjF;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC;CACrC;AAED,sFAAsF;AACtF,wBAAsB,sBAAsB,CAAC,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IACrF,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,CAAC,CAQD;AA+BD,wFAAwF;AACxF,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,MAAM,EAClB,iBAAiB,CAAC,EAAE,MAAM,GACzB,OAAO,CAAC,SAAS,gCAAgC,EAAE,CAAC,CAqBtD;AAqfD,wBAAgB,sCAAsC,CACpD,OAAO,GAAE,uCAA4C,GACpD,gCAAgC,CAElC;AAED,MAAM,WAAW,sCAAsC;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACjD,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;CACjC;AAuBD,kFAAkF;AAClF,wBAAsB,+BAA+B,CACnD,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,sCAA2C,GACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,kBAAkB,CAAC,CAAC,CA6G/E"}