@superblocksteam/vite-plugin-file-sync 2.0.105 → 2.0.106-next.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 (174) hide show
  1. package/dist/ai-service/agent/middleware.d.ts.map +1 -1
  2. package/dist/ai-service/agent/middleware.js +33 -0
  3. package/dist/ai-service/agent/middleware.js.map +1 -1
  4. package/dist/ai-service/agent/prompts/api-prompts.d.ts +3 -3
  5. package/dist/ai-service/agent/prompts/api-prompts.d.ts.map +1 -1
  6. package/dist/ai-service/agent/prompts/api-prompts.js +256 -62
  7. package/dist/ai-service/agent/prompts/api-prompts.js.map +1 -1
  8. package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
  9. package/dist/ai-service/agent/prompts/build-base-system-prompt.js +17 -1
  10. package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
  11. package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
  12. package/dist/ai-service/agent/tool-message-utils.js +3 -0
  13. package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
  14. package/dist/ai-service/agent/tools/apis/analysis.d.ts.map +1 -1
  15. package/dist/ai-service/agent/tools/apis/analysis.js +7 -1
  16. package/dist/ai-service/agent/tools/apis/analysis.js.map +1 -1
  17. package/dist/ai-service/agent/tools/apis/api-testing-state.d.ts.map +1 -1
  18. package/dist/ai-service/agent/tools/apis/api-testing-state.js +1 -2
  19. package/dist/ai-service/agent/tools/apis/api-testing-state.js.map +1 -1
  20. package/dist/ai-service/agent/tools/apis/sdk-registry.d.ts +11 -0
  21. package/dist/ai-service/agent/tools/apis/sdk-registry.d.ts.map +1 -1
  22. package/dist/ai-service/agent/tools/apis/sdk-registry.js +41 -1
  23. package/dist/ai-service/agent/tools/apis/sdk-registry.js.map +1 -1
  24. package/dist/ai-service/agent/tools/apis/test-api.d.ts +1 -1
  25. package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -1
  26. package/dist/ai-service/agent/tools/apis/test-api.js +49 -4
  27. package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -1
  28. package/dist/ai-service/agent/tools/build-debug.d.ts.map +1 -1
  29. package/dist/ai-service/agent/tools/build-debug.js +11 -13
  30. package/dist/ai-service/agent/tools/build-debug.js.map +1 -1
  31. package/dist/ai-service/agent/tools/build-edit-file.d.ts.map +1 -1
  32. package/dist/ai-service/agent/tools/build-edit-file.js +22 -2
  33. package/dist/ai-service/agent/tools/build-edit-file.js.map +1 -1
  34. package/dist/ai-service/agent/tools/build-finalize.d.ts.map +1 -1
  35. package/dist/ai-service/agent/tools/build-finalize.js +12 -0
  36. package/dist/ai-service/agent/tools/build-finalize.js.map +1 -1
  37. package/dist/ai-service/agent/tools/index.d.ts +1 -0
  38. package/dist/ai-service/agent/tools/index.d.ts.map +1 -1
  39. package/dist/ai-service/agent/tools/index.js +1 -0
  40. package/dist/ai-service/agent/tools/index.js.map +1 -1
  41. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts +9 -0
  42. package/dist/ai-service/agent/tools/integrations/execute-request.d.ts.map +1 -1
  43. package/dist/ai-service/agent/tools/integrations/execute-request.js +66 -1
  44. package/dist/ai-service/agent/tools/integrations/execute-request.js.map +1 -1
  45. package/dist/ai-service/agent/tools/integrations/index.d.ts +1 -0
  46. package/dist/ai-service/agent/tools/integrations/index.d.ts.map +1 -1
  47. package/dist/ai-service/agent/tools/integrations/index.js +1 -0
  48. package/dist/ai-service/agent/tools/integrations/index.js.map +1 -1
  49. package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts +86 -0
  50. package/dist/ai-service/agent/tools/integrations/integration-setup.d.ts.map +1 -0
  51. package/dist/ai-service/agent/tools/integrations/integration-setup.js +353 -0
  52. package/dist/ai-service/agent/tools/integrations/integration-setup.js.map +1 -0
  53. package/dist/ai-service/agent/tools.d.ts.map +1 -1
  54. package/dist/ai-service/agent/tools.js +19 -2
  55. package/dist/ai-service/agent/tools.js.map +1 -1
  56. package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
  57. package/dist/ai-service/agent/tools2/access-control.js +5 -2
  58. package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
  59. package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
  60. package/dist/ai-service/agent/tools2/registry.js +7 -4
  61. package/dist/ai-service/agent/tools2/registry.js.map +1 -1
  62. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js +2 -2
  63. package/dist/ai-service/agent/tools2/tools/ask-multi-choice.js.map +1 -1
  64. package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.d.ts +18 -0
  65. package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.d.ts.map +1 -0
  66. package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.js +82 -0
  67. package/dist/ai-service/agent/tools2/tools/ask-searchable-dropdown.js.map +1 -0
  68. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +1 -0
  69. package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
  70. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.d.ts.map +1 -1
  71. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js +0 -8
  72. package/dist/ai-service/agent/tools2/tools/grep-metadata-ripgrep.js.map +1 -1
  73. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts +1 -1
  74. package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
  75. package/dist/ai-service/agent/tools2/tools/grep-metadata.js +5 -6
  76. package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
  77. package/dist/ai-service/agent/tools2/types.d.ts +13 -1
  78. package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
  79. package/dist/ai-service/agent/tools2/types.js +12 -0
  80. package/dist/ai-service/agent/tools2/types.js.map +1 -1
  81. package/dist/ai-service/chat/chat-session-store.d.ts +3 -1
  82. package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
  83. package/dist/ai-service/chat/chat-session-store.js +57 -0
  84. package/dist/ai-service/chat/chat-session-store.js.map +1 -1
  85. package/dist/ai-service/features.d.ts +14 -1
  86. package/dist/ai-service/features.d.ts.map +1 -1
  87. package/dist/ai-service/features.js +12 -2
  88. package/dist/ai-service/features.js.map +1 -1
  89. package/dist/ai-service/index.d.ts +5 -1
  90. package/dist/ai-service/index.d.ts.map +1 -1
  91. package/dist/ai-service/index.js +45 -49
  92. package/dist/ai-service/index.js.map +1 -1
  93. package/dist/ai-service/integrations/store.d.ts +21 -0
  94. package/dist/ai-service/integrations/store.d.ts.map +1 -1
  95. package/dist/ai-service/integrations/store.js +50 -0
  96. package/dist/ai-service/integrations/store.js.map +1 -1
  97. package/dist/ai-service/llm/context-v2/context.d.ts.map +1 -1
  98. package/dist/ai-service/llm/context-v2/context.js +7 -3
  99. package/dist/ai-service/llm/context-v2/context.js.map +1 -1
  100. package/dist/ai-service/llm/context-v2/uniquify-filenames.d.ts +15 -0
  101. package/dist/ai-service/llm/context-v2/uniquify-filenames.d.ts.map +1 -0
  102. package/dist/ai-service/llm/context-v2/uniquify-filenames.js +91 -0
  103. package/dist/ai-service/llm/context-v2/uniquify-filenames.js.map +1 -0
  104. package/dist/ai-service/llm/error.d.ts +11 -1
  105. package/dist/ai-service/llm/error.d.ts.map +1 -1
  106. package/dist/ai-service/llm/error.js +9 -0
  107. package/dist/ai-service/llm/error.js.map +1 -1
  108. package/dist/ai-service/llm/stream/config.d.ts +2 -0
  109. package/dist/ai-service/llm/stream/config.d.ts.map +1 -1
  110. package/dist/ai-service/llm/stream/config.js +2 -1
  111. package/dist/ai-service/llm/stream/config.js.map +1 -1
  112. package/dist/ai-service/llm/stream/errors.d.ts +13 -1
  113. package/dist/ai-service/llm/stream/errors.d.ts.map +1 -1
  114. package/dist/ai-service/llm/stream/errors.js +17 -1
  115. package/dist/ai-service/llm/stream/errors.js.map +1 -1
  116. package/dist/ai-service/llm/stream/idle-monitor.d.ts +63 -0
  117. package/dist/ai-service/llm/stream/idle-monitor.d.ts.map +1 -0
  118. package/dist/ai-service/llm/stream/idle-monitor.js +106 -0
  119. package/dist/ai-service/llm/stream/idle-monitor.js.map +1 -0
  120. package/dist/ai-service/llm/stream/managed-stream.d.ts +4 -1
  121. package/dist/ai-service/llm/stream/managed-stream.d.ts.map +1 -1
  122. package/dist/ai-service/llm/stream/managed-stream.js +14 -2
  123. package/dist/ai-service/llm/stream/managed-stream.js.map +1 -1
  124. package/dist/ai-service/llm/stream/observers/llmobs.d.ts +1 -0
  125. package/dist/ai-service/llm/stream/observers/llmobs.d.ts.map +1 -1
  126. package/dist/ai-service/llm/stream/observers/llmobs.js +47 -6
  127. package/dist/ai-service/llm/stream/observers/llmobs.js.map +1 -1
  128. package/dist/ai-service/llm/stream/orchestrator.d.ts.map +1 -1
  129. package/dist/ai-service/llm/stream/orchestrator.js +23 -2
  130. package/dist/ai-service/llm/stream/orchestrator.js.map +1 -1
  131. package/dist/ai-service/llm/stream/retry-engine.d.ts.map +1 -1
  132. package/dist/ai-service/llm/stream/retry-engine.js +4 -11
  133. package/dist/ai-service/llm/stream/retry-engine.js.map +1 -1
  134. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts +1 -1
  135. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.d.ts.map +1 -1
  136. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js +10 -3
  137. package/dist/ai-service/skills/system/superblocks-api/references/sql-databases.generated.js.map +1 -1
  138. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts +1 -1
  139. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.d.ts.map +1 -1
  140. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js +171 -19
  141. package/dist/ai-service/skills/system/superblocks-frontend/skill.generated.js.map +1 -1
  142. package/dist/ai-service/state-machine/clark-fsm.d.ts +4 -0
  143. package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
  144. package/dist/ai-service/state-machine/clark-fsm.js +3 -0
  145. package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
  146. package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
  147. package/dist/ai-service/state-machine/handlers/agent-planning.js +105 -5
  148. package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
  149. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts +1 -1
  150. package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -1
  151. package/dist/ai-service/state-machine/handlers/awaiting-user.js +8 -24
  152. package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -1
  153. package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
  154. package/dist/ai-service/state-machine/handlers/llm-generating.js +84 -8
  155. package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
  156. package/dist/file-sync-vite-plugin.d.ts.map +1 -1
  157. package/dist/file-sync-vite-plugin.js +9 -0
  158. package/dist/file-sync-vite-plugin.js.map +1 -1
  159. package/dist/git-service/azure-devops-workflow.d.ts +6 -0
  160. package/dist/git-service/azure-devops-workflow.d.ts.map +1 -0
  161. package/dist/git-service/azure-devops-workflow.js +12 -0
  162. package/dist/git-service/azure-devops-workflow.js.map +1 -0
  163. package/dist/parsing/index.d.ts +1 -1
  164. package/dist/parsing/index.d.ts.map +1 -1
  165. package/dist/parsing/index.js +1 -1
  166. package/dist/parsing/index.js.map +1 -1
  167. package/dist/parsing/sdk-registry.d.ts +12 -0
  168. package/dist/parsing/sdk-registry.d.ts.map +1 -1
  169. package/dist/parsing/sdk-registry.js +78 -22
  170. package/dist/parsing/sdk-registry.js.map +1 -1
  171. package/dist/socket-manager.d.ts.map +1 -1
  172. package/dist/socket-manager.js +23 -4
  173. package/dist/socket-manager.js.map +1 -1
  174. package/package.json +7 -7
