@agent-native/core 0.1.0 → 0.2.1

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.
Files changed (58) hide show
  1. package/dist/cli/create.d.ts +1 -1
  2. package/dist/cli/create.js +5 -5
  3. package/dist/cli/create.js.map +1 -1
  4. package/dist/cli/index.js +95 -10
  5. package/dist/cli/index.js.map +1 -1
  6. package/dist/client/{fusion-chat.d.ts → agent-chat.d.ts} +6 -6
  7. package/dist/client/agent-chat.d.ts.map +1 -0
  8. package/dist/client/agent-chat.js +32 -0
  9. package/dist/client/agent-chat.js.map +1 -0
  10. package/dist/client/harness.d.ts +38 -0
  11. package/dist/client/harness.d.ts.map +1 -0
  12. package/dist/client/harness.js +89 -0
  13. package/dist/client/harness.js.map +1 -0
  14. package/dist/client/index.d.ts +3 -2
  15. package/dist/client/index.d.ts.map +1 -1
  16. package/dist/client/index.js +3 -2
  17. package/dist/client/index.js.map +1 -1
  18. package/dist/client/use-agent-chat.d.ts +14 -0
  19. package/dist/client/use-agent-chat.d.ts.map +1 -0
  20. package/dist/client/{use-fusion-chat.js → use-agent-chat.js} +6 -6
  21. package/dist/client/use-agent-chat.js.map +1 -0
  22. package/dist/index.browser.d.ts +3 -0
  23. package/dist/index.browser.d.ts.map +1 -0
  24. package/dist/index.browser.js +6 -0
  25. package/dist/index.browser.js.map +1 -0
  26. package/dist/index.d.ts +3 -3
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +8 -5
  29. package/dist/index.js.map +1 -1
  30. package/dist/scripts/runner.d.ts +1 -1
  31. package/dist/scripts/runner.js +1 -1
  32. package/dist/shared/{fusion-chat.d.ts → agent-chat.d.ts} +10 -10
  33. package/dist/shared/agent-chat.d.ts.map +1 -0
  34. package/dist/shared/{fusion-chat.js → agent-chat.js} +11 -11
  35. package/dist/shared/agent-chat.js.map +1 -0
  36. package/dist/shared/index.d.ts +1 -1
  37. package/dist/shared/index.d.ts.map +1 -1
  38. package/dist/shared/index.js +1 -1
  39. package/dist/shared/index.js.map +1 -1
  40. package/dist/vite/client.js +1 -1
  41. package/dist/vite/client.js.map +1 -1
  42. package/package.json +32 -11
  43. package/src/templates/default/AGENTS.md +7 -7
  44. package/src/templates/default/client/App.tsx +1 -1
  45. package/src/templates/default/client/lib/utils.ts +1 -1
  46. package/src/templates/default/package.json +6 -9
  47. package/src/templates/default/scripts/hello.ts +4 -4
  48. package/src/templates/default/scripts/run.ts +1 -1
  49. package/src/templates/default/server/index.ts +1 -1
  50. package/src/templates/default/server/node-build.ts +1 -1
  51. package/dist/client/fusion-chat.d.ts.map +0 -1
  52. package/dist/client/fusion-chat.js +0 -19
  53. package/dist/client/fusion-chat.js.map +0 -1
  54. package/dist/client/use-fusion-chat.d.ts +0 -14
  55. package/dist/client/use-fusion-chat.d.ts.map +0 -1
  56. package/dist/client/use-fusion-chat.js.map +0 -1
  57. package/dist/shared/fusion-chat.d.ts.map +0 -1
  58. package/dist/shared/fusion-chat.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Scaffold a new @agent-native/core app from the default template.
2
+ * Scaffold a new agent-native app from the default template.
3
3
  */
4
4
  export declare function createApp(name?: string): void;
5
5
  //# sourceMappingURL=create.d.ts.map
@@ -4,11 +4,11 @@ import { fileURLToPath } from "url";
4
4
  const __filename = fileURLToPath(import.meta.url);
5
5
  const __dirname = path.dirname(__filename);
6
6
  /**
7
- * Scaffold a new @agent-native/core app from the default template.
7
+ * Scaffold a new agent-native app from the default template.
8
8
  */
