@yagr/agent 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.
Files changed (215) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +257 -0
  3. package/dist/agent.d.ts +21 -0
  4. package/dist/agent.d.ts.map +1 -0
  5. package/dist/agent.js +47 -0
  6. package/dist/agent.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +293 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/config/init-yagr-home.d.ts +2 -0
  12. package/dist/config/init-yagr-home.d.ts.map +1 -0
  13. package/dist/config/init-yagr-home.js +6 -0
  14. package/dist/config/init-yagr-home.js.map +1 -0
  15. package/dist/config/load-env.d.ts +2 -0
  16. package/dist/config/load-env.d.ts.map +1 -0
  17. package/dist/config/load-env.js +20 -0
  18. package/dist/config/load-env.js.map +1 -0
  19. package/dist/config/load-n8n-engine-config.d.ts +6 -0
  20. package/dist/config/load-n8n-engine-config.d.ts.map +1 -0
  21. package/dist/config/load-n8n-engine-config.js +39 -0
  22. package/dist/config/load-n8n-engine-config.js.map +1 -0
  23. package/dist/config/yagr-config-service.d.ts +51 -0
  24. package/dist/config/yagr-config-service.d.ts.map +1 -0
  25. package/dist/config/yagr-config-service.js +103 -0
  26. package/dist/config/yagr-config-service.js.map +1 -0
  27. package/dist/config/yagr-home.d.ts +4 -0
  28. package/dist/config/yagr-home.d.ts.map +1 -0
  29. package/dist/config/yagr-home.js +25 -0
  30. package/dist/config/yagr-home.js.map +1 -0
  31. package/dist/engine/engine.d.ts +15 -0
  32. package/dist/engine/engine.d.ts.map +1 -0
  33. package/dist/engine/engine.js +2 -0
  34. package/dist/engine/engine.js.map +1 -0
  35. package/dist/engine/n8n-engine.d.ts +26 -0
  36. package/dist/engine/n8n-engine.d.ts.map +1 -0
  37. package/dist/engine/n8n-engine.js +200 -0
  38. package/dist/engine/n8n-engine.js.map +1 -0
  39. package/dist/engine/yagr-engine.d.ts +17 -0
  40. package/dist/engine/yagr-engine.d.ts.map +1 -0
  41. package/dist/engine/yagr-engine.js +37 -0
  42. package/dist/engine/yagr-engine.js.map +1 -0
  43. package/dist/gateway/cli.d.ts +8 -0
  44. package/dist/gateway/cli.d.ts.map +1 -0
  45. package/dist/gateway/cli.js +50 -0
  46. package/dist/gateway/cli.js.map +1 -0
  47. package/dist/gateway/history-viewport.d.ts +14 -0
  48. package/dist/gateway/history-viewport.d.ts.map +1 -0
  49. package/dist/gateway/history-viewport.js +51 -0
  50. package/dist/gateway/history-viewport.js.map +1 -0
  51. package/dist/gateway/interactive-ui.d.ts +4 -0
  52. package/dist/gateway/interactive-ui.d.ts.map +1 -0
  53. package/dist/gateway/interactive-ui.js +430 -0
  54. package/dist/gateway/interactive-ui.js.map +1 -0
  55. package/dist/gateway/manager.d.ts +25 -0
  56. package/dist/gateway/manager.d.ts.map +1 -0
  57. package/dist/gateway/manager.js +204 -0
  58. package/dist/gateway/manager.js.map +1 -0
  59. package/dist/gateway/telegram.d.ts +30 -0
  60. package/dist/gateway/telegram.d.ts.map +1 -0
  61. package/dist/gateway/telegram.js +406 -0
  62. package/dist/gateway/telegram.js.map +1 -0
  63. package/dist/gateway/types.d.ts +19 -0
  64. package/dist/gateway/types.d.ts.map +1 -0
  65. package/dist/gateway/types.js +2 -0
  66. package/dist/gateway/types.js.map +1 -0
  67. package/dist/gateway/webui.d.ts +13 -0
  68. package/dist/gateway/webui.d.ts.map +1 -0
  69. package/dist/gateway/webui.js +663 -0
  70. package/dist/gateway/webui.js.map +1 -0
  71. package/dist/index.d.ts +23 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +15 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/llm/create-language-model.d.ts +31 -0
  76. package/dist/llm/create-language-model.d.ts.map +1 -0
  77. package/dist/llm/create-language-model.js +129 -0
  78. package/dist/llm/create-language-model.js.map +1 -0
  79. package/dist/prompt/build-system-prompt.d.ts +3 -0
  80. package/dist/prompt/build-system-prompt.d.ts.map +1 -0
  81. package/dist/prompt/build-system-prompt.js +64 -0
  82. package/dist/prompt/build-system-prompt.js.map +1 -0
  83. package/dist/runtime/completion-gate.d.ts +21 -0
  84. package/dist/runtime/completion-gate.d.ts.map +1 -0
  85. package/dist/runtime/completion-gate.js +59 -0
  86. package/dist/runtime/completion-gate.js.map +1 -0
  87. package/dist/runtime/context-compaction.d.ts +25 -0
  88. package/dist/runtime/context-compaction.d.ts.map +1 -0
  89. package/dist/runtime/context-compaction.js +197 -0
  90. package/dist/runtime/context-compaction.js.map +1 -0
  91. package/dist/runtime/outcome.d.ts +23 -0
  92. package/dist/runtime/outcome.d.ts.map +1 -0
  93. package/dist/runtime/outcome.js +89 -0
  94. package/dist/runtime/outcome.js.map +1 -0
  95. package/dist/runtime/policy-hooks.d.ts +15 -0
  96. package/dist/runtime/policy-hooks.d.ts.map +1 -0
  97. package/dist/runtime/policy-hooks.js +54 -0
  98. package/dist/runtime/policy-hooks.js.map +1 -0
  99. package/dist/runtime/required-actions.d.ts +5 -0
  100. package/dist/runtime/required-actions.d.ts.map +1 -0
  101. package/dist/runtime/required-actions.js +77 -0
  102. package/dist/runtime/required-actions.js.map +1 -0
  103. package/dist/runtime/run-engine.d.ts +15 -0
  104. package/dist/runtime/run-engine.d.ts.map +1 -0
  105. package/dist/runtime/run-engine.js +624 -0
  106. package/dist/runtime/run-engine.js.map +1 -0
  107. package/dist/setup/setup-wizard.d.ts +52 -0
  108. package/dist/setup/setup-wizard.d.ts.map +1 -0
  109. package/dist/setup/setup-wizard.js +613 -0
  110. package/dist/setup/setup-wizard.js.map +1 -0
  111. package/dist/setup/start-launcher.d.ts +22 -0
  112. package/dist/setup/start-launcher.d.ts.map +1 -0
  113. package/dist/setup/start-launcher.js +76 -0
  114. package/dist/setup/start-launcher.js.map +1 -0
  115. package/dist/setup.d.ts +20 -0
  116. package/dist/setup.d.ts.map +1 -0
  117. package/dist/setup.js +247 -0
  118. package/dist/setup.js.map +1 -0
  119. package/dist/tools/build-tools.d.ts +608 -0
  120. package/dist/tools/build-tools.d.ts.map +1 -0
  121. package/dist/tools/build-tools.js +35 -0
  122. package/dist/tools/build-tools.js.map +1 -0
  123. package/dist/tools/delete-workspace-file.d.ts +38 -0
  124. package/dist/tools/delete-workspace-file.d.ts.map +1 -0
  125. package/dist/tools/delete-workspace-file.js +31 -0
  126. package/dist/tools/delete-workspace-file.js.map +1 -0
  127. package/dist/tools/deploy.d.ts +110 -0
  128. package/dist/tools/deploy.d.ts.map +1 -0
  129. package/dist/tools/deploy.js +28 -0
  130. package/dist/tools/deploy.js.map +1 -0
  131. package/dist/tools/generate-workflow.d.ts +180 -0
  132. package/dist/tools/generate-workflow.d.ts.map +1 -0
  133. package/dist/tools/generate-workflow.js +46 -0
  134. package/dist/tools/generate-workflow.js.map +1 -0
  135. package/dist/tools/index.d.ts +20 -0
  136. package/dist/tools/index.d.ts.map +1 -0
  137. package/dist/tools/index.js +20 -0
  138. package/dist/tools/index.js.map +1 -0
  139. package/dist/tools/list-directory.d.ts +48 -0
  140. package/dist/tools/list-directory.d.ts.map +1 -0
  141. package/dist/tools/list-directory.js +61 -0
  142. package/dist/tools/list-directory.js.map +1 -0
  143. package/dist/tools/list-workflows.d.ts +18 -0
  144. package/dist/tools/list-workflows.d.ts.map +1 -0
  145. package/dist/tools/list-workflows.js +17 -0
  146. package/dist/tools/list-workflows.js.map +1 -0
  147. package/dist/tools/manage-workflow.d.ts +42 -0
  148. package/dist/tools/manage-workflow.d.ts.map +1 -0
  149. package/dist/tools/manage-workflow.js +26 -0
  150. package/dist/tools/manage-workflow.js.map +1 -0
  151. package/dist/tools/move-workspace-file.d.ts +42 -0
  152. package/dist/tools/move-workspace-file.d.ts.map +1 -0
  153. package/dist/tools/move-workspace-file.js +45 -0
  154. package/dist/tools/move-workspace-file.js.map +1 -0
  155. package/dist/tools/n8nac.d.ts +144 -0
  156. package/dist/tools/n8nac.d.ts.map +1 -0
  157. package/dist/tools/n8nac.js +349 -0
  158. package/dist/tools/n8nac.js.map +1 -0
  159. package/dist/tools/node-info.d.ts +18 -0
  160. package/dist/tools/node-info.d.ts.map +1 -0
  161. package/dist/tools/node-info.js +15 -0
  162. package/dist/tools/node-info.js.map +1 -0
  163. package/dist/tools/observer.d.ts +32 -0
  164. package/dist/tools/observer.d.ts.map +1 -0
  165. package/dist/tools/observer.js +10 -0
  166. package/dist/tools/observer.js.map +1 -0
  167. package/dist/tools/read-workspace-file.d.ts +54 -0
  168. package/dist/tools/read-workspace-file.d.ts.map +1 -0
  169. package/dist/tools/read-workspace-file.js +49 -0
  170. package/dist/tools/read-workspace-file.js.map +1 -0
  171. package/dist/tools/replace-in-workspace-file.d.ts +62 -0
  172. package/dist/tools/replace-in-workspace-file.d.ts.map +1 -0
  173. package/dist/tools/replace-in-workspace-file.js +46 -0
  174. package/dist/tools/replace-in-workspace-file.js.map +1 -0
  175. package/dist/tools/report-progress.d.ts +20 -0
  176. package/dist/tools/report-progress.d.ts.map +1 -0
  177. package/dist/tools/report-progress.js +20 -0
  178. package/dist/tools/report-progress.js.map +1 -0
  179. package/dist/tools/request-required-action.d.ts +31 -0
  180. package/dist/tools/request-required-action.d.ts.map +1 -0
  181. package/dist/tools/request-required-action.js +33 -0
  182. package/dist/tools/request-required-action.js.map +1 -0
  183. package/dist/tools/search-nodes.d.ts +18 -0
  184. package/dist/tools/search-nodes.d.ts.map +1 -0
  185. package/dist/tools/search-nodes.js +15 -0
  186. package/dist/tools/search-nodes.js.map +1 -0
  187. package/dist/tools/search-templates.d.ts +18 -0
  188. package/dist/tools/search-templates.d.ts.map +1 -0
  189. package/dist/tools/search-templates.js +15 -0
  190. package/dist/tools/search-templates.js.map +1 -0
  191. package/dist/tools/search-workspace.d.ts +55 -0
  192. package/dist/tools/search-workspace.d.ts.map +1 -0
  193. package/dist/tools/search-workspace.js +86 -0
  194. package/dist/tools/search-workspace.js.map +1 -0
  195. package/dist/tools/validate.d.ts +110 -0
  196. package/dist/tools/validate.d.ts.map +1 -0
  197. package/dist/tools/validate.js +28 -0
  198. package/dist/tools/validate.js.map +1 -0
  199. package/dist/tools/workspace-utils.d.ts +10 -0
  200. package/dist/tools/workspace-utils.d.ts.map +1 -0
  201. package/dist/tools/workspace-utils.js +63 -0
  202. package/dist/tools/workspace-utils.js.map +1 -0
  203. package/dist/tools/write-workspace-file.d.ts +46 -0
  204. package/dist/tools/write-workspace-file.d.ts.map +1 -0
  205. package/dist/tools/write-workspace-file.js +39 -0
  206. package/dist/tools/write-workspace-file.js.map +1 -0
  207. package/dist/types.d.ts +243 -0
  208. package/dist/types.d.ts.map +1 -0
  209. package/dist/types.js +2 -0
  210. package/dist/types.js.map +1 -0
  211. package/dist/webui/app.js +26759 -0
  212. package/dist/webui/app.js.map +7 -0
  213. package/dist/webui/styles.css +740 -0
  214. package/dist/webui/styles.css.map +7 -0
  215. package/package.json +72 -0
