@abhinav2203/codeflow-canvas 0.1.0

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 (134) hide show
  1. package/abhinav2203-codeflow-canvas-0.1.0.tgz +0 -0
  2. package/dist/bin/cli.d.ts +3 -0
  3. package/dist/bin/cli.d.ts.map +1 -0
  4. package/dist/bin/cli.js +84 -0
  5. package/dist/bin/cli.js.map +1 -0
  6. package/dist/components/blueprint-workbench.d.ts +2 -0
  7. package/dist/components/blueprint-workbench.d.ts.map +1 -0
  8. package/dist/components/blueprint-workbench.js +144 -0
  9. package/dist/components/blueprint-workbench.js.map +1 -0
  10. package/dist/components/code-diff-editor.d.ts +12 -0
  11. package/dist/components/code-diff-editor.d.ts.map +1 -0
  12. package/dist/components/code-diff-editor.js +39 -0
  13. package/dist/components/code-diff-editor.js.map +1 -0
  14. package/dist/components/code-editor.d.ts +25 -0
  15. package/dist/components/code-editor.d.ts.map +1 -0
  16. package/dist/components/code-editor.js +264 -0
  17. package/dist/components/code-editor.js.map +1 -0
  18. package/dist/components/file-tabs.d.ts +5 -0
  19. package/dist/components/file-tabs.d.ts.map +1 -0
  20. package/dist/components/file-tabs.js +164 -0
  21. package/dist/components/file-tabs.js.map +1 -0
  22. package/dist/components/file-tree.d.ts +7 -0
  23. package/dist/components/file-tree.d.ts.map +1 -0
  24. package/dist/components/file-tree.js +176 -0
  25. package/dist/components/file-tree.js.map +1 -0
  26. package/dist/components/graph-canvas.d.ts +25 -0
  27. package/dist/components/graph-canvas.d.ts.map +1 -0
  28. package/dist/components/graph-canvas.js +224 -0
  29. package/dist/components/graph-canvas.js.map +1 -0
  30. package/dist/components/ide-layout.d.ts +10 -0
  31. package/dist/components/ide-layout.d.ts.map +1 -0
  32. package/dist/components/ide-layout.js +40 -0
  33. package/dist/components/ide-layout.js.map +1 -0
  34. package/dist/components/ide-workbench.d.ts +4 -0
  35. package/dist/components/ide-workbench.d.ts.map +1 -0
  36. package/dist/components/ide-workbench.js +6 -0
  37. package/dist/components/ide-workbench.js.map +1 -0
  38. package/dist/components/index.d.ts +13 -0
  39. package/dist/components/index.d.ts.map +1 -0
  40. package/dist/components/index.js +13 -0
  41. package/dist/components/index.js.map +1 -0
  42. package/dist/components/monaco-setup.d.ts +4 -0
  43. package/dist/components/monaco-setup.d.ts.map +1 -0
  44. package/dist/components/monaco-setup.js +34 -0
  45. package/dist/components/monaco-setup.js.map +1 -0
  46. package/dist/components/opencode-settings.d.ts +8 -0
  47. package/dist/components/opencode-settings.d.ts.map +1 -0
  48. package/dist/components/opencode-settings.js +33 -0
  49. package/dist/components/opencode-settings.js.map +1 -0
  50. package/dist/components/policy-workbench.d.ts +2 -0
  51. package/dist/components/policy-workbench.d.ts.map +1 -0
  52. package/dist/components/policy-workbench.js +102 -0
  53. package/dist/components/policy-workbench.js.map +1 -0
  54. package/dist/components/ts-language-service.d.ts +14 -0
  55. package/dist/components/ts-language-service.d.ts.map +1 -0
  56. package/dist/components/ts-language-service.js +123 -0
  57. package/dist/components/ts-language-service.js.map +1 -0
  58. package/dist/index.d.ts +23 -0
  59. package/dist/index.d.ts.map +1 -0
  60. package/dist/index.js +22 -0
  61. package/dist/index.js.map +1 -0
  62. package/dist/lib/browser/storage.d.ts +16 -0
  63. package/dist/lib/browser/storage.d.ts.map +1 -0
  64. package/dist/lib/browser/storage.js +18 -0
  65. package/dist/lib/browser/storage.js.map +1 -0
  66. package/dist/lib/edit.d.ts +14 -0
  67. package/dist/lib/edit.d.ts.map +1 -0
  68. package/dist/lib/edit.js +57 -0
  69. package/dist/lib/edit.js.map +1 -0
  70. package/dist/lib/flow-view.d.ts +80 -0
  71. package/dist/lib/flow-view.d.ts.map +1 -0
  72. package/dist/lib/flow-view.js +850 -0
  73. package/dist/lib/flow-view.js.map +1 -0
  74. package/dist/lib/heatmap.d.ts +28 -0
  75. package/dist/lib/heatmap.d.ts.map +1 -0
  76. package/dist/lib/heatmap.js +61 -0
  77. package/dist/lib/heatmap.js.map +1 -0
  78. package/dist/lib/index.d.ts +9 -0
  79. package/dist/lib/index.d.ts.map +1 -0
  80. package/dist/lib/index.js +6 -0
  81. package/dist/lib/index.js.map +1 -0
  82. package/dist/lib/node-navigation.d.ts +36 -0
  83. package/dist/lib/node-navigation.d.ts.map +1 -0
  84. package/dist/lib/node-navigation.js +52 -0
  85. package/dist/lib/node-navigation.js.map +1 -0
  86. package/dist/lib/traces.d.ts +3 -0
  87. package/dist/lib/traces.d.ts.map +1 -0
  88. package/dist/lib/traces.js +64 -0
  89. package/dist/lib/traces.js.map +1 -0
  90. package/dist/lib/types.d.ts +57 -0
  91. package/dist/lib/types.d.ts.map +1 -0
  92. package/dist/lib/types.js +7 -0
  93. package/dist/lib/types.js.map +1 -0
  94. package/dist/store/blueprint-store.d.ts +35 -0
  95. package/dist/store/blueprint-store.d.ts.map +1 -0
  96. package/dist/store/blueprint-store.js +79 -0
  97. package/dist/store/blueprint-store.js.map +1 -0
  98. package/dist/store/index.d.ts +3 -0
  99. package/dist/store/index.d.ts.map +1 -0
  100. package/dist/store/index.js +2 -0
  101. package/dist/store/index.js.map +1 -0
  102. package/package.json +52 -0
  103. package/scripts/wrap-cli.mjs +15 -0
  104. package/src/bin/cli.ts +128 -0
  105. package/src/components/blueprint-workbench.tsx +305 -0
  106. package/src/components/code-diff-editor.tsx +80 -0
  107. package/src/components/code-editor.tsx +389 -0
  108. package/src/components/file-tabs.tsx +288 -0
  109. package/src/components/file-tree.tsx +301 -0
  110. package/src/components/graph-canvas.tsx +404 -0
  111. package/src/components/ide-layout.tsx +104 -0
  112. package/src/components/ide-workbench.tsx +5 -0
  113. package/src/components/index.ts +12 -0
  114. package/src/components/monaco-setup.ts +67 -0
  115. package/src/components/opencode-settings.tsx +82 -0
  116. package/src/components/policy-workbench.tsx +233 -0
  117. package/src/components/ts-language-service.ts +170 -0
  118. package/src/index.ts +54 -0
  119. package/src/lib/browser/storage.ts +19 -0
  120. package/src/lib/edit.ts +74 -0
  121. package/src/lib/flow-view.ts +1176 -0
  122. package/src/lib/heatmap.ts +103 -0
  123. package/src/lib/index.ts +41 -0
  124. package/src/lib/node-navigation.ts +76 -0
  125. package/src/lib/traces.ts +79 -0
  126. package/src/lib/types.ts +79 -0
  127. package/src/store/blueprint-store.ts +136 -0
  128. package/src/store/index.ts +2 -0
  129. package/test-fixtures/minimal-blueprint.json +34 -0
  130. package/test-fixtures/sample-blueprint.json +184 -0
  131. package/tsconfig.build.json +9 -0
  132. package/tsconfig.json +22 -0
  133. package/tsconfig.tsbuildinfo +1 -0
  134. package/vitest.config.ts +9 -0