9
9
  export function createApp(name) {
10
10
  if (!name) {
11
- console.error("Usage: @agent-native/core create <app-name>");
11
+ console.error("Usage: agent-native create <app-name>");
12
12
  process.exit(1);
13
13
  }
14
14
  // Validate name
@@ -67,9 +67,9 @@ export function createApp(name) {
67
67
  console.log(`Next steps:`);
68
68
  console.log(` cd ${name}`);
69
69
  console.log(` pnpm install`);
70
- console.log(` pnpm dev`);
71
- console.log(``);
72
- console.log(`Your app will be running at http://localhost:8080`);
70
+ console.log(` pnpm dev # Start dev server at http://localhost:8080`);
71
+ console.log(` pnpm build # Build for production`);
72
+ console.log(` pnpm start # Start production server`);
73
73
  }
74
74
  function copyDir(src, dest) {
75
75
  fs.mkdirSync(dest, { recursive: true });
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/cli/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/cli/create.ts"],"names":[],"mappings":"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"}
package/dist/cli/index.js CHANGED
@@ -1,27 +1,112 @@
1
1
  #!/usr/bin/env node
2
- import { createApp } from "./create.js";
2
+ import { execSync, spawn } from "child_process";
3
+ import path from "path";
4
+ import fs from "fs";
3
5
  const command = process.argv[2];
4
6
  const args = process.argv.slice(3);
7
+ function findViteBin() {
8
+ // Look for vite in node_modules/.bin
9
+ const localVite = path.resolve("node_modules/.bin/vite");
10
+ if (fs.existsSync(localVite))
11
+ return localVite;
12
+ return "vite"; // fallback to PATH
13
+ }
14
+ function findTsxBin() {
15
+ const localTsx = path.resolve("node_modules/.bin/tsx");
16
+ if (fs.existsSync(localTsx))
17
+ return localTsx;
18
+ return "tsx";
19
+ }
20
+ function run(cmd, cmdArgs, opts) {
21
+ const child = spawn(cmd, cmdArgs, {
22
+ stdio: opts?.stdio ?? "inherit",
23
+ shell: process.platform === "win32",
24
+ env: process.env,
25
+ });
26
+ child.on("exit", (code) => process.exit(code ?? 0));
27
+ return child;
28
+ }
5
29
  switch (command) {
6
- case "create":
7
- createApp(args[0]);
30
+ case "dev": {
31
+ // Like `next dev` — runs Vite dev server with express plugin
32
+ const vite = findViteBin();
33
+ run(vite, args);
34
+ break;
35
+ }
36
+ case "build": {
37
+ // Like `next build` — builds client SPA + server bundle
38
+ const vite = findViteBin();
39
+ console.log("Building client...");
40
+ execSync(`${vite} build`, { stdio: "inherit" });
41
+ console.log("\nBuilding server...");
42
+ execSync(`${vite} build --config vite.config.server.ts`, { stdio: "inherit" });
43
+ console.log("\nBuild complete.");
44
+ break;
45
+ }
46
+ case "start": {
47
+ // Like `next start` — runs production server
48
+ const serverEntry = path.resolve("dist/server/production.mjs");
49
+ if (!fs.existsSync(serverEntry)) {
50
+ console.error('No production build found. Run "agent-native build" first.');
51
+ process.exit(1);
52
+ }
53
+ run("node", [serverEntry, ...args]);
54
+ break;
55
+ }
56
+ case "script": {
57
+ // Run a script from scripts/ — `agent-native script generate-image --prompt "hello"`
58
+ const scriptName = args[0];
59
+ if (!scriptName) {
60
+ console.error("Usage: agent-native script <name> [--args]");
61
+ process.exit(1);
62
+ }
63
+ const tsx = findTsxBin();
64
+ run(tsx, ["scripts/run.ts", ...args]);
65
+ break;
66
+ }
67
+ case "typecheck": {
68
+ // Run TypeScript type checking
69
+ const tsc = path.resolve("node_modules/.bin/tsc");
70
+ const tscBin = fs.existsSync(tsc) ? tsc : "tsc";
71
+ run(tscBin, ["--noEmit", ...args]);
72
+ break;
73
+ }
74
+ case "create": {
75
+ import("./create.js").then((m) => m.createApp(args[0]));
76
+ break;
77
+ }
78
+ case "--version":
79
+ case "-v": {
80
+ const pkgPath = path.resolve(path.dirname(new URL(import.meta.url).pathname), "../../package.json");
81
+ try {
82
+ const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf-8"));
83
+ console.log(pkg.version);
84
+ }
85
+ catch {
86
+ console.log("unknown");
87
+ }
8
88
  break;
89
+ }
9
90
  case "--help":
10
91
  case "-h":
11
92
  case undefined:
12
- console.log(`agent-native CLI
93
+ console.log(`agent-native v0.2.0
13
94
 
14
95
  Usage:
15
- agent-native create <app-name> Scaffold a new agent-native app
16
- agent-native --help Show this help message
96
+ agent-native dev Start development server
97
+ agent-native build Build for production (client + server)
98
+ agent-native start Start production server
99
+ agent-native script <name> Run a script from scripts/
100
+ agent-native typecheck Run TypeScript type checking
101
+ agent-native create <name> Scaffold a new agent-native app
17
102
 
18
- Examples:
19
- npx @agent-native/core create my-app
20
- agent-native create fusion-analytics`);
103
+ Options:
104
+ -h, --help Show this help message
105
+ -v, --version Show version number`);
21
106
  break;
22
107
  default:
23
108
  console.error(`Unknown command: ${command}`);
24
- console.error(`Run "agent-native --help" for usage.`);
109
+ console.error('Run "agent-native --help" for usage.');
25
110
  process.exit(1);
26
111
  }
27
112
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,QAAQ,OAAO,EAAE,CAAC;IAChB,KAAK,QAAQ;QACX,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM;IACR,KAAK,QAAQ,CAAC;IACd,KAAK,IAAI,CAAC;IACV,KAAK,SAAS;QACZ,OAAO,CAAC,GAAG,CAAC;;;;;;;;uCAQuB,CAAC,CAAC;QACrC,MAAM;IACR;QACE,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * Fusion Chat Bridge (browser)
2
+ * Agent Chat Bridge (browser)
3
3
  *
4
- * Sends structured messages to the Fusion AI chat from UI interactions.
4
+ * Sends structured messages to the agent chat from UI interactions.
5
5
  * Messages are sent via postMessage to the parent window (or self if top-level).
6
6
  */
7
- export interface FusionChatMessage {
7
+ export interface AgentChatMessage {
8
8
  /** The visible prompt message sent to the chat */
9
9
  message: string;
10
10
  /** Hidden context appended to the message (not shown in chat UI) */
@@ -21,7 +21,7 @@ export interface FusionChatMessage {
21
21
  uploadedReferenceImages?: string[];
22
22
  }
23
23
  /**
24
- * Send a message to the Fusion AI chat via postMessage.
24
+ * Send a message to the agent chat via postMessage.
25
25
  */
26
- export declare function sendToFusionChat(opts: FusionChatMessage): void;
27
- //# sourceMappingURL=fusion-chat.d.ts.map
26
+ export declare function sendToAgentChat(opts: AgentChatMessage): void;
27
+ //# sourceMappingURL=agent-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-chat.d.ts","sourceRoot":"","sources":["../../src/client/agent-chat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,yCAAyC;IACzC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AAoBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAQ5D"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Agent Chat Bridge (browser)
3
+ *
4
+ * Sends structured messages to the agent chat from UI interactions.
5
+ * Messages are sent via postMessage to the parent window (or self if top-level).
6
+ */
7
+ const AGENT_CHAT_MESSAGE_TYPE = "builder.submitChat";
8
+ /**
9
+ * Listen for chatRunning messages from the harness (postMessage)
10
+ * and re-dispatch as a CustomEvent so hooks like useAgentChatGenerating() work.
11
+ */
12
+ if (typeof window !== "undefined") {
13
+ window.addEventListener("message", (event) => {
14
+ if (event.data?.type === "builder.fusion.chatRunning") {
15
+ window.dispatchEvent(new CustomEvent("builder.fusion.chatRunning", {
16
+ detail: event.data.detail,
17
+ }));
18
+ }
19
+ });
20
+ }
21
+ /**
22
+ * Send a message to the agent chat via postMessage.
23
+ */
24
+ export function sendToAgentChat(opts) {
25
+ const payload = {
26
+ type: AGENT_CHAT_MESSAGE_TYPE,
27
+ data: opts,
28
+ };
29
+ const target = window.parent !== window ? window.parent : window;
30
+ target.postMessage(payload, "*");
31
+ }
32
+ //# sourceMappingURL=agent-chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-chat.js","sourceRoot":"","sources":["../../src/client/agent-chat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAErD;;;GAGG;AACH,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;IAClC,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3C,IAAI,KAAK,CAAC,IAAI,EAAE,IAAI,KAAK,4BAA4B,EAAE,CAAC;YACtD,MAAM,CAAC,aAAa,CAClB,IAAI,WAAW,CAAC,4BAA4B,EAAE;gBAC5C,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;aAC1B,CAAC,CACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Harness Communication (browser)
3
+ *
4
+ * Utilities for communicating with the parent harness frame via postMessage.
5
+ * Provides typed request/response patterns and message sending.
6
+ */
7
+ /**
8
+ * Send a typed message to the parent harness frame.
9
+ * No-op if running at top level (no parent frame).
10
+ */
11
+ export declare function sendToHarness(type: string, data?: any): void;
12
+ /**
13
+ * Listen for a specific message type from the parent harness.
14
+ * Returns a cleanup function.
15
+ */
16
+ export declare function onHarnessMessage(type: string, handler: (data: any) => void): () => void;
17
+ export interface UserInfo {
18
+ name?: string;
19
+ email?: string;
20
+ }
21
+ /**
22
+ * Request user info (name + email) from the parent harness.
23
+ * Falls back to empty object if harness doesn't respond within timeout.
24
+ */
25
+ export declare function requestUserInfo(timeoutMs?: number): Promise<UserInfo>;
26
+ /**
27
+ * Enter visual editing selection mode for a specific element.
28
+ */
29
+ export declare function enterStyleEditing(selector: string): void;
30
+ /**
31
+ * Enter text editing mode for a specific element.
32
+ */
33
+ export declare function enterTextEditing(selector: string): void;
34
+ /**
35
+ * Exit selection mode.
36
+ */
37
+ export declare function exitSelectionMode(): void;
38
+ //# sourceMappingURL=harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../src/client/harness.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI,CAI5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC3B,MAAM,IAAI,CAUZ;AAMD,MAAM,WAAW,QAAQ;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,SAAS,SAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8BnE;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAExD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Harness Communication (browser)
3
+ *
4
+ * Utilities for communicating with the parent harness frame via postMessage.
5
+ * Provides typed request/response patterns and message sending.
6
+ */
7
+ // ---------------------------------------------------------------------------
8
+ // Low-level parent messaging
9
+ // ---------------------------------------------------------------------------
10
+ /**
11
+ * Send a typed message to the parent harness frame.
12
+ * No-op if running at top level (no parent frame).
13
+ */
14
+ export function sendToHarness(type, data) {
15
+ if (typeof window === "undefined")
16
+ return;
17
+ const target = window.parent !== window ? window.parent : window;
18
+ target.postMessage({ type, data }, "*");
19
+ }
20
+ /**
21
+ * Listen for a specific message type from the parent harness.
22
+ * Returns a cleanup function.
23
+ */
24
+ export function onHarnessMessage(type, handler) {
25
+ if (typeof window === "undefined")
26
+ return () => { };
27
+ const listener = (event) => {
28
+ if (event.data?.type === type) {
29
+ handler(event.data.data ?? event.data.detail ?? event.data);
30
+ }
31
+ };
32
+ window.addEventListener("message", listener);
33
+ return () => window.removeEventListener("message", listener);
34
+ }
35
+ /**
36
+ * Request user info (name + email) from the parent harness.
37
+ * Falls back to empty object if harness doesn't respond within timeout.
38
+ */
39
+ export function requestUserInfo(timeoutMs = 1500) {
40
+ return new Promise((resolve) => {
41
+ if (typeof window === "undefined" || window.parent === window) {
42
+ resolve({});
43
+ return;
44
+ }
45
+ let settled = false;
46
+ const timer = setTimeout(() => {
47
+ if (!settled) {
48
+ settled = true;
49
+ window.removeEventListener("message", handler);
50
+ resolve({});
51
+ }
52
+ }, timeoutMs);
53
+ function handler(event) {
54
+ if (!event.data || event.data.type !== "builder.userInfo")
55
+ return;
56
+ if (settled)
57
+ return;
58
+ settled = true;
59
+ clearTimeout(timer);
60
+ window.removeEventListener("message", handler);
61
+ const { name, email } = event.data.data ?? {};
62
+ resolve({ name: name || undefined, email: email || undefined });
63
+ }
64
+ window.addEventListener("message", handler);
65
+ window.parent.postMessage({ type: "builder.getUserInfo" }, "*");
66
+ });
67
+ }
68
+ // ---------------------------------------------------------------------------
69
+ // Selection Mode (visual editing)
70
+ // ---------------------------------------------------------------------------
71
+ /**
72
+ * Enter visual editing selection mode for a specific element.
73
+ */
74
+ export function enterStyleEditing(selector) {
75
+ sendToHarness("builder.enterStyleEditing", { selector });
76
+ }
77
+ /**
78
+ * Enter text editing mode for a specific element.
79
+ */
80
+ export function enterTextEditing(selector) {
81
+ sendToHarness("builder.enterTextEditing", { selector });
82
+ }
83
+ /**
84
+ * Exit selection mode.
85
+ */
86
+ export function exitSelectionMode() {
87
+ sendToHarness("builder.exitSelectionMode");
88
+ }
89
+ //# sourceMappingURL=harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../../src/client/harness.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- export { sendToFusionChat, type FusionChatMessage } from "./fusion-chat.js";
2
- export { useFusionChatGenerating } from "./use-fusion-chat.js";
1
+ export { sendToAgentChat, type AgentChatMessage } from "./agent-chat.js";
2
+ export { useAgentChatGenerating } from "./use-agent-chat.js";
3
3
  export { useFileWatcher } from "./use-file-watcher.js";
4
4
  export { cn } from "./utils.js";
5
+ export { sendToHarness, onHarnessMessage, requestUserInfo, enterStyleEditing, enterTextEditing, exitSelectionMode, type UserInfo, } from "./harness.js";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,QAAQ,GACd,MAAM,cAAc,CAAC"}
@@ -1,5 +1,6 @@
1
- export { sendToFusionChat } from "./fusion-chat.js";
2
- export { useFusionChatGenerating } from "./use-fusion-chat.js";
1
+ export { sendToAgentChat } from "./agent-chat.js";
2
+ export { useAgentChatGenerating } from "./use-agent-chat.js";
3
3
  export { useFileWatcher } from "./use-file-watcher.js";
4
4
  export { cn } from "./utils.js";
5
+ export { sendToHarness, onHarnessMessage, requestUserInfo, enterStyleEditing, enterTextEditing, exitSelectionMode, } from "./harness.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,GAElB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type AgentChatMessage } from "./agent-chat.js";
2
+ /**
3
+ * Hook that wraps sendToAgentChat with a loading state.
4
+ *
5
+ * Returns [isGenerating, send] where:
6
+ * - isGenerating: true after send() is called, false when the
7
+ * builder.fusion.chatRunning event fires with detail.isRunning === false
8
+ * - send: wrapper around sendToAgentChat that sets isGenerating to true
9
+ */
10
+ export declare function useAgentChatGenerating(): [
11
+ boolean,
12
+ (opts: AgentChatMessage) => void
13
+ ];
14
+ //# sourceMappingURL=use-agent-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-agent-chat.d.ts","sourceRoot":"","sources":["../../src/client/use-agent-chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEzE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,IAAI;IACxC,OAAO;IACP,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI;CACjC,CAqBA"}
@@ -1,14 +1,14 @@
1
1
  import { useState, useEffect, useCallback } from "react";
2
- import { sendToFusionChat } from "./fusion-chat.js";
2
+ import { sendToAgentChat } from "./agent-chat.js";
3
3
  /**
4
- * Hook that wraps sendToFusionChat with a loading state.
4
+ * Hook that wraps sendToAgentChat with a loading state.
5
5
  *
6
6
  * Returns [isGenerating, send] where:
7
7
  * - isGenerating: true after send() is called, false when the
8
8
  * builder.fusion.chatRunning event fires with detail.isRunning === false
9
- * - send: wrapper around sendToFusionChat that sets isGenerating to true
9
+ * - send: wrapper around sendToAgentChat that sets isGenerating to true
10
10
  */
11
- export function useFusionChatGenerating() {
11
+ export function useAgentChatGenerating() {
12
12
  const [isGenerating, setIsGenerating] = useState(false);
13
13
  useEffect(() => {
14
14
  const handler = (e) => {
@@ -22,8 +22,8 @@ export function useFusionChatGenerating() {
22
22
  }, []);
23
23
  const send = useCallback((opts) => {
24
24
  setIsGenerating(true);
25
- sendToFusionChat(opts);
25
+ sendToAgentChat(opts);
26
26
  }, []);
27
27
  return [isGenerating, send];
28
28
  }
29
- //# sourceMappingURL=use-fusion-chat.js.map
29
+ //# sourceMappingURL=use-agent-chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-agent-chat.js","sourceRoot":"","sources":["../../src/client/use-agent-chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,eAAe,EAAyB,MAAM,iBAAiB,CAAC;AAEzE;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB;IAIpC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAI,CAAiB,CAAC,MAAM,CAAC;YACzC,IAAI,MAAM,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;gBAChC,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE,CACV,MAAM,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,IAAsB,EAAE,EAAE;QAClD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,eAAe,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { sendToAgentChat, useAgentChatGenerating, useFileWatcher, cn, type AgentChatMessage, } from "./client/index.js";
2
+ export { agentChat } from "./shared/index.js";
3
+ //# sourceMappingURL=index.browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,EAAE,EACF,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Browser-safe entry — only client & shared exports (no Node/Express/chokidar).
2
+ // Client
3
+ export { sendToAgentChat, useAgentChatGenerating, useFileWatcher, cn, } from "./client/index.js";
4
+ // Shared (isomorphic)
5
+ export { agentChat } from "./shared/index.js";
6
+ //# sourceMappingURL=index.browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAEhF,SAAS;AACT,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,EAAE,GAEH,MAAM,mBAAmB,CAAC;AAE3B,sBAAsB;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { createServer, createFileWatcher, createSSEHandler, createProductionServer, } from "./server/index.js";
2
- export { sendToFusionChat, useFusionChatGenerating, useFileWatcher, cn } from "./client/index.js";
3
- export { fusionChat } from "./shared/index.js";
1
+ export { createServer, createFileWatcher, createSSEHandler, createProductionServer, type CreateServerOptions, type FileWatcherOptions, type SSEHandlerOptions, type ProductionServerOptions, } from "./server/index.js";
2
+ export { sendToAgentChat, useAgentChatGenerating, useFileWatcher, cn, type AgentChatMessage, } from "./client/index.js";
3
+ export { agentChat } from "./shared/index.js";
4
4
  export { runScript, loadEnv, parseArgs, camelCaseArgs, isValidPath, isValidProjectPath, ensureDir, fail, } from "./scripts/index.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAElG,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EACL,SAAS,EACT,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,IAAI,GACL,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,EAAE,EACF,KAAK,gBAAgB,GACtB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EACL,SAAS,EACT,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,IAAI,GACL,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,8 +1,11 @@
1
- // Main entry point — re-exports from all subpackages for convenience.
2
- // Prefer importing from specific subpaths (e.g. "@agent-native/core/server")
3
- // for better tree-shaking and to avoid pulling in unnecessary dependencies.
1
+ // Framework for agent-native apps.
2
+ // Import everything from "@agent-native/core".
3
+ // Server
4
4
  export { createServer, createFileWatcher, createSSEHandler, createProductionServer, } from "./server/index.js";
5
- export { sendToFusionChat, useFusionChatGenerating, useFileWatcher, cn } from "./client/index.js";
6
- export { fusionChat } from "./shared/index.js";
5
+ // Client
6
+ export { sendToAgentChat, useAgentChatGenerating, useFileWatcher, cn, } from "./client/index.js";
7
+ // Shared (isomorphic)
8
+ export { agentChat } from "./shared/index.js";
9
+ // Scripts
7
10
  export { runScript, loadEnv, parseArgs, camelCaseArgs, isValidPath, isValidProjectPath, ensureDir, fail, } from "./scripts/index.js";
8
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,6EAA6E;AAC7E,4EAA4E;AAE5E,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAC;AAElG,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EACL,SAAS,EACT,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,IAAI,GACL,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,+CAA+C;AAE/C,SAAS;AACT,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,sBAAsB,GAKvB,MAAM,mBAAmB,CAAC;AAE3B,SAAS;AACT,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,EAAE,GAEH,MAAM,mBAAmB,CAAC;AAE3B,sBAAsB;AACtB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,UAAU;AACV,OAAO,EACL,SAAS,EACT,OAAO,EACP,SAAS,EACT,aAAa,EACb,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,IAAI,GACL,MAAM,oBAAoB,CAAC"}
@@ -9,7 +9,7 @@
9
9
  /**
10
10
  * Run the script dispatcher. Call this from your app's scripts/run.ts:
11
11
  *
12
- * import { runScript } from "@agent-native/core/scripts";
12
+ * import { runScript } from "@agent-native/core";
13
13
  * runScript();
14
14
  */
15
15
  export declare function runScript(): Promise<void>;
@@ -9,7 +9,7 @@
9
9
  /**
10
10
  * Run the script dispatcher. Call this from your app's scripts/run.ts:
11
11
  *
12
- * import { runScript } from "@agent-native/core/scripts";
12
+ * import { runScript } from "@agent-native/core";
13
13
  * runScript();
14
14
  */
15
15
  export async function runScript() {
@@ -1,12 +1,12 @@
1
1
  /**
2
- * Isomorphic Fusion Chat Utility
2
+ * Isomorphic Agent Chat Utility
3
3
  *
4
4
  * Works in both browser and Node.js contexts:
5
5
  * - Browser: sends via postMessage to the parent window
6
6
  * - Node.js (scripts): sends via BUILDER_PARENT_MESSAGE stdout format,
7
7
  * which the Electron host translates to postMessage
8
8
  */
9
- export interface FusionChatMessage {
9
+ export interface AgentChatMessage {
10
10
  /** The visible prompt text shown in the chat input */
11
11
  message: string;
12
12
  /** Hidden context appended to the prompt (not shown to user, but sent to AI) */
@@ -15,25 +15,25 @@ export interface FusionChatMessage {
15
15
  submit?: boolean;
16
16
  }
17
17
  /**
18
- * Send a structured message to Fusion AI chat.
18
+ * Send a structured message to the agent chat.
19
19
  * Automatically detects environment (browser vs Node.js) and uses the right transport.
20
20
  */
21
- declare function send(data: FusionChatMessage): void;
21
+ declare function send(data: AgentChatMessage): void;
22
22
  /**
23
- * Submit a message to Fusion chat (auto-submits by default).
23
+ * Submit a message to the agent chat (auto-submits by default).
24
24
  */
25
25
  declare function submit(message: string, context?: string): void;
26
26
  /**
27
- * Prefill the Fusion chat input without submitting (user reviews first).
27
+ * Prefill the agent chat input without submitting (user reviews first).
28
28
  */
29
29
  declare function prefill(message: string, context?: string): void;
30
- export declare const fusionChat: {
31
- /** Send raw FusionChatMessage — full control over all fields */
30
+ export declare const agentChat: {
31
+ /** Send raw AgentChatMessage — full control over all fields */
32
32
  send: typeof send;
33
- /** Auto-submit a message to Fusion chat */
33
+ /** Auto-submit a message to agent chat */
34
34
  submit: typeof submit;
35
35
  /** Prefill the chat input for user review before sending */
36
36
  prefill: typeof prefill;
37
37
  };
38
38
  export {};
39
- //# sourceMappingURL=fusion-chat.d.ts.map
39
+ //# sourceMappingURL=agent-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-chat.d.ts","sourceRoot":"","sources":["../../src/shared/agent-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAOD;;;GAGG;AACH,iBAAS,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAiB1C;AAED;;GAEG;AACH,iBAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,eAAO,MAAM,SAAS;IACpB,+DAA+D;;IAE/D,0CAA0C;;IAE1C,4DAA4D;;CAE7D,CAAC"}
@@ -1,26 +1,26 @@
1
1
  /**
2
- * Isomorphic Fusion Chat Utility
2
+ * Isomorphic Agent Chat Utility
3
3
  *
4
4
  * Works in both browser and Node.js contexts:
5
5
  * - Browser: sends via postMessage to the parent window
6
6
  * - Node.js (scripts): sends via BUILDER_PARENT_MESSAGE stdout format,
7
7
  * which the Electron host translates to postMessage
8
8
  */
9
- const FUSION_MESSAGE_TYPE = "builder.submitChat";
9
+ const AGENT_CHAT_MESSAGE_TYPE = "builder.submitChat";
10
10
  const isBrowser = typeof window !== "undefined" && typeof window.postMessage === "function";
11
11
  /**
12
- * Send a structured message to Fusion AI chat.
12
+ * Send a structured message to the agent chat.
13
13
  * Automatically detects environment (browser vs Node.js) and uses the right transport.
14
14
  */
15
15
  function send(data) {
16
- const payload = { type: FUSION_MESSAGE_TYPE, data };
16
+ const payload = { type: AGENT_CHAT_MESSAGE_TYPE, data };
17
17
  if (isBrowser) {
18
18
  const target = window.parent !== window ? window.parent : window;
19
19
  try {
20
20
  target.postMessage(payload, "*");
21
21
  }
22
22
  catch (err) {
23
- console.error("[fusionChat] postMessage failed:", err);
23
+ console.error("[agentChat] postMessage failed:", err);
24
24
  }
25
25
  }
26
26
  else {
@@ -30,23 +30,23 @@ function send(data) {
30
30
  }
31
31
  }
32
32
  /**
33
- * Submit a message to Fusion chat (auto-submits by default).
33
+ * Submit a message to the agent chat (auto-submits by default).
34
34
  */
35
35
  function submit(message, context) {
36
36
  send({ message, context, submit: true });
37
37
  }
38
38
  /**
39
- * Prefill the Fusion chat input without submitting (user reviews first).
39
+ * Prefill the agent chat input without submitting (user reviews first).
40
40
  */
41
41
  function prefill(message, context) {
42
42
  send({ message, context, submit: false });
43
43
  }
44
- export const fusionChat = {
45
- /** Send raw FusionChatMessage — full control over all fields */
44
+ export const agentChat = {
45
+ /** Send raw AgentChatMessage — full control over all fields */
46
46
  send,
47
- /** Auto-submit a message to Fusion chat */
47
+ /** Auto-submit a message to agent chat */
48
48
  submit,
49
49
  /** Prefill the chat input for user review before sending */
50
50
  prefill,
51
51
  };
52
- //# sourceMappingURL=fusion-chat.js.map
52
+ //# sourceMappingURL=agent-chat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-chat.js","sourceRoot":"","sources":["../../src/shared/agent-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,MAAM,uBAAuB,GAAG,oBAAoB,CAAC;AAErD,MAAM,SAAS,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,CAAC;AAE5E;;;GAGG;AACH,SAAS,IAAI,CAAC,IAAsB;IAClC,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;IAExD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,OAAO,CAAC,GAAG,CACT,yBAAyB;YACvB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,OAAe,EAAE,OAAgB;IAC/C,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,OAAe,EAAE,OAAgB;IAChD,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,+DAA+D;IAC/D,IAAI;IACJ,0CAA0C;IAC1C,MAAM;IACN,4DAA4D;IAC5D,OAAO;CACR,CAAC"}
@@ -1,2 +1,2 @@
1
- export { fusionChat, type FusionChatMessage } from "./fusion-chat.js";
1
+ export { agentChat, type AgentChatMessage } from "./agent-chat.js";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,2 +1,2 @@
1
- export { fusionChat } from "./fusion-chat.js";
1
+ export { agentChat } from "./agent-chat.js";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,iBAAiB,CAAC"}
@@ -21,7 +21,7 @@ export function defineConfig(options = {}) {
21
21
  host: "::",
22
22
  port: options.port ?? 8080,
23
23
  fs: {
24
- allow: ["./client", "./shared", ...(options.fsAllow ?? [])],
24
+ allow: [".", ...(options.fsAllow ?? [])],
25
25
  deny: [
26
26
  ".env",
27
27
  ".env.*",
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAmB/E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,UAA+B,EAAE;IAC5D,qCAAqC;IACrC,IAAI,WAAgB,CAAC;IACrB,IAAI,CAAC;QACH,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAClD,IAAI,WAAW,CAAC,OAAO;YAAE,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,EAAE,EAAE;gBACF,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBAC3D,IAAI,EAAE;oBACJ,MAAM;oBACN,QAAQ;oBACR,aAAa;oBACb,YAAY;oBACZ,WAAW;oBACX,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;iBAC1B;aACF;SACF;QACD,KAAK,EAAE;YACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,UAAU;SACrC;QACD,OAAO,EAAE;YACP,WAAW,EAAE,EAAE;YACf,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B,CAAC,MAAM,CAAC,OAAO,CAAC;QACjB,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC;gBAClC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC;gBACxC,GAAG,OAAO,CAAC,OAAO;aACnB;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/vite/client.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,aAAa,EAA6B,MAAM,qBAAqB,CAAC;AAmB/E;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,UAA+B,EAAE;IAC5D,qCAAqC;IACrC,IAAI,WAAgB,CAAC;IACrB,IAAI,CAAC;QACH,WAAW,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAClD,IAAI,WAAW,CAAC,OAAO;YAAE,WAAW,GAAG,WAAW,CAAC,OAAO,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,OAAO;QACL,MAAM,EAAE;YACN,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;YAC1B,EAAE,EAAE;gBACF,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACxC,IAAI,EAAE;oBACJ,MAAM;oBACN,QAAQ;oBACR,aAAa;oBACb,YAAY;oBACZ,WAAW;oBACX,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;iBAC1B;aACF;SACF;QACD,KAAK,EAAE;YACL,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,UAAU;SACrC;QACD,OAAO,EAAE;YACP,WAAW,EAAE,EAAE;YACf,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC;YAC9B,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;SAC3B,CAAC,MAAM,CAAC,OAAO,CAAC;QACjB,OAAO,EAAE;YACP,KAAK,EAAE;gBACL,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC;gBAClC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC;gBACxC,GAAG,OAAO,CAAC,OAAO;aACnB;SACF;KACF,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "type": "module",
5
5
  "description": "Framework for agent-native application development — where AI agents and UI share state via files",
6
6
  "license": "MIT",
@@ -8,7 +8,10 @@
8
8
  "agent-native": "./dist/cli/index.js"
9
9
  },
10
10
  "exports": {
11
- ".": "./dist/index.js",
11
+ ".": {
12
+ "browser": "./dist/index.browser.js",
13
+ "default": "./dist/index.js"
14
+ },
12
15
  "./vite": "./dist/vite/index.js",
13
16
  "./server": "./dist/server/index.js",
14
17
  "./client": "./dist/client/index.js",
@@ -51,15 +54,33 @@
51
54
  "vite": ">=6"
52
55
  },
53
56
  "peerDependenciesMeta": {
54
- "@tanstack/react-query": { "optional": true },
55
- "tailwindcss": { "optional": true },
56
- "tailwindcss-animate": { "optional": true },
57
- "autoprefixer": { "optional": true },
58
- "postcss": { "optional": true },
59
- "cors": { "optional": true },
60
- "express": { "optional": true },
61
- "@vitejs/plugin-react-swc": { "optional": true },
62
- "vite": { "optional": true }
57
+ "@tanstack/react-query": {
58
+ "optional": true
59
+ },
60
+ "tailwindcss": {
61
+ "optional": true
62
+ },
63
+ "tailwindcss-animate": {
64
+ "optional": true
65
+ },
66
+ "autoprefixer": {
67
+ "optional": true
68
+ },
69
+ "postcss": {
70
+ "optional": true
71
+ },
72
+ "cors": {
73
+ "optional": true
74
+ },
75
+ "express": {
76
+ "optional": true
77
+ },
78
+ "@vitejs/plugin-react-swc": {
79
+ "optional": true
80
+ },
81
+ "vite": {
82
+ "optional": true
83
+ }
63
84
  },
64
85
  "devDependencies": {
65
86
  "@tanstack/react-query": "^5.84.2",
@@ -7,7 +7,7 @@ This is an **@agent-native/core** application — the AI agent and UI share stat
7
7
  ### Core Principles
8
8
 
9
9
  1. **Files as database** — All app state lives in files. Both UI and agent read/write the same files.
10
- 2. **All AI through agent chat** — No inline LLM calls. UI delegates to the AI via `sendToFusionChat()` / `fusionChat.submit()`.
10
+ 2. **All AI through agent chat** — No inline LLM calls. UI delegates to the AI via `sendToAgentChat()` / `agentChat.submit()`.
11
11
  3. **Scripts for agent operations** — `pnpm script <name>` dispatches to callable script files in `scripts/`.
12
12
  4. **Bidirectional SSE events** — The file watcher keeps the UI in sync when the agent modifies files.
13
13
  5. **Agent can update code** — The agent can modify this app's source code directly.
@@ -43,16 +43,16 @@ Edit `server/index.ts`, add your route to `createAppServer()`.
43
43
  Create `scripts/my-script.ts` exporting `default async function(args: string[])`.
44
44
  Run with: `pnpm script my-script --arg value`
45
45
 
46
- **Sending to Fusion chat from UI:**
46
+ **Sending to agent chat from UI:**
47
47
  ```ts
48
- import { sendToFusionChat } from "@agent-native/core/client";
49
- sendToFusionChat({ message: "Generate something", context: "...", submit: true });
48
+ import { sendToAgentChat } from "@agent-native/core";
49
+ sendToAgentChat({ message: "Generate something", context: "...", submit: true });
50
50
  ```
51
51
 
52
- **Sending to Fusion chat from scripts:**
52
+ **Sending to agent chat from scripts:**
53
53
  ```ts
54
- import { fusionChat } from "@agent-native/core/shared";
55
- fusionChat.submit("Generate something");
54
+ import { agentChat } from "@agent-native/core";
55
+ agentChat.submit("Generate something");
56
56
  ```
57
57
 
58
58
  ### Tech Stack
@@ -1,7 +1,7 @@
1
1
  import { StrictMode } from "react";
2
2
  import { createRoot } from "react-dom/client";
3
3
  import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
4
- import { useFileWatcher } from "@agent-native/core/client";
4
+ import { useFileWatcher } from "@agent-native/core";
5
5
  import "./global.css";
6
6
 
7
7
  const queryClient = new QueryClient();
@@ -1 +1 @@
1
- export { cn } from "@agent-native/core/client";
1
+ export { cn } from "@agent-native/core";
@@ -3,17 +3,14 @@
3
3
  "private": true,
4
4
  "type": "module",
5
5
  "scripts": {
6
- "dev": "vite",
7
- "build": "npm run build:client && npm run build:server",
8
- "build:client": "vite build",
9
- "build:server": "vite build --config vite.config.server.ts",
10
- "start": "node dist/server/production.mjs",
11
- "typecheck": "tsc",
12
- "format.fix": "prettier --write .",
13
- "script": "tsx scripts/run.ts"
6
+ "dev": "agent-native dev",
7
+ "build": "agent-native build",
8
+ "start": "agent-native start",
9
+ "typecheck": "agent-native typecheck",
10
+ "script": "agent-native script"
14
11
  },
15
12
  "dependencies": {
16
- "@agent-native/core": "^0.1.0",
13
+ "@agent-native/core": "^0.2.0",
17
14
  "dotenv": "^17.2.1",
18
15
  "express": "^5.1.0"
19
16
  },
@@ -4,8 +4,8 @@
4
4
  * Scripts export a default async function that receives CLI args.
5
5
  */
6
6
 
7
- import { parseArgs } from "@agent-native/core/scripts";
8
- import { fusionChat } from "@agent-native/core/shared";
7
+ import { parseArgs } from "@agent-native/core";
8
+ import { agentChat } from "@agent-native/core";
9
9
 
10
10
  export default async function hello(args: string[]) {
11
11
  const parsed = parseArgs(args);
@@ -13,8 +13,8 @@ export default async function hello(args: string[]) {
13
13
 
14
14
  console.log(`Hello, ${name}!`);
15
15
 
16
- // Example: send a message to Fusion chat (works in Electron context)
16
+ // Example: send a message to agent chat (works in Electron context)
17
17
  if (parsed["send-chat"] === "true") {
18
- fusionChat.submit(`Hello from the script system! Name: ${name}`);
18
+ agentChat.submit(`Hello from the script system! Name: ${name}`);
19
19
  }
20
20
  }
@@ -4,6 +4,6 @@
4
4
  * Usage: pnpm script <script-name> [--args]
5
5
  */
6
6
 
7
- import { runScript } from "@agent-native/core/scripts";
7
+ import { runScript } from "@agent-native/core";
8
8
 
9
9
  runScript();
@@ -1,5 +1,5 @@
1
1
  import "dotenv/config";
2
- import { createServer, createFileWatcher, createSSEHandler } from "@agent-native/core/server";
2
+ import { createServer, createFileWatcher, createSSEHandler } from "@agent-native/core";
3
3
 
4
4
  export function createAppServer() {
5
5
  const app = createServer();
@@ -1,4 +1,4 @@
1
- import { createProductionServer } from "@agent-native/core/server";
1
+ import { createProductionServer } from "@agent-native/core";
2
2
  import { createAppServer } from "./index.js";
3
3
 
4
4
  createProductionServer(createAppServer());
@@ -1 +0,0 @@
1
- {"version":3,"file":"fusion-chat.d.ts","sourceRoot":"","sources":["../../src/client/fusion-chat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,yCAAyC;IACzC,uBAAuB,CAAC,EAAE,MAAM,EAAE,CAAC;CACpC;AAID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAQ9D"}
@@ -1,19 +0,0 @@
1
- /**
2
- * Fusion Chat Bridge (browser)
3
- *
4
- * Sends structured messages to the Fusion AI chat from UI interactions.
5
- * Messages are sent via postMessage to the parent window (or self if top-level).
6
- */
7
- const FUSION_MESSAGE_TYPE = "builder.submitChat";
8
- /**
9
- * Send a message to the Fusion AI chat via postMessage.
10
- */
11
- export function sendToFusionChat(opts) {
12
- const payload = {
13
- type: FUSION_MESSAGE_TYPE,
14
- data: opts,
15
- };
16
- const target = window.parent !== window ? window.parent : window;
17
- target.postMessage(payload, "*");
18
- }
19
- //# sourceMappingURL=fusion-chat.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fusion-chat.js","sourceRoot":"","sources":["../../src/client/fusion-chat.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmBH,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAuB;IACtD,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,mBAAmB;QACzB,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IACjE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC"}
@@ -1,14 +0,0 @@
1
- import { type FusionChatMessage } from "./fusion-chat.js";
2
- /**
3
- * Hook that wraps sendToFusionChat with a loading state.
4
- *
5
- * Returns [isGenerating, send] where:
6
- * - isGenerating: true after send() is called, false when the
7
- * builder.fusion.chatRunning event fires with detail.isRunning === false
8
- * - send: wrapper around sendToFusionChat that sets isGenerating to true
9
- */
10
- export declare function useFusionChatGenerating(): [
11
- boolean,
12
- (opts: FusionChatMessage) => void
13
- ];
14
- //# sourceMappingURL=use-fusion-chat.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-fusion-chat.d.ts","sourceRoot":"","sources":["../../src/client/use-fusion-chat.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI;IACzC,OAAO;IACP,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI;CAClC,CAqBA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-fusion-chat.js","sourceRoot":"","sources":["../../src/client/use-fusion-chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAA0B,MAAM,kBAAkB,CAAC;AAE5E;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB;IAIrC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,CAAC,CAAQ,EAAE,EAAE;YAC3B,MAAM,MAAM,GAAI,CAAiB,CAAC,MAAM,CAAC;YACzC,IAAI,MAAM,EAAE,SAAS,KAAK,KAAK,EAAE,CAAC;gBAChC,eAAe,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;QAC/D,OAAO,GAAG,EAAE,CACV,MAAM,CAAC,mBAAmB,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,IAAuB,EAAE,EAAE;QACnD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fusion-chat.d.ts","sourceRoot":"","sources":["../../src/shared/fusion-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAOD;;;GAGG;AACH,iBAAS,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAiB3C;AAED;;GAEG;AACH,iBAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAEvD;AAED;;GAEG;AACH,iBAAS,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAExD;AAED,eAAO,MAAM,UAAU;IACrB,gEAAgE;;IAEhE,2CAA2C;;IAE3C,4DAA4D;;CAE7D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"fusion-chat.js","sourceRoot":"","sources":["../../src/shared/fusion-chat.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAWH,MAAM,mBAAmB,GAAG,oBAAoB,CAAC;AAEjD,MAAM,SAAS,GACb,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,CAAC;AAE5E;;;GAGG;AACH,SAAS,IAAI,CAAC,IAAuB;IACnC,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAAC;IAEpD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QACjE,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;SAAM,CAAC;QACN,6EAA6E;QAC7E,OAAO,CAAC,GAAG,CACT,yBAAyB;YACvB,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,OAAe,EAAE,OAAgB;IAC/C,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,OAAe,EAAE,OAAgB;IAChD,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,gEAAgE;IAChE,IAAI;IACJ,2CAA2C;IAC3C,MAAM;IACN,4DAA4D;IAC5D,OAAO;CACR,CAAC"}