package/dist/cli.js ADDED
@@ -0,0 +1,293 @@
1
+ #!/usr/bin/env node
2
+ import './config/init-yagr-home.js';
3
+ import { createN8nEngineFromWorkspace } from './config/load-n8n-engine-config.js';
4
+ import { YagrConfigService } from './config/yagr-config-service.js';
5
+ import { getGatewaySupervisorStatus, runGatewaySupervisor, runGatewaySurfaces } from './gateway/manager.js';
6
+ import { getTelegramGatewayStatus, resetTelegramGateway, runTelegramGateway, showTelegramOnboarding, setupTelegramGateway, } from './gateway/telegram.js';
7
+ import { YagrAgent } from './agent.js';
8
+ import { getYagrSetupStatus, runYagrSetup } from './setup.js';
9
+ import { promptForStartAction } from './setup/start-launcher.js';
10
+ const VALID_PROVIDERS = [
11
+ 'anthropic',
12
+ 'openai',
13
+ 'google',
14
+ 'groq',
15
+ 'mistral',
16
+ 'openrouter',
17
+ ];
18
+ function parseArgs(argv) {
19
+ const parsed = {
20
+ interactive: false,
21
+ showThinking: true,
22
+ showExecution: true,
23
+ };
24
+ let startIndex = 0;
25
+ if (argv[0] === 'config' && argv[1] === 'show') {
26
+ parsed.command = 'config-show';
27
+ return parsed;
28
+ }
29
+ if (argv[0] === 'config' && argv[1] === 'reset') {
30
+ parsed.command = 'config-reset';
31
+ return parsed;
32
+ }
33
+ if (argv[0] === 'setup' || argv[0] === 'onboard') {
34
+ parsed.command = 'setup';
35
+ startIndex = 1;
36
+ }
37
+ if (argv[0] === 'start') {
38
+ parsed.command = 'start';
39
+ startIndex = 1;
40
+ }
41
+ if (argv[0] === 'gateway' && argv[1] === 'start') {
42
+ parsed.command = 'gateway-start';
43
+ startIndex = 2;
44
+ }
45
+ if (argv[0] === 'gateway' && argv[1] === 'status') {
46
+ parsed.command = 'gateway-status';
47
+ return parsed;
48
+ }
49
+ if (argv[0] === 'telegram' && argv[1] === 'setup') {
50
+ parsed.command = 'telegram-setup';
51
+ startIndex = 2;
52
+ }
53
+ if (argv[0] === 'telegram' && argv[1] === 'start') {
54
+ parsed.command = 'telegram-start';
55
+ startIndex = 2;
56
+ }
57
+ if (argv[0] === 'telegram' && argv[1] === 'status') {
58
+ parsed.command = 'telegram-status';
59
+ return parsed;
60
+ }
61
+ if (argv[0] === 'telegram' && (argv[1] === 'onboarding' || argv[1] === 'link')) {
62
+ parsed.command = 'telegram-onboarding';
63
+ return parsed;
64
+ }
65
+ if (argv[0] === 'telegram' && argv[1] === 'reset') {
66
+ parsed.command = 'telegram-reset';
67
+ return parsed;
68
+ }
69
+ for (let index = startIndex; index < argv.length; index += 1) {
70
+ const arg = argv[index];
71
+ if (parsed.command === 'start' && (arg === 'webui' || arg === 'tui')) {
72
+ parsed.startTarget = arg;
73
+ continue;
74
+ }
75
+ if (arg === '--interactive' || arg === '-i') {
76
+ parsed.interactive = true;
77
+ continue;
78
+ }
79
+ if (arg === '--provider') {
80
+ const value = argv[index + 1];
81
+ if (value && VALID_PROVIDERS.includes(value)) {
82
+ parsed.provider = value;
83
+ index += 1;
84
+ continue;
85
+ }
86
+ throw new Error(`Invalid value for --provider. Use one of: ${VALID_PROVIDERS.join(', ')}.`);
87
+ }
88
+ if (arg === '--model') {
89
+ parsed.model = argv[index + 1];
90
+ index += 1;
91
+ continue;
92
+ }
93
+ if (arg === '--max-steps') {
94
+ const raw = argv[index + 1];
95
+ const value = Number(raw);
96
+ if (!Number.isInteger(value) || value <= 0) {
97
+ throw new Error('Invalid value for --max-steps. Use a positive integer.');
98
+ }
99
+ parsed.maxSteps = value;
100
+ index += 1;
101
+ continue;
102
+ }
103
+ if (arg === '--hide-thinking') {
104
+ parsed.showThinking = false;
105
+ continue;
106
+ }
107
+ if (arg === '--hide-agent-thinking') {
108
+ parsed.showThinking = false;
109
+ continue;
110
+ }
111
+ if (arg === '--hide-cli' || arg === '--hide-execution') {
112
+ parsed.showExecution = false;
113
+ continue;
114
+ }
115
+ if (arg === '--hide-command-executions') {
116
+ parsed.showExecution = false;
117
+ continue;
118
+ }
119
+ if (!parsed.prompt) {
120
+ parsed.prompt = arg;
121
+ continue;
122
+ }
123
+ parsed.prompt = `${parsed.prompt} ${arg}`;
124
+ }
125
+ if (!parsed.prompt) {
126
+ parsed.interactive = true;
127
+ }
128
+ return parsed;
129
+ }
130
+ async function promptForStartActionWithFallback() {
131
+ if (!process.stdin.isTTY || !process.stdout.isTTY) {
132
+ return 'webui';
133
+ }
134
+ return promptForStartAction();
135
+ }
136
+ async function resolveStartTarget(args, configService) {
137
+ if (args.startTarget) {
138
+ return args.startTarget;
139
+ }
140
+ for (;;) {
141
+ const action = await promptForStartActionWithFallback();
142
+ if (action === 'cancel') {
143
+ return undefined;
144
+ }
145
+ if (action === 'onboard') {
146
+ const completed = await runYagrSetup(configService);
147
+ if (!completed) {
148
+ return undefined;
149
+ }
150
+ continue;
151
+ }
152
+ return action;
153
+ }
154
+ }
155
+ async function runTui(args) {
156
+ const engine = await createN8nEngineFromWorkspace();
157
+ const agent = new YagrAgent(engine);
158
+ const { runCliGateway } = await import('./gateway/cli.js');
159
+ await runCliGateway(agent, {
160
+ prompt: args.prompt,
161
+ interactive: true,
162
+ provider: args.provider,
163
+ model: args.model,
164
+ maxSteps: args.maxSteps,
165
+ display: {
166
+ showThinking: args.showThinking,
167
+ showExecution: args.showExecution,
168
+ },
169
+ });
170
+ }
171
+ async function runWebUi(args, configService) {
172
+ await runGatewaySurfaces(['webui'], async () => await createN8nEngineFromWorkspace(), {
173
+ provider: args.provider,
174
+ model: args.model,
175
+ maxSteps: args.maxSteps,
176
+ }, configService);
177
+ }
178
+ async function main() {
179
+ const args = parseArgs(process.argv.slice(2));
180
+ const configService = new YagrConfigService();
181
+ if (args.command) {
182
+ if (args.command === 'config-show') {
183
+ const localConfig = configService.getLocalConfig();
184
+ const setupStatus = getYagrSetupStatus(configService);
185
+ const providers = VALID_PROVIDERS.map((provider) => ({
186
+ provider,
187
+ apiKeyStored: configService.hasApiKey(provider),
188
+ })).filter((entry) => entry.apiKeyStored);
189
+ process.stdout.write(`${JSON.stringify({ localConfig, providers, setupStatus }, null, 2)}\n`);
190
+ return;
191
+ }
192
+ if (args.command === 'config-reset') {
193
+ configService.clearLocalConfig();
194
+ configService.clearAllApiKeys();
195
+ process.stdout.write('Yagr config reset.\n');
196
+ return;
197
+ }
198
+ if (args.command === 'telegram-setup') {
199
+ await setupTelegramGateway(configService);
200
+ return;
201
+ }
202
+ if (args.command === 'setup') {
203
+ const completed = await runYagrSetup(configService);
204
+ if (!completed) {
205
+ return;
206
+ }
207
+ const startTarget = await resolveStartTarget(args, configService);
208
+ if (!startTarget) {
209
+ return;
210
+ }
211
+ if (startTarget === 'webui') {
212
+ await runWebUi(args, configService);
213
+ return;
214
+ }
215
+ await runTui(args);
216
+ return;
217
+ }
218
+ if (args.command === 'gateway-status') {
219
+ const status = getGatewaySupervisorStatus(configService);
220
+ process.stdout.write(`${JSON.stringify(status, null, 2)}\n`);
221
+ return;
222
+ }
223
+ if (args.command === 'telegram-status') {
224
+ const status = getTelegramGatewayStatus(configService);
225
+ process.stdout.write(`${JSON.stringify(status, null, 2)}\n`);
226
+ return;
227
+ }
228
+ if (args.command === 'telegram-onboarding') {
229
+ showTelegramOnboarding(configService);
230
+ return;
231
+ }
232
+ if (args.command === 'telegram-reset') {
233
+ resetTelegramGateway(configService);
234
+ process.stdout.write('Yagr Telegram config reset.\n');
235
+ return;
236
+ }
237
+ }
238
+ if (args.command === 'gateway-start') {
239
+ await runGatewaySupervisor(async () => await createN8nEngineFromWorkspace(), {
240
+ provider: args.provider,
241
+ model: args.model,
242
+ maxSteps: args.maxSteps,
243
+ }, configService);
244
+ return;
245
+ }
246
+ if (args.command === 'start') {
247
+ const status = getYagrSetupStatus(configService);
248
+ if (!status.ready) {
249
+ const completed = await runYagrSetup(configService);
250
+ if (!completed) {
251
+ return;
252
+ }
253
+ }
254
+ const startTarget = await resolveStartTarget(args, configService);
255
+ if (!startTarget) {
256
+ return;
257
+ }
258
+ if (startTarget === 'webui') {
259
+ await runWebUi(args, configService);
260
+ return;
261
+ }
262
+ await runTui(args);
263
+ return;
264
+ }
265
+ if (args.command === 'telegram-start') {
266
+ await runTelegramGateway(async () => await createN8nEngineFromWorkspace(), {
267
+ provider: args.provider,
268
+ model: args.model,
269
+ maxSteps: args.maxSteps,
270
+ }, configService);
271
+ return;
272
+ }
273
+ const engine = await createN8nEngineFromWorkspace();
274
+ const agent = new YagrAgent(engine);
275
+ const { runCliGateway } = await import('./gateway/cli.js');
276
+ await runCliGateway(agent, {
277
+ prompt: args.prompt,
278
+ interactive: args.interactive,
279
+ provider: args.provider,
280
+ model: args.model,
281
+ maxSteps: args.maxSteps,
282
+ display: {
283
+ showThinking: args.showThinking,
284
+ showExecution: args.showExecution,
285
+ },
286
+ });
287
+ }
288
+ main().catch((error) => {
289
+ const message = error instanceof Error ? error.message : String(error);
290
+ process.stderr.write(`Yagr CLI error: ${message}\n`);
291
+ process.exit(1);
292
+ });
293
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=init-yagr-home.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-yagr-home.d.ts","sourceRoot":"","sources":["../../src/config/init-yagr-home.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { ensureYagrHomeDir } from './yagr-home.js';
2
+ const homeDir = ensureYagrHomeDir();
3
+ if (process.cwd() !== homeDir) {
4
+ process.chdir(homeDir);
5
+ }
6
+ //# sourceMappingURL=init-yagr-home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-yagr-home.js","sourceRoot":"","sources":["../../src/config/init-yagr-home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;AAEpC,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,OAAO,EAAE,CAAC;IAC9B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=load-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-env.d.ts","sourceRoot":"","sources":["../../src/config/load-env.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { config as dotenvConfig } from 'dotenv';
2
+ import { existsSync } from 'node:fs';
3
+ import { join } from 'node:path';
4
+ import { getYagrHomeDir, getYagrLaunchDir } from './yagr-home.js';
5
+ const launchEnvTest = join(getYagrLaunchDir(), '.env.test');
6
+ const launchEnv = join(getYagrLaunchDir(), '.env');
7
+ const homeEnv = join(getYagrHomeDir(), '.env');
8
+ if (existsSync(launchEnvTest)) {
9
+ dotenvConfig({ path: launchEnvTest, quiet: true });
10
+ }
11
+ else if (existsSync(launchEnv)) {
12
+ dotenvConfig({ path: launchEnv, quiet: true });
13
+ }
14
+ else if (existsSync(homeEnv)) {
15
+ dotenvConfig({ path: homeEnv, quiet: true });
16
+ }
17
+ else {
18
+ dotenvConfig({ quiet: true });
19
+ }
20
+ //# sourceMappingURL=load-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-env.js","sourceRoot":"","sources":["../../src/config/load-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElE,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,WAAW,CAAC,CAAC;AAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,CAAC;AACnD,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE,MAAM,CAAC,CAAC;AAE/C,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACrD,CAAC;KAAM,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;IACjC,YAAY,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;KAAM,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;IAC/B,YAAY,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC;KAAM,CAAC;IACN,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { ConfigService } from 'n8nac';
2
+ import type { N8nEngineConfig } from '../types.js';
3
+ import { N8nEngine } from '../engine/n8n-engine.js';
4
+ export declare function loadN8nEngineConfig(configService?: ConfigService): Promise<N8nEngineConfig>;
5
+ export declare function createN8nEngineFromWorkspace(configService?: ConfigService): Promise<N8nEngine>;
6
+ //# sourceMappingURL=load-n8n-engine-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-n8n-engine-config.d.ts","sourceRoot":"","sources":["../../src/config/load-n8n-engine-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAQpD,wBAAsB,mBAAmB,CAAC,aAAa,gBAAsB,GAAG,OAAO,CAAC,eAAe,CAAC,CAmCvG;AAED,wBAAsB,4BAA4B,CAChD,aAAa,gBAAsB,GAClC,OAAO,CAAC,SAAS,CAAC,CAGpB"}
@@ -0,0 +1,39 @@
1
+ import { ConfigService } from 'n8nac';
2
+ import { N8nEngine } from '../engine/n8n-engine.js';
3
+ function missingFieldError(field) {
4
+ return new Error(`Missing required n8n workspace configuration field: ${field}. Initialize the workspace before starting Yagr.`);
5
+ }
6
+ export async function loadN8nEngineConfig(configService = new ConfigService()) {
7
+ const localConfig = configService.getLocalConfig();
8
+ if (!localConfig.host) {
9
+ throw missingFieldError('host');
10
+ }
11
+ if (!localConfig.syncFolder) {
12
+ throw missingFieldError('syncFolder');
13
+ }
14
+ if (!localConfig.projectId) {
15
+ throw missingFieldError('projectId');
16
+ }
17
+ if (!localConfig.projectName) {
18
+ throw missingFieldError('projectName');
19
+ }
20
+ const apiKey = configService.getApiKey(localConfig.host);
21
+ if (!apiKey) {
22
+ throw new Error(`Missing API key for ${localConfig.host}. Authenticate with n8n-as-code before starting Yagr.`);
23
+ }
24
+ const instanceIdentifier = localConfig.instanceIdentifier ??
25
+ (await configService.getOrCreateInstanceIdentifier(localConfig.host));
26
+ return {
27
+ host: localConfig.host,
28
+ apiKey,
29
+ syncFolder: localConfig.syncFolder,
30
+ projectId: localConfig.projectId,
31
+ projectName: localConfig.projectName,
32
+ instanceIdentifier,
33
+ };
34
+ }
35
+ export async function createN8nEngineFromWorkspace(configService = new ConfigService()) {
36
+ const config = await loadN8nEngineConfig(configService);
37
+ return new N8nEngine(config);
38
+ }
39
+ //# sourceMappingURL=load-n8n-engine-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-n8n-engine-config.js","sourceRoot":"","sources":["../../src/config/load-n8n-engine-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,IAAI,KAAK,CACd,uDAAuD,KAAK,kDAAkD,CAC/G,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE;IAC3E,MAAM,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE,CAAC;IAEnD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAC5B,MAAM,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7B,MAAM,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,uBAAuB,WAAW,CAAC,IAAI,uDAAuD,CAC/F,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GACtB,WAAW,CAAC,kBAAkB;QAC9B,CAAC,MAAM,aAAa,CAAC,6BAA6B,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;IAExE,OAAO;QACL,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,MAAM;QACN,UAAU,EAAE,WAAW,CAAC,UAAU;QAClC,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,aAAa,GAAG,IAAI,aAAa,EAAE;IAEnC,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,aAAa,CAAC,CAAC;IACxD,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { GatewaySurface } from '../gateway/types.js';
2
+ import type { YagrModelProvider } from '../llm/create-language-model.js';
3
+ export declare function normalizeGatewaySurfaces(surfaces: readonly string[] | undefined): GatewaySurface[];
4
+ export interface YagrTelegramLinkedChat {
5
+ chatId: string;
6
+ userId?: string;
7
+ username?: string;
8
+ firstName?: string;
9
+ linkedAt: string;
10
+ lastSeenAt?: string;
11
+ }
12
+ export interface YagrTelegramConfig {
13
+ botUsername?: string;
14
+ onboardingToken?: string;
15
+ linkedChats?: YagrTelegramLinkedChat[];
16
+ }
17
+ export interface YagrGatewayConfig {
18
+ enabledSurfaces?: GatewaySurface[];
19
+ webui?: {
20
+ host?: string;
21
+ port?: number;
22
+ };
23
+ }
24
+ export interface YagrLocalConfig {
25
+ provider?: YagrModelProvider;
26
+ model?: string;
27
+ baseUrl?: string;
28
+ gateway?: YagrGatewayConfig;
29
+ telegram?: YagrTelegramConfig;
30
+ }
31
+ export declare class YagrConfigService {
32
+ private readonly globalStore;
33
+ private readonly localConfigPath;
34
+ constructor();
35
+ getLocalConfig(): YagrLocalConfig;
36
+ saveLocalConfig(config: YagrLocalConfig): void;
37
+ updateLocalConfig(updater: (config: YagrLocalConfig) => YagrLocalConfig): YagrLocalConfig;
38
+ getEnabledGatewaySurfaces(): GatewaySurface[];
39
+ setEnabledGatewaySurfaces(surfaces: GatewaySurface[]): YagrLocalConfig;
40
+ enableGatewaySurface(surface: GatewaySurface): YagrLocalConfig;
41
+ disableGatewaySurface(surface: GatewaySurface): YagrLocalConfig;
42
+ getApiKey(provider: YagrModelProvider): string | undefined;
43
+ saveApiKey(provider: YagrModelProvider, apiKey: string): void;
44
+ hasApiKey(provider: YagrModelProvider): boolean;
45
+ clearLocalConfig(): void;
46
+ clearAllApiKeys(): void;
47
+ getTelegramBotToken(): string | undefined;
48
+ saveTelegramBotToken(botToken: string): void;
49
+ clearTelegramBotToken(): void;
50
+ }
51
+ //# sourceMappingURL=yagr-config-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yagr-config-service.d.ts","sourceRoot":"","sources":["../../src/config/yagr-config-service.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,GAAG,cAAc,EAAE,CAUlG;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,iBAAiB;IAChC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IACnC,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAO;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;;IAWzC,cAAc,IAAI,eAAe;IAajC,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,IAAI;IAI9C,iBAAiB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,eAAe,GAAG,eAAe;IAMzF,yBAAyB,IAAI,cAAc,EAAE;IAa7C,yBAAyB,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,eAAe;IAWtE,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe;IAK9D,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,eAAe;IAK/D,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS;IAK1D,UAAU,CAAC,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAM7D,SAAS,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO;IAI/C,gBAAgB,IAAI,IAAI;IAMxB,eAAe,IAAI,IAAI;IAIvB,mBAAmB,IAAI,MAAM,GAAG,SAAS;IAIzC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI5C,qBAAqB,IAAI,IAAI;CAG9B"}
@@ -0,0 +1,103 @@
1
+ import Conf from 'conf';
2
+ import fs from 'node:fs';
3
+ import path from 'node:path';
4
+ import { ensureYagrHomeDir, getYagrHomeDir } from './yagr-home.js';
5
+ export function normalizeGatewaySurfaces(surfaces) {
6
+ const normalized = [];
7
+ for (const surface of surfaces ?? []) {
8
+ if ((surface === 'telegram' || surface === 'webui' || surface === 'whatsapp') && !normalized.includes(surface)) {
9
+ normalized.push(surface);
10
+ }
11
+ }
12
+ return normalized;
13
+ }
14
+ export class YagrConfigService {
15
+ globalStore;
16
+ localConfigPath;
17
+ constructor() {
18
+ ensureYagrHomeDir();
19
+ this.globalStore = new Conf({
20
+ projectName: 'yagr',
21
+ configName: 'credentials',
22
+ });
23
+ this.localConfigPath = path.join(getYagrHomeDir(), 'yagr-config.json');
24
+ }
25
+ getLocalConfig() {
26
+ if (!fs.existsSync(this.localConfigPath)) {
27
+ return {};
28
+ }
29
+ try {
30
+ const content = fs.readFileSync(this.localConfigPath, 'utf-8');
31
+ return JSON.parse(content);
32
+ }
33
+ catch {
34
+ return {};
35
+ }
36
+ }
37
+ saveLocalConfig(config) {
38
+ fs.writeFileSync(this.localConfigPath, JSON.stringify(config, null, 2));
39
+ }
40
+ updateLocalConfig(updater) {
41
+ const nextConfig = updater(this.getLocalConfig());
42
+ this.saveLocalConfig(nextConfig);
43
+ return nextConfig;
44
+ }
45
+ getEnabledGatewaySurfaces() {
46
+ const localConfig = this.getLocalConfig();
47
+ if (Array.isArray(localConfig.gateway?.enabledSurfaces)) {
48
+ return normalizeGatewaySurfaces(localConfig.gateway.enabledSurfaces);
49
+ }
50
+ if (localConfig.telegram) {
51
+ return ['telegram'];
52
+ }
53
+ return [];
54
+ }
55
+ setEnabledGatewaySurfaces(surfaces) {
56
+ const nextSurfaces = normalizeGatewaySurfaces(surfaces);
57
+ return this.updateLocalConfig((localConfig) => ({
58
+ ...localConfig,
59
+ gateway: {
60
+ ...localConfig.gateway,
61
+ enabledSurfaces: nextSurfaces,
62
+ },
63
+ }));
64
+ }
65
+ enableGatewaySurface(surface) {
66
+ const nextSurfaces = normalizeGatewaySurfaces([...this.getEnabledGatewaySurfaces(), surface]);
67
+ return this.setEnabledGatewaySurfaces(nextSurfaces);
68
+ }
69
+ disableGatewaySurface(surface) {
70
+ const nextSurfaces = this.getEnabledGatewaySurfaces().filter((entry) => entry !== surface);
71
+ return this.setEnabledGatewaySurfaces(nextSurfaces);
72
+ }
73
+ getApiKey(provider) {
74
+ const credentials = this.globalStore.get('providers') ?? {};
75
+ return credentials[provider];
76
+ }
77
+ saveApiKey(provider, apiKey) {
78
+ const credentials = this.globalStore.get('providers') ?? {};
79
+ credentials[provider] = apiKey;
80
+ this.globalStore.set('providers', credentials);
81
+ }
82
+ hasApiKey(provider) {
83
+ return Boolean(this.getApiKey(provider));
84
+ }
85
+ clearLocalConfig() {
86
+ if (fs.existsSync(this.localConfigPath)) {
87
+ fs.unlinkSync(this.localConfigPath);
88
+ }
89
+ }
90
+ clearAllApiKeys() {
91
+ this.globalStore.set('providers', {});
92
+ }
93
+ getTelegramBotToken() {
94
+ return this.globalStore.get('telegram.botToken');
95
+ }
96
+ saveTelegramBotToken(botToken) {
97
+ this.globalStore.set('telegram.botToken', botToken);
98
+ }
99
+ clearTelegramBotToken() {
100
+ this.globalStore.delete('telegram.botToken');
101
+ }
102
+ }
103
+ //# sourceMappingURL=yagr-config-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yagr-config-service.js","sourceRoot":"","sources":["../../src/config/yagr-config-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare function getYagrLaunchDir(): string;
2
+ export declare function getYagrHomeDir(): string;
3
+ export declare function ensureYagrHomeDir(): string;
4
+ //# sourceMappingURL=yagr-home.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yagr-home.d.ts","sourceRoot":"","sources":["../../src/config/yagr-home.ts"],"names":[],"mappings":"AAUA,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,cAAc,IAAI,MAAM,CASvC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C"}
@@ -0,0 +1,25 @@
1
+ import fs from 'node:fs';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ const initialLaunchDir = process.env.YAGR_LAUNCH_CWD ?? process.cwd();
5
+ if (!process.env.YAGR_LAUNCH_CWD) {
6
+ process.env.YAGR_LAUNCH_CWD = initialLaunchDir;
7
+ }
8
+ export function getYagrLaunchDir() {
9
+ return process.env.YAGR_LAUNCH_CWD ?? initialLaunchDir;
10
+ }
11
+ export function getYagrHomeDir() {
12
+ const configuredHome = process.env.YAGR_HOME?.trim();
13
+ if (configuredHome) {
14
+ return path.isAbsolute(configuredHome)
15
+ ? configuredHome
16
+ : path.resolve(getYagrLaunchDir(), configuredHome);
17
+ }
18
+ return path.join(os.homedir(), '.yagr');
19
+ }
20
+ export function ensureYagrHomeDir() {
21
+ const homeDir = getYagrHomeDir();
22
+ fs.mkdirSync(homeDir, { recursive: true });
23
+ return homeDir;
24
+ }
25
+ //# sourceMappingURL=yagr-home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yagr-home.js","sourceRoot":"","sources":["../../src/config/yagr-home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;AAEtE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,gBAAgB,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,gBAAgB,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IACrD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC;YACpC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;IACjC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3C,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { DeployedWorkflow, GeneratedWorkflow, NodeSummary, TemplateSummary, WorkflowSpec, WorkflowValidationResult } from '../types.js';
2
+ export interface Engine {
3
+ readonly name: 'n8n' | 'yagr-engine';
4
+ searchNodes(query: string): Promise<NodeSummary[]>;
5
+ nodeInfo(type: string): Promise<unknown>;
6
+ searchTemplates(query: string): Promise<TemplateSummary[]>;
7
+ generateWorkflow(spec: WorkflowSpec): Promise<GeneratedWorkflow>;
8
+ validate(workflow: GeneratedWorkflow): Promise<WorkflowValidationResult>;
9
+ deploy(workflow: GeneratedWorkflow): Promise<DeployedWorkflow>;
10
+ listWorkflows(): Promise<DeployedWorkflow[]>;
11
+ activateWorkflow(id: string): Promise<void>;
12
+ deactivateWorkflow(id: string): Promise<void>;
13
+ deleteWorkflow(id: string): Promise<void>;
14
+ }
15
+ //# sourceMappingURL=engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,YAAY,EACZ,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,IAAI,EAAE,KAAK,GAAG,aAAa,CAAC;IAErC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAE3D,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACjE,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEzE,MAAM,CAAC,QAAQ,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,aAAa,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAC7C,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=engine.js.map