@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":"index.js","sourceRoot":"","sources":["../../src/sync-service/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export interface LocalDirEntryFile {
|
|
2
|
+
type: "-";
|
|
3
|
+
executable: boolean;
|
|
4
|
+
name: string;
|
|
5
|
+
localPath: string;
|
|
6
|
+
contents: Buffer;
|
|
7
|
+
}
|
|
8
|
+
export interface LocalDirEntryDirectory {
|
|
9
|
+
type: "d";
|
|
10
|
+
name: string;
|
|
11
|
+
localPath: string;
|
|
12
|
+
}
|
|
13
|
+
export interface LocalDirEntrySymLink {
|
|
14
|
+
type: "l";
|
|
15
|
+
name: string;
|
|
16
|
+
localPath: string;
|
|
17
|
+
target: string;
|
|
18
|
+
}
|
|
19
|
+
export type LocalDirEntry = LocalDirEntryFile | LocalDirEntryDirectory | LocalDirEntrySymLink;
|
|
20
|
+
/**
|
|
21
|
+
* Lists the contents of a local directory. The function will load the contents of files into memory, but as it is a generator, this
|
|
22
|
+
* will happen lazily, so only one file will be loaded into memory at a time. The function will also ignore files in the directories
|
|
23
|
+
* listed in `codeModeExcludedDirectories` and `codeModeExcludedFiles`.
|
|
24
|
+
*
|
|
25
|
+
* @param localDirectoryPath - The path to the local directory to list.
|
|
26
|
+
* @returns An async generator that yields the contents of the directory.
|
|
27
|
+
*/
|
|
28
|
+
export declare function listLocalDirectory(localDirectoryPath: string): AsyncGenerator<LocalDirEntry, void, void>;
|
|
29
|
+
//# sourceMappingURL=list-dir.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-dir.d.ts","sourceRoot":"","sources":["../../src/sync-service/list-dir.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,GAAG,CAAC;IACV,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,sBAAsB,GACtB,oBAAoB,CAAC;AAWzB;;;;;;;GAOG;AACH,wBAAuB,kBAAkB,CACvC,kBAAkB,EAAE,MAAM,GACzB,cAAc,CAAC,aAAa,EAAE,IAAI,EAAE,IAAI,CAAC,CA6C3C"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import * as fsp from "node:fs/promises";
|
|
2
|
+
const codeModeExcludedDirectories = [
|
|
3
|
+
".superblocks",
|
|
4
|
+
".git",
|
|
5
|
+
"node_modules",
|
|
6
|
+
"build",
|
|
7
|
+
];
|
|
8
|
+
const codeModeExcludedFiles = [".env"];
|
|
9
|
+
/**
|
|
10
|
+
* Lists the contents of a local directory. The function will load the contents of files into memory, but as it is a generator, this
|
|
11
|
+
* will happen lazily, so only one file will be loaded into memory at a time. The function will also ignore files in the directories
|
|
12
|
+
* listed in `codeModeExcludedDirectories` and `codeModeExcludedFiles`.
|
|
13
|
+
*
|
|
14
|
+
* @param localDirectoryPath - The path to the local directory to list.
|
|
15
|
+
* @returns An async generator that yields the contents of the directory.
|
|
16
|
+
*/
|
|
17
|
+
export async function* listLocalDirectory(localDirectoryPath) {
|
|
18
|
+
const localDirHandle = await fsp.opendir(localDirectoryPath);
|
|
19
|
+
for await (const localDirEntry of localDirHandle) {
|
|
20
|
+
const name = localDirEntry.name
|
|
21
|
+
// On macOS, filenames in the filesystem are typically stored in decomposed form from a Unicode normalization perspective
|
|
22
|
+
// (i.e. NFD). We need to convert it to precomposed form (i.e. NFC) to match what everything else uses and expects.
|
|
23
|
+
.normalize("NFC");
|
|
24
|
+
const localFilePath = `${localDirectoryPath}/${name}`;
|
|
25
|
+
if (localDirEntry.isFile()) {
|
|
26
|
+
if (codeModeExcludedFiles.includes(name)) {
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
const status = await fsp.lstat(localFilePath);
|
|
30
|
+
// extract the executable bit from the owner's permissions, this is how git does it
|
|
31
|
+
const executable = (status.mode & fsp.constants.S_IXUSR) !== 0;
|
|
32
|
+
const fileContents = await fsp.readFile(localFilePath);
|
|
33
|
+
yield {
|
|
34
|
+
type: "-",
|
|
35
|
+
executable,
|
|
36
|
+
name,
|
|
37
|
+
localPath: localFilePath,
|
|
38
|
+
contents: fileContents,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
else if (localDirEntry.isDirectory()) {
|
|
42
|
+
if (codeModeExcludedDirectories.includes(name)) {
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
yield {
|
|
46
|
+
type: "d",
|
|
47
|
+
name,
|
|
48
|
+
localPath: localFilePath,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
else if (localDirEntry.isSymbolicLink()) {
|
|
52
|
+
const target = await fsp.readlink(localFilePath);
|
|
53
|
+
yield {
|
|
54
|
+
type: "l",
|
|
55
|
+
name,
|
|
56
|
+
localPath: localFilePath,
|
|
57
|
+
target,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
// ignore files of other types
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=list-dir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-dir.js","sourceRoot":"","sources":["../../src/sync-service/list-dir.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AA4BxC,MAAM,2BAA2B,GAAG;IAClC,cAAc;IACd,MAAM;IACN,cAAc;IACd,OAAO;CACR,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,MAAM,CAAC,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACvC,kBAA0B;IAE1B,MAAM,cAAc,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC7D,IAAI,KAAK,EAAE,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QACjD,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI;YAC7B,yHAAyH;YACzH,mHAAmH;aAClH,SAAS,CAAC,KAAK,CAAC,CAAC;QACpB,MAAM,aAAa,GAAG,GAAG,kBAAkB,IAAI,IAAI,EAAE,CAAC;QACtD,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3B,IAAI,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzC,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC9C,mFAAmF;YACnF,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC/D,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACvD,MAAM;gBACJ,IAAI,EAAE,GAAG;gBACT,UAAU;gBACV,IAAI;gBACJ,SAAS,EAAE,aAAa;gBACxB,QAAQ,EAAE,YAAY;aACvB,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;YACvC,IAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/C,SAAS;YACX,CAAC;YACD,MAAM;gBACJ,IAAI,EAAE,GAAG;gBACT,IAAI;gBACJ,SAAS,EAAE,aAAa;aACzB,CAAC;QACJ,CAAC;aAAM,IAAI,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YACjD,MAAM;gBACJ,IAAI,EAAE,GAAG;gBACT,IAAI;gBACJ,SAAS,EAAE,aAAa;gBACxB,MAAM;aACP,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,8BAA8B;YAC9B,SAAS;QACX,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ISocketClient, ResponseMeta, ServerMethods } from "@superblocksteam/shared";
|
|
2
|
+
export type StdISocketRPCClient = ISocketClient<ServerMethods>;
|
|
3
|
+
export declare function connectToISocketRPCServer({ superblocksBaseUrl, token, }: {
|
|
4
|
+
superblocksBaseUrl: string;
|
|
5
|
+
token: string;
|
|
6
|
+
}): Promise<StdISocketRPCClient>;
|
|
7
|
+
type ResponseDto<T> = {
|
|
8
|
+
responseMeta: ResponseMeta;
|
|
9
|
+
data: T;
|
|
10
|
+
};
|
|
11
|
+
export declare function unwrapResponseDto<T>(request: Promise<ResponseDto<T>>): Promise<T>;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/sync-service/server-rpc/client.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAGV,aAAa,EAGb,YAAY,EACZ,aAAa,EAEd,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;AAE/D,wBAAsB,yBAAyB,CAAC,EAC9C,kBAAkB,EAClB,KAAK,GACN,EAAE;IACD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA0B/B;AA8CD,KAAK,WAAW,CAAC,CAAC,IAAI;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAGF,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,CAAC,CAAC,CAiBZ"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { createISocketClient, ISocketWithClientAuth, serverWsPath, } from "@superblocksteam/shared";
|
|
2
|
+
import { ConflictError } from "@superblocksteam/shared";
|
|
3
|
+
import WebSocket from "ws";
|
|
4
|
+
import { createRequestHandlers } from "./handlers.js";
|
|
5
|
+
export async function connectToISocketRPCServer({ superblocksBaseUrl, token, }) {
|
|
6
|
+
const requestHandlers = createRequestHandlers();
|
|
7
|
+
const authorization = `Bearer ${token}`;
|
|
8
|
+
const wsUrl = new URL(`api/${serverWsPath}`, superblocksBaseUrl);
|
|
9
|
+
if (wsUrl.protocol === "http:") {
|
|
10
|
+
wsUrl.protocol = "ws:";
|
|
11
|
+
}
|
|
12
|
+
else if (wsUrl.protocol === "https:") {
|
|
13
|
+
wsUrl.protocol = "wss:";
|
|
14
|
+
}
|
|
15
|
+
if (wsUrl.host === "localhost:3000" || wsUrl.host === "127.0.0.1:3000") {
|
|
16
|
+
wsUrl.host = "127.0.0.1:8080";
|
|
17
|
+
}
|
|
18
|
+
else if (wsUrl.hostname === "localhost") {
|
|
19
|
+
wsUrl.hostname = "127.0.0.1";
|
|
20
|
+
}
|
|
21
|
+
return await connectISocket(wsUrl.href, authorization, requestHandlers, [], {
|
|
22
|
+
connectionTimeoutInSeconds: 6 * 60, // 6 minutes
|
|
23
|
+
noResponseTimeoutInSeconds: 5 * 60, // 5 minutes
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
async function connectISocket(wsUrl, authorization, requestHandlers, globalMiddlewares, timeouts) {
|
|
27
|
+
const ws = await connectWebSocket(wsUrl);
|
|
28
|
+
const isocket = new ISocketWithClientAuth(ws, authorization, requestHandlers, globalMiddlewares, timeouts);
|
|
29
|
+
return createISocketClient(isocket);
|
|
30
|
+
}
|
|
31
|
+
function connectWebSocket(wsUrl) {
|
|
32
|
+
return new Promise((resolve, reject) => {
|
|
33
|
+
const ws = new WebSocket(wsUrl);
|
|
34
|
+
ws.addEventListener("open", () => {
|
|
35
|
+
// Resolve the promise with the WebSocket instance when the connection is open
|
|
36
|
+
resolve(ws);
|
|
37
|
+
});
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
39
|
+
// @ts-ignore
|
|
40
|
+
ws.addEventListener("error", (error) => {
|
|
41
|
+
// Reject the promise if there's an error
|
|
42
|
+
reject(error);
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
// TODO(David): Move this general rpc file to a shared dir
|
|
47
|
+
export async function unwrapResponseDto(request) {
|
|
48
|
+
const response = await request;
|
|
49
|
+
if (!response.responseMeta.success ||
|
|
50
|
+
response.responseMeta.error ||
|
|
51
|
+
response.responseMeta.status !== 200) {
|
|
52
|
+
const errorMessage = response.responseMeta.error?.message ??
|
|
53
|
+
response.responseMeta.message ??
|
|
54
|
+
`Request failed with status ${response.responseMeta.status}`;
|
|
55
|
+
if (response.responseMeta.status === 409) {
|
|
56
|
+
throw new ConflictError(errorMessage);
|
|
57
|
+
}
|
|
58
|
+
throw new Error(errorMessage);
|
|
59
|
+
}
|
|
60
|
+
return response.data;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/sync-service/server-rpc/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/sync-service/server-rpc/handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACd,MAAM,yBAAyB,CAAC;AAMjC,wBAAgB,qBAAqB,0DAapC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NotImplementedError } from "@superblocksteam/shared";
|
|
2
|
+
async function notImplemented() {
|
|
3
|
+
throw new NotImplementedError("Signing methods are not implemented");
|
|
4
|
+
}
|
|
5
|
+
export function createRequestHandlers() {
|
|
6
|
+
const requestHandlers = {
|
|
7
|
+
v1: {
|
|
8
|
+
signing: {
|
|
9
|
+
signApplication: [notImplemented],
|
|
10
|
+
signApis: [notImplemented],
|
|
11
|
+
verifyApplication: [notImplemented],
|
|
12
|
+
verifyApi: [notImplemented],
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
return requestHandlers;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/sync-service/server-rpc/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAO9D,KAAK,UAAU,cAAc;IAC3B,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,eAAe,GACnB;QACE,EAAE,EAAE;YACF,OAAO,EAAE;gBACP,eAAe,EAAE,CAAC,cAAc,CAAC;gBACjC,QAAQ,EAAE,CAAC,cAAc,CAAC;gBAC1B,iBAAiB,EAAE,CAAC,cAAc,CAAC;gBACnC,SAAS,EAAE,CAAC,cAAc,CAAC;aAC5B;SACF;KACF,CAAC;IACJ,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { DirectorySnapshot } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Takes a snapshot of a local directory. The current implementation stores the snapshot in memory.
|
|
4
|
+
* This is not scalable for large directories and is subject to change.
|
|
5
|
+
*
|
|
6
|
+
* This function now captures the DRAFT state (current filesystem state).
|
|
7
|
+
* For committed state, use snapshotLocalDirectoryCommittedState.
|
|
8
|
+
*
|
|
9
|
+
* @param localDirectoryPath - The path to the local directory to snapshot.
|
|
10
|
+
* @returns A promise that resolves to a snapshot of the local directory.
|
|
11
|
+
*/
|
|
12
|
+
export declare function snapshotLocalDirectory(localDirectoryPath: string): Promise<DirectorySnapshot>;
|
|
13
|
+
/**
|
|
14
|
+
* Takes a snapshot of a local directory showing the COMMITTED state.
|
|
15
|
+
* This function:
|
|
16
|
+
* - Uses .sbswap.edit content from the drafts directory instead of current files (for edited files)
|
|
17
|
+
* - Excludes files that have .sbswap.add markers in the drafts directory (draft additions)
|
|
18
|
+
* - Excludes .sbswap.edit and .sbswap.add marker files themselves
|
|
19
|
+
*
|
|
20
|
+
* @param localDirectoryPath - The path to the local directory to snapshot.
|
|
21
|
+
* @param appRootPath - The app root path (defaults to localDirectoryPath for top-level calls).
|
|
22
|
+
* @param editMarkerMap - Map of edit markers (for internal recursive use).
|
|
23
|
+
* @param addMarkerSet - Set of add markers (for internal recursive use).
|
|
24
|
+
* @returns A promise that resolves to a snapshot of the committed state.
|
|
25
|
+
*/
|
|
26
|
+
export declare function snapshotLocalDirectoryCommittedState(localDirectoryPath: string, appRootPath?: string, editMarkerMap?: Map<string, Buffer>, addMarkerSet?: Set<string>): Promise<DirectorySnapshot>;
|
|
27
|
+
/**
|
|
28
|
+
* Takes a snapshot of a local directory, prioritizing .sbswap files for content.
|
|
29
|
+
* .sbswap files themselves are not included in the snapshot output.
|
|
30
|
+
*
|
|
31
|
+
* @deprecated This function is deprecated. Use snapshotLocalDirectory for draft state
|
|
32
|
+
* or snapshotLocalDirectoryCommittedState for committed state.
|
|
33
|
+
*
|
|
34
|
+
* @param localDirectoryPath - The path to the local directory to snapshot.
|
|
35
|
+
* @returns A promise that resolves to a snapshot of the local directory, reflecting draft states.
|
|
36
|
+
*/
|
|
37
|
+
export declare function snapshotLocalDirectoryWithDrafts(localDirectoryPath: string): Promise<DirectorySnapshot>;
|
|
38
|
+
//# sourceMappingURL=take-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"take-snapshot.d.ts","sourceRoot":"","sources":["../../../src/sync-service/snapshot/take-snapshot.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAGtE;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAC1C,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,iBAAiB,CAAC,CA+C5B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,oCAAoC,CACxD,kBAAkB,EAAE,MAAM,EAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAqH5B;AA4DD;;;;;;;;;GASG;AACH,wBAAsB,gCAAgC,CACpD,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAI5B"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import * as fsp from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { hashDirectoryContents, hashFileContents, } from "@superblocksteam/shared";
|
|
4
|
+
import { unreachable } from "@superblocksteam/util";
|
|
5
|
+
import { listLocalDirectory } from "../list-dir.js";
|
|
6
|
+
/**
|
|
7
|
+
* Takes a snapshot of a local directory. The current implementation stores the snapshot in memory.
|
|
8
|
+
* This is not scalable for large directories and is subject to change.
|
|
9
|
+
*
|
|
10
|
+
* This function now captures the DRAFT state (current filesystem state).
|
|
11
|
+
* For committed state, use snapshotLocalDirectoryCommittedState.
|
|
12
|
+
*
|
|
13
|
+
* @param localDirectoryPath - The path to the local directory to snapshot.
|
|
14
|
+
* @returns A promise that resolves to a snapshot of the local directory.
|
|
15
|
+
*/
|
|
16
|
+
export async function snapshotLocalDirectory(localDirectoryPath) {
|
|
17
|
+
const directoryContents = [];
|
|
18
|
+
const localDirListing = listLocalDirectory(localDirectoryPath);
|
|
19
|
+
for await (const localDirEntry of localDirListing) {
|
|
20
|
+
let entry;
|
|
21
|
+
switch (localDirEntry.type) {
|
|
22
|
+
case "-": {
|
|
23
|
+
const hash = await hashFileContents(localDirEntry.contents);
|
|
24
|
+
entry = {
|
|
25
|
+
type: "-",
|
|
26
|
+
name: localDirEntry.name,
|
|
27
|
+
executable: localDirEntry.executable,
|
|
28
|
+
hash,
|
|
29
|
+
contents: localDirEntry.contents,
|
|
30
|
+
};
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
case "d": {
|
|
34
|
+
const subdirectoryContents = await snapshotLocalDirectory(localDirEntry.localPath);
|
|
35
|
+
entry = {
|
|
36
|
+
type: "d",
|
|
37
|
+
name: localDirEntry.name,
|
|
38
|
+
hash: subdirectoryContents.hash,
|
|
39
|
+
contents: subdirectoryContents.contents,
|
|
40
|
+
};
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
case "l": {
|
|
44
|
+
entry = {
|
|
45
|
+
type: "l",
|
|
46
|
+
target: localDirEntry.target,
|
|
47
|
+
name: localDirEntry.name,
|
|
48
|
+
};
|
|
49
|
+
break;
|
|
50
|
+
}
|
|
51
|
+
default:
|
|
52
|
+
unreachable(localDirEntry);
|
|
53
|
+
}
|
|
54
|
+
directoryContents.push(entry);
|
|
55
|
+
}
|
|
56
|
+
const directoryHash = await hashDirectoryContents(directoryContents);
|
|
57
|
+
return {
|
|
58
|
+
hash: directoryHash,
|
|
59
|
+
contents: directoryContents,
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Takes a snapshot of a local directory showing the COMMITTED state.
|
|
64
|
+
* This function:
|
|
65
|
+
* - Uses .sbswap.edit content from the drafts directory instead of current files (for edited files)
|
|
66
|
+
* - Excludes files that have .sbswap.add markers in the drafts directory (draft additions)
|
|
67
|
+
* - Excludes .sbswap.edit and .sbswap.add marker files themselves
|
|
68
|
+
*
|
|
69
|
+
* @param localDirectoryPath - The path to the local directory to snapshot.
|
|
70
|
+
* @param appRootPath - The app root path (defaults to localDirectoryPath for top-level calls).
|
|
71
|
+
* @param editMarkerMap - Map of edit markers (for internal recursive use).
|
|
72
|
+
* @param addMarkerSet - Set of add markers (for internal recursive use).
|
|
73
|
+
* @returns A promise that resolves to a snapshot of the committed state.
|
|
74
|
+
*/
|
|
75
|
+
export async function snapshotLocalDirectoryCommittedState(localDirectoryPath, appRootPath, editMarkerMap, addMarkerSet) {
|
|
76
|
+
const directoryContents = [];
|
|
77
|
+
// Use the provided appRootPath, or default to localDirectoryPath for top-level calls
|
|
78
|
+
const rootPath = appRootPath || localDirectoryPath;
|
|
79
|
+
const draftsDir = path.join(rootPath, ".superblocks", "drafts");
|
|
80
|
+
// Step 1: Collect all physical entries in the directory
|
|
81
|
+
const allPhysicalEntries = [];
|
|
82
|
+
const localDirListing = listLocalDirectory(localDirectoryPath);
|
|
83
|
+
for await (const entry of localDirListing) {
|
|
84
|
+
allPhysicalEntries.push(entry);
|
|
85
|
+
}
|
|
86
|
+
// Step 2: Create maps for marker files from the drafts directory (only for top-level calls)
|
|
87
|
+
let finalEditMarkerMap;
|
|
88
|
+
let finalAddMarkerSet;
|
|
89
|
+
if (!editMarkerMap || !addMarkerSet) {
|
|
90
|
+
// This is the top-level call, scan the drafts directory
|
|
91
|
+
finalEditMarkerMap = new Map();
|
|
92
|
+
finalAddMarkerSet = new Set();
|
|
93
|
+
try {
|
|
94
|
+
await fsp.access(draftsDir);
|
|
95
|
+
await scanDraftsDirectory(draftsDir, rootPath, finalEditMarkerMap, finalAddMarkerSet);
|
|
96
|
+
}
|
|
97
|
+
catch {
|
|
98
|
+
// Drafts directory doesn't exist, no drafts to consider
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// Use the provided maps from recursive calls
|
|
103
|
+
finalEditMarkerMap = editMarkerMap;
|
|
104
|
+
finalAddMarkerSet = addMarkerSet;
|
|
105
|
+
}
|
|
106
|
+
// Step 3: Process entries for committed state
|
|
107
|
+
for (const localDirEntry of allPhysicalEntries) {
|
|
108
|
+
// Skip the .superblocks directory entirely
|
|
109
|
+
if (localDirEntry.name === ".superblocks") {
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
const relativePath = path.relative(rootPath, localDirEntry.localPath);
|
|
113
|
+
// Skip files that are draft additions
|
|
114
|
+
if (finalAddMarkerSet.has(relativePath)) {
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
let entry;
|
|
118
|
+
switch (localDirEntry.type) {
|
|
119
|
+
case "-": {
|
|
120
|
+
// Regular file
|
|
121
|
+
let fileContentsToUse;
|
|
122
|
+
let executableToUse;
|
|
123
|
+
if (finalEditMarkerMap.has(relativePath)) {
|
|
124
|
+
// Use the original content from .sbswap.edit file in drafts directory
|
|
125
|
+
fileContentsToUse = finalEditMarkerMap.get(relativePath);
|
|
126
|
+
executableToUse = localDirEntry.executable; // Use current executable flag
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
// No edit marker, use current file content (this is committed content)
|
|
130
|
+
fileContentsToUse = localDirEntry.contents;
|
|
131
|
+
executableToUse = localDirEntry.executable;
|
|
132
|
+
}
|
|
133
|
+
const hash = await hashFileContents(fileContentsToUse);
|
|
134
|
+
entry = {
|
|
135
|
+
type: "-",
|
|
136
|
+
name: localDirEntry.name,
|
|
137
|
+
executable: executableToUse,
|
|
138
|
+
hash,
|
|
139
|
+
contents: fileContentsToUse,
|
|
140
|
+
};
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
case "d": {
|
|
144
|
+
// Directory
|
|
145
|
+
// Recursive call uses the same committed-state snapshotting, passing the app root and marker maps
|
|
146
|
+
const subdirectorySnapshot = await snapshotLocalDirectoryCommittedState(localDirEntry.localPath, rootPath, // Pass the app root path to recursive calls
|
|
147
|
+
finalEditMarkerMap, // Pass the edit marker map
|
|
148
|
+
finalAddMarkerSet);
|
|
149
|
+
entry = {
|
|
150
|
+
type: "d",
|
|
151
|
+
name: localDirEntry.name,
|
|
152
|
+
hash: subdirectorySnapshot.hash,
|
|
153
|
+
contents: subdirectorySnapshot.contents,
|
|
154
|
+
};
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
case "l": {
|
|
158
|
+
// Symlink
|
|
159
|
+
entry = {
|
|
160
|
+
type: "l",
|
|
161
|
+
target: localDirEntry.target,
|
|
162
|
+
name: localDirEntry.name,
|
|
163
|
+
};
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
default:
|
|
167
|
+
unreachable(localDirEntry);
|
|
168
|
+
}
|
|
169
|
+
directoryContents.push(entry);
|
|
170
|
+
}
|
|
171
|
+
const directoryHash = await hashDirectoryContents(directoryContents);
|
|
172
|
+
return {
|
|
173
|
+
hash: directoryHash,
|
|
174
|
+
contents: directoryContents,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Recursively scans the drafts directory to build maps of edit markers and add markers.
|
|
179
|
+
*
|
|
180
|
+
* @param currentDraftsPath - The current path being scanned in the drafts directory.
|
|
181
|
+
* @param appRootPath - The app root directory path.
|
|
182
|
+
* @param editMarkerMap - Map to store edit marker file contents.
|
|
183
|
+
* @param addMarkerSet - Set to store paths of files that are draft additions.
|
|
184
|
+
*/
|
|
185
|
+
async function scanDraftsDirectory(currentDraftsPath, appRootPath, editMarkerMap, addMarkerSet) {
|
|
186
|
+
try {
|
|
187
|
+
const entries = await fsp.readdir(currentDraftsPath, {
|
|
188
|
+
withFileTypes: true,
|
|
189
|
+
});
|
|
190
|
+
const draftsDir = path.join(appRootPath, ".superblocks", "drafts");
|
|
191
|
+
for (const entry of entries) {
|
|
192
|
+
const fullPath = path.join(currentDraftsPath, entry.name);
|
|
193
|
+
if (entry.isFile()) {
|
|
194
|
+
if (entry.name.endsWith(".sbswap.edit")) {
|
|
195
|
+
// This is the original content for an edited file
|
|
196
|
+
const markerRelativePath = path.relative(draftsDir, fullPath);
|
|
197
|
+
const originalRelativePath = markerRelativePath.slice(0, -".sbswap.edit".length);
|
|
198
|
+
const originalContent = await fsp.readFile(fullPath);
|
|
199
|
+
editMarkerMap.set(originalRelativePath, originalContent);
|
|
200
|
+
}
|
|
201
|
+
else if (entry.name.endsWith(".sbswap.add")) {
|
|
202
|
+
// This marks a file as a draft addition - exclude the corresponding file
|
|
203
|
+
const markerRelativePath = path.relative(draftsDir, fullPath);
|
|
204
|
+
const addedFileRelativePath = markerRelativePath.slice(0, -".sbswap.add".length);
|
|
205
|
+
addMarkerSet.add(addedFileRelativePath);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
if (entry.isDirectory()) {
|
|
209
|
+
await scanDraftsDirectory(fullPath, appRootPath, editMarkerMap, addMarkerSet);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
catch {
|
|
214
|
+
// Ignore errors reading directories
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Takes a snapshot of a local directory, prioritizing .sbswap files for content.
|
|
219
|
+
* .sbswap files themselves are not included in the snapshot output.
|
|
220
|
+
*
|
|
221
|
+
* @deprecated This function is deprecated. Use snapshotLocalDirectory for draft state
|
|
222
|
+
* or snapshotLocalDirectoryCommittedState for committed state.
|
|
223
|
+
*
|
|
224
|
+
* @param localDirectoryPath - The path to the local directory to snapshot.
|
|
225
|
+
* @returns A promise that resolves to a snapshot of the local directory, reflecting draft states.
|
|
226
|
+
*/
|
|
227
|
+
export async function snapshotLocalDirectoryWithDrafts(localDirectoryPath) {
|
|
228
|
+
// For backwards compatibility, this now just calls the regular snapshot function
|
|
229
|
+
// since the regular function now shows the draft state (current filesystem)
|
|
230
|
+
return snapshotLocalDirectory(localDirectoryPath);
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=take-snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"take-snapshot.js","sourceRoot":"","sources":["../../../src/sync-service/snapshot/take-snapshot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { DirectoryEntryDir, DirectoryEntryRegFile, DirectoryEntrySymlink } from "@superblocksteam/shared";
|
|
2
|
+
export interface SnapshotDirEntryRegFile extends DirectoryEntryRegFile {
|
|
3
|
+
contents: Buffer;
|
|
4
|
+
}
|
|
5
|
+
export interface SnapshotDirEntryDir extends DirectoryEntryDir {
|
|
6
|
+
contents: SnapshotDirEntry[];
|
|
7
|
+
}
|
|
8
|
+
/** This is like `DirectoryEntry` but includes a complete snapshot of the entire directory tree, including all subdirectories and files. */
|
|
9
|
+
export type SnapshotDirEntry = SnapshotDirEntryRegFile | SnapshotDirEntryDir | DirectoryEntrySymlink;
|
|
10
|
+
export interface DirectorySnapshot {
|
|
11
|
+
hash: string;
|
|
12
|
+
contents: SnapshotDirEntry[];
|
|
13
|
+
}
|
|
14
|
+
/** This is like `DirectoryEntry` but includes the recursive contents of all subdirectories in the tree. */
|
|
15
|
+
export interface DirectoryEntryDirWithContents extends DirectoryEntryDir {
|
|
16
|
+
contents: DirectoryEntryTree[];
|
|
17
|
+
}
|
|
18
|
+
export type DirectoryEntryTree = DirectoryEntryRegFile | DirectoryEntryDirWithContents | DirectoryEntrySymlink;
|
|
19
|
+
/** The state of a directory, i.e. its hash and recursively the hashes of all the hashes of all the files and directories within it. */
|
|
20
|
+
export interface DirectoryState {
|
|
21
|
+
hash: string;
|
|
22
|
+
contents: DirectoryEntryTree[];
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/sync-service/snapshot/types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,uBAAwB,SAAQ,qBAAqB;IACpE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,2IAA2I;AAC3I,MAAM,MAAM,gBAAgB,GACxB,uBAAuB,GACvB,mBAAmB,GAGnB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AAED,2GAA2G;AAC3G,MAAM,WAAW,6BAA8B,SAAQ,iBAAiB;IACtE,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,GAC1B,qBAAqB,GACrB,6BAA6B,GAC7B,qBAAqB,CAAC;AAE1B,uIAAuI;AACvI,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,kBAAkB,EAAE,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/sync-service/snapshot/types.ts"],"names":[],"mappings":"AAAA,6EAA6E"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DirectorySnapshot } from "./types.js";
|
|
2
|
+
import type { HashCache } from "../hash-cache.js";
|
|
3
|
+
import type { StdISocketRPCClient } from "../server-rpc/client.js";
|
|
4
|
+
export declare function uploadDirectorySnapshot(rpcClient: StdISocketRPCClient, directorySnapshot: DirectorySnapshot, hashCache: HashCache): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=upload-snapshot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload-snapshot.d.ts","sourceRoot":"","sources":["../../../src/sync-service/snapshot/upload-snapshot.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAQnE,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,mBAAmB,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,IAAI,CAAC,CAgEf"}
|