@forgeax/engine-pack 0.1.21 → 0.1.24

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 (139) hide show
  1. package/README.md +167 -48
  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__/material-cook-receipt-layer-plan.unit.test.d.ts +2 -0
  5. package/dist/__tests__/material-cook-receipt-layer-plan.unit.test.d.ts.map +1 -0
  6. package/dist/__tests__/pack-authoring-gateway.unit.test.d.ts +2 -0
  7. package/dist/__tests__/pack-authoring-gateway.unit.test.d.ts.map +1 -0
  8. package/dist/__tests__/pack-authoring.unit.test.d.ts +2 -0
  9. package/dist/__tests__/pack-authoring.unit.test.d.ts.map +1 -0
  10. package/dist/__tests__/pack-scanner.unit.test.d.ts +2 -0
  11. package/dist/__tests__/pack-scanner.unit.test.d.ts.map +1 -0
  12. package/dist/__tests__/scanner-blacklist.test.d.ts +2 -0
  13. package/dist/__tests__/scanner-blacklist.test.d.ts.map +1 -0
  14. package/dist/build.d.ts +9 -4
  15. package/dist/build.d.ts.map +1 -1
  16. package/dist/build.mjs +3449 -897
  17. package/dist/build.mjs.map +1 -1
  18. package/dist/builtin.mjs +37 -4
  19. package/dist/builtin.mjs.map +1 -1
  20. package/dist/catalog-builder.d.ts.map +1 -1
  21. package/dist/cli-asset.d.ts.map +1 -1
  22. package/dist/cli-asset.mjs +1361 -845
  23. package/dist/cli-asset.mjs.map +1 -1
  24. package/dist/deriveAssetName.d.ts +11 -7
  25. package/dist/deriveAssetName.d.ts.map +1 -1
  26. package/dist/evidence/material-cook.d.ts +11 -0
  27. package/dist/evidence/material-cook.d.ts.map +1 -1
  28. package/dist/evidence/source-inventory.d.ts.map +1 -1
  29. package/dist/guid.d.ts +15 -0
  30. package/dist/guid.d.ts.map +1 -1
  31. package/dist/guid.mjs +53 -5
  32. package/dist/guid.mjs.map +1 -1
  33. package/dist/index.d.ts +4 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.mjs +1297 -562
  36. package/dist/index.mjs.map +1 -1
  37. package/dist/inventory/binding.d.ts +6 -0
  38. package/dist/inventory/binding.d.ts.map +1 -0
  39. package/dist/inventory/declaration.d.ts +24 -0
  40. package/dist/inventory/declaration.d.ts.map +1 -0
  41. package/dist/inventory/index.d.ts +3 -0
  42. package/dist/inventory/index.d.ts.map +1 -0
  43. package/dist/inventory/sync.d.ts +5 -0
  44. package/dist/inventory/sync.d.ts.map +1 -0
  45. package/dist/material-cook.d.ts +1 -1
  46. package/dist/material-cook.d.ts.map +1 -1
  47. package/dist/material-cook.mjs +50 -3
  48. package/dist/material-cook.mjs.map +1 -1
  49. package/dist/name.mjs +4 -7
  50. package/dist/name.mjs.map +1 -1
  51. package/dist/pack-authoring-node.d.ts +26 -0
  52. package/dist/pack-authoring-node.d.ts.map +1 -0
  53. package/dist/pack-authoring-node.mjs +11089 -0
  54. package/dist/pack-authoring-node.mjs.map +1 -0
  55. package/dist/pack-authoring.d.ts +230 -0
  56. package/dist/pack-authoring.d.ts.map +1 -0
  57. package/dist/pack-authoring.mjs +1137 -0
  58. package/dist/pack-authoring.mjs.map +1 -0
  59. package/dist/package-finalizer.d.ts +2 -20
  60. package/dist/package-finalizer.d.ts.map +1 -1
  61. package/dist/resolve-asset-source.d.ts +1 -3
  62. package/dist/resolve-asset-source.d.ts.map +1 -1
  63. package/dist/resolve-asset-source.mjs +6 -81
  64. package/dist/resolve-asset-source.mjs.map +1 -1
  65. package/dist/runtime.mjs +77 -7
  66. package/dist/runtime.mjs.map +1 -1
  67. package/dist/scanner.d.ts +18 -7
  68. package/dist/scanner.d.ts.map +1 -1
  69. package/dist/scanner.mjs +1164 -687
  70. package/dist/scanner.mjs.map +1 -1
  71. package/dist/schema-compiled.d.ts.map +1 -1
  72. package/dist/schema.mjs +79 -7
  73. package/dist/schema.mjs.map +1 -1
  74. package/dist/scriptable-pack-node.d.ts +7 -31
  75. package/dist/scriptable-pack-node.d.ts.map +1 -1
  76. package/dist/scriptable-pack-node.mjs +572 -1019
  77. package/dist/scriptable-pack-node.mjs.map +1 -1
  78. package/dist/scriptable-pack-worker.mjs +29 -11
  79. package/dist/scriptable-pack-worker.mjs.map +1 -1
  80. package/dist/scriptable-pack.d.ts +20 -532
  81. package/dist/scriptable-pack.d.ts.map +1 -1
  82. package/dist/scriptable-pack.mjs +1038 -527
  83. package/dist/scriptable-pack.mjs.map +1 -1
  84. package/package.json +2 -7
  85. package/schema/meta.schema.json +1 -1
  86. package/schema/pack.schema.json +76 -6
  87. package/src/__tests__/guid-collision.unit.test.ts +18 -9
  88. package/src/__tests__/inventory-schema.test.ts +109 -0
  89. package/src/__tests__/material-cook-receipt-layer-plan.unit.test.ts +16 -0
  90. package/src/__tests__/material-cook-schema.unit.test.ts +62 -0
  91. package/src/__tests__/pack-authoring-gateway.unit.test.ts +249 -0
  92. package/src/__tests__/pack-authoring.unit.test.ts +266 -0
  93. package/src/__tests__/pack-scanner.unit.test.ts +123 -0
  94. package/src/__tests__/pack.unit.test.ts +1 -238
  95. package/src/__tests__/package-finalizer.contract.test.ts +55 -0
  96. package/src/__tests__/resolve-asset-source.test.ts +15 -98
  97. package/src/__tests__/scanner-blacklist.test.ts +55 -0
  98. package/src/__tests__/scanner-inventory.contract.test.ts +11 -14
  99. package/src/__tests__/scanner-inventory.test.ts +23 -10
  100. package/src/__tests__/scriptable-pack-cli.integration.test.ts +4 -9
  101. package/src/__tests__/topology.unit.test.ts +23 -0
  102. package/src/build.ts +28 -18
  103. package/src/catalog-builder.ts +60 -33
  104. package/src/cli-asset.ts +68 -83
  105. package/src/deriveAssetName.ts +14 -13
  106. package/src/evidence/material-cook.ts +79 -3
  107. package/src/evidence/source-inventory.ts +34 -21
  108. package/src/guid.ts +65 -4
  109. package/src/index.ts +15 -11
  110. package/src/inventory/binding.ts +25 -0
  111. package/src/inventory/declaration.ts +168 -0
  112. package/src/inventory/index.ts +18 -0
  113. package/src/inventory/sync.ts +22 -0
  114. package/src/material-cook.ts +1 -0
  115. package/src/pack-authoring-node.ts +1966 -0
  116. package/src/pack-authoring.ts +1478 -0
  117. package/src/package-finalizer.ts +2 -42
  118. package/src/resolve-asset-source.ts +4 -76
  119. package/src/scanner.ts +236 -56
  120. package/src/schema/material-cook.schema.json +4 -1
  121. package/src/schema-compiled.ts +2 -0
  122. package/src/scriptable-pack-node.ts +108 -719
  123. package/src/scriptable-pack-worker.ts +48 -16
  124. package/src/scriptable-pack.ts +28 -939
  125. package/dist/.tsbuildinfo +0 -1
  126. package/dist/__tests__/load-asset-config.test.d.ts +0 -2
  127. package/dist/__tests__/load-asset-config.test.d.ts.map +0 -1
  128. package/dist/__tests__/scriptable-pack.test-d.d.ts +0 -2
  129. package/dist/__tests__/scriptable-pack.test-d.d.ts.map +0 -1
  130. package/dist/__tests__/scriptable-pack.unit.test.d.ts +0 -2
  131. package/dist/__tests__/scriptable-pack.unit.test.d.ts.map +0 -1
  132. package/dist/config.d.ts +0 -6
  133. package/dist/config.d.ts.map +0 -1
  134. package/dist/config.mjs +0 -29
  135. package/dist/config.mjs.map +0 -1
  136. package/src/__tests__/load-asset-config.test.ts +0 -121
  137. package/src/__tests__/scriptable-pack.test-d.ts +0 -131
  138. package/src/__tests__/scriptable-pack.unit.test.ts +0 -789
  139. package/src/config.ts +0 -36
