@xyo-network/diviner-jsonpatch 7.2.3 → 7.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.
@@ -0,0 +1,12 @@
1
+ import { AbstractDiviner } from '@xyo-network/sdk/diviner-abstract';
2
+ import type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/sdk/diviner-model';
3
+ import type { Payload, Schema } from '@xyo-network/sdk-protocol';
4
+ import type { Operation } from 'fast-json-patch';
5
+ import type { JsonPatchDivinerParams } from './model/index.ts';
6
+ export declare class JsonPatchDiviner<TParams extends JsonPatchDivinerParams = JsonPatchDivinerParams, TIn extends Payload = Payload, TOut extends Payload = Payload, TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut>> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {
7
+ static readonly configSchemas: Schema[];
8
+ static readonly defaultConfigSchema: Schema;
9
+ protected get operations(): readonly Operation[];
10
+ protected divineHandler(payloads?: TIn[]): Promise<TOut[]>;
11
+ }
12
+ //# sourceMappingURL=Diviner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Diviner.d.ts","sourceRoot":"","sources":["../../src/Diviner.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AAE7F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAc,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AAK9D,qBACa,gBAAgB,CAC3B,OAAO,SAAS,sBAAsB,GAAG,sBAAsB,EAC/D,GAAG,SAAS,OAAO,GAAG,OAAO,EAC7B,IAAI,SAAS,OAAO,GAAG,OAAO,EAC9B,UAAU,SAAS,sBAAsB,CAAC,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,sBAAsB,CAChH,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,EACnC,GAAG,EACH,IAAI,CACL,CACD,SAAQ,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;IACvD,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAyD;IACzG,gBAAyB,mBAAmB,EAAE,MAAM,CAA+B;IAEnF,SAAS,KAAK,UAAU,IAAI,SAAS,SAAS,EAAE,CAE/C;cAEwB,aAAa,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;CAc1E"}
@@ -1,3 +1,3 @@
1
- export * from '@xyo-network/diviner-jsonpatch-memory';
2
- export * from '@xyo-network/diviner-jsonpatch-model';
1
+ export * from './memory.ts';
2
+ export * from './model.ts';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAA;AACrD,cAAc,sCAAsC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
@@ -1,4 +1,80 @@
1
- // src/index.ts
2
- export * from "@xyo-network/diviner-jsonpatch-memory";
3
- export * from "@xyo-network/diviner-jsonpatch-model";
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __reflectGet = Reflect.get;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __decorateClass = (decorators, target, key, kind) => {
7
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
8
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
+ if (decorator = decorators[i])
10
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11
+ if (kind && result) __defProp(target, key, result);
12
+ return result;
13
+ };
14
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
15
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
16
+
17
+ // src/Diviner.ts
18
+ import { assertEx, exists } from "@ariestools/sdk";
19
+ import { AbstractDiviner } from "@xyo-network/sdk/diviner-abstract";
20
+ import { creatableModule } from "@xyo-network/sdk/module-model";
21
+ import fastJsonPatch from "fast-json-patch";
22
+
23
+ // src/model/Config.ts
24
+ import {
25
+ zodAsFactory,
26
+ zodIsFactory,
27
+ zodToFactory
28
+ } from "@ariestools/sdk";
29
+ import { DivinerConfigZod } from "@xyo-network/sdk/diviner-model";
30
+ import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol";
31
+ import * as z from "zod/mini";
32
+
33
+ // src/model/Schema.ts
34
+ import { asSchema } from "@xyo-network/sdk-protocol";
35
+ var JsonPatchDivinerSchema = asSchema("network.xyo.diviner.jsonpatch", true);
36
+
37
+ // src/model/Config.ts
38
+ var JsonPatchDivinerConfigSchema = asSchema2(`${JsonPatchDivinerSchema}.config`, true);
39
+ var JsonPatchDivinerConfigZod = z.extend(DivinerConfigZod, {
40
+ operations: z.optional(z.array(z.custom())),
41
+ schema: z.literal(JsonPatchDivinerConfigSchema)
42
+ });
43
+ var isJsonPatchDivinerConfig = zodIsFactory(JsonPatchDivinerConfigZod);
44
+ var asJsonPatchDivinerConfig = zodAsFactory(JsonPatchDivinerConfigZod, "asJsonPatchDivinerConfig");
45
+ var toJsonPatchDivinerConfig = zodToFactory(JsonPatchDivinerConfigZod, "toJsonPatchDivinerConfig");
46
+
47
+ // src/Diviner.ts
48
+ var FJP = fastJsonPatch;
49
+ var JsonPatchDiviner = class extends AbstractDiviner {
50
+ get operations() {
51
+ return assertEx(this.config?.operations, () => "JsonPatchDiviner: invalid operations");
52
+ }
53
+ async divineHandler(payloads) {
54
+ const results = payloads?.map((payload) => {
55
+ try {
56
+ const result = FJP.applyPatch(payload, this.operations, false, false);
57
+ return result[0].newDocument;
58
+ } catch (error) {
59
+ this.logger?.error("JsonPatchDiviner: failed to apply patch", error);
60
+ return;
61
+ }
62
+ }).filter(exists);
63
+ return results ?? [];
64
+ }
65
+ };
66
+ __publicField(JsonPatchDiviner, "configSchemas", [...__superGet(JsonPatchDiviner, JsonPatchDiviner, "configSchemas"), JsonPatchDivinerConfigSchema]);
67
+ __publicField(JsonPatchDiviner, "defaultConfigSchema", JsonPatchDivinerConfigSchema);
68
+ JsonPatchDiviner = __decorateClass([
69
+ creatableModule()
70
+ ], JsonPatchDiviner);
71
+ export {
72
+ JsonPatchDiviner,
73
+ JsonPatchDivinerConfigSchema,
74
+ JsonPatchDivinerConfigZod,
75
+ JsonPatchDivinerSchema,
76
+ asJsonPatchDivinerConfig,
77
+ isJsonPatchDivinerConfig,
78
+ toJsonPatchDivinerConfig
79
+ };
4
80
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["export * from '@xyo-network/diviner-jsonpatch-memory'\nexport * from '@xyo-network/diviner-jsonpatch-model'\n"],
5
- "mappings": ";AAAA,cAAc;AACd,cAAc;",
6
- "names": []
3
+ "sources": ["../../src/Diviner.ts", "../../src/model/Config.ts", "../../src/model/Schema.ts"],
4
+ "sourcesContent": ["import { assertEx, exists } from '@ariestools/sdk'\nimport { AbstractDiviner } from '@xyo-network/sdk/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/sdk/diviner-model'\nimport { creatableModule } from '@xyo-network/sdk/module-model'\nimport type { Payload, Schema } from '@xyo-network/sdk-protocol'\nimport type { applyPatch, Operation } from 'fast-json-patch'\nimport fastJsonPatch from 'fast-json-patch'\n\nimport type { JsonPatchDivinerParams } from './model/index.ts'\nimport { JsonPatchDivinerConfigSchema } from './model/index.ts'\n\nconst FJP = fastJsonPatch as { applyPatch: typeof applyPatch }\n\n@creatableModule()\nexport class JsonPatchDiviner<\n TParams extends JsonPatchDivinerParams = JsonPatchDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPatchDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPatchDivinerConfigSchema\n\n protected get operations(): readonly Operation[] {\n return assertEx(this.config?.operations, () => 'JsonPatchDiviner: invalid operations')\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n const results = payloads\n ?.map((payload) => {\n try {\n const result = FJP.applyPatch(payload, this.operations, false, false)\n return result[0].newDocument as unknown as TOut\n } catch (error) {\n this.logger?.error('JsonPatchDiviner: failed to apply patch', error)\n return\n }\n })\n .filter(exists)\n return results ?? []\n }\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { DivinerConfig } from '@xyo-network/sdk/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/sdk/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport type { Operation } from 'fast-json-patch'\nimport * as z from 'zod/mini'\n\nimport { JsonPatchDivinerSchema } from './Schema.ts'\n\nexport const JsonPatchDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${JsonPatchDivinerSchema}.config`, true)\nexport type JsonPatchDivinerConfigSchema = typeof JsonPatchDivinerConfigSchema\n\n// TODO: Export our own compatible Operation type to hide implementation details\n// export interface Operation {\n// op: 'add' | 'remove' | 'replace' | 'move' | 'copy' | 'test'\n// path: string\n// value?: JsonValue\n// }\n\nexport const JsonPatchDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n operations: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniCustom<Operation, Operation>>>\n schema: z.ZodMiniLiteral<JsonPatchDivinerConfigSchema>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, {\n operations: z.optional(z.array(z.custom<Operation>())),\n schema: z.literal(JsonPatchDivinerConfigSchema),\n})\n\nexport type JsonPatchDivinerConfigBase = z.infer<typeof JsonPatchDivinerConfigZod>\n\nexport const isJsonPatchDivinerConfig: ReturnType<typeof zodIsFactory<JsonPatchDivinerConfigBase>> = zodIsFactory(JsonPatchDivinerConfigZod)\nexport const asJsonPatchDivinerConfig: ReturnType<typeof zodAsFactory<JsonPatchDivinerConfigBase>> = zodAsFactory(JsonPatchDivinerConfigZod, 'asJsonPatchDivinerConfig')\nexport const toJsonPatchDivinerConfig: ReturnType<typeof zodToFactory<JsonPatchDivinerConfigBase>> = zodToFactory(JsonPatchDivinerConfigZod, 'toJsonPatchDivinerConfig')\n\nexport type JsonPatchDivinerConfig = DivinerConfig<{ operations?: Operation[] } & { schema: JsonPatchDivinerConfigSchema }>\n", "import { asSchema } from '@xyo-network/sdk-protocol'\n\nexport const JsonPatchDivinerSchema: 'network.xyo.diviner.jsonpatch' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.jsonpatch', true)\nexport type JsonPatchDivinerSchema = typeof JsonPatchDivinerSchema\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA,SAAS,UAAU,cAAc;AACjC,SAAS,uBAAuB;AAEhC,SAAS,uBAAuB;AAGhC,OAAO,mBAAmB;;;ACN1B;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAEP,SAAS,wBAAwB;AACjC,SAAS,YAAAA,iBAAgB;AAEzB,YAAY,OAAO;;;ACPnB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADO3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;AAU9C,IAAM,4BAMP,SAAO,kBAAkB;AAAA,EAC7B,YAAc,WAAW,QAAQ,SAAkB,CAAC,CAAC;AAAA,EACrD,QAAU,UAAQ,4BAA4B;AAChD,CAAC;AAIM,IAAM,2BAAwF,aAAa,yBAAyB;AACpI,IAAM,2BAAwF,aAAa,2BAA2B,0BAA0B;AAChK,IAAM,2BAAwF,aAAa,2BAA2B,0BAA0B;;;AD3BvK,IAAM,MAAM;AAGL,IAAM,mBAAN,cASG,gBAAgD;AAAA,EAIxD,IAAc,aAAmC;AAC/C,WAAO,SAAS,KAAK,QAAQ,YAAY,MAAM,sCAAsC;AAAA,EACvF;AAAA,EAEA,MAAyB,cAAc,UAAmC;AACxE,UAAM,UAAU,UACZ,IAAI,CAAC,YAAY;AACjB,UAAI;AACF,cAAM,SAAS,IAAI,WAAW,SAAS,KAAK,YAAY,OAAO,KAAK;AACpE,eAAO,OAAO,CAAC,EAAE;AAAA,MACnB,SAAS,OAAO;AACd,aAAK,QAAQ,MAAM,2CAA2C,KAAK;AACnE;AAAA,MACF;AAAA,IACF,CAAC,EACA,OAAO,MAAM;AAChB,WAAO,WAAW,CAAC;AAAA,EACrB;AACF;AArBE,cAVW,kBAUc,iBAA0B,CAAC,GAAG,+CAAM,kBAAe,4BAA4B;AACxG,cAXW,kBAWc,uBAA8B;AAX5C,mBAAN;AAAA,EADN,gBAAgB;AAAA,GACJ;",
6
+ "names": ["asSchema", "asSchema"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ export * from './Diviner.ts';
2
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/memory.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA"}
@@ -0,0 +1,74 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getProtoOf = Object.getPrototypeOf;
4
+ var __reflectGet = Reflect.get;
5
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __decorateClass = (decorators, target, key, kind) => {
7
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
8
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
9
+ if (decorator = decorators[i])
10
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
11
+ if (kind && result) __defProp(target, key, result);
12
+ return result;
13
+ };
14
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
15
+ var __superGet = (cls, obj, key) => __reflectGet(__getProtoOf(cls), key, obj);
16
+
17
+ // src/Diviner.ts
18
+ import { assertEx, exists } from "@ariestools/sdk";
19
+ import { AbstractDiviner } from "@xyo-network/sdk/diviner-abstract";
20
+ import { creatableModule } from "@xyo-network/sdk/module-model";
21
+ import fastJsonPatch from "fast-json-patch";
22
+
23
+ // src/model/Config.ts
24
+ import {
25
+ zodAsFactory,
26
+ zodIsFactory,
27
+ zodToFactory
28
+ } from "@ariestools/sdk";
29
+ import { DivinerConfigZod } from "@xyo-network/sdk/diviner-model";
30
+ import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol";
31
+ import * as z from "zod/mini";
32
+
33
+ // src/model/Schema.ts
34
+ import { asSchema } from "@xyo-network/sdk-protocol";
35
+ var JsonPatchDivinerSchema = asSchema("network.xyo.diviner.jsonpatch", true);
36
+
37
+ // src/model/Config.ts
38
+ var JsonPatchDivinerConfigSchema = asSchema2(`${JsonPatchDivinerSchema}.config`, true);
39
+ var JsonPatchDivinerConfigZod = z.extend(DivinerConfigZod, {
40
+ operations: z.optional(z.array(z.custom())),
41
+ schema: z.literal(JsonPatchDivinerConfigSchema)
42
+ });
43
+ var isJsonPatchDivinerConfig = zodIsFactory(JsonPatchDivinerConfigZod);
44
+ var asJsonPatchDivinerConfig = zodAsFactory(JsonPatchDivinerConfigZod, "asJsonPatchDivinerConfig");
45
+ var toJsonPatchDivinerConfig = zodToFactory(JsonPatchDivinerConfigZod, "toJsonPatchDivinerConfig");
46
+
47
+ // src/Diviner.ts
48
+ var FJP = fastJsonPatch;
49
+ var JsonPatchDiviner = class extends AbstractDiviner {
50
+ get operations() {
51
+ return assertEx(this.config?.operations, () => "JsonPatchDiviner: invalid operations");
52
+ }
53
+ async divineHandler(payloads) {
54
+ const results = payloads?.map((payload) => {
55
+ try {
56
+ const result = FJP.applyPatch(payload, this.operations, false, false);
57
+ return result[0].newDocument;
58
+ } catch (error) {
59
+ this.logger?.error("JsonPatchDiviner: failed to apply patch", error);
60
+ return;
61
+ }
62
+ }).filter(exists);
63
+ return results ?? [];
64
+ }
65
+ };
66
+ __publicField(JsonPatchDiviner, "configSchemas", [...__superGet(JsonPatchDiviner, JsonPatchDiviner, "configSchemas"), JsonPatchDivinerConfigSchema]);
67
+ __publicField(JsonPatchDiviner, "defaultConfigSchema", JsonPatchDivinerConfigSchema);
68
+ JsonPatchDiviner = __decorateClass([
69
+ creatableModule()
70
+ ], JsonPatchDiviner);
71
+ export {
72
+ JsonPatchDiviner
73
+ };
74
+ //# sourceMappingURL=memory.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/Diviner.ts", "../../src/model/Config.ts", "../../src/model/Schema.ts"],
4
+ "sourcesContent": ["import { assertEx, exists } from '@ariestools/sdk'\nimport { AbstractDiviner } from '@xyo-network/sdk/diviner-abstract'\nimport type { DivinerInstance, DivinerModuleEventData } from '@xyo-network/sdk/diviner-model'\nimport { creatableModule } from '@xyo-network/sdk/module-model'\nimport type { Payload, Schema } from '@xyo-network/sdk-protocol'\nimport type { applyPatch, Operation } from 'fast-json-patch'\nimport fastJsonPatch from 'fast-json-patch'\n\nimport type { JsonPatchDivinerParams } from './model/index.ts'\nimport { JsonPatchDivinerConfigSchema } from './model/index.ts'\n\nconst FJP = fastJsonPatch as { applyPatch: typeof applyPatch }\n\n@creatableModule()\nexport class JsonPatchDiviner<\n TParams extends JsonPatchDivinerParams = JsonPatchDivinerParams,\n TIn extends Payload = Payload,\n TOut extends Payload = Payload,\n TEventData extends DivinerModuleEventData<DivinerInstance<TParams, TIn, TOut>, TIn, TOut> = DivinerModuleEventData<\n DivinerInstance<TParams, TIn, TOut>,\n TIn,\n TOut\n >,\n> extends AbstractDiviner<TParams, TIn, TOut, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, JsonPatchDivinerConfigSchema]\n static override readonly defaultConfigSchema: Schema = JsonPatchDivinerConfigSchema\n\n protected get operations(): readonly Operation[] {\n return assertEx(this.config?.operations, () => 'JsonPatchDiviner: invalid operations')\n }\n\n protected override async divineHandler(payloads?: TIn[]): Promise<TOut[]> {\n const results = payloads\n ?.map((payload) => {\n try {\n const result = FJP.applyPatch(payload, this.operations, false, false)\n return result[0].newDocument as unknown as TOut\n } catch (error) {\n this.logger?.error('JsonPatchDiviner: failed to apply patch', error)\n return\n }\n })\n .filter(exists)\n return results ?? []\n }\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { DivinerConfig } from '@xyo-network/sdk/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/sdk/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport type { Operation } from 'fast-json-patch'\nimport * as z from 'zod/mini'\n\nimport { JsonPatchDivinerSchema } from './Schema.ts'\n\nexport const JsonPatchDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${JsonPatchDivinerSchema}.config`, true)\nexport type JsonPatchDivinerConfigSchema = typeof JsonPatchDivinerConfigSchema\n\n// TODO: Export our own compatible Operation type to hide implementation details\n// export interface Operation {\n// op: 'add' | 'remove' | 'replace' | 'move' | 'copy' | 'test'\n// path: string\n// value?: JsonValue\n// }\n\nexport const JsonPatchDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n operations: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniCustom<Operation, Operation>>>\n schema: z.ZodMiniLiteral<JsonPatchDivinerConfigSchema>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, {\n operations: z.optional(z.array(z.custom<Operation>())),\n schema: z.literal(JsonPatchDivinerConfigSchema),\n})\n\nexport type JsonPatchDivinerConfigBase = z.infer<typeof JsonPatchDivinerConfigZod>\n\nexport const isJsonPatchDivinerConfig: ReturnType<typeof zodIsFactory<JsonPatchDivinerConfigBase>> = zodIsFactory(JsonPatchDivinerConfigZod)\nexport const asJsonPatchDivinerConfig: ReturnType<typeof zodAsFactory<JsonPatchDivinerConfigBase>> = zodAsFactory(JsonPatchDivinerConfigZod, 'asJsonPatchDivinerConfig')\nexport const toJsonPatchDivinerConfig: ReturnType<typeof zodToFactory<JsonPatchDivinerConfigBase>> = zodToFactory(JsonPatchDivinerConfigZod, 'toJsonPatchDivinerConfig')\n\nexport type JsonPatchDivinerConfig = DivinerConfig<{ operations?: Operation[] } & { schema: JsonPatchDivinerConfigSchema }>\n", "import { asSchema } from '@xyo-network/sdk-protocol'\n\nexport const JsonPatchDivinerSchema: 'network.xyo.diviner.jsonpatch' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.jsonpatch', true)\nexport type JsonPatchDivinerSchema = typeof JsonPatchDivinerSchema\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;AAAA,SAAS,UAAU,cAAc;AACjC,SAAS,uBAAuB;AAEhC,SAAS,uBAAuB;AAGhC,OAAO,mBAAmB;;;ACN1B;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAEP,SAAS,wBAAwB;AACjC,SAAS,YAAAA,iBAAgB;AAEzB,YAAY,OAAO;;;ACPnB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADO3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;AAU9C,IAAM,4BAMP,SAAO,kBAAkB;AAAA,EAC7B,YAAc,WAAW,QAAQ,SAAkB,CAAC,CAAC;AAAA,EACrD,QAAU,UAAQ,4BAA4B;AAChD,CAAC;AAIM,IAAM,2BAAwF,aAAa,yBAAyB;AACpI,IAAM,2BAAwF,aAAa,2BAA2B,0BAA0B;AAChK,IAAM,2BAAwF,aAAa,2BAA2B,0BAA0B;;;AD3BvK,IAAM,MAAM;AAGL,IAAM,mBAAN,cASG,gBAAgD;AAAA,EAIxD,IAAc,aAAmC;AAC/C,WAAO,SAAS,KAAK,QAAQ,YAAY,MAAM,sCAAsC;AAAA,EACvF;AAAA,EAEA,MAAyB,cAAc,UAAmC;AACxE,UAAM,UAAU,UACZ,IAAI,CAAC,YAAY;AACjB,UAAI;AACF,cAAM,SAAS,IAAI,WAAW,SAAS,KAAK,YAAY,OAAO,KAAK;AACpE,eAAO,OAAO,CAAC,EAAE;AAAA,MACnB,SAAS,OAAO;AACd,aAAK,QAAQ,MAAM,2CAA2C,KAAK;AACnE;AAAA,MACF;AAAA,IACF,CAAC,EACA,OAAO,MAAM;AAChB,WAAO,WAAW,CAAC;AAAA,EACrB;AACF;AArBE,cAVW,kBAUc,iBAA0B,CAAC,GAAG,+CAAM,kBAAe,4BAA4B;AACxG,cAXW,kBAWc,uBAA8B;AAX5C,mBAAN;AAAA,EADN,gBAAgB;AAAA,GACJ;",
6
+ "names": ["asSchema", "asSchema"]
7
+ }
@@ -0,0 +1,23 @@
1
+ import { zodAsFactory, zodIsFactory, zodToFactory } from '@ariestools/sdk';
2
+ import type { DivinerConfig } from '@xyo-network/sdk/diviner-model';
3
+ import { DivinerConfigZod } from '@xyo-network/sdk/diviner-model';
4
+ import type { Operation } from 'fast-json-patch';
5
+ import * as z from 'zod/mini';
6
+ export declare const JsonPatchDivinerConfigSchema: string & {
7
+ readonly __schema: true;
8
+ };
9
+ export type JsonPatchDivinerConfigSchema = typeof JsonPatchDivinerConfigSchema;
10
+ export declare const JsonPatchDivinerConfigZod: z.ZodMiniObject<Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {
11
+ operations: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniCustom<Operation, Operation>>>;
12
+ schema: z.ZodMiniLiteral<JsonPatchDivinerConfigSchema>;
13
+ }, z.core.$strip>;
14
+ export type JsonPatchDivinerConfigBase = z.infer<typeof JsonPatchDivinerConfigZod>;
15
+ export declare const isJsonPatchDivinerConfig: ReturnType<typeof zodIsFactory<JsonPatchDivinerConfigBase>>;
16
+ export declare const asJsonPatchDivinerConfig: ReturnType<typeof zodAsFactory<JsonPatchDivinerConfigBase>>;
17
+ export declare const toJsonPatchDivinerConfig: ReturnType<typeof zodToFactory<JsonPatchDivinerConfigBase>>;
18
+ export type JsonPatchDivinerConfig = DivinerConfig<{
19
+ operations?: Operation[];
20
+ } & {
21
+ schema: JsonPatchDivinerConfigSchema;
22
+ }>;
23
+ //# sourceMappingURL=Config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../../src/model/Config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAAE,YAAY,EAAE,YAAY,EACzC,MAAM,iBAAiB,CAAA;AACxB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAI7B,eAAO,MAAM,4BAA4B,EAAE,MAAM,GAAG;IAClD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC6B,CAAA;AACtD,MAAM,MAAM,4BAA4B,GAAG,OAAO,4BAA4B,CAAA;AAS9E,eAAO,MAAM,yBAAyB,EAAE,CAAC,CAAC,aAAa,CACrD,IAAI,CAAC,CAAC,OAAO,gBAAgB,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,GAAG;IACnD,UAAU,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAA;IACpF,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,4BAA4B,CAAC,CAAA;CACvD,EACD,CAAC,CAAC,IAAI,CAAC,MAAM,CAIb,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAElF,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,0BAA0B,CAAC,CAA2C,CAAA;AAC5I,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,0BAA0B,CAAC,CAAuE,CAAA;AACxK,eAAO,MAAM,wBAAwB,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,0BAA0B,CAAC,CAAuE,CAAA;AAExK,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC;IAAE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,4BAA4B,CAAA;CAAE,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { DivinerParams } from '@xyo-network/sdk/diviner-model';
2
+ import type { AnyConfigSchema } from '@xyo-network/sdk/module-model';
3
+ import type { JsonPatchDivinerConfig } from './Config.ts';
4
+ export type JsonPatchDivinerParams = DivinerParams<AnyConfigSchema<JsonPatchDivinerConfig>>;
5
+ //# sourceMappingURL=Params.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Params.d.ts","sourceRoot":"","sources":["../../../src/model/Params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AACnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,MAAM,sBAAsB,GAAG,aAAa,CAAC,eAAe,CAAC,sBAAsB,CAAC,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export declare const JsonPatchDivinerSchema: 'network.xyo.diviner.jsonpatch' & {
2
+ readonly __schema: true;
3
+ };
4
+ export type JsonPatchDivinerSchema = typeof JsonPatchDivinerSchema;
5
+ //# sourceMappingURL=Schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/model/Schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,sBAAsB,EAAE,+BAA+B,GAAG;IACrE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAA;CAC0B,CAAA;AACnD,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './Config.ts';
2
+ export * from './Params.ts';
3
+ export * from './Schema.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './model/index.ts';
2
+ //# sourceMappingURL=model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,32 @@
1
+ // src/model/Config.ts
2
+ import {
3
+ zodAsFactory,
4
+ zodIsFactory,
5
+ zodToFactory
6
+ } from "@ariestools/sdk";
7
+ import { DivinerConfigZod } from "@xyo-network/sdk/diviner-model";
8
+ import { asSchema as asSchema2 } from "@xyo-network/sdk-protocol";
9
+ import * as z from "zod/mini";
10
+
11
+ // src/model/Schema.ts
12
+ import { asSchema } from "@xyo-network/sdk-protocol";
13
+ var JsonPatchDivinerSchema = asSchema("network.xyo.diviner.jsonpatch", true);
14
+
15
+ // src/model/Config.ts
16
+ var JsonPatchDivinerConfigSchema = asSchema2(`${JsonPatchDivinerSchema}.config`, true);
17
+ var JsonPatchDivinerConfigZod = z.extend(DivinerConfigZod, {
18
+ operations: z.optional(z.array(z.custom())),
19
+ schema: z.literal(JsonPatchDivinerConfigSchema)
20
+ });
21
+ var isJsonPatchDivinerConfig = zodIsFactory(JsonPatchDivinerConfigZod);
22
+ var asJsonPatchDivinerConfig = zodAsFactory(JsonPatchDivinerConfigZod, "asJsonPatchDivinerConfig");
23
+ var toJsonPatchDivinerConfig = zodToFactory(JsonPatchDivinerConfigZod, "toJsonPatchDivinerConfig");
24
+ export {
25
+ JsonPatchDivinerConfigSchema,
26
+ JsonPatchDivinerConfigZod,
27
+ JsonPatchDivinerSchema,
28
+ asJsonPatchDivinerConfig,
29
+ isJsonPatchDivinerConfig,
30
+ toJsonPatchDivinerConfig
31
+ };
32
+ //# sourceMappingURL=model.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/model/Config.ts", "../../src/model/Schema.ts"],
4
+ "sourcesContent": ["import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { DivinerConfig } from '@xyo-network/sdk/diviner-model'\nimport { DivinerConfigZod } from '@xyo-network/sdk/diviner-model'\nimport { asSchema } from '@xyo-network/sdk-protocol'\nimport type { Operation } from 'fast-json-patch'\nimport * as z from 'zod/mini'\n\nimport { JsonPatchDivinerSchema } from './Schema.ts'\n\nexport const JsonPatchDivinerConfigSchema: string & {\n readonly __schema: true\n} = asSchema(`${JsonPatchDivinerSchema}.config`, true)\nexport type JsonPatchDivinerConfigSchema = typeof JsonPatchDivinerConfigSchema\n\n// TODO: Export our own compatible Operation type to hide implementation details\n// export interface Operation {\n// op: 'add' | 'remove' | 'replace' | 'move' | 'copy' | 'test'\n// path: string\n// value?: JsonValue\n// }\n\nexport const JsonPatchDivinerConfigZod: z.ZodMiniObject<\n Omit<(typeof DivinerConfigZod)['shape'], 'schema'> & {\n operations: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniCustom<Operation, Operation>>>\n schema: z.ZodMiniLiteral<JsonPatchDivinerConfigSchema>\n },\n z.core.$strip\n> = z.extend(DivinerConfigZod, {\n operations: z.optional(z.array(z.custom<Operation>())),\n schema: z.literal(JsonPatchDivinerConfigSchema),\n})\n\nexport type JsonPatchDivinerConfigBase = z.infer<typeof JsonPatchDivinerConfigZod>\n\nexport const isJsonPatchDivinerConfig: ReturnType<typeof zodIsFactory<JsonPatchDivinerConfigBase>> = zodIsFactory(JsonPatchDivinerConfigZod)\nexport const asJsonPatchDivinerConfig: ReturnType<typeof zodAsFactory<JsonPatchDivinerConfigBase>> = zodAsFactory(JsonPatchDivinerConfigZod, 'asJsonPatchDivinerConfig')\nexport const toJsonPatchDivinerConfig: ReturnType<typeof zodToFactory<JsonPatchDivinerConfigBase>> = zodToFactory(JsonPatchDivinerConfigZod, 'toJsonPatchDivinerConfig')\n\nexport type JsonPatchDivinerConfig = DivinerConfig<{ operations?: Operation[] } & { schema: JsonPatchDivinerConfigSchema }>\n", "import { asSchema } from '@xyo-network/sdk-protocol'\n\nexport const JsonPatchDivinerSchema: 'network.xyo.diviner.jsonpatch' & {\n readonly __schema: true\n} = asSchema('network.xyo.diviner.jsonpatch', true)\nexport type JsonPatchDivinerSchema = typeof JsonPatchDivinerSchema\n"],
5
+ "mappings": ";AAAA;AAAA,EACE;AAAA,EAAc;AAAA,EAAc;AAAA,OACvB;AAEP,SAAS,wBAAwB;AACjC,SAAS,YAAAA,iBAAgB;AAEzB,YAAY,OAAO;;;ACPnB,SAAS,gBAAgB;AAElB,IAAM,yBAET,SAAS,iCAAiC,IAAI;;;ADO3C,IAAM,+BAETC,UAAS,GAAG,sBAAsB,WAAW,IAAI;AAU9C,IAAM,4BAMP,SAAO,kBAAkB;AAAA,EAC7B,YAAc,WAAW,QAAQ,SAAkB,CAAC,CAAC;AAAA,EACrD,QAAU,UAAQ,4BAA4B;AAChD,CAAC;AAIM,IAAM,2BAAwF,aAAa,yBAAyB;AACpI,IAAM,2BAAwF,aAAa,2BAA2B,0BAA0B;AAChK,IAAM,2BAAwF,aAAa,2BAA2B,0BAA0B;",
6
+ "names": ["asSchema", "asSchema"]
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/diviner-jsonpatch",
3
- "version": "7.2.3",
3
+ "version": "7.3.0",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -24,6 +24,14 @@
24
24
  "types": "./dist/neutral/index.d.ts",
25
25
  "default": "./dist/neutral/index.mjs"
26
26
  },
