@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.
- package/LICENSE +21 -0
- package/README.md +102 -2
- package/dist/content-ref.d.ts +9 -0
- package/dist/content-ref.d.ts.map +1 -0
- package/dist/content-ref.js +19 -0
- package/dist/content-ref.js.map +1 -0
- package/dist/contract.d.ts +9 -0
- package/dist/contract.d.ts.map +1 -0
- package/dist/contract.js +280 -0
- package/dist/contract.js.map +1 -0
- package/dist/dag-cbor.d.ts +7 -0
- package/dist/dag-cbor.d.ts.map +1 -0
- package/dist/dag-cbor.js +36 -0
- package/dist/dag-cbor.js.map +1 -0
- package/dist/index.d.ts +63 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +192 -0
- package/dist/index.js.map +1 -0
- package/dist/paths.d.ts +20 -0
- package/dist/paths.d.ts.map +1 -0
- package/dist/paths.js +161 -0
- package/dist/paths.js.map +1 -0
- package/dist/reference.d.ts +15 -0
- package/dist/reference.d.ts.map +1 -0
- package/dist/reference.js +14 -0
- package/dist/reference.js.map +1 -0
- package/dist/schema.d.ts +6 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +196 -0
- package/dist/schema.js.map +1 -0
- package/dist/typebox.d.ts +3 -0
- package/dist/typebox.d.ts.map +1 -0
- package/dist/typebox.js +3 -0
- package/dist/typebox.js.map +1 -0
- package/dist/value.d.ts +25 -0
- package/dist/value.d.ts.map +1 -0
- package/dist/value.js +103 -0
- package/dist/value.js.map +1 -0
- package/package.json +56 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -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"}
|
package/dist/typebox.js
ADDED
|
@@ -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"}
|
package/dist/value.d.ts
ADDED
|
@@ -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
|
|
4
|
-
"
|
|
5
|
-
"
|
|
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
|
}
|