@superblocksteam/vite-plugin-file-sync 2.0.59-next.1 → 2.0.59-next.10
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.
- package/dist/ai-service/agent/prompts/build-base-system-prompt.d.ts.map +1 -1
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js +25 -9
- package/dist/ai-service/agent/prompts/build-base-system-prompt.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/examples.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/examples.js +137 -10
- package/dist/ai-service/agent/subagents/apis/examples.js.map +1 -1
- package/dist/ai-service/agent/subagents/apis/static-analysis.d.ts.map +1 -1
- package/dist/ai-service/agent/subagents/apis/static-analysis.js +14 -7
- package/dist/ai-service/agent/subagents/apis/static-analysis.js.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tool-message-utils.js +6 -2
- package/dist/ai-service/agent/tool-message-utils.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/analysis.d.ts +9 -0
- package/dist/ai-service/agent/tools/apis/analysis.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/analysis.js +358 -0
- package/dist/ai-service/agent/tools/apis/analysis.js.map +1 -0
- package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.d.ts +35 -10
- package/dist/ai-service/agent/tools/apis/api-executor.d.ts.map +1 -0
- package/dist/ai-service/agent/{subagents → tools}/apis/api-executor.js +179 -94
- package/dist/ai-service/agent/tools/apis/api-executor.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/api-source.d.ts +19 -0
- package/dist/ai-service/agent/tools/apis/api-source.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/api-source.js +73 -0
- package/dist/ai-service/agent/tools/apis/api-source.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts +51 -0
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js +510 -0
- package/dist/ai-service/agent/tools/apis/api-validation-orchestrator.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts +32 -0
- package/dist/ai-service/agent/tools/apis/build-api-artifact.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js +313 -0
- package/dist/ai-service/agent/tools/apis/build-api-artifact.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/build-api.d.ts +1 -10
- package/dist/ai-service/agent/tools/apis/build-api.d.ts.map +1 -1
- package/dist/ai-service/agent/tools/apis/build-api.js +26 -238
- package/dist/ai-service/agent/tools/apis/build-api.js.map +1 -1
- package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts +11 -0
- package/dist/ai-service/agent/tools/apis/get-api-docs.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/get-api-docs.js +1841 -0
- package/dist/ai-service/agent/tools/apis/get-api-docs.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/integration-types.d.ts +37 -0
- package/dist/ai-service/agent/tools/apis/integration-types.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/integration-types.js +689 -0
- package/dist/ai-service/agent/tools/apis/integration-types.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/test-api.d.ts +25 -0
- package/dist/ai-service/agent/tools/apis/test-api.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/test-api.js +194 -0
- package/dist/ai-service/agent/tools/apis/test-api.js.map +1 -0
- package/dist/ai-service/agent/tools/apis/write-api.d.ts +11 -0
- package/dist/ai-service/agent/tools/apis/write-api.d.ts.map +1 -0
- package/dist/ai-service/agent/tools/apis/write-api.js +41 -0
- package/dist/ai-service/agent/tools/apis/write-api.js.map +1 -0
- package/dist/ai-service/agent/tools/build-read-files.js +2 -2
- package/dist/ai-service/agent/tools/build-read-files.js.map +1 -1
- package/dist/ai-service/agent/tools.d.ts +2 -5
- package/dist/ai-service/agent/tools.d.ts.map +1 -1
- package/dist/ai-service/agent/tools.js +51 -22
- package/dist/ai-service/agent/tools.js.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.d.ts +1 -0
- package/dist/ai-service/agent/tools2/access-control.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/access-control.js +15 -13
- package/dist/ai-service/agent/tools2/access-control.js.map +1 -1
- package/dist/ai-service/agent/tools2/registry.d.ts +2 -1
- package/dist/ai-service/agent/tools2/registry.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/registry.js +4 -3
- package/dist/ai-service/agent/tools2/registry.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js +73 -127
- package/dist/ai-service/agent/tools2/tools/exit-plan-mode.js.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js +25 -4
- package/dist/ai-service/agent/tools2/tools/grep-metadata.js.map +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts +1 -1
- package/dist/ai-service/agent/tools2/types.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/types.js.map +1 -1
- package/dist/ai-service/agent/tools2/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/tools2/utils.js +4 -1
- package/dist/ai-service/agent/tools2/utils.js.map +1 -1
- package/dist/ai-service/agent/utils.d.ts +1 -3
- package/dist/ai-service/agent/utils.d.ts.map +1 -1
- package/dist/ai-service/agent/utils.js +55 -13
- package/dist/ai-service/agent/utils.js.map +1 -1
- package/dist/ai-service/app-interface/shell.d.ts +5 -0
- package/dist/ai-service/app-interface/shell.d.ts.map +1 -1
- package/dist/ai-service/app-interface/shell.js +17 -2
- package/dist/ai-service/app-interface/shell.js.map +1 -1
- package/dist/ai-service/chat/chat-session-store.d.ts +7 -0
- package/dist/ai-service/chat/chat-session-store.d.ts.map +1 -1
- package/dist/ai-service/chat/chat-session-store.js +26 -0
- package/dist/ai-service/chat/chat-session-store.js.map +1 -1
- package/dist/ai-service/const.d.ts +3 -1
- package/dist/ai-service/const.d.ts.map +1 -1
- package/dist/ai-service/const.js +3 -0
- package/dist/ai-service/const.js.map +1 -1
- package/dist/ai-service/index.d.ts +5 -1
- package/dist/ai-service/index.d.ts.map +1 -1
- package/dist/ai-service/index.js +55 -7
- package/dist/ai-service/index.js.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/index.d.ts +10 -0
- package/dist/ai-service/integrations/metadata-storage/index.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/local.d.ts +4 -2
- package/dist/ai-service/integrations/metadata-storage/local.d.ts.map +1 -1
- package/dist/ai-service/integrations/metadata-storage/local.js +35 -9
- package/dist/ai-service/integrations/metadata-storage/local.js.map +1 -1
- package/dist/ai-service/integrations/store.d.ts +27 -2
- package/dist/ai-service/integrations/store.d.ts.map +1 -1
- package/dist/ai-service/integrations/store.js +129 -62
- package/dist/ai-service/integrations/store.js.map +1 -1
- package/dist/ai-service/llm/client.d.ts +123 -0
- package/dist/ai-service/llm/client.d.ts.map +1 -0
- package/dist/ai-service/llm/client.js +168 -0
- package/dist/ai-service/llm/client.js.map +1 -0
- package/dist/ai-service/llm/context/context-handle.d.ts +4 -4
- package/dist/ai-service/llm/context/context-handle.d.ts.map +1 -1
- package/dist/ai-service/llm/context/context-handle.js +7 -3
- package/dist/ai-service/llm/context/context-handle.js.map +1 -1
- package/dist/ai-service/llm/context/context.d.ts +28 -0
- package/dist/ai-service/llm/context/context.d.ts.map +1 -1
- package/dist/ai-service/llm/context/context.js +119 -0
- package/dist/ai-service/llm/context/context.js.map +1 -1
- package/dist/ai-service/llm/context/manager.d.ts +22 -2
- package/dist/ai-service/llm/context/manager.d.ts.map +1 -1
- package/dist/ai-service/llm/context/manager.js +86 -13
- package/dist/ai-service/llm/context/manager.js.map +1 -1
- package/dist/ai-service/llm/context/storage/index.d.ts +1 -0
- package/dist/ai-service/llm/context/storage/index.d.ts.map +1 -1
- package/dist/ai-service/llm/context/storage/local.d.ts +1 -0
- package/dist/ai-service/llm/context/storage/local.d.ts.map +1 -1
- package/dist/ai-service/llm/context/storage/local.js +13 -1
- package/dist/ai-service/llm/context/storage/local.js.map +1 -1
- package/dist/ai-service/llm/context/utils/message-utils.d.ts.map +1 -1
- package/dist/ai-service/llm/context/utils/message-utils.js +6 -2
- package/dist/ai-service/llm/context/utils/message-utils.js.map +1 -1
- package/dist/ai-service/llm/error.d.ts +14 -4
- package/dist/ai-service/llm/error.d.ts.map +1 -1
- package/dist/ai-service/llm/error.js +49 -4
- package/dist/ai-service/llm/error.js.map +1 -1
- package/dist/ai-service/llm/interaction/adapters/vercel.d.ts +67 -0
- package/dist/ai-service/llm/interaction/adapters/vercel.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/adapters/vercel.js +111 -0
- package/dist/ai-service/llm/interaction/adapters/vercel.js.map +1 -0
- package/dist/ai-service/llm/interaction/compose.d.ts +71 -0
- package/dist/ai-service/llm/interaction/compose.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/compose.js +88 -0
- package/dist/ai-service/llm/interaction/compose.js.map +1 -0
- package/dist/ai-service/llm/interaction/index.d.ts +68 -0
- package/dist/ai-service/llm/interaction/index.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/index.js +70 -0
- package/dist/ai-service/llm/interaction/index.js.map +1 -0
- package/dist/ai-service/llm/interaction/middleware.d.ts +52 -0
- package/dist/ai-service/llm/interaction/middleware.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/middleware.js +17 -0
- package/dist/ai-service/llm/interaction/middleware.js.map +1 -0
- package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts +45 -0
- package/dist/ai-service/llm/interaction/middlewares/llmobs.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/middlewares/llmobs.js +85 -0
- package/dist/ai-service/llm/interaction/middlewares/llmobs.js.map +1 -0
- package/dist/ai-service/llm/interaction/middlewares/logging.d.ts +88 -0
- package/dist/ai-service/llm/interaction/middlewares/logging.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/middlewares/logging.js +238 -0
- package/dist/ai-service/llm/interaction/middlewares/logging.js.map +1 -0
- package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts +47 -0
- package/dist/ai-service/llm/interaction/middlewares/profiler.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/middlewares/profiler.js +183 -0
- package/dist/ai-service/llm/interaction/middlewares/profiler.js.map +1 -0
- package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts +121 -0
- package/dist/ai-service/llm/interaction/middlewares/stream-retry.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/middlewares/stream-retry.js +291 -0
- package/dist/ai-service/llm/interaction/middlewares/stream-retry.js.map +1 -0
- package/dist/ai-service/llm/interaction/provider.d.ts +173 -0
- package/dist/ai-service/llm/interaction/provider.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/provider.js +15 -0
- package/dist/ai-service/llm/interaction/provider.js.map +1 -0
- package/dist/ai-service/llm/interaction/result-utils.d.ts +43 -0
- package/dist/ai-service/llm/interaction/result-utils.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/result-utils.js +49 -0
- package/dist/ai-service/llm/interaction/result-utils.js.map +1 -0
- package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts +48 -0
- package/dist/ai-service/llm/interaction/stream-lifecycle.d.ts.map +1 -0
- package/dist/ai-service/llm/interaction/stream-lifecycle.js +129 -0
- package/dist/ai-service/llm/interaction/stream-lifecycle.js.map +1 -0
- package/dist/ai-service/llm/provider.d.ts +1 -2
- package/dist/ai-service/llm/provider.d.ts.map +1 -1
- package/dist/ai-service/llm/provider.js +3 -6
- package/dist/ai-service/llm/provider.js.map +1 -1
- package/dist/ai-service/llmobs/helpers.d.ts +7 -8
- package/dist/ai-service/llmobs/helpers.d.ts.map +1 -1
- package/dist/ai-service/llmobs/helpers.js +8 -48
- package/dist/ai-service/llmobs/helpers.js.map +1 -1
- package/dist/ai-service/llmobs/middleware/stream-text.d.ts +19 -21
- package/dist/ai-service/llmobs/middleware/stream-text.d.ts.map +1 -1
- package/dist/ai-service/llmobs/middleware/stream-text.js +98 -106
- package/dist/ai-service/llmobs/middleware/stream-text.js.map +1 -1
- package/dist/ai-service/llmobs/types.d.ts +14 -1
- package/dist/ai-service/llmobs/types.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.d.ts +75 -5
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -1
- package/dist/ai-service/state-machine/clark-fsm.js +100 -0
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/agent-planning.js +4 -0
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -1
- package/dist/ai-service/state-machine/handlers/llm-generating.js +91 -456
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -1
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +1 -1
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -1
- package/dist/ai-service/state-machine/helpers/peer.js +15 -0
- package/dist/ai-service/state-machine/helpers/peer.js.map +1 -1
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -1
- package/dist/ai-service/state-machine/mocks.js +1 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -1
- package/dist/ai-service/template-renderer.js +1 -1
- package/dist/ai-service/template-renderer.js.map +1 -1
- package/dist/ai-service/types.d.ts +30 -0
- package/dist/ai-service/types.d.ts.map +1 -1
- package/dist/binding-extraction/extract-identifiers.d.ts +14 -0
- package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -1
- package/dist/binding-extraction/extract-identifiers.js +46 -1
- package/dist/binding-extraction/extract-identifiers.js.map +1 -1
- package/dist/binding-extraction/js-identifiers.d.ts +14 -0
- package/dist/binding-extraction/js-identifiers.d.ts.map +1 -1
- package/dist/binding-extraction/js-identifiers.js +168 -0
- package/dist/binding-extraction/js-identifiers.js.map +1 -1
- package/dist/binding-extraction/python-identifiers.d.ts +5 -0
- package/dist/binding-extraction/python-identifiers.d.ts.map +1 -1
- package/dist/binding-extraction/python-identifiers.js +76 -7
- package/dist/binding-extraction/python-identifiers.js.map +1 -1
- package/dist/file-sync-vite-plugin.d.ts.map +1 -1
- package/dist/file-sync-vite-plugin.js +73 -3
- package/dist/file-sync-vite-plugin.js.map +1 -1
- package/dist/file-system-manager.d.ts.map +1 -1
- package/dist/file-system-manager.js +6 -4
- package/dist/file-system-manager.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lock-service/activity-tracker.d.ts +14 -2
- package/dist/lock-service/activity-tracker.d.ts.map +1 -1
- package/dist/lock-service/activity-tracker.js +43 -6
- package/dist/lock-service/activity-tracker.js.map +1 -1
- package/dist/lock-service/index.d.ts +13 -2
- package/dist/lock-service/index.d.ts.map +1 -1
- package/dist/lock-service/index.js +130 -44
- package/dist/lock-service/index.js.map +1 -1
- package/dist/parsing/jsx.d.ts.map +1 -1
- package/dist/parsing/jsx.js +78 -66
- package/dist/parsing/jsx.js.map +1 -1
- package/dist/socket-manager.js +1 -1
- package/dist/socket-manager.js.map +1 -1
- package/dist/sync-service/list-dir.d.ts.map +1 -1
- package/dist/sync-service/list-dir.js +41 -18
- package/dist/sync-service/list-dir.js.map +1 -1
- package/dist/vite-plugin-yaml-types.d.ts.map +1 -1
- package/dist/vite-plugin-yaml-types.js +2 -4
- package/dist/vite-plugin-yaml-types.js.map +1 -1
- package/package.json +7 -7
- package/dist/ai-service/agent/subagents/apis/api-executor.d.ts.map +0 -1
- package/dist/ai-service/agent/subagents/apis/api-executor.js.map +0 -1
- package/dist/ai-service/agent/subagents/apis/context.d.ts +0 -12
- package/dist/ai-service/agent/subagents/apis/context.d.ts.map +0 -1
- package/dist/ai-service/agent/subagents/apis/context.js +0 -18
- package/dist/ai-service/agent/subagents/apis/context.js.map +0 -1
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts +0 -40
- package/dist/ai-service/agent/subagents/apis/generate-api-source.d.ts.map +0 -1
- package/dist/ai-service/agent/subagents/apis/generate-api-source.js +0 -516
- package/dist/ai-service/agent/subagents/apis/generate-api-source.js.map +0 -1
- package/dist/ai-service/agent/subagents/apis/state.d.ts +0 -49
- package/dist/ai-service/agent/subagents/apis/state.d.ts.map +0 -1
- package/dist/ai-service/agent/subagents/apis/state.js +0 -25
- package/dist/ai-service/agent/subagents/apis/state.js.map +0 -1
- package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts +0 -3
- package/dist/ai-service/agent/subagents/apis/system-prompt.d.ts.map +0 -1
- package/dist/ai-service/agent/subagents/apis/system-prompt.js +0 -1704
- package/dist/ai-service/agent/subagents/apis/system-prompt.js.map +0 -1
- package/dist/ai-service/agent/tools/apis/finalize-api.d.ts +0 -11
- package/dist/ai-service/agent/tools/apis/finalize-api.d.ts.map +0 -1
- package/dist/ai-service/agent/tools/apis/finalize-api.js +0 -133
- package/dist/ai-service/agent/tools/apis/finalize-api.js.map +0 -1
- package/dist/ai-service/llm/middleware/retry.d.ts +0 -112
- package/dist/ai-service/llm/middleware/retry.d.ts.map +0 -1
- package/dist/ai-service/llm/middleware/retry.js +0 -239
- package/dist/ai-service/llm/middleware/retry.js.map +0 -1
|
@@ -0,0 +1,689 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript type definitions for all Superblocks integrations.
|
|
3
|
+
* These definitions are used to provide type information in API documentation.
|
|
4
|
+
*/
|
|
5
|
+
import { getBasePluginId } from "@superblocksteam/shared";
|
|
6
|
+
import { datasourceSdkClassByType } from "../../../const.js";
|
|
7
|
+
/**
|
|
8
|
+
* Map of plugin IDs to their TypeScript type definitions.
|
|
9
|
+
* These are based on the actual classes from @superblocksteam/library.
|
|
10
|
+
*/
|
|
11
|
+
export const INTEGRATION_TYPE_DEFINITIONS = {
|
|
12
|
+
// SQL Databases
|
|
13
|
+
postgres: {
|
|
14
|
+
className: "PostgreSQL",
|
|
15
|
+
pluginId: "postgres",
|
|
16
|
+
description: "PostgreSQL database integration",
|
|
17
|
+
typeDefinition: `export class PostgreSQL extends Integration {
|
|
18
|
+
constructor(
|
|
19
|
+
name: string,
|
|
20
|
+
integrationId: string,
|
|
21
|
+
config: {
|
|
22
|
+
statement: Binding<string>;
|
|
23
|
+
/** Optional, defaults to \`"prepared"\` */
|
|
24
|
+
mode?: Binding<"simple" | "prepared">;
|
|
25
|
+
/** Optional, defaults to \`false\` */
|
|
26
|
+
enablePooling?: Binding<boolean>;
|
|
27
|
+
}
|
|
28
|
+
);
|
|
29
|
+
|
|
30
|
+
/** Execute SQL statement - returns array of rows */
|
|
31
|
+
async execute(): Promise<any[]>;
|
|
32
|
+
}`,
|
|
33
|
+
example: `new PostgreSQL("GetUsers", postgresIntegrationId, {
|
|
34
|
+
statement: ({ statusFilter }) =>
|
|
35
|
+
\`SELECT * FROM users WHERE status = '\${statusFilter}'\` // API inputs don't need .value
|
|
36
|
+
})`,
|
|
37
|
+
},
|
|
38
|
+
mysql: {
|
|
39
|
+
className: "MySQL",
|
|
40
|
+
pluginId: "mysql",
|
|
41
|
+
description: "MySQL database integration",
|
|
42
|
+
typeDefinition: `export class MySQL extends Integration {
|
|
43
|
+
constructor(
|
|
44
|
+
name: string,
|
|
45
|
+
integrationId: string,
|
|
46
|
+
config: {
|
|
47
|
+
statement: Binding<string>;
|
|
48
|
+
/** Optional, defaults to \`false\` */
|
|
49
|
+
enablePooling?: Binding<boolean>;
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
/** Execute SQL statement - returns array of rows */
|
|
54
|
+
async execute(): Promise<any[]>;
|
|
55
|
+
}`,
|
|
56
|
+
example: `new MySQL("GetOrders", mysqlIntegrationId, {
|
|
57
|
+
statement: ({ customerId }) =>
|
|
58
|
+
\`SELECT * FROM orders WHERE customer_id = \${customerId}\` // API inputs don't need .value
|
|
59
|
+
})`,
|
|
60
|
+
},
|
|
61
|
+
mssql: {
|
|
62
|
+
className: "MicrosoftSQL",
|
|
63
|
+
pluginId: "mssql",
|
|
64
|
+
description: "Microsoft SQL Server integration",
|
|
65
|
+
typeDefinition: `export class MicrosoftSQL extends Integration {
|
|
66
|
+
constructor(
|
|
67
|
+
name: string,
|
|
68
|
+
integrationId: string,
|
|
69
|
+
config: {
|
|
70
|
+
statement: Binding<string>;
|
|
71
|
+
/** Optional, defaults to \`false\` */
|
|
72
|
+
enablePooling?: Binding<boolean>;
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
|
|
76
|
+
/** Execute SQL statement - returns array of rows */
|
|
77
|
+
async execute(): Promise<any[]>;
|
|
78
|
+
}`,
|
|
79
|
+
example: `new MicrosoftSQL("GetProducts", mssqlIntegrationId, {
|
|
80
|
+
statement: ({ minPrice }) =>
|
|
81
|
+
\`SELECT * FROM products WHERE price > \${minPrice}\` // API inputs don't need .value
|
|
82
|
+
})`,
|
|
83
|
+
},
|
|
84
|
+
snowflake: {
|
|
85
|
+
className: "Snowflake",
|
|
86
|
+
pluginId: "snowflake",
|
|
87
|
+
description: "Snowflake data warehouse integration",
|
|
88
|
+
typeDefinition: `export class Snowflake extends Integration {
|
|
89
|
+
constructor(
|
|
90
|
+
name: string,
|
|
91
|
+
integrationId: string,
|
|
92
|
+
config: {
|
|
93
|
+
statement: Binding<string>;
|
|
94
|
+
/** Optional, defaults to \`false\` */
|
|
95
|
+
enablePooling?: Binding<boolean>;
|
|
96
|
+
/** Optional warehouse to use */
|
|
97
|
+
warehouse?: Binding<string>;
|
|
98
|
+
/** Optional database to use */
|
|
99
|
+
database?: Binding<string>;
|
|
100
|
+
/** Optional schema to use */
|
|
101
|
+
schema?: Binding<string>;
|
|
102
|
+
/** Optional role to use */
|
|
103
|
+
role?: Binding<string>;
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
|
|
107
|
+
/** Execute SQL statement - returns array of rows */
|
|
108
|
+
async execute(): Promise<any[]>;
|
|
109
|
+
}`,
|
|
110
|
+
example: `new Snowflake("AnalyzeSales", snowflakeIntegrationId, {
|
|
111
|
+
statement: "SELECT region, SUM(amount) FROM sales GROUP BY region",
|
|
112
|
+
warehouse: "COMPUTE_WH",
|
|
113
|
+
database: "ANALYTICS"
|
|
114
|
+
})`,
|
|
115
|
+
},
|
|
116
|
+
databricks: {
|
|
117
|
+
className: "Databricks",
|
|
118
|
+
pluginId: "databricks",
|
|
119
|
+
description: "Databricks lakehouse integration",
|
|
120
|
+
typeDefinition: `export class Databricks extends Integration {
|
|
121
|
+
constructor(
|
|
122
|
+
name: string,
|
|
123
|
+
integrationId: string,
|
|
124
|
+
config: {
|
|
125
|
+
statement: Binding<string>;
|
|
126
|
+
/** Optional, defaults to \`false\` */
|
|
127
|
+
enablePooling?: Binding<boolean>;
|
|
128
|
+
/** Optional catalog to use */
|
|
129
|
+
catalog?: Binding<string>;
|
|
130
|
+
/** Optional schema to use */
|
|
131
|
+
schema?: Binding<string>;
|
|
132
|
+
}
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
/** Execute SQL statement - returns array of rows */
|
|
136
|
+
async execute(): Promise<any[]>;
|
|
137
|
+
}`,
|
|
138
|
+
example: `new Databricks("ProcessLogs", databricksIntegrationId, {
|
|
139
|
+
statement: ({ selectedDate }) =>
|
|
140
|
+
\`SELECT * FROM catalog.schema.logs WHERE date = '\${selectedDate}'\`, // API inputs don't need .value
|
|
141
|
+
catalog: "main",
|
|
142
|
+
schema: "events"
|
|
143
|
+
})`,
|
|
144
|
+
},
|
|
145
|
+
redshift: {
|
|
146
|
+
className: "Redshift",
|
|
147
|
+
pluginId: "redshift",
|
|
148
|
+
description: "Amazon Redshift data warehouse integration",
|
|
149
|
+
typeDefinition: `export class Redshift extends Integration {
|
|
150
|
+
constructor(
|
|
151
|
+
name: string,
|
|
152
|
+
integrationId: string,
|
|
153
|
+
config: {
|
|
154
|
+
statement: Binding<string>;
|
|
155
|
+
/** Optional, defaults to \`false\` */
|
|
156
|
+
enablePooling?: Binding<boolean>;
|
|
157
|
+
}
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
/** Execute SQL statement - returns array of rows */
|
|
161
|
+
async execute(): Promise<any[]>;
|
|
162
|
+
}`,
|
|
163
|
+
example: `new Redshift("GetMetrics", redshiftIntegrationId, {
|
|
164
|
+
statement: ({ startTime }) =>
|
|
165
|
+
\`SELECT * FROM metrics WHERE timestamp > '\${startTime}'\` // API inputs don't need .value
|
|
166
|
+
})`,
|
|
167
|
+
},
|
|
168
|
+
bigquery: {
|
|
169
|
+
className: "BigQuery",
|
|
170
|
+
pluginId: "bigquery",
|
|
171
|
+
description: "Google BigQuery data warehouse integration",
|
|
172
|
+
typeDefinition: `export class BigQuery extends Integration {
|
|
173
|
+
constructor(
|
|
174
|
+
name: string,
|
|
175
|
+
integrationId: string,
|
|
176
|
+
config: {
|
|
177
|
+
sqlBody: Binding<string>;
|
|
178
|
+
}
|
|
179
|
+
);
|
|
180
|
+
|
|
181
|
+
/** Execute SQL statement - returns array of rows */
|
|
182
|
+
async execute(): Promise<any[]>;
|
|
183
|
+
}`,
|
|
184
|
+
example: `new BigQuery("QueryEvents", bigqueryIntegrationId, {
|
|
185
|
+
sqlBody: ({ eventType }) =>
|
|
186
|
+
\`SELECT * FROM \\\`project.dataset.events\\\` WHERE type = '\${eventType}'\`, // API inputs don't need .value
|
|
187
|
+
})`,
|
|
188
|
+
},
|
|
189
|
+
// NoSQL Databases
|
|
190
|
+
mongodb: {
|
|
191
|
+
className: "MongoDB",
|
|
192
|
+
pluginId: "mongodb",
|
|
193
|
+
description: "MongoDB NoSQL database integration",
|
|
194
|
+
typeDefinition: `export class MongoDB extends Integration {
|
|
195
|
+
constructor(
|
|
196
|
+
name: string,
|
|
197
|
+
integrationId: string,
|
|
198
|
+
config: {
|
|
199
|
+
/** MongoDB operation: find, findOne, insertOne, insertMany, updateOne, updateMany, deleteOne, deleteMany, aggregate, count, distinct */
|
|
200
|
+
operation: Binding<string>;
|
|
201
|
+
/** Collection name */
|
|
202
|
+
collection: Binding<string>;
|
|
203
|
+
/** Query filter (JSON) */
|
|
204
|
+
query?: Binding<any>;
|
|
205
|
+
/** Update document (JSON) */
|
|
206
|
+
update?: Binding<any>;
|
|
207
|
+
/** Document(s) to insert (JSON) */
|
|
208
|
+
document?: Binding<any>;
|
|
209
|
+
/** Aggregation pipeline (JSON array) */
|
|
210
|
+
pipeline?: Binding<any[]>;
|
|
211
|
+
/** Options (JSON) */
|
|
212
|
+
options?: Binding<any>;
|
|
213
|
+
}
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
/** Execute MongoDB operation */
|
|
217
|
+
async execute(): Promise<any>;
|
|
218
|
+
}`,
|
|
219
|
+
example: `new MongoDB("FindUsers", mongoIntegrationId, {
|
|
220
|
+
operation: "find",
|
|
221
|
+
collection: "users",
|
|
222
|
+
query: { status: "active" },
|
|
223
|
+
options: { limit: 10 }
|
|
224
|
+
})`,
|
|
225
|
+
},
|
|
226
|
+
dynamodb: {
|
|
227
|
+
className: "DynamoDB",
|
|
228
|
+
pluginId: "dynamodb",
|
|
229
|
+
description: "Amazon DynamoDB NoSQL database integration",
|
|
230
|
+
typeDefinition: `export class DynamoDB extends Integration {
|
|
231
|
+
constructor(
|
|
232
|
+
name: string,
|
|
233
|
+
integrationId: string,
|
|
234
|
+
config: {
|
|
235
|
+
/** DynamoDB operation: get, put, update, delete, query, scan, batchGet, batchWrite */
|
|
236
|
+
operation: Binding<string>;
|
|
237
|
+
/** Table name */
|
|
238
|
+
tableName: Binding<string>;
|
|
239
|
+
/** Key for get/update/delete operations */
|
|
240
|
+
key?: Binding<any>;
|
|
241
|
+
/** Item for put operation */
|
|
242
|
+
item?: Binding<any>;
|
|
243
|
+
/** Update expression */
|
|
244
|
+
updateExpression?: Binding<string>;
|
|
245
|
+
/** Expression attribute names */
|
|
246
|
+
expressionAttributeNames?: Binding<any>;
|
|
247
|
+
/** Expression attribute values */
|
|
248
|
+
expressionAttributeValues?: Binding<any>;
|
|
249
|
+
/** Key condition expression for query */
|
|
250
|
+
keyConditionExpression?: Binding<string>;
|
|
251
|
+
/** Filter expression */
|
|
252
|
+
filterExpression?: Binding<string>;
|
|
253
|
+
}
|
|
254
|
+
);
|
|
255
|
+
|
|
256
|
+
/** Execute DynamoDB operation */
|
|
257
|
+
async execute(): Promise<any>;
|
|
258
|
+
}`,
|
|
259
|
+
example: `new DynamoDB("GetItem", dynamoIntegrationId, {
|
|
260
|
+
operation: "get",
|
|
261
|
+
tableName: "users",
|
|
262
|
+
key: ({ userId }) => ({ userId }) // API inputs don't need .value
|
|
263
|
+
})`,
|
|
264
|
+
},
|
|
265
|
+
// REST API
|
|
266
|
+
restapi: {
|
|
267
|
+
className: "RestApi",
|
|
268
|
+
pluginId: "restapi",
|
|
269
|
+
description: "REST API integration",
|
|
270
|
+
typeDefinition: `export class RestApi extends Integration {
|
|
271
|
+
constructor(
|
|
272
|
+
name: string,
|
|
273
|
+
integrationId: string,
|
|
274
|
+
config: {
|
|
275
|
+
/** HTTP method: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS */
|
|
276
|
+
method: Binding<string>;
|
|
277
|
+
/** URL path (appended to base URL) */
|
|
278
|
+
path?: Binding<string>;
|
|
279
|
+
/** Query parameters */
|
|
280
|
+
params?: { key: Binding<string>; value: Binding<string> }[];
|
|
281
|
+
/** Request headers */
|
|
282
|
+
headers?: { key: Binding<string>; value: Binding<string> }[];
|
|
283
|
+
/** Request body (for POST, PUT, PATCH) */
|
|
284
|
+
body?: Binding<string>;
|
|
285
|
+
}
|
|
286
|
+
);
|
|
287
|
+
|
|
288
|
+
/** Execute HTTP request */
|
|
289
|
+
async execute(): Promise<{ data: any; status: number; headers: Record<string, string> }>;
|
|
290
|
+
|
|
291
|
+
}`,
|
|
292
|
+
example: `new RestApi("CreateUser", apiIntegrationId, {
|
|
293
|
+
method: "POST",
|
|
294
|
+
path: "/users",
|
|
295
|
+
headers: [{ key: "Content-Type", value: "application/json" }],
|
|
296
|
+
body: ({ requestData }) => requestData, // API inputs don't need .value
|
|
297
|
+
})`,
|
|
298
|
+
},
|
|
299
|
+
// GraphQL
|
|
300
|
+
graphql: {
|
|
301
|
+
className: "GraphQL",
|
|
302
|
+
pluginId: "graphql",
|
|
303
|
+
description: "GraphQL API integration",
|
|
304
|
+
typeDefinition: `export class GraphQL extends Integration {
|
|
305
|
+
constructor(
|
|
306
|
+
name: string,
|
|
307
|
+
integrationId: string,
|
|
308
|
+
config: {
|
|
309
|
+
/** GraphQL query or mutation */
|
|
310
|
+
query: Binding<string>;
|
|
311
|
+
/** Query variables as a JSON string */
|
|
312
|
+
variables?: Binding<string>;
|
|
313
|
+
/** Additional headers */
|
|
314
|
+
headers?: { key: Binding<string>; value: Binding<string> }[];
|
|
315
|
+
}
|
|
316
|
+
);
|
|
317
|
+
|
|
318
|
+
/** Execute GraphQL request */
|
|
319
|
+
async execute(): Promise<{ data: any; errors?: any[] }>;
|
|
320
|
+
}`,
|
|
321
|
+
example: `new GraphQL("GetUser", graphqlIntegrationId, {
|
|
322
|
+
query: \`
|
|
323
|
+
query GetUser($id: ID!) {
|
|
324
|
+
user(id: $id) {
|
|
325
|
+
id
|
|
326
|
+
name
|
|
327
|
+
email
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
\`,
|
|
331
|
+
})`,
|
|
332
|
+
},
|
|
333
|
+
// Cloud Storage
|
|
334
|
+
s3: {
|
|
335
|
+
className: "S3",
|
|
336
|
+
pluginId: "s3",
|
|
337
|
+
description: "Amazon S3 storage integration",
|
|
338
|
+
typeDefinition: `
|
|
339
|
+
type S3Action =
|
|
340
|
+
| "LIST_OBJECTS"
|
|
341
|
+
| "LIST_BUCKET_OBJECTS"
|
|
342
|
+
| "GET_OBJECT"
|
|
343
|
+
| "DELETE_OBJECT"
|
|
344
|
+
| "UPLOAD_OBJECT"
|
|
345
|
+
| "LIST_BUCKETS"
|
|
346
|
+
| "CREATE_BUCKET"
|
|
347
|
+
| "UPLOAD_MULTIPLE_OBJECTS"
|
|
348
|
+
| "GENERATE_PRESIGNED_URL";
|
|
349
|
+
|
|
350
|
+
export class S3 extends Integration {
|
|
351
|
+
constructor(
|
|
352
|
+
name: string,
|
|
353
|
+
integrationId: string,
|
|
354
|
+
config: {
|
|
355
|
+
action: S3Action;
|
|
356
|
+
resource?: Binding<string>;
|
|
357
|
+
path?: Binding<string>;
|
|
358
|
+
body?: Binding<string>;
|
|
359
|
+
fileObjects?: Binding<string>;
|
|
360
|
+
listFilesConfig?: {
|
|
361
|
+
prefix?: Binding<string>;
|
|
362
|
+
delimiter?: Binding<string>;
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
);
|
|
366
|
+
|
|
367
|
+
/** Execute S3 operation */
|
|
368
|
+
async execute(): Promise<any>;
|
|
369
|
+
}`,
|
|
370
|
+
example: `new S3("UploadFile", s3IntegrationId, {
|
|
371
|
+
operation: "UPLOAD_OBJECT",
|
|
372
|
+
resource: ({ bucketName }) => bucketName, // API inputs don't need .value
|
|
373
|
+
path: ({ fileName }) => \`uploads/\${fileName}\`,
|
|
374
|
+
body: ({ fileContent }) => fileContent
|
|
375
|
+
})`,
|
|
376
|
+
},
|
|
377
|
+
gcs: {
|
|
378
|
+
className: "GoogleCloudStorage",
|
|
379
|
+
pluginId: "gcs",
|
|
380
|
+
description: "Google Cloud Storage integration",
|
|
381
|
+
typeDefinition: `export class GoogleCloudStorage extends Integration {
|
|
382
|
+
constructor(
|
|
383
|
+
name: string,
|
|
384
|
+
integrationId: string,
|
|
385
|
+
config: {
|
|
386
|
+
/** GCS operation: list, download, upload, delete, getMetadata */
|
|
387
|
+
operation: Binding<string>;
|
|
388
|
+
/** Bucket name */
|
|
389
|
+
bucket: Binding<string>;
|
|
390
|
+
/** File name */
|
|
391
|
+
fileName?: Binding<string>;
|
|
392
|
+
/** File content (for upload) */
|
|
393
|
+
fileContent?: Binding<string | Buffer>;
|
|
394
|
+
/** Prefix (for list) */
|
|
395
|
+
prefix?: Binding<string>;
|
|
396
|
+
}
|
|
397
|
+
);
|
|
398
|
+
|
|
399
|
+
/** Execute GCS operation */
|
|
400
|
+
async execute(): Promise<any>;
|
|
401
|
+
}`,
|
|
402
|
+
example: `new GoogleCloudStorage("ListFiles", gcsIntegrationId, {
|
|
403
|
+
operation: "list",
|
|
404
|
+
bucket: "my-bucket",
|
|
405
|
+
prefix: "data/"
|
|
406
|
+
})`,
|
|
407
|
+
},
|
|
408
|
+
// Email
|
|
409
|
+
email: {
|
|
410
|
+
className: "Email",
|
|
411
|
+
pluginId: "email",
|
|
412
|
+
description: "Email sending integration",
|
|
413
|
+
typeDefinition: `export class Email extends Integration {
|
|
414
|
+
constructor(
|
|
415
|
+
name: string,
|
|
416
|
+
integrationId: string,
|
|
417
|
+
config: {
|
|
418
|
+
/** Recipients (comma-separated) */
|
|
419
|
+
to: Binding<string>;
|
|
420
|
+
/** Email subject */
|
|
421
|
+
subject: Binding<string>;
|
|
422
|
+
/** Email body */
|
|
423
|
+
body: Binding<string>;
|
|
424
|
+
/** CC recipients (comma-separated) */
|
|
425
|
+
cc?: Binding<string>;
|
|
426
|
+
/** BCC recipients (comma-separated) */
|
|
427
|
+
bcc?: Binding<string>;
|
|
428
|
+
/** From address */
|
|
429
|
+
from?: Binding<string>;
|
|
430
|
+
/** Reply-to address */
|
|
431
|
+
replyTo?: Binding<string>;
|
|
432
|
+
/** Body type: text or html */
|
|
433
|
+
bodyType?: Binding<"text" | "html">;
|
|
434
|
+
}
|
|
435
|
+
);
|
|
436
|
+
|
|
437
|
+
/** Send email */
|
|
438
|
+
async execute(): Promise<{ messageId: string }>;
|
|
439
|
+
}`,
|
|
440
|
+
example: `new Email("SendNotification", emailIntegrationId, {
|
|
441
|
+
to: ({ recipientEmail }) => recipientEmail, // API inputs don't need .value
|
|
442
|
+
subject: "Important Update",
|
|
443
|
+
body: ({ userName }) => \`Hello \${userName}, here is your update...\`,
|
|
444
|
+
bodyType: "text"
|
|
445
|
+
})`,
|
|
446
|
+
},
|
|
447
|
+
// Programming Languages
|
|
448
|
+
javascript: {
|
|
449
|
+
className: "JavaScript",
|
|
450
|
+
pluginId: "javascript",
|
|
451
|
+
description: "JavaScript code execution",
|
|
452
|
+
typeDefinition: `export class JavaScript extends Integration {
|
|
453
|
+
constructor(
|
|
454
|
+
name: string,
|
|
455
|
+
config: {
|
|
456
|
+
/** JavaScript code to execute */
|
|
457
|
+
code: Binding<string>;
|
|
458
|
+
}
|
|
459
|
+
);
|
|
460
|
+
|
|
461
|
+
/** Execute JavaScript code */
|
|
462
|
+
async execute(): Promise<any>;
|
|
463
|
+
}`,
|
|
464
|
+
example: `new JavaScript("TransformData", {
|
|
465
|
+
code: \`
|
|
466
|
+
const users = {{GetUsers.data}};
|
|
467
|
+
return users.map(user => ({
|
|
468
|
+
...user,
|
|
469
|
+
fullName: user.firstName + ' ' + user.lastName
|
|
470
|
+
}));
|
|
471
|
+
\`
|
|
472
|
+
})`,
|
|
473
|
+
},
|
|
474
|
+
python: {
|
|
475
|
+
className: "Python",
|
|
476
|
+
pluginId: "python",
|
|
477
|
+
description: "Python code execution",
|
|
478
|
+
typeDefinition: `export class Python extends Integration {
|
|
479
|
+
constructor(
|
|
480
|
+
name: string,
|
|
481
|
+
config: {
|
|
482
|
+
/** Python code to execute */
|
|
483
|
+
code: Binding<string>;
|
|
484
|
+
}
|
|
485
|
+
);
|
|
486
|
+
|
|
487
|
+
/** Execute Python code */
|
|
488
|
+
async execute(): Promise<any>;
|
|
489
|
+
}`,
|
|
490
|
+
example: `new Python("AnalyzeData", {
|
|
491
|
+
code: \`
|
|
492
|
+
import pandas as pd
|
|
493
|
+
import json
|
|
494
|
+
|
|
495
|
+
data = {{GetData.data}}
|
|
496
|
+
df = pd.DataFrame(data)
|
|
497
|
+
summary = df.describe().to_dict()
|
|
498
|
+
return json.dumps(summary)
|
|
499
|
+
\`
|
|
500
|
+
})`,
|
|
501
|
+
},
|
|
502
|
+
// Workflow
|
|
503
|
+
workflow: {
|
|
504
|
+
className: "Workflow",
|
|
505
|
+
pluginId: "workflow",
|
|
506
|
+
description: "Superblocks workflow execution",
|
|
507
|
+
typeDefinition: `export class Workflow extends Integration {
|
|
508
|
+
constructor(
|
|
509
|
+
name: string,
|
|
510
|
+
integrationId: string,
|
|
511
|
+
config: {
|
|
512
|
+
/** Workflow to execute */
|
|
513
|
+
workflow: Binding<string>;
|
|
514
|
+
/** Input parameters */
|
|
515
|
+
inputs?: Binding<Record<string, any>>;
|
|
516
|
+
/** Execution environment */
|
|
517
|
+
environment?: Binding<string>;
|
|
518
|
+
}
|
|
519
|
+
);
|
|
520
|
+
|
|
521
|
+
/** Execute workflow */
|
|
522
|
+
async execute(): Promise<any>;
|
|
523
|
+
}`,
|
|
524
|
+
example: `new Workflow("RunETL", workflowIntegrationId, {
|
|
525
|
+
workflow: "data-etl-pipeline",
|
|
526
|
+
inputs: ({ startDate, endDate }) => ({
|
|
527
|
+
startDate: startDate,
|
|
528
|
+
endDate: endDate
|
|
529
|
+
})
|
|
530
|
+
})`,
|
|
531
|
+
},
|
|
532
|
+
// Salesforce
|
|
533
|
+
salesforce: {
|
|
534
|
+
className: "Salesforce",
|
|
535
|
+
pluginId: "salesforce",
|
|
536
|
+
description: "Salesforce CRM integration",
|
|
537
|
+
typeDefinition: `
|
|
538
|
+
export type SalesforceAction =
|
|
539
|
+
| { action: "SOQL_ACTION_SOQL"; soqlBody: Binding<string> }
|
|
540
|
+
| {
|
|
541
|
+
action: "CRUD_ACTION_READ";
|
|
542
|
+
resourceType: Binding<string>;
|
|
543
|
+
resourceId: Binding<string>;
|
|
544
|
+
}
|
|
545
|
+
| {
|
|
546
|
+
action: "CRUD_ACTION_CREATE";
|
|
547
|
+
resourceType: Binding<string>;
|
|
548
|
+
resourceBody: Binding<string>;
|
|
549
|
+
}
|
|
550
|
+
| {
|
|
551
|
+
action: "CRUD_ACTION_UPDATE";
|
|
552
|
+
resourceType: Binding<string>;
|
|
553
|
+
resourceId: Binding<string>;
|
|
554
|
+
resourceBody: Binding<string>;
|
|
555
|
+
}
|
|
556
|
+
| {
|
|
557
|
+
action: "CRUD_ACTION_DELETE";
|
|
558
|
+
resourceType: Binding<string>;
|
|
559
|
+
resourceId: Binding<string>;
|
|
560
|
+
resourceBody: Binding<string>;
|
|
561
|
+
}
|
|
562
|
+
| {
|
|
563
|
+
action: "BULK_ACTION_CREATE";
|
|
564
|
+
resourceType: Binding<string>;
|
|
565
|
+
resourceBody: Binding<string>;
|
|
566
|
+
}
|
|
567
|
+
| {
|
|
568
|
+
action: "BULK_ACTION_UPDATE";
|
|
569
|
+
resourceType: Binding<string>;
|
|
570
|
+
resourceBody: Binding<string>;
|
|
571
|
+
};
|
|
572
|
+
|
|
573
|
+
export declare class Salesforce extends Integration {
|
|
574
|
+
constructor(
|
|
575
|
+
name: string,
|
|
576
|
+
integration: string,
|
|
577
|
+
config: {
|
|
578
|
+
action: SalesforceAction;
|
|
579
|
+
},
|
|
580
|
+
);
|
|
581
|
+
|
|
582
|
+
/** Execute API request */
|
|
583
|
+
async execute(): Promise<{ data: any; status: number; headers: Record<string, string> }>;
|
|
584
|
+
}
|
|
585
|
+
`,
|
|
586
|
+
example: `new Salesforce("CreateAccount", salesforceIntegrationId, {
|
|
587
|
+
action: {
|
|
588
|
+
action: "SOQL_ACTION_SOQL",
|
|
589
|
+
soqlBody: "SELECT Id, Name FROM Account WHERE Industry = 'Technology'"
|
|
590
|
+
})`,
|
|
591
|
+
},
|
|
592
|
+
// Generic OpenAPI
|
|
593
|
+
restapiintegration: {
|
|
594
|
+
className: "OpenApi",
|
|
595
|
+
pluginId: "restapiintegration",
|
|
596
|
+
description: "Generic OpenApi-based integration",
|
|
597
|
+
typeDefinition: `export class OpenApi extends RestApi {
|
|
598
|
+
constructor(
|
|
599
|
+
name: string,
|
|
600
|
+
integrationId: string,
|
|
601
|
+
config: {
|
|
602
|
+
/** HTTP method: GET, POST, PUT, PATCH, DELETE */
|
|
603
|
+
method: string;
|
|
604
|
+
/** API endpoint path */
|
|
605
|
+
url: Binding<string>; // This should match openapi.path and just be the path, NOT a full URL
|
|
606
|
+
/** Request headers */
|
|
607
|
+
headers?: { key: Binding<string>; value: Binding<string> }[];
|
|
608
|
+
/** Query parameters */
|
|
609
|
+
params?: { key: Binding<string>; value: Binding<string> }[];
|
|
610
|
+
/** Request body (for POST, PUT, PATCH) */
|
|
611
|
+
body?: Binding<string>;
|
|
612
|
+
}
|
|
613
|
+
openapi?: {
|
|
614
|
+
/** Endpoint path from OpenApi spec */
|
|
615
|
+
path: string;
|
|
616
|
+
},
|
|
617
|
+
);
|
|
618
|
+
|
|
619
|
+
/** Execute HTTP request */
|
|
620
|
+
async execute(): Promise<{ data: any; status: number; headers: Record<string, string> }>;
|
|
621
|
+
}`,
|
|
622
|
+
example: `new OpenApi("CallEndpoint", integrationId, {
|
|
623
|
+
method: "POST",
|
|
624
|
+
path: "/api/v1/resource",
|
|
625
|
+
headers: [{ key: "Content-Type", value: "application/json" }],
|
|
626
|
+
body: ({ requestData }) => requestData,
|
|
627
|
+
})`,
|
|
628
|
+
},
|
|
629
|
+
// Add more integrations as needed...
|
|
630
|
+
};
|
|
631
|
+
/**
|
|
632
|
+
* Create a type definition for a derived plugin.
|
|
633
|
+
* This template is used for all integrations that use a derived plugin (eg extends OpenApi).
|
|
634
|
+
*/
|
|
635
|
+
export function createExtendedPluginTypeDefinition(plugin, basePluginId, description = `${plugin.id} API integration`) {
|
|
636
|
+
const predefined = INTEGRATION_TYPE_DEFINITIONS[basePluginId];
|
|
637
|
+
if (!predefined)
|
|
638
|
+
return undefined;
|
|
639
|
+
// Replace "BaseClass extends ParentClass" with "DerivedClass extends BaseClass"
|
|
640
|
+
const regex = new RegExp(`\\b${predefined.className}\\s+extends\\s+\\w+`, "g");
|
|
641
|
+
const className = pluginIdToSdkClassName(plugin.id);
|
|
642
|
+
const updatedTypeDef = predefined.typeDefinition.replace(regex, `${className} extends ${predefined.className}`);
|
|
643
|
+
const updatedExample = predefined.example
|
|
644
|
+
? predefined.example.replace(new RegExp(`new\\s+${predefined.className}\\b`, "g"), `new ${className}`)
|
|
645
|
+
: undefined;
|
|
646
|
+
return {
|
|
647
|
+
className,
|
|
648
|
+
pluginId: plugin.id,
|
|
649
|
+
description,
|
|
650
|
+
typeDefinition: updatedTypeDef,
|
|
651
|
+
example: updatedExample,
|
|
652
|
+
};
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* Get type definition for a specific integration by its plugin ID.
|
|
656
|
+
* For OpenAPI-derived plugins not in the predefined list, generates a definition using the template.
|
|
657
|
+
*/
|
|
658
|
+
export function getIntegrationTypeDefinition(plugin) {
|
|
659
|
+
// Check if it's a predefined integration
|
|
660
|
+
const predefined = INTEGRATION_TYPE_DEFINITIONS[plugin.id];
|
|
661
|
+
if (predefined) {
|
|
662
|
+
return predefined;
|
|
663
|
+
}
|
|
664
|
+
// For unknown plugins, check if they might be OpenAPI-based
|
|
665
|
+
// You can add logic here to detect OpenAPI-based plugins and generate definitions dynamically
|
|
666
|
+
// For example:
|
|
667
|
+
const basePluginId = getBasePluginId(plugin.id);
|
|
668
|
+
if (basePluginId == plugin.id) {
|
|
669
|
+
return undefined;
|
|
670
|
+
}
|
|
671
|
+
return createExtendedPluginTypeDefinition(plugin, basePluginId);
|
|
672
|
+
}
|
|
673
|
+
/**
|
|
674
|
+
* Get type definitions for multiple integrations
|
|
675
|
+
*/
|
|
676
|
+
export function getIntegrationTypeDefinitions(pluginIds) {
|
|
677
|
+
const result = {};
|
|
678
|
+
for (const pluginId of pluginIds) {
|
|
679
|
+
const def = INTEGRATION_TYPE_DEFINITIONS[pluginId];
|
|
680
|
+
if (def) {
|
|
681
|
+
result[pluginId] = def;
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
return result;
|
|
685
|
+
}
|
|
686
|
+
function pluginIdToSdkClassName(id) {
|
|
687
|
+
return datasourceSdkClassByType[id];
|
|
688
|
+
}
|
|
689
|
+
//# sourceMappingURL=integration-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"integration-types.js","sourceRoot":"","sources":["../../../../../src/ai-service/agent/tools/apis/integration-types.ts"],"names":[],"mappings":"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"}
|