@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.
- package/dist/404/index.html +1 -1
- package/dist/404.html +1 -1
- package/dist/__next.$oc$slug.__PAGE__.txt +1 -1
- package/dist/__next.$oc$slug.txt +1 -1
- package/dist/__next._full.txt +1 -1
- package/dist/__next._head.txt +1 -1
- package/dist/__next._index.txt +1 -1
- package/dist/__next._tree.txt +1 -1
- package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/db.d.ts +1 -1
- package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/db.js +8 -4
- package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/db.js.map +1 -1
- package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/w3kits-memory-sqlite.d.ts +32 -0
- package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/w3kits-memory-sqlite.js +260 -0
- package/dist/__w3kits/webcontainer-runtime/apps/daemon/dist/w3kits-memory-sqlite.js.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/package.json +6 -2
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/browser-vfs/dist/index.d.ts +108 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/browser-vfs/dist/index.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/browser-vfs/dist/index.mjs +413 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/browser-vfs/package.json +12 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/artifact-id.d.ts +5 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/artifact-id.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/events.d.ts +250 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/events.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/index.d.ts +4 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/index.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/index.mjs +186 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/public-params.d.ts +26 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/analytics/public-params.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/app-config.d.ts +44 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/app-config.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/artifacts.d.ts +34 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/artifacts.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/chat.d.ts +158 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/chat.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/comments.d.ts +65 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/comments.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectionTest.d.ts +49 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectionTest.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectionTest.mjs +83 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectors.d.ts +133 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/connectors.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/files.d.ts +43 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/files.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/finalize.d.ts +50 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/finalize.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/finalize.mjs +5 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/live-artifacts.d.ts +151 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/live-artifacts.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/mcp.d.ts +117 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/mcp.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/memory.d.ts +233 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/memory.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/orbit.d.ts +22 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/orbit.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/orbit.mjs +0 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/projects.d.ts +286 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/projects.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/providerModels.d.ts +19 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/providerModels.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/providerModels.mjs +0 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/proxy.d.ts +24 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/proxy.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/registry.d.ts +156 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/registry.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/research.d.ts +35 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/research.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/research.mjs +9 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/routines.d.ts +104 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/routines.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/version.d.ts +11 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/api/version.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/common.d.ts +33 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/common.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/critique.d.ts +344 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/critique.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/critique.mjs +182 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/errors.d.ts +40 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/errors.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/examples.d.ts +20 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/examples.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/index.d.ts +31 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/index.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/index.mjs +2072 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/deck-framework.d.ts +39 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/deck-framework.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/directions.d.ts +69 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/directions.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/discovery.d.ts +2 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/discovery.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/media-contract.d.ts +2 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/media-contract.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/official-system.d.ts +12 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/official-system.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/system.d.ts +58 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/prompts/system.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/chat.d.ts +96 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/chat.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/common.d.ts +8 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/common.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/proxy.d.ts +6 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/sse/proxy.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/tasks.d.ts +12 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/dist/tasks.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/contracts/package.json +40 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/platform/dist/index.d.ts +68 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/platform/dist/index.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/platform/dist/index.mjs +397 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/platform/package.json +12 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar/dist/index.d.ts +144 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar/dist/index.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar/dist/index.mjs +412 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar/package.json +12 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar-proto/dist/index.d.ts +291 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar-proto/dist/index.d.ts.map +1 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar-proto/dist/index.mjs +315 -0
- package/dist/__w3kits/webcontainer-runtime/workspace-packages/@open-design/sidecar-proto/package.json +12 -0
- package/dist/_not-found/__next._full.txt +1 -1
- package/dist/_not-found/__next._head.txt +1 -1
- package/dist/_not-found/__next._index.txt +1 -1
- package/dist/_not-found/__next._not-found.__PAGE__.txt +1 -1
- package/dist/_not-found/__next._not-found.txt +1 -1
- package/dist/_not-found/__next._tree.txt +1 -1
- package/dist/_not-found/index.html +1 -1
- package/dist/_not-found/index.txt +1 -1
- package/dist/index.html +1 -1
- package/dist/index.txt +1 -1
- package/package.json +1 -1
- /package/dist/_next/static/{DJnxTGY7DiPmoowmfZmqQ → klz1-InlKPyMqk6_5sLYV}/_buildManifest.js +0 -0
- /package/dist/_next/static/{DJnxTGY7DiPmoowmfZmqQ → klz1-InlKPyMqk6_5sLYV}/_clientMiddlewareManifest.js +0 -0
- /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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"}
|