@forgeax/engine-assets-runtime 0.1.2

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 (71) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +213 -0
  3. package/dist/.tsbuildinfo +1 -0
  4. package/dist/__tests__/asset-graph-red.integration.test.d.ts +2 -0
  5. package/dist/__tests__/asset-graph-red.integration.test.d.ts.map +1 -0
  6. package/dist/__tests__/asset-kind.test.d.ts +2 -0
  7. package/dist/__tests__/asset-kind.test.d.ts.map +1 -0
  8. package/dist/__tests__/asset-registry-core.integration.test.d.ts +2 -0
  9. package/dist/__tests__/asset-registry-core.integration.test.d.ts.map +1 -0
  10. package/dist/__tests__/asset-registry-public-api.test-d.d.ts +2 -0
  11. package/dist/__tests__/asset-registry-public-api.test-d.d.ts.map +1 -0
  12. package/dist/__tests__/asset-runtime-core-lifecycle.integration.test.d.ts +2 -0
  13. package/dist/__tests__/asset-runtime-core-lifecycle.integration.test.d.ts.map +1 -0
  14. package/dist/__tests__/asset-runtime-snapshot.unit.test.d.ts +2 -0
  15. package/dist/__tests__/asset-runtime-snapshot.unit.test.d.ts.map +1 -0
  16. package/dist/__tests__/catalog-session-red.unit.test.d.ts +2 -0
  17. package/dist/__tests__/catalog-session-red.unit.test.d.ts.map +1 -0
  18. package/dist/__tests__/decode-image-mime-owner.test.d.ts +2 -0
  19. package/dist/__tests__/decode-image-mime-owner.test.d.ts.map +1 -0
  20. package/dist/__tests__/registry-lifecycle-red.integration.test.d.ts +2 -0
  21. package/dist/__tests__/registry-lifecycle-red.integration.test.d.ts.map +1 -0
  22. package/dist/asset-kind.d.ts +4 -0
  23. package/dist/asset-kind.d.ts.map +1 -0
  24. package/dist/catalog-source.d.ts +23 -0
  25. package/dist/catalog-source.d.ts.map +1 -0
  26. package/dist/index.d.ts +5 -0
  27. package/dist/index.d.ts.map +1 -0
  28. package/dist/index.mjs +1240 -0
  29. package/dist/index.mjs.map +1 -0
  30. package/dist/internal/artifact-cache.d.ts +17 -0
  31. package/dist/internal/artifact-cache.d.ts.map +1 -0
  32. package/dist/internal/asset-graph.d.ts +70 -0
  33. package/dist/internal/asset-graph.d.ts.map +1 -0
  34. package/dist/internal/catalog-session.d.ts +60 -0
  35. package/dist/internal/catalog-session.d.ts.map +1 -0
  36. package/dist/internal/decoder-registry.d.ts +19 -0
  37. package/dist/internal/decoder-registry.d.ts.map +1 -0
  38. package/dist/internal/immutable-payload.d.ts +9 -0
  39. package/dist/internal/immutable-payload.d.ts.map +1 -0
  40. package/dist/internal/load-asset.d.ts +31 -0
  41. package/dist/internal/load-asset.d.ts.map +1 -0
  42. package/dist/internal/pack-reader.d.ts +18 -0
  43. package/dist/internal/pack-reader.d.ts.map +1 -0
  44. package/dist/internal/validate-runtime-row.d.ts +7 -0
  45. package/dist/internal/validate-runtime-row.d.ts.map +1 -0
  46. package/dist/internal.d.ts +2 -0
  47. package/dist/internal.d.ts.map +1 -0
  48. package/dist/internal.mjs +15 -0
  49. package/dist/internal.mjs.map +1 -0
  50. package/package.json +63 -0
  51. package/src/__tests__/asset-graph-red.integration.test.ts +113 -0
  52. package/src/__tests__/asset-kind.test.ts +14 -0
  53. package/src/__tests__/asset-registry-core.integration.test.ts +161 -0
  54. package/src/__tests__/asset-registry-public-api.test-d.ts +31 -0
  55. package/src/__tests__/asset-runtime-core-lifecycle.integration.test.ts +79 -0
  56. package/src/__tests__/asset-runtime-snapshot.unit.test.ts +23 -0
  57. package/src/__tests__/catalog-session-red.unit.test.ts +276 -0
  58. package/src/__tests__/decode-image-mime-owner.test.ts +41 -0
  59. package/src/__tests__/registry-lifecycle-red.integration.test.ts +80 -0
  60. package/src/asset-kind.ts +6 -0
  61. package/src/catalog-source.ts +145 -0
  62. package/src/index.ts +22 -0
  63. package/src/internal/artifact-cache.ts +65 -0
  64. package/src/internal/asset-graph.ts +420 -0
  65. package/src/internal/catalog-session.ts +345 -0
  66. package/src/internal/decoder-registry.ts +175 -0
  67. package/src/internal/immutable-payload.ts +20 -0
  68. package/src/internal/load-asset.ts +254 -0
  69. package/src/internal/pack-reader.ts +183 -0
  70. package/src/internal/validate-runtime-row.ts +51 -0
  71. package/src/internal.ts +4 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-runtime-snapshot.unit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/asset-runtime-snapshot.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=catalog-session-red.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-session-red.unit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/catalog-session-red.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=decode-image-mime-owner.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decode-image-mime-owner.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/decode-image-mime-owner.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=registry-lifecycle-red.integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry-lifecycle-red.integration.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/registry-lifecycle-red.integration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import type { AssetKind } from '@forgeax/engine-types';