@@ -0,0 +1,86 @@
1
+ import type { IntegrationStore } from "../../../integrations/store.js";
2
+ import type { Clark } from "../../../state-machine/clark-fsm.js";
3
+ type IntegrationSetupDeps = {
4
+ clark: Clark;
5
+ };
6
+ type SaveIntegrationDeps = {
7
+ clark: Clark;
8
+ integrationStore: IntegrationStore;
9
+ };
10
+ export declare const openIntegrationSetupToolFactory: import("../../tools2/types.js").ToolFactory<IntegrationSetupDeps, import("../../tools2/types.js").Tool<{
11
+ pluginId: string;
12
+ displayName?: string | undefined;
13
+ fields?: Record<string, string | number | boolean> | undefined;
14
+ }, {
15
+ success: boolean;
16
+ formState?: unknown;
17
+ error?: string;
18
+ }>>;
19
+ export declare const openExistingIntegrationToolFactory: import("../../tools2/types.js").ToolFactory<IntegrationSetupDeps, import("../../tools2/types.js").Tool<{
20
+ integrationId: string;
21
+ fields?: Record<string, string | number | boolean> | undefined;
22
+ }, {
23
+ success: boolean;
24
+ pluginId?: string;
25
+ integrationName?: string;
26
+ formState?: unknown;
27
+ error?: string;
28
+ }>>;
29
+ export declare const updateIntegrationFieldsToolFactory: import("../../tools2/types.js").ToolFactory<IntegrationSetupDeps, import("../../tools2/types.js").Tool<{
30
+ fields: Record<string, string | number | boolean>;
31
+ configId?: string | undefined;
32
+ }, {
33
+ success: boolean;
34
+ formState?: unknown;
35
+ error?: string;
36
+ }>>;
37
+ export declare const testIntegrationConnectionToolFactory: import("../../tools2/types.js").ToolFactory<IntegrationSetupDeps, import("../../tools2/types.js").Tool<{
38
+ configId?: string | undefined;
39
+ }, {
40
+ success: boolean;
41
+ configId?: string;
42
+ error?: {
43
+ message: string;
44
+ details: string;
45
+ };
46
+ formState?: unknown;
47
+ } | {
48
+ success: boolean;
49
+ error: string;
50
+ }>>;
51
+ export declare const saveIntegrationToolFactory: import("../../tools2/types.js").ToolFactory<SaveIntegrationDeps, import("../../tools2/types.js").Tool<{
52
+ force?: boolean | undefined;
53
+ }, {
54
+ success: boolean;
55
+ integrationId?: string;
56
+ integrationName?: string;
57
+ pluginId?: string;
58
+ testFailed?: boolean;
59
+ failedConfigIds?: string[];
60
+ error?: string;
61
+ }>>;
62
+ export declare const closeIntegrationSetupToolFactory: import("../../tools2/types.js").ToolFactory<IntegrationSetupDeps, import("../../tools2/types.js").Tool<{}, {
63
+ success: boolean;
64
+ } | {
65
+ success: boolean;
66
+ error: string;
67
+ }>>;
68
+ export declare const getIntegrationFormSchemaToolFactory: import("../../tools2/types.js").ToolFactory<IntegrationSetupDeps, import("../../tools2/types.js").Tool<{
69
+ pluginId: string;
70
+ }, {
71
+ success: boolean;
72
+ pluginId?: string;
73
+ pluginName?: string;
74
+ isTestable?: boolean;
75
+ fields?: Record<string, unknown>;
76
+ error?: string;
77
+ }>>;
78
+ type ListIntegrationTypesDeps = {
79
+ integrationStore: IntegrationStore;
80
+ };
81
+ export declare const listAvailableIntegrationTypesToolFactory: import("../../tools2/types.js").ToolFactory<ListIntegrationTypesDeps, import("../../tools2/types.js").Tool<{}, {
82
+ id: string;
83
+ name: string;
84
+ }[]>>;
85
+ export {};
86
+ //# sourceMappingURL=integration-setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-setup.d.ts","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/integrations/integration-setup.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qCAAqC,CAAC;AAOjE,KAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF,KAAK,mBAAmB,GAAG;IACzB,KAAK,EAAE,KAAK,CAAC;IACb,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAWF,eAAO,MAAM,+BAA+B;;;;;;;;GA0D3C,CAAC;AAMF,eAAO,MAAM,kCAAkC;;;;;;;;;GAiD9C,CAAC;AAMF,eAAO,MAAM,kCAAkC;;;;;;;GAiD9C,CAAC;AAMF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;GAuChD,CAAC;AAMF,eAAO,MAAM,0BAA0B;;;;;;;;;;GAoFtC,CAAC;AAMF,eAAO,MAAM,gCAAgC;;;;;GAyB5C,CAAC;AAMF,eAAO,MAAM,mCAAmC;;;;;;;;;GAyC/C,CAAC;AAMF,KAAK,wBAAwB,GAAG;IAC9B,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAEF,eAAO,MAAM,wCAAwC;;;KAyBpD,CAAC"}
@@ -0,0 +1,353 @@
1
+ import z from "zod";
2
+ import { createToolFactory, ToolCategory, PermissionLevel, } from "../../tools2/types.js";
3
+ // All integration setup tools use ToolCategory.INTERACTIVE — they
4
+ // manipulate UI state (Redux form fields, tabs) while the user is
5
+ // looking at the screen. Combined with PermissionLevel.ALLOW for
6
+ // form/UI actions and save.
7
+ // ---------------------------------------------------------------------------
8
+ // openIntegrationSetup
9
+ // ---------------------------------------------------------------------------
10
+ export const openIntegrationSetupToolFactory = createToolFactory("openIntegrationSetup", ({ clark }) => ({
11
+ category: ToolCategory.INTERACTIVE,
12
+ defaultPermission: PermissionLevel.ALLOW,
13
+ description: "Opens the integration setup tab so the user can configure a new connection to a data source. " +
14
+ "Use when the user needs to connect to a data source or set up a new integration. " +
15
+ "If unsure of the pluginId, call listAvailableIntegrationTypes first to get the correct ID. " +
16
+ "The tab will open in the UI and the user can fill in the required fields. " +
17
+ "The response includes a formState with the exact field names, types, and required flags for this plugin. " +
18
+ "IMPORTANT: If you already know any field values (host, port, database, name, region, etc.), " +
19
+ "you MUST pass them in the `fields` parameter of this call. You will not be able to call " +
20
+ "updateIntegrationFields in the same turn after opening. " +
21
+ "Sensitive fields (passwords, API keys, tokens) will be ignored — the user must enter those directly in the form.",
22
+ inputSchema: z.object({
23
+ pluginId: z
24
+ .string()
25
+ .describe("The plugin identifier for the integration type to set up. Use listAvailableIntegrationTypes to discover valid IDs."),
26
+ displayName: z
27
+ .string()
28
+ .optional()
29
+ .describe("Optional suggested display name for the new integration."),
30
+ fields: z
31
+ .record(z.union([z.string(), z.number(), z.boolean()]))
32
+ .optional()
33
+ .describe("Optional map of non-sensitive field names to values to pre-fill in the form. " +
34
+ "Sensitive fields (passwords, API keys, tokens) are silently ignored. " +
35
+ 'Example: {"host": "my-db.example.com", "port": "5432", "database": "mydb"}'),
36
+ }),
37
+ execute: async (input) => {
38
+ if (!clark.context.peer) {
39
+ return { success: false, error: "No peer connection available." };
40
+ }
41
+ return clark.context.peer.call.aiOpenIntegrationSetup({
42
+ pluginId: input.pluginId,
43
+ label: input.displayName,
44
+ fields: input.fields,
45
+ });
46
+ },
47
+ getActionName: () => ({
48
+ future: "open integration setup",
49
+ present: "opening integration setup",
50
+ past: "opened integration setup",
51
+ }),
52
+ formatInput: (input) => ({
53
+ targets: [input.pluginId],
54
+ details: input.displayName,
55
+ }),
56
+ getSummary: (input, output) => ({
57
+ input: `pluginId: "${input.pluginId}"`,
58
+ output: output?.success ? "opened" : `failed: ${output?.error}`,
59
+ }),
60
+ }));
61
+ // ---------------------------------------------------------------------------
62
+ // openExistingIntegration
63
+ // ---------------------------------------------------------------------------
64
+ export const openExistingIntegrationToolFactory = createToolFactory("openExistingIntegration", ({ clark }) => ({
65
+ category: ToolCategory.INTERACTIVE,
66
+ defaultPermission: PermissionLevel.ALLOW,
67
+ description: "Opens an existing integration for editing by its datasource ID. " +
68
+ "Use when the user wants to view or update the configuration of an integration they have already created. " +
69
+ "The integration setup tab will open with the existing field values pre-filled. " +
70
+ "IMPORTANT: If you need to update any fields, you MUST pass them in the `fields` parameter of this call. " +
71
+ "You will not be able to call updateIntegrationFields in the same turn after opening.",
72
+ inputSchema: z.object({
73
+ integrationId: z
74
+ .string()
75
+ .describe("The ID of the existing datasource/integration to open for editing."),
76
+ fields: z
77
+ .record(z.union([z.string(), z.number(), z.boolean()]))
78
+ .optional()
79
+ .describe("Optional map of non-sensitive field names to values to apply immediately after opening. " +
80
+ "Preferred over a separate updateIntegrationFields call when opening and updating together."),
81
+ }),
82
+ execute: async (input) => {
83
+ if (!clark.context.peer) {
84
+ return { success: false, error: "No peer connection available." };
85
+ }
86
+ return clark.context.peer.call.aiOpenExistingIntegration({
87
+ integrationId: input.integrationId,
88
+ fields: input.fields,
89
+ });
90
+ },
91
+ getActionName: () => ({
92
+ future: "open existing integration",
93
+ present: "opening existing integration",
94
+ past: "opened existing integration",
95
+ }),
96
+ formatInput: (input) => ({
97
+ targets: [input.integrationId],
98
+ }),
99
+ getSummary: (input, output) => ({
100
+ input: `integrationId: "${input.integrationId}"`,
101
+ output: output?.success
102
+ ? `opened (plugin: ${output?.pluginId})`
103
+ : `failed: ${output?.error}`,
104
+ }),
105
+ }));
106
+ // ---------------------------------------------------------------------------
107
+ // updateIntegrationFields
108
+ // ---------------------------------------------------------------------------
109
+ export const updateIntegrationFieldsToolFactory = createToolFactory("updateIntegrationFields", ({ clark }) => ({
110
+ category: ToolCategory.INTERACTIVE,
111
+ defaultPermission: PermissionLevel.ALLOW,
112
+ description: "Updates field values in the currently open integration setup form. " +
113
+ "Can only set non-sensitive fields (e.g. host, port, database name, region). " +
114
+ "NEVER attempt to set passwords, API keys, tokens, secrets, or any credential fields — " +
115
+ "those must be entered by the user directly in the form. " +
116
+ "Call this after openIntegrationSetup or openExistingIntegration has opened the form.",
117
+ inputSchema: z.object({
118
+ fields: z
119
+ .record(z.union([z.string(), z.number(), z.boolean()]))
120
+ .describe("Map of field names to values to set in the form. " +
121
+ "Only include non-sensitive configuration fields. " +
122
+ 'Example: {"host": "my-db.example.com", "port": "5432", "database": "mydb"}'),
123
+ configId: z
124
+ .string()
125
+ .optional()
126
+ .describe("Optional configuration ID to target. Defaults to the active configuration."),
127
+ }),
128
+ execute: async (input) => {
129
+ if (!clark.context.peer) {
130
+ return { success: false, error: "No peer connection available." };
131
+ }
132
+ return clark.context.peer.call.aiUpdateIntegrationFields({
133
+ fields: input.fields,
134
+ configId: input.configId,
135
+ });
136
+ },
137
+ getActionName: () => ({
138
+ future: "update integration fields",
139
+ present: "updating integration fields",
140
+ past: "updated integration fields",
141
+ }),
142
+ formatInput: (input) => ({
143
+ targets: Object.keys(input.fields),
144
+ details: JSON.stringify(input.fields),
145
+ }),
146
+ getSummary: (input, output) => ({
147
+ input: `fields: ${Object.keys(input.fields).join(", ")}`,
148
+ output: output?.success ? "updated" : `failed: ${output?.error}`,
149
+ }),
150
+ }));
151
+ // ---------------------------------------------------------------------------
152
+ // testIntegrationConnection
153
+ // ---------------------------------------------------------------------------
154
+ export const testIntegrationConnectionToolFactory = createToolFactory("testIntegrationConnection", ({ clark }) => ({
155
+ category: ToolCategory.INTERACTIVE,
156
+ defaultPermission: PermissionLevel.ALLOW,
157
+ description: "Tests the connection for the currently open integration to verify the configuration is correct. " +
158
+ "Use after the user has filled in the required fields to confirm the integration works. " +
159
+ "If the test fails, interpret the error message and suggest which specific fields may need to be corrected. " +
160
+ "Only call this if the formState returned by openIntegrationSetup has isTestable: true. " +
161
+ "Some plugins (e.g. REST API) do not support connection testing — do NOT call this tool for them. " +
162
+ "Only available when the integration setup tab is open.",
163
+ inputSchema: z.object({
164
+ configId: z
165
+ .string()
166
+ .optional()
167
+ .describe("Optional configuration ID to test. Defaults to the active configuration."),
168
+ }),
169
+ execute: async (input) => {
170
+ if (!clark.context.peer) {
171
+ return { success: false, error: "No peer connection available." };
172
+ }
173
+ return clark.context.peer.call.aiTestIntegrationConnection({
174
+ configId: input.configId,
175
+ });
176
+ },
177
+ getActionName: () => ({
178
+ future: "test integration connection",
179
+ present: "testing integration connection",
180
+ past: "tested integration connection",
181
+ }),
182
+ getSummary: (_input, output) => ({
183
+ output: output?.success
184
+ ? "connection successful"
185
+ : `failed: ${typeof output?.error === "string" ? output.error : (output?.error?.message ?? "unknown error")}`,
186
+ }),
187
+ }));
188
+ // ---------------------------------------------------------------------------
189
+ // saveIntegration
190
+ // ---------------------------------------------------------------------------
191
+ export const saveIntegrationToolFactory = createToolFactory("saveIntegration", ({ clark, integrationStore }) => ({
192
+ category: ToolCategory.INTERACTIVE,
193
+ defaultPermission: PermissionLevel.ALLOW,
194
+ description: "Saves the current integration configuration. " +
195
+ "If the formState has isTestable: true, saveIntegration runs connection test first and still saves even if test fails. " +
196
+ "The tool output includes connection test status so you can report what happened. " +
197
+ "If success is false (e.g. validation errors, required fields missing): the form is still open — tell the user what needs fixing and call openExistingIntegration with the current integrationId (or openIntegrationSetup if there is no integrationId yet) so the save card reappears for them to try again. " +
198
+ "After a successful save: if connectionTestPassed is true, call closeIntegrationSetup to close the form; if connectionTestPassed is false and connectionTestAttempted is true, call openExistingIntegration with the returned integrationId to reopen the form so the user can fix the credentials. " +
199
+ "If the plugin is not testable (connectionTestAttempted is false), immediately validate the saved integration: YOU MUST call grepMetadata on the integration first to discover available endpoints, then call executeRequestToIntegration with a GET to a read-only endpoint. Validation ONLY passes if the response status is 2xx and contains actual data. Any non-2xx response (including 405, 403, 500) means validation failed — do not interpret these as proof that credentials are valid. If validation succeeds call closeIntegrationSetup; if it fails call openExistingIntegration with the integrationId so the user can fix the configuration. " +
200
+ "If this tool returns success, treat the integration as saved with the user-provided form values (including sensitive fields entered directly in the form), and do not ask the user to re-enter credentials unless they changed or cleared them. " +
201
+ "Only call this when the user explicitly asks to save, or when the integration setup flow is complete. " +
202
+ "Only available when the integration setup tab is open.",
203
+ inputSchema: z.object({
204
+ force: z
205
+ .boolean()
206
+ .optional()
207
+ .describe("Deprecated: saveIntegration now always saves even when connection test fails."),
208
+ }),
209
+ execute: async (input) => {
210
+ if (!clark.context.peer) {
211
+ return { success: false, error: "No peer connection available." };
212
+ }
213
+ const result = await clark.context.peer.call.aiSaveIntegration({
214
+ force: input.force,
215
+ });
216
+ // Register the newly saved integration in the in-memory store so
217
+ // Clark can immediately use it (e.g. via searchIntegrations or
218
+ // executeRequestToIntegration) without waiting for a full refetch.
219
+ if (result.success && result.integrationId && result.pluginId) {
220
+ const savedIntegrationId = result.integrationId;
221
+ const savedPluginId = result.pluginId;
222
+ const savedName = result.integrationName ?? "Untitled";
223
+ integrationStore.registerIntegration({
224
+ id: savedIntegrationId,
225
+ name: savedName,
226
+ type: savedPluginId,
227
+ });
228
+ // Also upsert into FSM context so subsequent turns don't rely solely
229
+ // on promptContext timing to know that the integration was saved.
230
+ if (typeof clark.updateContext === "function") {
231
+ clark.updateContext((context) => {
232
+ const existing = context.availableIntegrations ?? [];
233
+ const next = [...existing];
234
+ const idx = next.findIndex((int) => int.id === savedIntegrationId);
235
+ const saved = {
236
+ id: savedIntegrationId,
237
+ name: savedName,
238
+ type: savedPluginId,
239
+ metadata: {},
240
+ };
241
+ if (idx >= 0) {
242
+ next[idx] = saved;
243
+ }
244
+ else {
245
+ next.push(saved);
246
+ }
247
+ return {
248
+ ...context,
249
+ availableIntegrations: next,
250
+ };
251
+ });
252
+ }
253
+ }
254
+ return result;
255
+ },
256
+ getActionName: () => ({
257
+ future: "save integration",
258
+ present: "saving integration",
259
+ past: "saved integration",
260
+ }),
261
+ getSummary: (_input, output) => ({
262
+ output: output?.success
263
+ ? `saved (id: ${output?.integrationId})`
264
+ : `failed: ${output?.error}`,
265
+ }),
266
+ }));
267
+ // ---------------------------------------------------------------------------
268
+ // closeIntegrationSetup
269
+ // ---------------------------------------------------------------------------
270
+ export const closeIntegrationSetupToolFactory = createToolFactory("closeIntegrationSetup", ({ clark }) => ({
271
+ category: ToolCategory.INTERACTIVE,
272
+ defaultPermission: PermissionLevel.ALLOW,
273
+ description: "Closes the integration setup tab. " +
274
+ "Call this after a successful save to clean up the UI before moving on to the next step " +
275
+ "(e.g. building an API that uses the newly created integration).",
276
+ inputSchema: z.object({}),
277
+ execute: async () => {
278
+ if (!clark.context.peer) {
279
+ return { success: false, error: "No peer connection available." };
280
+ }
281
+ return clark.context.peer.call.aiCloseIntegrationSetup();
282
+ },
283
+ getActionName: () => ({
284
+ future: "close integration setup",
285
+ present: "closing integration setup",
286
+ past: "closed integration setup",
287
+ }),
288
+ getSummary: () => ({
289
+ output: "closed",
290
+ }),
291
+ }));
292
+ // ---------------------------------------------------------------------------
293
+ // getIntegrationFormSchema (read-only — no UI side effects)
294
+ // ---------------------------------------------------------------------------
295
+ export const getIntegrationFormSchemaToolFactory = createToolFactory("getIntegrationFormSchema", ({ clark }) => ({
296
+ category: ToolCategory.INTERACTIVE,
297
+ defaultPermission: PermissionLevel.ALLOW,
298
+ readOnly: true,
299
+ description: "Returns the form schema for a given integration plugin WITHOUT opening the setup UI. " +
300
+ "Use this to discover what fields are required (names, types, which are sensitive) " +
301
+ "so you can ask the user targeted questions before opening the form. " +
302
+ "Requires a pluginId — call listAvailableIntegrationTypes first if unsure.",
303
+ inputSchema: z.object({
304
+ pluginId: z
305
+ .string()
306
+ .describe("The plugin identifier. Use listAvailableIntegrationTypes to discover valid IDs."),
307
+ }),
308
+ execute: async (input) => {
309
+ if (!clark.context.peer) {
310
+ return { success: false, error: "No peer connection available." };
311
+ }
312
+ return clark.context.peer.call.aiGetIntegrationFormSchema({
313
+ pluginId: input.pluginId,
314
+ });
315
+ },
316
+ getActionName: () => ({
317
+ future: "get integration form schema",
318
+ present: "getting integration form schema",
319
+ past: "got integration form schema",
320
+ }),
321
+ formatInput: (input) => ({
322
+ targets: [input.pluginId],
323
+ }),
324
+ getSummary: (input, output) => ({
325
+ input: `pluginId: "${input.pluginId}"`,
326
+ output: output?.success
327
+ ? `${Object.keys(output?.fields ?? {}).length} fields`
328
+ : `failed: ${output?.error}`,
329
+ }),
330
+ }));
331
+ export const listAvailableIntegrationTypesToolFactory = createToolFactory("listAvailableIntegrationTypes", ({ integrationStore }) => ({
332
+ category: ToolCategory.INTERACTIVE,
333
+ defaultPermission: PermissionLevel.ALLOW,
334
+ description: "Lists all integration types available for setup in Superblocks. " +
335
+ "Use this whenever the user asks what integrations are supported, available, or can be created. " +
336
+ "Also use when the user asks about a specific integration type (e.g. 'do you support Snowflake?'). " +
337
+ "Each entry has an id (the pluginId to pass to openIntegrationSetup) and a human-readable name. " +
338
+ "Prefer this tool over web search for questions about supported integration types.",
339
+ inputSchema: z.object({}),
340
+ readOnly: true,
341
+ execute: async () => {
342
+ return integrationStore.getAvailableIntegrationTypes();
343
+ },
344
+ getActionName: () => ({
345
+ future: "list available integration types",
346
+ present: "listing available integration types",
347
+ past: "listed available integration types",
348
+ }),
349
+ getSummary: (_input, output) => ({
350
+ output: `${Array.isArray(output) ? output.length : 0} types`,
351
+ }),
352
+ }));
353
+ //# sourceMappingURL=integration-setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-setup.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/integrations/integration-setup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAgE7E,OAAO,EAIL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AA+D3B,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAU,uBAAuB,4CAojBlC,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAyE7E,OAAO,EAIL,KAAK,IAAI,EAEV,MAAM,mBAAmB,CAAC;AA+D3B,eAAO,MAAM,UAAU,GACrB,OAAO,KAAK,EACZ,UAAU,uBAAuB,4CAqkBlC,CAAC"}
@@ -15,7 +15,7 @@ import { buildApiToolFactory } from "./tools/apis/build-api.js";
15
15
  import { getApiDocsToolFactory } from "./tools/apis/get-api-docs.js";