@@ -0,0 +1,184 @@
1
+ import type { BlueprintGraph, BlueprintNode, BlueprintEdge } from "@abhinav2203/codeflow-core/schema";
2
+
3
+ export interface MinimalGraph {
4
+ nodes: BlueprintNode[];
5
+ edges: BlueprintEdge[];
6
+ }
7
+
8
+ export const minimalBlueprint: MinimalGraph = {
9
+ nodes: [
10
+ {
11
+ id: "node-1",
12
+ kind: "function",
13
+ name: "getUser",
14
+ summary: "Retrieve a user by ID",
15
+ contract: {
16
+ inputs: [],
17
+ outputs: [],
18
+ responsibilities: [],
19
+ dependencies: [],
20
+ methods: [],
21
+ attributes: [],
22
+ calls: [],
23
+ sideEffects: [],
24
+ errors: [],
25
+ notes: [],
26
+ summary: ""
27
+ },
28
+ sourceRefs: [],
29
+ generatedRefs: [],
30
+ traceRefs: []
31
+ }
32
+ ],
33
+ edges: []
34
+ };
35
+
36
+ export const sampleBlueprint: BlueprintGraph = {
37
+ projectName: "Test Project",
38
+ phase: "spec",
39
+ nodes: [
40
+ {
41
+ id: "node-api-1",
42
+ kind: "api",
43
+ name: "UserAPI",
44
+ summary: "REST API for user operations",
45
+ path: "/api/users",
46
+ contract: {
47
+ inputs: [],
48
+ outputs: [],
49
+ responsibilities: ["Handle HTTP requests", "Return JSON responses"],
50
+ dependencies: [],
51
+ methods: [],
52
+ attributes: [],
53
+ calls: [],
54
+ sideEffects: [],
55
+ errors: [],
56
+ notes: [],
57
+ summary: "REST API for user operations"
58
+ },
59
+ sourceRefs: [{ kind: "file", path: "src/api/users.ts", section: "UserAPI" }],
60
+ generatedRefs: [],
61
+ traceRefs: [],
62
+ status: "spec_only"
63
+ },
64
+ {
65
+ id: "node-class-1",
66
+ kind: "class",
67
+ name: "UserService",
68
+ summary: "Business logic for user management",
69
+ path: "src/services/UserService.ts",
70
+ contract: {
71
+ inputs: [],
72
+ outputs: [],
73
+ responsibilities: ["Manage user data", "Validate input"],
74
+ dependencies: ["node-api-1"],
75
+ methods: [
76
+ {
77
+ name: "createUser",
78
+ signature: "createUser(name: string, email: string): User",
79
+ inputs: [
80
+ { name: "name", type: "string", description: "User's full name" },
81
+ { name: "email", type: "string", description: "User's email address" }
82
+ ],
83
+ outputs: [{ name: "user", type: "User", description: "Created user object" }],
84
+ sideEffects: [],
85
+ calls: [],
86
+ errors: ["ValidationError", "DatabaseError"]
87
+ }
88
+ ],
89
+ attributes: [],
90
+ calls: [],
91
+ sideEffects: [],
92
+ errors: [],
93
+ notes: [],
94
+ summary: "Business logic for user management"
95
+ },
96
+ sourceRefs: [{ kind: "file", path: "src/services/UserService.ts" }],
97
+ generatedRefs: [],
98
+ traceRefs: [],
99
+ status: "spec_only"
100
+ },
101
+ {
102
+ id: "node-function-1",
103
+ kind: "function",
104
+ name: "validateEmail",
105
+ summary: "Validate email format",
106
+ path: "src/utils/validation.ts",
107
+ signature: "validateEmail(email: string): boolean",
108
+ contract: {
109
+ inputs: [{ name: "email", type: "string", description: "Email to validate" }],
110
+ outputs: [{ name: "isValid", type: "boolean", description: "Whether email is valid" }],
111
+ responsibilities: ["Validate email format"],
112
+ dependencies: [],
113
+ methods: [],
114
+ attributes: [],
115
+ calls: [],
116
+ sideEffects: [],
117
+ errors: [],
118
+ notes: [],
119
+ summary: "Validate email format"
120
+ },
121
+ sourceRefs: [{ kind: "file", path: "src/utils/validation.ts", section: "validateEmail" }],
122
+ generatedRefs: [],
123
+ traceRefs: []
124
+ },
125
+ {
126
+ id: "node-module-1",
127
+ kind: "module",
128
+ name: "UserModule",
129
+ summary: "User domain module",
130
+ path: "src/modules/user/index.ts",
131
+ contract: {
132
+ inputs: [],
133
+ outputs: [],
134
+ responsibilities: ["Orchestrate user-related operations"],
135
+ dependencies: ["node-class-1", "node-function-1"],
136
+ methods: [],
137
+ attributes: [],
138
+ calls: [],
139
+ sideEffects: [],
140
+ errors: [],
141
+ notes: [],
142
+ summary: "User domain module"
143
+ },
144
+ sourceRefs: [],
145
+ generatedRefs: [],
146
+ traceRefs: []
147
+ }
148
+ ],
149
+ edges: [
150
+ {
151
+ from: "node-api-1",
152
+ to: "node-class-1",
153
+ kind: "imports",
154
+ label: "imports",
155
+ required: true,
156
+ confidence: 1
157
+ },
158
+ {
159
+ from: "node-class-1",
160
+ to: "node-function-1",
161
+ kind: "calls",
162
+ label: "calls",
163
+ required: true,
164
+ confidence: 1
165
+ },
166
+ {
167
+ from: "node-module-1",
168
+ to: "node-class-1",
169
+ kind: "imports",
170
+ label: "imports",
171
+ required: true,
172
+ confidence: 1
173
+ }
174
+ ],
175
+ workflows: [
176
+ {
177
+ id: "workflow-1",
178
+ name: "Create User Flow",
179
+ description: "Flow for creating a new user",
180
+ entryNodeId: "node-api-1",
181
+ tasks: []
182
+ }
183
+ ]
184
+ };
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "jsx": "react-jsx",
5
+ "module": "ESNext",
6
+ "moduleResolution": "bundler"
7
+ },
8
+ "include": ["src/**/*.tsx", "src/**/*.ts"]
9
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "lib": ["ES2022", "dom", "dom.iterable"],
5
+ "module": "ESNext",
6
+ "moduleResolution": "Bundler",
7
+ "outDir": "./dist",
8
+ "rootDir": "./src",
9
+ "declaration": true,
10
+ "declarationMap": true,
11
+ "sourceMap": true,
12
+ "strict": true,
13
+ "esModuleInterop": true,
14
+ "skipLibCheck": true,
15
+ "forceConsistentCasingInFileNames": true,
16
+ "resolveJsonModule": true,
17
+ "jsx": "react-jsx",
18
+ "types": ["node", "vitest/globals"]
19
+ },
20
+ "include": ["src/**/*"],
21
+ "exclude": ["node_modules", "dist", "test-fixtures"]
22
+ }
@@ -0,0 +1 @@
1
+ {"root":["./src/index.ts","./src/bin/cli.ts","./src/components/blueprint-workbench.tsx","./src/components/code-diff-editor.tsx","./src/components/code-editor.tsx","./src/components/file-tabs.tsx","./src/components/file-tree.tsx","./src/components/graph-canvas.tsx","./src/components/ide-layout.tsx","./src/components/ide-workbench.tsx","./src/components/index.ts","./src/components/monaco-setup.ts","./src/components/opencode-settings.tsx","./src/components/policy-workbench.tsx","./src/components/ts-language-service.ts","./src/lib/edit.ts","./src/lib/flow-view.ts","./src/lib/heatmap.ts","./src/lib/index.ts","./src/lib/node-navigation.ts","./src/lib/traces.ts","./src/lib/types.ts","./src/lib/browser/storage.ts","./src/store/blueprint-store.ts","./src/store/index.ts"],"version":"5.9.3"}
@@ -0,0 +1,9 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ environment: "node",
6
+ include: ["src/**/*.test.ts", "src/**/*.test.tsx"],
7
+ globals: true
8
+ }
9
+ });