@silvermoon-work/ipfs-payload 0.0.0-stage → 0.1.0-rc.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 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAa5E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IACvB,SAAS;IACT,KAAK;IACL,OAAO;IACP,aAAa;IACb,SAAS;IACT,UAAU;IACV,MAAM;IACN,OAAO;IACP,OAAO;IACP,MAAM;IACN,YAAY;IACZ,UAAU;IACV,sBAAsB;IACtB,OAAO;IACP,iBAAiB;IACjB,UAAU;IACV,UAAU;IACV,aAAa;IACb,eAAe;IACf,eAAe;IACf,SAAS;IACT,SAAS;IACT,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,WAAW;IACX,WAAW;IACX,SAAS;IACT,oBAAoB;CACrB,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,KAAc,EAAE,IAAe,EAAE,MAAc;IAC3E,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,CAAW,CAAC;IAChE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;IACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAClG,GAAG,CAAC,UAAU,CAAC;QACb,OAAO,EAAE,oBAAoB;QAC7B,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,CAAC,OAAgB,EAAE,KAAc,EAAE,EAAE;YAC7C,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,KAAK,CAAC;YACxD,IAAI,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjB,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,KAAa,EAAW,EAAE;QACzD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;YACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,GAAG,CAAC,CAAC;QACzF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAC9D,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,CAAC;YAChD,IACE,MAAM,CAAC,oBAAoB,CAAC,KAAK,IAAI;gBACrC,MAAM,CAAC,IAAI,KAAK,QAAQ;gBACxB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACtB,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC/E;gBAED,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YACxD,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC;QACjD,IAAI,MAAM,CAAC,KAAK;YACd,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7E,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC;QACnD,IAAI,MAAM,CAAC,eAAe,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;YACtE,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,oBAAoB,IAAI,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;YAChF,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC;QACvE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,KAAK;gBAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC,CAAC,IAAI,SAAS,CAAC;YACvF,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC3D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;oBACnC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,KAAM,EAAE,CAAC;wBACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC;wBAC1C,IACE,MAAM,CAAC,IAAI,KAAK,QAAQ;4BACxB,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC;4BAC/B,CAAC,QAAQ;4BACT,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC;4BACjC,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC;4BAC/D,QAAQ,CAAC,oBAAoB,CAAC;4BAC9B,MAAM,CAAC,KAAK;4BAEZ,OAAO,KAAK,CAAC;wBACf,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;wBAC/C,IAAI,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;4BAAE,OAAO,KAAK,CAAC;wBACxC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,GAAG;oBACN,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;gBACvF,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,GAAG,OAAO,IAAI,SAAS,CAAC;QACjC,CAAC;QACD,6FAA6F;QAC7F,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,oBAAoB,CAAC;YACpF,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACrF,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,kCAAkC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAExF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,KAAgB,EAAU,EAAE;QAC5D,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3F,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAM,CAAC,MAAM,CACnC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAW,CAAC,GAAG,CAAE,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,CAAC,CAC1D,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC1F,OAAO,QAAQ,CAAC,CAAC,CAAE,CAAC;IACtB,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,OAAgB,EAAE,EAAE,CAC7D,GAAG,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC;IACtE,MAAM,IAAI,GAAG,CACX,MAAc,EACd,KAA4B,EAC5B,IAAY,EACZ,IAAY,EACZ,KAAa,EACb,EAAE;QACF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACpC,IAAI,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,KAAK,KAAK,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACzE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,KAAK;gBAC/B,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QACD,IAAI,MAAM,CAAC,UAAU;YACnB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC;gBAC1D,IAAI,CACF,KAAK,EACL,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;oBACtF,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;oBACZ,CAAC,CAAC,SAAS,EACb,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EACvB,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EACvB,KAAK,GAAG,CAAC,CACV,CAAC;QACN,IACE,MAAM,CAAC,oBAAoB;YAC3B,OAAO,MAAM,CAAC,oBAAoB,KAAK,QAAQ;YAC/C,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAErB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE,GAAG,CAAC;oBAC9C,IAAI,CACF,MAAM,CAAC,oBAAoB,EAC3B,IAAI,EACJ,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EACvB,YAAY,CAAC,IAAI,EAAE,GAAG,CAAC,EACvB,KAAK,GAAG,CAAC,CACV,CAAC;QACR,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;oBAC/B,IAAI,CACF,IAAI,EACJ,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAC3C,GAAG,IAAI,IAAI,CAAC,GAAG,EACf,GAAG,IAAI,IAAI,CAAC,GAAG,EACf,KAAK,GAAG,CAAC,CACV,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC1B,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,GAAG,EAAE,CAAC;oBACR,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAM;wBAC9B,IAAI,CACF,MAAM,EACN,SAAS,EACT,IAAI,EACJ,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,UAAW,CAAC,GAAG,CAAE,CAAC,KAAK,CAAC,EACjD,KAAK,GAAG,CAAC,CACV,CAAC;gBACN,CAAC;;oBAAM,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;oBACtB,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;wBACzB,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAClD,IAAI,CACF,MAAM,EACN,KAAK,EACL,GAAG,IAAI,IAAI,CAAC,GAAG,EACf,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,UAAW,CAAC,GAAG,CAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,EACtE,KAAK,GAAG,CAAC,CACV,CAAC;oBACJ,CAAC,CAAC,CAAC;YACP,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ;QACrC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ContentRef } from "./content-ref.js";
2
+ export { ContentRefSchema, type TContentRef } from "./reference.js";
3
+ //# sourceMappingURL=typebox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typebox.d.ts","sourceRoot":"","sources":["../src/typebox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { ContentRef } from "./content-ref.js";
2
+ export { ContentRefSchema } from "./reference.js";
3
+ //# sourceMappingURL=typebox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typebox.js","sourceRoot":"","sources":["../src/typebox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,25 @@
1
+ export type JsonValue = null | boolean | number | string | JsonValue[] | {
2
+ [key: string]: JsonValue;
3
+ };
4
+ export interface PayloadLimits {
5
+ maxPaths: number;
6
+ maxPathLength: number;
7
+ maxDepth: number;
8
+ maxNodes: number;
9
+ maxBytes: number;
10
+ }
11
+ export declare const defaultPayloadLimits: Readonly<PayloadLimits>;
12
+ export declare class Budget {
13
+ readonly limits: PayloadLimits;
14
+ private nodes;
15
+ constructor(limits?: Partial<PayloadLimits>);
16
+ visit(depth?: number): void;
17
+ bytes(value: unknown): void;
18
+ }
19
+ export declare function propertyPath(path: string, key: string): string;
20
+ export declare function validUnicode(value: string): boolean;
21
+ /** Snapshot descriptors first: no getters, toJSON, prototype or shape-based reference revival. */
22
+ export declare function snapshot(input: unknown, budget: Budget, leaf?: (value: unknown, path: string) => {
23
+ value: unknown;
24
+ } | undefined, schema?: boolean): unknown;
25
+ //# sourceMappingURL=value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../src/value.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GACjB,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,GACN,SAAS,EAAE,GACX;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEjC,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,aAAa,CAMvD,CAAC;AAEH,qBAAa,MAAM;IACjB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAK;gBACN,MAAM,GAAE,OAAO,CAAC,aAAa,CAAM;IAM/C,KAAK,CAAC,KAAK,SAAI,GAAG,IAAI;IAItB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAI5B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,kGAAkG;AAClG,wBAAgB,QAAQ,CACtB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,EACvE,MAAM,UAAQ,GACb,OAAO,CA+DT"}
package/dist/value.js ADDED
@@ -0,0 +1,103 @@
1
+ export const defaultPayloadLimits = Object.freeze({
2
+ maxPaths: 1024,
3
+ maxPathLength: 4096,
4
+ maxDepth: 64,
5
+ maxNodes: 100_000,
6
+ maxBytes: 2 * 1024 * 1024,
7
+ });
8
+ export class Budget {
9
+ limits;
10
+ nodes = 0;
11
+ constructor(limits = {}) {
12
+ this.limits = { ...defaultPayloadLimits, ...limits };
13
+ for (const [key, limit] of Object.entries(this.limits))
14
+ if (!(key in defaultPayloadLimits) || !Number.isSafeInteger(limit) || limit <= 0)
15
+ throw new Error("Invalid payload limit.");
16
+ }
17
+ visit(depth = 0) {
18
+ if (++this.nodes > this.limits.maxNodes || depth > this.limits.maxDepth)
19
+ throw new Error("Payload structure/evaluation capacity exceeded.");
20
+ }
21
+ bytes(value) {
22
+ if (new TextEncoder().encode(JSON.stringify(value)).byteLength > this.limits.maxBytes)
23
+ throw new Error("Payload byte capacity exceeded.");
24
+ }
25
+ }
26
+ export function propertyPath(path, key) {
27
+ return `${path}[${JSON.stringify(key)}]`;
28
+ }
29
+ export function validUnicode(value) {
30
+ return !/[\uD800-\uDFFF]/u.test(value);
31
+ }
32
+ /** Snapshot descriptors first: no getters, toJSON, prototype or shape-based reference revival. */
33
+ export function snapshot(input, budget, leaf, schema = false) {
34
+ const ancestors = new Set();
35
+ function visit(input, path, depth) {
36
+ budget.visit(depth);
37
+ const replaced = leaf?.(input, path);
38
+ if (replaced)
39
+ return replaced.value;
40
+ if (input === null || typeof input === "boolean")
41
+ return input;
42
+ if (typeof input === "string") {
43
+ if (input.length > budget.limits.maxBytes || !validUnicode(input))
44
+ throw new Error("Invalid or oversized payload string.");
45
+ return input;
46
+ }
47
+ if (typeof input === "number" &&
48
+ Number.isFinite(input) &&
49
+ !Object.is(input, -0) &&
50
+ (!Number.isInteger(input) || Number.isSafeInteger(input)))
51
+ return input;
52
+ if (!input || typeof input !== "object")
53
+ throw new Error("Expected a finite JSON value.");
54
+ const array = Array.isArray(input);
55
+ if (Object.getPrototypeOf(input) !== (array ? Array.prototype : Object.prototype))
56
+ throw new Error("Custom payload prototypes are not accepted.");
57
+ if (ancestors.has(input))
58
+ throw new Error("Cyclic payloads are not accepted.");
59
+ ancestors.add(input);
60
+ const descriptors = Object.getOwnPropertyDescriptors(input);
61
+ const keys = Reflect.ownKeys(descriptors);
62
+ const result = {};
63
+ const items = [];
64
+ if (array && keys.length !== input.length + 1)
65
+ throw new Error("Sparse or decorated arrays are not accepted.");
66
+ for (const key of keys) {
67
+ if (schema && typeof key === "symbol") {
68
+ const box = String.fromCharCode(84, 121, 112, 101, 66, 111, 120);
69
+ if (key !== Symbol.for(`${box}.Kind`) &&
70
+ key !== Symbol.for(`${box}.Optional`) &&
71
+ key !== Symbol.for(`${box}.Readonly`))
72
+ throw new Error("Unsupported payload schema extension.");
73
+ continue;
74
+ }
75
+ if (typeof key !== "string" || !validUnicode(key))
76
+ throw new Error("Invalid payload key.");
77
+ const descriptor = descriptors[key];
78
+ if (!("value" in descriptor))
79
+ throw new Error("Payload accessors are not accepted.");
80
+ if (array && key === "length")
81
+ continue;
82
+ if (!descriptor.enumerable)
83
+ throw new Error("Hidden payload fields are not accepted.");
84
+ if (array) {
85
+ if (key !== String(items.length))
86
+ throw new Error("Invalid array index.");
87
+ items.push(visit(descriptor.value, `${path}[${key}]`, depth + 1));
88
+ }
89
+ else {
90
+ Object.defineProperty(result, key, {
91
+ value: visit(descriptor.value, propertyPath(path, key), depth + 1),
92
+ enumerable: true,
93
+ writable: true,
94
+ configurable: true,
95
+ });
96
+ }
97
+ }
98
+ ancestors.delete(input);
99
+ return array ? items : result;
100
+ }
101
+ return visit(input, "$", 0);
102
+ }
103
+ //# sourceMappingURL=value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../src/value.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,59 @@
1
1
  {
2
2
  "name": "@silvermoon-work/ipfs-payload",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.0-rc.0",
4
+ "description": "Typed content references and pure JSON/DAG-CBOR payload codecs.",
5
+ "type": "module",
6
+ "sideEffects": false,
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ },
14
+ "./typebox": {
15
+ "types": "./dist/typebox.d.ts",
16
+ "import": "./dist/typebox.js"
17
+ },
18
+ "./dag-cbor": {
19
+ "types": "./dist/dag-cbor.d.ts",
20
+ "import": "./dist/dag-cbor.js"
21
+ }
22
+ },
23
+ "files": [
24
+ "dist",
25
+ "README.md",
26
+ "LICENSE"
27
+ ],
28
+ "dependencies": {
29
+ "@ipld/dag-cbor": "10.0.2",
30
+ "@sinclair/typebox": "0.34.52",
31
+ "ajv": "8.20.0",
32
+ "cborg": "6.2.1",
33
+ "multiformats": "14.0.5"
34
+ },
35
+ "engines": {
36
+ "node": ">=22.13.0"
37
+ },
38
+ "publishConfig": {
39
+ "access": "public",
40
+ "registry": "https://registry.npmjs.org/"
41
+ },
42
+ "license": "MIT",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "git+https://github.com/silvermoon-work/task-engine.git",
46
+ "directory": "packages/ipfs-payload"
47
+ },
48
+ "homepage": "https://github.com/silvermoon-work/task-engine/tree/main/packages/ipfs-payload#readme",
49
+ "bugs": {
50
+ "url": "https://github.com/silvermoon-work/task-engine/issues"
51
+ },
52
+ "scripts": {
53
+ "build": "tsc -b",
54
+ "clean": "node -e \"for (const path of ['dist', '.cache']) require('node:fs').rmSync(path, { recursive: true, force: true })\"",
55
+ "lint": "biome lint .",
56
+ "test": "tsx --test \"test/*.test.ts\"",
57
+ "typecheck": "tsc -b --pretty false"
58
+ }
6
59
  }