Skip to content

Commit 6874d11

Browse files
committed
feat: docs site link, plugin registry tracking, FastAPI migration plan
- Add Docs link to sidebar user menu (blockdata.run/docs) - Create plugin-registry.mdx tracking all 166 plugin groups across 14 categories - Create edge-to-fastapi-migration.mdx plan (19 functions, 5 phases) - Update docs.json navigation with new pages - Settings admin cleanup, catalog panel updates - Rename pipeline-worker to blockdata-worker in pyproject.toml
1 parent 23a25aa commit 6874d11

13 files changed

Lines changed: 1105 additions & 1161 deletions

File tree

services/pipeline-worker/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[project]
2-
name = "pipeline-worker"
2+
name = "blockdata-worker"
33
version = "0.1.0"
4-
description = "Kestra-compatible plugin execution engine — no JVM required"
4+
description = "Blockdata plugin execution engine"
55
requires-python = ">=3.11"
66
dependencies = [
77
"fastapi>=0.110",

supabase/functions/admin-integration-catalog/index.ts

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,38 @@ export async function handleAdminIntegrationCatalogRequest(
294294
}
295295

296296
if (target === "hydrate_detail" || target === "hydrate_schema" || target === "hydrate_markdown") {
297-
return json(400, { error: "hydrate_* targets are disabled in internal catalog mode" });
297+
const taskClassInput = typeof body.task_class === "string" ? body.task_class : "";
298+
const taskClass = normalizeTaskClassInput(taskClassInput);
299+
if (!taskClass) return json(400, { error: "Missing task_class" });
300+
301+
const { data: itemRows, error: itemErr } = await supabaseAdmin
302+
.from(catalogTable)
303+
.select("item_id,source,external_id,task_class,task_schema,task_markdown")
304+
.or(`external_id.eq.${taskClass},task_class.eq.${taskClass}`)
305+
.limit(1);
306+
if (itemErr) return json(500, { error: `Failed to load catalog item detail: ${itemErr.message}` });
307+
308+
const row = Array.isArray(itemRows) ? itemRows[0] : null;
309+
if (!row) {
310+
return json(404, { error: `Catalog item not found for task_class: ${taskClass}` });
311+
}
312+
313+
const hasSchema = isPlainObject((row as { task_schema?: unknown }).task_schema);
314+
const markdownValue = (row as { task_markdown?: unknown }).task_markdown;
315+
const hasMarkdown = typeof markdownValue === "string" && markdownValue.trim().length > 0;
316+
317+
return json(200, {
318+
ok: true,
319+
updated_target: target,
320+
external_id: taskClass,
321+
mode: "internal_catalog_only",
322+
source_url: null,
323+
fetched_from_url: null,
324+
used_fallback: false,
325+
has_schema: hasSchema,
326+
has_markdown: hasMarkdown,
327+
message: "Hydration resolved from internal catalog storage.",
328+
});
298329
}
299330

300331
return json(400, {

web-docs/docs.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@
4747
"group": "Infrastructure",
4848
"pages": [
4949
"s",
50-
"edge-functions"
50+
"edge-functions",
51+
"infrastructure/plugin-registry"
5152
]
5253
},
5354
{
@@ -60,7 +61,8 @@
6061
{
6162
"group": "Plans",
6263
"pages": [
63-
"plans/services-scalability-plan"
64+
"plans/services-scalability-plan",
65+
"plans/edge-to-fastapi-migration"
6466
]
6567
}
6668
]

0 commit comments

Comments
 (0)