27
+ "./model": {
28
+ "types": "./dist/neutral/model.d.ts",
29
+ "default": "./dist/neutral/model.mjs"
30
+ },
31
+ "./memory": {
32
+ "types": "./dist/neutral/memory.d.ts",
33
+ "default": "./dist/neutral/memory.mjs"
34
+ },
27
35
  "./package.json": "./package.json"
28
36
  },
29
37
  "files": [
@@ -34,19 +42,29 @@
34
42
  "README.md"
35
43
  ],
36
44
  "dependencies": {
37
- "@xyo-network/diviner-jsonpatch-memory": "~7.2.3",
38
- "@xyo-network/diviner-jsonpatch-model": "~7.2.3"
45
+ "@xyo-network/sdk-protocol": "~7.3.1",
46
+ "fast-json-patch": "~3.1.1",
47
+ "@xyo-network/sdk": "~7.3.0"
39
48
  },
40
49
  "devDependencies": {
41
- "@ariestools/sdk": "~8.1.6",
42
- "@ariestools/toolchain": "~8.7.26",
43
- "@ariestools/tsconfig": "~8.7.26",
50
+ "@ariestools/sdk": "~8.1.9",
51
+ "@ariestools/toolchain": "~9.1.1",
52
+ "@ariestools/tsconfig": "~9.1.1",
53
+ "@ariestools/vitest-extended": "~8.0.3",
44
54
  "@opentelemetry/api": "~1.9.1",
45
- "@xyo-network/sdk-protocol": "~7.2.3",
46
- "eslint": "~10.8.0",
55
+ "eslint": "~10.9.0",
47
56
  "eslint-import-resolver-typescript": "~4.4.5",
57
+ "tslib": "~2.8.1",
48
58
  "typescript": "~6.0.3",
49
- "zod": "~4.4.3"
59
+ "vite": "~8.2.2",
60
+ "vitest": "~4.1.11",
61
+ "zod": "~4.4.3",
62
+ "@xyo-network/diviner-jsonpath": "~7.3.0",
63
+ "@xyo-network/diviner-jsonpath-aggregate": "~7.3.0"
64
+ },
65
+ "peerDependencies": {
66
+ "@ariestools/sdk": "^8.1",
67
+ "zod": "^4.4"
50
68
  },
51
69
  "engines": {
52
70
  "node": "^24"