@gencode/uni 0.2.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.
Files changed (147) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +50 -0
  3. package/dist/shared/src/agent-progress.d.ts +133 -0
  4. package/dist/shared/src/agent-progress.d.ts.map +1 -0
  5. package/dist/shared/src/agent-progress.js +4 -0
  6. package/dist/shared/src/agent-progress.js.map +1 -0
  7. package/dist/shared/src/context-protocol.d.ts +83 -0
  8. package/dist/shared/src/context-protocol.d.ts.map +1 -0
  9. package/dist/shared/src/context-protocol.js +2 -0
  10. package/dist/shared/src/context-protocol.js.map +1 -0
  11. package/dist/shared/src/goal.d.ts +50 -0
  12. package/dist/shared/src/goal.d.ts.map +1 -0
  13. package/dist/shared/src/goal.js +11 -0
  14. package/dist/shared/src/goal.js.map +1 -0
  15. package/dist/shared/src/hitl.d.ts +214 -0
  16. package/dist/shared/src/hitl.d.ts.map +1 -0
  17. package/dist/shared/src/hitl.js +205 -0
  18. package/dist/shared/src/hitl.js.map +1 -0
  19. package/dist/shared/src/index.d.ts +16 -0
  20. package/dist/shared/src/index.d.ts.map +1 -0
  21. package/dist/shared/src/index.js +12 -0
  22. package/dist/shared/src/index.js.map +1 -0
  23. package/dist/shared/src/run-events.d.ts +129 -0
  24. package/dist/shared/src/run-events.d.ts.map +1 -0
  25. package/dist/shared/src/run-events.js +2 -0
  26. package/dist/shared/src/run-events.js.map +1 -0
  27. package/dist/shared/src/session.d.ts +37 -0
  28. package/dist/shared/src/session.d.ts.map +1 -0
  29. package/dist/shared/src/session.js +2 -0
  30. package/dist/shared/src/session.js.map +1 -0
  31. package/dist/shared/src/task-display.d.ts +3 -0
  32. package/dist/shared/src/task-display.d.ts.map +1 -0
  33. package/dist/shared/src/task-display.js +41 -0
  34. package/dist/shared/src/task-display.js.map +1 -0
  35. package/dist/shared/src/ui-tool.d.ts +94 -0
  36. package/dist/shared/src/ui-tool.d.ts.map +1 -0
  37. package/dist/shared/src/ui-tool.js +39 -0
  38. package/dist/shared/src/ui-tool.js.map +1 -0
  39. package/dist/uni/src/auth/api-key.d.ts +3 -0
  40. package/dist/uni/src/auth/api-key.d.ts.map +1 -0
  41. package/dist/uni/src/auth/api-key.js +8 -0
  42. package/dist/uni/src/auth/api-key.js.map +1 -0
  43. package/dist/uni/src/bin.d.ts +3 -0
  44. package/dist/uni/src/bin.d.ts.map +1 -0
  45. package/dist/uni/src/bin.js +4 -0
  46. package/dist/uni/src/bin.js.map +1 -0
  47. package/dist/uni/src/events/normalizer.d.ts +4 -0
  48. package/dist/uni/src/events/normalizer.d.ts.map +1 -0
  49. package/dist/uni/src/events/normalizer.js +72 -0
  50. package/dist/uni/src/events/normalizer.js.map +1 -0
  51. package/dist/uni/src/events/provider-events.d.ts +8 -0
  52. package/dist/uni/src/events/provider-events.d.ts.map +1 -0
  53. package/dist/uni/src/events/provider-events.js +317 -0
  54. package/dist/uni/src/events/provider-events.js.map +1 -0
  55. package/dist/uni/src/hooks.d.ts +8 -0
  56. package/dist/uni/src/hooks.d.ts.map +1 -0
  57. package/dist/uni/src/hooks.js +13 -0
  58. package/dist/uni/src/hooks.js.map +1 -0
  59. package/dist/uni/src/index.d.ts +10 -0
  60. package/dist/uni/src/index.d.ts.map +1 -0
  61. package/dist/uni/src/index.js +8 -0
  62. package/dist/uni/src/index.js.map +1 -0
  63. package/dist/uni/src/program.d.ts +3 -0
  64. package/dist/uni/src/program.d.ts.map +1 -0
  65. package/dist/uni/src/program.js +140 -0
  66. package/dist/uni/src/program.js.map +1 -0
  67. package/dist/uni/src/providers/acp.d.ts +3 -0
  68. package/dist/uni/src/providers/acp.d.ts.map +1 -0
  69. package/dist/uni/src/providers/acp.js +33 -0
  70. package/dist/uni/src/providers/acp.js.map +1 -0
  71. package/dist/uni/src/providers/claude-code.d.ts +3 -0
  72. package/dist/uni/src/providers/claude-code.d.ts.map +1 -0
  73. package/dist/uni/src/providers/claude-code.js +87 -0
  74. package/dist/uni/src/providers/claude-code.js.map +1 -0
  75. package/dist/uni/src/providers/codex.d.ts +3 -0
  76. package/dist/uni/src/providers/codex.d.ts.map +1 -0
  77. package/dist/uni/src/providers/codex.js +71 -0
  78. package/dist/uni/src/providers/codex.js.map +1 -0
  79. package/dist/uni/src/providers/opencode.d.ts +3 -0
  80. package/dist/uni/src/providers/opencode.d.ts.map +1 -0
  81. package/dist/uni/src/providers/opencode.js +47 -0
  82. package/dist/uni/src/providers/opencode.js.map +1 -0
  83. package/dist/uni/src/providers/pi.d.ts +3 -0
  84. package/dist/uni/src/providers/pi.d.ts.map +1 -0
  85. package/dist/uni/src/providers/pi.js +42 -0
  86. package/dist/uni/src/providers/pi.js.map +1 -0
  87. package/dist/uni/src/providers/registry.d.ts +3 -0
  88. package/dist/uni/src/providers/registry.d.ts.map +1 -0
  89. package/dist/uni/src/providers/registry.js +25 -0
  90. package/dist/uni/src/providers/registry.js.map +1 -0
  91. package/dist/uni/src/providers/spawned-provider.d.ts +22 -0
  92. package/dist/uni/src/providers/spawned-provider.d.ts.map +1 -0
  93. package/dist/uni/src/providers/spawned-provider.js +109 -0
  94. package/dist/uni/src/providers/spawned-provider.js.map +1 -0
  95. package/dist/uni/src/providers/types.d.ts +6 -0
  96. package/dist/uni/src/providers/types.d.ts.map +1 -0
  97. package/dist/uni/src/providers/types.js +2 -0
  98. package/dist/uni/src/providers/types.js.map +1 -0
  99. package/dist/uni/src/run.d.ts +3 -0
  100. package/dist/uni/src/run.d.ts.map +1 -0
  101. package/dist/uni/src/run.js +446 -0
  102. package/dist/uni/src/run.js.map +1 -0
  103. package/dist/uni/src/runtime-config.d.ts +40 -0
  104. package/dist/uni/src/runtime-config.d.ts.map +1 -0
  105. package/dist/uni/src/runtime-config.js +203 -0
  106. package/dist/uni/src/runtime-config.js.map +1 -0
  107. package/dist/uni/src/session/input.d.ts +3 -0
  108. package/dist/uni/src/session/input.d.ts.map +1 -0
  109. package/dist/uni/src/session/input.js +147 -0
  110. package/dist/uni/src/session/input.js.map +1 -0
  111. package/dist/uni/src/session/logger.d.ts +16 -0
  112. package/dist/uni/src/session/logger.d.ts.map +1 -0
  113. package/dist/uni/src/session/logger.js +66 -0
  114. package/dist/uni/src/session/logger.js.map +1 -0
  115. package/dist/uni/src/session/session-state.d.ts +19 -0
  116. package/dist/uni/src/session/session-state.d.ts.map +1 -0
  117. package/dist/uni/src/session/session-state.js +13 -0
  118. package/dist/uni/src/session/session-state.js.map +1 -0
  119. package/dist/uni/src/session/session-store.d.ts +23 -0
  120. package/dist/uni/src/session/session-store.d.ts.map +1 -0
  121. package/dist/uni/src/session/session-store.js +36 -0
  122. package/dist/uni/src/session/session-store.js.map +1 -0
  123. package/dist/uni/src/transports/composite-sink.d.ts +9 -0
  124. package/dist/uni/src/transports/composite-sink.d.ts.map +1 -0
  125. package/dist/uni/src/transports/composite-sink.js +17 -0
  126. package/dist/uni/src/transports/composite-sink.js.map +1 -0
  127. package/dist/uni/src/transports/event-sink.d.ts +6 -0
  128. package/dist/uni/src/transports/event-sink.d.ts.map +1 -0
  129. package/dist/uni/src/transports/event-sink.js +2 -0
  130. package/dist/uni/src/transports/event-sink.js.map +1 -0
  131. package/dist/uni/src/transports/http-callback-sink.d.ts +9 -0
  132. package/dist/uni/src/transports/http-callback-sink.d.ts.map +1 -0
  133. package/dist/uni/src/transports/http-callback-sink.js +20 -0
  134. package/dist/uni/src/transports/http-callback-sink.js.map +1 -0
  135. package/dist/uni/src/transports/websocket-auth.d.ts +8 -0
  136. package/dist/uni/src/transports/websocket-auth.d.ts.map +1 -0
  137. package/dist/uni/src/transports/websocket-auth.js +9 -0
  138. package/dist/uni/src/transports/websocket-auth.js.map +1 -0
  139. package/dist/uni/src/transports/websocket-sink.d.ts +24 -0
  140. package/dist/uni/src/transports/websocket-sink.d.ts.map +1 -0
  141. package/dist/uni/src/transports/websocket-sink.js +205 -0
  142. package/dist/uni/src/transports/websocket-sink.js.map +1 -0
  143. package/dist/uni/src/types.d.ts +239 -0
  144. package/dist/uni/src/types.d.ts.map +1 -0
  145. package/dist/uni/src/types.js +2 -0
  146. package/dist/uni/src/types.js.map +1 -0
  147. package/package.json +38 -0
