@echothink-ui/testing 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # @echothink-ui/testing
2
+
3
+ Testing package for EchoThink app-domain websites.
4
+
5
+ This package is part of the EchoThink-UI app-domain library. It is designed for normal website app domains rendered inside EchoThink Studio's Chromium shell, not for implementing the studio browser chrome itself.
package/dist/index.cjs ADDED
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.tsx
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ TestHarness: () => TestHarness,
24
+ createTestSkillRegistry: () => createTestSkillRegistry,
25
+ taskApprovalCompositionFixture: () => taskApprovalCompositionFixture
26
+ });
27
+ module.exports = __toCommonJS(index_exports);
28
+ var import_runtime = require("@echothink-ui/runtime");
29
+ var import_skills = require("@echothink-ui/skills");
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ function createTestSkillRegistry() {
32
+ return (0, import_skills.registerEchoThinkSkills)(new import_runtime.SkillRegistry());
33
+ }
34
+ var taskApprovalCompositionFixture = {
35
+ schemaVersion: "eth.ui.composition.v1",
36
+ id: "fixture.task-approval",
37
+ title: "Task approval",
38
+ generatedBy: "app-domain",
39
+ versionLock: { runtime: "1.0.0", skills: { "eth.task.decision_gate": "^1.0.0" } },
40
+ audit: { requestId: "fixture", generatedAt: "2026-05-27T00:00:00Z", riskLevel: "medium" },
41
+ layout: {
42
+ id: "root",
43
+ type: "page",
44
+ children: [
45
+ {
46
+ id: "decision",
47
+ type: "panel",
48
+ skill: {
49
+ id: "eth.task.decision_gate",
50
+ version: "^1.0.0",
51
+ input: { title: "Decision Required", status: "approval-required" }
52
+ }
53
+ }
54
+ ]
55
+ }
56
+ };
57
+ function TestHarness({ children }) {
58
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { "data-eth-test-harness": true, children });
59
+ }
60
+ // Annotate the CommonJS export names for ESM import in node:
61
+ 0 && (module.exports = {
62
+ TestHarness,
63
+ createTestSkillRegistry,
64
+ taskApprovalCompositionFixture
65
+ });
66
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { SkillRegistry, type EthCompositionDocument } from \"@echothink-ui/runtime\";\nimport { registerEchoThinkSkills } from \"@echothink-ui/skills\";\n\nexport function createTestSkillRegistry() {\n return registerEchoThinkSkills(new SkillRegistry());\n}\n\nexport const taskApprovalCompositionFixture: EthCompositionDocument = {\n schemaVersion: \"eth.ui.composition.v1\",\n id: \"fixture.task-approval\",\n title: \"Task approval\",\n generatedBy: \"app-domain\",\n versionLock: { runtime: \"1.0.0\", skills: { \"eth.task.decision_gate\": \"^1.0.0\" } },\n audit: { requestId: \"fixture\", generatedAt: \"2026-05-27T00:00:00Z\", riskLevel: \"medium\" },\n layout: {\n id: \"root\",\n type: \"page\",\n children: [\n {\n id: \"decision\",\n type: \"panel\",\n skill: {\n id: \"eth.task.decision_gate\",\n version: \"^1.0.0\",\n input: { title: \"Decision Required\", status: \"approval-required\" }\n }\n }\n ]\n }\n};\n\nexport function TestHarness({ children }: { children: React.ReactNode }) {\n return <div data-eth-test-harness>{children}</div>;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAA2D;AAC3D,oBAAwC;AA+B/B;AA7BF,SAAS,0BAA0B;AACxC,aAAO,uCAAwB,IAAI,6BAAc,CAAC;AACpD;AAEO,IAAM,iCAAyD;AAAA,EACpE,eAAe;AAAA,EACf,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa,EAAE,SAAS,SAAS,QAAQ,EAAE,0BAA0B,SAAS,EAAE;AAAA,EAChF,OAAO,EAAE,WAAW,WAAW,aAAa,wBAAwB,WAAW,SAAS;AAAA,EACxF,QAAQ;AAAA,IACN,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL,IAAI;AAAA,UACJ,SAAS;AAAA,UACT,OAAO,EAAE,OAAO,qBAAqB,QAAQ,oBAAoB;AAAA,QACnE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,YAAY,EAAE,SAAS,GAAkC;AACvE,SAAO,4CAAC,SAAI,yBAAqB,MAAE,UAAS;AAC9C;","names":[]}
@@ -0,0 +1,7 @@
1
+ import * as React from "react";
2
+ import { SkillRegistry, type EthCompositionDocument } from "@echothink-ui/runtime";
3
+ export declare function createTestSkillRegistry(): SkillRegistry;
4
+ export declare const taskApprovalCompositionFixture: EthCompositionDocument;
5
+ export declare function TestHarness({ children }: {
6
+ children: React.ReactNode;
7
+ }): import("react/jsx-runtime").JSX.Element;
package/dist/index.js ADDED
@@ -0,0 +1,39 @@
1
+ // src/index.tsx
2
+ import { SkillRegistry } from "@echothink-ui/runtime";
3
+ import { registerEchoThinkSkills } from "@echothink-ui/skills";
4
+ import { jsx } from "react/jsx-runtime";
5
+ function createTestSkillRegistry() {
6
+ return registerEchoThinkSkills(new SkillRegistry());
7
+ }
8
+ var taskApprovalCompositionFixture = {
9
+ schemaVersion: "eth.ui.composition.v1",
10
+ id: "fixture.task-approval",
11
+ title: "Task approval",
12
+ generatedBy: "app-domain",
13
+ versionLock: { runtime: "1.0.0", skills: { "eth.task.decision_gate": "^1.0.0" } },
14
+ audit: { requestId: "fixture", generatedAt: "2026-05-27T00:00:00Z", riskLevel: "medium" },
15
+ layout: {
16
+ id: "root",
17
+ type: "page",
18
+ children: [
19
+ {
20
+ id: "decision",
21
+ type: "panel",
22
+ skill: {
23
+ id: "eth.task.decision_gate",
24
+ version: "^1.0.0",
25
+ input: { title: "Decision Required", status: "approval-required" }
26
+ }
27
+ }
28
+ ]
29
+ }
30
+ };
31
+ function TestHarness({ children }) {
32
+ return /* @__PURE__ */ jsx("div", { "data-eth-test-harness": true, children });
33
+ }
34
+ export {
35
+ TestHarness,
36
+ createTestSkillRegistry,
37
+ taskApprovalCompositionFixture
38
+ };
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { SkillRegistry, type EthCompositionDocument } from \"@echothink-ui/runtime\";\nimport { registerEchoThinkSkills } from \"@echothink-ui/skills\";\n\nexport function createTestSkillRegistry() {\n return registerEchoThinkSkills(new SkillRegistry());\n}\n\nexport const taskApprovalCompositionFixture: EthCompositionDocument = {\n schemaVersion: \"eth.ui.composition.v1\",\n id: \"fixture.task-approval\",\n title: \"Task approval\",\n generatedBy: \"app-domain\",\n versionLock: { runtime: \"1.0.0\", skills: { \"eth.task.decision_gate\": \"^1.0.0\" } },\n audit: { requestId: \"fixture\", generatedAt: \"2026-05-27T00:00:00Z\", riskLevel: \"medium\" },\n layout: {\n id: \"root\",\n type: \"page\",\n children: [\n {\n id: \"decision\",\n type: \"panel\",\n skill: {\n id: \"eth.task.decision_gate\",\n version: \"^1.0.0\",\n input: { title: \"Decision Required\", status: \"approval-required\" }\n }\n }\n ]\n }\n};\n\nexport function TestHarness({ children }: { children: React.ReactNode }) {\n return <div data-eth-test-harness>{children}</div>;\n}\n"],"mappings":";AACA,SAAS,qBAAkD;AAC3D,SAAS,+BAA+B;AA+B/B;AA7BF,SAAS,0BAA0B;AACxC,SAAO,wBAAwB,IAAI,cAAc,CAAC;AACpD;AAEO,IAAM,iCAAyD;AAAA,EACpE,eAAe;AAAA,EACf,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,aAAa;AAAA,EACb,aAAa,EAAE,SAAS,SAAS,QAAQ,EAAE,0BAA0B,SAAS,EAAE;AAAA,EAChF,OAAO,EAAE,WAAW,WAAW,aAAa,wBAAwB,WAAW,SAAS;AAAA,EACxF,QAAQ;AAAA,IACN,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,UAAU;AAAA,MACR;AAAA,QACE,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,OAAO;AAAA,UACL,IAAI;AAAA,UACJ,SAAS;AAAA,UACT,OAAO,EAAE,OAAO,qBAAqB,QAAQ,oBAAoB;AAAA,QACnE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,SAAS,YAAY,EAAE,SAAS,GAAkC;AACvE,SAAO,oBAAC,SAAI,yBAAqB,MAAE,UAAS;AAC9C;","names":[]}
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@echothink-ui/testing",
3
+ "version": "0.1.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "sideEffects": false,
7
+ "main": "./dist/index.cjs",
8
+ "module": "./dist/index.js",
9
+ "types": "./dist/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "import": "./dist/index.js",
14
+ "require": "./dist/index.cjs"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "src",
20
+ "README.md"
21
+ ],
22
+ "peerDependencies": {
23
+ "react": ">=18.3.0",
24
+ "react-dom": ">=18.3.0"
25
+ },
26
+ "dependencies": {
27
+ "@echothink-ui/core": "0.2.0",
28
+ "@echothink-ui/skills": "0.1.0",
29
+ "@echothink-ui/runtime": "0.1.0"
30
+ },
31
+ "publishConfig": {
32
+ "access": "public"
33
+ },
34
+ "scripts": {
35
+ "build": "tsup src/index.tsx --format esm,cjs --sourcemap --clean --external react --external react-dom && tsc -p tsconfig.json --declaration --emitDeclarationOnly --noEmit false --outDir dist",
36
+ "typecheck": "tsc -p tsconfig.json --noEmit",
37
+ "test": "vitest run --config ../../vitest.config.ts --passWithNoTests",
38
+ "lint": "eslint src"
39
+ }
40
+ }
package/src/index.tsx ADDED
@@ -0,0 +1,35 @@
1
+ import * as React from "react";
2
+ import { SkillRegistry, type EthCompositionDocument } from "@echothink-ui/runtime";
3
+ import { registerEchoThinkSkills } from "@echothink-ui/skills";
4
+
5
+ export function createTestSkillRegistry() {
6
+ return registerEchoThinkSkills(new SkillRegistry());
7
+ }
8
+
9
+ export const taskApprovalCompositionFixture: EthCompositionDocument = {
10
+ schemaVersion: "eth.ui.composition.v1",
11
+ id: "fixture.task-approval",
12
+ title: "Task approval",
13
+ generatedBy: "app-domain",
14
+ versionLock: { runtime: "1.0.0", skills: { "eth.task.decision_gate": "^1.0.0" } },
15
+ audit: { requestId: "fixture", generatedAt: "2026-05-27T00:00:00Z", riskLevel: "medium" },
16
+ layout: {
17
+ id: "root",
18
+ type: "page",
19
+ children: [
20
+ {
21
+ id: "decision",
22
+ type: "panel",
23
+ skill: {
24
+ id: "eth.task.decision_gate",
25
+ version: "^1.0.0",
26
+ input: { title: "Decision Required", status: "approval-required" }
27
+ }
28
+ }
29
+ ]
30
+ }
31
+ };
32
+
33
+ export function TestHarness({ children }: { children: React.ReactNode }) {
34
+ return <div data-eth-test-harness>{children}</div>;
35
+ }