@aprovan/patchwork 0.1.0 → 0.1.1
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/.github/workflows/publish.yml +1 -1
- package/.vscode/launch.json +19 -0
- package/README.md +24 -0
- package/apps/chat/package.json +4 -4
- package/apps/chat/vite.config.ts +8 -8
- package/docs/specs/directory-sync.md +822 -0
- package/docs/specs/patchwork-vscode.md +625 -0
- package/package.json +2 -2
- package/packages/compiler/package.json +3 -2
- package/packages/compiler/src/index.ts +13 -14
- package/packages/compiler/src/vfs/backends/http.ts +139 -0
- package/packages/compiler/src/vfs/backends/indexeddb.ts +185 -24
- package/packages/compiler/src/vfs/backends/memory.ts +166 -0
- package/packages/compiler/src/vfs/core/index.ts +26 -0
- package/packages/compiler/src/vfs/core/types.ts +93 -0
- package/packages/compiler/src/vfs/core/utils.ts +42 -0
- package/packages/compiler/src/vfs/core/virtual-fs.ts +120 -0
- package/packages/compiler/src/vfs/index.ts +37 -5
- package/packages/compiler/src/vfs/project.ts +16 -16
- package/packages/compiler/src/vfs/store.ts +183 -19
- package/packages/compiler/src/vfs/sync/differ.ts +47 -0
- package/packages/compiler/src/vfs/sync/engine.ts +398 -0
- package/packages/compiler/src/vfs/sync/index.ts +3 -0
- package/packages/compiler/src/vfs/sync/resolver.ts +46 -0
- package/packages/compiler/src/vfs/types.ts +1 -8
- package/packages/compiler/tsup.config.ts +5 -5
- package/packages/editor/package.json +1 -1
- package/packages/editor/src/components/CodeBlockExtension.tsx +1 -1
- package/packages/editor/src/components/CodePreview.tsx +59 -1
- package/packages/editor/src/components/edit/CodeBlockView.tsx +72 -0
- package/packages/editor/src/components/edit/EditModal.tsx +169 -28
- package/packages/editor/src/components/edit/FileTree.tsx +67 -13
- package/packages/editor/src/components/edit/MediaPreview.tsx +106 -0
- package/packages/editor/src/components/edit/SaveConfirmDialog.tsx +60 -0
- package/packages/editor/src/components/edit/fileTypes.ts +125 -0
- package/packages/editor/src/components/edit/index.ts +4 -0
- package/packages/editor/src/components/edit/types.ts +3 -0
- package/packages/editor/src/components/edit/useEditSession.ts +22 -4
- package/packages/editor/src/index.ts +17 -0
- package/packages/editor/src/lib/diff.ts +2 -1
- package/packages/editor/src/lib/vfs.ts +28 -10
- package/packages/editor/tsup.config.ts +10 -5
- package/packages/stitchery/package.json +5 -3
- package/packages/stitchery/src/server/index.ts +57 -57
- package/packages/stitchery/src/server/vfs-routes.ts +246 -56
- package/packages/stitchery/tsup.config.ts +5 -5
- package/packages/utcp/package.json +3 -2
- package/packages/utcp/tsconfig.json +6 -2
- package/packages/utcp/tsup.config.ts +6 -6
- package/packages/vscode/README.md +31 -0
- package/packages/vscode/media/outline.png +0 -0
- package/packages/vscode/media/outline.svg +70 -0
- package/packages/vscode/media/patchwork.png +0 -0
- package/packages/vscode/media/patchwork.svg +72 -0
- package/packages/vscode/node_modules/.bin/jiti +17 -0
- package/packages/vscode/node_modules/.bin/tsc +17 -0
- package/packages/vscode/node_modules/.bin/tsserver +17 -0
- package/packages/vscode/node_modules/.bin/tsup +17 -0
- package/packages/vscode/node_modules/.bin/tsup-node +17 -0
- package/packages/vscode/node_modules/.bin/tsx +17 -0
- package/packages/vscode/package.json +136 -0
- package/packages/vscode/src/extension.ts +612 -0
- package/packages/vscode/src/providers/PatchworkFileSystemProvider.ts +205 -0
- package/packages/vscode/src/providers/PatchworkTreeProvider.ts +177 -0
- package/packages/vscode/src/providers/PreviewPanelProvider.ts +536 -0
- package/packages/vscode/src/services/EditService.ts +24 -0
- package/packages/vscode/src/services/EmbeddedStitchery.ts +82 -0
- package/packages/vscode/tsconfig.json +13 -0
- package/packages/vscode/tsup.config.ts +11 -0
- package/packages/compiler/src/vfs/backends/local-fs.ts +0 -41
- package/packages/compiler/src/vfs/backends/s3.ts +0 -60
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.2.0",
|
|
3
|
+
"configurations": [
|
|
4
|
+
{
|
|
5
|
+
"name": "Launch Extensions",
|
|
6
|
+
"type": "extensionHost",
|
|
7
|
+
"request": "launch",
|
|
8
|
+
"runtimeExecutable": "${execPath}",
|
|
9
|
+
"args": [
|
|
10
|
+
"--extensionDevelopmentPath=${workspaceFolder}/packages/vscode"
|
|
11
|
+
],
|
|
12
|
+
"sourceMaps": true,
|
|
13
|
+
"smartStep": true,
|
|
14
|
+
"outFiles": [
|
|
15
|
+
"${workspaceFolder}/packages/*/dist/*.js"
|
|
16
|
+
]
|
|
17
|
+
},
|
|
18
|
+
]
|
|
19
|
+
}
|
package/README.md
CHANGED
|
@@ -13,3 +13,27 @@
|
|
|
13
13
|
</a>
|
|
14
14
|
|
|
15
15
|
Platform for building generative UI experiences
|
|
16
|
+
|
|
17
|
+
## VS Code extension quickstart
|
|
18
|
+
|
|
19
|
+
1. Install dependencies from the repo root:
|
|
20
|
+
|
|
21
|
+
```sh
|
|
22
|
+
pnpm install
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
2. Build the VS Code extension package:
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
pnpm -F @aprovan/patchwork-vscode build
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
3. Open the repo in VS Code and run the extension:
|
|
32
|
+
|
|
33
|
+
- Open the Run and Debug panel.
|
|
34
|
+
- Choose "Run Extension" (or "Extension"), then start debugging.
|
|
35
|
+
|
|
36
|
+
4. (Optional) Configure Copilot proxy for AI edits:
|
|
37
|
+
|
|
38
|
+
- Start the proxy: `npx @aprovan/copilot-proxy serve --port 3000`
|
|
39
|
+
- In VS Code settings, set `patchwork.copilotProxyUrl` to `http://localhost:3000`
|
package/apps/chat/package.json
CHANGED
|
@@ -5,15 +5,14 @@
|
|
|
5
5
|
"scripts": {
|
|
6
6
|
"dev": "concurrently -n proxy,stitchery,vite -c green,magenta,blue \"pnpm dev:proxy\" \"pnpm dev:stitchery\" \"sleep 2 && vite\"",
|
|
7
7
|
"dev:client": "vite",
|
|
8
|
-
"dev:proxy": "
|
|
9
|
-
"dev:stitchery": "node ../../packages/stitchery/dist/cli.js serve --utcp-config .utcp_config.json --local-package @aprovan/patchwork-image-shadcn:../../packages/images/shadcn -v --vfs-dir ../../.working/widgets --vfs-use-paths",
|
|
8
|
+
"dev:proxy": "pnpm exec copilot-proxy serve",
|
|
9
|
+
"dev:stitchery": "node ../../packages/stitchery/dist/cli.js serve -p 6435 --utcp-config .utcp_config.json --local-package @aprovan/patchwork-image-shadcn:../../packages/images/shadcn -v --vfs-dir ../../.working/widgets --vfs-use-paths",
|
|
10
10
|
"build": "tsc && vite build",
|
|
11
11
|
"preview": "vite preview"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@ai-sdk/react": "^3.0.69",
|
|
15
|
-
"@aprovan/bobbin": "
|
|
16
|
-
"@aprovan/copilot-proxy": "0.1.0",
|
|
15
|
+
"@aprovan/bobbin": "^0.1.0",
|
|
17
16
|
"@aprovan/patchwork-compiler": "workspace:*",
|
|
18
17
|
"@aprovan/patchwork-editor": "workspace:*",
|
|
19
18
|
"@aprovan/stitchery": "workspace:*",
|
|
@@ -39,6 +38,7 @@
|
|
|
39
38
|
"tiptap-markdown": "^0.9.0"
|
|
40
39
|
},
|
|
41
40
|
"devDependencies": {
|
|
41
|
+
"@aprovan/copilot-proxy": "0.1.0",
|
|
42
42
|
"@tailwindcss/typography": "^0.5.19",
|
|
43
43
|
"@types/node": "^22.19.7",
|
|
44
44
|
"@types/react": "^18.3.27",
|
package/apps/chat/vite.config.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { defineConfig } from
|
|
2
|
-
import react from
|
|
3
|
-
import path from
|
|
1
|
+
import { defineConfig } from "vite";
|
|
2
|
+
import react from "@vitejs/plugin-react";
|
|
3
|
+
import path from "path";
|
|
4
4
|
|
|
5
|
-
const STITCHERY_URL =
|
|
5
|
+
const STITCHERY_URL = "http://127.0.0.1:6435";
|
|
6
6
|
|
|
7
7
|
export default defineConfig({
|
|
8
8
|
plugins: [react()],
|
|
9
|
-
resolve: { alias: {
|
|
9
|
+
resolve: { alias: { "@": path.resolve(__dirname, "./src") } },
|
|
10
10
|
server: {
|
|
11
11
|
proxy: {
|
|
12
|
-
|
|
12
|
+
"/api": {
|
|
13
13
|
target: STITCHERY_URL,
|
|
14
14
|
changeOrigin: true,
|
|
15
15
|
},
|
|
16
|
-
|
|
16
|
+
"/_local-packages": {
|
|
17
17
|
target: STITCHERY_URL,
|
|
18
18
|
changeOrigin: true,
|
|
19
19
|
},
|
|
20
|
-
|
|
20
|
+
"/vfs": {
|
|
21
21
|
target: STITCHERY_URL,
|
|
22
22
|
changeOrigin: true,
|
|
23
23
|
},
|