@jhizzard/termdeck 0.7.2 → 0.8.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.
- package/config/transcript-migration.sql +34 -0
- package/package.json +2 -1
- package/packages/cli/src/auto-orchestrate.js +28 -22
- package/packages/cli/src/doctor.js +296 -16
- package/packages/cli/src/index.js +117 -10
- package/packages/cli/src/init-mnestra.js +31 -7
- package/packages/cli/src/init-rumen.js +30 -33
- package/packages/cli/src/mcp-config.js +174 -0
- package/packages/cli/src/stack.js +61 -11
- package/packages/client/public/app.js +114 -2
- package/packages/client/public/style.css +121 -0
- package/packages/server/src/config.js +96 -0
- package/packages/server/src/index.js +176 -6
- package/packages/server/src/rag.js +43 -0
- package/packages/server/src/setup/migration-runner.js +12 -5
- package/packages/server/src/setup/mnestra-migrations/008_legacy_rag_tables.sql +122 -0
- package/packages/server/src/setup/preconditions.js +24 -4
|
@@ -39,6 +39,18 @@
|
|
|
39
39
|
|
|
40
40
|
const { spawnSync } = require('child_process');
|
|
41
41
|
const pgRunner = require('./pg-runner');
|
|
42
|
+
const supabaseUrlHelper = require('./supabase-url');
|
|
43
|
+
|
|
44
|
+
// Build the project-specific Supabase dashboard URL for the Database →
|
|
45
|
+
// Extensions page when SUPABASE_URL is derivable, else null. Sprint 35 T3:
|
|
46
|
+
// previous hints said "Database → Extensions" with no clickable target —
|
|
47
|
+
// this gives the user a one-click landing page.
|
|
48
|
+
function extensionsDashboardUrl(secrets) {
|
|
49
|
+
if (!secrets || !secrets.SUPABASE_URL) return null;
|
|
50
|
+
const parsed = supabaseUrlHelper.parseProjectUrl(secrets.SUPABASE_URL);
|
|
51
|
+
if (!parsed.ok) return null;
|
|
52
|
+
return `https://supabase.com/dashboard/project/${parsed.projectRef}/database/extensions`;
|
|
53
|
+
}
|
|
42
54
|
|
|
43
55
|
// Render a single gap into 2-3 lines of CLI output (one indented hint per
|
|
44
56
|
// non-empty `hint` line). Format aligned with the rest of the wizard's
|
|
@@ -144,6 +156,13 @@ async function auditRumenPreconditions({ secrets, env, _pgClient } = {}) {
|
|
|
144
156
|
return { ok: gaps.length === 0, gaps };
|
|
145
157
|
}
|
|
146
158
|
|
|
159
|
+
// Project-specific dashboard URL for missing-extension hints. Falls back
|
|
160
|
+
// to generic copy when SUPABASE_URL isn't derivable.
|
|
161
|
+
const dashboardUrl = extensionsDashboardUrl(secrets);
|
|
162
|
+
const dashboardLine = dashboardUrl
|
|
163
|
+
? ` Open: ${dashboardUrl}\n Search for the extension and toggle it ON.`
|
|
164
|
+
: ' Database → Extensions → toggle ON';
|
|
165
|
+
|
|
147
166
|
try {
|
|
148
167
|
// pg_cron extension
|
|
149
168
|
const cron = await safeQuery(client,
|
|
@@ -153,8 +172,8 @@ async function auditRumenPreconditions({ secrets, env, _pgClient } = {}) {
|
|
|
153
172
|
key: 'pg_cron',
|
|
154
173
|
message: 'The pg_cron extension is not enabled on this Supabase project',
|
|
155
174
|
hint:
|
|
156
|
-
'Enable
|
|
157
|
-
|
|
175
|
+
'Enable pg_cron in the Supabase dashboard:\n' +
|
|
176
|
+
dashboardLine + '\n' +
|
|
158
177
|
'(Without pg_cron, the rumen-tick schedule cannot run.)'
|
|
159
178
|
});
|
|
160
179
|
}
|
|
@@ -167,8 +186,8 @@ async function auditRumenPreconditions({ secrets, env, _pgClient } = {}) {
|
|
|
167
186
|
key: 'pg_net',
|
|
168
187
|
message: 'The pg_net extension is not enabled on this Supabase project',
|
|
169
188
|
hint:
|
|
170
|
-
'Enable
|
|
171
|
-
|
|
189
|
+
'Enable pg_net in the Supabase dashboard:\n' +
|
|
190
|
+
dashboardLine + '\n' +
|
|
172
191
|
'(pg_net is what the cron schedule uses to call the Edge Function.)'
|
|
173
192
|
});
|
|
174
193
|
}
|
|
@@ -364,6 +383,7 @@ module.exports = {
|
|
|
364
383
|
verifyMnestraOutcomes,
|
|
365
384
|
printAuditReport,
|
|
366
385
|
printVerifyReport,
|
|
386
|
+
extensionsDashboardUrl,
|
|
367
387
|
// Test surface
|
|
368
388
|
_probeSupabaseAuth: probeSupabaseAuth,
|
|
369
389
|
_safeQuery: safeQuery
|