@w3kits-com/plugin-opendesign 0.1.11 → 0.1.13

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 (130) hide show
  1. package/dist/404/index.html +1 -1
  2. package/dist/404.html +1 -1
  3. package/dist/__next.$oc$slug.__PAGE__.txt +1 -1
  4. package/dist/__next.$oc$slug.txt +1 -1
  5. package/dist/__next._full.txt +1 -1
  6. package/dist/__next._head.txt +1 -1
  7. package/dist/__next._index.txt +1 -1
  8. package/dist/__next._tree.txt +1 -1
  9. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/db.d.ts +1 -1
  10. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/db.js +8 -4
  11. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/db.js.map +1 -1
  12. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/w3kits-memory-sqlite.d.ts +32 -0
  13. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/w3kits-memory-sqlite.js +260 -0
  14. package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/w3kits-memory-sqlite.js.map +1 -0
  15. package/dist/__w3kits/webcontainer-runtime/package.json +6 -2
  16. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/browser-vfs/dist/index.d.ts +108 -0
  17. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/browser-vfs/dist/index.d.ts.map +1 -0
  18. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/browser-vfs/dist/index.mjs +413 -0
  19. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/browser-vfs/package.json +12 -0
  20. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/artifact-id.d.ts +5 -0
  21. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/artifact-id.d.ts.map +1 -0
  22. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/events.d.ts +250 -0
  23. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/events.d.ts.map +1 -0
  24. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/index.d.ts +4 -0
  25. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/index.d.ts.map +1 -0
  26. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/index.mjs +186 -0
  27. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/public-params.d.ts +26 -0
  28. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/public-params.d.ts.map +1 -0
  29. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/app-config.d.ts +44 -0
  30. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/app-config.d.ts.map +1 -0
  31. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/artifacts.d.ts +34 -0
  32. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/artifacts.d.ts.map +1 -0
  33. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/chat.d.ts +158 -0
  34. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/chat.d.ts.map +1 -0
  35. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/comments.d.ts +65 -0
  36. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/comments.d.ts.map +1 -0
  37. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectionTest.d.ts +49 -0
  38. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectionTest.d.ts.map +1 -0
  39. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectionTest.mjs +83 -0
  40. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectors.d.ts +133 -0
  41. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectors.d.ts.map +1 -0
  42. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/files.d.ts +43 -0
  43. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/files.d.ts.map +1 -0
  44. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/finalize.d.ts +50 -0
  45. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/finalize.d.ts.map +1 -0
  46. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/finalize.mjs +5 -0
  47. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/live-artifacts.d.ts +151 -0
  48. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/live-artifacts.d.ts.map +1 -0
  49. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/mcp.d.ts +117 -0
  50. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/mcp.d.ts.map +1 -0
  51. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/memory.d.ts +233 -0
  52. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/memory.d.ts.map +1 -0
  53. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/orbit.d.ts +22 -0
  54. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/orbit.d.ts.map +1 -0
  55. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/orbit.mjs +0 -0
  56. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/projects.d.ts +286 -0
  57. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/projects.d.ts.map +1 -0
  58. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/providerModels.d.ts +19 -0
  59. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/providerModels.d.ts.map +1 -0
  60. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/providerModels.mjs +0 -0
  61. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/proxy.d.ts +24 -0
  62. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/proxy.d.ts.map +1 -0
  63. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/registry.d.ts +156 -0
  64. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/registry.d.ts.map +1 -0
  65. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/research.d.ts +35 -0
  66. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/research.d.ts.map +1 -0
  67. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/research.mjs +9 -0
  68. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/routines.d.ts +104 -0
  69. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/routines.d.ts.map +1 -0
  70. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/version.d.ts +11 -0
  71. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/version.d.ts.map +1 -0
  72. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/common.d.ts +33 -0
  73. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/common.d.ts.map +1 -0
  74. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/critique.d.ts +344 -0
  75. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/critique.d.ts.map +1 -0
  76. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/critique.mjs +182 -0
  77. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/errors.d.ts +40 -0
  78. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/errors.d.ts.map +1 -0
  79. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/examples.d.ts +20 -0
  80. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/examples.d.ts.map +1 -0
  81. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/index.d.ts +31 -0
  82. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/index.d.ts.map +1 -0
  83. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/index.mjs +2072 -0
  84. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/deck-framework.d.ts +39 -0
  85. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/deck-framework.d.ts.map +1 -0
  86. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/directions.d.ts +69 -0
  87. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/directions.d.ts.map +1 -0
  88. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/discovery.d.ts +2 -0
  89. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/discovery.d.ts.map +1 -0
  90. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/media-contract.d.ts +2 -0
  91. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/media-contract.d.ts.map +1 -0
  92. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/official-system.d.ts +12 -0
  93. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/official-system.d.ts.map +1 -0
  94. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/system.d.ts +58 -0
  95. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/system.d.ts.map +1 -0
  96. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/chat.d.ts +96 -0
  97. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/chat.d.ts.map +1 -0
  98. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/common.d.ts +8 -0
  99. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/common.d.ts.map +1 -0
  100. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/proxy.d.ts +6 -0
  101. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/proxy.d.ts.map +1 -0
  102. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/tasks.d.ts +12 -0
  103. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/tasks.d.ts.map +1 -0
  104. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/package.json +40 -0
  105. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/platform/dist/index.d.ts +68 -0
  106. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/platform/dist/index.d.ts.map +1 -0
  107. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/platform/dist/index.mjs +397 -0
  108. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/platform/package.json +12 -0
  109. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar/dist/index.d.ts +144 -0
  110. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar/dist/index.d.ts.map +1 -0
  111. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar/dist/index.mjs +412 -0
  112. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar/package.json +12 -0
  113. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar-proto/dist/index.d.ts +291 -0
  114. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar-proto/dist/index.d.ts.map +1 -0
  115. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar-proto/dist/index.mjs +315 -0
  116. package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar-proto/package.json +12 -0
  117. package/dist/_not-found/__next._full.txt +1 -1
  118. package/dist/_not-found/__next._head.txt +1 -1
  119. package/dist/_not-found/__next._index.txt +1 -1
  120. package/dist/_not-found/__next._not-found.__PAGE__.txt +1 -1
  121. package/dist/_not-found/__next._not-found.txt +1 -1
  122. package/dist/_not-found/__next._tree.txt +1 -1
  123. package/dist/_not-found/index.html +1 -1
  124. package/dist/_not-found/index.txt +1 -1
  125. package/dist/index.html +1 -1
  126. package/dist/index.txt +1 -1
  127. package/package.json +1 -1
  128. /package/dist/_next/static/{DJnxTGY7DiPmoowmfZmqQ → klz1-InlKPyMqk6_5sLYV}/_buildManifest.js +0 -0
  129. /package/dist/_next/static/{DJnxTGY7DiPmoowmfZmqQ → klz1-InlKPyMqk6_5sLYV}/_clientMiddlewareManifest.js +0 -0
  130. /package/dist/_next/static/{DJnxTGY7DiPmoowmfZmqQ → klz1-InlKPyMqk6_5sLYV}/_ssgManifest.js +0 -0