@@ -0,0 +1,140 @@
1
+ import { Command } from "commander";
2
+ import { buildRuntimeConfig } from "./runtime-config.js";
3
+ import { runUni } from "./run.js";
4
+ import fs from "node:fs";
5
+ import path from "node:path";
6
+ import { fileURLToPath } from "node:url";
7
+ function loadPackageVersion() {
8
+ const currentDir = path.dirname(fileURLToPath(import.meta.url));
9
+ const candidates = [
10
+ path.resolve(currentDir, "../package.json"),
11
+ path.resolve(currentDir, "../../package.json"),
12
+ path.resolve(currentDir, "../../../package.json"),
13
+ ];
14
+ for (const candidate of candidates) {
15
+ if (!fs.existsSync(candidate)) {
16
+ continue;
17
+ }
18
+ const raw = fs.readFileSync(candidate, "utf8");
19
+ const parsed = JSON.parse(raw);
20
+ if (typeof parsed.version === "string" && parsed.version.length > 0) {
21
+ return parsed.version;
22
+ }
23
+ }
24
+ return "0.0.0";
25
+ }
26
+ const packageVersion = loadPackageVersion();
27
+ function addRuntimeOptions(command) {
28
+ return command
29
+ .requiredOption("--runtime-agent <name>", "Runtime agent: claude-code, codex, opencode, pi, acp")
30
+ .option("--runtime-config-json <json>", "Runtime config JSON")
31
+ .option("--runtime-command <value>", "Override runtime command")
32
+ .option("--runtime-arg <value>", "Append runtime arg", (value, previous = []) => [...previous, value], [])
33
+ .option("--runtime-env <pair>", "Runtime env pair KEY=VALUE", (value, previous = []) => [...previous, value], [])
34
+ .option("--runtime-mode <value>", "Runtime mode / approval mode")
35
+ .option("--runtime-backend <value>", "Runtime backend, e.g. exec or app_server")
36
+ .option("--runtime-app-server-url <value>", "Codex app-server URL")
37
+ .option("--runtime-cli-path <value>", "CLI path with optional extra args")
38
+ .option("--runtime-cli-args-flag <value>", "Wrapper CLI args flag, e.g. -a")
39
+ .option("--runtime-codex-home <path>", "Override CODEX_HOME for codex runtime")
40
+ .option("--runtime-reasoning-effort <value>", "Reasoning effort override")
41
+ .option("--runtime-thinking <value>", "Thinking level for pi-like runtimes")
42
+ .option("--runtime-system-prompt <value>", "Custom runtime system prompt")
43
+ .option("--runtime-allowed-tools <list>", "Comma-separated allowed tools")
44
+ .option("--runtime-disallowed-tools <list>", "Comma-separated disallowed tools")
45
+ .option("--runtime-max-context-tokens <n>", "Max context tokens for Claude Code")
46
+ .option("--runtime-router-url <url>", "Claude router URL")
47
+ .option("--runtime-router-api-key <key>", "Claude router API key")
48
+ .option("--runtime-auth-method <value>", "ACP auth method")
49
+ .option("--runtime-display-name <value>", "ACP display name")
50
+ .option("--runtime-provider-name <value>", "Provider name")
51
+ .option("--runtime-provider-api-key <value>", "Provider API key")
52
+ .option("--runtime-provider-base-url <value>", "Provider base URL")
53
+ .option("--runtime-provider-model <value>", "Provider model override")
54
+ .option("--runtime-provider-thinking <value>", "Provider thinking override")
55
+ .option("--runtime-provider-env <pair>", "Provider env pair KEY=VALUE", (value, previous = []) => [...previous, value], [])
56
+ .option("--runtime-provider-codex-wire-api <value>", "Codex provider wire API")
57
+ .option("--runtime-provider-header <pair>", "Codex provider header KEY=VALUE", (value, previous = []) => [...previous, value], []);
58
+ }
59
+ function buildRunOptions(options) {
60
+ return {
61
+ runtimeAgent: options.runtimeAgent,
62
+ dataDir: options.dataDir,
63
+ projectDir: options.projectDir,
64
+ agent: options.agent,
65
+ user: options.user,
66
+ message: options.message,
67
+ fromFile: options.fromFile,
68
+ skillsLoadPaths: options.skillsLoadPaths,
69
+ sessionId: options.sessionId,
70
+ sessionStore: options.sessionStore,
71
+ messageId: options.messageId,
72
+ channel: options.channel,
73
+ baseUrl: options.baseUrl,
74
+ apiKey: options.apiKey,
75
+ authToken: options.authToken,
76
+ model: options.model,
77
+ contextWindow: options.contextWindow,
78
+ flashModel: options.flashModel,
79
+ callbackUrl: options.callbackUrl,
80
+ streamUrl: options.streamUrl,
81
+ streamAuthToken: options.streamAuthToken,
82
+ streamEvents: options.streamEvents,
83
+ timeout: options.timeout,
84
+ output: options.output,
85
+ pluginsConfig: options.pluginsConfig,
86
+ resumeRequestId: options.resumeRequestId,
87
+ resumeInputJson: options.resumeInputJson,
88
+ resumeFromFile: options.resumeFromFile,
89
+ runtimeConfig: buildRuntimeConfig(options.runtimeAgent, options),
90
+ };
91
+ }
92
+ async function executeRun(options) {
93
+ const result = await runUni(buildRunOptions(options));
94
+ if (options.output === "json") {
95
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
96
+ return;
97
+ }
98
+ process.stdout.write(`${result.text}\n`);
99
+ }
100
+ export function createProgram() {
101
+ const program = new Command();
102
+ program
103
+ .name("gencode-uni")
104
+ .description("Standalone unified multi-agent runtime")
105
+ .version(packageVersion);
106
+ addRuntimeOptions(program
107
+ .command("run")
108
+ .description("Run a task with the standalone unified runtime")
109
+ .option("-d, --data-dir <path>", "Data directory path")
110
+ .option("--project-dir <path>", "Current project directory")
111
+ .option("--agent <name>", "Legacy root agent field, currently unsupported")
112
+ .option("--user <id>", "User identifier")
113
+ .option("--message <text>", "User message to send to the runtime")
114
+ .option("--from-file <path>", "Load structured message JSON from a file")
115
+ .option("--skillsLoadPaths <paths>", "Legacy skills load paths, currently unsupported")
116
+ .option("-s, --session-id <id>", "Resume an existing provider session by ID")
117
+ .option("--session-store <name>", "Session store directory under .aimax")
118
+ .option("--message-id <id>", "Message ID for correlation")
119
+ .option("-c, --channel <channel>", "Channel name", "WEB")
120
+ .option("--base-url <url>", "LLM API base URL")
121
+ .option("--api-key <key>", "LLM API key")
122
+ .option("--auth-token <token>", "Auth token used to derive the API key")
123
+ .option("--model <name>", "LLM model name")
124
+ .option("--context-window <n>", "LLM context window size")
125
+ .option("--flash-model <name>", "Flash model for lightweight tasks")
126
+ .option("--callback-url <url>", "HTTP callback URL")
127
+ .option("--stream-url <url>", "WebSocket URL for streaming")
128
+ .option("--stream-auth-token <token>", "WebSocket auth token")
129
+ .option("--stream-events <list>", "Comma-separated stream events")
130
+ .option("--timeout <ms>", "Execution timeout in milliseconds")
131
+ .option("--output <format>", "Output format: text or json", "text")
132
+ .option("--plugins-config <path>", "Legacy plugins config, currently unsupported")
133
+ .option("--resume-request-id <id>", "Legacy HITL resume request id, currently unsupported")
134
+ .option("--resume-input-json <json>", "Legacy HITL resume input JSON, currently unsupported")
135
+ .option("--resume-from-file <path>", "Legacy HITL resume input file, currently unsupported")).action(async (options) => {
136
+ await executeRun(options);
137
+ });
138
+ return program;
139
+ }
140
+ //# sourceMappingURL=program.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/program.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { UniProvider } from "../types.js";
2
+ export declare function createAcpProvider(): UniProvider;
3
+ //# sourceMappingURL=acp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../../../src/providers/acp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgB,WAAW,EAAsB,MAAM,aAAa,CAAC;AAwBjF,wBAAgB,iBAAiB,IAAI,WAAW,CAY/C"}
@@ -0,0 +1,33 @@
1
+ import { parseAcpEvent } from "../events/provider-events.js";
2
+ import { SpawnedProvider } from "./spawned-provider.js";
3
+ function resolveConfig(context) {
4
+ return context.runtimeConfig.acp ?? {};
5
+ }
6
+ function buildArgs(context) {
7
+ const args = resolveConfig(context).args ?? [];
8
+ return args;
9
+ }
10
+ function buildEnv(context) {
11
+ const env = resolveConfig(context).env ?? {};
12
+ const resolved = {};
13
+ for (const [key, value] of Object.entries(env)) {
14
+ if (typeof value === "string") {
15
+ resolved[key] = value;
16
+ }
17
+ }
18
+ return resolved;
19
+ }
20
+ export function createAcpProvider() {
21
+ return new SpawnedProvider({
22
+ runtimeAgent: "acp",
23
+ defaultCommand: "acp-agent",
24
+ capabilities: new Set(["session-resume", "text-stream", "acp", "callback", "websocket"]),
25
+ buildArgs,
26
+ resolveCommand: (context) => ({
27
+ command: resolveConfig(context).command ?? "acp-agent",
28
+ }),
29
+ buildEnv,
30
+ parseLine: parseAcpEvent,
31
+ });
32
+ }
33
+ //# sourceMappingURL=acp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp.js","sourceRoot":"","sources":["../../../../src/providers/acp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,SAAS,aAAa,CAAC,OAA2B;IAChD,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,SAAS,CAAC,OAA2B;IAC5C,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,OAA2B;IAC3C,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IAC7C,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,eAAe,CAAC;QACzB,YAAY,EAAE,KAAK;QACnB,cAAc,EAAE,WAAW;QAC3B,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACxF,SAAS;QACT,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,WAAW;SACvD,CAAC;QACF,QAAQ;QACR,SAAS,EAAE,aAAa;KACzB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { UniProvider } from "../types.js";
2
+ export declare function createClaudeCodeProvider(): UniProvider;
3
+ //# sourceMappingURL=claude-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.d.ts","sourceRoot":"","sources":["../../../../src/providers/claude-code.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAuB,WAAW,EAAsB,MAAM,aAAa,CAAC;AA+DxF,wBAAgB,wBAAwB,IAAI,WAAW,CA6BtD"}
@@ -0,0 +1,87 @@
1
+ import { parseClaudeCodeEvent } from "../events/provider-events.js";
2
+ import { SpawnedProvider } from "./spawned-provider.js";
3
+ import { splitCliPath } from "../runtime-config.js";
4
+ function resolveConfig(context) {
5
+ return context.runtimeConfig.claudeCode ?? {};
6
+ }
7
+ function resolveModel(context, config) {
8
+ return context.model ?? config.provider?.model;
9
+ }
10
+ function shellJoinArgs(args) {
11
+ return args.map((arg) => {
12
+ if (/^[A-Za-z0-9_./:-]+$/.test(arg)) {
13
+ return arg;
14
+ }
15
+ return JSON.stringify(arg);
16
+ }).join(" ");
17
+ }
18
+ function buildArgs(context, prompt) {
19
+ const config = resolveConfig(context);
20
+ const args = [
21
+ "--verbose",
22
+ "--output-format", "stream-json",
23
+ "--print",
24
+ ];
25
+ if (context.sessionId) {
26
+ args.push("--resume", context.sessionId);
27
+ }
28
+ const model = resolveModel(context, config);
29
+ if (model) {
30
+ args.push("--model", model);
31
+ }
32
+ if (config.reasoningEffort) {
33
+ args.push("--effort", config.reasoningEffort);
34
+ }
35
+ if (config.mode && config.mode !== "default") {
36
+ args.push("--permission-mode", config.mode === "yolo" ? "bypassPermissions" : config.mode);
37
+ }
38
+ if (config.systemPrompt) {
39
+ args.push("--system-prompt", config.systemPrompt);
40
+ }
41
+ if (config.allowedTools && config.allowedTools.length > 0) {
42
+ args.push("--allowedTools", config.allowedTools.join(","));
43
+ }
44
+ if (config.disallowedTools && config.disallowedTools.length > 0) {
45
+ args.push("--disallowedTools", config.disallowedTools.join(","));
46
+ }
47
+ if (config.maxContextTokens) {
48
+ args.push("--max-context-tokens", String(config.maxContextTokens));
49
+ }
50
+ const cliArgsFlag = config.cliArgsFlag?.trim();
51
+ if (cliArgsFlag) {
52
+ return [cliArgsFlag, shellJoinArgs([...args, prompt])];
53
+ }
54
+ args.push(prompt);
55
+ return args;
56
+ }
57
+ export function createClaudeCodeProvider() {
58
+ return new SpawnedProvider({
59
+ runtimeAgent: "claude-code",
60
+ defaultCommand: "claude",
61
+ capabilities: new Set(["session-resume", "text-stream", "tool-events", "callback", "websocket"]),
62
+ promptTransport: "none",
63
+ buildArgs,
64
+ resolveCommand: (context) => {
65
+ const config = resolveConfig(context);
66
+ const resolved = splitCliPath(config.cliPath);
67
+ return {
68
+ command: resolved.command ?? "claude",
69
+ extraArgs: resolved.extraArgs,
70
+ };
71
+ },
72
+ buildEnv: (context) => {
73
+ const config = resolveConfig(context);
74
+ return {
75
+ ...(config.provider?.env ?? {}),
76
+ ...(config.env ?? {}),
77
+ ...(config.provider?.apiKey ? { ANTHROPIC_API_KEY: config.provider.apiKey } : {}),
78
+ ...(config.provider?.baseUrl ? { ANTHROPIC_BASE_URL: config.provider.baseUrl } : {}),
79
+ ...(config.provider?.model ? { ANTHROPIC_MODEL: config.provider.model } : {}),
80
+ ...(config.routerUrl ? { CLAUDE_CODE_ROUTER_URL: config.routerUrl } : {}),
81
+ ...(config.routerApiKey ? { CLAUDE_CODE_ROUTER_API_KEY: config.routerApiKey } : {}),
82
+ };
83
+ },
84
+ parseLine: parseClaudeCodeEvent,
85
+ });
86
+ }
87
+ //# sourceMappingURL=claude-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"claude-code.js","sourceRoot":"","sources":["../../../../src/providers/claude-code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { UniProvider } from "../types.js";
2
+ export declare function createCodexProvider(): UniProvider;
3
+ //# sourceMappingURL=codex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/providers/codex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,WAAW,EAAsB,MAAM,aAAa,CAAC;AA+CnF,wBAAgB,mBAAmB,IAAI,WAAW,CA0BjD"}
@@ -0,0 +1,71 @@
1
+ import { parseCodexEvent } from "../events/provider-events.js";
2
+ import { SpawnedProvider } from "./spawned-provider.js";
3
+ import { splitCliPath } from "../runtime-config.js";
4
+ function resolveConfig(context) {
5
+ return context.runtimeConfig.codex ?? {};
6
+ }
7
+ function resolveModel(context, config) {
8
+ return context.model ?? config.provider?.model;
9
+ }
10
+ function buildArgs(context) {
11
+ const config = resolveConfig(context);
12
+ if (config.backend === "app_server") {
13
+ throw new Error("codex backend app_server is not implemented in @gencode/uni yet");
14
+ }
15
+ const args = ["exec", "--skip-git-repo-check", "--json", "-"];
16
+ if (context.sessionId) {
17
+ args.splice(1, 0, "resume", context.sessionId);
18
+ args.splice(args.indexOf("--json") - 1, 1);
19
+ }
20
+ if (context.projectDir) {
21
+ args.push("--cd", context.projectDir);
22
+ }
23
+ const model = resolveModel(context, config);
24
+ if (model) {
25
+ args.push("--model", model);
26
+ }
27
+ if (config.reasoningEffort) {
28
+ args.push("-c", `model_reasoning_effort=${JSON.stringify(config.reasoningEffort)}`);
29
+ }
30
+ if (config.mode === "auto-edit" || config.mode === "full-auto") {
31
+ args.push("--full-auto");
32
+ }
33
+ else if (config.mode === "yolo") {
34
+ args.push("--dangerously-bypass-approvals-and-sandbox");
35
+ }
36
+ if (config.provider?.name) {
37
+ args.push("-c", `model_provider=${JSON.stringify(config.provider.name)}`);
38
+ }
39
+ if (context.baseUrl) {
40
+ args.push("-c", `openai_base_url=${JSON.stringify(context.baseUrl)}`);
41
+ }
42
+ return args;
43
+ }
44
+ export function createCodexProvider() {
45
+ return new SpawnedProvider({
46
+ runtimeAgent: "codex",
47
+ defaultCommand: "codex",
48
+ capabilities: new Set(["session-resume", "text-stream", "callback", "websocket"]),
49
+ buildArgs,
50
+ resolveCommand: (context) => {
51
+ const config = resolveConfig(context);
52
+ const resolved = splitCliPath(config.cliPath);
53
+ return {
54
+ command: resolved.command ?? "codex",
55
+ extraArgs: resolved.extraArgs,
56
+ };
57
+ },
58
+ buildEnv: (context) => {
59
+ const config = resolveConfig(context);
60
+ return {
61
+ ...(config.provider?.env ?? {}),
62
+ ...(config.env ?? {}),
63
+ ...(config.codexHome ? { CODEX_HOME: config.codexHome } : {}),
64
+ ...(config.provider?.apiKey ? { OPENAI_API_KEY: config.provider.apiKey } : {}),
65
+ ...(config.provider?.baseUrl ? { OPENAI_BASE_URL: config.provider.baseUrl } : {}),
66
+ };
67
+ },
68
+ parseLine: parseCodexEvent,
69
+ });
70
+ }
71
+ //# sourceMappingURL=codex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/providers/codex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { UniProvider } from "../types.js";
2
+ export declare function createOpenCodeProvider(): UniProvider;
3
+ //# sourceMappingURL=opencode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/providers/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,WAAW,EAAsB,MAAM,aAAa,CAAC;AAyBtF,wBAAgB,sBAAsB,IAAI,WAAW,CAwBpD"}
@@ -0,0 +1,47 @@
1
+ import { parseOpenCodeEvent } from "../events/provider-events.js";
2
+ import { splitCliPath } from "../runtime-config.js";
3
+ import { SpawnedProvider } from "./spawned-provider.js";
4
+ function resolveConfig(context) {
5
+ return context.runtimeConfig.opencode ?? {};
6
+ }
7
+ function buildArgs(context) {
8
+ const config = resolveConfig(context);
9
+ const args = ["run", "--format", "json", "--thinking"];
10
+ if (context.sessionId) {
11
+ args.push("--session", context.sessionId);
12
+ }
13
+ const model = context.model ?? config.provider?.model;
14
+ if (model) {
15
+ args.push("--model", model);
16
+ }
17
+ if (context.projectDir) {
18
+ args.push("--dir", context.projectDir);
19
+ }
20
+ return args;
21
+ }
22
+ export function createOpenCodeProvider() {
23
+ return new SpawnedProvider({
24
+ runtimeAgent: "opencode",
25
+ defaultCommand: "opencode",
26
+ capabilities: new Set(["session-resume", "text-stream", "tool-events", "callback", "websocket"]),
27
+ buildArgs,
28
+ resolveCommand: (context) => {
29
+ const resolved = splitCliPath(resolveConfig(context).command);
30
+ return {
31
+ command: resolved.command ?? "opencode",
32
+ extraArgs: resolved.extraArgs,
33
+ };
34
+ },
35
+ buildEnv: (context) => {
36
+ const config = resolveConfig(context);
37
+ return {
38
+ ...(config.provider?.env ?? {}),
39
+ ...(config.env ?? {}),
40
+ ...(config.provider?.apiKey ? { OPENAI_API_KEY: config.provider.apiKey } : {}),
41
+ ...(config.provider?.baseUrl ? { OPENAI_BASE_URL: config.provider.baseUrl } : {}),
42
+ };
43
+ },
44
+ parseLine: parseOpenCodeEvent,
45
+ });
46
+ }
47
+ //# sourceMappingURL=opencode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/providers/opencode.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,SAAS,aAAa,CAAC,OAA2B;IAChD,OAAO,OAAO,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,SAAS,CAAC,OAA2B;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC;IACtD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO,IAAI,eAAe,CAAC;QACzB,YAAY,EAAE,UAAU;QACxB,cAAc,EAAE,UAAU;QAC1B,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAChG,SAAS;QACT,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE;YAC1B,MAAM,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;YAC9D,OAAO;gBACL,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,UAAU;gBACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;aAC9B,CAAC;QACJ,CAAC;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO;gBACL,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC;gBAC/B,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClF,CAAC;QACJ,CAAC;QACD,SAAS,EAAE,kBAAkB;KAC9B,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { UniProvider } from "../types.js";
2
+ export declare function createPiProvider(): UniProvider;
3
+ //# sourceMappingURL=pi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.d.ts","sourceRoot":"","sources":["../../../../src/providers/pi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,WAAW,EAAsB,MAAM,aAAa,CAAC;AA2BhF,wBAAgB,gBAAgB,IAAI,WAAW,CAiB9C"}
@@ -0,0 +1,42 @@
1
+ import { parsePiEvent } from "../events/provider-events.js";
2
+ import { SpawnedProvider } from "./spawned-provider.js";
3
+ function resolveConfig(context) {
4
+ return context.runtimeConfig.pi ?? {};
5
+ }
6
+ function buildArgs(context) {
7
+ const config = resolveConfig(context);
8
+ const args = ["--mode", "json", "-p"];
9
+ if (context.sessionId) {
10
+ args.push("--session", context.sessionId);
11
+ }
12
+ const model = context.model;
13
+ if (model) {
14
+ args.push("--model", model);
15
+ }
16
+ if (config.mode === "yolo") {
17
+ args.push("--auto-approve");
18
+ }
19
+ if (config.thinking) {
20
+ args.push("--thinking", config.thinking);
21
+ }
22
+ return args;
23
+ }
24
+ export function createPiProvider() {
25
+ return new SpawnedProvider({
26
+ runtimeAgent: "pi",
27
+ defaultCommand: "pi-ai",
28
+ capabilities: new Set(["session-resume", "text-stream", "callback", "websocket"]),
29
+ buildArgs,
30
+ resolveCommand: (context) => ({
31
+ command: resolveConfig(context).command ?? "pi-ai",
32
+ }),
33
+ buildEnv: (context) => {
34
+ const config = resolveConfig(context);
35
+ return {
36
+ ...(config.env ?? {}),
37
+ };
38
+ },
39
+ parseLine: parsePiEvent,
40
+ });
41
+ }
42
+ //# sourceMappingURL=pi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pi.js","sourceRoot":"","sources":["../../../../src/providers/pi.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,SAAS,aAAa,CAAC,OAA2B;IAChD,OAAO,OAAO,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,SAAS,CAAC,OAA2B;IAC5C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,eAAe,CAAC;QACzB,YAAY,EAAE,IAAI;QAClB,cAAc,EAAE,OAAO;QACvB,YAAY,EAAE,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACjF,SAAS;QACT,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5B,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,IAAI,OAAO;SACnD,CAAC;QACF,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE;YACpB,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO;gBACL,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;aACtB,CAAC;QACJ,CAAC;QACD,SAAS,EAAE,YAAY;KACxB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ProviderRegistry } from "./types.js";
2
+ export declare function createBuiltInProviderRegistry(): ProviderRegistry;
3
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/providers/registry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA6BnD,wBAAgB,6BAA6B,IAAI,gBAAgB,CAEhE"}
@@ -0,0 +1,25 @@
1
+ import { createAcpProvider } from "./acp.js";
2
+ import { createClaudeCodeProvider } from "./claude-code.js";
3
+ import { createCodexProvider } from "./codex.js";
4
+ import { createOpenCodeProvider } from "./opencode.js";
5
+ import { createPiProvider } from "./pi.js";
6
+ const providers = [
7
+ createClaudeCodeProvider(),
8
+ createCodexProvider(),
9
+ createOpenCodeProvider(),
10
+ createPiProvider(),
11
+ createAcpProvider(),
12
+ ];
13
+ class BuiltInProviderRegistry {
14
+ byName = new Map(providers.map((provider) => [provider.runtimeAgent, provider]));
15
+ get(name) {
16
+ return this.byName.get(name);
17
+ }
18
+ list() {
19
+ return providers;
20
+ }
21
+ }
22
+ export function createBuiltInProviderRegistry() {
23
+ return new BuiltInProviderRegistry();
24
+ }
25
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/providers/registry.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,SAAS,GAAG;IAChB,wBAAwB,EAAE;IAC1B,mBAAmB,EAAE;IACrB,sBAAsB,EAAE;IACxB,gBAAgB,EAAE;IAClB,iBAAiB,EAAE;CACsB,CAAC;AAE5C,MAAM,uBAAuB;IACV,MAAM,GAAG,IAAI,GAAG,CAC/B,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,CAC/D,CAAC;IAEF,GAAG,CAAC,IAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAuB,CAAC,CAAC;IAClD,CAAC;IAED,IAAI;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAED,MAAM,UAAU,6BAA6B;IAC3C,OAAO,IAAI,uBAAuB,EAAE,CAAC;AACvC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { UniProvider, UniProviderContext, UniProviderEvent, UniProviderResult, UniRuntimeAgent, UniProviderCapability } from "../types.js";
2
+ export type SpawnedProviderProfile = {
3
+ runtimeAgent: UniRuntimeAgent;
4
+ defaultCommand: string;
5
+ capabilities: ReadonlySet<UniProviderCapability>;
6
+ buildArgs: (context: UniProviderContext, prompt: string) => string[];
7
+ promptTransport?: "stdin" | "none";
8
+ resolveCommand?: (context: UniProviderContext) => {
9
+ command: string;
10
+ extraArgs?: string[];
11
+ };
12
+ buildEnv?: (context: UniProviderContext) => NodeJS.ProcessEnv;
13
+ parseLine: (line: string) => UniProviderEvent[];
14
+ };
15
+ export declare class SpawnedProvider implements UniProvider {
16
+ private readonly profile;
17
+ readonly runtimeAgent: UniRuntimeAgent;
18
+ readonly capabilities: ReadonlySet<UniProviderCapability>;
19
+ constructor(profile: SpawnedProviderProfile);
20
+ run(context: UniProviderContext, emit: (event: UniProviderEvent) => Promise<void>): Promise<UniProviderResult>;
21
+ }
22
+ //# sourceMappingURL=spawned-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawned-provider.d.ts","sourceRoot":"","sources":["../../../../src/providers/spawned-provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEhJ,MAAM,MAAM,sBAAsB,GAAG;IACnC,YAAY,EAAE,eAAe,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC;IACjD,SAAS,EAAE,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACrE,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC5F,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,MAAM,CAAC,UAAU,CAAC;IAC9D,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,EAAE,CAAC;CACjD,CAAC;AAwBF,qBAAa,eAAgB,YAAW,WAAW;IAIrC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAC,qBAAqB,CAAC,CAAC;gBAE7B,OAAO,EAAE,sBAAsB;IAKtD,GAAG,CACP,OAAO,EAAE,kBAAkB,EAC3B,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,GAC/C,OAAO,CAAC,iBAAiB,CAAC;CAgF9B"}