@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.
Files changed (71) hide show
  1. package/.github/workflows/publish.yml +1 -1
  2. package/.vscode/launch.json +19 -0
  3. package/README.md +24 -0
  4. package/apps/chat/package.json +4 -4
  5. package/apps/chat/vite.config.ts +8 -8
  6. package/docs/specs/directory-sync.md +822 -0
  7. package/docs/specs/patchwork-vscode.md +625 -0
  8. package/package.json +2 -2
  9. package/packages/compiler/package.json +3 -2
  10. package/packages/compiler/src/index.ts +13 -14
  11. package/packages/compiler/src/vfs/backends/http.ts +139 -0
  12. package/packages/compiler/src/vfs/backends/indexeddb.ts +185 -24
  13. package/packages/compiler/src/vfs/backends/memory.ts +166 -0
  14. package/packages/compiler/src/vfs/core/index.ts +26 -0
  15. package/packages/compiler/src/vfs/core/types.ts +93 -0
  16. package/packages/compiler/src/vfs/core/utils.ts +42 -0
  17. package/packages/compiler/src/vfs/core/virtual-fs.ts +120 -0
  18. package/packages/compiler/src/vfs/index.ts +37 -5
  19. package/packages/compiler/src/vfs/project.ts +16 -16
  20. package/packages/compiler/src/vfs/store.ts +183 -19
  21. package/packages/compiler/src/vfs/sync/differ.ts +47 -0
  22. package/packages/compiler/src/vfs/sync/engine.ts +398 -0
  23. package/packages/compiler/src/vfs/sync/index.ts +3 -0
  24. package/packages/compiler/src/vfs/sync/resolver.ts +46 -0
  25. package/packages/compiler/src/vfs/types.ts +1 -8
  26. package/packages/compiler/tsup.config.ts +5 -5
  27. package/packages/editor/package.json +1 -1
  28. package/packages/editor/src/components/CodeBlockExtension.tsx +1 -1
  29. package/packages/editor/src/components/CodePreview.tsx +59 -1
  30. package/packages/editor/src/components/edit/CodeBlockView.tsx +72 -0
  31. package/packages/editor/src/components/edit/EditModal.tsx +169 -28
  32. package/packages/editor/src/components/edit/FileTree.tsx +67 -13
  33. package/packages/editor/src/components/edit/MediaPreview.tsx +106 -0
  34. package/packages/editor/src/components/edit/SaveConfirmDialog.tsx +60 -0
  35. package/packages/editor/src/components/edit/fileTypes.ts +125 -0
  36. package/packages/editor/src/components/edit/index.ts +4 -0
  37. package/packages/editor/src/components/edit/types.ts +3 -0
  38. package/packages/editor/src/components/edit/useEditSession.ts +22 -4
  39. package/packages/editor/src/index.ts +17 -0
  40. package/packages/editor/src/lib/diff.ts +2 -1
  41. package/packages/editor/src/lib/vfs.ts +28 -10
  42. package/packages/editor/tsup.config.ts +10 -5
  43. package/packages/stitchery/package.json +5 -3
  44. package/packages/stitchery/src/server/index.ts +57 -57
  45. package/packages/stitchery/src/server/vfs-routes.ts +246 -56
  46. package/packages/stitchery/tsup.config.ts +5 -5
  47. package/packages/utcp/package.json +3 -2
  48. package/packages/utcp/tsconfig.json +6 -2
  49. package/packages/utcp/tsup.config.ts +6 -6
  50. package/packages/vscode/README.md +31 -0
  51. package/packages/vscode/media/outline.png +0 -0
  52. package/packages/vscode/media/outline.svg +70 -0
  53. package/packages/vscode/media/patchwork.png +0 -0
  54. package/packages/vscode/media/patchwork.svg +72 -0
  55. package/packages/vscode/node_modules/.bin/jiti +17 -0
  56. package/packages/vscode/node_modules/.bin/tsc +17 -0
  57. package/packages/vscode/node_modules/.bin/tsserver +17 -0
  58. package/packages/vscode/node_modules/.bin/tsup +17 -0
  59. package/packages/vscode/node_modules/.bin/tsup-node +17 -0
  60. package/packages/vscode/node_modules/.bin/tsx +17 -0
  61. package/packages/vscode/package.json +136 -0
  62. package/packages/vscode/src/extension.ts +612 -0
  63. package/packages/vscode/src/providers/PatchworkFileSystemProvider.ts +205 -0
  64. package/packages/vscode/src/providers/PatchworkTreeProvider.ts +177 -0
  65. package/packages/vscode/src/providers/PreviewPanelProvider.ts +536 -0
  66. package/packages/vscode/src/services/EditService.ts +24 -0
  67. package/packages/vscode/src/services/EmbeddedStitchery.ts +82 -0
  68. package/packages/vscode/tsconfig.json +13 -0
  69. package/packages/vscode/tsup.config.ts +11 -0
  70. package/packages/compiler/src/vfs/backends/local-fs.ts +0 -41
  71. package/packages/compiler/src/vfs/backends/s3.ts +0 -60
@@ -35,7 +35,7 @@ jobs:
35
35
  run: pnpx turbo run build
36
36
 
37
37
  - name: Publish packages
38
- run: pnpm publish --no-git-checks --access public
38
+ run: pnpm -r publish --no-git-checks --access public
39
39
  env:
40
40
  NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
41
41
  continue-on-error: true
@@ -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`
@@ -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": "node ../../packages/copilot-proxy/dist/cli.js serve",
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": "workspace:*",
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",
@@ -1,23 +1,23 @@
1
- import { defineConfig } from 'vite';
2
- import react from '@vitejs/plugin-react';
3
- import path from 'path';
1
+ import { defineConfig } from "vite";
2
+ import react from "@vitejs/plugin-react";
3
+ import path from "path";
4
4
 
5
- const STITCHERY_URL = 'http://127.0.0.1:6434';
5
+ const STITCHERY_URL = "http://127.0.0.1:6435";
6
6
 
7
7
  export default defineConfig({
8
8
  plugins: [react()],
9
- resolve: { alias: { '@': path.resolve(__dirname, './src') } },
9
+ resolve: { alias: { "@": path.resolve(__dirname, "./src") } },
10
10
  server: {
11
11
  proxy: {
12
- '/api': {
12
+ "/api": {
13
13
  target: STITCHERY_URL,
14
14
  changeOrigin: true,
15
15
  },
16
- '/_local-packages': {
16
+ "/_local-packages": {
17
17
  target: STITCHERY_URL,
18
18
  changeOrigin: true,
19
19
  },
20
- '/vfs': {
20
+ "/vfs": {
21
21
  target: STITCHERY_URL,
22
22
  changeOrigin: true,
23
23
  },