@yagr/agent 0.2.6 → 0.2.8

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 (87) hide show
  1. package/README.md +35 -18
  2. package/dist/agent.d.ts +15 -1
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +35 -4
  5. package/dist/agent.js.map +1 -1
  6. package/dist/cli.js +194 -36
  7. package/dist/cli.js.map +1 -1
  8. package/dist/config/gateway-daemon.d.ts +10 -0
  9. package/dist/config/gateway-daemon.d.ts.map +1 -0
  10. package/dist/config/gateway-daemon.js +42 -0
  11. package/dist/config/gateway-daemon.js.map +1 -0
  12. package/dist/config/init-yagr-home.js +5 -4
  13. package/dist/config/init-yagr-home.js.map +1 -1
  14. package/dist/config/local-state.js +2 -2
  15. package/dist/config/local-state.js.map +1 -1
  16. package/dist/config/n8n-config-service.d.ts +8 -0
  17. package/dist/config/n8n-config-service.d.ts.map +1 -1
  18. package/dist/config/n8n-config-service.js +21 -2
  19. package/dist/config/n8n-config-service.js.map +1 -1
  20. package/dist/config/yagr-home.d.ts +4 -0
  21. package/dist/config/yagr-home.d.ts.map +1 -1
  22. package/dist/config/yagr-home.js +12 -4
  23. package/dist/config/yagr-home.js.map +1 -1
  24. package/dist/gateway/format-message.d.ts +25 -0
  25. package/dist/gateway/format-message.d.ts.map +1 -0
  26. package/dist/gateway/format-message.js +166 -0
  27. package/dist/gateway/format-message.js.map +1 -0
  28. package/dist/gateway/interactive-ui.d.ts.map +1 -1
  29. package/dist/gateway/interactive-ui.js +127 -15
  30. package/dist/gateway/interactive-ui.js.map +1 -1
  31. package/dist/gateway/manager.d.ts +7 -0
  32. package/dist/gateway/manager.d.ts.map +1 -1
  33. package/dist/gateway/manager.js +76 -0
  34. package/dist/gateway/manager.js.map +1 -1
  35. package/dist/gateway/telegram.d.ts.map +1 -1
  36. package/dist/gateway/telegram.js +70 -13
  37. package/dist/gateway/telegram.js.map +1 -1
  38. package/dist/gateway/webui.d.ts.map +1 -1
  39. package/dist/gateway/webui.js +23 -7
  40. package/dist/gateway/webui.js.map +1 -1
  41. package/dist/prompt/build-system-prompt.d.ts +11 -0
  42. package/dist/prompt/build-system-prompt.d.ts.map +1 -1
  43. package/dist/prompt/build-system-prompt.js +112 -57
  44. package/dist/prompt/build-system-prompt.js.map +1 -1
  45. package/dist/runtime/completion-gate.js +1 -1
  46. package/dist/runtime/completion-gate.js.map +1 -1
  47. package/dist/runtime/context-compaction.d.ts.map +1 -1
  48. package/dist/runtime/context-compaction.js +2 -7
  49. package/dist/runtime/context-compaction.js.map +1 -1
  50. package/dist/runtime/policy-hooks.d.ts.map +1 -1
  51. package/dist/runtime/policy-hooks.js +9 -1
  52. package/dist/runtime/policy-hooks.js.map +1 -1
  53. package/dist/runtime/run-engine.d.ts +12 -1
  54. package/dist/runtime/run-engine.d.ts.map +1 -1
  55. package/dist/runtime/run-engine.js +108 -61
  56. package/dist/runtime/run-engine.js.map +1 -1
  57. package/dist/setup/setup-wizard.d.ts +1 -1
  58. package/dist/setup/setup-wizard.d.ts.map +1 -1
  59. package/dist/setup/setup-wizard.js +40 -5
  60. package/dist/setup/setup-wizard.js.map +1 -1
  61. package/dist/setup/start-launcher.d.ts +2 -21
  62. package/dist/setup/start-launcher.d.ts.map +1 -1
  63. package/dist/setup/start-launcher.js +14 -63
  64. package/dist/setup/start-launcher.js.map +1 -1
  65. package/dist/setup.d.ts +1 -0
  66. package/dist/setup.d.ts.map +1 -1
  67. package/dist/setup.js +31 -7
  68. package/dist/setup.js.map +1 -1
  69. package/dist/tools/build-tools.d.ts +9 -3
  70. package/dist/tools/build-tools.d.ts.map +1 -1
  71. package/dist/tools/n8nac.d.ts +5 -3
  72. package/dist/tools/n8nac.d.ts.map +1 -1
  73. package/dist/tools/n8nac.js +7 -5
  74. package/dist/tools/n8nac.js.map +1 -1
  75. package/dist/tools/present-workflow-result.d.ts +4 -0
  76. package/dist/tools/present-workflow-result.d.ts.map +1 -1
  77. package/dist/tools/present-workflow-result.js +3 -3
  78. package/dist/tools/present-workflow-result.js.map +1 -1
  79. package/dist/tools/workspace-utils.js +2 -2
  80. package/dist/tools/workspace-utils.js.map +1 -1
  81. package/dist/types.d.ts +2 -0
  82. package/dist/types.d.ts.map +1 -1
  83. package/dist/webui/app.js +6 -3
  84. package/dist/webui/app.js.map +2 -2
  85. package/dist/webui/styles.css +34 -24
  86. package/dist/webui/styles.css.map +2 -2
  87. package/package.json +2 -2