@@ -0,0 +1,260 @@
1
+ const TABLES = [
2
+ 'projects',
3
+ 'templates',
4
+ 'conversations',
5
+ 'messages',
6
+ 'preview_comments',
7
+ 'tabs',
8
+ 'deployments',
9
+ 'routines',
10
+ 'routine_runs',
11
+ 'critique_runs',
12
+ 'media_tasks',
13
+ ];
14
+ function snakeToCamel(value) {
15
+ return value.replace(/_([a-z])/g, (_match, letter) => letter.toUpperCase());
16
+ }
17
+ function normalizeSql(sql) {
18
+ return sql.replace(/\s+/g, ' ').trim();
19
+ }
20
+ function rowWithAliases(row) {
21
+ const out = { ...row };
22
+ for (const [key, value] of Object.entries(row)) {
23
+ out[snakeToCamel(key)] = value;
24
+ }
25
+ return out;
26
+ }
27
+ function parseInsert(sql) {
28
+ const match = /INSERT\s+INTO\s+([a-z_]+)\s*\(([^)]+)\)/i.exec(sql);
29
+ if (!match)
30
+ return null;
31
+ const [, table, columns] = match;
32
+ if (!table || !columns)
33
+ return null;
34
+ return {
35
+ table,
36
+ columns: columns.split(',').map((column) => column.trim()),
37
+ };
38
+ }
39
+ function parseUpdate(sql) {
40
+ const match = /UPDATE\s+([a-z_]+)\s+SET\s+(.+?)\s+WHERE\s+(.+)$/i.exec(normalizeSql(sql));
41
+ if (!match)
42
+ return null;
43
+ const [, table, setClause, whereClause] = match;
44
+ if (!table || !setClause || !whereClause)
45
+ return null;
46
+ return {
47
+ table,
48
+ columns: [...setClause.matchAll(/([a-z_]+)\s*=/gi)].map((item) => item[1]).filter((item) => Boolean(item)),
49
+ where: [...whereClause.matchAll(/([a-z_]+)\s*=\s*\?/gi)].map((item) => item[1]).filter((item) => Boolean(item)),
50
+ };
51
+ }
52
+ function parseDelete(sql) {
53
+ const match = /DELETE\s+FROM\s+([a-z_]+)(?:\s+WHERE\s+(.+))?/i.exec(normalizeSql(sql));
54
+ if (!match)
55
+ return null;
56
+ const [, table, whereClause = ''] = match;
57
+ if (!table)
58
+ return null;
59
+ return {
60
+ table,
61
+ where: [...whereClause.matchAll(/([a-z_]+)\s*=\s*\?/gi)].map((item) => item[1]).filter((item) => Boolean(item)),
62
+ };
63
+ }
64
+ function tableFromSelect(sql) {
65
+ const normalized = normalizeSql(sql);
66
+ if (/WITH project_conversations AS/i.test(normalized))
67
+ return 'conversations';
68
+ return /FROM\s+([a-z_]+)/i.exec(normalized)?.[1] ?? null;
69
+ }
70
+ function compareByNumber(key, direction) {
71
+ return (left, right) => {
72
+ const a = Number(left[key] ?? 0);
73
+ const b = Number(right[key] ?? 0);
74
+ return direction === 'asc' ? a - b : b - a;
75
+ };
76
+ }
77
+ class MemoryStatement {
78
+ db;
79
+ sql;
80
+ constructor(db, sql) {
81
+ this.db = db;
82
+ this.sql = sql;
83
+ }
84
+ all(...args) {
85
+ return this.select(args);
86
+ }
87
+ get(...args) {
88
+ return this.select(args)[0];
89
+ }
90
+ run(...args) {
91
+ const insert = parseInsert(this.sql);
92
+ if (insert)
93
+ return this.runInsert(insert.table, insert.columns, args);
94
+ const update = parseUpdate(this.sql);
95
+ if (update)
96
+ return this.runUpdate(update.table, update.columns, update.where, args);
97
+ const del = parseDelete(this.sql);
98
+ if (del)
99
+ return this.runDelete(del.table, del.where, args);
100
+ return { changes: 0 };
101
+ }
102
+ runInsert(table, columns, args) {
103
+ const row = {};
104
+ columns.forEach((column, index) => {
105
+ row[column] = args[index] ?? null;
106
+ });
107
+ const rows = this.db.rows(table);
108
+ const conflict = this.findInsertConflict(table, row, rows);
109
+ if (conflict)
110
+ Object.assign(conflict, row);
111
+ else
112
+ rows.push(row);
113
+ return { changes: 1, lastInsertRowid: row.id ?? rows.length };
114
+ }
115
+ findInsertConflict(table, row, rows) {
116
+ if (row.id != null)
117
+ return rows.find((item) => item.id === row.id);
118
+ if (table === 'tabs')
119
+ return rows.find((item) => item.project_id === row.project_id && item.name === row.name);
120
+ if (table === 'deployments') {
121
+ return rows.find((item) => item.project_id === row.project_id && item.file_name === row.file_name && item.provider_id === row.provider_id);
122
+ }
123
+ if (table === 'preview_comments') {
124
+ return rows.find((item) => item.project_id === row.project_id && item.conversation_id === row.conversation_id && item.file_path === row.file_path && item.element_id === row.element_id);
125
+ }
126
+ return undefined;
127
+ }
128
+ runUpdate(table, columns, where, args) {
129
+ const rows = this.db.rows(table);
130
+ const whereValues = args.slice(columns.length);
131
+ let changes = 0;
132
+ for (const row of rows) {
133
+ if (!where.every((column, index) => row[column] === whereValues[index]))
134
+ continue;
135
+ columns.forEach((column, index) => {
136
+ row[column] = args[index] ?? null;
137
+ });
138
+ changes += 1;
139
+ }
140
+ return { changes };
141
+ }
142
+ runDelete(table, where, args) {
143
+ const rows = this.db.rows(table);
144
+ const before = rows.length;
145
+ if (where.length === 0) {
146
+ rows.splice(0, rows.length);
147
+ }
148
+ else {
149
+ for (let index = rows.length - 1; index >= 0; index -= 1) {
150
+ const row = rows[index];
151
+ if (row && where.every((column, columnIndex) => row[column] === args[columnIndex]))
152
+ rows.splice(index, 1);
153
+ }
154
+ }
155
+ return { changes: before - rows.length };
156
+ }
157
+ select(args) {
158
+ const normalized = normalizeSql(this.sql);
159
+ if (/^PRAGMA table_info/i.test(normalized))
160
+ return [];
161
+ if (/sqlite_master/i.test(normalized))
162
+ return [];
163
+ if (/COALESCE\(MAX\(position\), -1\) AS m/i.test(normalized)) {
164
+ const conversationId = args[0];
165
+ const positions = this.db.rows('messages').filter((row) => row.conversation_id === conversationId).map((row) => Number(row.position ?? -1));
166
+ return [{ m: positions.length ? Math.max(...positions) : -1 }];
167
+ }
168
+ if (/WITH project_conversations AS/i.test(normalized)) {
169
+ const projectId = args[0];
170
+ return this.db.rows('conversations')
171
+ .filter((row) => row.project_id === projectId)
172
+ .sort(compareByNumber('updated_at', 'desc'))
173
+ .map(rowWithAliases);
174
+ }
175
+ const table = tableFromSelect(this.sql);
176
+ if (!table || !TABLES.includes(table))
177
+ return [];
178
+ let rows = [...this.db.rows(table)];
179
+ rows = this.applyWhere(rows, normalized, args);
180
+ rows = this.applyOrder(rows, normalized);
181
+ rows = this.applyLimit(rows, normalized, args);
182
+ return rows.map(rowWithAliases);
183
+ }
184
+ applyWhere(rows, sql, args) {
185
+ if (/WHERE id = \?/i.test(sql))
186
+ return rows.filter((row) => row.id === args[0]);
187
+ if (/WHERE project_id = \? AND file_name = \? AND provider_id = \?/i.test(sql)) {
188
+ return rows.filter((row) => row.project_id === args[0] && row.file_name === args[1] && row.provider_id === args[2]);
189
+ }
190
+ if (/WHERE project_id = \? AND id = \?/i.test(sql))
191
+ return rows.filter((row) => row.project_id === args[0] && row.id === args[1]);
192
+ if (/WHERE id = \? AND project_id = \? AND conversation_id = \?/i.test(sql)) {
193
+ return rows.filter((row) => row.id === args[0] && row.project_id === args[1] && row.conversation_id === args[2]);
194
+ }
195
+ if (/WHERE project_id = \? AND conversation_id = \? AND file_path = \? AND element_id = \?/i.test(sql)) {
196
+ return rows.filter((row) => row.project_id === args[0] && row.conversation_id === args[1] && row.file_path === args[2] && row.element_id === args[3]);
197
+ }
198
+ if (/WHERE project_id = \? AND conversation_id = \?/i.test(sql))
199
+ return rows.filter((row) => row.project_id === args[0] && row.conversation_id === args[1]);
200
+ if (/WHERE routine_id = \?/i.test(sql))
201
+ return rows.filter((row) => row.routine_id === args[0]);
202
+ if (/WHERE conversation_id = \?/i.test(sql))
203
+ return rows.filter((row) => row.conversation_id === args[0]);
204
+ if (/WHERE project_id = \?/i.test(sql))
205
+ return rows.filter((row) => row.project_id === args[0]);
206
+ if (/WHERE name = \? AND source_project_id = \?/i.test(sql))
207
+ return rows.filter((row) => row.name === args[0] && row.source_project_id === args[1]);
208
+ if (/WHERE status IN \('queued','running'\)/i.test(sql))
209
+ return rows.filter((row) => row.status === 'queued' || row.status === 'running');
210
+ if (/WHERE status = 'running'/i.test(sql))
211
+ return rows.filter((row) => row.status === 'running');
212
+ return rows;
213
+ }
214
+ applyOrder(rows, sql) {
215
+ if (/ORDER BY position ASC/i.test(sql))
216
+ return rows.sort(compareByNumber('position', 'asc'));
217
+ if (/ORDER BY updated_at DESC|ORDER BY c\.updatedAt DESC/i.test(sql))
218
+ return rows.sort(compareByNumber('updated_at', 'desc'));
219
+ if (/ORDER BY created_at DESC/i.test(sql))
220
+ return rows.sort(compareByNumber('created_at', 'desc'));
221
+ if (/ORDER BY created_at ASC/i.test(sql))
222
+ return rows.sort(compareByNumber('created_at', 'asc'));
223
+ if (/ORDER BY started_at DESC/i.test(sql))
224
+ return rows.sort(compareByNumber('started_at', 'desc'));
225
+ return rows;
226
+ }
227
+ applyLimit(rows, sql, args) {
228
+ if (!/LIMIT \?/i.test(sql) && !/LIMIT 1/i.test(sql))
229
+ return rows;
230
+ const limit = /LIMIT 1/i.test(sql) ? 1 : Number(args.at(-1));
231
+ return Number.isFinite(limit) ? rows.slice(0, limit) : rows;
232
+ }
233
+ }
234
+ class MemoryDatabase {
235
+ name;
236
+ data = new Map();
237
+ constructor(name = ':memory:') {
238
+ this.name = name;
239
+ for (const table of TABLES)
240
+ this.data.set(table, []);
241
+ }
242
+ rows(table) {
243
+ if (!this.data.has(table))
244
+ this.data.set(table, []);
245
+ return this.data.get(table);
246
+ }
247
+ prepare(sql) {
248
+ return new MemoryStatement(this, sql);
249
+ }
250
+ exec(_sql) { }
251
+ pragma(_sql) { }
252
+ transaction(fn) {
253
+ return ((...args) => fn(...args));
254
+ }
255
+ close() { }
256
+ }
257
+ export function createW3KitsMemoryDatabase(name) {
258
+ return new MemoryDatabase(name);
259
+ }
260
+ //# sourceMappingURL=w3kits-memory-sqlite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"w3kits-memory-sqlite.js","sourceRoot":"","sources":["../src/w3kits-memory-sqlite.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@
7
7
  "dependencies": {
8
8
  "@modelcontextprotocol/sdk": "^1.0.0",
9
9
  "@opentelemetry/api": "^1.9.0",
10
- "better-sqlite3": "^12.9.0",
11
10
  "blake3-wasm": "2.1.5",
12
11
  "chokidar": "^5.0.0",
13
12
  "express": "^4.19.2",
@@ -15,6 +14,11 @@
15
14
  "multer": "^2.1.1",
16
15
  "posthog-node": "^4.18.0",
17
16
  "prom-client": "^15.1.0",
18
- "undici": "^7.16.0"
17
+ "undici": "^7.16.0",
18
+ "@open-design/contracts": "file:./workspace-packages/@open-design/contracts",
19
+ "@open-design/platform": "file:./workspace-packages/@open-design/platform",
20
+ "@open-design/sidecar": "file:./workspace-packages/@open-design/sidecar",
21
+ "@open-design/sidecar-proto": "file:./workspace-packages/@open-design/sidecar-proto",
22
+ "@open-design/browser-vfs": "file:./workspace-packages/@open-design/browser-vfs"
19
23
  }
