@superblocksteam/vite-plugin-file-sync 2.0.3-next.100
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/LICENSE.txt +87 -0
- package/dist/ai-service/artifacts/bolt.d.ts +8 -0
- package/dist/ai-service/artifacts/bolt.d.ts.map +1 -0
- package/dist/ai-service/artifacts/bolt.js +34 -0
- package/dist/ai-service/artifacts/bolt.js.map +1 -0
- package/dist/ai-service/const.d.ts +8 -0
- package/dist/ai-service/const.d.ts.map +1 -0
- package/dist/ai-service/const.js +9 -0
- package/dist/ai-service/const.js.map +1 -0
- package/dist/ai-service/eval/template-renderer.d.ts +13 -0
- package/dist/ai-service/eval/template-renderer.d.ts.map +1 -0
- package/dist/ai-service/eval/template-renderer.js +66 -0
- package/dist/ai-service/eval/template-renderer.js.map +1 -0
- package/dist/ai-service/index.d.ts +18 -0
- package/dist/ai-service/index.d.ts.map +1 -0
- package/dist/ai-service/index.js +140 -0
- package/dist/ai-service/index.js.map +1 -0
- package/dist/ai-service/integrations/const.d.ts +41 -0
- package/dist/ai-service/integrations/const.d.ts.map +1 -0
- package/dist/ai-service/integrations/const.js +76 -0
- package/dist/ai-service/integrations/const.js.map +1 -0
- package/dist/ai-service/integrations/from-prompt-context.d.ts +4 -0
- package/dist/ai-service/integrations/from-prompt-context.d.ts.map +1 -0
- package/dist/ai-service/integrations/from-prompt-context.js +56 -0
- package/dist/ai-service/integrations/from-prompt-context.js.map +1 -0
- package/dist/ai-service/integrations/to-sdk-prompt.d.ts +3 -0
- package/dist/ai-service/integrations/to-sdk-prompt.d.ts.map +1 -0
- package/dist/ai-service/integrations/to-sdk-prompt.js +47 -0
- package/dist/ai-service/integrations/to-sdk-prompt.js.map +1 -0
- package/dist/ai-service/integrations/types.d.ts +31 -0
- package/dist/ai-service/integrations/types.d.ts.map +1 -0
- package/dist/ai-service/integrations/types.js +2 -0
- package/dist/ai-service/integrations/types.js.map +1 -0
- package/dist/ai-service/prompts/draft-subprompts/superblocks-api-draft.d.ts +2 -0
- package/dist/ai-service/prompts/draft-subprompts/superblocks-api-draft.d.ts.map +1 -0
- package/dist/ai-service/prompts/draft-subprompts/superblocks-api-draft.js +386 -0
- package/dist/ai-service/prompts/draft-subprompts/superblocks-api-draft.js.map +1 -0
- package/dist/ai-service/prompts/draft-subprompts/superblocks-layouts-with-grid-examples.d.ts +2 -0
- package/dist/ai-service/prompts/draft-subprompts/superblocks-layouts-with-grid-examples.d.ts.map +1 -0
- package/dist/ai-service/prompts/draft-subprompts/superblocks-layouts-with-grid-examples.js +219 -0
- package/dist/ai-service/prompts/draft-subprompts/superblocks-layouts-with-grid-examples.js.map +1 -0
- package/dist/ai-service/prompts/generated/index.d.ts +4 -0
- package/dist/ai-service/prompts/generated/index.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/index.js +6 -0
- package/dist/ai-service/prompts/generated/index.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbButtonPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbButtonPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbButtonPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbButtonPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbCheckboxPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbCheckboxPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbCheckboxPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbCheckboxPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbColumnPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbColumnPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbColumnPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbColumnPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbContainerPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbContainerPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbContainerPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbContainerPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbDatePickerPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbDatePickerPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbDatePickerPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbDatePickerPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbDropdownPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbDropdownPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbDropdownPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbDropdownPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbIconPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbIconPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbIconPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbIconPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbImagePropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbImagePropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbImagePropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbImagePropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbInputPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbInputPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbInputPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbInputPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbKeyValuePropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbKeyValuePropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbKeyValuePropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbKeyValuePropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbModalPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbModalPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbModalPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbModalPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbPagePropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbPagePropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbPagePropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbPagePropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbSectionPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbSectionPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbSectionPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbSectionPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbSlideoutPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbSlideoutPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbSlideoutPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbSlideoutPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbSwitchPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbSwitchPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbSwitchPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbSwitchPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbTablePropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbTablePropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbTablePropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbTablePropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbTextPropsDocs.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-components/SbTextPropsDocs.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/SbTextPropsDocs.js +6 -0
- package/dist/ai-service/prompts/generated/library-components/SbTextPropsDocs.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/index.d.ts +18 -0
- package/dist/ai-service/prompts/generated/library-components/index.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-components/index.js +20 -0
- package/dist/ai-service/prompts/generated/library-components/index.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-typedefs/Dim.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-typedefs/Dim.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-typedefs/Dim.js +6 -0
- package/dist/ai-service/prompts/generated/library-typedefs/Dim.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-typedefs/SbEventFlow.d.ts +2 -0
- package/dist/ai-service/prompts/generated/library-typedefs/SbEventFlow.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-typedefs/SbEventFlow.js +6 -0
- package/dist/ai-service/prompts/generated/library-typedefs/SbEventFlow.js.map +1 -0
- package/dist/ai-service/prompts/generated/library-typedefs/index.d.ts +3 -0
- package/dist/ai-service/prompts/generated/library-typedefs/index.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/library-typedefs/index.js +5 -0
- package/dist/ai-service/prompts/generated/library-typedefs/index.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/index.d.ts +11 -0
- package/dist/ai-service/prompts/generated/subprompts/index.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/index.js +13 -0
- package/dist/ai-service/prompts/generated/subprompts/index.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-api.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-api.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-api.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-api.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-components-rules.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-components-rules.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-components-rules.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-components-rules.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-custom-components.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-custom-components.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-custom-components.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-custom-components.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-event-flow.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-event-flow.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-event-flow.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-event-flow.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-layouts.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-layouts.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-layouts.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-layouts.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-page.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-page.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-page.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-page.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-routes.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-routes.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-routes.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-routes.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-state.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-state.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-state.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-state.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-theming.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-theming.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-theming.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/superblocks-theming.js.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/system.d.ts +2 -0
- package/dist/ai-service/prompts/generated/subprompts/system.d.ts.map +1 -0
- package/dist/ai-service/prompts/generated/subprompts/system.js +6 -0
- package/dist/ai-service/prompts/generated/subprompts/system.js.map +1 -0
- package/dist/ai-service/prompts/markdown-loader.d.ts +10 -0
- package/dist/ai-service/prompts/markdown-loader.d.ts.map +1 -0
- package/dist/ai-service/prompts/markdown-loader.js +65 -0
- package/dist/ai-service/prompts/markdown-loader.js.map +1 -0
- package/dist/ai-service/prompts/system.d.ts +2 -0
- package/dist/ai-service/prompts/system.d.ts.map +1 -0
- package/dist/ai-service/prompts/system.js +152 -0
- package/dist/ai-service/prompts/system.js.map +1 -0
- package/dist/ai-service/result-buffer/bolt.d.ts +15 -0
- package/dist/ai-service/result-buffer/bolt.d.ts.map +1 -0
- package/dist/ai-service/result-buffer/bolt.js +73 -0
- package/dist/ai-service/result-buffer/bolt.js.map +1 -0
- package/dist/ai-service/result-buffer/shared.d.ts +13 -0
- package/dist/ai-service/result-buffer/shared.d.ts.map +1 -0
- package/dist/ai-service/result-buffer/shared.js +7 -0
- package/dist/ai-service/result-buffer/shared.js.map +1 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts +158 -0
- package/dist/ai-service/state-machine/clark-fsm.d.ts.map +1 -0
- package/dist/ai-service/state-machine/clark-fsm.js +62 -0
- package/dist/ai-service/state-machine/clark-fsm.js.map +1 -0
- package/dist/ai-service/state-machine/fsm.d.ts +42 -0
- package/dist/ai-service/state-machine/fsm.d.ts.map +1 -0
- package/dist/ai-service/state-machine/fsm.js +55 -0
- package/dist/ai-service/state-machine/fsm.js.map +1 -0
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts +3 -0
- package/dist/ai-service/state-machine/handlers/agent-planning.d.ts.map +1 -0
- package/dist/ai-service/state-machine/handlers/agent-planning.js +209 -0
- package/dist/ai-service/state-machine/handlers/agent-planning.js.map +1 -0
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts +3 -0
- package/dist/ai-service/state-machine/handlers/awaiting-user.d.ts.map +1 -0
- package/dist/ai-service/state-machine/handlers/awaiting-user.js +21 -0
- package/dist/ai-service/state-machine/handlers/awaiting-user.js.map +1 -0
- package/dist/ai-service/state-machine/handlers/idle.d.ts +3 -0
- package/dist/ai-service/state-machine/handlers/idle.d.ts.map +1 -0
- package/dist/ai-service/state-machine/handlers/idle.js +22 -0
- package/dist/ai-service/state-machine/handlers/idle.js.map +1 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts +3 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.d.ts.map +1 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.js +123 -0
- package/dist/ai-service/state-machine/handlers/llm-generating.js.map +1 -0
- package/dist/ai-service/state-machine/handlers/play-dead.d.ts +3 -0
- package/dist/ai-service/state-machine/handlers/play-dead.d.ts.map +1 -0
- package/dist/ai-service/state-machine/handlers/play-dead.js +11 -0
- package/dist/ai-service/state-machine/handlers/play-dead.js.map +1 -0
- package/dist/ai-service/state-machine/handlers/post-processing.d.ts +3 -0
- package/dist/ai-service/state-machine/handlers/post-processing.d.ts.map +1 -0
- package/dist/ai-service/state-machine/handlers/post-processing.js +50 -0
- package/dist/ai-service/state-machine/handlers/post-processing.js.map +1 -0
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.d.ts +3 -0
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.d.ts.map +1 -0
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.js +37 -0
- package/dist/ai-service/state-machine/handlers/runtime-reviewing.js.map +1 -0
- package/dist/ai-service/state-machine/helpers/metadata.d.ts +6 -0
- package/dist/ai-service/state-machine/helpers/metadata.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/metadata.js +11 -0
- package/dist/ai-service/state-machine/helpers/metadata.js.map +1 -0
- package/dist/ai-service/state-machine/helpers/peer.d.ts +5 -0
- package/dist/ai-service/state-machine/helpers/peer.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/peer.js +7 -0
- package/dist/ai-service/state-machine/helpers/peer.js.map +1 -0
- package/dist/ai-service/state-machine/helpers/transition.d.ts +13 -0
- package/dist/ai-service/state-machine/helpers/transition.d.ts.map +1 -0
- package/dist/ai-service/state-machine/helpers/transition.js +6 -0
- package/dist/ai-service/state-machine/helpers/transition.js.map +1 -0
- package/dist/ai-service/state-machine/mocks.d.ts +7 -0
- package/dist/ai-service/state-machine/mocks.d.ts.map +1 -0
- package/dist/ai-service/state-machine/mocks.js +63 -0
- package/dist/ai-service/state-machine/mocks.js.map +1 -0
- package/dist/ai-service/state-machine/test-util.d.ts +5 -0
- package/dist/ai-service/state-machine/test-util.d.ts.map +1 -0
- package/dist/ai-service/state-machine/test-util.js +29 -0
- package/dist/ai-service/state-machine/test-util.js.map +1 -0
- package/dist/ai-service/transform/add-metadata-to-api-yaml/transformer.d.ts +21 -0
- package/dist/ai-service/transform/add-metadata-to-api-yaml/transformer.d.ts.map +1 -0
- package/dist/ai-service/transform/add-metadata-to-api-yaml/transformer.js +47 -0
- package/dist/ai-service/transform/add-metadata-to-api-yaml/transformer.js.map +1 -0
- package/dist/ai-service/transform/api-builder/shared.d.ts +11 -0
- package/dist/ai-service/transform/api-builder/shared.d.ts.map +1 -0
- package/dist/ai-service/transform/api-builder/shared.js +53 -0
- package/dist/ai-service/transform/api-builder/shared.js.map +1 -0
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts +27 -0
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.d.ts.map +1 -0
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js +66 -0
- package/dist/ai-service/transform/api-builder/to-sdk-transformer.js.map +1 -0
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.d.ts +23 -0
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.d.ts.map +1 -0
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.js +59 -0
- package/dist/ai-service/transform/api-builder/to-yaml-transformer.js.map +1 -0
- package/dist/ai-service/transform/remove-api-builder-imports/transformer.d.ts +19 -0
- package/dist/ai-service/transform/remove-api-builder-imports/transformer.d.ts.map +1 -0
- package/dist/ai-service/transform/remove-api-builder-imports/transformer.js +45 -0
- package/dist/ai-service/transform/remove-api-builder-imports/transformer.js.map +1 -0
- package/dist/ai-service/transform/shared.d.ts +20 -0
- package/dist/ai-service/transform/shared.d.ts.map +1 -0
- package/dist/ai-service/transform/shared.js +132 -0
- package/dist/ai-service/transform/shared.js.map +1 -0
- package/dist/ai-service/transform/workaround-missing-sbapi/transformer.d.ts +17 -0
- package/dist/ai-service/transform/workaround-missing-sbapi/transformer.d.ts.map +1 -0
- package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js +33 -0
- package/dist/ai-service/transform/workaround-missing-sbapi/transformer.js.map +1 -0
- package/dist/ai-service/types.d.ts +65 -0
- package/dist/ai-service/types.d.ts.map +1 -0
- package/dist/ai-service/types.js +2 -0
- package/dist/ai-service/types.js.map +1 -0
- package/dist/binding-extraction/extract-control-block-identifiers.d.ts +4 -0
- package/dist/binding-extraction/extract-control-block-identifiers.d.ts.map +1 -0
- package/dist/binding-extraction/extract-control-block-identifiers.js +86 -0
- package/dist/binding-extraction/extract-control-block-identifiers.js.map +1 -0
- package/dist/binding-extraction/extract-embedded-identifiers.d.ts +16 -0
- package/dist/binding-extraction/extract-embedded-identifiers.d.ts.map +1 -0
- package/dist/binding-extraction/extract-embedded-identifiers.js +100 -0
- package/dist/binding-extraction/extract-embedded-identifiers.js.map +1 -0
- package/dist/binding-extraction/extract-identifiers.d.ts +8 -0
- package/dist/binding-extraction/extract-identifiers.d.ts.map +1 -0
- package/dist/binding-extraction/extract-identifiers.js +150 -0
- package/dist/binding-extraction/extract-identifiers.js.map +1 -0
- package/dist/binding-extraction/extract-js-identifiers.d.ts +19 -0
- package/dist/binding-extraction/extract-js-identifiers.d.ts.map +1 -0
- package/dist/binding-extraction/extract-js-identifiers.js +161 -0
- package/dist/binding-extraction/extract-js-identifiers.js.map +1 -0
- package/dist/binding-extraction/extract-py-identifiers.d.ts +4 -0
- package/dist/binding-extraction/extract-py-identifiers.d.ts.map +1 -0
- package/dist/binding-extraction/extract-py-identifiers.js +161 -0
- package/dist/binding-extraction/extract-py-identifiers.js.map +1 -0
- package/dist/binding-extraction/shared.d.ts +225 -0
- package/dist/binding-extraction/shared.d.ts.map +1 -0
- package/dist/binding-extraction/shared.js +43 -0
- package/dist/binding-extraction/shared.js.map +1 -0
- package/dist/binding-extraction/template-strings.d.ts +9 -0
- package/dist/binding-extraction/template-strings.d.ts.map +1 -0
- package/dist/binding-extraction/template-strings.js +45 -0
- package/dist/binding-extraction/template-strings.js.map +1 -0
- package/dist/codegen.d.ts +26 -0
- package/dist/codegen.d.ts.map +1 -0
- package/dist/codegen.js +222 -0
- package/dist/codegen.js.map +1 -0
- package/dist/components-manager.d.ts +38 -0
- package/dist/components-manager.d.ts.map +1 -0
- package/dist/components-manager.js +177 -0
- package/dist/components-manager.js.map +1 -0
- package/dist/custom-components.d.ts +6 -0
- package/dist/custom-components.d.ts.map +1 -0
- package/dist/custom-components.js +51 -0
- package/dist/custom-components.js.map +1 -0
- package/dist/draft-interface.d.ts +11 -0
- package/dist/draft-interface.d.ts.map +1 -0
- package/dist/draft-interface.js +2 -0
- package/dist/draft-interface.js.map +1 -0
- package/dist/errors/error-handler.d.ts +35 -0
- package/dist/errors/error-handler.d.ts.map +1 -0
- package/dist/errors/error-handler.js +65 -0
- package/dist/errors/error-handler.js.map +1 -0
- package/dist/errors/make-server-error.d.ts +5 -0
- package/dist/errors/make-server-error.d.ts.map +1 -0
- package/dist/errors/make-server-error.js +21 -0
- package/dist/errors/make-server-error.js.map +1 -0
- package/dist/file-sync-vite-plugin.d.ts +4 -0
- package/dist/file-sync-vite-plugin.d.ts.map +1 -0
- package/dist/file-sync-vite-plugin.js +624 -0
- package/dist/file-sync-vite-plugin.js.map +1 -0
- package/dist/file-system-helpers.d.ts +7 -0
- package/dist/file-system-helpers.d.ts.map +1 -0
- package/dist/file-system-helpers.js +12 -0
- package/dist/file-system-helpers.js.map +1 -0
- package/dist/file-system-manager.d.ts +132 -0
- package/dist/file-system-manager.d.ts.map +1 -0
- package/dist/file-system-manager.js +1176 -0
- package/dist/file-system-manager.js.map +1 -0
- package/dist/generate.d.ts +8 -0
- package/dist/generate.d.ts.map +1 -0
- package/dist/generate.js +7 -0
- package/dist/generate.js.map +1 -0
- package/dist/ids.d.ts +2 -0
- package/dist/ids.d.ts.map +1 -0
- package/dist/ids.js +21 -0
- package/dist/ids.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/injected-index.d.ts +12 -0
- package/dist/injected-index.d.ts.map +1 -0
- package/dist/injected-index.js +38 -0
- package/dist/injected-index.js.map +1 -0
- package/dist/lock-service/index.d.ts +93 -0
- package/dist/lock-service/index.d.ts.map +1 -0
- package/dist/lock-service/index.js +267 -0
- package/dist/lock-service/index.js.map +1 -0
- package/dist/parsing/bindings.d.ts +4 -0
- package/dist/parsing/bindings.d.ts.map +1 -0
- package/dist/parsing/bindings.js +17 -0
- package/dist/parsing/bindings.js.map +1 -0
- package/dist/parsing/computed/to-code-computed.d.ts +2 -0
- package/dist/parsing/computed/to-code-computed.d.ts.map +1 -0
- package/dist/parsing/computed/to-code-computed.js +39 -0
- package/dist/parsing/computed/to-code-computed.js.map +1 -0
- package/dist/parsing/computed/to-value-computed.d.ts +4 -0
- package/dist/parsing/computed/to-value-computed.d.ts.map +1 -0
- package/dist/parsing/computed/to-value-computed.js +13 -0
- package/dist/parsing/computed/to-value-computed.js.map +1 -0
- package/dist/parsing/dim/to-code-dimensions.d.ts +3 -0
- package/dist/parsing/dim/to-code-dimensions.d.ts.map +1 -0
- package/dist/parsing/dim/to-code-dimensions.js +22 -0
- package/dist/parsing/dim/to-code-dimensions.js.map +1 -0
- package/dist/parsing/dim/to-value-dimensions.d.ts +4 -0
- package/dist/parsing/dim/to-value-dimensions.d.ts.map +1 -0
- package/dist/parsing/dim/to-value-dimensions.js +39 -0
- package/dist/parsing/dim/to-value-dimensions.js.map +1 -0
- package/dist/parsing/entity/index.d.ts +8 -0
- package/dist/parsing/entity/index.d.ts.map +1 -0
- package/dist/parsing/entity/index.js +8 -0
- package/dist/parsing/entity/index.js.map +1 -0
- package/dist/parsing/entity/to-code-entity.d.ts +3 -0
- package/dist/parsing/entity/to-code-entity.d.ts.map +1 -0
- package/dist/parsing/entity/to-code-entity.js +41 -0
- package/dist/parsing/entity/to-code-entity.js.map +1 -0
- package/dist/parsing/entity/to-value-entity.d.ts +8 -0
- package/dist/parsing/entity/to-value-entity.d.ts.map +1 -0
- package/dist/parsing/entity/to-value-entity.js +120 -0
- package/dist/parsing/entity/to-value-entity.js.map +1 -0
- package/dist/parsing/events/to-code-events.d.ts +3 -0
- package/dist/parsing/events/to-code-events.d.ts.map +1 -0
- package/dist/parsing/events/to-code-events.js +86 -0
- package/dist/parsing/events/to-code-events.js.map +1 -0
- package/dist/parsing/events/to-value-events.d.ts +5 -0
- package/dist/parsing/events/to-value-events.d.ts.map +1 -0
- package/dist/parsing/events/to-value-events.js +157 -0
- package/dist/parsing/events/to-value-events.js.map +1 -0
- package/dist/parsing/ids.d.ts +17 -0
- package/dist/parsing/ids.d.ts.map +1 -0
- package/dist/parsing/ids.js +121 -0
- package/dist/parsing/ids.js.map +1 -0
- package/dist/parsing/imports.d.ts +6 -0
- package/dist/parsing/imports.d.ts.map +1 -0
- package/dist/parsing/imports.js +27 -0
- package/dist/parsing/imports.js.map +1 -0
- package/dist/parsing/jsx-utils.d.ts +9 -0
- package/dist/parsing/jsx-utils.d.ts.map +1 -0
- package/dist/parsing/jsx-utils.js +42 -0
- package/dist/parsing/jsx-utils.js.map +1 -0
- package/dist/parsing/jsx.d.ts +23 -0
- package/dist/parsing/jsx.d.ts.map +1 -0
- package/dist/parsing/jsx.js +329 -0
- package/dist/parsing/jsx.js.map +1 -0
- package/dist/parsing/page.d.ts +9 -0
- package/dist/parsing/page.d.ts.map +1 -0
- package/dist/parsing/page.js +156 -0
- package/dist/parsing/page.js.map +1 -0
- package/dist/parsing/properties.d.ts +5 -0
- package/dist/parsing/properties.d.ts.map +1 -0
- package/dist/parsing/properties.js +89 -0
- package/dist/parsing/properties.js.map +1 -0
- package/dist/parsing/scope.d.ts +81 -0
- package/dist/parsing/scope.d.ts.map +1 -0
- package/dist/parsing/scope.js +575 -0
- package/dist/parsing/scope.js.map +1 -0
- package/dist/parsing/template/to-code-template.d.ts +2 -0
- package/dist/parsing/template/to-code-template.d.ts.map +1 -0
- package/dist/parsing/template/to-code-template.js +5 -0
- package/dist/parsing/template/to-code-template.js.map +1 -0
- package/dist/parsing/template/to-value-template.d.ts +4 -0
- package/dist/parsing/template/to-value-template.d.ts.map +1 -0
- package/dist/parsing/template/to-value-template.js +19 -0
- package/dist/parsing/template/to-value-template.js.map +1 -0
- package/dist/parsing/theme.d.ts +3 -0
- package/dist/parsing/theme.d.ts.map +1 -0
- package/dist/parsing/theme.js +87 -0
- package/dist/parsing/theme.js.map +1 -0
- package/dist/parsing/type-parsing-registry.d.ts +18 -0
- package/dist/parsing/type-parsing-registry.d.ts.map +1 -0
- package/dist/parsing/type-parsing-registry.js +31 -0
- package/dist/parsing/type-parsing-registry.js.map +1 -0
- package/dist/parsing/util.d.ts +31 -0
- package/dist/parsing/util.d.ts.map +1 -0
- package/dist/parsing/util.js +322 -0
- package/dist/parsing/util.js.map +1 -0
- package/dist/plugin-options.d.ts +25 -0
- package/dist/plugin-options.d.ts.map +1 -0
- package/dist/plugin-options.js +14 -0
- package/dist/plugin-options.js.map +1 -0
- package/dist/refactor/blocks.d.ts +10 -0
- package/dist/refactor/blocks.d.ts.map +1 -0
- package/dist/refactor/blocks.js +214 -0
- package/dist/refactor/blocks.js.map +1 -0
- package/dist/refactor/javascript.d.ts +15 -0
- package/dist/refactor/javascript.d.ts.map +1 -0
- package/dist/refactor/javascript.js +182 -0
- package/dist/refactor/javascript.js.map +1 -0
- package/dist/refactor-jsx.d.ts +28 -0
- package/dist/refactor-jsx.d.ts.map +1 -0
- package/dist/refactor-jsx.js +77 -0
- package/dist/refactor-jsx.js.map +1 -0
- package/dist/rename-manager.d.ts +27 -0
- package/dist/rename-manager.d.ts.map +1 -0
- package/dist/rename-manager.js +140 -0
- package/dist/rename-manager.js.map +1 -0
- package/dist/routing.d.ts +6 -0
- package/dist/routing.d.ts.map +1 -0
- package/dist/routing.js +76 -0
- package/dist/routing.js.map +1 -0
- package/dist/sb-scope-manager.d.ts +102 -0
- package/dist/sb-scope-manager.d.ts.map +1 -0
- package/dist/sb-scope-manager.js +501 -0
- package/dist/sb-scope-manager.js.map +1 -0
- package/dist/socket-manager.d.ts +40 -0
- package/dist/socket-manager.d.ts.map +1 -0
- package/dist/socket-manager.js +174 -0
- package/dist/socket-manager.js.map +1 -0
- package/dist/source-tracker.d.ts +190 -0
- package/dist/source-tracker.d.ts.map +1 -0
- package/dist/source-tracker.js +967 -0
- package/dist/source-tracker.js.map +1 -0
- package/dist/sync-service/download.d.ts +15 -0
- package/dist/sync-service/download.d.ts.map +1 -0
- package/dist/sync-service/download.js +116 -0
- package/dist/sync-service/download.js.map +1 -0
- package/dist/sync-service/draft-helpers.d.ts +68 -0
- package/dist/sync-service/draft-helpers.d.ts.map +1 -0
- package/dist/sync-service/draft-helpers.js +362 -0
- package/dist/sync-service/draft-helpers.js.map +1 -0
- package/dist/sync-service/hash-cache.d.ts +15 -0
- package/dist/sync-service/hash-cache.d.ts.map +1 -0
- package/dist/sync-service/hash-cache.js +58 -0
- package/dist/sync-service/hash-cache.js.map +1 -0
- package/dist/sync-service/hash-dir-tree.d.ts +10 -0
- package/dist/sync-service/hash-dir-tree.d.ts.map +1 -0
- package/dist/sync-service/hash-dir-tree.js +53 -0
- package/dist/sync-service/hash-dir-tree.js.map +1 -0
- package/dist/sync-service/index.d.ts +134 -0
- package/dist/sync-service/index.d.ts.map +1 -0
- package/dist/sync-service/index.js +323 -0
- package/dist/sync-service/index.js.map +1 -0
- package/dist/sync-service/list-dir.d.ts +29 -0
- package/dist/sync-service/list-dir.d.ts.map +1 -0
- package/dist/sync-service/list-dir.js +66 -0
- package/dist/sync-service/list-dir.js.map +1 -0
- package/dist/sync-service/server-rpc/client.d.ts +13 -0
- package/dist/sync-service/server-rpc/client.d.ts.map +1 -0
- package/dist/sync-service/server-rpc/client.js +62 -0
- package/dist/sync-service/server-rpc/client.js.map +1 -0
- package/dist/sync-service/server-rpc/handlers.d.ts +3 -0
- package/dist/sync-service/server-rpc/handlers.d.ts.map +1 -0
- package/dist/sync-service/server-rpc/handlers.js +18 -0
- package/dist/sync-service/server-rpc/handlers.js.map +1 -0
- package/dist/sync-service/snapshot/take-snapshot.d.ts +38 -0
- package/dist/sync-service/snapshot/take-snapshot.d.ts.map +1 -0
- package/dist/sync-service/snapshot/take-snapshot.js +232 -0
- package/dist/sync-service/snapshot/take-snapshot.js.map +1 -0
- package/dist/sync-service/snapshot/types.d.ts +24 -0
- package/dist/sync-service/snapshot/types.d.ts.map +1 -0
- package/dist/sync-service/snapshot/types.js +3 -0
- package/dist/sync-service/snapshot/types.js.map +1 -0
- package/dist/sync-service/snapshot/upload-snapshot.d.ts +5 -0
- package/dist/sync-service/snapshot/upload-snapshot.d.ts.map +1 -0
- package/dist/sync-service/snapshot/upload-snapshot.js +63 -0
- package/dist/sync-service/snapshot/upload-snapshot.js.map +1 -0
- package/dist/traverse.d.ts +6 -0
- package/dist/traverse.d.ts.map +1 -0
- package/dist/traverse.js +7 -0
- package/dist/traverse.js.map +1 -0
- package/dist/util/generation-number-sequence.d.ts +7 -0
- package/dist/util/generation-number-sequence.d.ts.map +1 -0
- package/dist/util/generation-number-sequence.js +13 -0
- package/dist/util/generation-number-sequence.js.map +1 -0
- package/dist/util/logger.d.ts +22 -0
- package/dist/util/logger.d.ts.map +1 -0
- package/dist/util/logger.js +64 -0
- package/dist/util/logger.js.map +1 -0
- package/dist/util/operation-queue.d.ts +17 -0
- package/dist/util/operation-queue.d.ts.map +1 -0
- package/dist/util/operation-queue.js +27 -0
- package/dist/util/operation-queue.js.map +1 -0
- package/dist/util/tracing.d.ts +4 -0
- package/dist/util/tracing.d.ts.map +1 -0
- package/dist/util/tracing.js +19 -0
- package/dist/util/tracing.js.map +1 -0
- package/dist/util/with-resolvers.d.ts +10 -0
- package/dist/util/with-resolvers.d.ts.map +1 -0
- package/dist/util/with-resolvers.js +14 -0
- package/dist/util/with-resolvers.js.map +1 -0
- package/dist/util.d.ts +26 -0
- package/dist/util.d.ts.map +1 -0
- package/dist/util.js +82 -0
- package/dist/util.js.map +1 -0
- package/package.json +126 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-sdk-prompt.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/to-sdk-prompt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAsB,cAAc,EAAE,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,8BAA8B,GACzC,cAAc,cAAc,EAAE,KAC7B,MAAM,EAkBR,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { datasourceSdkClassByType, openApiIntegrationTypes } from "./const.js";
|
|
2
|
+
export const integrationsToSdkPromptContent = (integrations) => {
|
|
3
|
+
const integrationsBySdkClassName = integrations.reduce((acc, integration) => {
|
|
4
|
+
const sdkClassName = getSdkClassName(integration.type);
|
|
5
|
+
if (!sdkClassName) {
|
|
6
|
+
return acc;
|
|
7
|
+
}
|
|
8
|
+
acc[sdkClassName] = [...(acc[sdkClassName] ?? []), integration];
|
|
9
|
+
return acc;
|
|
10
|
+
}, {});
|
|
11
|
+
return Object.entries(integrationsBySdkClassName).map(([sdkClassName, integrations]) => {
|
|
12
|
+
return formatSdkClassContent(sdkClassName, integrations);
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
const formatSdkClassContent = (sdkClassName, integrations) => {
|
|
16
|
+
const metadataById = integrations.reduce((acc, integration) => {
|
|
17
|
+
acc[integration.id] = {
|
|
18
|
+
name: integration.name,
|
|
19
|
+
...(integration.metadata ?? {}),
|
|
20
|
+
};
|
|
21
|
+
return acc;
|
|
22
|
+
}, {});
|
|
23
|
+
return `class ${sdkClassName} extends Block {
|
|
24
|
+
static integrations: Integrations = ${JSON.stringify(metadataById, null, 2)};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @param {string} name The name of the block.
|
|
28
|
+
* @param {string} integration The name of the integration.
|
|
29
|
+
* @param {object} config The config object.
|
|
30
|
+
* @returns {void}
|
|
31
|
+
*/
|
|
32
|
+
constructor(name: string, integration: Integration, config: {
|
|
33
|
+
statement: Binding<string>
|
|
34
|
+
}) { /* ... */ }
|
|
35
|
+
}`;
|
|
36
|
+
};
|
|
37
|
+
const getSdkClassName = (integrationType) => {
|
|
38
|
+
let effectiveType = integrationType;
|
|
39
|
+
if (openApiIntegrationTypes.includes(effectiveType)) {
|
|
40
|
+
effectiveType = "restapiintegration";
|
|
41
|
+
}
|
|
42
|
+
if (effectiveType in datasourceSdkClassByType) {
|
|
43
|
+
return datasourceSdkClassByType[effectiveType];
|
|
44
|
+
}
|
|
45
|
+
return null;
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=to-sdk-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-sdk-prompt.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/to-sdk-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAG/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,YAA8B,EACpB,EAAE;IACZ,MAAM,0BAA0B,GAAG,YAAY,CAAC,MAAM,CACpD,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;QACnB,MAAM,YAAY,GAAG,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;QAChE,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAsC,CACvC,CAAC;IAEF,OAAO,MAAM,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,CACnD,CAAC,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,EAAE;QAC/B,OAAO,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IAC3D,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,YAAoB,EACpB,YAA8B,EAC9B,EAAE;IACF,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACtC,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE;QACnB,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG;YACpB,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,GAAG,CAAC,WAAW,CAAC,QAAQ,IAAI,EAAE,CAAC;SAChC,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAyB,CAC1B,CAAC;IAEF,OAAO,SAAS,YAAY;0CACY,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;;;;;;;IAW3E,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,eAAuB,EACI,EAAE;IAC7B,IAAI,aAAa,GAAG,eAAe,CAAC;IACpC,IAAI,uBAAuB,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACpD,aAAa,GAAG,oBAAoB,CAAC;IACvC,CAAC;IAED,IAAI,aAAa,IAAI,wBAAwB,EAAE,CAAC;QAC9C,OAAO,wBAAwB,CAC7B,aAAsD,CACvD,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { databaseIntegrationTypes, datasourceSdkClassByType } from "./const.js";
|
|
2
|
+
export interface SdkIntegrationColumn {
|
|
3
|
+
name: string;
|
|
4
|
+
type: string;
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
}
|
|
7
|
+
export interface SdkIntegrationTable {
|
|
8
|
+
type: string;
|
|
9
|
+
name: string;
|
|
10
|
+
schema: string;
|
|
11
|
+
columns: SdkIntegrationColumn[];
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}
|
|
14
|
+
export type SdkIntegrationType = keyof typeof datasourceSdkClassByType;
|
|
15
|
+
export type DatabaseSdkIntegrationType = (typeof databaseIntegrationTypes)[number];
|
|
16
|
+
export interface SdkIntegration {
|
|
17
|
+
name: string;
|
|
18
|
+
id: string;
|
|
19
|
+
type: SdkIntegrationType;
|
|
20
|
+
metadata: Record<string, any>;
|
|
21
|
+
}
|
|
22
|
+
export interface DatabaseSdkIntegration extends SdkIntegration {
|
|
23
|
+
type: DatabaseSdkIntegrationType;
|
|
24
|
+
metadata: {
|
|
25
|
+
schema: {
|
|
26
|
+
tables: SdkIntegrationTable[];
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export type DatasourceSdkClass = (typeof datasourceSdkClassByType)[SdkIntegrationType];
|
|
31
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai-service/integrations/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,OAAO,wBAAwB,CAAC;AAEvE,MAAM,MAAM,0BAA0B,GACpC,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAuB,SAAQ,cAAc;IAC5D,IAAI,EAAE,0BAA0B,CAAC;IACjC,QAAQ,EAAE;QACR,MAAM,EAAE;YACN,MAAM,EAAE,mBAAmB,EAAE,CAAC;SAC/B,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,GAC5B,CAAC,OAAO,wBAAwB,CAAC,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ai-service/integrations/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const superblocksApiPrompt = "\n#### Example of creating and then registering a Superblocks API:\n\nCreating the API by adding the myApi.ts file:\n\n```ts\n// Path to this api: /pages/Page1/apis/myApi.ts\n\nimport {\n Conditional,\n Condition,\n PostgreSQL,\n JavaScript,\n Api,\n} from \"@superblocksteam/library\";\n\nexport default new Api(\"myApi\", [\n new Conditional(\"my_conditional\", {\n if: Condition(true, [\n new PostgreSQL(\"retrieve_orders\", \"integration_goes_here\", {\n statement: \"SELECT * FROM orders\",\n }),\n ]),\n else: [\n new JavaScript(\"fallthrough\", () => \"we did not execute the sql query\"),\n ],\n }),\n]);\n```\n\nThen registering the myApi API inside the registerPage call, and executing it when an SbButton is clicked:\n\n```tsx\n// /pages/Page1/index.tsx\n\nimport { SbPage, SbApi, SbTable } from \"@superblocksteam/library\";\nimport { registerPage, showAlert } from \"@superblocksteam/library\";\n\nimport MyExampleAPI from \"./apis/example\";\n\nconst Page1 = () => (\n <SbPage>\n <SbButton\n // APIs can be invoked with the SBEventFlow API.\n onClick={SbEventFlow.runApis([\"myApi\"])}\n />\n <SbTable\n // APIs are part of the state object just like components\n tableData={(state) => state.myApi.response}\n />\n </SbPage>\n);\n\nexport default registerPage(\n Page1,\n {\n name: \"MyPage\",\n // You register APIs just like you would SbVariables\n myApi: SbApi(MyExampleAPI),\n },\n);\n```\n\n#### The Superblocks API TypeScript Type\n\nBelow is the full TypeScript spec for the APIs you create:\n\n```ts\n// @superblocksteam/types\n\nexport type JsonValue = undefined | null | number | string | boolean | JsonValue[] | object;\n\nclass Block {\n constructor(name: string) {}\n public run(): { output: JsonValue } { /* ... */ }\n}\n\ntype State = Record<string, JsonValue>\n\nclass JavaScript extends Block {\n constructor(name: string, config: { fn: ({ /* ... */ }) => JsonValue }) { /* ... */ }\n}\n\ntype Integration = string\ntype Integrations = Record<Integration, JsonValue>;\n\nclass PostgreSQL extends Block {\n static integrations: Integrations = {\n \"eacaad74-192a-4a55-bbfd-3bdd3a6dfd53\": {\n \"schema\": {\n \"tables\": [\n {\n \"type\": \"TABLE\",\n \"name\": \"orders\",\n \"columns\": [\n {\n \"name\": \"id\",\n \"type\": \"int4\",\n },\n {\n \"name\": \"user_id\",\n \"type\": \"int8\",\n },\n {\n \"name\": \"product\",\n \"type\": \"varchar\",\n },\n {\n \"name\": \"date_purchased\",\n \"type\": \"date\",\n },\n {\n \"name\": \"user_email\",\n \"type\": \"varchar\",\n },\n {\n \"name\": \"price\",\n \"type\": \"float8\",\n },\n ],\n \"schema\": \"public\",\n }\n ],\n }\n }\n }\n\n /**\n * @param {string} name The name of the block.\n * @param {string} integration The name of the integration.\n * @param {object} config The config object.\n * @returns {void}\n */\n constructor(name: string, integration: Integration, config: {\n statement: string\n }) { super(name) }\n}\n\nclass RestApi extends Block {\n constructor(\n name: string,\n config: {\n method: \"GET\" | \"POST\" | \"PUT\" | \"DELETE\" | \"PATCH\" | \"OPTIONS\" | \"HEAD\" | \"TRACE\" | \"CONNECT\";\n url: string | (({ /* ... */ }) => string);\n },\n ) { super(name) }\n}\n\nclass Email extends Block {\n constructor(name: string, config: {\n from: string\n to: string\n subject: string\n cc?: string[]\n bcc?: string[]\n body?: string | JsonValue | (({ /* ... */ }) => string | JsonValue)\n }) { super(name) }\n}\n\nexport type Condition = {\n when: boolean | ((state: State) => boolean);\n then: Block[];\n};\n\nexport type Conditions = {\n if: Condition;\n elif?: Condition[];\n else?: Block[];\n};\n\nclass Conditional extends Block {\n constructor(name: string, config: Conditions) { super(name) }\n}\n\nclass TryCatch extends Block {\n constructor(name: string, config: { try: Block[]; catch: Block[]; finally?: Block[] }) { super(name) }\n}\n\n/**\n * A Superblocks variable has the following access pattern:\n *\n * How to retrieve the value of a variable:\n * ```ts\n * CORRECT\n * my_variable.value\n *\n * // INCORRECT\n * my_variable\n * ```\n *\n * How to set the value of a variable:\n * ```ts\n * CORRECT\n * my_variable.set(value)\n *\n * // INCORRECT\n * my_variable = value\n * ```\n */\nclass Variables extends Block {\n constructor(name: string, variables: {\n // The key is the name of the variable.\n // The value is the value of the variable.\n [key: string]: JsonValue | (({ /* ... */ }) => JsonValue)\n }) { super(name) }\n}\n\nclass Loop extends Block {\n constructor(\n name: string,\n // You can either loop over a certain number or times, over an array, or forever until the condition is false.\n over: number | (({ /* ... */ }) => number) | JsonValue[] | (({ /* ... */ }) => JsonValue[]) | boolean | (({ /* ... */ }) => boolean),\n variables: {\n // What the variable name for the current item is.\n item: string,\n // What the variable name for the current index is.\n index: number,\n },\n blocks: Block[]\n ) { super(name) }\n}\n\nclass Parallel extends Block {\n constructor(\n name: string,\n over: JsonValue[] | (({ /* ... */ }) => JsonValue[]),\n variables: {\n // What the variable name for the current item is.\n item: string,\n },\n blocks: Block[],\n ) { super(name) }\n}\n\nclass Api {\n constructor(name: string, steps: Block[]) {}\n public get response(): JsonValue { /* ... */ }\n public get error(): string | undefined { /* ... */ }\n public run(): void { /* ... */ }\n public cancel(): void { /* ... */ }\n}\n```\n\n#### Example Usage\n\nBelow are examples of how you create Superblocks APIs, along with annotations to describe different pieces of functinality and expectations.\n\n##### Example 1: Simple API with conditional\n\n```ts\n// Path to this api would be: /pages/Page1/apis/getOrders.ts\n\nimport {\n Conditional,\n Condition,\n PostgreSQL,\n JavaScript,\n Api,\n} from \"@superblocksteam/library\";\n\nexport default new Api(\n \"getOrders\",\n [\n new Conditional(\"my_conditional\", {\n if: {\n when: true,\n then: [\n new PostgreSQL(\"retrieve_orders\", \"integration_goes_here\", {\n statement: 'SELECT * FROM orders'\n })\n ]\n },\n else: [\n new JavaScript(\"fallthrough\", { fn: () => \"we did not execute the sql query\" })\n ]\n })\n ]\n)\n```\n\nTo run register and run the API we defined above:\n\n```tsx\n// /pages/Page1/index.tsx\n\nimport { SbPage, SbApi, SbTable, SbButton } from \"@superblocksteam/library\";\nimport { registerPage, showAlert } from \"@superblocksteam/library\";\n\nimport getOrders from \"./apis/getOrders\";\n\nconst Page1 = () => (\n <SbPage>\n <SbButton\n // APIs can be invoked with the SBEventFlow API.\n onClick={SbEventFlow.runApis([\"getOrders\"])}\n />\n // ...\n <SbTable>\n // APIs are part of the state object just like components. tableData=\n {(state) => state.getOrders.response}\n </SbTable>\n </SbPage>\n);\n\nexport default registerPage(\n Page1,\n {\n name: \"MyPage\",\n // You register APIs just like you would SbVariables.\n getOrders: SbApi(getOrders),\n },\n);\n```\n\n##### Example 2: API where steps reference outputs of previous steps\n\nThink hard about how you access the output of previous steps. You MUST use the output property of the previous step variable. There is no other way to access the output of a previous step (other than using a Variable block, but that is not what you want in this case and should only be used in very specific cases).\n\n```ts\n// Path to this api would be: /pages/Page1/apis/getOrders.ts\n\nimport {\n PostgreSQL,\n JavaScript,\n Api,\n} from \"@superblocksteam/library\";\n\nexport default new Api(\n \"getOrders\",\n [\n new PostgreSQL(\"retrieve_orders\", \"integration_goes_here\", {\n statement: 'SELECT * FROM orders'\n }),\n new JavaScript(\"format_orders\", ({ retrieve_orders }) => {\n // Format the orders data with dates\n // we access the output of the retrieve_orders block using the output property of the retrieve_orders variable\n return retrieve_orders.output.map(order => ({\n ...order,\n date: new Date(order.date).toLocaleDateString()\n }));\n })\n ]\n)\n```\n\nThen you would register the api as normal in the page file inside the registerPage function call, same as the first example.\n\n#### Control Flow blocks\n\nThe API blocks that are considered \"Control Flow\" blocks are:\n\n- Conditional\n- Loop\n- TryCatch\n- Parallel\n\n#### Rules for using Superblocks APIs\n\nThink hard about the following important rules for correctly using Superblocks APIs:\n\n- You must use a deconstructed state object as the function parameter for dynamic block fields. The valid keys are (1) Superblocks entities (components, variables, etc) and (2) previous block outputs that are in the lexial scope. Example below:\n\n```ts\n// CORRECT: uses deconstructed state\n({ Dropdown1, TextInput1 }) => Dropdown1.selectedOptionsValue + TextInput1.value\n\n// INCORRECT: uses state object directly\n(state) => state.Dropdown1.selectedOptionsValue + state.TextInput1.value\n```\n\n- APIs have lexical scope. For example, blocks in the if-statement of a conditional block will not have access to the state of the else-block.\n\n- Block outputs are immutable. Do not mutate the output of a block.\n\n- The output for a control flow block is the output of the last child block inside of that control flow block.\n\n- Favor the defined control flow blocks (conditional, loop, try-catch) over using the JavaScript block to try and control the flow of your API. This allows you to use Superblocks integrations more easily and allows the user to more easily maintain the API.\n\n- Backend APIs CANNOT mutate frontend state inside of the API.\n\n- You will not always be told which integrations to use in your API; you will have to determine that yourself based on the data you need to fetch.\n\n- Never add comments to code you generate.\n";
|
|
2
|
+
//# sourceMappingURL=superblocks-api-draft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"superblocks-api-draft.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompts/draft-subprompts/superblocks-api-draft.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,oBAAoB,0vWA+XhC,CAAC"}
|
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
// This includes some content for other types of blocks that are not yet supported: basically anything other than JS blocks
|
|
2
|
+
export const superblocksApiPrompt = /*md*/ `
|
|
3
|
+
#### Example of creating and then registering a Superblocks API:
|
|
4
|
+
|
|
5
|
+
Creating the API by adding the myApi.ts file:
|
|
6
|
+
|
|
7
|
+
\`\`\`ts
|
|
8
|
+
// Path to this api: /pages/Page1/apis/myApi.ts
|
|
9
|
+
|
|
10
|
+
import {
|
|
11
|
+
Conditional,
|
|
12
|
+
Condition,
|
|
13
|
+
PostgreSQL,
|
|
14
|
+
JavaScript,
|
|
15
|
+
Api,
|
|
16
|
+
} from "@superblocksteam/library";
|
|
17
|
+
|
|
18
|
+
export default new Api("myApi", [
|
|
19
|
+
new Conditional("my_conditional", {
|
|
20
|
+
if: Condition(true, [
|
|
21
|
+
new PostgreSQL("retrieve_orders", "integration_goes_here", {
|
|
22
|
+
statement: "SELECT * FROM orders",
|
|
23
|
+
}),
|
|
24
|
+
]),
|
|
25
|
+
else: [
|
|
26
|
+
new JavaScript("fallthrough", () => "we did not execute the sql query"),
|
|
27
|
+
],
|
|
28
|
+
}),
|
|
29
|
+
]);
|
|
30
|
+
\`\`\`
|
|
31
|
+
|
|
32
|
+
Then registering the myApi API inside the registerPage call, and executing it when an SbButton is clicked:
|
|
33
|
+
|
|
34
|
+
\`\`\`tsx
|
|
35
|
+
// /pages/Page1/index.tsx
|
|
36
|
+
|
|
37
|
+
import { SbPage, SbApi, SbTable } from "@superblocksteam/library";
|
|
38
|
+
import { registerPage, showAlert } from "@superblocksteam/library";
|
|
39
|
+
|
|
40
|
+
import MyExampleAPI from "./apis/example";
|
|
41
|
+
|
|
42
|
+
const Page1 = () => (
|
|
43
|
+
<SbPage>
|
|
44
|
+
<SbButton
|
|
45
|
+
// APIs can be invoked with the SBEventFlow API.
|
|
46
|
+
onClick={SbEventFlow.runApis(["myApi"])}
|
|
47
|
+
/>
|
|
48
|
+
<SbTable
|
|
49
|
+
// APIs are part of the state object just like components
|
|
50
|
+
tableData={(state) => state.myApi.response}
|
|
51
|
+
/>
|
|
52
|
+
</SbPage>
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
export default registerPage(
|
|
56
|
+
Page1,
|
|
57
|
+
{
|
|
58
|
+
name: "MyPage",
|
|
59
|
+
// You register APIs just like you would SbVariables
|
|
60
|
+
myApi: SbApi(MyExampleAPI),
|
|
61
|
+
},
|
|
62
|
+
);
|
|
63
|
+
\`\`\`
|
|
64
|
+
|
|
65
|
+
#### The Superblocks API TypeScript Type
|
|
66
|
+
|
|
67
|
+
Below is the full TypeScript spec for the APIs you create:
|
|
68
|
+
|
|
69
|
+
\`\`\`ts
|
|
70
|
+
// @superblocksteam/types
|
|
71
|
+
|
|
72
|
+
export type JsonValue = undefined | null | number | string | boolean | JsonValue[] | object;
|
|
73
|
+
|
|
74
|
+
class Block {
|
|
75
|
+
constructor(name: string) {}
|
|
76
|
+
public run(): { output: JsonValue } { /* ... */ }
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
type State = Record<string, JsonValue>
|
|
80
|
+
|
|
81
|
+
class JavaScript extends Block {
|
|
82
|
+
constructor(name: string, config: { fn: ({ /* ... */ }) => JsonValue }) { /* ... */ }
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
type Integration = string
|
|
86
|
+
type Integrations = Record<Integration, JsonValue>;
|
|
87
|
+
|
|
88
|
+
class PostgreSQL extends Block {
|
|
89
|
+
static integrations: Integrations = {
|
|
90
|
+
"eacaad74-192a-4a55-bbfd-3bdd3a6dfd53": {
|
|
91
|
+
"schema": {
|
|
92
|
+
"tables": [
|
|
93
|
+
{
|
|
94
|
+
"type": "TABLE",
|
|
95
|
+
"name": "orders",
|
|
96
|
+
"columns": [
|
|
97
|
+
{
|
|
98
|
+
"name": "id",
|
|
99
|
+
"type": "int4",
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"name": "user_id",
|
|
103
|
+
"type": "int8",
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "product",
|
|
107
|
+
"type": "varchar",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"name": "date_purchased",
|
|
111
|
+
"type": "date",
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "user_email",
|
|
115
|
+
"type": "varchar",
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "price",
|
|
119
|
+
"type": "float8",
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
"schema": "public",
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* @param {string} name The name of the block.
|
|
131
|
+
* @param {string} integration The name of the integration.
|
|
132
|
+
* @param {object} config The config object.
|
|
133
|
+
* @returns {void}
|
|
134
|
+
*/
|
|
135
|
+
constructor(name: string, integration: Integration, config: {
|
|
136
|
+
statement: string
|
|
137
|
+
}) { super(name) }
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
class RestApi extends Block {
|
|
141
|
+
constructor(
|
|
142
|
+
name: string,
|
|
143
|
+
config: {
|
|
144
|
+
method: "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "OPTIONS" | "HEAD" | "TRACE" | "CONNECT";
|
|
145
|
+
url: string | (({ /* ... */ }) => string);
|
|
146
|
+
},
|
|
147
|
+
) { super(name) }
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
class Email extends Block {
|
|
151
|
+
constructor(name: string, config: {
|
|
152
|
+
from: string
|
|
153
|
+
to: string
|
|
154
|
+
subject: string
|
|
155
|
+
cc?: string[]
|
|
156
|
+
bcc?: string[]
|
|
157
|
+
body?: string | JsonValue | (({ /* ... */ }) => string | JsonValue)
|
|
158
|
+
}) { super(name) }
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export type Condition = {
|
|
162
|
+
when: boolean | ((state: State) => boolean);
|
|
163
|
+
then: Block[];
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
export type Conditions = {
|
|
167
|
+
if: Condition;
|
|
168
|
+
elif?: Condition[];
|
|
169
|
+
else?: Block[];
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
class Conditional extends Block {
|
|
173
|
+
constructor(name: string, config: Conditions) { super(name) }
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
class TryCatch extends Block {
|
|
177
|
+
constructor(name: string, config: { try: Block[]; catch: Block[]; finally?: Block[] }) { super(name) }
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* A Superblocks variable has the following access pattern:
|
|
182
|
+
*
|
|
183
|
+
* How to retrieve the value of a variable:
|
|
184
|
+
* \`\`\`ts
|
|
185
|
+
* CORRECT
|
|
186
|
+
* my_variable.value
|
|
187
|
+
*
|
|
188
|
+
* // INCORRECT
|
|
189
|
+
* my_variable
|
|
190
|
+
* \`\`\`
|
|
191
|
+
*
|
|
192
|
+
* How to set the value of a variable:
|
|
193
|
+
* \`\`\`ts
|
|
194
|
+
* CORRECT
|
|
195
|
+
* my_variable.set(value)
|
|
196
|
+
*
|
|
197
|
+
* // INCORRECT
|
|
198
|
+
* my_variable = value
|
|
199
|
+
* \`\`\`
|
|
200
|
+
*/
|
|
201
|
+
class Variables extends Block {
|
|
202
|
+
constructor(name: string, variables: {
|
|
203
|
+
// The key is the name of the variable.
|
|
204
|
+
// The value is the value of the variable.
|
|
205
|
+
[key: string]: JsonValue | (({ /* ... */ }) => JsonValue)
|
|
206
|
+
}) { super(name) }
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
class Loop extends Block {
|
|
210
|
+
constructor(
|
|
211
|
+
name: string,
|
|
212
|
+
// You can either loop over a certain number or times, over an array, or forever until the condition is false.
|
|
213
|
+
over: number | (({ /* ... */ }) => number) | JsonValue[] | (({ /* ... */ }) => JsonValue[]) | boolean | (({ /* ... */ }) => boolean),
|
|
214
|
+
variables: {
|
|
215
|
+
// What the variable name for the current item is.
|
|
216
|
+
item: string,
|
|
217
|
+
// What the variable name for the current index is.
|
|
218
|
+
index: number,
|
|
219
|
+
},
|
|
220
|
+
blocks: Block[]
|
|
221
|
+
) { super(name) }
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
class Parallel extends Block {
|
|
225
|
+
constructor(
|
|
226
|
+
name: string,
|
|
227
|
+
over: JsonValue[] | (({ /* ... */ }) => JsonValue[]),
|
|
228
|
+
variables: {
|
|
229
|
+
// What the variable name for the current item is.
|
|
230
|
+
item: string,
|
|
231
|
+
},
|
|
232
|
+
blocks: Block[],
|
|
233
|
+
) { super(name) }
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
class Api {
|
|
237
|
+
constructor(name: string, steps: Block[]) {}
|
|
238
|
+
public get response(): JsonValue { /* ... */ }
|
|
239
|
+
public get error(): string | undefined { /* ... */ }
|
|
240
|
+
public run(): void { /* ... */ }
|
|
241
|
+
public cancel(): void { /* ... */ }
|
|
242
|
+
}
|
|
243
|
+
\`\`\`
|
|
244
|
+
|
|
245
|
+
#### Example Usage
|
|
246
|
+
|
|
247
|
+
Below are examples of how you create Superblocks APIs, along with annotations to describe different pieces of functinality and expectations.
|
|
248
|
+
|
|
249
|
+
##### Example 1: Simple API with conditional
|
|
250
|
+
|
|
251
|
+
\`\`\`ts
|
|
252
|
+
// Path to this api would be: /pages/Page1/apis/getOrders.ts
|
|
253
|
+
|
|
254
|
+
import {
|
|
255
|
+
Conditional,
|
|
256
|
+
Condition,
|
|
257
|
+
PostgreSQL,
|
|
258
|
+
JavaScript,
|
|
259
|
+
Api,
|
|
260
|
+
} from "@superblocksteam/library";
|
|
261
|
+
|
|
262
|
+
export default new Api(
|
|
263
|
+
"getOrders",
|
|
264
|
+
[
|
|
265
|
+
new Conditional("my_conditional", {
|
|
266
|
+
if: {
|
|
267
|
+
when: true,
|
|
268
|
+
then: [
|
|
269
|
+
new PostgreSQL("retrieve_orders", "integration_goes_here", {
|
|
270
|
+
statement: 'SELECT * FROM orders'
|
|
271
|
+
})
|
|
272
|
+
]
|
|
273
|
+
},
|
|
274
|
+
else: [
|
|
275
|
+
new JavaScript("fallthrough", { fn: () => "we did not execute the sql query" })
|
|
276
|
+
]
|
|
277
|
+
})
|
|
278
|
+
]
|
|
279
|
+
)
|
|
280
|
+
\`\`\`
|
|
281
|
+
|
|
282
|
+
To run register and run the API we defined above:
|
|
283
|
+
|
|
284
|
+
\`\`\`tsx
|
|
285
|
+
// /pages/Page1/index.tsx
|
|
286
|
+
|
|
287
|
+
import { SbPage, SbApi, SbTable, SbButton } from "@superblocksteam/library";
|
|
288
|
+
import { registerPage, showAlert } from "@superblocksteam/library";
|
|
289
|
+
|
|
290
|
+
import getOrders from "./apis/getOrders";
|
|
291
|
+
|
|
292
|
+
const Page1 = () => (
|
|
293
|
+
<SbPage>
|
|
294
|
+
<SbButton
|
|
295
|
+
// APIs can be invoked with the SBEventFlow API.
|
|
296
|
+
onClick={SbEventFlow.runApis(["getOrders"])}
|
|
297
|
+
/>
|
|
298
|
+
// ...
|
|
299
|
+
<SbTable>
|
|
300
|
+
// APIs are part of the state object just like components. tableData=
|
|
301
|
+
{(state) => state.getOrders.response}
|
|
302
|
+
</SbTable>
|
|
303
|
+
</SbPage>
|
|
304
|
+
);
|
|
305
|
+
|
|
306
|
+
export default registerPage(
|
|
307
|
+
Page1,
|
|
308
|
+
{
|
|
309
|
+
name: "MyPage",
|
|
310
|
+
// You register APIs just like you would SbVariables.
|
|
311
|
+
getOrders: SbApi(getOrders),
|
|
312
|
+
},
|
|
313
|
+
);
|
|
314
|
+
\`\`\`
|
|
315
|
+
|
|
316
|
+
##### Example 2: API where steps reference outputs of previous steps
|
|
317
|
+
|
|
318
|
+
Think hard about how you access the output of previous steps. You MUST use the output property of the previous step variable. There is no other way to access the output of a previous step (other than using a Variable block, but that is not what you want in this case and should only be used in very specific cases).
|
|
319
|
+
|
|
320
|
+
\`\`\`ts
|
|
321
|
+
// Path to this api would be: /pages/Page1/apis/getOrders.ts
|
|
322
|
+
|
|
323
|
+
import {
|
|
324
|
+
PostgreSQL,
|
|
325
|
+
JavaScript,
|
|
326
|
+
Api,
|
|
327
|
+
} from "@superblocksteam/library";
|
|
328
|
+
|
|
329
|
+
export default new Api(
|
|
330
|
+
"getOrders",
|
|
331
|
+
[
|
|
332
|
+
new PostgreSQL("retrieve_orders", "integration_goes_here", {
|
|
333
|
+
statement: 'SELECT * FROM orders'
|
|
334
|
+
}),
|
|
335
|
+
new JavaScript("format_orders", ({ retrieve_orders }) => {
|
|
336
|
+
// Format the orders data with dates
|
|
337
|
+
// we access the output of the retrieve_orders block using the output property of the retrieve_orders variable
|
|
338
|
+
return retrieve_orders.output.map(order => ({
|
|
339
|
+
...order,
|
|
340
|
+
date: new Date(order.date).toLocaleDateString()
|
|
341
|
+
}));
|
|
342
|
+
})
|
|
343
|
+
]
|
|
344
|
+
)
|
|
345
|
+
\`\`\`
|
|
346
|
+
|
|
347
|
+
Then you would register the api as normal in the page file inside the registerPage function call, same as the first example.
|
|
348
|
+
|
|
349
|
+
#### Control Flow blocks
|
|
350
|
+
|
|
351
|
+
The API blocks that are considered "Control Flow" blocks are:
|
|
352
|
+
|
|
353
|
+
- Conditional
|
|
354
|
+
- Loop
|
|
355
|
+
- TryCatch
|
|
356
|
+
- Parallel
|
|
357
|
+
|
|
358
|
+
#### Rules for using Superblocks APIs
|
|
359
|
+
|
|
360
|
+
Think hard about the following important rules for correctly using Superblocks APIs:
|
|
361
|
+
|
|
362
|
+
- You must use a deconstructed state object as the function parameter for dynamic block fields. The valid keys are (1) Superblocks entities (components, variables, etc) and (2) previous block outputs that are in the lexial scope. Example below:
|
|
363
|
+
|
|
364
|
+
\`\`\`ts
|
|
365
|
+
// CORRECT: uses deconstructed state
|
|
366
|
+
({ Dropdown1, TextInput1 }) => Dropdown1.selectedOptionsValue + TextInput1.value
|
|
367
|
+
|
|
368
|
+
// INCORRECT: uses state object directly
|
|
369
|
+
(state) => state.Dropdown1.selectedOptionsValue + state.TextInput1.value
|
|
370
|
+
\`\`\`
|
|
371
|
+
|
|
372
|
+
- APIs have lexical scope. For example, blocks in the if-statement of a conditional block will not have access to the state of the else-block.
|
|
373
|
+
|
|
374
|
+
- Block outputs are immutable. Do not mutate the output of a block.
|
|
375
|
+
|
|
376
|
+
- The output for a control flow block is the output of the last child block inside of that control flow block.
|
|
377
|
+
|
|
378
|
+
- Favor the defined control flow blocks (conditional, loop, try-catch) over using the JavaScript block to try and control the flow of your API. This allows you to use Superblocks integrations more easily and allows the user to more easily maintain the API.
|
|
379
|
+
|
|
380
|
+
- Backend APIs CANNOT mutate frontend state inside of the API.
|
|
381
|
+
|
|
382
|
+
- You will not always be told which integrations to use in your API; you will have to determine that yourself based on the data you need to fetch.
|
|
383
|
+
|
|
384
|
+
- Never add comments to code you generate.
|
|
385
|
+
`;
|
|
386
|
+
//# sourceMappingURL=superblocks-api-draft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"superblocks-api-draft.js","sourceRoot":"","sources":["../../../../src/ai-service/prompts/draft-subprompts/superblocks-api-draft.ts"],"names":[],"mappings":"AAAA,2HAA2H;AAE3H,MAAM,CAAC,MAAM,oBAAoB,GAAG,MAAM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+X1C,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const superblocksLayoutsPrompt = "\n### Layout and Sizing in Superblocks\n\nAll layouts in Superblocks are configured through the `SbContainer` component. \n`SbContainer` provides both layout and optional visual styling.\n\n```jsx\n<SbContainer\n variant=\"card\" | \"none\" // default is \"none\"\n layout=\"vertical\" | \"horizontal\" | \"freeform\" // default is \"vertical\"\n>\n {/* Children here */}\n</SbContainer>\n```\n\nWe have three main layout options in Superblocks:\n\n- Vertical Stack (`vertical`)\n- Horizontal Stack (`horizontal`)\n- Free form (`freeform`)\n\nFor new designs, we recommend using Stacks for most use cases.\n\nThe `variant` prop is optional and can be set to `\"card\"` or `\"none\"`. Default is `\"none\"`.\n`\"card\"` applies a card-like visual style to the container, such as rounded corners, white background, and padding.\n\n---\n\n### Height and Width Options\n\nAll Superblocks components support width and height. They take in a `Dim` object, which has 3 main options:\n\n- `Dim.fit()`: Fit to content size, this is the default behavior and can be omitted.\n- `Dim.px(100)`: Fixed pixel size.\n- `Dim.fill()` or `Dim.fill(2)`: Fill available space with an optional weight.\n\n> IMPORTANT: Prefer using `Dim.fit()` over `Dim.px()` for height and width unless you have a specific reason to use fixed pixel sizes. This is extra true for containers\n> IMPORTANT: Prefer using `Dim.fill()` or `Dim.fit()` over `Dim.px()` for width unless you have a specific reason to use fixed pixel sizes.\n\n**Examples**:\n\n```jsx\n<SbText name=\"Text1\" width={Dim.px(2)}>Hello</SbText> // 2 pixels\n<SbText name=\"Text1\" width={Dim.fit()}>Hello</SbText> // Fit to content (default)\n<SbText name=\"Text1\" width={Dim.fill()}>Hello</SbText> // Fill available space, no weight (aka 1)\n<SbText name=\"Text1\" width={Dim.fill(2)}>Hello</SbText> // Fill available space, with weight of 2\n```\n\n---\n\n### 2. **Grid-Specific Width (Columns)**\n\nWhen using `layout=\"freeform\"`, width is based on columns.\n\n- `Dim.columns(10)` specifies the number of columns.\n- Note: `fill`, `fit`, and `px` are not supported for width in grid layouts.\n\n**Example**:\n\n```jsx\n<SbContainer layout=\"freeform\" columns={12}>\n <SbText name=\"Text1\" width={Dim.columns(2)}>\n Hello\n </SbText>\n</SbContainer>\n```\n\n---\n\n### 3. **Height Options with Rows**\n\nWhen using `layout=\"freeform\"`, height can be configured with rows.\n\n- `Dim.rows(2)` specifies the number of rows.\n- `Dim.px(100)` specifies a fixed pixel size.\n- `Dim.fit()` fits to content size (default).\n- `Dim.fill()` is **not supported** for height inside grid layouts.\n\nYou can specify height using rows to override the default `\"fit\"` behavior, similar to pixel-based height.\n\n**Example**:\n\n```jsx\n<SbContainer layout=\"freeform\" columns={12}>\n <SbText name=\"Text1\" height={Dim.rows(2)} width={Dim.columns(2)}>\n Hello\n </SbText>{' '}\n // 2 rows in height, 2 columns in width\n</SbContainer>\n```\n\n---\n\n### 4. **Grid Layout Setup**\n\nA container with `layout=\"freeform\"` can be configured with columns and rows. \nIndividual children inside the container can have margins, constraints, and dynamic sizing options.\n\n```\nSbContainer (layout=\"freeform\") -\n columns: number\n rows: \"auto\" | number // defaults to auto\n row-size: Dim<px> // defaults to 12px\nGridChild (components inside the container) -\n margin-top: Dim<row | px>\n margin-left: Dim<column>\n height: Dim<row | px | fit>\n width: Dim<column>\n constraintTop: GridChild | [GridChild]\n```\n\n---\n\n#### **Grid Example 1: Items Stacked with a Gap**\n\nTwo items stacked vertically, both full width, with a gap of 1.\n\n```\n[ Text1 ]\n[ Text2 ]\n```\n\n```jsx\n<SbContainer layout=\"freeform\" columns={3}>\n <SbText name=\"Text1\" width={Dim.columns(3)}>\n Hello\n </SbText>\n <SbText name=\"Text2\" constraintTop=\"Text1\" width={Dim.columns(3)}>\n World\n </SbText>\n</SbContainer>\n```\n\n---\n\n#### **Grid Example 2: Items Side by Side**\n\nThree items side by side, each taking part of the grid.\n\n```\n[ Text1 ][ Text2 ][ Text3 ]\n```\n\n```jsx\n<SbContainer layout=\"freeform\" columns={4}>\n <SbText name=\"Text1\" width={Dim.columns(2)}>\n Hello\n </SbText>\n <SbText name=\"Text2\" width={Dim.columns(2)} marginLeft={Dim.columns(2)}>\n World\n </SbText>\n <SbText name=\"Text3\" width={Dim.columns(2)} marginLeft={Dim.columns(4)}>\n World\n </SbText>\n</SbContainer>\n```\n\n---\n\n#### **Grid Example 3: Staggered Items**\n\nA staggered layout using constraints and margins.\n\n```\n[ Text1 ]\n[ Text2 ][ Text3 ]\n```\n\n```jsx\n<SbContainer layout=\"freeform\" columns={2}>\n <SbText name=\"Text1\" width={Dim.columns(1)}>\n Hello\n </SbText>\n <SbText name=\"Text2\" width={Dim.columns(1)} constraintTop=\"Text1\">\n World\n </SbText>\n <SbText name=\"Text3\" width={Dim.columns(1)} marginLeft={Dim.columns(1)} marginTop={Dim.rows(1)}>\n World Again\n </SbText>\n</SbContainer>\n```\n\nIn this example:\n\n- `Text2` is constrained to `Text1`.\n- `Text3` is **not constrained** to `Text2`, but uses a margin of 1 row and 1 column.\n- If `Text1` grows in size, `Text2` moves down, but `Text3` stays in place.\n\n#### **Grid Example 4: Key Value Pairs**\n\n[ Key 1 ][ Value 1 ]\n[ Key 2 ][ Value 2 ]\n\n```jsx\n<SbContainer layout=\"freeform\" columns={12}>\n <SbText name=\"Key1\" width={Dim.columns(4)}>\n Key 1\n </SbText>\n <SbText name=\"Value1\" width={Dim.columns(8)} marginLeft={Dim.columns(4)}>\n Value 1\n </SbText>\n <SbText name=\"Key2\" width={Dim.columns(4)} constraintTop=\"Key1\">\n Key 2\n </SbText>\n <SbText name=\"Value2\" width={Dim.columns(8)} marginLeft={Dim.columns(4)} constraintTop=\"Value1\">\n Value 2\n </SbText>\n</SbContainer>\n\nIMPORTANT: The `constraintTop` prop is used to specify the component that this component should be constrained to. You must use and supply names to all components that you want to reference in the `constraintTop` prop.\n```\n\n### Import Location\n\n```ts\nimport { Dim } from '@superblocksteam/library';\n```\n";
|
|
2
|
+
//# sourceMappingURL=superblocks-layouts-with-grid-examples.d.ts.map
|
package/dist/ai-service/prompts/draft-subprompts/superblocks-layouts-with-grid-examples.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"superblocks-layouts-with-grid-examples.d.ts","sourceRoot":"","sources":["../../../../src/ai-service/prompts/draft-subprompts/superblocks-layouts-with-grid-examples.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,k/LAyNpC,CAAC"}
|