@@ -1 +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"}
1
+ {"version":3,"file":"init-yagr-home.js","sourceRoot":"","sources":["../../src/config/init-yagr-home.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE3E,iBAAiB,EAAE,CAAC;AACpB,MAAM,YAAY,GAAG,sBAAsB,EAAE,CAAC;AAE9C,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,YAAY,EAAE,CAAC;IACnC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAC9B,CAAC"}
@@ -22,8 +22,8 @@ function resolveWorkspacePaths(paths) {
22
22
  }
23
23
  const resolvedSyncFolder = path.isAbsolute(n8nConfig.syncFolder)
24
24
  ? n8nConfig.syncFolder
25
- : path.resolve(paths.homeDir, n8nConfig.syncFolder);
26
- if (isPathWithin(resolvedSyncFolder, paths.homeDir)) {
25
+ : path.resolve(paths.n8nWorkspaceDir, n8nConfig.syncFolder);
26
+ if (isPathWithin(resolvedSyncFolder, paths.n8nWorkspaceDir)) {
27
27
  return { workspacePaths: [resolvedSyncFolder], preservedWorkspacePaths: [] };
28
28
  }
29
29
  return { workspacePaths: [], preservedWorkspacePaths: [resolvedSyncFolder] };
@@ -1 +1 @@
1
- {"version":3,"file":"local-state.js","sourceRoot":"","sources":["../../src/config/local-state.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,kBAAkB,CAAC;AAC1C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAkB,MAAM,gBAAgB,CAAC;AAc9D,SAAS,WAAW,CAAC,MAAgB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa,EAAE,MAAc;IACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC9C,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,aAAa,CAAC,MAAgB;IACrC,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACzF,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE;QAC5C,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,SAAS,IAAI,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/G,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAgB;IAC7C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC,cAAc,EAAE,CAAC;IAC9D,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAC1B,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC;IAC7D,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC;QAC9D,CAAC,CAAC,SAAS,CAAC,UAAU;QACtB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IAEtD,IAAI,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,OAAO,EAAE,cAAc,EAAE,CAAC,kBAAkB,CAAC,EAAE,uBAAuB,EAAE,EAAE,EAAE,CAAC;IAC/E,CAAC;IAED,OAAO,EAAE,cAAc,EAAE,EAAE,EAAE,uBAAuB,EAAE,CAAC,kBAAkB,CAAC,EAAE,CAAC;AAC/E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAAwB,cAAc;IACzE,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,WAAW,CAAC;QAClC,KAAK,CAAC,mBAAmB;QACzB,KAAK,CAAC,kBAAkB;QACxB,KAAK,CAAC,wBAAwB;QAC9B,KAAK,CAAC,uBAAuB;KAC9B,CAAC,CAAC;IACH,MAAM,EAAE,cAAc,EAAE,uBAAuB,EAAE,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAEjF,IAAI,WAAqB,CAAC;IAC1B,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,QAAQ;YACX,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;YAC/B,MAAM;QACR,KAAK,cAAc;YACjB,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,eAAe,CAAC,CAAC;YACnD,MAAM;QACR,KAAK,MAAM;YACT,WAAW,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC7F,MAAM;QACR;YACE,WAAW,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,eAAe,CAAC,CAAC;YACnD,MAAM;IACV,CAAC;IAED,OAAO;QACL,KAAK;QACL,KAAK;QACL,WAAW;QACX,eAAe;QACf,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC;QACvC,cAAc;QACd,uBAAuB;KACxB,CAAC;AACJ,CAAC;AAOD,KAAK,UAAU,UAAU,CAAC,UAAkB;IAC1C,MAAM,UAAU,CAAC,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,KAAqB,EAAE,UAAgC,EAAE;IACjG,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI;QACJ,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;KACpC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"local-state.js","sourceRoot":"","sources":["../../src/config/local-state.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,14 @@ export interface YagrN8nLocalConfig {
6
6
  instanceIdentifier?: string;
7
7
  customNodesPath?: string;
8
8
  }
9
+ /**
10
+ * Computes the fully-qualified workflow directory for the current config:
11
+ * <syncFolder>/<instanceIdentifier>/<projectSlug>
12
+ *
13
+ * Returns undefined when any required field is missing (e.g. during bootstrap).
14
+ * This is the single source of truth for this path calculation.
15
+ */
16
+ export declare function resolveWorkflowDir(config: YagrN8nLocalConfig): string | undefined;
9
17
  export declare class YagrN8nConfigService {
10
18
  private readonly globalStore;
11
19
  private readonly compatibilityStore;
@@ -1 +1 @@
1
- {"version":3,"file":"n8n-config-service.d.ts","sourceRoot":"","sources":["../../src/config/n8n-config-service.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;;IAmB/C,cAAc,IAAI,kBAAkB;IAapC,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIjD,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAc,GAAG,IAAI;IAchE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAW3C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU9C,gBAAgB,IAAI,IAAI;IAMxB,eAAe,IAAI,IAAI;IAKjB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BlE,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,4BAA4B;CAerC"}
1
+ {"version":3,"file":"n8n-config-service.d.ts","sourceRoot":"","sources":["../../src/config/n8n-config-service.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAYjF;AAED,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IACvD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA2B;IAC9D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;;IAmB/C,cAAc,IAAI,kBAAkB;IAapC,eAAe,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI;IAIjD,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,SAAc,GAAG,IAAI;IAchE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAW3C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAU9C,gBAAgB,IAAI,IAAI;IAMxB,eAAe,IAAI,IAAI;IAKjB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA0BlE,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,wBAAwB;IAqBhC,OAAO,CAAC,4BAA4B;CAerC"}
@@ -1,7 +1,26 @@
1
1
  import Conf from 'conf';
2
2
  import fs from 'node:fs';
3
- import { createFallbackInstanceIdentifier, resolveInstanceIdentifier } from 'n8nac';
4
- import { ensureYagrHomeDir, getYagrPaths } from './yagr-home.js';
3
+ import path from 'node:path';
4
+ import { createFallbackInstanceIdentifier, createProjectSlug, resolveInstanceIdentifier } from 'n8nac';
5
+ import { ensureYagrHomeDir, getYagrN8nWorkspaceDir, getYagrPaths } from './yagr-home.js';
6
+ /**
7
+ * Computes the fully-qualified workflow directory for the current config:
8
+ * <syncFolder>/<instanceIdentifier>/<projectSlug>
9
+ *
10
+ * Returns undefined when any required field is missing (e.g. during bootstrap).
11
+ * This is the single source of truth for this path calculation.
12
+ */
13
+ export function resolveWorkflowDir(config) {
14
+ const { syncFolder, instanceIdentifier, projectName } = config;
15
+ if (!syncFolder || !instanceIdentifier || !projectName) {
16
+ return undefined;
17
+ }
18
+ const workspaceDir = getYagrN8nWorkspaceDir();
19
+ const resolvedSyncFolder = path.isAbsolute(syncFolder)
20
+ ? syncFolder
21
+ : path.join(workspaceDir, syncFolder);
22
+ return path.join(resolvedSyncFolder, instanceIdentifier, createProjectSlug(projectName));
23
+ }
5
24
  export class YagrN8nConfigService {
6
25
  globalStore;
7
26
  compatibilityStore;
@@ -1 +1 @@
1
- {"version":3,"file":"n8n-config-service.js","sourceRoot":"","sources":["../../src/config/n8n-config-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"n8n-config-service.js","sourceRoot":"","sources":["../../src/config/n8n-config-service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  export interface YagrPaths {
2
2
  launchDir: string;
3
3
  homeDir: string;
4
+ n8nWorkspaceDir: string;
5
+ homeInstructionsPath: string;
6
+ workspaceInstructionsPath: string;
4
7
  yagrConfigPath: string;
5
8
  yagrCredentialsPath: string;
6
9
  n8nConfigPath: string;
@@ -13,6 +16,7 @@ export interface YagrPaths {
13
16
  export declare function getYagrLaunchDir(): string;
14
17
  export declare function resolveYagrHomeDir(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform, homedir?: string, launchDir?: string): string;
15
18
  export declare function getYagrHomeDir(): string;
19
+ export declare function getYagrN8nWorkspaceDir(): string;
16
20
  export declare function resolveLegacyConfStorePath(projectName: string, configName: string, env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform, homedir?: string): string;
17
21
  export declare function getYagrPaths(): YagrPaths;
18
22
  export declare function ensureYagrHomeDir(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"yagr-home.d.ts","sourceRoot":"","sources":["../../src/config/yagr-home.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAMD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,MAAqB,EAC9B,SAAS,GAAE,MAA2B,GACrC,MAAM,CAkBR;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,MAAqB,GAC7B,MAAM,CAaR;AAED,wBAAgB,YAAY,IAAI,SAAS,CAkBxC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C"}
1
+ {"version":3,"file":"yagr-home.d.ts","sourceRoot":"","sources":["../../src/config/yagr-home.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,yBAAyB,EAAE,MAAM,CAAC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wBAAwB,EAAE,MAAM,CAAC;IACjC,yBAAyB,EAAE,MAAM,CAAC;IAClC,uBAAuB,EAAE,MAAM,CAAC;IAChC,wBAAwB,EAAE,MAAM,CAAC;CAClC;AAMD,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,MAAqB,EAC9B,SAAS,GAAE,MAA2B,GACrC,MAAM,CAkBR;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,MAAqB,GAC7B,MAAM,CAaR;AAED,wBAAgB,YAAY,IAAI,SAAS,CAsBxC;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAK1C"}
@@ -27,6 +27,9 @@ export function resolveYagrHomeDir(env = process.env, platform = process.platfor
27
27
  export function getYagrHomeDir() {
28
28
  return resolveYagrHomeDir(process.env, process.platform, os.homedir(), getYagrLaunchDir());
29
29
  }
30
+ export function getYagrN8nWorkspaceDir() {
31
+ return path.join(getYagrHomeDir(), 'n8n-workspace');
32
+ }
30
33
  export function resolveLegacyConfStorePath(projectName, configName, env = process.env, platform = process.platform, homedir = os.homedir()) {
31
34
  const suffix = `${projectName}-nodejs`;
32
35
  if (platform === 'win32') {
@@ -42,14 +45,18 @@ export function resolveLegacyConfStorePath(projectName, configName, env = proces
42
45
  export function getYagrPaths() {
43
46
  const launchDir = getYagrLaunchDir();
44
47
  const homeDir = getYagrHomeDir();
48
+ const n8nWorkspaceDir = getYagrN8nWorkspaceDir();
45
49
  const legacyYagrCredentialsPath = resolveLegacyConfStorePath('yagr', 'credentials');
46
50
  const legacyN8nCredentialsPath = resolveLegacyConfStorePath('n8nac', 'credentials');
47
51
  return {
48
52
  launchDir,
49
53
  homeDir,
54
+ n8nWorkspaceDir,
55
+ homeInstructionsPath: path.join(homeDir, 'AGENTS.md'),
56
+ workspaceInstructionsPath: path.join(n8nWorkspaceDir, 'AGENTS.md'),
50
57
  yagrConfigPath: path.join(homeDir, 'yagr-config.json'),
51
58
  yagrCredentialsPath: path.join(homeDir, 'credentials.json'),
52
- n8nConfigPath: path.join(homeDir, 'n8nac-config.json'),
59
+ n8nConfigPath: path.join(n8nWorkspaceDir, 'n8nac-config.json'),
53
60
  n8nCredentialsPath: path.join(homeDir, 'n8n-credentials.json'),
54
61
  legacyYagrCredentialsDir: path.dirname(legacyYagrCredentialsPath),
55
62
  legacyYagrCredentialsPath,
@@ -58,8 +65,9 @@ export function getYagrPaths() {
58
65
  };
59
66
  }
60
67
  export function ensureYagrHomeDir() {
61
- const homeDir = getYagrHomeDir();
62
- fs.mkdirSync(homeDir, { recursive: true });
63
- return homeDir;
68
+ const paths = getYagrPaths();
69
+ fs.mkdirSync(paths.homeDir, { recursive: true });
70
+ fs.mkdirSync(paths.n8nWorkspaceDir, { recursive: true });
71
+ return paths.homeDir;
64
72
  }
65
73
  //# sourceMappingURL=yagr-home.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yagr-home.js","sourceRoot":"","sources":["../../src/config/yagr-home.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yagr-home.js","sourceRoot":"","sources":["../../src/config/yagr-home.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Shared message formatting utilities for TUI and Telegram gateways.
3
+ * Single source of truth for workflow-link rendering and markdown-to-surface conversion.
4
+ */
5
+ import type { YagrToolEvent } from '../types.js';
6
+ export interface WorkflowEmbed {
7
+ workflowId: string;
8
+ url: string;
9
+ title?: string;
10
+ }
11
+ export declare function extractWorkflowEmbed(event: YagrToolEvent): WorkflowEmbed | undefined;
12
+ export declare function formatWorkflowLinkPlain(embed: WorkflowEmbed): string;
13
+ export declare function formatWorkflowLinkHtml(embed: WorkflowEmbed): string;
14
+ export declare function formatWorkflowLinkTerminal(embed: WorkflowEmbed): string;
15
+ export declare function buildWorkflowFooterPlain(embeds: WorkflowEmbed[]): string;
16
+ export declare function buildWorkflowFooterHtml(embeds: WorkflowEmbed[]): string;
17
+ export declare function buildWorkflowFooterTerminal(embeds: WorkflowEmbed[]): string;
18
+ export declare function escapeHtml(text: string): string;
19
+ /**
20
+ * Convert LLM-produced markdown to Telegram-compatible HTML.
21
+ * Handles: fenced code blocks, inline code, bold, italic, links, headers, lists.
22
+ * Falls back to HTML-escaped plain text on any error.
23
+ */
24
+ export declare function markdownToTelegramHtml(markdown: string): string;
25
+ //# sourceMappingURL=format-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-message.d.ts","sourceRoot":"","sources":["../../src/gateway/format-message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS,CAKpF;AAMD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAGpE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAGnE;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAGvE;AAMD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAGxE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAGvE;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAG3E;AAMD,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/D"}
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Shared message formatting utilities for TUI and Telegram gateways.
3
+ * Single source of truth for workflow-link rendering and markdown-to-surface conversion.
4
+ */
5
+ export function extractWorkflowEmbed(event) {
6
+ if (event.type === 'embed' && event.kind === 'workflow') {
7
+ return { workflowId: event.workflowId, url: event.url, title: event.title };
8
+ }
9
+ return undefined;
10
+ }
11
+ // ---------------------------------------------------------------------------
12
+ // Workflow link formatting — one per surface
13
+ // ---------------------------------------------------------------------------
14
+ export function formatWorkflowLinkPlain(embed) {
15
+ const label = embed.title ?? `Workflow ${embed.workflowId}`;
16
+ return `🔗 ${label}\n ${embed.url}`;
17
+ }
18
+ export function formatWorkflowLinkHtml(embed) {
19
+ const label = escapeHtml(embed.title ?? `Workflow ${embed.workflowId}`);
20
+ return `🔗 <b>${label}</b>\n${embed.url}`;
21
+ }
22
+ export function formatWorkflowLinkTerminal(embed) {
23
+ const label = embed.title ?? `Workflow ${embed.workflowId}`;
24
+ return `🔗 \x1b]8;;${embed.url}\x07${label}\x1b]8;;\x07`;
25
+ }
26
+ // ---------------------------------------------------------------------------
27
+ // Workflow footer builder (appended to response messages)
28
+ // ---------------------------------------------------------------------------
29
+ export function buildWorkflowFooterPlain(embeds) {
30
+ if (embeds.length === 0)
31
+ return '';
32
+ return embeds.map(formatWorkflowLinkPlain).join('\n');
33
+ }
34
+ export function buildWorkflowFooterHtml(embeds) {
35
+ if (embeds.length === 0)
36
+ return '';
37
+ return embeds.map(formatWorkflowLinkHtml).join('\n');
38
+ }
39
+ export function buildWorkflowFooterTerminal(embeds) {
40
+ if (embeds.length === 0)
41
+ return '';
42
+ return embeds.map(formatWorkflowLinkTerminal).join('\n');
43
+ }
44
+ // ---------------------------------------------------------------------------
45
+ // HTML escaping
46
+ // ---------------------------------------------------------------------------
47
+ export function escapeHtml(text) {
48
+ return text.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
49
+ }
50
+ // ---------------------------------------------------------------------------
51
+ // Markdown → Telegram HTML conversion
52
+ // ---------------------------------------------------------------------------
53
+ /**
54
+ * Convert LLM-produced markdown to Telegram-compatible HTML.
55
+ * Handles: fenced code blocks, inline code, bold, italic, links, headers, lists.
56
+ * Falls back to HTML-escaped plain text on any error.
57
+ */
58
+ export function markdownToTelegramHtml(markdown) {
59
+ try {
60
+ return convertMarkdownToHtml(markdown);
61
+ }
62
+ catch {
63
+ return escapeHtml(markdown);
64
+ }
65
+ }
66
+ function convertMarkdownToHtml(md) {
67
+ const lines = md.split('\n');
68
+ const output = [];
69
+ let inCode = false;
70
+ const codeBuf = [];
71
+ for (const line of lines) {
72
+ if (line.trimStart().startsWith('```')) {
73
+ if (inCode) {
74
+ output.push(`<pre>${escapeHtml(codeBuf.join('\n'))}</pre>`);
75
+ codeBuf.length = 0;
76
+ }
77
+ inCode = !inCode;
78
+ continue;
79
+ }
80
+ if (inCode) {
81
+ codeBuf.push(line);
82
+ continue;
83
+ }
84
+ output.push(convertMarkdownLine(line));
85
+ }
86
+ if (codeBuf.length > 0) {
87
+ output.push(`<pre>${escapeHtml(codeBuf.join('\n'))}</pre>`);
88
+ }
89
+ return output.join('\n');
90
+ }
91
+ function convertMarkdownLine(line) {
92
+ const trimmed = line.trimStart();
93
+ const headerMatch = trimmed.match(/^#{1,6}\s+(.+)$/);
94
+ if (headerMatch) {
95
+ return `\n<b>${convertInline(headerMatch[1])}</b>`;
96
+ }
97
+ if (/^[-*]\s/.test(trimmed)) {
98
+ return `• ${convertInline(trimmed.replace(/^[-*]\s+/, ''))}`;
99
+ }
100
+ return convertInline(line);
101
+ }
102
+ /**
103
+ * Character-level inline conversion.
104
+ * Extracts code spans, links, bold, italic one token at a time so that
105
+ * HTML entities inside code / URLs are never double-escaped.
106
+ */
107
+ function convertInline(text) {
108
+ let result = '';
109
+ let i = 0;
110
+ while (i < text.length) {
111
+ // Inline code
112
+ if (text[i] === '`') {
113
+ const end = text.indexOf('`', i + 1);
114
+ if (end !== -1) {
115
+ result += `<code>${escapeHtml(text.slice(i + 1, end))}</code>`;
116
+ i = end + 1;
117
+ continue;
118
+ }
119
+ }
120
+ // Link: [text](url)
121
+ if (text[i] === '[') {
122
+ const closeBracket = text.indexOf(']', i + 1);
123
+ if (closeBracket !== -1 && text[closeBracket + 1] === '(') {
124
+ const closeParen = text.indexOf(')', closeBracket + 2);
125
+ if (closeParen !== -1) {
126
+ const linkText = text.slice(i + 1, closeBracket);
127
+ const url = text.slice(closeBracket + 2, closeParen);
128
+ result += `<a href="${escapeHtml(url)}">${escapeHtml(linkText)}</a>`;
129
+ i = closeParen + 1;
130
+ continue;
131
+ }
132
+ }
133
+ }
134
+ // Bold: **text**
135
+ if (text[i] === '*' && text[i + 1] === '*') {
136
+ const end = text.indexOf('**', i + 2);
137
+ if (end !== -1) {
138
+ result += `<b>${escapeHtml(text.slice(i + 2, end))}</b>`;
139
+ i = end + 2;
140
+ continue;
141
+ }
142
+ }
143
+ // Italic: *text* (single asterisk, not followed by another)
144
+ if (text[i] === '*' && text[i + 1] !== '*') {
145
+ const end = text.indexOf('*', i + 1);
146
+ if (end !== -1 && text[end + 1] !== '*') {
147
+ result += `<i>${escapeHtml(text.slice(i + 1, end))}</i>`;
148
+ i = end + 1;
149
+ continue;
150
+ }
151
+ }
152
+ // Regular character — escape HTML
153
+ const ch = text[i];
154
+ if (ch === '&')
155
+ result += '&amp;';
156
+ else if (ch === '<')
157
+ result += '&lt;';
158
+ else if (ch === '>')
159
+ result += '&gt;';
160
+ else
161
+ result += ch;
162
+ i++;
163
+ }
164
+ return result;
165
+ }
166
+ //# sourceMappingURL=format-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-message.js","sourceRoot":"","sources":["../../src/gateway/format-message.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,MAAM,UAAU,oBAAoB,CAAC,KAAoB;IACvD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACxD,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,8EAA8E;AAC9E,6CAA6C;AAC7C,8EAA8E;AAE9E,MAAM,UAAU,uBAAuB,CAAC,KAAoB;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5D,OAAO,MAAM,KAAK,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAoB;IACzD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,OAAO,SAAS,KAAK,SAAS,KAAK,CAAC,GAAG,EAAE,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAoB;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,YAAY,KAAK,CAAC,UAAU,EAAE,CAAC;IAC5D,OAAO,cAAc,KAAK,CAAC,GAAG,OAAO,KAAK,cAAc,CAAC;AAC3D,CAAC;AAED,8EAA8E;AAC9E,0DAA0D;AAC1D,8EAA8E;AAE9E,MAAM,UAAU,wBAAwB,CAAC,MAAuB;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAuB;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAuB;IACjE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACnC,OAAO,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3D,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACjF,CAAC;AAED,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,IAAI,CAAC;QACH,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,EAAU;IACvC,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC5D,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,MAAM,GAAG,CAAC,MAAM,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnB,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,QAAQ,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IAEjC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,QAAQ,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACrD,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;IAED,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IAEV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,cAAc;QACd,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,SAAS,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC;gBAC/D,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;gBACvD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;oBACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;oBACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;oBACrD,MAAM,IAAI,YAAY,UAAU,CAAC,GAAG,CAAC,KAAK,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;oBACrE,CAAC,GAAG,UAAU,GAAG,CAAC,CAAC;oBACnB,SAAS;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACtC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,MAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBACzD,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;QACH,CAAC;QAED,4DAA4D;QAC5D,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACxC,MAAM,IAAI,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;gBACzD,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;gBACZ,SAAS;YACX,CAAC;QACH,CAAC;QAED,kCAAkC;QAClC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,IAAI,EAAE,KAAK,GAAG;YAAE,MAAM,IAAI,OAAO,CAAC;aAC7B,IAAI,EAAE,KAAK,GAAG;YAAE,MAAM,IAAI,MAAM,CAAC;aACjC,IAAI,EAAE,KAAK,GAAG;YAAE,MAAM,IAAI,MAAM,CAAC;;YACjC,MAAM,IAAI,EAAE,CAAC;QAClB,CAAC,EAAE,CAAC;IACN,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interactive-ui.d.ts","sourceRoot":"","sources":["../../src/gateway/interactive-ui.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,KAAK,EAMV,cAAc,EAGf,MAAM,aAAa,CAAC;AAkmBrB,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG"}
1
+ {"version":3,"file":"interactive-ui.d.ts","sourceRoot":"","sources":["../../src/gateway/interactive-ui.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAO7C,OAAO,KAAK,EAMV,cAAc,EAGf,MAAM,aAAa,CAAC;AAqwBrB,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG"}