20
24
  }
@@ -0,0 +1,108 @@
1
+ export declare class BrowserVfsError extends Error {
2
+ readonly code: string;
3
+ constructor(code: string, message: string);
4
+ }
5
+ export interface WorkspaceFileStat {
6
+ path: string;
7
+ size: number;
8
+ etag: string;
9
+ revision: string;
10
+ updatedAt: string;
11
+ contentType?: string;
12
+ }
13
+ export interface WorkspaceFileEntry extends WorkspaceFileStat {
14
+ kind: "file";
15
+ }
16
+ export interface WorkspaceDirectoryEntry {
17
+ kind: "directory";
18
+ path: string;
19
+ size: 0;
20
+ etag: "";
21
+ revision: "";
22
+ updatedAt: string;
23
+ }
24
+ export type WorkspaceEntry = WorkspaceFileEntry | WorkspaceDirectoryEntry;
25
+ export interface WorkspaceWriteOptions {
26
+ contentType?: string;
27
+ }
28
+ export interface BrowserWorkspaceSnapshotFile {
29
+ path: string;
30
+ contentBase64: string;
31
+ contentType?: string;
32
+ updatedAt: string;
33
+ }
34
+ export interface BrowserWorkspaceSnapshot {
35
+ version: 1;
36
+ files: BrowserWorkspaceSnapshotFile[];
37
+ }
38
+ export interface BrowserWorkspaceBackend {
39
+ stat(path: string): Promise<WorkspaceFileStat | null>;
40
+ readFile(path: string): Promise<Uint8Array | null>;
41
+ writeFile(path: string, data: Uint8Array, options?: WorkspaceWriteOptions): Promise<WorkspaceFileStat>;
42
+ deleteFile(path: string): Promise<boolean>;
43
+ listFiles(prefix?: string): Promise<WorkspaceEntry[]>;
44
+ clear(): Promise<void>;
45
+ }
46
+ export interface BrowserWorkspace {
47
+ readFile(path: string): Promise<Uint8Array | null>;
48
+ readText(path: string): Promise<string | null>;
49
+ writeFile(path: string, data: Uint8Array | string, options?: WorkspaceWriteOptions): Promise<WorkspaceFileStat>;
50
+ deleteFile(path: string): Promise<boolean>;
51
+ stat(path: string): Promise<WorkspaceFileStat | null>;
52
+ listFiles(prefix?: string): Promise<WorkspaceEntry[]>;
53
+ dirtyPaths(): string[];
54
+ markClean(paths?: Iterable<string>): void;
55
+ exportSnapshot(): Promise<Uint8Array>;
56
+ importSnapshot(data: Uint8Array | string, options?: {
57
+ markDirty?: boolean;
58
+ }): Promise<void>;
59
+ }
60
+ export interface PersistentWorkspaceOptions {
61
+ namespace?: string;
62
+ globalScope?: Pick<typeof globalThis, "indexedDB" | "navigator">;
63
+ }
64
+ export declare function normalizeWorkspacePath(input: string): string;
65
+ export declare function projectWorkspaceRoot(projectId: string): string;
66
+ export declare class MemoryWorkspaceBackend implements BrowserWorkspaceBackend {
67
+ private readonly files;
68
+ stat(path: string): Promise<WorkspaceFileStat | null>;
69
+ readFile(path: string): Promise<Uint8Array | null>;
70
+ writeFile(path: string, data: Uint8Array, options?: WorkspaceWriteOptions): Promise<WorkspaceFileStat>;
71
+ deleteFile(path: string): Promise<boolean>;
72
+ listFiles(prefix?: string): Promise<WorkspaceEntry[]>;
73
+ clear(): Promise<void>;
74
+ }
75
+ export declare class OpfsWorkspaceBackend implements BrowserWorkspaceBackend {
76
+ private readonly root;
77
+ private index;
78
+ private constructor();
79
+ static create(options?: PersistentWorkspaceOptions): Promise<OpfsWorkspaceBackend>;
80
+ private filesDirectory;
81
+ private readIndex;
82
+ private writeIndex;
83
+ private fileName;
84
+ stat(path: string): Promise<WorkspaceFileStat | null>;
85
+ readFile(path: string): Promise<Uint8Array | null>;
86
+ writeFile(path: string, data: Uint8Array, options?: WorkspaceWriteOptions): Promise<WorkspaceFileStat>;
87
+ deleteFile(path: string): Promise<boolean>;
88
+ listFiles(prefix?: string): Promise<WorkspaceEntry[]>;
89
+ clear(): Promise<void>;
90
+ }
91
+ export declare class IndexedDbWorkspaceBackend implements BrowserWorkspaceBackend {
92
+ private readonly db;
93
+ private constructor();
94
+ static create(options?: PersistentWorkspaceOptions): Promise<IndexedDbWorkspaceBackend>;
95
+ private store;
96
+ stat(path: string): Promise<WorkspaceFileStat | null>;
97
+ readFile(path: string): Promise<Uint8Array | null>;
98
+ writeFile(path: string, data: Uint8Array, options?: WorkspaceWriteOptions): Promise<WorkspaceFileStat>;
99
+ deleteFile(path: string): Promise<boolean>;
100
+ listFiles(prefix?: string): Promise<WorkspaceEntry[]>;
101
+ clear(): Promise<void>;
102
+ }
103
+ export declare function createPersistentBrowserWorkspaceBackend(options?: PersistentWorkspaceOptions): Promise<BrowserWorkspaceBackend>;
104
+ export declare function createPersistentBrowserWorkspace(options?: PersistentWorkspaceOptions): Promise<BrowserWorkspace>;
105
+ export declare function createBrowserWorkspace(backend?: BrowserWorkspaceBackend): BrowserWorkspace;
106
+ export declare function isOpfsAvailable(globalScope?: Pick<typeof globalThis, "navigator">): boolean;
107
+ export declare function isIndexedDbAvailable(globalScope?: Pick<typeof globalThis, "indexedDB">): boolean;
108
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}