@wovin/core 0.2.0 → 0.3.0

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 (115) hide show
  1. package/dist/applog/applog-utils.d.ts +15 -0
  2. package/dist/applog/applog-utils.d.ts.map +1 -1
  3. package/dist/applog/datom-types.d.ts +63 -7
  4. package/dist/applog/datom-types.d.ts.map +1 -1
  5. package/dist/applog.js +7 -1
  6. package/dist/blockstore.js +2 -0
  7. package/dist/blockstore.js.map +1 -1
  8. package/dist/{chunk-L5EEEGE6.js → chunk-2OXLPZQI.js} +747 -679
  9. package/dist/chunk-2OXLPZQI.js.map +1 -0
  10. package/dist/{chunk-QZXKQCAY.js → chunk-2PJFLZRC.js} +7 -2
  11. package/dist/{chunk-QZXKQCAY.js.map → chunk-2PJFLZRC.js.map} +1 -1
  12. package/dist/chunk-64EJIJAJ.js +17 -0
  13. package/dist/chunk-64EJIJAJ.js.map +1 -0
  14. package/dist/chunk-7QEGHKR4.js +17 -0
  15. package/dist/chunk-7QEGHKR4.js.map +1 -0
  16. package/dist/{chunk-PD3C7XUM.js → chunk-EHO2BFFY.js} +2 -2
  17. package/dist/chunk-ICBK7NC4.js +27 -0
  18. package/dist/chunk-ICBK7NC4.js.map +1 -0
  19. package/dist/{chunk-CPSDKFBG.js → chunk-OKXRRWNS.js} +5 -14
  20. package/dist/chunk-OKXRRWNS.js.map +1 -0
  21. package/dist/{chunk-3WZVG277.js → chunk-Q4EMPWA3.js} +17 -9
  22. package/dist/chunk-Q4EMPWA3.js.map +1 -0
  23. package/dist/{chunk-J2FDHGOZ.js → chunk-VGIACGWX.js} +3 -3
  24. package/dist/{chunk-3JZMOEOD.js → chunk-WVW4YXB5.js} +2 -2
  25. package/dist/chunk-XF4DWOAE.js +25 -0
  26. package/dist/chunk-XF4DWOAE.js.map +1 -0
  27. package/dist/index.js +17 -9
  28. package/dist/ipfs/car.d.ts.map +1 -1
  29. package/dist/ipfs.js +4 -4
  30. package/dist/ipns/gateway-resolver.d.ts +21 -0
  31. package/dist/ipns/gateway-resolver.d.ts.map +1 -0
  32. package/dist/ipns/ipns-record.d.ts +28 -7
  33. package/dist/ipns/ipns-record.d.ts.map +1 -1
  34. package/dist/ipns/ipns-w3name.d.ts +15 -0
  35. package/dist/ipns/ipns-w3name.d.ts.map +1 -0
  36. package/dist/ipns/ipns-watcher.d.ts +190 -0
  37. package/dist/ipns/ipns-watcher.d.ts.map +1 -0
  38. package/dist/ipns.d.ts +3 -0
  39. package/dist/ipns.d.ts.map +1 -1
  40. package/dist/ipns.js +488 -8
  41. package/dist/ipns.js.map +1 -1
  42. package/dist/pubsub/snap-push.d.ts +2 -2
  43. package/dist/pubsub/snap-push.d.ts.map +1 -1
  44. package/dist/pubsub.js +4 -4
  45. package/dist/query/basic.d.ts +3 -3
  46. package/dist/query/basic.d.ts.map +1 -1
  47. package/dist/query/entity-collection.d.ts.map +1 -1
  48. package/dist/query/matchers.d.ts +12 -1
  49. package/dist/query/matchers.d.ts.map +1 -1
  50. package/dist/query.js +7 -5
  51. package/dist/retrieve.js +4 -4
  52. package/dist/thread/indexes.d.ts +3 -2
  53. package/dist/thread/indexes.d.ts.map +1 -1
  54. package/dist/thread.js +1 -1
  55. package/dist/viewmodel/adapters/arktype.d.ts +33 -0
  56. package/dist/viewmodel/adapters/arktype.d.ts.map +1 -0
  57. package/dist/viewmodel/adapters/arktype.js +7 -0
  58. package/dist/viewmodel/adapters/arktype.js.map +1 -0
  59. package/dist/viewmodel/adapters/typebox.d.ts +35 -0
  60. package/dist/viewmodel/adapters/typebox.d.ts.map +1 -0
  61. package/dist/viewmodel/adapters/typebox.js +7 -0
  62. package/dist/viewmodel/adapters/typebox.js.map +1 -0
  63. package/dist/viewmodel/adapters/typia.d.ts +40 -0
  64. package/dist/viewmodel/adapters/typia.d.ts.map +1 -0
  65. package/dist/viewmodel/adapters/typia.js +7 -0
  66. package/dist/viewmodel/adapters/typia.js.map +1 -0
  67. package/dist/viewmodel/adapters/zod.d.ts +30 -0
  68. package/dist/viewmodel/adapters/zod.d.ts.map +1 -0
  69. package/dist/viewmodel/adapters/zod.js +7 -0
  70. package/dist/viewmodel/adapters/zod.js.map +1 -0
  71. package/dist/viewmodel/builder.d.ts +40 -0
  72. package/dist/viewmodel/builder.d.ts.map +1 -0
  73. package/dist/viewmodel/examples/all-adapters.d.ts +26 -0
  74. package/dist/viewmodel/examples/all-adapters.d.ts.map +1 -0
  75. package/dist/viewmodel/factory.d.ts +38 -0
  76. package/dist/viewmodel/factory.d.ts.map +1 -0
  77. package/dist/viewmodel/index.d.ts +10 -0
  78. package/dist/viewmodel/index.d.ts.map +1 -0
  79. package/dist/viewmodel/index.js +313 -0
  80. package/dist/viewmodel/index.js.map +1 -0
  81. package/dist/viewmodel/schema-adapter.d.ts +16 -0
  82. package/dist/viewmodel/schema-adapter.d.ts.map +1 -0
  83. package/dist/viewmodel/types.d.ts +97 -0
  84. package/dist/viewmodel/types.d.ts.map +1 -0
  85. package/package.json +29 -3
  86. package/src/applog/applog-utils.ts +48 -4
  87. package/src/applog/datom-types.ts +24 -5
  88. package/src/applog/object-values.test.ts +106 -0
  89. package/src/ipfs/car.ts +8 -2
  90. package/src/ipns/gateway-resolver.ts +63 -0
  91. package/src/ipns/ipns-record.ts +68 -17
  92. package/src/ipns/ipns-w3name.ts +103 -0
  93. package/src/ipns/ipns-watcher.ts +607 -0
  94. package/src/ipns.ts +3 -0
  95. package/src/pubsub/snap-push.ts +8 -6
  96. package/src/query/entity-collection.ts +2 -1
  97. package/src/query/matchers.ts +23 -1
  98. package/src/thread/basic.ts +2 -2
  99. package/src/thread/indexes.ts +15 -9
  100. package/src/viewmodel/adapters/arktype.ts +44 -0
  101. package/src/viewmodel/adapters/typebox.ts +59 -0
  102. package/src/viewmodel/adapters/typia.ts +50 -0
  103. package/src/viewmodel/adapters/zod.ts +55 -0
  104. package/src/viewmodel/builder.ts +71 -0
  105. package/src/viewmodel/examples/all-adapters.ts +206 -0
  106. package/src/viewmodel/factory.ts +330 -0
  107. package/src/viewmodel/index.ts +22 -0
  108. package/src/viewmodel/schema-adapter.ts +27 -0
  109. package/src/viewmodel/types.ts +152 -0
  110. package/dist/chunk-3WZVG277.js.map +0 -1
  111. package/dist/chunk-CPSDKFBG.js.map +0 -1
  112. package/dist/chunk-L5EEEGE6.js.map +0 -1
  113. /package/dist/{chunk-PD3C7XUM.js.map → chunk-EHO2BFFY.js.map} +0 -0
  114. /package/dist/{chunk-J2FDHGOZ.js.map → chunk-VGIACGWX.js.map} +0 -0
  115. /package/dist/{chunk-3JZMOEOD.js.map → chunk-WVW4YXB5.js.map} +0 -0