16
16
  import { checkTestApiPermissions, testApiToolFactory, } from "./tools/apis/test-api.js";
17
17
  import { writeApiToolFactory } from "./tools/apis/write-api.js";
18
- import { buildInstallPackagesToolFactory, buildWriteFileToolFactory, buildEditFileToolFactory, buildMultiEditFileToolFactory, buildReadFileToolFactory, buildListFilesToolFactory, buildDebugToolFactory, clearErrorCacheToolFactory, buildFinalizeToolFactory, buildManageChecklistToolFactory, buildDeleteFileToolFactory, checkDeleteFilePermissions, buildRenameFileToolFactory, buildReloadFileToolFactory, executeRequestToIntegrationToolFactory, grepMetadataToolFactory, searchIntegrationsToolFactory, runCodeToolFactory, exitPlanModeToolFactory, askMultiChoiceToolFactory, listAttachmentsToolFactory, buildCaptureScreenshotToolFactory, buildGetRuntimeErrorsToolFactory, buildGetLogsToolFactory, startTestRunToolFactory, endTestRunToolFactory, updateTestCaseStatusToolFactory, getIntegrationTypesToolFactory, } from "./tools/index.js";
18
+ import { buildInstallPackagesToolFactory, buildWriteFileToolFactory, buildEditFileToolFactory, buildMultiEditFileToolFactory, buildReadFileToolFactory, buildListFilesToolFactory, buildDebugToolFactory, clearErrorCacheToolFactory, buildFinalizeToolFactory, buildManageChecklistToolFactory, buildDeleteFileToolFactory, checkDeleteFilePermissions, buildRenameFileToolFactory, buildReloadFileToolFactory, executeRequestToIntegrationToolFactory, openIntegrationSetupToolFactory, openExistingIntegrationToolFactory, updateIntegrationFieldsToolFactory, testIntegrationConnectionToolFactory, saveIntegrationToolFactory, closeIntegrationSetupToolFactory, getIntegrationFormSchemaToolFactory, listAvailableIntegrationTypesToolFactory, grepMetadataToolFactory, searchIntegrationsToolFactory, runCodeToolFactory, exitPlanModeToolFactory, askMultiChoiceToolFactory, askSearchableDropdownToolFactory, listAttachmentsToolFactory, buildCaptureScreenshotToolFactory, buildGetRuntimeErrorsToolFactory, buildGetLogsToolFactory, startTestRunToolFactory, endTestRunToolFactory, updateTestCaseStatusToolFactory, getIntegrationTypesToolFactory, } from "./tools/index.js";
19
19
  import { presets, blockTools, forTools } from "./tools2/access-control.js";
