diff --git a/.vscode/launch.json b/.vscode/launch.json index f558cbaee..5e030b241 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,111 +1,24 @@ { "version": "0.2.0", "configurations": [ - { + "name": "Test", "type": "node", + "program": "${workspaceFolder}/node_modules/vitest/vitest.mjs", "request": "launch", - "name": "MemoryNode", - "program": "${workspaceFolder}/packages/node/packages/core/packages/app/src/app.ts", - "outFiles": [ - "${workspaceFolder}/dist/**/*.js" - ], - "env": { - "NODE_OPTIONS": "-r ts-node/register --loader ts-node/esm --max-old-space-size=8192" - }, - "envFile": "${workspaceFolder}/.env", - "sourceMaps": true, - "resolveSourceMapLocations": [ - "!**/node_modules/**" - ], - "pauseForSourceMap": true, - }, - { - "type": "node", - "request": "launch", - "name": "MemoryNode (Yarn)", - "runtimeExecutable": "yarn", - "runtimeArgs": [ - "start" - ], - "outFiles": [ - "${workspaceFolder}/dist/**/*.js" - ], - "envFile": "${workspaceFolder}/.env", - "sourceMaps": true, - "resolveSourceMapLocations": [ - "!**/node_modules/**" - ], - "pauseForSourceMap": true, - }, - { - "type": "node", - "request": "launch", - "name": "CLI", - "program": "${workspaceFolder}/packages/cli/src/xyo.ts", - "outFiles": [ - "${workspaceFolder}/dist/**/*.js" - ], - "runtimeArgs": [ - "--max-old-space-size=8192", - "--experimental-specifier-resolution=node", - "--loader=ts-node/esm" - ], "args": [ - "--network", - "local", - "node", - "discover", - ], - "envFile": "${workspaceFolder}/.env", - "sourceMaps": true, - "resolveSourceMapLocations": [ - "!**/node_modules/**" - ], - "pauseForSourceMap": true, - }, - { - "type": "node", - "request": "launch", - "name": "AutomationWitness", - "program": "${workspaceFolder}/packages/automation-witness-server/src/launchServer.ts", - "outFiles": [ - "${workspaceFolder}/dist/**/*.js" - ], - "runtimeArgs": [ - // "--inspect", - "--max-old-space-size=8192", - "--experimental-specifier-resolution=node", - "--loader=ts-node/esm" - ], - "envFile": "${workspaceFolder}/.env", - "sourceMaps": true, - "resolveSourceMapLocations": [ - "!**/node_modules/**" - ], - "pauseForSourceMap": true, - }, - { - "name": "Jest", - "type": "node", - "request": "launch", - "osx": { - "program": "${workspaceRoot}/node_modules/.bin/jest" - }, - "windows": { - "program": "${workspaceRoot}/node_modules/jest/bin/jest.js" - }, - "args": [ - "--forceExit", - "--runInBand", - "--testTimeout=120000", - "packages/payloadset/packages/xml/src/Diviner/spec/Diviner.spec.ts" + "--run", + "--poolOptions.threads.singleThread", // Run in single thread for linear debugging + "packages/payloadset/packages/html/src/Diviner/spec/Diviner.spec.ts", ], + "autoAttachChildProcesses": true, // Attach to any child processes created by the test runner "console": "integratedTerminal", - "internalConsoleOptions": "neverOpen", "cwd": "${workspaceFolder}", - "envFile": "${workspaceFolder}/.env", + "internalConsoleOptions": "neverOpen", "sourceMaps": true, + "skipFiles": [ + "/**" + ], "resolveSourceMapLocations": [ "${workspaceFolder}/**", "**/node_modules/**" diff --git a/packages/payloadset/packages/html/.depcheckrc b/packages/payloadset/packages/html/.depcheckrc new file mode 100644 index 000000000..2a2d5d522 --- /dev/null +++ b/packages/payloadset/packages/html/.depcheckrc @@ -0,0 +1,5 @@ +ignores: + [ + "@xylabs/jest-helpers", + "jest" + ] diff --git a/packages/payloadset/packages/html/.npmignore b/packages/payloadset/packages/html/.npmignore new file mode 100644 index 000000000..322becbb1 --- /dev/null +++ b/packages/payloadset/packages/html/.npmignore @@ -0,0 +1,23 @@ +.* +.env +.eslintcache +.example.env +tsconfig* +jest.config.js +rollup.config.ts +yarn.lock +**/*.spec.ts +**/*.snap + +.github +docs +.pnp.* +.vscode +.yarn/* +coverage +cspell.json +node_modules +swagger.json +packages + +**/testData.json \ No newline at end of file diff --git a/packages/payloadset/packages/html/LICENSE b/packages/payloadset/packages/html/LICENSE new file mode 100644 index 000000000..0a041280b --- /dev/null +++ b/packages/payloadset/packages/html/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/packages/payloadset/packages/html/README.md b/packages/payloadset/packages/html/README.md new file mode 100644 index 000000000..04d7c668c --- /dev/null +++ b/packages/payloadset/packages/html/README.md @@ -0,0 +1,13 @@ +[![logo][]](https://xyo.network) + +Part of [sdk-xyo-client-js](https://www.npmjs.com/package/@xyo-network/sdk-xyo-client-js) + +## License + +> See the [LICENSE](LICENSE) file for license details + +## Credits + +[Made with 🔥 and ❄️ by XYO](https://xyo.network) + +[logo]: https://cdn.xy.company/img/brand/XYO_full_colored.png \ No newline at end of file diff --git a/packages/payloadset/packages/html/package.json b/packages/payloadset/packages/html/package.json new file mode 100644 index 000000000..53c858ccd --- /dev/null +++ b/packages/payloadset/packages/html/package.json @@ -0,0 +1,54 @@ +{ + "name": "@xyo-network/html-plugin", + "author": { + "email": "support@xyo.network", + "name": "XYO Development Team", + "url": "https://xyo.network" + }, + "bugs": { + "email": "support@xyo.network", + "url": "https://github.com/XYOracleNetwork/plugins/issues" + }, + "dependencies": { + "@xylabs/exists": "^4.0.1", + "@xylabs/object": "^4.0.1", + "@xyo-network/diviner-abstract": "^3.0.2", + "@xyo-network/diviner-model": "^3.0.2", + "@xyo-network/module-model": "^3.0.2", + "@xyo-network/payload-model": "^3.0.2", + "cheerio": "^1.0.0", + "xml2js": "^0.6.2" + }, + "devDependencies": { + "@types/xml2js": "^0.4.14", + "@xylabs/assert": "^4.0.1", + "@xylabs/jest-helpers": "^4.0.1", + "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.15", + "@xylabs/tsconfig": "^4.0.0-rc.15", + "@xyo-network/api-call-witness": "workspace:^", + "jest": "^29.7.0", + "typescript": "^5.5.4" + }, + "description": "Typescript/Javascript Plugins for XYO Platform", + "exports": { + ".": { + "types": "./dist/neutral/index.d.ts", + "default": "./dist/neutral/index.mjs" + }, + "./package.json": "./package.json" + }, + "module": "dist/neutral/index.mjs", + "types": "dist/neutral/index.d.ts", + "homepage": "https://xyo.network", + "license": "LGPL-3.0-only", + "publishConfig": { + "access": "public" + }, + "repository": { + "type": "git", + "url": "https://github.com/XYOracleNetwork/plugins.git" + }, + "sideEffects": false, + "version": "3.0.2", + "type": "module" +} diff --git a/packages/payloadset/packages/html/src/Diviner/Config.ts b/packages/payloadset/packages/html/src/Diviner/Config.ts new file mode 100644 index 000000000..b1d2bf8b1 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/Config.ts @@ -0,0 +1,17 @@ +import { DivinerConfig } from '@xyo-network/diviner-model' + +import { HtmlQuerySelectorDivinerConfigSchema } from './Schema.ts' + +export type HtmlQuerySelectorDivinerConfig = DivinerConfig< + { + /** + * A string containing one or more selectors to match. + */ + querySelector?: string + /** + * A string containing one or more selectors to match. + */ + querySelectorAll?: string + }, + HtmlQuerySelectorDivinerConfigSchema +> diff --git a/packages/payloadset/packages/html/src/Diviner/Diviner.ts b/packages/payloadset/packages/html/src/Diviner/Diviner.ts new file mode 100644 index 000000000..f39b52052 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/Diviner.ts @@ -0,0 +1,42 @@ +import { assertEx } from '@xylabs/assert' +import { exists } from '@xylabs/exists' +import { AbstractDiviner } from '@xyo-network/diviner-abstract' +import { DivinerInstance, DivinerModuleEventData } from '@xyo-network/diviner-model' +import { creatableModule } from '@xyo-network/module-model' +import { Payload, Schema } from '@xyo-network/payload-model' + +import { Html } from '../Payload.ts' +import { HtmlSchema } from '../Schema.ts' +import { hasStringDataField, querySelector, StringDataField } from './lib/index.ts' +import { HtmlQuerySelectorDivinerParams } from './Params.ts' +import { HtmlQuerySelectorDivinerConfigSchema } from './Schema.ts' + +@creatableModule() +export class HtmlQuerySelectorDiviner< + TParams extends HtmlQuerySelectorDivinerParams = HtmlQuerySelectorDivinerParams, + TIn extends Payload = Payload, + TOut extends Html = Html, + TEventData extends DivinerModuleEventData, TIn, TOut> = DivinerModuleEventData< + DivinerInstance, + TIn, + TOut + >, +> extends AbstractDiviner { + static override readonly configSchemas: Schema[] = [...super.configSchemas, HtmlQuerySelectorDivinerConfigSchema] + static override readonly defaultConfigSchema: Schema = HtmlQuerySelectorDivinerConfigSchema + static override targetSchema = HtmlSchema + private _querySelector: string | undefined + + protected get querySelector() { + if (this._querySelector) return this._querySelector + this._querySelector = assertEx(this.config.querySelectorAll || this.config.querySelector, () => 'No querySelector or querySelectorAll provided in config') + return this._querySelector + } + + protected override divineHandler(payloads: TIn[] = []) { + return payloads.filter(hasStringDataField) + .map(p => querySelector(p.data, this.querySelector)) + .filter(exists) + .map((html) => { return { html, schema: HtmlSchema } }) as TOut[] + } +} diff --git a/packages/payloadset/packages/html/src/Diviner/Params.ts b/packages/payloadset/packages/html/src/Diviner/Params.ts new file mode 100644 index 000000000..bc41c84ea --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/Params.ts @@ -0,0 +1,7 @@ +import { DivinerParams } from '@xyo-network/diviner-model' +import { AnyConfigSchema } from '@xyo-network/module-model' + +import { HtmlQuerySelectorDivinerConfig } from './Config.ts' + +export type HtmlQuerySelectorDivinerParams = AnyConfigSchema> = + DivinerParams diff --git a/packages/payloadset/packages/html/src/Diviner/Schema.ts b/packages/payloadset/packages/html/src/Diviner/Schema.ts new file mode 100644 index 000000000..0aedd2336 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/Schema.ts @@ -0,0 +1,2 @@ +export const HtmlQuerySelectorDivinerConfigSchema = 'network.xyo.diviner.html.config' as const +export type HtmlQuerySelectorDivinerConfigSchema = typeof HtmlQuerySelectorDivinerConfigSchema diff --git a/packages/payloadset/packages/html/src/Diviner/index.ts b/packages/payloadset/packages/html/src/Diviner/index.ts new file mode 100644 index 000000000..2101cc26f --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/index.ts @@ -0,0 +1,2 @@ +export * from './Config.ts' +export * from './Diviner.ts' diff --git a/packages/payloadset/packages/html/src/Diviner/lib/StringDataField.ts b/packages/payloadset/packages/html/src/Diviner/lib/StringDataField.ts new file mode 100644 index 000000000..b4bc36610 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/lib/StringDataField.ts @@ -0,0 +1,18 @@ +/** + * Interface representing an object with a string data field + */ +export interface StringDataField { + /** + * The string data + */ + data: string +} + +/** + * Identity for StringDataField + * @param obj The input object + * @returns True if the object is a StringDataField, false otherwise + */ +export const hasStringDataField = (obj?: unknown): obj is StringDataField => { + return typeof obj === 'object' && obj !== null && 'data' in obj && typeof (obj as StringDataField)?.data === 'string' +} diff --git a/packages/payloadset/packages/html/src/Diviner/lib/index.ts b/packages/payloadset/packages/html/src/Diviner/lib/index.ts new file mode 100644 index 000000000..a4f5b5709 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/lib/index.ts @@ -0,0 +1,3 @@ +export * from './querySelector.ts' +export * from './querySelectorAll.ts' +export * from './StringDataField.ts' diff --git a/packages/payloadset/packages/html/src/Diviner/lib/querySelector.ts b/packages/payloadset/packages/html/src/Diviner/lib/querySelector.ts new file mode 100644 index 000000000..4b921dae4 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/lib/querySelector.ts @@ -0,0 +1,22 @@ +import { load } from 'cheerio' + +const opts = {} +// const opts = { decodeEntities: false } + +/** + * Queries the html string and returns the first element that matches + * the specified set of CSS selectors. + * @param html The string of HTML to search + * @param selector The CSS selector to search for + * @returns An string representing the first element in the document + * that matches the specified set of CSS selectors, or null is + * returned if there are no matches. + */ +export const querySelector = (html: string, selector: string): string | null => { + // Check if the input string is empty or null + if (!html.trim()) return null + // Parse the HTML + const dom = load(html, opts) + const element = dom(selector) + return element.first()?.toString() || null +} diff --git a/packages/payloadset/packages/html/src/Diviner/lib/querySelectorAll.ts b/packages/payloadset/packages/html/src/Diviner/lib/querySelectorAll.ts new file mode 100644 index 000000000..47d8e93c3 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/lib/querySelectorAll.ts @@ -0,0 +1,26 @@ +import { load } from 'cheerio' + +const opts = {} +// const opts = { decodeEntities: false } + +/** + * Queries the html string and returns all elements that match + * the specified set of CSS selectors. + * @param html The string of HTML to search + * @param selector The CSS selector to search for + * @returns An array of strings representing the elements in the + * document that match the specified set of CSS selectors, or null is + * returned if there are no matches. + */ +export const querySelectorAll = (html: string, selectors: string): string[] => { + const results: string[] = [] + // Check if the input string is empty or null + if (!html.trim()) return results + // Parse the HTML + const dom = load(html, opts) + const elements = dom(selectors) as unknown as ReturnType[] + for (const element of elements) { + results.push(dom(element).toString()) + } + return results +} diff --git a/packages/payloadset/packages/html/src/Diviner/lib/spec/__snapshots__/querySelector.spec.ts.snap b/packages/payloadset/packages/html/src/Diviner/lib/spec/__snapshots__/querySelector.spec.ts.snap new file mode 100644 index 000000000..ba74483d6 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/lib/spec/__snapshots__/querySelector.spec.ts.snap @@ -0,0 +1,32 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`querySelector > returns the first matching element from the supplied HTML > should find element by attribute 1`] = `""`; + +exports[`querySelector > returns the first matching element from the supplied HTML > should find element by attribute starts with 1`] = `"Click Here"`; + +exports[`querySelector > returns the first matching element from the supplied HTML > should find element by attribute with specific value 1`] = `"Test Image"`; + +exports[`querySelector > returns the first matching element from the supplied HTML > should find element by class and tag name combination 1`] = `"

Hello, World!

"`; + +exports[`querySelector > returns the first matching element from the supplied HTML > should find element by class name 1`] = `"

This is a test paragraph.

"`; + +exports[`querySelector > returns the first matching element from the supplied HTML > should find element by id 1`] = ` +"
+

Hello, World!

+

This is a test paragraph.

+ Click Here +
    +
  • Item 1
  • +
  • Item 2
  • +
  • Item 3
  • +
+ + Test Image +
" +`; + +exports[`querySelector > returns the first matching element from the supplied HTML > should find element by tag name 1`] = `"

Hello, World!

"`; + +exports[`querySelector > returns the first matching element from the supplied HTML > should find element by tag name inside another element 1`] = `"

Hello, World!

"`; + +exports[`querySelector > returns the first matching element from the supplied HTML > should find single elements by class name 1`] = `"
  • Item 1
  • "`; diff --git a/packages/payloadset/packages/html/src/Diviner/lib/spec/querySelector.spec.ts b/packages/payloadset/packages/html/src/Diviner/lib/spec/querySelector.spec.ts new file mode 100644 index 000000000..bf11e1fda --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/lib/spec/querySelector.spec.ts @@ -0,0 +1,64 @@ +import { describe, expect, it } from 'vitest' + +import { querySelector } from '../querySelector.ts' + +describe('querySelector', () => { + const html = ` +
    +

    Hello, World!

    +

    This is a test paragraph.

    + Click Here +
      +
    • Item 1
    • +
    • Item 2
    • +
    • Item 3
    • +
    + + Test Image +
    +` + describe('returns the first matching element from the supplied HTML', () => { + const cases = [ + ['should find element by tag name', 'h1'], + ['should find element by class name', '.description'], + ['should find element by id', '#main'], + ['should find single elements by class name', '.item'], + ['should find element by attribute', 'input[name="username"]'], + ['should find element by attribute with specific value', 'img[src="image.png"]'], + ['should find element by attribute starts with', 'a[href^="/"]'], + ['should find element by class and tag name combination', 'h1.title'], + ['should find element by tag name inside another element', '#main h1'], + ] + it.each(cases)('%s', (_, selector) => { + const result = querySelector(html, selector) + expect(result).not.toBeNull() + expect(result).not.toBeEmpty() + expect(result).toMatchSnapshot() + }) + it('should return first matching element when multiple elements match', () => { + const selector = '.item' + const result = querySelector(html, selector) + expect(result).not.toBeNull() + expect(result).not.toBeEmpty() + expect(result).toBe('
  • Item 1
  • ') + }) + }) + describe('returns null', () => { + it('with empty selector', () => { + const result = querySelector('

    Test

    ', '') + expect(result).toBeNull() + }) + it('with empty html', () => { + const result = querySelector('', '*') + expect(result).toBeNull() + }) + it('with empty selector and empty html', () => { + const result = querySelector('', '') + expect(result).toBeNull() + }) + it('with no matching data', () => { + const result = querySelector('

    Test

    ', 'h1') + expect(result).toBeNull() + }) + }) +}) diff --git a/packages/payloadset/packages/html/src/Diviner/lib/spec/querySelectorAll.spec.ts b/packages/payloadset/packages/html/src/Diviner/lib/spec/querySelectorAll.spec.ts new file mode 100644 index 000000000..357241c9f --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/lib/spec/querySelectorAll.spec.ts @@ -0,0 +1,51 @@ +import { describe, expect, it } from 'vitest' + +import { querySelectorAll } from '../querySelectorAll.ts' + +describe('querySelectorAll', () => { + const html = ` +
    +

    Hello, World!

    +

    This is a test paragraph.

    + Click Here +
      +
    • Item 1
    • +
    • Item 2
    • +
    • Item 3
    • +
    + + Test Image +
    +` + describe('returns the first matching element from the supplied HTML', () => { + it('should return first matching element when multiple elements match', () => { + const selector = '.item' + const result = querySelectorAll(html, selector) + expect(result).not.toBeNull() + expect(result.length).toBe(3) + expect(result).toEqual([ + '
  • Item 1
  • ', + '
  • Item 2
  • ', + '
  • Item 3
  • ', + ]) + }) + }) + describe('returns empty array', () => { + it('with empty selector', () => { + const result = querySelectorAll('

    Test

    ', '') + expect(result).toEqual([]) + }) + it('with empty html', () => { + const result = querySelectorAll('', '*') + expect(result).toEqual([]) + }) + it('with empty selector and empty html', () => { + const result = querySelectorAll('', '') + expect(result).toEqual([]) + }) + it('with no matching data', () => { + const result = querySelectorAll('

    Test

    ', 'h1') + expect(result).toEqual([]) + }) + }) +}) diff --git a/packages/payloadset/packages/html/src/Diviner/lib/spec/tsconfig.json b/packages/payloadset/packages/html/src/Diviner/lib/spec/tsconfig.json new file mode 100644 index 000000000..e055e22d3 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/lib/spec/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "moduleResolution": "NodeNext", + "module": "NodeNext", + "sourceMap": true, + "inlineSources": true + }, + "extends": "@xylabs/tsconfig-jest" +} \ No newline at end of file diff --git a/packages/payloadset/packages/html/src/Diviner/spec/Diviner.spec.ts b/packages/payloadset/packages/html/src/Diviner/spec/Diviner.spec.ts new file mode 100644 index 000000000..073041781 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/spec/Diviner.spec.ts @@ -0,0 +1,38 @@ +import { assertEx } from '@xylabs/assert' +import { ApiCallResultSchema, ApiCallSchema, ApiCallWitness, ApiCallWitnessConfigSchema, isApiCallXmlResult } from '@xyo-network/api-call-witness' + +import { isHtmlWithMeta } from '../../Payload.ts' +import { HtmlSchema } from '../../Schema.ts' +import { HtmlQuerySelectorDiviner } from '../Diviner.ts' +import { HtmlQuerySelectorDivinerConfigSchema } from '../Schema.ts' + +describe('HtmlParsingDiviner', () => { + const uri = 'https://medium.com/feed/xyonetwork' + describe('observe', () => { + it('parses XML from API response', async () => { + const witness = await ApiCallWitness.create({ + account: 'random', + config: { accept: 'text/html', schema: ApiCallWitnessConfigSchema }, + }) + const diviner = await HtmlQuerySelectorDiviner.create({ + account: 'random', + config: { schema: HtmlQuerySelectorDivinerConfigSchema, querySelector: 'titlebody > title' }, + }) + const observations = await witness.observe([{ schema: ApiCallSchema, uri }]) + expect(observations).toBeArrayOfSize(1) + // TODO: Add HTML result identity function + const observation = observations.find(isApiCallXmlResult) + expect(observation).toBeDefined() + expect(observation).toBeObject() + expect(observation?.schema).toBe(ApiCallResultSchema) + const html = assertEx(observation, () => 'Error in observation') + const results = await diviner.divine([html]) + expect(results).toBeArrayOfSize(1) + const result = results.find(isHtmlWithMeta) + expect(result).toBeDefined() + expect(result?.schema).toBe(HtmlSchema) + expect(result?.html).toBeDefined() + expect(result?.html).toBeObject() + }) + }) +}) diff --git a/packages/payloadset/packages/html/src/Diviner/spec/tsconfig.json b/packages/payloadset/packages/html/src/Diviner/spec/tsconfig.json new file mode 100644 index 000000000..e055e22d3 --- /dev/null +++ b/packages/payloadset/packages/html/src/Diviner/spec/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "moduleResolution": "NodeNext", + "module": "NodeNext", + "sourceMap": true, + "inlineSources": true + }, + "extends": "@xylabs/tsconfig-jest" +} \ No newline at end of file diff --git a/packages/payloadset/packages/html/src/Payload.ts b/packages/payloadset/packages/html/src/Payload.ts new file mode 100644 index 000000000..dc1f6f9fa --- /dev/null +++ b/packages/payloadset/packages/html/src/Payload.ts @@ -0,0 +1,30 @@ +import { isPayloadOfSchemaType, isPayloadOfSchemaTypeWithMeta, isPayloadOfSchemaTypeWithSources, Payload } from '@xyo-network/payload-model' + +import { HtmlSchema } from './Schema.ts' + +/** + * The fields of an Html Payload + */ +export interface HtmlFields { + html: string +} + +/** + * An Html Payload + */ +export type Html = Payload + +/** + * Identity function for determine if an object is an Html Payload + */ +export const isHtml = isPayloadOfSchemaType(HtmlSchema) + +/** + * Identity function for determine if an object is an Html Payload with sources + */ +export const isHtmlWithSources = isPayloadOfSchemaTypeWithSources(HtmlSchema) + +/** + * Identity function for determine if an object is an Html Payload with meta + */ +export const isHtmlWithMeta = isPayloadOfSchemaTypeWithMeta(HtmlSchema) diff --git a/packages/payloadset/packages/html/src/Schema.ts b/packages/payloadset/packages/html/src/Schema.ts new file mode 100644 index 000000000..d0d025ae9 --- /dev/null +++ b/packages/payloadset/packages/html/src/Schema.ts @@ -0,0 +1,2 @@ +export const HtmlSchema = 'network.xyo.html' +export type HtmlSchema = typeof HtmlSchema diff --git a/packages/payloadset/packages/html/src/index.ts b/packages/payloadset/packages/html/src/index.ts new file mode 100644 index 000000000..e1229745e --- /dev/null +++ b/packages/payloadset/packages/html/src/index.ts @@ -0,0 +1,3 @@ +export * from './Diviner/index.ts' +export * from './Payload.ts' +export * from './Schema.ts' diff --git a/packages/payloadset/packages/html/tsconfig.json b/packages/payloadset/packages/html/tsconfig.json new file mode 100644 index 000000000..2acc1cf58 --- /dev/null +++ b/packages/payloadset/packages/html/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "@xylabs/tsconfig" +} + diff --git a/packages/payloadset/packages/html/tsconfig.typedoc.json b/packages/payloadset/packages/html/tsconfig.typedoc.json new file mode 100644 index 000000000..0919ecb67 --- /dev/null +++ b/packages/payloadset/packages/html/tsconfig.typedoc.json @@ -0,0 +1,5 @@ +{ + "exclude": ["**/spec/*", "**/*.spec.*", "**/packages/*", "dist"], + "extends": "./tsconfig.json" +} + diff --git a/packages/payloadset/packages/html/typedoc.json b/packages/payloadset/packages/html/typedoc.json new file mode 100644 index 000000000..a1ff9f91c --- /dev/null +++ b/packages/payloadset/packages/html/typedoc.json @@ -0,0 +1,5 @@ +{ + "$schema": "https://typedoc.org/schema.json", + "entryPoints": ["./src/index.ts"], + "tsconfig": "./tsconfig.typedoc.json" +} \ No newline at end of file diff --git a/packages/payloadset/packages/html/xy.config.ts b/packages/payloadset/packages/html/xy.config.ts new file mode 100644 index 000000000..14996f9ad --- /dev/null +++ b/packages/payloadset/packages/html/xy.config.ts @@ -0,0 +1,13 @@ +import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3' +const config: XyTsupConfig = { + compile: { + browser: {}, + node: {}, + neutral: { + src: true, + }, + }, +} + +// eslint-disable-next-line import-x/no-default-export +export default config diff --git a/packages/payloadset/packages/xml/src/Diviner/spec/Diviner.spec.ts b/packages/payloadset/packages/xml/src/Diviner/spec/Diviner.spec.ts index 584f250c4..4caa034f8 100644 --- a/packages/payloadset/packages/xml/src/Diviner/spec/Diviner.spec.ts +++ b/packages/payloadset/packages/xml/src/Diviner/spec/Diviner.spec.ts @@ -1,9 +1,9 @@ import { assertEx } from '@xylabs/assert' import { ApiCallResultSchema, ApiCallSchema, ApiCallWitness, ApiCallWitnessConfigSchema, isApiCallXmlResult } from '@xyo-network/api-call-witness' -import { isXmlWithMeta } from '../../Payload' -import { XmlSchema } from '../../Schema' -import { XmlParsingDiviner } from '../Diviner' +import { isXmlWithMeta } from '../../Payload.ts' +import { XmlSchema } from '../../Schema.ts' +import { XmlParsingDiviner } from '../Diviner.ts' import { XmlParsingDivinerConfigSchema } from '../Schema.ts' describe('XmlParsingDiviner', () => { diff --git a/yarn.lock b/yarn.lock index 09df300d3..8eaae2981 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2843,6 +2843,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-darwin-arm64@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-darwin-arm64@npm:1.7.10" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@swc/core-darwin-arm64@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-darwin-arm64@npm:1.7.11" @@ -2850,6 +2857,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-darwin-x64@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-darwin-x64@npm:1.7.10" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@swc/core-darwin-x64@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-darwin-x64@npm:1.7.11" @@ -2857,6 +2871,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-arm-gnueabihf@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.10" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@swc/core-linux-arm-gnueabihf@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-linux-arm-gnueabihf@npm:1.7.11" @@ -2864,6 +2885,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-arm64-gnu@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-linux-arm64-gnu@npm:1.7.10" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@swc/core-linux-arm64-gnu@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-linux-arm64-gnu@npm:1.7.11" @@ -2871,6 +2899,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-arm64-musl@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-linux-arm64-musl@npm:1.7.10" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@swc/core-linux-arm64-musl@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-linux-arm64-musl@npm:1.7.11" @@ -2878,6 +2913,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-x64-gnu@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-linux-x64-gnu@npm:1.7.10" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@swc/core-linux-x64-gnu@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-linux-x64-gnu@npm:1.7.11" @@ -2885,6 +2927,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-linux-x64-musl@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-linux-x64-musl@npm:1.7.10" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@swc/core-linux-x64-musl@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-linux-x64-musl@npm:1.7.11" @@ -2892,6 +2941,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-win32-arm64-msvc@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-win32-arm64-msvc@npm:1.7.10" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@swc/core-win32-arm64-msvc@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-win32-arm64-msvc@npm:1.7.11" @@ -2899,6 +2955,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-win32-ia32-msvc@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-win32-ia32-msvc@npm:1.7.10" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@swc/core-win32-ia32-msvc@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-win32-ia32-msvc@npm:1.7.11" @@ -2906,6 +2969,13 @@ __metadata: languageName: node linkType: hard +"@swc/core-win32-x64-msvc@npm:1.7.10": + version: 1.7.10 + resolution: "@swc/core-win32-x64-msvc@npm:1.7.10" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@swc/core-win32-x64-msvc@npm:1.7.11": version: 1.7.11 resolution: "@swc/core-win32-x64-msvc@npm:1.7.11" @@ -2913,6 +2983,52 @@ __metadata: languageName: node linkType: hard +"@swc/core@npm:^1.7.10": + version: 1.7.10 + resolution: "@swc/core@npm:1.7.10" + dependencies: + "@swc/core-darwin-arm64": "npm:1.7.10" + "@swc/core-darwin-x64": "npm:1.7.10" + "@swc/core-linux-arm-gnueabihf": "npm:1.7.10" + "@swc/core-linux-arm64-gnu": "npm:1.7.10" + "@swc/core-linux-arm64-musl": "npm:1.7.10" + "@swc/core-linux-x64-gnu": "npm:1.7.10" + "@swc/core-linux-x64-musl": "npm:1.7.10" + "@swc/core-win32-arm64-msvc": "npm:1.7.10" + "@swc/core-win32-ia32-msvc": "npm:1.7.10" + "@swc/core-win32-x64-msvc": "npm:1.7.10" + "@swc/counter": "npm:^0.1.3" + "@swc/types": "npm:^0.1.12" + peerDependencies: + "@swc/helpers": "*" + dependenciesMeta: + "@swc/core-darwin-arm64": + optional: true + "@swc/core-darwin-x64": + optional: true + "@swc/core-linux-arm-gnueabihf": + optional: true + "@swc/core-linux-arm64-gnu": + optional: true + "@swc/core-linux-arm64-musl": + optional: true + "@swc/core-linux-x64-gnu": + optional: true + "@swc/core-linux-x64-musl": + optional: true + "@swc/core-win32-arm64-msvc": + optional: true + "@swc/core-win32-ia32-msvc": + optional: true + "@swc/core-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@swc/helpers": + optional: true + checksum: 10/bff2fdfeea535bb5db7b0892fd1d3cc1dc68477d5ed4a23491106180f3f3cccddd1f0a8309a02f483732127c9b3afbbb46fb689a6dc56b584cae3b398a7cb445 + languageName: node + linkType: hard + "@swc/core@npm:^1.7.11": version: 1.7.11 resolution: "@swc/core@npm:1.7.11" @@ -3266,6 +3382,15 @@ __metadata: languageName: node linkType: hard +"@types/node@npm:^22.2.0": + version: 22.3.0 + resolution: "@types/node@npm:22.3.0" + dependencies: + undici-types: "npm:~6.18.2" + checksum: 10/c31a798ed722a7417727f018ea6d621db038a613c626da643174cc6f3dcf4ce2fc9933a010aec289103d9564da2c2f9b054c9aa398828f00e17269a78c64d4ec + languageName: node + linkType: hard + "@types/normalize-package-data@npm:^2.4.0": version: 2.4.4 resolution: "@types/normalize-package-data@npm:2.4.4" @@ -3834,6 +3959,18 @@ __metadata: languageName: node linkType: hard +"@xylabs/arraybuffer@npm:^4.0.0": + version: 4.0.0 + resolution: "@xylabs/arraybuffer@npm:4.0.0" + dependencies: + "@scure/base": "npm:^1.1.7" + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/lodash": "npm:^4.0.0" + "@xylabs/typeof": "npm:^4.0.0" + checksum: 10/30e4b4d3a314a1515fc7c3c2ca1cdb83a7ac628451031220291ddc1791919263314c4b0a62e06a044c22266f3d52c258bae7b934318e33f3403d4f713685dfa5 + languageName: node + linkType: hard + "@xylabs/arraybuffer@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/arraybuffer@npm:4.0.2" @@ -3853,6 +3990,13 @@ __metadata: languageName: node linkType: hard +"@xylabs/assert@npm:^4.0.0, @xylabs/assert@npm:^4.0.1": + version: 4.0.1 + resolution: "@xylabs/assert@npm:4.0.1" + checksum: 10/6f1fb3139d90908478cba409c7d6a7ef8db383cf4e78ab1ed6988b05821fda092daf6e4bb3a35700f734660965ad15605a16b52a9ddbd2d0a92ce99f14e369d5 + languageName: node + linkType: hard + "@xylabs/assert@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/assert@npm:4.0.2" @@ -3860,6 +4004,18 @@ __metadata: languageName: node linkType: hard +"@xylabs/axios@npm:^4.0.0": + version: 4.0.1 + resolution: "@xylabs/axios@npm:4.0.1" + dependencies: + "@types/pako": "npm:^2.0.3" + "@xylabs/logger": "npm:^4.0.1" + axios: "npm:^1.7.4" + pako: "npm:^2.1.0" + checksum: 10/ebf987eaedab46d39f578f9c14ae8a45474fe404a57d9c8210d210138e0595c4cfa05c95d830d5af8d8842c9623599d054914f2253ce6b48e5fcf4fb2eea6945 + languageName: node + linkType: hard + "@xylabs/axios@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/axios@npm:4.0.2" @@ -3882,6 +4038,15 @@ __metadata: languageName: node linkType: hard +"@xylabs/delay@npm:^4.0.0, @xylabs/delay@npm:^4.0.1": + version: 4.0.1 + resolution: "@xylabs/delay@npm:4.0.1" + dependencies: + "@xylabs/timer": "npm:^4.0.1" + checksum: 10/35ea9862af0ed22e8c2ff9fd6da45aa389cf0e18142882b1691c1a1ad31001047c52d50c44b86fe3dc3513a9c8172b4fff34e6e5f478d45b4280632ff6ceafc6 + languageName: node + linkType: hard + "@xylabs/delay@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/delay@npm:4.0.2" @@ -3891,6 +4056,13 @@ __metadata: languageName: node linkType: hard +"@xylabs/error@npm:^4.0.0, @xylabs/error@npm:^4.0.1": + version: 4.0.1 + resolution: "@xylabs/error@npm:4.0.1" + checksum: 10/638a980ee488e160a250e18ac4942cd0622b4305b43c3fe18dbeec74b63d6438675d91f7d536d4b9a55cdd8d8a7c8fbeea5627205a95102600a4af8c5f31a5f4 + languageName: node + linkType: hard + "@xylabs/error@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/error@npm:4.0.2" @@ -3929,6 +4101,13 @@ __metadata: languageName: node linkType: hard +"@xylabs/exists@npm:^4.0.0, @xylabs/exists@npm:^4.0.1": + version: 4.0.1 + resolution: "@xylabs/exists@npm:4.0.1" + checksum: 10/575fc54f0f49146e129b1df479c3b40e675be2bbf578be11bdaa4c5fe2e4d1bdad4fe6930eaf39ec1da96beaee6066314679ee8940b9995f17437105e6cabe80 + languageName: node + linkType: hard + "@xylabs/exists@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/exists@npm:4.0.2" @@ -3936,6 +4115,15 @@ __metadata: languageName: node linkType: hard +"@xylabs/forget@npm:^4.0.0": + version: 4.0.1 + resolution: "@xylabs/forget@npm:4.0.1" + dependencies: + "@xylabs/delay": "npm:^4.0.1" + checksum: 10/70b4e4138cb34eddec18c95ebfc7ff36b94c2e58fbbb03dd30e80a9146e073147aef354901c93990810a934eff499b55577e7485877c7ea6c81fbfd20a781eef + languageName: node + linkType: hard + "@xylabs/forget@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/forget@npm:4.0.2" @@ -3945,6 +4133,13 @@ __metadata: languageName: node linkType: hard +"@xylabs/hex@npm:^4.0.0": + version: 4.0.1 + resolution: "@xylabs/hex@npm:4.0.1" + checksum: 10/ce803a1c35bdf606d046702ab08ff36dc71f89f56e56d9276f3f32f79268f07a753af886de378165160eb2e451f5b85e60fffe68f5411917e3907be9d3746754 + languageName: node + linkType: hard + "@xylabs/hex@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/hex@npm:4.0.2" @@ -3952,6 +4147,15 @@ __metadata: languageName: node linkType: hard +"@xylabs/jest-helpers@npm:^4.0.1": + version: 4.0.1 + resolution: "@xylabs/jest-helpers@npm:4.0.1" + peerDependencies: + jest: "*" + checksum: 10/e5bb365643bcd6cb501a1bb3e6827fd67377d16007250035561bcf7085620a36ee889441abdad20d60957bb948feb5e1d6412b869841ea7957910621889fa1e5 + languageName: node + linkType: hard + "@xylabs/jest-helpers@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/jest-helpers@npm:4.0.2" @@ -3961,6 +4165,16 @@ __metadata: languageName: node linkType: hard +"@xylabs/lodash@npm:^4.0.0": + version: 4.0.0 + resolution: "@xylabs/lodash@npm:4.0.0" + dependencies: + "@types/lodash-es": "npm:^4.17.12" + lodash-es: "npm:^4.17.21" + checksum: 10/cfb299de5861515c0a3ba74ff6ba1c537857a56ba5e2d38c11326d4506be6ceac2f3762e62694bc130978df54d88947aea5fde3330e36bab5378a815cb7887b8 + languageName: node + linkType: hard + "@xylabs/lodash@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/lodash@npm:4.0.2" @@ -3971,6 +4185,15 @@ __metadata: languageName: node linkType: hard +"@xylabs/logger@npm:^4.0.0, @xylabs/logger@npm:^4.0.1": + version: 4.0.1 + resolution: "@xylabs/logger@npm:4.0.1" + dependencies: + "@xylabs/error": "npm:^4.0.1" + checksum: 10/c91e27e6f1f2ebe81ee02693d4c5b74271656f99b943805906a6eeff3048c48994e91432cb899c2ebd7de880929f149b8022223096e9fd0cbcb1c929b6337910 + languageName: node + linkType: hard + "@xylabs/logger@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/logger@npm:4.0.2" @@ -3980,6 +4203,17 @@ __metadata: languageName: node linkType: hard +"@xylabs/object@npm:^4.0.0, @xylabs/object@npm:^4.0.1": + version: 4.0.1 + resolution: "@xylabs/object@npm:4.0.1" + dependencies: + "@xylabs/assert": "npm:^4.0.1" + "@xylabs/logger": "npm:^4.0.1" + "@xylabs/promise": "npm:^4.0.1" + checksum: 10/cd83a1f09affa4684e13cfbf1a1e09e357c7cd856656034e746fe42da150a2e5184f113fb5bcd49a1336360f69c83b8e16618d8961f00906a80e9e8de5ac1714 + languageName: node + linkType: hard + "@xylabs/object@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/object@npm:4.0.2" @@ -3991,6 +4225,13 @@ __metadata: languageName: node linkType: hard +"@xylabs/platform@npm:^4.0.0": + version: 4.0.1 + resolution: "@xylabs/platform@npm:4.0.1" + checksum: 10/6abfcd044ff16ec31f9e59fd4d6fde654315888deb51e59769c9e9e7f2451a2c41c1cce85f065360045e0913a901431915558fb3d7760f59ac8db318e681c16a + languageName: node + linkType: hard + "@xylabs/platform@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/platform@npm:4.0.2" @@ -4005,6 +4246,13 @@ __metadata: languageName: node linkType: hard +"@xylabs/promise@npm:^4.0.0, @xylabs/promise@npm:^4.0.1": + version: 4.0.1 + resolution: "@xylabs/promise@npm:4.0.1" + checksum: 10/8adb73470941ed3d81c347082adaaf391cd777eef0f90c54b03f6fb6cf4fe6f37d28d0a0c71135457946c483a482cd99c581a32cfb896302c39f9eb74e3614fb + languageName: node + linkType: hard + "@xylabs/promise@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/promise@npm:4.0.2" @@ -4012,6 +4260,16 @@ __metadata: languageName: node linkType: hard +"@xylabs/retry@npm:^4.0.0": + version: 4.0.0 + resolution: "@xylabs/retry@npm:4.0.0" + dependencies: + "@xylabs/delay": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + checksum: 10/b0e071fc25671293355232316d2dc19b8eadc3e842250e305c6f26c2fc4ee500d92ea1fdafb5f79eea2fac2371b9dd1e7bd9cfe71787933b2c98aed6202d038a + languageName: node + linkType: hard + "@xylabs/retry@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/retry@npm:4.0.2" @@ -4049,6 +4307,13 @@ __metadata: languageName: node linkType: hard +"@xylabs/static-implements@npm:^4.0.0": + version: 4.0.0 + resolution: "@xylabs/static-implements@npm:4.0.0" + checksum: 10/682dade5d231cd7029212a05bddb6e3b23c0a60571d9bde8f32d745117795915d1cd8d0626fc7defce0a5ca7771e81f623813da69d19d20b787b84f6d43de2ae + languageName: node + linkType: hard + "@xylabs/static-implements@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/static-implements@npm:4.0.2" @@ -4056,6 +4321,23 @@ __metadata: languageName: node linkType: hard +"@xylabs/threads@npm:^4.0.0": + version: 4.0.0 + resolution: "@xylabs/threads@npm:4.0.0" + dependencies: + "@babel/types": "npm:^7.25.2" + callsites-3-1-0: "npm:callsites@3.1.0" + debug: "npm:^4.3.6" + is-observable-2-1-0: "npm:is-observable@2.1.0" + observable-fns: "npm:^0.6.1" + tiny-worker: "npm:^2.3.0" + dependenciesMeta: + tiny-worker: + optional: true + checksum: 10/b0c79d464e0620a9d65e5058c7678e6a677e13a59600fc3909ae96db0112667d7cfbb7e21141f075311a0a3a8a3d2c6545550433056f9eb8de44fcf9492b6035 + languageName: node + linkType: hard + "@xylabs/threads@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/threads@npm:4.0.2" @@ -4073,6 +4355,15 @@ __metadata: languageName: node linkType: hard +"@xylabs/timer@npm:^4.0.1": + version: 4.0.1 + resolution: "@xylabs/timer@npm:4.0.1" + dependencies: + "@xylabs/assert": "npm:^4.0.1" + checksum: 10/4b1a0d41a71f791fa09313aeecfad5e00393d965915ea019ba3388c9dd6efd98e949969f7547c05c41ef0d6476faac5855aa032f01444a413089353625ee71cb + languageName: node + linkType: hard + "@xylabs/timer@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/timer@npm:4.0.2" @@ -4082,6 +4373,105 @@ __metadata: languageName: node linkType: hard +"@xylabs/ts-scripts-yarn3@npm:^4.0.0-rc.15": + version: 4.0.0-rc.15 + resolution: "@xylabs/ts-scripts-yarn3@npm:4.0.0-rc.15" + dependencies: + "@rollup/plugin-commonjs": "npm:^26.0.1" + "@rollup/plugin-json": "npm:^6.1.0" + "@rollup/plugin-typescript": "npm:^11.1.6" + "@swc/core": "npm:^1.7.10" + "@types/node": "npm:^22.2.0" + "@types/yargs": "npm:^17.0.33" + "@xylabs/tsconfig": "npm:^4.0.0-rc.15" + "@xylabs/tsconfig-dom": "npm:^4.0.0-rc.15" + async-mutex: "npm:^0.5.0" + chalk: "npm:^5.3.0" + cosmiconfig: "npm:^9.0.0" + cosmiconfig-typescript-loader: "npm:^5.0.0" + cpy: "npm:^11.1.0" + depcheck: "npm:^1.4.7" + esbuild: "npm:^0.23.0" + eslint: "npm:^9.9.0" + glob: "npm:^11.0.0" + jest: "npm:^29.7.0" + jest-extended: "npm:^4.0.2" + jest-mock-extended: "npm:^3.0.7" + jest-sorted: "npm:^1.0.15" + jsonc-eslint-parser: "npm:^2.4.0" + license-checker: "npm:^25.0.1" + node-cmd: "npm:^5.0.0" + npm-check-updates: "npm:^17.0.6" + npm-package-json-lint: "npm:^8.0.0" + npm-package-json-lint-config-default: "npm:^7.0.1" + parse-git-config: "npm:^3.0.0" + publint: "npm:^0.2.9" + reflect-metadata: "npm:^0.2.2" + rollup: "npm:^4.20.0" + rollup-plugin-exclude-dependencies-from-bundle: "npm:^1.1.23" + rollup-plugin-node-externals: "npm:^7.1.2" + supertest: "npm:^7.0.0" + ts-jest: "npm:^29.2.4" + ts-node: "npm:^10.9.2" + ts-prune: "npm:^0.10.3" + tsc-prog: "npm:^2.3.0" + tslib: "npm:^2.6.3" + tsup: "npm:^8.2.4" + typedoc: "npm:^0.26.5" + types-package-json: "npm:^2.0.39" + yargs: "npm:^17.7.2" + peerDependencies: + typescript: ^5 + bin: + build: dist/bin/build.mjs + clean: dist/bin/clean.mjs + clean-docs: dist/bin/clean-docs.mjs + compile: dist/bin/compile.mjs + compile-cjs: dist/bin/compile-cjs.mjs + compile-esm: dist/bin/compile-esm.mjs + compile-only: dist/bin/compile-only.mjs + cycle: dist/bin/cycle.mjs + dead: dist/bin/dead.mjs + deploy: dist/bin/deploy.mjs + deploy-major: dist/bin/deploy-major.mjs + deploy-minor: dist/bin/deploy-minor.mjs + deploy-next: dist/bin/deploy-next.mjs + deps: dist/bin/deps.mjs + fix: dist/bin/fix.mjs + gen-docs: dist/bin/gen-docs.mjs + gitlint: dist/bin/gitlint.mjs + gitlint-fix: dist/bin/gitlint-fix.mjs + license: dist/bin/license.mjs + lint: dist/bin/lint.mjs + lint-clean: dist/bin/lint-clean.mjs + lint-fast: dist/bin/lint-fast.mjs + lint-profile: dist/bin/lint-profile.mjs + package-clean: dist/bin/package/clean.mjs + package-compile: dist/bin/package/compile.mjs + package-compile-only: dist/bin/package/compile-only.mjs + package-copy-assets-cjs: dist/bin/package/copy-assets-cjs.mjs + package-copy-assets-esm: dist/bin/package/copy-assets-esm.mjs + package-deps: dist/bin/package/deps.mjs + package-gen-docs: dist/bin/package/gen-docs.mjs + package-publint: dist/bin/package/publint.mjs + package-recompile: dist/bin/package/recompile.mjs + rebuild: dist/bin/rebuild.mjs + recompile: dist/bin/recompile.mjs + reinstall: dist/bin/reinstall.mjs + relint: dist/bin/relint.mjs + sonar: dist/bin/sonar.mjs + test: dist/bin/test.mjs + up: dist/bin/up.mjs + updo: dist/bin/updo.mjs + upplug: dist/bin/upplug.mjs + upyarn: dist/bin/upyarn.mjs + xy: dist/bin/xy.mjs + xy-ts: src/bin/xy-ts.ts + yarn3only: dist/bin/yarn3only.mjs + checksum: 10/96dc094abed3ef6c01fc8ba9183946287ff08df905df19f6fffc93d5f68a675c6e90c0d3c24132033cf6af6a526b0c13611a21a6b1155e1474c43527af368df8 + languageName: node + linkType: hard + "@xylabs/ts-scripts-yarn3@npm:^4.0.0-rc.20": version: 4.0.0-rc.20 resolution: "@xylabs/ts-scripts-yarn3@npm:4.0.0-rc.20" @@ -4195,6 +4585,15 @@ __metadata: languageName: node linkType: hard +"@xylabs/tsconfig-dom@npm:^4.0.0-rc.15": + version: 4.0.0-rc.15 + resolution: "@xylabs/tsconfig-dom@npm:4.0.0-rc.15" + dependencies: + "@xylabs/tsconfig": "npm:^4.0.0-rc.15" + checksum: 10/f92fc5ef1e2a1f4918a256cdcea00bf4aacbec7e8b664e6db0c267d3c1630fe75bec79b0a4824650db029bbc4e5563dca2b283774bbfd897c32b47e0d85f70ed + languageName: node + linkType: hard + "@xylabs/tsconfig-dom@npm:^4.0.0-rc.20": version: 4.0.0-rc.20 resolution: "@xylabs/tsconfig-dom@npm:4.0.0-rc.20" @@ -4217,6 +4616,13 @@ __metadata: languageName: node linkType: hard +"@xylabs/tsconfig@npm:^4.0.0-rc.15": + version: 4.0.0-rc.15 + resolution: "@xylabs/tsconfig@npm:4.0.0-rc.15" + checksum: 10/d86c60c37d60ce6db06777f86c24267854e290db466bad0badc189e6b3e6a8025a59144af186ee209e086dc73b7bcc8e9ae6e9952f89fffda8ef22419fe44559 + languageName: node + linkType: hard + "@xylabs/tsconfig@npm:^4.0.0-rc.20": version: 4.0.0-rc.20 resolution: "@xylabs/tsconfig@npm:4.0.0-rc.20" @@ -4224,6 +4630,13 @@ __metadata: languageName: node linkType: hard +"@xylabs/typeof@npm:^4.0.0": + version: 4.0.0 + resolution: "@xylabs/typeof@npm:4.0.0" + checksum: 10/27ef78adbeadd056411b1f5039bb98aaf4d22862f7bf8de3ad1078b33596e41b2c506b7815106aac7999739cf2a4b4423b2b96fc50beecfdf9469837e125b9c6 + languageName: node + linkType: hard + "@xylabs/typeof@npm:^4.0.2": version: 4.0.2 resolution: "@xylabs/typeof@npm:4.0.2" @@ -4258,6 +4671,23 @@ __metadata: languageName: node linkType: hard +"@xyo-network/account-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/account-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/lodash": "npm:^4.0.0" + "@xyo-network/key-model": "npm:^3.0.2" + "@xyo-network/previous-hash-store-model": "npm:^3.0.2" + peerDependencies: + ethers: ^6 + peerDependenciesMeta: + ethers: + optional: true + checksum: 10/2c634f691d7fabb244a8694b618ddeeaf4cab74f7d372017faf1dc086c189762683e654316350035add866ae5d975742bf6f580f7d5ba213d5c8ec1dd726359b + languageName: node + linkType: hard + "@xyo-network/account-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/account-model@npm:3.0.3" @@ -4275,6 +4705,30 @@ __metadata: languageName: node linkType: hard +"@xyo-network/account@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/account@npm:3.0.2" + dependencies: + "@bitauth/libauth-1-19-1": "npm:@bitauth/libauth@1.19.1" + "@scure/bip39": "npm:^1.3.0" + "@xylabs/arraybuffer": "npm:^4.0.0" + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/static-implements": "npm:^4.0.0" + "@xyo-network/account-model": "npm:^3.0.2" + "@xyo-network/data": "npm:^3.0.2" + "@xyo-network/key-model": "npm:^3.0.2" + "@xyo-network/previous-hash-store": "npm:^3.0.2" + "@xyo-network/previous-hash-store-model": "npm:^3.0.2" + "@xyo-network/wallet-model": "npm:^3.0.2" + "@xyo-network/wasm": "npm:^3.0.2" + async-mutex: "npm:^0.5.0" + ethers: "npm:6.13.2" + checksum: 10/2a0a010d2fef83e85fd3f96f6697ed29842cd2ac4be5958d3ccf45ce7ba891a4380d1a0770a7c52b0e289291a99e6e7f8699a249423aab1958923785c123e5a0 + languageName: node + linkType: hard + "@xyo-network/account@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/account@npm:3.0.3" @@ -4403,6 +4857,21 @@ __metadata: languageName: node linkType: hard +"@xyo-network/archivist-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/archivist-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + "@xyo-network/account-model": "npm:^3.0.2" + "@xyo-network/module-events": "npm:^3.0.2" + "@xyo-network/module-model": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/b4152ac1e34fb07b98761a813e6dfa1b9ac6bd4b6af286a18f34fe49c13a800502bae2f544cc84a8dddac38d8e1adbe651983e33f9bfb6174aab0838de9a8387 + languageName: node + linkType: hard + "@xyo-network/archivist-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/archivist-model@npm:3.0.3" @@ -4501,6 +4970,25 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/boundwitness-builder@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/boundwitness-builder@npm:3.0.2" + dependencies: + "@xylabs/arraybuffer": "npm:^4.0.0" + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xyo-network/account-model": "npm:^3.0.2" + "@xyo-network/boundwitness-model": "npm:^3.0.2" + "@xyo-network/hash": "npm:^3.0.2" + "@xyo-network/payload": "npm:^3.0.2" + "@xyo-network/payload-builder": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + async-mutex: "npm:^0.5.0" + checksum: 10/1c235cd86f4224aadc800e26958959f986930153a8a1320e56e1a3d9fff4f7ca2b2696ed07e9872e05aabd396cc4fbff96894600b1ab414c08c0f00a2168b2f4 + languageName: node + linkType: hard + "@xyo-network/boundwitness-builder@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/boundwitness-builder@npm:3.0.3" @@ -4520,6 +5008,17 @@ __metadata: languageName: node linkType: hard +"@xyo-network/boundwitness-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/boundwitness-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/effde3bdee545392fee8a458e8c227f7b658d375a5c13596a86b9b378fd0ef55af4cec61d1bee074372e33f0054509409525e82e33d71125d1b24981fa93a317 + languageName: node + linkType: hard + "@xyo-network/boundwitness-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/boundwitness-model@npm:3.0.3" @@ -4531,6 +5030,21 @@ __metadata: languageName: node linkType: hard +"@xyo-network/boundwitness-validator@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/boundwitness-validator@npm:3.0.2" + dependencies: + "@xylabs/arraybuffer": "npm:^4.0.0" + "@xylabs/lodash": "npm:^4.0.0" + "@xylabs/typeof": "npm:^4.0.0" + "@xyo-network/account": "npm:^3.0.2" + "@xyo-network/boundwitness-model": "npm:^3.0.2" + "@xyo-network/payload": "npm:^3.0.2" + "@xyo-network/payload-validator": "npm:^3.0.2" + checksum: 10/b0d5df121975ea449f58c691e24a871af41bc4d18d803f10d039128d44d585a710cc5fd7ee50fdd8db89f868866b6d8697383d359ad23c3875a798e1f501b6c2 + languageName: node + linkType: hard + "@xyo-network/boundwitness-validator@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/boundwitness-validator@npm:3.0.3" @@ -4546,6 +5060,24 @@ __metadata: languageName: node linkType: hard +"@xyo-network/boundwitness-wrapper@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/boundwitness-wrapper@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/lodash": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xyo-network/boundwitness-model": "npm:^3.0.2" + "@xyo-network/boundwitness-validator": "npm:^3.0.2" + "@xyo-network/payload": "npm:^3.0.2" + "@xyo-network/payload-builder": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + "@xyo-network/payload-wrapper": "npm:^3.0.2" + checksum: 10/bdf2b645856a41c6166c4a9d4310f0a943fb6a5ea2bad476562e43bc5616c7496587161c1f181ad9da91018f86bf8738861f134cb3756effc857b280916277c7 + languageName: node + linkType: hard + "@xyo-network/boundwitness-wrapper@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/boundwitness-wrapper@npm:3.0.3" @@ -4713,6 +5245,17 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/config-payload-plugin@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/config-payload-plugin@npm:3.0.2" + dependencies: + "@xylabs/object": "npm:^4.0.0" + "@xyo-network/payload-model": "npm:^3.0.2" + "@xyo-network/payload-plugin": "npm:^3.0.2" + checksum: 10/01f677dd050058091041241718d3d1e73d40f4c9c82c96ba51deef2365199cae4a6bb699ab6685961da9f1d1ed05d14ebb6be247ff929132ae268036b94bfb8c + languageName: node + linkType: hard + "@xyo-network/config-payload-plugin@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/config-payload-plugin@npm:3.0.3" @@ -5224,6 +5767,19 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/data@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/data@npm:3.0.2" + dependencies: + "@scure/base": "npm:^1.1.7" + "@xylabs/arraybuffer": "npm:^4.0.0" + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + ethers: "npm:6.13.2" + checksum: 10/3f3267cdf82c27d57f8073c3812b3c97dd6f17e4d57bfb5a6c1c60dd3524692a6a38bf705671a24cef5d5a94530a3d84dc9e66b9ec44a95e14cb54e5e00b909b + languageName: node + linkType: hard + "@xyo-network/data@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/data@npm:3.0.3" @@ -5237,6 +5793,26 @@ __metadata: languageName: node linkType: hard +"@xyo-network/diviner-abstract@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/diviner-abstract@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + "@xylabs/retry": "npm:^4.0.0" + "@xyo-network/account-model": "npm:^3.0.2" + "@xyo-network/boundwitness-model": "npm:^3.0.2" + "@xyo-network/boundwitness-wrapper": "npm:^3.0.2" + "@xyo-network/diviner-model": "npm:^3.0.2" + "@xyo-network/module-abstract": "npm:^3.0.2" + "@xyo-network/module-model": "npm:^3.0.2" + "@xyo-network/payload-builder": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/92b4de339613f515e217b9d7363a190b59f99091c07d4472edb5d986117ba2f2fc8d3a76844a66ad9df9c9101452540df7e632e81892ebe0444378bd9c6abf70 + languageName: node + linkType: hard + "@xyo-network/diviner-abstract@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/diviner-abstract@npm:3.0.3" @@ -5521,6 +6097,21 @@ __metadata: languageName: node linkType: hard +"@xyo-network/diviner-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/diviner-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/retry": "npm:^4.0.0" + "@xyo-network/account-model": "npm:^3.0.2" + "@xyo-network/module-events": "npm:^3.0.2" + "@xyo-network/module-model": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/5b898f8b41e1a55859af1e885d92a6cd55776403ead1c9ced4eb5560157c1cfb9e9e5751226dede671a695447983f0f432d86e785de1939bc22494b7feb6c94d + languageName: node + linkType: hard + "@xyo-network/diviner-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/diviner-model@npm:3.0.3" @@ -5563,6 +6154,19 @@ __metadata: languageName: node linkType: hard +"@xyo-network/diviner-payload-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/diviner-payload-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xyo-network/diviner-model": "npm:^3.0.2" + "@xyo-network/module-model": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/2d428c604cb70939ed59e9f321574c6df81874135c21f8aeb981bcabaab8cbd554c9b3ddae982e36738369e2a09f4e0a26ed27f9bedddcfb0298ecb9f6397817 + languageName: node + linkType: hard + "@xyo-network/diviner-payload-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/diviner-payload-model@npm:3.0.3" @@ -5692,6 +6296,15 @@ __metadata: languageName: node linkType: hard +"@xyo-network/dns@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/dns@npm:3.0.2" + dependencies: + "@xylabs/axios": "npm:^4.0.0" + checksum: 10/a6e5268a5589f718dbbc284eb9c64b114969a5e8b3d8afc602ea47bb0f24f1306ddf1c78738cc56216db4ddbdbd0425889972fd6c47a18778e34e7ac7abe46d5 + languageName: node + linkType: hard + "@xyo-network/dns@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/dns@npm:3.0.3" @@ -6304,6 +6917,23 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/hash@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/hash@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/lodash": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/platform": "npm:^4.0.0" + "@xylabs/threads": "npm:^4.0.0" + "@xylabs/typeof": "npm:^4.0.0" + "@xyo-network/wasm": "npm:^3.0.2" + hash-wasm: "npm:^4.11.0" + checksum: 10/cea2acfb6238a31a75f75864bfc23780ebb7ba80feed77530fd2ac35e2e451095b358dc0aa2cdd1c2008400938386561f5004a94df5cdbac16b38d84e7fc07c5 + languageName: node + linkType: hard + "@xyo-network/hash@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/hash@npm:3.0.3" @@ -6321,6 +6951,42 @@ __metadata: languageName: node linkType: hard +"@xyo-network/html-plugin@workspace:packages/payloadset/packages/html": + version: 0.0.0-use.local + resolution: "@xyo-network/html-plugin@workspace:packages/payloadset/packages/html" + dependencies: + "@types/xml2js": "npm:^0.4.14" + "@xylabs/assert": "npm:^4.0.1" + "@xylabs/exists": "npm:^4.0.1" + "@xylabs/jest-helpers": "npm:^4.0.1" + "@xylabs/object": "npm:^4.0.1" + "@xylabs/ts-scripts-yarn3": "npm:^4.0.0-rc.15" + "@xylabs/tsconfig": "npm:^4.0.0-rc.15" + "@xyo-network/api-call-witness": "workspace:^" + "@xyo-network/diviner-abstract": "npm:^3.0.2" + "@xyo-network/diviner-model": "npm:^3.0.2" + "@xyo-network/module-model": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + cheerio: "npm:^1.0.0" + jest: "npm:^29.7.0" + typescript: "npm:^5.5.4" + xml2js: "npm:^0.6.2" + languageName: unknown + linkType: soft + +"@xyo-network/huri@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/huri@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/axios": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xyo-network/account": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/1b551c4789c2b0cda2cdf6309c822dbb13f6111d212213f56aaa1ba70416cd78b91f7950c88d82a16cdb63aec004dc802afd5c595b6a656d34eb397440b2092f + languageName: node + linkType: hard + "@xyo-network/huri@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/huri@npm:3.0.3" @@ -6455,6 +7121,15 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/key-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/key-model@npm:3.0.2" + dependencies: + "@xyo-network/data": "npm:^3.0.2" + checksum: 10/c2a7066177f1197725ab21a4b0c406d01e95b43d3958ba3406b34b7cafa5710179e9fcf9d26e982d7b61df420a4ba0e869a0dfbc182d0f63cf11abea3e0c1d2e + languageName: node + linkType: hard + "@xyo-network/key-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/key-model@npm:3.0.3" @@ -6531,6 +7206,16 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/manifest-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/manifest-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/927badb11a3fd9b6b6cd1fff5bb9aebd254d5c91c09e3dd6c6ed5159369d58fb3211c1f5ad03c2d260e963ef78d67ca1287b8a44ea70ebd7bf13ae113825ba0a + languageName: node + linkType: hard + "@xyo-network/manifest-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/manifest-model@npm:3.0.3" @@ -6569,6 +7254,40 @@ __metadata: languageName: node linkType: hard +"@xyo-network/module-abstract@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/module-abstract@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/error": "npm:^4.0.0" + "@xylabs/exists": "npm:^4.0.0" + "@xylabs/forget": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/lodash": "npm:^4.0.0" + "@xylabs/logger": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + "@xyo-network/account": "npm:^3.0.2" + "@xyo-network/account-model": "npm:^3.0.2" + "@xyo-network/archivist-model": "npm:^3.0.2" + "@xyo-network/boundwitness-builder": "npm:^3.0.2" + "@xyo-network/boundwitness-model": "npm:^3.0.2" + "@xyo-network/boundwitness-wrapper": "npm:^3.0.2" + "@xyo-network/config-payload-plugin": "npm:^3.0.2" + "@xyo-network/manifest-model": "npm:^3.0.2" + "@xyo-network/module-events": "npm:^3.0.2" + "@xyo-network/module-model": "npm:^3.0.2" + "@xyo-network/module-resolver": "npm:^3.0.2" + "@xyo-network/node-model": "npm:^3.0.2" + "@xyo-network/payload-builder": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + "@xyo-network/query-payload-plugin": "npm:^3.0.2" + "@xyo-network/wallet-model": "npm:^3.0.2" + lru-cache: "npm:^11.0.0" + checksum: 10/76921c0f2d8693be0bbbe22c637969ae8d5866421edd279b47ad1ed254a5c5475e226118297f92234dbf15cc2246c1933ec130857cc4f6fa8e5821dd4c33d5ed + languageName: node + linkType: hard + "@xyo-network/module-abstract@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/module-abstract@npm:3.0.3" @@ -6603,6 +7322,19 @@ __metadata: languageName: node linkType: hard +"@xyo-network/module-events@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/module-events@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/error": "npm:^4.0.0" + "@xylabs/forget": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + checksum: 10/518341c3b45acbdea4a00d982869eb7cf5f398da87fe4536c4a5ed78abd6a70db4c8ff0363ad32bc550ea8d4ba5d587248bd5c3a44be5afd70bb8aa78424fc60 + languageName: node + linkType: hard + "@xyo-network/module-events@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/module-events@npm:3.0.3" @@ -6668,6 +7400,27 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/module-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/module-model@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/exists": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/lodash": "npm:^4.0.0" + "@xylabs/logger": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + "@xylabs/retry": "npm:^4.0.0" + "@xyo-network/account-model": "npm:^3.0.2" + "@xyo-network/boundwitness-model": "npm:^3.0.2" + "@xyo-network/manifest-model": "npm:^3.0.2" + "@xyo-network/module-events": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/e06aacdd878155d6d40303667141363497d2fbefd5772743c5eaba99d6c55a6115b6a3a277eff55811ccb474a9ca4e9044d6f2c0314f0ffa5c3a56438001122d + languageName: node + linkType: hard + "@xyo-network/module-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/module-model@npm:3.0.3" @@ -6689,6 +7442,24 @@ __metadata: languageName: node linkType: hard +"@xyo-network/module-resolver@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/module-resolver@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/exists": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/lodash": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + "@xyo-network/diviner-model": "npm:^3.0.2" + "@xyo-network/diviner-payload-model": "npm:^3.0.2" + "@xyo-network/module-model": "npm:^3.0.2" + lru-cache: "npm:^11.0.0" + checksum: 10/9608106765b9932588b68278eb81d13108d6cf6561dcd084beb1dbf2277c22a148edd97a376c991d6473fb30d101ff6c39d92792a2429d99fc06a6676b7f80b4 + languageName: node + linkType: hard + "@xyo-network/module-resolver@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/module-resolver@npm:3.0.3" @@ -6784,6 +7555,20 @@ __metadata: languageName: node linkType: hard +"@xyo-network/node-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/node-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xyo-network/account-model": "npm:^3.0.2" + "@xyo-network/module-events": "npm:^3.0.2" + "@xyo-network/module-model": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/97de291294007caf59534c8baa5a084ca10ab31e77fc8efc469830f24f17049cb336e3efd6ea080ceb0af108c2388f21746cd763549bc7aab745acb192351b66 + languageName: node + linkType: hard + "@xyo-network/node-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/node-model@npm:3.0.3" @@ -6871,6 +7656,22 @@ __metadata: languageName: node linkType: hard +"@xyo-network/payload-builder@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/payload-builder@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/lodash": "npm:^4.0.0" + "@xylabs/logger": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + "@xyo-network/hash": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + checksum: 10/3ecd382197031c3cfb506a66e15e6bd7031c50fa79e8b51a8e79bf08caf01f11d33afdb6186d746a1437d35d0f28fa6cbb14fa4334ca60faa0044af665b3408e + languageName: node + linkType: hard + "@xyo-network/payload-builder@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/payload-builder@npm:3.0.3" @@ -6887,6 +7688,16 @@ __metadata: languageName: node linkType: hard +"@xyo-network/payload-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/payload-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + checksum: 10/415b2602c20808148f8028ecbbcf9f904a72e34e45302c05002a23fb600066eca2f4f7e4dcfa04ef97ac023c20e8a72a2bbe9aa587e90a1bca5f7f2513efe71b + languageName: node + linkType: hard + "@xyo-network/payload-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/payload-model@npm:3.0.3" @@ -6897,6 +7708,20 @@ __metadata: languageName: node linkType: hard +"@xyo-network/payload-plugin@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/payload-plugin@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/object": "npm:^4.0.0" + "@xyo-network/payload-builder": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + "@xyo-network/payload-validator": "npm:^3.0.2" + "@xyo-network/payload-wrapper": "npm:^3.0.2" + checksum: 10/924cae41d416a238e637f4d82595ddc5bbe914b3c56d36197ed78a2ed04b3ba368c9e23030b1dd9a9c95d8204877cdeb1b858a6c7797fccb651cd93996822945 + languageName: node + linkType: hard + "@xyo-network/payload-plugin@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/payload-plugin@npm:3.0.3" @@ -6947,6 +7772,18 @@ __metadata: languageName: node linkType: hard +"@xyo-network/payload-validator@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/payload-validator@npm:3.0.2" + dependencies: + "@xylabs/object": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + "@xyo-network/payload-model": "npm:^3.0.2" + "@xyo-network/schema-name-validator": "npm:^3.0.2" + checksum: 10/671b2f57ae8862b9943df3b8afab0543ddcd510ff14b60d291f40b400aef515e6764759a837caad1707a54fa0cd48e98f4c0a42c40d038e0f1685487e8b1ed83 + languageName: node + linkType: hard + "@xyo-network/payload-validator@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/payload-validator@npm:3.0.3" @@ -6959,6 +7796,21 @@ __metadata: languageName: node linkType: hard +"@xyo-network/payload-wrapper@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/payload-wrapper@npm:3.0.2" + dependencies: + "@xylabs/assert": "npm:^4.0.0" + "@xylabs/hex": "npm:^4.0.0" + "@xylabs/promise": "npm:^4.0.0" + "@xyo-network/payload-builder": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + "@xyo-network/payload-validator": "npm:^3.0.2" + ajv: "npm:^8.17.1" + checksum: 10/5b633188e6e5b3ab1b092f4fefb895c25707cfa748739c37286d111199f7066ea6ba92eafbdcfed19844ee061b70b646f34acca0173e4eef7a46cb19bf622cf1 + languageName: node + linkType: hard + "@xyo-network/payload-wrapper@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/payload-wrapper@npm:3.0.3" @@ -6974,6 +7826,19 @@ __metadata: languageName: node linkType: hard +"@xyo-network/payload@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/payload@npm:3.0.2" + dependencies: + "@xyo-network/huri": "npm:^3.0.2" + "@xyo-network/payload-builder": "npm:^3.0.2" + "@xyo-network/payload-model": "npm:^3.0.2" + "@xyo-network/payload-validator": "npm:^3.0.2" + "@xyo-network/payload-wrapper": "npm:^3.0.2" + checksum: 10/9799e46f91711317fd064c73587e92614be79c9ebe91850ba743d3a741d08939e23c7369ddcb036592a7b15288cfaea40fa0164df207b3affa5a5f7355791d38 + languageName: node + linkType: hard + "@xyo-network/payload@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/payload@npm:3.0.3" @@ -7145,6 +8010,17 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/previous-hash-store-indexeddb@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/previous-hash-store-indexeddb@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xyo-network/previous-hash-store-model": "npm:^3.0.2" + idb: "npm:^8.0.0" + checksum: 10/971614fcea8a8647df116530113a59b9c3134dd538c32e50dc8a64768578324f7be9658b77aea0838ab77cace555da95040e3729153276ee2505d80b348f35fc + languageName: node + linkType: hard + "@xyo-network/previous-hash-store-indexeddb@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/previous-hash-store-indexeddb@npm:3.0.3" @@ -7156,6 +8032,15 @@ __metadata: languageName: node linkType: hard +"@xyo-network/previous-hash-store-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/previous-hash-store-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + checksum: 10/f05490f4bcfbc25aa9009ca63423b2f4daf8c3e82c0d1fd20465756df945fb539fb2f579846f666c707bdf6fbd720c6a5f19ccbb7a5d24e73be4934602765bbd + languageName: node + linkType: hard + "@xyo-network/previous-hash-store-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/previous-hash-store-model@npm:3.0.3" @@ -7165,6 +8050,17 @@ __metadata: languageName: node linkType: hard +"@xyo-network/previous-hash-store-storage@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/previous-hash-store-storage@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xyo-network/previous-hash-store-model": "npm:^3.0.2" + store2: "npm:^2.14.3" + checksum: 10/821993cc16f952eebf24d93bd027fb44d689200f99971a6bca31571327c332a3e37de31a2c5aae54652663cbe502324ab65ea13d19210d411124179e2084547d + languageName: node + linkType: hard + "@xyo-network/previous-hash-store-storage@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/previous-hash-store-storage@npm:3.0.3" @@ -7176,6 +8072,17 @@ __metadata: languageName: node linkType: hard +"@xyo-network/previous-hash-store@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/previous-hash-store@npm:3.0.2" + dependencies: + "@xyo-network/previous-hash-store-indexeddb": "npm:^3.0.2" + "@xyo-network/previous-hash-store-model": "npm:^3.0.2" + "@xyo-network/previous-hash-store-storage": "npm:^3.0.2" + checksum: 10/1f7a6db12b92fe0f28cef4bd856efa4f36be3b367951e8a64e77680bc766956b07e2f3780f5ae8bba14a9c324b323955b2cff2b209d2448a71a8ded4cf705a2d + languageName: node + linkType: hard + "@xyo-network/previous-hash-store@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/previous-hash-store@npm:3.0.3" @@ -7217,6 +8124,16 @@ __metadata: languageName: node linkType: hard +"@xyo-network/query-payload-plugin@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/query-payload-plugin@npm:3.0.2" + dependencies: + "@xyo-network/payload-model": "npm:^3.0.2" + "@xyo-network/payload-plugin": "npm:^3.0.2" + checksum: 10/19a78341d5797a7e20b7fa26d71bd4de21df2d930a3eed3fadfda3f335fafb32d80843f04859c610243b4af904bcb1c900eee03168dc885678f158a00bcafcfe + languageName: node + linkType: hard + "@xyo-network/query-payload-plugin@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/query-payload-plugin@npm:3.0.3" @@ -7261,6 +8178,15 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/schema-name-validator@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/schema-name-validator@npm:3.0.2" + dependencies: + "@xyo-network/dns": "npm:^3.0.2" + checksum: 10/e43149af5f7187ba27b421751057b78f2e0995d4c84ae6daeae1075b499a31fd690c91693db4afc3fe21fa58ce5e8d84c86d43caf36a0ead19d049a7df928da2 + languageName: node + linkType: hard + "@xyo-network/schema-name-validator@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/schema-name-validator@npm:3.0.3" @@ -7600,6 +8526,21 @@ __metadata: languageName: unknown linkType: soft +"@xyo-network/wallet-model@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/wallet-model@npm:3.0.2" + dependencies: + "@xylabs/hex": "npm:^4.0.0" + "@xyo-network/account-model": "npm:^3.0.2" + peerDependencies: + ethers: ^6 + peerDependenciesMeta: + ethers: + optional: true + checksum: 10/5a71d33142a5638d5c29c5328f7e0eb0b6692cac36689c249eb99010017d1b02bd71f7a57dc4c19b69a695fd6875eb03f141796cb30518986f0ff6bdc99ccf3a + languageName: node + linkType: hard + "@xyo-network/wallet-model@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/wallet-model@npm:3.0.3" @@ -7615,6 +8556,15 @@ __metadata: languageName: node linkType: hard +"@xyo-network/wasm@npm:^3.0.2": + version: 3.0.2 + resolution: "@xyo-network/wasm@npm:3.0.2" + dependencies: + wasm-feature-detect: "npm:^1.6.2" + checksum: 10/03a52ce5c21e64ffbe08ebdb99eaeda6efdfdee65b66e5d12ba0ce73a5c5a1858ae1304e6ccf2052f51e45824d8bfce1f9d0b8da3dd41c8e8cd263f5770d2ff1 + languageName: node + linkType: hard + "@xyo-network/wasm@npm:^3.0.3": version: 3.0.3 resolution: "@xyo-network/wasm@npm:3.0.3" @@ -8371,6 +9321,13 @@ __metadata: languageName: node linkType: hard +"boolbase@npm:^1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 10/3e25c80ef626c3a3487c73dbfc70ac322ec830666c9ad915d11b701142fab25ec1e63eff2c450c74347acfd2de854ccde865cd79ef4db1683f7c7b046ea43bb0 + languageName: node + linkType: hard + "bowser@npm:^2.11.0": version: 2.11.0 resolution: "bowser@npm:2.11.0" @@ -8660,6 +9617,39 @@ __metadata: languageName: node linkType: hard +"cheerio-select@npm:^2.1.0": + version: 2.1.0 + resolution: "cheerio-select@npm:2.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-select: "npm:^5.1.0" + css-what: "npm:^6.1.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.0.1" + checksum: 10/b5d89208c23468c3a32d1e04f88b9e8c6e332e3649650c5cd29255e2cebc215071ae18563f58c3dc3f6ef4c234488fc486035490fceb78755572288245e2931a + languageName: node + linkType: hard + +"cheerio@npm:^1.0.0": + version: 1.0.0 + resolution: "cheerio@npm:1.0.0" + dependencies: + cheerio-select: "npm:^2.1.0" + dom-serializer: "npm:^2.0.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.1.0" + encoding-sniffer: "npm:^0.2.0" + htmlparser2: "npm:^9.1.0" + parse5: "npm:^7.1.2" + parse5-htmlparser2-tree-adapter: "npm:^7.0.0" + parse5-parser-stream: "npm:^7.1.2" + undici: "npm:^6.19.5" + whatwg-mimetype: "npm:^4.0.0" + checksum: 10/b535070add0f86b0a1f234274ad3ffb2c1c375c05b322d8057e89c3c797b3b4d2f05826c34a04df218bec9abf21b9f0d0bd71974a8dfe28b943fb87ab0170c38 + languageName: node + linkType: hard + "chokidar@npm:^3.5.2, chokidar@npm:^3.5.3, chokidar@npm:^3.6.0": version: 3.6.0 resolution: "chokidar@npm:3.6.0" @@ -9115,6 +10105,26 @@ __metadata: languageName: node linkType: hard +"css-select@npm:^5.1.0": + version: 5.1.0 + resolution: "css-select@npm:5.1.0" + dependencies: + boolbase: "npm:^1.0.0" + css-what: "npm:^6.1.0" + domhandler: "npm:^5.0.2" + domutils: "npm:^3.0.1" + nth-check: "npm:^2.0.1" + checksum: 10/d486b1e7eb140468218a5ab5af53257e01f937d2173ac46981f6b7de9c5283d55427a36715dc8decfc0c079cf89259ac5b41ef58f6e1a422eee44ab8bfdc78da + languageName: node + linkType: hard + +"css-what@npm:^6.1.0": + version: 6.1.0 + resolution: "css-what@npm:6.1.0" + checksum: 10/c67a3a2d0d81843af87f8bf0a4d0845b0f952377714abbb2884e48942409d57a2110eabee003609d02ee487b054614bdfcfc59ee265728ff105bd5aa221c1d0e + languageName: node + linkType: hard + "csscolorparser@npm:~1.0.3": version: 1.0.3 resolution: "csscolorparser@npm:1.0.3" @@ -9466,6 +10476,24 @@ __metadata: languageName: node linkType: hard +"dom-serializer@npm:^2.0.0": + version: 2.0.0 + resolution: "dom-serializer@npm:2.0.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.2" + entities: "npm:^4.2.0" + checksum: 10/e3bf9027a64450bca0a72297ecdc1e3abb7a2912268a9f3f5d33a2e29c1e2c3502c6e9f860fc6625940bfe0cfb57a44953262b9e94df76872fdfb8151097eeb3 + languageName: node + linkType: hard + +"domelementtype@npm:^2.3.0": + version: 2.3.0 + resolution: "domelementtype@npm:2.3.0" + checksum: 10/ee837a318ff702622f383409d1f5b25dd1024b692ef64d3096ff702e26339f8e345820f29a68bcdcea8cfee3531776b3382651232fbeae95612d6f0a75efb4f6 + languageName: node + linkType: hard + "domexception@npm:^4.0.0": version: 4.0.0 resolution: "domexception@npm:4.0.0" @@ -9475,6 +10503,26 @@ __metadata: languageName: node linkType: hard +"domhandler@npm:^5.0.2, domhandler@npm:^5.0.3": + version: 5.0.3 + resolution: "domhandler@npm:5.0.3" + dependencies: + domelementtype: "npm:^2.3.0" + checksum: 10/809b805a50a9c6884a29f38aec0a4e1b4537f40e1c861950ed47d10b049febe6b79ab72adaeeebb3cc8fc1cd33f34e97048a72a9265103426d93efafa78d3e96 + languageName: node + linkType: hard + +"domutils@npm:^3.0.1, domutils@npm:^3.1.0": + version: 3.1.0 + resolution: "domutils@npm:3.1.0" + dependencies: + dom-serializer: "npm:^2.0.0" + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + checksum: 10/9a169a6e57ac4c738269a73ab4caf785114ed70e46254139c1bbc8144ac3102aacb28a6149508395ae34aa5d6a40081f4fa5313855dc8319c6d8359866b6dfea + languageName: node + linkType: hard + "dotenv@npm:^14.2.0": version: 14.3.2 resolution: "dotenv@npm:14.3.2" @@ -9578,6 +10626,16 @@ __metadata: languageName: node linkType: hard +"encoding-sniffer@npm:^0.2.0": + version: 0.2.0 + resolution: "encoding-sniffer@npm:0.2.0" + dependencies: + iconv-lite: "npm:^0.6.3" + whatwg-encoding: "npm:^3.1.1" + checksum: 10/fe61a759dbef4d94ddc6f4fa645459897f4275eba04f0135d0459099b5f62fbba8a7ae57d23c9ec9b118c4c39ce056b51f1b8e62ad73a8ab365699448d655f4c + languageName: node + linkType: hard + "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -9597,7 +10655,7 @@ __metadata: languageName: node linkType: hard -"entities@npm:^4.4.0, entities@npm:^4.5.0": +"entities@npm:^4.2.0, entities@npm:^4.4.0, entities@npm:^4.5.0": version: 4.5.0 resolution: "entities@npm:4.5.0" checksum: 10/ede2a35c9bce1aeccd055a1b445d41c75a14a2bb1cd22e242f20cf04d236cdcd7f9c859eb83f76885327bfae0c25bf03303665ee1ce3d47c5927b98b0e3e3d48 @@ -11448,6 +12506,18 @@ __metadata: languageName: node linkType: hard +"htmlparser2@npm:^9.1.0": + version: 9.1.0 + resolution: "htmlparser2@npm:9.1.0" + dependencies: + domelementtype: "npm:^2.3.0" + domhandler: "npm:^5.0.3" + domutils: "npm:^3.1.0" + entities: "npm:^4.5.0" + checksum: 10/6352fa2a5495781fa9a02c9049908334cd068ff36d753870d30cd13b841e99c19646717567a2f9e9c44075bbe43d364e102f9d013a731ce962226d63746b794f + languageName: node + linkType: hard + "http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" @@ -11546,7 +12616,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2": +"iconv-lite@npm:0.6.3, iconv-lite@npm:^0.6.2, iconv-lite@npm:^0.6.3": version: 0.6.3 resolution: "iconv-lite@npm:0.6.3" dependencies: @@ -14056,6 +15126,15 @@ __metadata: languageName: node linkType: hard +"nth-check@npm:^2.0.1": + version: 2.1.1 + resolution: "nth-check@npm:2.1.1" + dependencies: + boolbase: "npm:^1.0.0" + checksum: 10/5afc3dafcd1573b08877ca8e6148c52abd565f1d06b1eb08caf982e3fa289a82f2cae697ffb55b5021e146d60443f1590a5d6b944844e944714a5b549675bcd3 + languageName: node + linkType: hard + "nwsapi@npm:^2.2.12, nwsapi@npm:^2.2.2": version: 2.2.12 resolution: "nwsapi@npm:2.2.12" @@ -14409,6 +15488,25 @@ __metadata: languageName: node linkType: hard +"parse5-htmlparser2-tree-adapter@npm:^7.0.0": + version: 7.0.0 + resolution: "parse5-htmlparser2-tree-adapter@npm:7.0.0" + dependencies: + domhandler: "npm:^5.0.2" + parse5: "npm:^7.0.0" + checksum: 10/23dbe45fdd338fe726cf5c55b236e1f403aeb0c1b926e18ab8ef0aa580980a25f8492d160fe2ed0ec906c3c8e38b51e68ef5620a3b9460d9458ea78946a3f7c0 + languageName: node + linkType: hard + +"parse5-parser-stream@npm:^7.1.2": + version: 7.1.2 + resolution: "parse5-parser-stream@npm:7.1.2" + dependencies: + parse5: "npm:^7.0.0" + checksum: 10/75b232d460bce6bd0e35012750a78ef034f40ccf550b7c6cec3122395af6b4553202ad3663ad468cf537ead5a2e13b6727670395fd0ff548faccad1dc2dc93cf + languageName: node + linkType: hard + "parse5@npm:^7.0.0, parse5@npm:^7.1.1, parse5@npm:^7.1.2": version: 7.1.2 resolution: "parse5@npm:7.1.2" @@ -14807,6 +15905,19 @@ __metadata: languageName: node linkType: hard +"publint@npm:^0.2.9": + version: 0.2.9 + resolution: "publint@npm:0.2.9" + dependencies: + npm-packlist: "npm:^5.1.3" + picocolors: "npm:^1.0.1" + sade: "npm:^1.8.1" + bin: + publint: lib/cli.js + checksum: 10/b09b8f327c8e18c34b9df1b4eb7260785b085cb4e4fddc21de7e105070c50b8448ea72b1b251e5855a1412f08f84851883fd50340c4a2cbc3ade7ee051268cf8 + languageName: node + linkType: hard + "punycode.js@npm:^2.3.1": version: 2.3.1 resolution: "punycode.js@npm:2.3.1" @@ -17588,6 +18699,13 @@ __metadata: languageName: node linkType: hard +"undici-types@npm:~6.18.2": + version: 6.18.2 + resolution: "undici-types@npm:6.18.2" + checksum: 10/5c863f3cc65d012498cf0f8562b9d81e785c2b8b8a8d66343b9f4351ff40a3a29b500fbaea10667626fd91a32433d4c876810aafa5ab561369de702b62d4b323 + languageName: node + linkType: hard + "undici-types@npm:~6.19.2": version: 6.19.6 resolution: "undici-types@npm:6.19.6" @@ -17595,6 +18713,13 @@ __metadata: languageName: node linkType: hard +"undici@npm:^6.19.5": + version: 6.19.7 + resolution: "undici@npm:6.19.7" + checksum: 10/77fb8b0377388f6dba8244b015841318d621031211b4f3c2273d809304b77ec44adeba4b89dfd6708bdc044190e18f068e5b231882ef15d057d4624e46f544e3 + languageName: node + linkType: hard + "unherit@npm:^1.0.4": version: 1.1.3 resolution: "unherit@npm:1.1.3"