@@ -1 +1 @@
1
- {"version":3,"file":"schema-compiled.d.ts","sourceRoot":"","sources":["../src/schema-compiled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAC;AASjD,eAAO,MAAM,YAAY;;EAA8B,CAAC;AACxD,eAAO,MAAM,YAAY;;EAA8B,CAAC;AAExD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAS9D;AAwCD,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACjD,gBAAgB,CAsHlB;AAsBD,wBAAgB,2BAA2B,CACzC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,GACtC,gBAAgB,CA+BlB"}
1
+ {"version":3,"file":"schema-compiled.d.ts","sourceRoot":"","sources":["../src/schema-compiled.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,KAAK,CAAC;AASjD,eAAO,MAAM,YAAY;;EAA8B,CAAC;AACxD,eAAO,MAAM,YAAY;;EAA8B,CAAC;AAExD,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAS9D;AAwCD,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GACjD,gBAAgB,CAwHlB;AAsBD,wBAAgB,2BAA2B,CACzC,kBAAkB,EAAE,WAAW,CAAC,MAAM,CAAC,GACtC,gBAAgB,CA+BlB"}
package/dist/schema.mjs CHANGED
@@ -6857,7 +6857,7 @@ var meta_schema_default = {
6857
6857
  source: {
6858
6858
  type: "string",
6859
6859
  minLength: 1,
6860
- description: "Optional. Omit to derive the companion file in the same directory (strip .meta.json suffix from the meta filename). Or write @<name>/<rest> to reference a declared path table entry (see package.json#forgeax.assets.paths). Existing relative paths remain unchanged."
6860
+ description: "Optional. Omit to derive the companion file in the same directory (strip .meta.json suffix from the meta filename). An explicit source is resolved relative to this sidecar."
6861
6861
  },
6862
6862
  importSettings: {
6863
6863
  type: "object",
@@ -6998,11 +6998,11 @@ var pack_schema_default = {
6998
6998
  $comment: "The ordinary durable consumer matrix is SCRIPTABLE_PACK_ASSET_KINDS in @forgeax/engine-pack/source. Pack kind fields remain open for registered producer extensions.",
6999
6999
  type: "object",
7000
7000
  additionalProperties: false,
7001
- required: ["schemaVersion", "kind", "assets"],
7001
+ required: ["schemaVersion"],
7002
7002
  properties: {
7003
7003
  schemaVersion: {
7004
7004
  type: "string",
7005
- enum: ["1.0.0", "2.0.0"]
7005
+ enum: ["1.0.0", "2.0.0", "3.0.0"]
7006
7006
  },
7007
7007
  kind: {
7008
7008
  type: "string",
@@ -7024,12 +7024,58 @@ var pack_schema_default = {
7024
7024
  items: { $ref: "#/$defs/diagnostic" }
7025
7025
  },
7026
7026
  assets: {
7027
- type: "array",
7028
- items: {
7029
- $ref: "#/$defs/asset"
7030
- }
7027
+ oneOf: [
7028
+ {
7029
+ type: "array",
7030
+ items: { $ref: "#/$defs/asset" }
7031
+ },
7032
+ { $ref: "#/$defs/authoringAssets" }
7033
+ ]
7034
+ },
7035
+ parent: {
7036
+ $ref: "#/$defs/guid36",
7037
+ description: "Parent ScriptablePack packageId for one v3 instance; the source may declare Pack parameters."
7038
+ },
7039
+ values: {
7040
+ type: "object",
7041
+ additionalProperties: true,
7042
+ description: "Sparse shallow parameter overrides for one v3 instance."
7031
7043
  }
7032
7044
  },
7045
+ oneOf: [
7046
+ {
7047
+ required: ["kind", "assets"],
7048
+ properties: {
7049
+ schemaVersion: { enum: ["1.0.0", "2.0.0"] },
7050
+ kind: { const: "internal-text-package" },
7051
+ assets: { type: "array" },
7052
+ parent: false,
7053
+ values: false
7054
+ }
7055
+ },
7056
+ {
7057
+ required: ["packageId", "assets"],
7058
+ properties: {
7059
+ schemaVersion: { const: "3.0.0" },
7060
+ kind: false,
7061
+ packageId: { $ref: "#/$defs/guid36" },
7062
+ assets: { $ref: "#/$defs/authoringAssets" },
7063
+ parent: false,
7064
+ values: false
7065
+ }
7066
+ },
7067
+ {
7068
+ required: ["packageId", "parent", "values"],
7069
+ properties: {
7070
+ schemaVersion: { const: "3.0.0" },
7071
+ kind: false,
7072
+ packageId: { $ref: "#/$defs/guid36" },
7073
+ parent: { $ref: "#/$defs/guid36" },
7074
+ values: { type: "object" },
7075
+ assets: false
7076
+ }
7077
+ }
7078
+ ],
7033
7079
  allOf: [
7034
7080
  {
7035
7081
  if: {
@@ -7121,6 +7167,30 @@ var pack_schema_default = {
7121
7167
  }
7122
7168
  ]
7123
7169
  },
7170
+ authoringAssets: {
7171
+ type: "object",
7172
+ additionalProperties: false,
7173
+ patternProperties: {
7174
+ "^[a-z0-9][a-z0-9._-]*(/[a-z0-9][a-z0-9._-]*)*$": {
7175
+ $ref: "#/$defs/authoringAsset"
7176
+ }
7177
+ }
7178
+ },
7179
+ authoringAsset: {
7180
+ type: "object",
7181
+ additionalProperties: false,
7182
+ required: ["kind", "payload", "refs"],
7183
+ properties: {
7184
+ kind: { type: "string", minLength: 1 },
7185
+ name: { type: "string", minLength: 1 },
7186
+ payload: { type: "object" },
7187
+ refs: {
7188
+ type: "array",
7189
+ items: { $ref: "#/$defs/guid36" }
7190
+ },
7191
+ artifacts: { $ref: "#/$defs/artifacts" }
7192
+ }
7193
+ },
7124
7194
  artifacts: {
7125
7195
  type: "object",
7126
7196
  additionalProperties: false,
@@ -7307,6 +7377,7 @@ function buildSceneAssetValidator(componentSchemas) {
7307
7377
  required: ["kind", "entities"],
7308
7378
  properties: {
7309
7379
  kind: { type: "string", const: "scene" },
7380
+ sourceKey: { type: "string", minLength: 1 },
7310
7381
  entities: {
7311
7382
  type: "array",
7312
7383
  items: {
@@ -7315,6 +7386,7 @@ function buildSceneAssetValidator(componentSchemas) {
7315
7386
  required: ["localId", "components"],
7316
7387
  properties: {
7317
7388
  localId: { type: "integer", minimum: 0 },
7389
+ bindingKey: { type: "string", minLength: 1 },
7318
7390
  components: {
7319
7391
  type: "object",
7320
7392
  additionalProperties: false,