2
+ /** Create the type witness shared by one custom decoder lease and its loads. */
3
+ export declare function defineAssetKind<P, K extends string = string>(kind: K): AssetKind<P, K>;
4
+ //# sourceMappingURL=asset-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-kind.d.ts","sourceRoot":"","sources":["../src/asset-kind.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAEtF"}
@@ -0,0 +1,23 @@
1
+ import { AssetError, type CatalogDelta, type CatalogEntry, type ResourceRevision, type Result, type RuntimeAssetBinding } from '@forgeax/engine-types';
2
+ export type CatalogListener = (delta: CatalogDelta) => void;
3
+ /** Read-only catalog source backed by static entries or a canonical URL. */
4
+ export interface CatalogSource {
5
+ enumerate(): Promise<Result<readonly CatalogEntry[], AssetError>>;
6
+ subscribe(listener: CatalogListener): () => void;
7
+ readonly expectedScope?: Pick<RuntimeAssetBinding, 'scopeId' | 'generation'>;
8
+ }
9
+ /**
10
+ * Create a read-only catalog source while preserving the schema SSOT.
11
+ *
12
+ * Static and fetched sources use the same `CatalogEntry` and revision fields;
13
+ * an expected revision rejects unverified data before it reaches consumers.
14
+ */
15
+ export declare function createCatalogSource(options: {
16
+ readonly url?: string;
17
+ readonly entries?: readonly CatalogEntry[];
18
+ readonly fetch?: typeof globalThis.fetch;
19
+ readonly expectedRevision?: ResourceRevision;
20
+ readonly expectedScope?: Pick<RuntimeAssetBinding, 'scopeId' | 'generation'>;
21
+ readonly subscribe?: (listener: CatalogListener) => () => void;
22
+ }): CatalogSource;
23
+ //# sourceMappingURL=catalog-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog-source.d.ts","sourceRoot":"","sources":["../src/catalog-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EACV,KAAK,YAAY,EACjB,KAAK,YAAY,EAGjB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;AAE5D,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,SAAS,YAAY,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI,CAAC;IACjD,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;CAC9E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;IACzC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAC7C,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,YAAY,CAAC,CAAC;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,MAAM,IAAI,CAAC;CAChE,GAAG,aAAa,CAuEhB"}
@@ -0,0 +1,5 @@
1
+ export type { AssetDecoder, AssetDecoderInput, AssetDecoderLease, AssetKind, AssetLoadError, AssetPublicationTuple, CatalogEntry, PackV2, Result, } from '@forgeax/engine-types';
2
+ export { defineAssetKind } from './asset-kind.js';
3
+ export { type CatalogListener, type CatalogSource, createCatalogSource } from './catalog-source.js';
4
+ export { type AssetLoadOptions, type AssetRegistry, type AssetRegistryOptions, type AssetRegistrySnapshot, type AssetRegistrySnapshotCounters, createAssetRegistry, } from './internal/load-asset.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,YAAY,EACZ,MAAM,EACN,MAAM,GACP,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,aAAa,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,mBAAmB,GACpB,MAAM,0BAA0B,CAAC"}