package/dist/pubsub.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  integratePub,
4
4
  isShare,
5
5
  isSubscription
6
- } from "./chunk-PD3C7XUM.js";
6
+ } from "./chunk-EHO2BFFY.js";
7
7
  import {
8
8
  chunkApplogs,
9
9
  encodeSnapshotApplogsAsCar,
@@ -11,10 +11,10 @@ import {
11
11
  isSnapBlockChunks,
12
12
  prepareSnapshotForPush,
13
13
  unchunkApplogsBlock
14
- } from "./chunk-3WZVG277.js";
14
+ } from "./chunk-Q4EMPWA3.js";
15
15
  import "./chunk-YDAKBU6Q.js";
16
- import "./chunk-QZXKQCAY.js";
17
- import "./chunk-L5EEEGE6.js";
16
+ import "./chunk-2PJFLZRC.js";
17
+ import "./chunk-2OXLPZQI.js";
18
18
  import "./chunk-ZAADLBSB.js";
19
19
  export {
20
20
  agentToShortHash,
@@ -66,10 +66,10 @@ export declare const queryAndMap: <R>(threadOrLogs: Thread | Applog[], patternOr
66
66
  export declare const liveQueryAndMap: <R>(thread: Thread, patternOrPatterns: Parameters<typeof liveQuery>[1], mapDef: string | (Partial<{ [key in keyof SearchContext]: string; }>) | ((record: SearchContext) => R)) => SubscribableArrayImpl<R>;
67
67
  /** One-off: query entity attributes. Returns Record or null. Requires current-state thread (LWW). */
68
68
  export declare const queryEntity: (thread: Thread, name: string, entityID: EntityID, attributes: readonly string[]) => {
69
- [k: string]: ApplogValue;
69
+ [k: string]: import("../applog.ts").JsonValue;
70
70
  };
71
71
  /** Live variant: returns Subscribable that updates when entity attributes change. Requires current-state thread (LWW). */
72
- export declare const liveQueryEntity: (thread: Thread, name: string, entityID: EntityID, attributes: readonly string[]) => SubscribableImpl<Record<string, ApplogValue>>;
72
+ export declare const liveQueryEntity: (thread: Thread, name: string, entityID: EntityID, attributes: readonly string[]) => SubscribableImpl<Record<string, import("../applog.ts").JsonValue>>;
73
73
  /** Live single-attribute query. Requires current-state thread (LWW). Returns Subscribable<T | null>. */
74
74
  export declare const liveEntityAt: <T extends ApplogValue>(thread: Thread, entityID: EntityID, at: string) => SubscribableImpl<T>;
75
75
  export declare const agentsOfThread: (thread: Thread) => Map<string, number>;
@@ -101,7 +101,7 @@ export declare const mapQueryResultWith: <R>(queryResult: QueryResult, mapDef: s
101
101
  */
102
102
  export declare function createObjMapper<FROM extends string, TO extends string>(applogFieldMap: Partial<{
103
103
  [key in FROM]: TO;
104
- }>): (applog: { [key_1 in FROM]: any; }) => Partial<{ [key in TO]: ApplogValue; }>;
104
+ }>): (applog: { [key_1 in FROM]: any; }) => Partial<{ [key in TO]: import("../applog.ts").JsonValue; }>;
105
105
  export declare function startsWith(str: string): (value: any) => any;
106
106
  export declare function prefixAttrs(prefix: string, attrs: readonly string[]): string[];
107
107
  export declare function prefixAt(prefix: string, attr: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/query/basic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../src/query/basic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,WAAW,EAAa,mBAAmB,EAAE,QAAQ,EAAE,aAAa,EAAkB,MAAM,0BAA0B,CAAA;AAQlJ,OAAO,EAA6B,MAAM,EAAe,MAAM,oBAAoB,CAAA;AACnF,OAAO,EAAuD,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAE7G,OAAO,EAAE,YAAY,EAAyB,MAAM,qBAAqB,CAAA;AAGzE,OAAO,EAAuC,qBAAqB,EAAE,gBAAgB,EAAe,MAAM,mBAAmB,CAAA;AAC7H,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AA6BpE;;GAEG;AACH,eAAO,MAAM,aAAa,WACjB,MAAM,8DAC6C;IAC1D,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,uBAAuB,CAAC,EAAE,OAAO,CAAA;CACjC,KACC,iBA+EoF,CAAA;AAOvF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,WAClB,MAAM,iBAyGb,CAAA;AAqBF;;GAEG;AACH,eAAO,MAAM,KAAK,iBACH,MAAM,GAAG,MAAM,EAAE,qBACZ,mBAAmB,GAAG,mBAAmB,EAAE,mBAC9C,aAAa,SACvB;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KACvB,WAqBD,CAAA;AAEF;;GAEG;AACH,wBAAgB,aAAa,CAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,SAAS,EAAE,GAAG,IAAI,EACtC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC5B,WAAW,CAqCb;AAMD;;;GAGG;AACH,eAAO,MAAM,SAAS,iBACP,MAAM,GAAG,MAAM,EAAE,qBACZ,mBAAmB,GAAG,mBAAmB,EAAE,mBAC9C,aAAa,SACvB;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KACvB,eAoBD,CAAA;AAEF,eAAO,MAAM,aAAa,WACjB,MAAM,WACL,eAAe,GAAG,IAAI,WACtB,mBAAmB,SACtB;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KACvB,eAuK8G,CAAA;AAEjH,eAAO,MAAM,QAAQ,WACZ,MAAM,cACF,WAAW,qBACJ,mBAAmB,GAAG,mBAAmB,EAAE,SACxD;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,gBAoCiF,CAAA;AAE3G;;;;;GAKG;AACH,eAAO,MAAM,YAAY,WAChB,MAAM,YACJ,eAAe,qBACN,mBAAmB,GAAG,mBAAmB,EAAE,SACxD;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,oBAgFsF,CAAA;AA8BhH,6EAA6E;AAC7E,eAAO,MAAM,YAAY,GAAoD,CAAC,UACrE,MAAM,WACL,mBAAmB,UACpB,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,QAMQ,CAAA;AAExG,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,GAA4D,CAAC,UACjF,MAAM,WACL,mBAAmB,UACpB,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,6BAuCY,CAAA;AAE5G,2DAA2D;AAC3D,eAAO,MAAM,WAAW,GAAkD,CAAC,gBAC5D,MAAM,GAAG,MAAM,EAAE,qBACZ,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,UACtC,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,aAAa,GAAG,MAAM,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,KAAK,CAAC,CAAC,cAC1F,aAAa,UAM8E,CAAA;AAEvG,8FAA8F;AAC9F,eAAO,MAAM,eAAe,GAA0D,CAAC,UAC9E,MAAM,qBACK,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,UAC1C,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,aAAa,GAAG,MAAM,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,KAAK,CAAC,CAAC,6BAiBK,CAAA;AAE3G,qGAAqG;AACrG,eAAO,MAAM,WAAW,WACf,MAAM,QACR,MAAM,YACF,QAAQ,cACN,SAAS,MAAM,EAAE;;CAa5B,CAAA;AAEF,0HAA0H;AAC1H,eAAO,MAAM,eAAe,WACnB,MAAM,QACR,MAAM,YACF,QAAQ,cACN,SAAS,MAAM,EAAE,uEAsB5B,CAAA;AAEF,wGAAwG;AACxG,eAAO,MAAM,YAAY,GAAoD,CAAC,SAAS,WAAW,UACzF,MAAM,YACJ,QAAQ,MACd,MAAM,wBAoBT,CAAA;AAEF,eAAO,MAAM,cAAc,WAClB,MAAM,wBAuBb,CAAA;AAEF,eAAO,MAAM,aAAa,YAChB,MAAM,WACN,MAAM,aAQd,CAAA;AAEF,eAAO,MAAM,gBAAgB,GAC5B,SAAS,MAAM,EACf,SAAS,MAAM,EACf,oBAAwB,EACxB,oBAAuB,SAWvB,CAAA;AAED,eAAO,MAAM,kBAAkB,YAEO,MAAM,WAAW,MAAM,WAG5D,CAAA;AAED,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,YAEO,MAAM,WAAW,MAAM,6BAiBhE,CAAA;AAED,eAAO,MAAM,WAAW,iBACT,MAAM,GAAG,MAAM,EAAE,qBACZ,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,cACnC,aAAa,WAWvB,CAAA;AAEF,eAAO,MAAM,iBAAiB,GAEF,GAAG,SAAS,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,GAAE,CAAC,CAAC,CAAC,gBACrF,MAAM,GAAG,MAAM,EAAE,qBACZ,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,UACtC,GAAG,cACA,aAAa,QAczB,CAAA;AAED,uEAAuE;AACvE,eAAO,MAAM,eAAe,WACnB,MAAM,qBACK,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,6BAsBjD,CAAA;AAEF,6EAA6E;AAC7E,eAAO,MAAM,qBAAqB,GAEF,GAAG,SAAS,CAAC,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,GAAE,CAAC,CAAC,CAAC,UAC/F,MAAM,qBACK,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,UAC1C,GAAG,0BA0BZ,CAAA;AAMD,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,CAAC,EACjC,MAAM,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;KAAG,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM;CAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,GAC7F,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAQvB;AAED,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,CAAC,EAC/B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,MAAM,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC;KAAG,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM;CAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,OAG/F;AAED,eAAO,MAAM,aAAa,GAAiC,CAAC,EAC3D,QAAQ,MAAM,EACd,QAAQ,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,CAAC,QAG/F,CAAA;AACD,eAAO,MAAM,kBAAkB,GAAiC,CAAC,EAChE,aAAa,WAAW,EACxB,QAAQ,MAAM,GAAG,CAAC,OAAO,CAAC,GAAG,GAAG,IAAI,MAAM,aAAa,GAAG,MAAM,GAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,aAAa,KAAK,CAAC,CAAC,UAmBrG,CAAA;AACD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC;KAAG,GAAG,IAAI,IAAI,GAAG,EAAE;CAAE,CAAC,IAC7G,QAAQ,GAAG,KAAG,IAAI,IAAI,GAAG,GAAG,GAAE,gBAIjB,GAAG,8CAExB;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,IAC7B,UAAK,SACb;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,YAEnE;AACD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAEpD;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAE/F;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;CAAE,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CASvI;AACD,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,UAKlF;AACD,wBAAgB,WAAW,CAAC,CAAC,EAAE,mBAAmB,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAQxE;AA4CD,wBAAgB,cAAc,SAK7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity-collection.d.ts","sourceRoot":"","sources":["../../src/query/entity-collection.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAKxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAI9E,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,GACjF,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACrE,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,aAAa,EAAE,IAAI,CAAA;CAAE,GAC3B,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACvF,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACtE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,aAAa,EAAE,CAAC,CAAA;CAAE,GACxB,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAC7F,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;CAAE,GACpC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAC1E,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;CAAE,GACpE,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"entity-collection.d.ts","sourceRoot":"","sources":["../../src/query/entity-collection.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAC7F,OAAO,EAAe,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAMxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAI9E,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,GACjF,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACrE,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,aAAa,EAAE,IAAI,CAAA;CAAE,GAC3B,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AACvF,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,EACtE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,aAAa,EAAE,CAAC,CAAA;CAAE,GACxB,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAC7F,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;CAAE,GACpC,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;AAC1E,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACpD,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,cAAc,EAAE,SAAS,CAAC,EAAE,EACnF,IAAI,EAAE;IAAE,aAAa,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;CAAE,GACpE,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA"}
@@ -1,4 +1,15 @@
1
- import { DatomPart } from '../applog/datom-types.ts';
1
+ import { ApplogValue, DatomPart } from '../applog/datom-types.ts';
2
2
  export declare function includes(str: string): (vl: DatomPart) => boolean;
3
3
  export declare function includedIn(arr: string[]): (vl: DatomPart) => boolean;
4
+ /**
5
+ * Set-membership matcher: matches when the field equals any of `vals`. Use this instead of a
6
+ * bare array in a query pattern — bare arrays are rejected by the matcher (a bare array is
7
+ * ambiguous now that `vl` can hold a literal array value).
8
+ *
9
+ * Returns a `Set`, which the matcher engine checks via `.has` (O(1)). Members must be
10
+ * primitives: `Set.has` is referential, so object/array members would silently never match —
11
+ * we throw rather than fail silently. For object membership, use a predicate matcher, e.g.
12
+ * `(v) => members.some(m => isEqual(v, m))`.
13
+ */
14
+ export declare function anyOf<T extends ApplogValue>(...vals: T[]): ReadonlySet<T>;
4
15
  //# sourceMappingURL=matchers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/query/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEpD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,IAC3B,IAAI,SAAS,aACrB;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAC/B,IAAI,SAAS,aACrB"}
1
+ {"version":3,"file":"matchers.d.ts","sourceRoot":"","sources":["../../src/query/matchers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAEjE,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,IAC3B,IAAI,SAAS,aACrB;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAC/B,IAAI,SAAS,aACrB;AAED;;;;;;;;;GASG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,WAAW,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAUzE"}
package/dist/query.js CHANGED
@@ -1,9 +1,7 @@
1
1
  import {
2
- includedIn,
3
- includes,
4
2
  liveEntityCollection,
5
3
  queryDivergencesByPrev
6
- } from "./chunk-CPSDKFBG.js";
4
+ } from "./chunk-OKXRRWNS.js";
7
5
  import {
8
6
  LiveQueryResult,
9
7
  QueryNode,
@@ -46,17 +44,20 @@ import {
46
44
  throwOnTimeout,
47
45
  withTimeout,
48
46
  withoutDeleted
49
- } from "./chunk-QZXKQCAY.js";
47
+ } from "./chunk-2PJFLZRC.js";
50
48
  import {
51
49
  SubscribableArrayImpl,
52
50
  SubscribableImpl,
51
+ anyOf,
53
52
  createDebugName,
54
53
  createDebugNameObj,
54
+ includedIn,
55
+ includes,
55
56
  isArrayInitEvent,
56
57
  memoizedFn,
57
58
  prettifyThreadName,
58
59
  refCountedMemoizedFn
59
- } from "./chunk-L5EEEGE6.js";
60
+ } from "./chunk-2OXLPZQI.js";
60
61
  import "./chunk-ZAADLBSB.js";
61
62
  export {
62
63
  LiveQueryResult,
@@ -65,6 +66,7 @@ export {
65
66
  SubscribableArrayImpl,
66
67
  SubscribableImpl,
67
68
  agentsOfThread,
69
+ anyOf,
68
70
  createDebugName,
69
71
  createDebugNameObj,
70
72
  createObjMapper,
package/dist/retrieve.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  updateThreadFromSnapshot,
3
3
  withBlockCache
4
- } from "./chunk-J2FDHGOZ.js";
5
- import "./chunk-3WZVG277.js";
4
+ } from "./chunk-VGIACGWX.js";
5
+ import "./chunk-Q4EMPWA3.js";
6
6
  import "./chunk-YDAKBU6Q.js";
7
- import "./chunk-QZXKQCAY.js";
8
- import "./chunk-L5EEEGE6.js";
7
+ import "./chunk-2PJFLZRC.js";
8
+ import "./chunk-2OXLPZQI.js";
9
9
  import "./chunk-ZAADLBSB.js";
10
10
  export {
11
11
  updateThreadFromSnapshot,
@@ -1,4 +1,5 @@
1
- import { Applog, ApplogValue, EntityID } from '../applog/datom-types.ts';
1
+ import { type ValueKey } from '../applog/applog-utils.ts';
2
+ import { Applog, EntityID } from '../applog/datom-types.ts';
2
3
  import { type Subscribable } from '../query/subscribable.ts';
3
4
  import { Thread } from './basic.ts';
4
5
  /**
@@ -23,7 +24,7 @@ export declare const applogsByEntity: (thread: Thread) => ReadonlyMap<EntityID,
23
24
  * - Snapshot use: read `.value` — zero subscription overhead
24
25
  * - Reactive use: `.subscribe()` activates the chain for incremental updates
25
26
  */
26
- export declare const applogsByAttrValue: (thread: Thread, attr: string) => Subscribable<ReadonlyMap<ApplogValue, readonly Applog[]>>;
27
+ export declare const applogsByAttrValue: (thread: Thread, attr: string) => Subscribable<ReadonlyMap<ValueKey, readonly Applog[]>>;
27
28
  export interface LinkEntry {
28
29
  /** The link entity's own ID */
29
30
  linkId: EntityID;
@@ -1 +1 @@
1
- {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/thread/indexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAExE,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAe,MAAM,EAAE,MAAM,YAAY,CAAA;AAKhD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,WAEM,MAAM,KAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAiCjF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,WAGrB,MAAM,QACR,MAAM,KACV,YAAY,CAAC,WAAW,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC,CAwC3D,CAAA;AAID,MAAM,WAAW,SAAS;IACzB,+BAA+B;IAC/B,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;IAChD,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,WAGlB,MAAM,SACP,MAAM,SACN,MAAM,KACX,YAAY,CAAC,oBAAoB,CAiGpC,CAAA"}
1
+ {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../src/thread/indexes.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAG3D,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC9E,OAAO,EAAe,MAAM,EAAE,MAAM,YAAY,CAAA;AAKhD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,WAEM,MAAM,KAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAiCjF,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,WAGrB,MAAM,QACR,MAAM,KACV,YAAY,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC,CA4CxD,CAAA;AAID,MAAM,WAAW,SAAS;IACzB,+BAA+B;IAC/B,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;IAChB,yCAAyC;IACzC,MAAM,EAAE,QAAQ,CAAA;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;IAChD,sEAAsE;IACtE,GAAG,EAAE,WAAW,CAAC,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC,CAAA;CAChD;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,WAGlB,MAAM,SACP,MAAM,SACN,MAAM,KACX,YAAY,CAAC,oBAAoB,CAiGpC,CAAA"}
package/dist/thread.js CHANGED
@@ -26,7 +26,7 @@ import {
26
26
  rollingFilter,
27
27
  rollingMapper,
28
28
  simpleApplogMapper
29
- } from "./chunk-L5EEEGE6.js";
29
+ } from "./chunk-2OXLPZQI.js";
30
30
  import "./chunk-ZAADLBSB.js";
31
31
  export {
32
32
  MappedThread,
@@ -0,0 +1,33 @@
1
+ import type { ApplogValue } from '../../applog/datom-types.ts';
2
+ import type { ISchemaAdapter, VMAttributeDef } from '../types.ts';
3
+ /**
4
+ * Pattern for creating a schema adapter from an ArkType schema.
5
+ *
6
+ * ArkType is NOT a runtime dependency of @wovin/core, so this adapter
7
+ * works by accepting the ArkType type object directly.
8
+ *
9
+ * Usage:
10
+ * ```ts
11
+ * import { type } from 'arktype'
12
+ * import { createArkTypeAdapter } from '@wovin/core/viewmodel/adapters/arktype'
13
+ *
14
+ * const MySchema = type({
15
+ * name: 'string',
16
+ * age: 'number | undefined',
17
+ * })
18
+ *
19
+ * const adapter = createArkTypeAdapter(MySchema, 'myEntity')
20
+ * ```
21
+ */
22
+ export declare function createArkTypeAdapter<T extends Record<string, ApplogValue>>(_arkTypeSchema: {
23
+ infer: T;
24
+ (input: unknown): T | string;
25
+ }, entityPrefix: string, options?: {
26
+ /** Override at-paths for specific attributes */
27
+ atOverrides?: Record<string, string>;
28
+ /** Attribute definitions (must be provided for ArkType since we can't introspect the type) */
29
+ attributes: VMAttributeDef[];
30
+ /** Default values */
31
+ defaults?: Partial<T>;
32
+ }): ISchemaAdapter<T>;
33
+ //# sourceMappingURL=arktype.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arktype.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/adapters/arktype.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzE,cAAc,EAAE;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,CAAC,KAAK,EAAE,OAAO,GAAG,CAAC,GAAG,MAAM,CAAA;CAAE,EAC1D,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IACT,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,8FAA8F;IAC9F,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CACrB,GACC,cAAc,CAAC,CAAC,CAAC,CAUnB"}
@@ -0,0 +1,7 @@
1
+ import {
2
+ createArkTypeAdapter
3
+ } from "../../chunk-64EJIJAJ.js";
4
+ export {
5
+ createArkTypeAdapter
6
+ };
7
+ //# sourceMappingURL=arktype.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,35 @@
1
+ import type { ApplogValue } from '../../applog/datom-types.ts';
2
+ import type { ISchemaAdapter } from '../types.ts';
3
+ /**
4
+ * Create a schema adapter from a TypeBox object schema.
5
+ *
6
+ * Usage:
7
+ * ```ts
8
+ * import { Type } from '@sinclair/typebox'
9
+ * import { createTypeBoxAdapter } from '@wovin/core/viewmodel/adapters/typebox'
10
+ *
11
+ * const MySchema = Type.Object({
12
+ * name: Type.String(),
13
+ * age: Type.Optional(Type.Number()),
14
+ * })
15
+ *
16
+ * const adapter = createTypeBoxAdapter(MySchema, 'myEntity')
17
+ * ```
18
+ *
19
+ * The type parameter `T` is the inferred static type of the schema.
20
+ * Can pass a compiled validator separately if runtime validation is needed.
21
+ */
22
+ export declare function createTypeBoxAdapter<T extends Record<string, ApplogValue>>(typeBoxSchema: {
23
+ properties: Record<string, any>;
24
+ type?: string;
25
+ }, entityPrefix: string, options?: {
26
+ /** Override at-paths for specific attributes */
27
+ atOverrides?: Record<string, string>;
28
+ /** Default values */
29
+ defaults?: Partial<T>;
30
+ /** Property name to at-path mapping function */
31
+ toAtPath?: (entityPrefix: string, attrName: string) => string;
32
+ /** A pre-compiled validator function (e.g. from TypeCompiler.Compile) */
33
+ validator?: (value: unknown) => value is T;
34
+ }): ISchemaAdapter<T>;
35
+ //# sourceMappingURL=typebox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typebox.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/adapters/typebox.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AAEjE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACzE,aAAa,EAAE;IAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IACT,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACrB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;IAC7D,yEAAyE;IACzE,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,CAAC,CAAA;CAC1C,GACC,cAAc,CAAC,CAAC,CAAC,CAuBnB"}
@@ -0,0 +1,7 @@
1
+ import {
2
+ createTypeBoxAdapter
3
+ } from "../../chunk-ICBK7NC4.js";
4
+ export {
5
+ createTypeBoxAdapter
6
+ };
7
+ //# sourceMappingURL=typebox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,40 @@
1
+ import type { ApplogValue } from '../../applog/datom-types.ts';
2
+ import type { ISchemaAdapter, VMAttributeDef } from '../types.ts';
3
+ /**
4
+ * Pattern for creating a schema adapter from a Typia-generated schema.
5
+ *
6
+ * Typia is NOT a runtime dependency of @wovin/core, so this adapter
7
+ * works by accepting the Typia type object directly along with the
8
+ * attribute definitions (which must be provided separately since
9
+ * Typia doesn't expose runtime property introspection by default).
10
+ *
11
+ * Usage:
12
+ * ```ts
13
+ * import typia from 'typia'
14
+ * import { createTypiaAdapter } from '@wovin/core/viewmodel/adapters/typia'
15
+ *
16
+ * interface MyEntity { name: string; age?: number }
17
+ *
18
+ * const adapter = createTypiaAdapter<MyEntity>(
19
+ * typia.createValidate<MyEntity>(),
20
+ * 'myEntity',
21
+ * {
22
+ * attributes: [
23
+ * { name: 'name', atPath: 'myEntity/name', optional: false },
24
+ * { name: 'age', atPath: 'myEntity/age', optional: true },
25
+ * ],
26
+ * },
27
+ * )
28
+ * ```
29
+ */
30
+ export declare function createTypiaAdapter<T extends Record<string, ApplogValue>>(_typiaValidator: (input: unknown) => {
31
+ success: boolean;
32
+ data: T | null;
33
+ errors?: any[];
34
+ }, entityPrefix: string, options: {
35
+ /** Attribute definitions (required for Typia since property introspection is compile-time) */
36
+ attributes: VMAttributeDef[];
37
+ /** Default values */
38
+ defaults?: Partial<T>;
39
+ }): ISchemaAdapter<T>;
40
+ //# sourceMappingURL=typia.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typia.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/adapters/typia.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACvE,eAAe,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CAAE,EACzF,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE;IACR,8FAA8F;IAC9F,UAAU,EAAE,cAAc,EAAE,CAAA;IAC5B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CACrB,GACC,cAAc,CAAC,CAAC,CAAC,CAUnB"}
@@ -0,0 +1,7 @@
1
+ import {
2
+ createTypiaAdapter
3
+ } from "../../chunk-7QEGHKR4.js";
4
+ export {
5
+ createTypiaAdapter
6
+ };
7
+ //# sourceMappingURL=typia.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,30 @@
1
+ import type { ApplogValue } from '../../applog/datom-types.ts';
2
+ import type { ISchemaAdapter } from '../types.ts';
3
+ import type { ZodObject, ZodTypeAny } from 'zod';
4
+ /**
5
+ * Create a schema adapter from a Zod object schema.
6
+ *
7
+ * Usage:
8
+ * ```ts
9
+ * import { z } from 'zod'
10
+ * import { createZodAdapter } from '@wovin/core/viewmodel/adapters/zod'
11
+ *
12
+ * const MySchema = z.object({
13
+ * name: z.string(),
14
+ * age: z.number().optional(),
15
+ * })
16
+ *
17
+ * const adapter = createZodAdapter(MySchema, 'myEntity')
18
+ * ```
19
+ *
20
+ * The type parameter `T` is the inferred type of the schema.
21
+ */
22
+ export declare function createZodAdapter<T extends Record<string, ApplogValue> = Record<string, ApplogValue>>(zodSchema: ZodObject<Record<string, ZodTypeAny>>, entityPrefix: string, options?: {
23
+ /** Override at-paths for specific attributes */
24
+ atOverrides?: Record<string, string>;
25
+ /** Default values */
26
+ defaults?: Partial<T>;
27
+ /** Property name to at-path mapping function */
28
+ toAtPath?: (entityPrefix: string, attrName: string) => string;
29
+ }): ISchemaAdapter<T>;
30
+ //# sourceMappingURL=zod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zod.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/adapters/zod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,aAAa,CAAA;AACjE,OAAO,KAAK,EAAE,SAAS,EAAW,UAAU,EAAE,MAAM,KAAK,CAAA;AAEzD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACnG,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,EAChD,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IACT,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;IACrB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;CAC7D,GACC,cAAc,CAAC,CAAC,CAAC,CAqBnB"}
@@ -0,0 +1,7 @@
1
+ import {
2
+ createZodAdapter
3
+ } from "../../chunk-XF4DWOAE.js";
4
+ export {
5
+ createZodAdapter
6
+ };
7
+ //# sourceMappingURL=zod.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,40 @@
1
+ import type { ApplogForInsertOptionalAgent, ApplogValue, EntityID } from '../applog/datom-types.ts';
2
+ /**
3
+ * Generic ObjectBuilder for type-safe entity creation and updates.
4
+ *
5
+ * Provides a fluent API to build a set of applogs for an entity.
6
+ * Modeled after the note3 builder pattern.
7
+ *
8
+ * Usage:
9
+ * ```ts
10
+ * ObjectBuilder.create({ name: 'foo' })
11
+ * .update({ type: 'bar' })
12
+ * .build(thread)
13
+ * ```
14
+ */
15
+ export declare class ObjectBuilder<TARGET extends Record<string, ApplogValue> = Record<string, ApplogValue>> {
16
+ private _data;
17
+ en: EntityID | null;
18
+ private _atPrefix;
19
+ private _atOverrides;
20
+ constructor(_data: Partial<TARGET>, en?: EntityID | null, _atPrefix?: string | null, _atOverrides?: Partial<Record<keyof TARGET, string>>);
21
+ /**
22
+ * Create a new builder with initial data.
23
+ */
24
+ static create<TARGET extends Record<string, ApplogValue>>(init?: Partial<TARGET>, en?: EntityID, atPrefix?: string, atOverrides?: Partial<Record<keyof TARGET, string>>): ObjectBuilder<TARGET>;
25
+ /**
26
+ * Update the data being built.
27
+ */
28
+ update(updateObj: Partial<TARGET>): this;
29
+ /**
30
+ * Build the applogs for this entity, optionally resolving against a thread.
31
+ */
32
+ build(thread?: {
33
+ insert(applogs: ApplogForInsertOptionalAgent[]): ApplogForInsertOptionalAgent[];
34
+ }): ApplogForInsertOptionalAgent[];
35
+ /**
36
+ * Get the raw data being built.
37
+ */
38
+ get data(): Partial<TARGET>;
39
+ }
40
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/viewmodel/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAEnG;;;;;;;;;;;;GAYG;AACH,qBAAa,aAAa,CACzB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC;IAGvE,OAAO,CAAC,KAAK;IACN,EAAE,EAAE,QAAQ,GAAG,IAAI;IAC1B,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;gBAHZ,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,EACvB,EAAE,GAAE,QAAQ,GAAG,IAAW,EACzB,SAAS,GAAE,MAAM,GAAG,IAAW,EAC/B,YAAY,GAAE,OAAO,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,CAAM;IAGjE;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACvD,IAAI,GAAE,OAAO,CAAC,MAAM,CAAM,EAC1B,EAAE,CAAC,EAAE,QAAQ,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,MAAM,EAAE,MAAM,CAAC,CAAC,GACjD,aAAa,CAAC,MAAM,CAAC;IAIxB;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI;IAKxC;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE;QACd,MAAM,CAAC,OAAO,EAAE,4BAA4B,EAAE,GAAG,4BAA4B,EAAE,CAAA;KAC/E,GAAG,4BAA4B,EAAE;IAclC;;OAEG;IACH,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAE1B;CACD"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * ═══════════════════════════════════════════════════════════════
3
+ * Schema Adapter Examples
4
+ * ═══════════════════════════════════════════════════════════════
5
+ *
6
+ * This file demonstrates how to use each schema adapter with the
7
+ * generic ViewModel factory. Uncomment the adapter you want to use.
8
+ *
9
+ * Each section is self-contained and shows:
10
+ * 1. Schema definition
11
+ * 2. Adapter creation
12
+ * 3. ViewModel factory usage
13
+ * 4. Basic VM usage
14
+ *
15
+ * Note: Not all schema libraries are installed as dependencies.
16
+ * ✓ TypeBox — peer dependency of @wovin/core (available)
17
+ * ✓ Zod — dependency of @wovin/core (available)
18
+ * ✗ ArkType — NOT installed (example shown for pattern reference)
19
+ * ✗ Typia — NOT installed (example shown for pattern reference)
20
+ */
21
+ export declare function typeBoxExample(): void;
22
+ export declare function zodExample(): void;
23
+ export declare function arkTypePattern(): void;
24
+ export declare function typiaPattern(): void;
25
+ export declare function minimalNoSchemaExample(): void;
26
+ //# sourceMappingURL=all-adapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all-adapters.d.ts","sourceRoot":"","sources":["../../../src/viewmodel/examples/all-adapters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA6BH,wBAAgB,cAAc,SA2B7B;AASD,wBAAgB,UAAU,SA2BzB;AASD,wBAAgB,cAAc,SAyB7B;AASD,wBAAgB,YAAY,SA0B3B;AAMD,wBAAgB,sBAAsB,SAmBrC"}
@@ -0,0 +1,38 @@
1
+ import type { ApplogValue, EntityID } from '../applog/datom-types.ts';
2
+ import type { Thread } from '../thread/basic.ts';
3
+ import { ObjectBuilder } from './builder.ts';
4
+ import { type ISignalAdapter, type IVMInstance, type ViewModelFactoryOptions } from './types.ts';
5
+ /**
6
+ * Default signal adapter — reads Subscribable values directly (snapshot).
7
+ * Subscribe-once to keep .value current. No framework reactivity.
8
+ */
9
+ export declare const DefaultSignalAdapter: ISignalAdapter;
10
+ /**
11
+ * Create a ViewModel factory for a given schema.
12
+ *
13
+ * Returns a base class that can be extended or used directly.
14
+ * The class provides:
15
+ * - Static `get(en, thread)` for singleton access
16
+ * - Static `buildNew(init, en)` for creating entities
17
+ * - Instance `buildUpdate(init)` for updating entities
18
+ * - Lazy reactive property accessors per attribute
19
+ * - `setDeleted()` for soft deletion
20
+ *
21
+ * Framework-specific reactivity (Solid, Vue, etc.) can be added by
22
+ * providing a custom `ISignalAdapter` in the options.
23
+ *
24
+ * @param options - Factory configuration
25
+ * @returns A VM class constructor with static methods
26
+ */
27
+ export declare function createViewModelFactory<T extends Record<string, ApplogValue>>(options: ViewModelFactoryOptions<T>): {
28
+ new (en: EntityID, thread: Thread, skipInit?: boolean): IVMInstance<T> & T;
29
+ /** Get or create a VM instance for the given entity ID */
30
+ get(en: EntityID, thread: Thread): IVMInstance<T> & T;
31
+ /** Create a builder for a new entity */
32
+ buildNew(init?: Partial<T>, en?: EntityID): ObjectBuilder<T>;
33
+ /** The VM name (for debugging) */
34
+ readonly vmName: string;
35
+ /** The entity prefix used for at-paths */
36
+ readonly entityPrefix: string;
37
+ };
38
+ //# sourceMappingURL=factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/viewmodel/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgC,WAAW,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAA;AAMnG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAGhD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,WAAW,EAChB,KAAK,uBAAuB,EAG5B,MAAM,YAAY,CAAA;AAMnB;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,cAUlC,CAAA;AAoCD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAC3E,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GA4NN;IAC5B,KACC,EAAE,EAAE,QAAQ,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,OAAO,GAChB,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAErB,0DAA0D;IAC1D,GAAG,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IAErD,wCAAwC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;IAE5D,kCAAkC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB,0CAA0C;IAC1C,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC7B,CACD"}
@@ -0,0 +1,10 @@
1
+ export { ObjectBuilder } from './builder.ts';
2
+ export { createViewModelFactory, DefaultSignalAdapter } from './factory.ts';
3
+ export { createAdapterFromAttributes, buildAtPath } from './schema-adapter.ts';
4
+ export type { ISchemaAdapter, ISignalAdapter, IVMInstance, IVMClass, VMAttributeDef, ViewModelFactoryOptions, VMInstanceMap, } from './types.ts';
5
+ export { GlobalVMInstances, getInstancesForThread } from './types.ts';
6
+ export { createTypeBoxAdapter } from './adapters/typebox.ts';
7
+ export { createZodAdapter } from './adapters/zod.ts';
8
+ export { createArkTypeAdapter } from './adapters/arktype.ts';
9
+ export { createTypiaAdapter } from './adapters/typia.ts';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/viewmodel/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC9E,YAAY,EACX,cAAc,EACd,cAAc,EACd,WAAW,EACX,QAAQ,EACR,cAAc,EACd,uBAAuB,EACvB,aAAa,GACb,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA"}