20
20
  import { summaryInjector, } from "./tools2/registry.js";
21
21
  import { globToolFactory, grepToolFactory, lsToolFactory, webSearchToolFactory, webFetchToolFactory, gitToolFactory, gitRawToolFactory, rememberKnowledgeToolFactory, } from "./tools2/tools/index.js";
@@ -199,7 +199,7 @@ export const buildTools = async (clark, services) => {
199
199
  registry.addAccessRule(...presets.base());
200
200
  // Testing an API has possibility to prompt if we can statically detect mutations
201
201
  registry.addAccessRule(forTools("testApi", async (_tool, _context, input) => {
202
- return checkTestApiPermissions(services, input);
202
+ return checkTestApiPermissions(services, input, clark);
203
203
  }));
204
204
  // Deleting files conditionally prompts for pages/APIs (except default Page1)
205
205
  registry.addAccessRule(forTools("build_deleteFile", async (_tool, _context, input) => {
@@ -230,8 +230,25 @@ export const buildTools = async (clark, services) => {
230
230
  registry.register(runCodeToolFactory, clark);
231
231
  registry.register(grepMetadataToolFactory, { clark, services });
232
232
  registry.register(searchIntegrationsToolFactory, services);
233
+ // Integration setup tools are feature-flagged
234
+ if (services.features.integrationSetupEnabled) {
235
+ registry.register(openIntegrationSetupToolFactory, { clark });
236
+ registry.register(openExistingIntegrationToolFactory, { clark });
237
+ registry.register(updateIntegrationFieldsToolFactory, { clark });
238
+ registry.register(testIntegrationConnectionToolFactory, { clark });
239
+ registry.register(saveIntegrationToolFactory, {
240
+ clark,
241
+ integrationStore: services.integrationStore,
242
+ });
243
+ registry.register(closeIntegrationSetupToolFactory, { clark });
244
+ registry.register(getIntegrationFormSchemaToolFactory, { clark });
245
+ registry.register(listAvailableIntegrationTypesToolFactory, {
246
+ integrationStore: services.integrationStore,
247
+ });
248
+ }
233
249
  registry.register(exitPlanModeToolFactory, { clark, services });
234
250
  registry.register(askMultiChoiceToolFactory, { clark, services });
251
+ registry.register(askSearchableDropdownToolFactory, { clark, services });
235
252
  registry.register(listAttachmentsToolFactory, { clark, services });
236
253
  const isAppKnowledgeEnabled = clark.context.llmConfig?.flags?.isAppKnowledgeEnabled ?? false;
237
254
  if (isAppKnowledgeEnabled) {
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/ai-service/agent/tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,eAAe,EACf,KAAK,IAAI,EACT,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAEpB;;GAEG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAWnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAiB1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CASnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED,KAAK,sBAAsB,GAAG,CAAC,MAAM,EAAE;IACrC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,KAAK,OAAO,CAAC;AAEd,wBAAgB,OAAO,CACrB,SAAS,EAAE,sBAAsB,EACjC,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAMnB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAO5C;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,GACjD,iBAAiB,CAiBnB;AAGD;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;;;;OAKG;gBACO,iBAAiB,EAAE;IA0C7B;;OAEG;uBACc,iBAAiB,EAAE;IAEpC;;OAEG;sBACa,iBAAiB,EAAE;IASnC;;OAEG;sBACa,iBAAiB,EAAE;IAInC;;OAEG;iBACQ,iBAAiB,EAAE;CAG/B,CAAC"}
1
+ {"version":3,"file":"access-control.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/agent/tools2/access-control.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uCAAuC,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,YAAY,EACZ,KAAK,iBAAiB,EACtB,eAAe,EACf,KAAK,IAAI,EACT,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAEpB;;GAEG;AAEH;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAC7C,iBAAiB,CAcnB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CACzB,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,EAC/B,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAWnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,CAiB1E;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,EAC5B,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CASnB;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED,KAAK,sBAAsB,GAAG,CAAC,MAAM,EAAE;IACrC,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,CAAC,EAAE,GAAG,CAAC;CACb,KAAK,OAAO,CAAC;AAEd,wBAAgB,OAAO,CACrB,SAAS,EAAE,sBAAsB,EACjC,UAAU,GAAE,eAAuC,GAClD,iBAAiB,CAMnB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,iBAAiB,CAO5C;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,iBAAiB,GACtB,iBAAiB,CAOnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,GACjD,iBAAiB,CAiBnB;AAGD;;GAEG;AACH,eAAO,MAAM,OAAO;IAClB;;;;;OAKG;gBACO,iBAAiB,EAAE;IA6C7B;;OAEG;uBACc,iBAAiB,EAAE;IAEpC;;OAEG;sBACa,iBAAiB,EAAE;IASnC;;OAEG;sBACa,iBAAiB,EAAE;IAInC;;OAEG;iBACQ,iBAAiB,EAAE;CAG/B,CAAC"}
@@ -243,11 +243,14 @@ export const presets = {
243
243
  ToolCategory.FILE, // Read files (important for generating test selectors)
244
244
  ],
245
245
  }),
246
- // PLAN mode: only read-only tools are available unless the user has approved execution
246
+ // PLAN mode: only read-only tools are available unless the user has approved execution.
247
+ // INTERACTIVE tools are allowed so Clark can drive UI (e.g. integration setup)
248
+ // without requiring plan approval.
247
249
  forMode(AiMode.PLAN, require(({ tool, context }) => tool.readOnly ||
248
250
  context.planContext?.approved === true ||
249
251
  tool.category === ToolCategory.TEST ||
250
- tool.category === ToolCategory.DEBUG)),
252
+ tool.category === ToolCategory.DEBUG ||
253
+ tool.category === ToolCategory.INTERACTIVE)),
251
254
  // Tools in the PLAN category are only available in PLAN mode
252
255
  forCategory(ToolCategory.PLAN, require(({ context }) => context.mode === AiMode.PLAN)),
253
256
  // Tools in the DATA category require entity-level approval via PROMPT,