@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 +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 parameterized Pack packageId for one v3 instance."
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,