@xyo-network/file-browser-plugin 7.0.1 → 7.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -37,7 +37,7 @@ export declare const asFilePayload: {
|
|
|
37
37
|
meta?: Record<string, string | number> | undefined;
|
|
38
38
|
modified?: number | undefined;
|
|
39
39
|
}) | undefined;
|
|
40
|
-
<T>(value: T, assert: import("@
|
|
40
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
41
41
|
schema: "network.xyo.file" & {
|
|
42
42
|
readonly __schema: true;
|
|
43
43
|
};
|
|
@@ -61,7 +61,7 @@ export declare const toFilePayload: {
|
|
|
61
61
|
meta?: Record<string, string | number> | undefined;
|
|
62
62
|
modified?: number | undefined;
|
|
63
63
|
}) | undefined;
|
|
64
|
-
<T>(value: T, assert: import("@
|
|
64
|
+
<T>(value: T, assert: import("@ariestools/sdk").ZodFactoryConfig): T & {
|
|
65
65
|
schema: "network.xyo.file" & {
|
|
66
66
|
readonly __schema: true;
|
|
67
67
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Promisable } from '@
|
|
1
|
+
import type { Promisable } from '@ariestools/sdk';
|
|
2
2
|
import type { AnyConfigSchema, Payload, Schema, WitnessModule, WitnessParams } from '@xyo-network/sdk';
|
|
3
3
|
import { AbstractWitness } from '@xyo-network/sdk';
|
|
4
4
|
import type { FileWitnessConfig } from './Config.ts';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,KAAK,EACV,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAC/D,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAIpD,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAGjF,8BAAsB,WAAW,CAAC,OAAO,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,eAAe,CAAC,OAAO,CAAE,YAAW,aAAa;IAChJ,gBAAyB,aAAa,EAAE,MAAM,EAAE,CAAoD;IACpG,gBAAyB,mBAAmB,EAAE,MAAM,CAA0B;cAE3D,cAAc,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;CAG/E"}
|
package/dist/browser/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/BrowserFileWitness.ts
|
|
2
|
-
import { assertEx } from "@
|
|
2
|
+
import { assertEx } from "@ariestools/sdk";
|
|
3
3
|
import { PayloadBuilder } from "@xyo-network/sdk";
|
|
4
4
|
|
|
5
5
|
// src/Config.ts
|
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
zodAsFactory,
|
|
74
74
|
zodIsFactory,
|
|
75
75
|
zodToFactory
|
|
76
|
-
} from "@
|
|
76
|
+
} from "@ariestools/sdk";
|
|
77
77
|
import { PayloadZodOfSchema } from "@xyo-network/sdk";
|
|
78
78
|
import * as z from "zod/mini";
|
|
79
79
|
var BinaryDataHashZod = z.string();
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/BrowserFileWitness.ts", "../../src/Config.ts", "../../src/Schema.ts", "../../src/util/GenerateDataUri.ts", "../../src/Witness.ts", "../../src/Payload.ts", "../../src/PluginBrowser.ts"],
|
|
4
|
-
"sourcesContent": ["import { assertEx } from '@
|
|
4
|
+
"sourcesContent": ["import { assertEx } from '@ariestools/sdk'\nimport type { Schema } from '@xyo-network/sdk'\nimport { PayloadBuilder } from '@xyo-network/sdk'\n\nimport { FileWitnessConfigSchema } from './Config.ts'\nimport type { BrowserFileWitnessAdditionalParams } from './Params.ts'\nimport type { FilePayload } from './Payload.ts'\nimport { FileSchema } from './Schema.ts'\nimport { generateDataUri } from './util/index.ts'\nimport type { FileWitnessParams } from './Witness.ts'\nimport { FileWitness } from './Witness.ts'\n\ntype BrowserFileWitnessParams = FileWitnessParams & BrowserFileWitnessAdditionalParams\n\nexport class BrowserFileWitness extends FileWitness<BrowserFileWitnessParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override async observeHandler() {\n try {\n const [payload] = await this.witnessBrowserFile()\n const { logger } = this.params\n logger?.log(`BrowserFileWitness: ${await PayloadBuilder.dataHash(payload)}`)\n return [payload]\n } catch (e) {\n throw new Error(`Error reading file: ${String(e)}`, { cause: e })\n }\n }\n\n private async readBinaryFile(file: File): Promise<Uint8Array> {\n const arrayBuffer = await file.arrayBuffer()\n return new Uint8Array(arrayBuffer)\n }\n\n private async witnessBrowserFile(): Promise<[FilePayload, Uint8Array]> {\n const file = assertEx(this.params.file, () => 'File is missing from params')\n const fileBinary = await this.readBinaryFile(file)\n const result = new Uint8Array(fileBinary)\n const hashBuffer = await globalThis.crypto.subtle.digest('SHA-256', result)\n\n // Convert ArrayBuffer to hex string\n const hashArray = [...new Uint8Array(hashBuffer)]\n const hash = hashArray.map(b => b.toString(16).padStart(2, '0')).join('')\n\n return [\n {\n hash,\n length: fileBinary.byteLength,\n meta: {\n name: file.name,\n type: file.type,\n },\n modified: file.lastModified,\n schema: FileSchema,\n uri: this.config.storage === 'data-uri' ? generateDataUri(fileBinary) : file.name,\n },\n fileBinary,\n ]\n }\n}\n", "import type { WitnessConfig } from '@xyo-network/sdk'\nimport { asSchema } from '@xyo-network/sdk'\n\nexport type FileWitnessConfigSchema = typeof FileWitnessConfigSchema\nexport const FileWitnessConfigSchema = asSchema('network.xyo.file.witness.config', true)\n\nexport type FileWitnessConfig = WitnessConfig<{\n schema: FileWitnessConfigSchema\n storage?: 'data-uri'\n}>\n", "import { asSchema } from '@xyo-network/sdk'\n\nexport type FileSchema = typeof FileSchema\nexport const FileSchema = asSchema('network.xyo.file', true)\n", "import { base64 } from '@scure/base'\n\nexport const generateDataUri = (data: Uint8Array): string => {\n return `data:application/octet-stream;base64,${base64.encode(data)}`\n}\n", "import type { Promisable } from '@ariestools/sdk'\nimport type {\n AnyConfigSchema, Payload, Schema, WitnessModule, WitnessParams,\n} from '@xyo-network/sdk'\nimport { AbstractWitness } from '@xyo-network/sdk'\n\nimport type { FileWitnessConfig } from './Config.ts'\nimport { FileWitnessConfigSchema } from './Config.ts'\nimport { FileSchema } from './Schema.ts'\n\nexport type FileWitnessParams = WitnessParams<AnyConfigSchema<FileWitnessConfig>>\n\n// Abstract so that derived classes provide a type for the file param and methods to parse it\nexport abstract class FileWitness<TParams extends FileWitnessParams = FileWitnessParams> extends AbstractWitness<TParams> implements WitnessModule {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, FileWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = FileWitnessConfigSchema\n\n protected override observeHandler(payloads?: Payload[]): Promisable<Payload[]> {\n return [{ ...payloads?.[0], schema: FileSchema }]\n }\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { PayloadZodOfSchema } from '@xyo-network/sdk'\nimport * as z from 'zod/mini'\n\nimport { FileSchema } from './Schema.ts'\n\nexport const BinaryDataHashZod = z.string()\n\nexport type BinaryDataHash = z.infer<typeof BinaryDataHashZod>\n\n/** @description File location and optional data */\nexport const FilePayloadZod = z.extend(PayloadZodOfSchema(FileSchema), {\n created: z.optional(z.number()),\n hash: BinaryDataHashZod,\n length: z.number(),\n /** @field Storage specific meta data */\n meta: z.optional(z.record(z.string(), z.union([z.string(), z.number()]))),\n modified: z.optional(z.number()),\n uri: z.string(),\n})\n\nexport type FilePayload = z.infer<typeof FilePayloadZod>\n\nexport const isFilePayload = zodIsFactory(FilePayloadZod)\nexport const asFilePayload = zodAsFactory(FilePayloadZod, 'asFilePayload')\nexport const toFilePayload = zodToFactory(FilePayloadZod, 'toFilePayload')\n", "import { createPayloadSetWitnessPlugin, PayloadSetSchema } from '@xyo-network/sdk'\n\nimport { BrowserFileWitness } from './BrowserFileWitness.ts'\nimport { FileSchema } from './Schema.ts'\n\nexport const BrowserFilePlugin = () =>\n createPayloadSetWitnessPlugin<BrowserFileWitness>(\n { required: { [FileSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await BrowserFileWitness.create(params)\n return result\n },\n },\n )\n"],
|
|
5
5
|
"mappings": "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",
|
|
6
6
|
"names": ["asSchema"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xyo-network/file-browser-plugin",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.2",
|
|
4
4
|
"description": "Typescript/Javascript Plugins for XYO Platform",
|
|
5
5
|
"homepage": "https://xyo.network",
|
|
6
6
|
"bugs": {
|
|
@@ -31,19 +31,20 @@
|
|
|
31
31
|
"README.md"
|
|
32
32
|
],
|
|
33
33
|
"devDependencies": {
|
|
34
|
+
"@ariestools/sdk": "^7.0.5",
|
|
34
35
|
"@bitauth/libauth": "~3.0.0",
|
|
35
36
|
"@noble/post-quantum": "~0.6.1",
|
|
36
37
|
"@opentelemetry/api": "^1.9.1",
|
|
37
38
|
"@opentelemetry/sdk-trace-base": "^2.8.0",
|
|
38
39
|
"@scure/base": "^2.2.0",
|
|
39
40
|
"@scure/bip39": "~2.2.0",
|
|
40
|
-
"@xylabs/geo": "^7.0.
|
|
41
|
-
"@xylabs/
|
|
42
|
-
"@xylabs/
|
|
43
|
-
"@xylabs/
|
|
44
|
-
"@xylabs/
|
|
45
|
-
"@
|
|
46
|
-
"@xyo-network/sdk": "
|
|
41
|
+
"@xylabs/geo": "^7.0.5",
|
|
42
|
+
"@xylabs/threads": "^7.0.5",
|
|
43
|
+
"@xylabs/toolchain": "~8.5.15",
|
|
44
|
+
"@xylabs/tsconfig": "~8.5.15",
|
|
45
|
+
"@xylabs/vitest-extended": "^7.0.5",
|
|
46
|
+
"@xyo-network/sdk": "~7.0.5",
|
|
47
|
+
"@xyo-network/sdk-protocol": "^7.0.8",
|
|
47
48
|
"ajv": "^8.20.0",
|
|
48
49
|
"async-mutex": "^0.5.0",
|
|
49
50
|
"browserslist": "4.28.4",
|
|
@@ -56,11 +57,12 @@
|
|
|
56
57
|
"lru-cache": "^11.5.1",
|
|
57
58
|
"observable-fns": "~0.6.1",
|
|
58
59
|
"typescript": "~6.0.3",
|
|
59
|
-
"vite": "^8.1.
|
|
60
|
+
"vite": "^8.1.2",
|
|
60
61
|
"vitest": "^4.1.9",
|
|
61
62
|
"zod": "^4.4.3"
|
|
62
63
|
},
|
|
63
64
|
"peerDependencies": {
|
|
65
|
+
"@ariestools/sdk": "^7.0",
|
|
64
66
|
"@bitauth/libauth": "~3.0",
|
|
65
67
|
"@noble/post-quantum": "~0.6.1",
|
|
66
68
|
"@opentelemetry/api": "^1.9",
|
|
@@ -68,9 +70,9 @@
|
|
|
68
70
|
"@scure/base": "^2.2",
|
|
69
71
|
"@scure/bip39": "~2.2",
|
|
70
72
|
"@xylabs/geo": "^7.0",
|
|
71
|
-
"@xylabs/sdk": "^7.0",
|
|
72
73
|
"@xylabs/threads": "^7.0",
|
|
73
74
|
"@xyo-network/sdk": "~7.0",
|
|
75
|
+
"@xyo-network/sdk-protocol": "^7.0",
|
|
74
76
|
"ajv": "^8.20",
|
|
75
77
|
"async-mutex": "^0.5",
|
|
76
78
|
"debug": "~4.4",
|