spine-framework 0.4.4 → 0.5.0-rc.4
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/.env.example +13 -3
- package/.framework/cli/commands/bootstrap.ts +392 -0
- package/.framework/cli/commands/dev.ts +91 -218
- package/.framework/cli/commands/doctor.ts +132 -26
- package/.framework/cli/commands/generate.ts +38 -298
- package/.framework/cli/commands/init.ts +20 -1
- package/.framework/cli/commands/migrate.ts +36 -30
- package/.framework/cli/commands/migrations.ts +16 -56
- package/.framework/cli/commands/upgrade.ts +35 -0
- package/.framework/cli/commands/validate-schema.ts +147 -0
- package/.framework/cli/context.ts +223 -110
- package/.framework/cli/index.ts +6 -0
- package/.framework/cli/lib/project-files.ts +241 -1
- package/.framework/functions/_shared/hash-api-key.ts +183 -79
- package/.framework/functions/_shared/logging.ts +562 -224
- package/.framework/functions/_shared/middleware.ts +47 -44
- package/.framework/functions/admin-data.ts +39 -28
- package/.framework/functions/ai-agents.ts +10 -6
- package/.framework/functions/api-keys.ts +301 -122
- package/.framework/functions/apps.ts +43 -26
- package/.framework/functions/cil-ingest.ts +48 -15
- package/.framework/functions/debug-auth.ts +14 -8
- package/.framework/functions/deliveries.ts +39 -12
- package/.framework/functions/embeddings.ts +145 -76
- package/.framework/functions/integration-outbound.ts +67 -27
- package/.framework/functions/integrations.ts +254 -127
- package/.framework/functions/logs.ts +273 -133
- package/.framework/functions/observability.ts +277 -147
- package/.framework/functions/pipeline-executions.ts +1 -1
- package/.framework/functions/pipelines.ts +14 -9
- package/.framework/functions/prompt-configs.ts +7 -4
- package/.framework/functions/roles.ts +8 -5
- package/.framework/functions/security.ts +30 -17
- package/.framework/functions/system-cron.ts +240 -127
- package/.framework/functions/tests.ts +7 -6
- package/.framework/functions/timers.ts +310 -107
- package/.framework/functions/triggers.ts +28 -13
- package/.framework/functions/types.ts +13 -10
- package/.framework/migrations/069_log_stats_window.sql +54 -0
- package/.framework/migrations/070_app_type_schema_rpcs.sql +166 -0
- package/.framework/migrations/071_timer_interval_keys.sql +96 -0
- package/.framework/migrations/072_slug_autofill.sql +77 -0
- package/.framework/migrations/073_seed_member_roles.sql +26 -0
- package/.framework/src/apps/admin/index.tsx +1141 -775
- package/.framework/src/components/ErrorBoundary.tsx +136 -0
- package/.framework/src/components/admin/AdminListPage.tsx +81 -73
- package/.framework/src/components/admin/AdminSidebar.tsx +88 -79
- package/.framework/src/components/admin/EntitySelect.tsx +181 -0
- package/.framework/src/components/admin/PageInstructions.tsx +86 -127
- package/.framework/src/components/app-shell/GenericDetailPage.tsx +37 -13
- package/.framework/src/components/app-shell/GenericListPage.tsx +28 -32
- package/.framework/src/components/layout/Sidebar.tsx +300 -177
- package/.framework/src/components/runtime/DataDetailPage.tsx +67 -35
- package/.framework/src/components/runtime/DataHeader.tsx +96 -48
- package/.framework/src/components/runtime/DataListPage.tsx +3 -26
- package/.framework/src/components/runtime/DataStats.tsx +10 -10
- package/.framework/src/components/runtime/DataTable.tsx +12 -10
- package/.framework/src/components/ui/sheet.tsx +24 -26
- package/.framework/src/components/ui/textarea.tsx +74 -48
- package/.framework/src/hooks/useEntityList.ts +12 -9
- package/.framework/src/hooks/useListSchema.ts +108 -58
- package/.framework/src/instructions/README.md +57 -0
- package/.framework/src/instructions/ai-agents.md +69 -0
- package/.framework/src/instructions/alerts.md +80 -0
- package/.framework/src/instructions/api-keys.md +87 -0
- package/.framework/src/instructions/apps.md +77 -0
- package/.framework/src/instructions/concepts/ai-and-prompts.md +150 -0
- package/.framework/src/instructions/concepts/apps-and-renderers.md +162 -0
- package/.framework/src/instructions/concepts/auth-and-api-keys.md +133 -0
- package/.framework/src/instructions/concepts/automation.md +186 -0
- package/.framework/src/instructions/concepts/concurrency-and-idempotency.md +125 -0
- package/.framework/src/instructions/concepts/core-vs-custom.md +124 -0
- package/.framework/src/instructions/concepts/design-schema.md +152 -0
- package/.framework/src/instructions/concepts/integrations-and-webhooks.md +127 -0
- package/.framework/src/instructions/concepts/observability.md +116 -0
- package/.framework/src/instructions/concepts/permissions.md +150 -0
- package/.framework/src/instructions/concepts/runtime-records.md +111 -0
- package/.framework/src/instructions/concepts/scope-and-accounts.md +112 -0
- package/.framework/src/instructions/concepts/spine-way.md +172 -0
- package/.framework/src/instructions/deliveries.md +59 -0
- package/.framework/src/instructions/guide/00-orientation.md +106 -0
- package/.framework/src/instructions/guide/01-install-and-first-run.md +253 -0
- package/.framework/src/instructions/guide/02-project-map.md +147 -0
- package/.framework/src/instructions/guide/03-domain-model.md +223 -0
- package/.framework/src/instructions/guide/04-first-app.md +227 -0
- package/.framework/src/instructions/guide/05-glossary.md +183 -0
- package/.framework/src/instructions/integrations.md +96 -0
- package/.framework/src/instructions/internal/cil-markers.md +83 -0
- package/.framework/src/instructions/invites.md +60 -0
- package/.framework/src/instructions/kb.md +80 -0
- package/.framework/src/instructions/logs.md +77 -0
- package/.framework/src/instructions/observability.md +61 -0
- package/.framework/src/instructions/operations/deployment.md +115 -0
- package/.framework/src/instructions/operations/migrations.md +125 -0
- package/.framework/src/instructions/operations/security-checklist.md +148 -0
- package/.framework/src/instructions/operations/troubleshooting.md +170 -0
- package/.framework/src/instructions/operations/upgrade.md +116 -0
- package/.framework/src/instructions/pipeline-executions.md +62 -0
- package/.framework/src/instructions/pipelines.md +78 -0
- package/.framework/src/instructions/prompts.md +95 -0
- package/.framework/src/instructions/reference/api/admin-data.md +162 -0
- package/.framework/src/instructions/reference/api/auth.md +113 -0
- package/.framework/src/instructions/reference/api/errors-and-envelopes.md +113 -0
- package/.framework/src/instructions/reference/app-manifest.md +150 -0
- package/.framework/src/instructions/reference/cli.md +124 -0
- package/.framework/src/instructions/reference/database.md +132 -0
- package/.framework/src/instructions/reference/design-schema.md +280 -0
- package/.framework/src/instructions/reference/env-vars.md +133 -0
- package/.framework/src/instructions/reference/functions/account-nodes.md +75 -0
- package/.framework/src/instructions/reference/functions/admin-data.md +195 -0
- package/.framework/src/instructions/reference/functions/admin-funnel.md +90 -0
- package/.framework/src/instructions/reference/functions/admin-install-funnel.md +107 -0
- package/.framework/src/instructions/reference/functions/admin-signals.md +102 -0
- package/.framework/src/instructions/reference/functions/ai-agents.md +148 -0
- package/.framework/src/instructions/reference/functions/ai-interactions.md +156 -0
- package/.framework/src/instructions/reference/functions/api-keys.md +130 -0
- package/.framework/src/instructions/reference/functions/apps.md +140 -0
- package/.framework/src/instructions/reference/functions/auth.md +99 -0
- package/.framework/src/instructions/reference/functions/debug-auth.md +91 -0
- package/.framework/src/instructions/reference/functions/deliveries.md +110 -0
- package/.framework/src/instructions/reference/functions/embeddings.md +166 -0
- package/.framework/src/instructions/reference/functions/eval-harness.md +149 -0
- package/.framework/src/instructions/reference/functions/index.md +103 -0
- package/.framework/src/instructions/reference/functions/integration-outbound.md +200 -0
- package/.framework/src/instructions/reference/functions/integration-routes.md +151 -0
- package/.framework/src/instructions/reference/functions/integrations.md +130 -0
- package/.framework/src/instructions/reference/functions/invites.md +182 -0
- package/.framework/src/instructions/reference/functions/item-progress.md +107 -0
- package/.framework/src/instructions/reference/functions/kb.md +166 -0
- package/.framework/src/instructions/reference/functions/logs.md +141 -0
- package/.framework/src/instructions/reference/functions/observability.md +105 -0
- package/.framework/src/instructions/reference/functions/pipeline-executions.md +132 -0
- package/.framework/src/instructions/reference/functions/pipeline-runner-background.md +121 -0
- package/.framework/src/instructions/reference/functions/pipelines.md +136 -0
- package/.framework/src/instructions/reference/functions/prompt-configs.md +121 -0
- package/.framework/src/instructions/reference/functions/roles.md +121 -0
- package/.framework/src/instructions/reference/functions/security.md +140 -0
- package/.framework/src/instructions/reference/functions/system-cron.md +136 -0
- package/.framework/src/instructions/reference/functions/system.md +106 -0
- package/.framework/src/instructions/reference/functions/tests.md +97 -0
- package/.framework/src/instructions/reference/functions/timers.md +117 -0
- package/.framework/src/instructions/reference/functions/trigger-scheduler.md +102 -0
- package/.framework/src/instructions/reference/functions/triggers.md +140 -0
- package/.framework/src/instructions/reference/functions/types.md +146 -0
- package/.framework/src/instructions/reference/seeds.md +126 -0
- package/.framework/src/instructions/reference/shared-modules.md +127 -0
- package/.framework/src/instructions/reference/spine-config.md +114 -0
- package/.framework/src/instructions/roles.md +80 -0
- package/.framework/src/instructions/runtime-detail.md +70 -0
- package/.framework/src/instructions/runtime-list.md +77 -0
- package/.framework/src/instructions/security.md +67 -0
- package/.framework/src/instructions/tasks/add-a-pipeline.md +110 -0
- package/.framework/src/instructions/tasks/add-a-role.md +96 -0
- package/.framework/src/instructions/tasks/add-a-timer.md +114 -0
- package/.framework/src/instructions/tasks/add-a-trigger.md +106 -0
- package/.framework/src/instructions/tasks/add-a-type.md +151 -0
- package/.framework/src/instructions/tasks/add-a-webhook.md +108 -0
- package/.framework/src/instructions/tasks/add-an-ai-agent.md +108 -0
- package/.framework/src/instructions/tasks/add-an-integration.md +124 -0
- package/.framework/src/instructions/tasks/build-a-custom-page.md +118 -0
- package/.framework/src/instructions/tasks/package-and-install-an-app.md +127 -0
- package/.framework/src/instructions/tasks/test-your-code.md +108 -0
- package/.framework/src/instructions/tasks/write-a-function.md +132 -0
- package/.framework/src/instructions/tasks/write-a-migration.md +110 -0
- package/.framework/src/instructions/testing.md +59 -0
- package/.framework/src/instructions/timers.md +82 -0
- package/.framework/src/instructions/triggers.md +69 -0
- package/.framework/src/instructions/types.md +93 -0
- package/.framework/src/pages/NotFoundPage.tsx +62 -31
- package/.framework/src/pages/admin/AIAgentDetailPage.tsx +117 -106
- package/.framework/src/pages/admin/AIAgentsPage.tsx +86 -48
- package/.framework/src/pages/admin/APIKeyDetailPage.tsx +153 -152
- package/.framework/src/pages/admin/APIKeysPage.tsx +91 -90
- package/.framework/src/pages/admin/AlertsConfigPage.tsx +29 -18
- package/.framework/src/pages/admin/AppDetailPage.tsx +6 -60
- package/.framework/src/pages/admin/AppsPage.tsx +104 -66
- package/.framework/src/pages/admin/DeliveriesPage.tsx +5 -5
- package/.framework/src/pages/admin/EmbeddingDetailPage.tsx +5 -23
- package/.framework/src/pages/admin/EmbeddingsPage.tsx +5 -26
- package/.framework/src/pages/admin/IntegrationDetailPage.tsx +7 -7
- package/.framework/src/pages/admin/IntegrationsPage.tsx +85 -43
- package/.framework/src/pages/admin/LogsPage.tsx +144 -76
- package/.framework/src/pages/admin/ObservabilityDashboard.tsx +223 -140
- package/.framework/src/pages/admin/PipelineDetailPage.tsx +134 -113
- package/.framework/src/pages/admin/PipelineExecutionsPage.tsx +108 -45
- package/.framework/src/pages/admin/PipelinesPage.tsx +160 -115
- package/.framework/src/pages/admin/PromptConfigDetailPage.tsx +96 -98
- package/.framework/src/pages/admin/PromptConfigsPage.tsx +101 -59
- package/.framework/src/pages/admin/RoleDetailPage.tsx +90 -79
- package/.framework/src/pages/admin/RolesPage.tsx +86 -43
- package/.framework/src/pages/admin/SecurityPage.tsx +1 -1
- package/.framework/src/pages/admin/TestingDashboard.tsx +16 -28
- package/.framework/src/pages/admin/TimerDetailPage.tsx +117 -100
- package/.framework/src/pages/admin/TimersPage.tsx +90 -62
- package/.framework/src/pages/admin/TriggerDetailPage.tsx +90 -83
- package/.framework/src/pages/admin/TriggersPage.tsx +124 -99
- package/.framework/src/pages/admin/TypeDetailPage.tsx +152 -138
- package/.framework/src/pages/admin/TypesPage.tsx +90 -48
- package/.framework/src/pages/admin/cil/CILAgentPage.tsx +17 -25
- package/.framework/src/pages/admin/cil/CILChunkDetailPage.tsx +17 -27
- package/.framework/src/pages/admin/cil/CILDashboardPage.tsx +72 -40
- package/.framework/src/pages/admin/cil/CILFileListPage.tsx +321 -129
- package/.framework/src/pages/admin/cil/CILFileSelectPage.tsx +18 -29
- package/.framework/src/pages/admin/cil/CILGraphPage.tsx +26 -38
- package/.framework/src/pages/admin/cil/CILIngestionPage.tsx +34 -46
- package/.framework/src/pages/admin/cil/CILProjectsPage.tsx +189 -103
- package/.framework/src/pages/admin/cil/CILSearchPage.tsx +246 -136
- package/.framework/src/pages/admin/cil/CILSuggestionsPage.tsx +11 -22
- package/.framework/src/pages/admin/cil/CILVersionsPage.tsx +9 -20
- package/.framework/src/pages/admin/cil/FlexiblePipelinePage.tsx +26 -38
- package/.framework/src/pages/admin/kb/KBAdminPage.tsx +7 -26
- package/.framework/templates/agent/AGENTS.md +150 -0
- package/.framework/templates/agent/skills/spine-add-ai-agent/SKILL.md +58 -0
- package/.framework/templates/agent/skills/spine-add-automation/SKILL.md +62 -0
- package/.framework/templates/agent/skills/spine-add-integration/SKILL.md +63 -0
- package/.framework/templates/agent/skills/spine-architect/SKILL.md +86 -0
- package/.framework/templates/agent/skills/spine-install-app/SKILL.md +72 -0
- package/.framework/templates/agent/skills/spine-migration/SKILL.md +75 -0
- package/.framework/templates/agent/skills/spine-new-app/SKILL.md +67 -0
- package/.framework/templates/agent/skills/spine-new-function/SKILL.md +65 -0
- package/.framework/templates/agent/skills/spine-new-type/SKILL.md +65 -0
- package/.framework/templates/agent/skills/spine-schema/SKILL.md +77 -0
- package/.framework/templates/agent/skills/spine-test/SKILL.md +67 -0
- package/.framework/templates/agent/skills/spine-troubleshoot/SKILL.md +74 -0
- package/.framework/templates/agent/skills/spine-upgrade/SKILL.md +69 -0
- package/.framework/templates/project.json +4 -1
- package/.framework/tests/unit/account-scoping-gates.test.ts +392 -0
- package/.framework/tests/unit/agent-files.test.ts +355 -0
- package/.framework/tests/unit/agent-runner.test.ts +479 -44
- package/.framework/tests/unit/api-keys-create-scope-gate.test.ts +160 -0
- package/.framework/tests/unit/api-keys-omit-secret-fields.test.ts +38 -0
- package/.framework/tests/unit/bootstrap.test.ts +242 -0
- package/.framework/tests/unit/cli-context-api-key.test.ts +114 -0
- package/.framework/tests/unit/debug-auth.test.ts +38 -0
- package/.framework/tests/unit/deliveries-account-scoping.test.ts +185 -0
- package/.framework/tests/unit/integration-outbound-credentials.test.ts +167 -0
- package/.framework/tests/unit/integrations-audit-redaction.test.ts +130 -0
- package/.framework/tests/unit/logging-app-id.test.ts +75 -0
- package/.framework/tests/unit/system-context-denial.test.ts +145 -0
- package/.framework/tests/unit/system-cron.test.ts +240 -0
- package/.framework/tests/unit/timers.test.ts +159 -0
- package/README.md +125 -166
- package/config/tsconfig.cli.json +2 -2
- package/package.json +15 -4
- package/templates/project/package-lock.json +2 -2
- package/.framework/docs/admin-routes.md +0 -76
- package/.framework/docs/api-docs-progress.md +0 -38
- package/.framework/docs/api-governance.md +0 -146
- package/.framework/docs/api-testing-results.md +0 -212
- package/.framework/docs/assembly-launch-guide.md +0 -138
- package/.framework/docs/audit-results.md +0 -590
- package/.framework/docs/db-api-inventory.md +0 -95
- package/.framework/docs/gap-remediation-backlog.md +0 -103
- package/.framework/docs/ui-adoption-verification.md +0 -111
- package/.framework/docs/ui-api-coverage.md +0 -84
- package/.framework/docs/v2-compatibility-audit.md +0 -228
- package/.framework/mcp/index.ts +0 -133
- package/.framework/mcp/load-env.ts +0 -60
- package/.framework/mcp/shared/app-manifest.ts +0 -275
- package/.framework/mcp/shared/db.ts +0 -477
- package/.framework/mcp/shared/kb.ts +0 -118
- package/.framework/mcp/tools/architect.ts +0 -431
- package/.framework/mcp/tools/cil/context.ts +0 -345
- package/.framework/mcp/tools/cil/graph.ts +0 -242
- package/.framework/mcp/tools/cil/ingest.ts +0 -1217
- package/.framework/mcp/tools/cil/pipeline-orchestrator.ts +0 -693
- package/.framework/mcp/tools/cil/pipeline.ts +0 -767
- package/.framework/mcp/tools/cil/project.ts +0 -791
- package/.framework/mcp/tools/cil/retrieval.ts +0 -336
- package/.framework/mcp/tools/cil/search-core.ts +0 -454
- package/.framework/mcp/tools/cil/search.ts +0 -97
- package/.framework/mcp/tools/cil/suggest.ts +0 -186
- package/.framework/mcp/tools/cil/validate.ts +0 -1369
- package/.framework/mcp/tools/kb/delete.ts +0 -139
- package/.framework/mcp/tools/kb/index.ts +0 -52
- package/.framework/mcp/tools/kb/ingest.ts +0 -84
- package/.framework/mcp/tools/kb/list-types.ts +0 -102
- package/.framework/mcp/tools/kb/publish.ts +0 -100
- package/.framework/mcp/tools/kb/reindex.ts +0 -86
- package/.framework/mcp/tools/kb/revoke.ts +0 -85
- package/.framework/mcp/tools/kb/search.ts +0 -101
- package/.framework/mcp/tools/kb/upsert.ts +0 -125
- package/.framework/mcp/tools/observability.ts +0 -510
package/README.md
CHANGED
|
@@ -1,223 +1,182 @@
|
|
|
1
1
|
# Spine Framework
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Spine Framework is a multi-tenant application platform that gives you the
|
|
4
|
+
boring 80% of a SaaS product — auth and tenancy, RBAC, typed runtime records,
|
|
5
|
+
pipelines/triggers/timers, integrations, a schema-driven admin UI, and
|
|
6
|
+
observability — so you and your AI coding agent build only the 20% that makes
|
|
7
|
+
your app unique. It is designed to be developed on with agentic IDEs: `init`
|
|
8
|
+
writes an `AGENTS.md` rules file, a set of `.devin/skills/spine-*` procedures,
|
|
9
|
+
and ships a complete instruction book that your agent reads while it works.
|
|
4
10
|
|
|
5
|
-
|
|
11
|
+
The stack is deliberately conventional: React + Vite frontend, Netlify
|
|
12
|
+
Functions as the API layer, Supabase (Postgres + Auth) as the database.
|
|
6
13
|
|
|
7
|
-
## Quick
|
|
8
|
-
|
|
9
|
-
### Prerequisites
|
|
10
|
-
|
|
11
|
-
- Node.js 22+
|
|
12
|
-
- A [Supabase](https://supabase.com) project
|
|
13
|
-
- A [Netlify](https://netlify.com) account
|
|
14
|
-
|
|
15
|
-
### Start with an app
|
|
16
|
-
|
|
17
|
-
The fastest way to a running system is an app package that scaffolds the framework plus itself:
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
npm create @spine-framework/answer-once my-app
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
### Or scaffold the framework alone
|
|
14
|
+
## Quick start
|
|
24
15
|
|
|
25
16
|
```bash
|
|
26
17
|
mkdir my-app && cd my-app
|
|
27
|
-
npm install spine-framework
|
|
18
|
+
npm install spine-framework
|
|
28
19
|
npx spine-framework init
|
|
29
20
|
```
|
|
30
21
|
|
|
31
|
-
|
|
22
|
+
Installing a local tarball or pre-release? `npm i ./spine-framework-<ver>.tgz`
|
|
23
|
+
works too — `init` preserves the `file:` spec in `package.json` instead of
|
|
24
|
+
stamping a registry version.
|
|
32
25
|
|
|
33
|
-
|
|
26
|
+
`init` copies the framework file set (`.framework/`, `config/`, `scripts/`,
|
|
27
|
+
`bin/`), writes `package.json` / `netlify.toml` / `spine.config.json` /
|
|
28
|
+
`.env.example`, creates an empty `custom/` workspace for your code, and
|
|
29
|
+
freezes a `.spine-manifest.json` integrity manifest. It does **not** run
|
|
30
|
+
`npm install`, write `.env`, or touch your database.
|
|
34
31
|
|
|
35
|
-
|
|
32
|
+
### 1. Configure `.env`
|
|
36
33
|
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
SUPABASE_ANON_KEY=your-anon-key
|
|
40
|
-
SUPABASE_SERVICE_ROLE_KEY=your-service-role-key
|
|
41
|
-
SUPABASE_DB_PASSWORD=your-database-password
|
|
34
|
+
```bash
|
|
35
|
+
cp .env.example .env
|
|
42
36
|
```
|
|
43
37
|
|
|
44
|
-
|
|
45
|
-
`
|
|
38
|
+
Required for a working install (full list:
|
|
39
|
+
[`.framework/src/instructions/reference/env-vars.md`](.framework/src/instructions/reference/env-vars.md)):
|
|
46
40
|
|
|
47
|
-
|
|
41
|
+
| Variable | Used by |
|
|
42
|
+
|---|---|
|
|
43
|
+
| `VITE_SUPABASE_URL`, `VITE_SUPABASE_ANON_KEY` | the browser app |
|
|
44
|
+
| `SUPABASE_URL`, `SUPABASE_ANON_KEY`, `SUPABASE_SERVICE_ROLE_KEY` | Netlify functions + CLI |
|
|
45
|
+
| `SUPABASE_DB_PASSWORD` | `npx spine-framework migrate` (direct Postgres) |
|
|
46
|
+
| `APP_BASE_URL` | invite links and auth redirects (`http://localhost:8888` in dev) |
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
The Supabase URL and both keys are under **Project Settings → API Keys**
|
|
49
|
+
(dashboard "Publishable key" = anon, "Secret key" = service-role);
|
|
50
|
+
`SUPABASE_DB_PASSWORD` is under **Project Settings → Database**.
|
|
52
51
|
|
|
53
|
-
|
|
52
|
+
Worth setting early: `INTERNAL_INVOKE_SECRET` — required for
|
|
53
|
+
trigger-dispatched pipelines (`openssl rand -hex 32`).
|
|
54
54
|
|
|
55
|
-
###
|
|
55
|
+
### 2. Install, verify, migrate
|
|
56
56
|
|
|
57
57
|
```bash
|
|
58
|
-
npm install
|
|
58
|
+
npm install
|
|
59
|
+
npm run verify # integrity-checks the tree against .spine-manifest.json
|
|
60
|
+
npx spine-framework migrate # creates tables, RLS, seeds system data (idempotent)
|
|
59
61
|
```
|
|
60
62
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## CLI Reference
|
|
66
|
-
|
|
67
|
-
All commands run via `npx spine-framework <command>`.
|
|
68
|
-
|
|
69
|
-
| Command | Description |
|
|
70
|
-
|---------|-------------|
|
|
71
|
-
| `init` | Scaffold a new project in the current directory |
|
|
72
|
-
| `migrate` | Apply framework SQL migrations to your Supabase project |
|
|
73
|
-
| `migrate --dry-run` | Preview pending migrations without applying |
|
|
74
|
-
| `migrate --db-password <pw>` | Pass DB password directly instead of reading from `.env` |
|
|
75
|
-
| `status` | Show installed apps and framework version |
|
|
76
|
-
| `upgrade` | Sync framework-owned files to the installed `spine-framework` version |
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Upgrading
|
|
81
|
-
|
|
82
|
-
`.framework/`, `config/`, `scripts/` and `bin/` are a managed copy of the
|
|
83
|
-
`spine-framework` package — don't edit them (the frozen `.spine-manifest.json`
|
|
84
|
-
integrity check will fail). To move to a newer release:
|
|
63
|
+
### 3. Run it
|
|
85
64
|
|
|
86
65
|
```bash
|
|
87
|
-
npm
|
|
88
|
-
npx spine-framework upgrade --dry-run # review what would change
|
|
89
|
-
npx spine-framework upgrade
|
|
90
|
-
npm install
|
|
91
|
-
npm run verify
|
|
92
|
-
npx spine-framework migrate # apply any new migrations
|
|
66
|
+
npm run dev:netlify # Netlify dev server on http://localhost:8888 (functions + UI)
|
|
93
67
|
```
|
|
94
68
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
`netlify
|
|
98
|
-
App packages upgrade themselves the same way — see the app's own docs.
|
|
69
|
+
`npm run dev` starts only the Vite dev server on port 3001 — fine for
|
|
70
|
+
frontend work, but `/api/*` calls still proxy to 8888, so functions need
|
|
71
|
+
`netlify dev` running.
|
|
99
72
|
|
|
100
|
-
|
|
73
|
+
### 4. First login
|
|
101
74
|
|
|
102
|
-
|
|
75
|
+
Browser path: open `http://localhost:8888`, go to `/register`, and create an
|
|
76
|
+
account — **the first registrant becomes `system_admin`** via a database
|
|
77
|
+
trigger, and lands on `/spine-framework/admin`, the schema-driven admin app.
|
|
78
|
+
Later signups get no account or role until an invite or an admin places
|
|
79
|
+
them. Requires **Supabase email confirmation OFF** (Auth → Providers) or a
|
|
80
|
+
real inbox for the confirm link.
|
|
103
81
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
├── .framework/ # Framework core (do not edit)
|
|
110
|
-
│ ├── cli/ # CLI commands
|
|
111
|
-
│ ├── functions/ # Serverless API functions
|
|
112
|
-
│ ├── migrations/ # SQL migrations
|
|
113
|
-
│ ├── src/ # React frontend core
|
|
114
|
-
│ └── scripts/ # Build scripts
|
|
115
|
-
├── custom/ # Your custom apps and extensions
|
|
116
|
-
│ └── apps/ # App packages go here
|
|
117
|
-
├── config/ # Vite, TypeScript, Tailwind config
|
|
118
|
-
├── scripts/ # Project-level build scripts
|
|
119
|
-
├── netlify.toml # Netlify configuration
|
|
120
|
-
└── package.json
|
|
121
|
-
```
|
|
82
|
+
Headless path (scriptable): `npx spine-framework bootstrap --email
|
|
83
|
+
you@example.com --password '<pick-one>'` creates the first `system_admin`,
|
|
84
|
+
a confirmed auth user, and a `sk_` API key — no browser or email
|
|
85
|
+
confirmation needed. See
|
|
86
|
+
[`guide/01-install-and-first-run.md`](.framework/src/instructions/guide/01-install-and-first-run.md).
|
|
122
87
|
|
|
123
|
-
|
|
88
|
+
## Where's the documentation
|
|
124
89
|
|
|
125
|
-
|
|
90
|
+
The package ships a complete instruction book at
|
|
91
|
+
[`.framework/src/instructions/README.md`](.framework/src/instructions/README.md):
|
|
126
92
|
|
|
127
|
-
-
|
|
128
|
-
-
|
|
129
|
-
|
|
130
|
-
-
|
|
131
|
-
|
|
132
|
-
-
|
|
93
|
+
- **`guide/`** — install, project map, domain model, build your first app.
|
|
94
|
+
- **`concepts/`** — tenancy, permissions, design schema, automation,
|
|
95
|
+
observability.
|
|
96
|
+
- **`tasks/`** — single-goal procedures (add a type, a pipeline, a trigger,
|
|
97
|
+
an AI agent; package and install an app; write a function or migration).
|
|
98
|
+
- **`reference/`** — env vars, CLI, API endpoints, design-schema spec.
|
|
99
|
+
- **`operations/`** — deployment, migrations, security checklist,
|
|
100
|
+
troubleshooting playbook.
|
|
101
|
+
- **Root entity files** — one per entity (`types`, `apps`, `roles`,
|
|
102
|
+
`pipelines`, `triggers`, `ai-agents`, …), all in the same 7-section format.
|
|
133
103
|
|
|
134
|
-
|
|
104
|
+
The same files render inside the admin UI: every admin page has an
|
|
105
|
+
**Instructions** button that opens the relevant doc as a sheet.
|
|
135
106
|
|
|
136
|
-
|
|
137
|
-
|-------------|--------|
|
|
138
|
-
| Identity | `accounts`, `people`, `roles` |
|
|
139
|
-
| Runtime | `items`, `threads`, `messages`, `links`, `attachments`, `watchers` |
|
|
140
|
-
| Apps | `apps`, `types`, `pipelines`, `triggers` |
|
|
141
|
-
| AI | `ai_agents`, `embeddings`, `prompt_configs` |
|
|
142
|
-
| System | `api_keys`, `logs`, `integrations`, `timers` |
|
|
107
|
+
## For AI agents
|
|
143
108
|
|
|
144
|
-
|
|
109
|
+
After `init`, your repo contains everything an agent needs:
|
|
145
110
|
|
|
146
|
-
|
|
111
|
+
- **`AGENTS.md`** — the standing rules for working in a Spine project.
|
|
112
|
+
- **`.devin/skills/spine-*`** — 13 procedures (`spine-new-type`,
|
|
113
|
+
`spine-new-app`, `spine-add-automation`, `spine-troubleshoot`, …).
|
|
114
|
+
- **`.framework/src/instructions/`** — the instruction book above.
|
|
147
115
|
|
|
148
|
-
|
|
116
|
+
Useful CLI for agents:
|
|
149
117
|
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
return <div>Hello from My App</div>
|
|
154
|
-
}
|
|
118
|
+
```bash
|
|
119
|
+
npx spine-framework validate-schema <file.json> # check a design_schema file
|
|
120
|
+
npx spine-framework validate-app custom/apps/<slug> # check an app package
|
|
155
121
|
```
|
|
156
122
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
```sql
|
|
160
|
-
-- custom/migrations/001_my_app.sql
|
|
161
|
-
CREATE TABLE IF NOT EXISTS my_app_records (
|
|
162
|
-
id uuid PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
163
|
-
account_id uuid NOT NULL REFERENCES public.accounts(id),
|
|
164
|
-
title text NOT NULL,
|
|
165
|
-
created_at timestamptz DEFAULT now()
|
|
166
|
-
);
|
|
123
|
+
Point your agent at `guide/03-domain-model.md` and `concepts/` first — it
|
|
124
|
+
explains the primitives and how they compose.
|
|
167
125
|
|
|
168
|
-
|
|
169
|
-
```
|
|
126
|
+
## CLI quick reference
|
|
170
127
|
|
|
171
|
-
|
|
128
|
+
All commands run as `npx spine-framework <command>`. Full reference:
|
|
129
|
+
[`.framework/src/instructions/reference/cli.md`](.framework/src/instructions/reference/cli.md).
|
|
172
130
|
|
|
173
|
-
|
|
131
|
+
| Command | What it does |
|
|
132
|
+
|---|---|
|
|
133
|
+
| `init [dir]` | Scaffold a project (refuses to run over an existing `.framework/`) |
|
|
134
|
+
| `migrate` | Apply pending SQL migrations; `--dry-run`, `--framework-only` |
|
|
135
|
+
| `status` | Show installed apps and framework version |
|
|
136
|
+
| `install-app <pkg>` | Install an app package into `custom/apps/` + register/seed it |
|
|
137
|
+
| `validate-schema <file>` | Validate a `design_schema` JSON file |
|
|
138
|
+
| `validate-app [path]` | Validate an app package's structure and manifest |
|
|
139
|
+
| `doctor` | Check installation health (env, files, DB reachability) |
|
|
140
|
+
| `bootstrap` | Create the first `system_admin` + confirmed auth user + `sk_` key, no browser |
|
|
141
|
+
| `upgrade` | Sync framework files to the installed package version; `--dry-run`, `--force` |
|
|
174
142
|
|
|
175
|
-
##
|
|
143
|
+
## Requirements
|
|
176
144
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
| `SUPABASE_SERVICE_ROLE_KEY` | Yes | Supabase service role key (server-side only) |
|
|
182
|
-
| `SUPABASE_DB_PASSWORD` | Yes (migrate) | Postgres database password |
|
|
145
|
+
- Node.js ≥ 22.13, npm ≥ 10
|
|
146
|
+
- A [Supabase](https://supabase.com) project (URL + anon/service keys + DB password)
|
|
147
|
+
- Netlify CLI for local dev — pinned as a devDependency, so `npm install`
|
|
148
|
+
provides it. A Netlify account/site is only needed to deploy to production.
|
|
183
149
|
|
|
184
|
-
|
|
150
|
+
## Upgrading
|
|
185
151
|
|
|
186
|
-
|
|
152
|
+
`.framework/`, `config/`, `scripts/`, and `bin/` are a managed copy — do not
|
|
153
|
+
edit them (`.spine-manifest.json` will flag it). To move to a newer release:
|
|
187
154
|
|
|
188
155
|
```bash
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
156
|
+
npm install spine-framework@latest
|
|
157
|
+
npx spine-framework upgrade --dry-run # review what would change
|
|
158
|
+
npx spine-framework upgrade
|
|
159
|
+
npx spine-framework migrate # apply any new migrations
|
|
192
160
|
```
|
|
193
161
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
## Contributing
|
|
197
|
-
|
|
198
|
-
```bash
|
|
199
|
-
git clone https://github.com/spine-framework/spine-framework.git
|
|
200
|
-
cd spine-framework
|
|
201
|
-
npm install
|
|
202
|
-
npm run dev
|
|
203
|
-
```
|
|
162
|
+
Your code in `custom/` is never touched.
|
|
204
163
|
|
|
205
|
-
|
|
164
|
+
## Known issues
|
|
206
165
|
|
|
207
|
-
|
|
166
|
+
- **`npx spine-framework generate` was removed** — it wrote stubs to a dead
|
|
167
|
+
`v2-custom/` tree and emitted a legacy `design_schema` shape. It now prints
|
|
168
|
+
migration guidance and exits 1: use `npx spine-framework create-app` for
|
|
169
|
+
apps, and author types in the admin UI or via `POST /api/types` (check the
|
|
170
|
+
schema with `npx spine-framework validate-schema`). See "Removed commands"
|
|
171
|
+
in [`reference/cli.md`](.framework/src/instructions/reference/cli.md).
|
|
172
|
+
- `npx spine-framework dev` runs the real dev flow: `scripts/assemble.sh`,
|
|
173
|
+
integrity check, then Vite (`--netlify` for the full `netlify dev` stack on
|
|
174
|
+
:8888). `npm run dev` / `npm run dev:netlify` remain equivalent.
|
|
175
|
+
- There is no MCP server — agent integration is via `AGENTS.md`, skills, and
|
|
176
|
+
the instruction book.
|
|
208
177
|
|
|
209
178
|
## License
|
|
210
179
|
|
|
211
|
-
Licensed under the [Spine Framework Internal Use License](LICENSE.md)
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
- Commercial redistribution requires a separate license
|
|
215
|
-
- Contact [spine-framework.com](https://spine-framework.com) for commercial licensing
|
|
216
|
-
|
|
217
|
-
---
|
|
218
|
-
|
|
219
|
-
## Support
|
|
220
|
-
|
|
221
|
-
- Documentation: [docs.spine-framework.com](https://docs.spine-framework.com)
|
|
222
|
-
- Issues: [GitHub Issues](https://github.com/spine-framework/spine-framework/issues)
|
|
223
|
-
- Commercial: [spine-framework.com](https://spine-framework.com)
|
|
180
|
+
Licensed under the [Spine Framework Internal Use License](LICENSE.md) — free
|
|
181
|
+
for internal business use; commercial redistribution requires a separate
|
|
182
|
+
license.
|
package/config/tsconfig.cli.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spine-framework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0-rc.4",
|
|
4
4
|
"description": "Multi-tenant, modular application platform for modern SaaS systems",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -20,19 +20,31 @@
|
|
|
20
20
|
"scripts/verify-manifest.mts",
|
|
21
21
|
"scripts/boundary-check.sh",
|
|
22
22
|
"scripts/verify-install.ts",
|
|
23
|
+
"templates/project/",
|
|
23
24
|
"config/",
|
|
24
25
|
"!config/*.tsbuildinfo",
|
|
25
26
|
"!config/deno.lock",
|
|
26
27
|
"!config/package-lock.json",
|
|
27
|
-
"templates/project/",
|
|
28
28
|
"vitest.config.ts",
|
|
29
29
|
"netlify.toml",
|
|
30
30
|
".env.example",
|
|
31
31
|
".framework/",
|
|
32
|
+
"!.framework/mcp/",
|
|
32
33
|
"!.framework/migrations/archive/",
|
|
33
34
|
"!.framework/functions/_quarantine/",
|
|
34
35
|
"!.framework/tests/integration/",
|
|
35
36
|
"!.framework/public/spine.config.json",
|
|
37
|
+
"!.framework/docs/admin-routes.md",
|
|
38
|
+
"!.framework/docs/api-docs-progress.md",
|
|
39
|
+
"!.framework/docs/api-governance.md",
|
|
40
|
+
"!.framework/docs/api-testing-results.md",
|
|
41
|
+
"!.framework/docs/assembly-launch-guide.md",
|
|
42
|
+
"!.framework/docs/audit-results.md",
|
|
43
|
+
"!.framework/docs/db-api-inventory.md",
|
|
44
|
+
"!.framework/docs/gap-remediation-backlog.md",
|
|
45
|
+
"!.framework/docs/ui-adoption-verification.md",
|
|
46
|
+
"!.framework/docs/ui-api-coverage.md",
|
|
47
|
+
"!.framework/docs/v2-compatibility-audit.md",
|
|
36
48
|
"!**/*.tsbuildinfo",
|
|
37
49
|
"!**/.DS_Store",
|
|
38
50
|
"!**/.env",
|
|
@@ -85,8 +97,7 @@
|
|
|
85
97
|
"test:integration": "vitest run .framework/tests/integration",
|
|
86
98
|
"test:boundary": "bash scripts/boundary-check.sh",
|
|
87
99
|
"docs": "typedoc --entryPoints .framework/functions/_shared/index.ts --out docs/generated",
|
|
88
|
-
"
|
|
89
|
-
"mcp:spine-framework": "tsx --env-file=.env .framework/mcp/index.ts",
|
|
100
|
+
"docs:lint": "tsx scripts/docs-lint.mts",
|
|
90
101
|
"prepack": "node custom/npm/scripts/prepack-framework.mjs stage",
|
|
91
102
|
"postpack": "node custom/npm/scripts/prepack-framework.mjs clean",
|
|
92
103
|
"cil:migrate-markers": "tsx .framework/scripts/cil-migrate-markers.ts",
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "spine-framework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0-rc.4",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "spine-framework",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.5.0-rc.4",
|
|
10
10
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@base-ui/react": "^1.4.1",
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
# Admin Route Inventory (v2-core)
|
|
2
|
-
|
|
3
|
-
## Data Management Routes (admin/data/*)
|
|
4
|
-
|
|
5
|
-
| Route | Purpose | Page Component | Entity | Notes |
|
|
6
|
-
|-------|---------|----------------|--------|-------|
|
|
7
|
-
| `/admin/data/accounts` | List accounts | AccountsPage | Account records | Runtime account management |
|
|
8
|
-
| `/admin/data/accounts/new` | Create account | AccountCreatePage | Account records | |
|
|
9
|
-
| `/admin/data/accounts/:id` | Account detail/edit | AccountDetailPage | Account records | |
|
|
10
|
-
| `/admin/data/people` | List people | PeoplePage | Person records | |
|
|
11
|
-
| `/admin/data/people/new` | Create person | PersonCreatePage | Person records | |
|
|
12
|
-
| `/admin/data/people/:id` | Person detail/edit | PersonDetailPage | Person records | |
|
|
13
|
-
| `/admin/data/items` | List items | ItemsPage | Item records | |
|
|
14
|
-
| `/admin/data/items/new` | Create item | ItemCreatePage | Item records | |
|
|
15
|
-
| `/admin/data/items/:id` | Item detail/edit | ItemDetailPage | Item records | |
|
|
16
|
-
|
|
17
|
-
## Configuration Management Routes (admin/configs/*)
|
|
18
|
-
|
|
19
|
-
| Route | Purpose | Page Component | Entity | Notes |
|
|
20
|
-
|-------|---------|----------------|--------|-------|
|
|
21
|
-
| `/admin/configs/types` | List item types | TypesPage | Type definitions | kind='item' |
|
|
22
|
-
| `/admin/configs/types/new` | Create item type | TypeDetailPage | Type definitions | |
|
|
23
|
-
| `/admin/configs/types/:id` | Item type detail/edit | TypeDetailPage | Type definitions | |
|
|
24
|
-
| `/admin/configs/accounts` | List account types | AccountTypesPage | Type definitions | kind='account' |
|
|
25
|
-
| `/admin/configs/accounts/new` | Create account type | AccountTypeDetailPage | Type definitions | |
|
|
26
|
-
| `/admin/configs/accounts/:id` | Account type detail/edit | AccountTypeDetailPage | Type definitions | |
|
|
27
|
-
| `/admin/configs/people` | List person types | PersonTypesPage | Type definitions | kind='person' |
|
|
28
|
-
| `/admin/configs/people/new` | Create person type | PersonTypeDetailPage | Type definitions | |
|
|
29
|
-
| `/admin/configs/people/:id` | Person type detail/edit | PersonTypeDetailPage | Type definitions | |
|
|
30
|
-
| `/admin/configs/apps` | List apps | AppsPage | App definitions | |
|
|
31
|
-
| `/admin/configs/apps/new` | Create app | AppDetailPage | App definitions | |
|
|
32
|
-
| `/admin/configs/apps/:id` | App detail/edit | AppDetailPage | App definitions | |
|
|
33
|
-
| `/admin/configs/pipelines` | List pipelines | PipelinesPage | Pipeline definitions | |
|
|
34
|
-
| `/admin/configs/pipelines/new` | Create pipeline | PipelineDetailPage | Pipeline definitions | |
|
|
35
|
-
| `/admin/configs/pipelines/:id` | Pipeline detail/edit | PipelineDetailPage | Pipeline definitions | |
|
|
36
|
-
| `/admin/configs/triggers` | List triggers | TriggersPage | Trigger definitions | |
|
|
37
|
-
| `/admin/configs/triggers/new` | Create trigger | TriggerDetailPage | Trigger definitions | |
|
|
38
|
-
| `/admin/configs/triggers/:id` | Trigger detail/edit | TriggerDetailPage | Trigger definitions | |
|
|
39
|
-
| `/admin/configs/ai-agents` | List AI agents | AIAgentsPage | AI agent definitions | |
|
|
40
|
-
| `/admin/configs/ai-agents/new` | Create AI agent | AIAgentDetailPage | AI agent definitions | |
|
|
41
|
-
| `/admin/configs/ai-agents/:id` | AI agent detail/edit | AIAgentDetailPage | AI agent definitions | |
|
|
42
|
-
| `/admin/configs/embeddings` | List embeddings | EmbeddingsPage | Embedding definitions | |
|
|
43
|
-
| `/admin/configs/embeddings/new` | Create embedding | EmbeddingDetailPage | Embedding definitions | |
|
|
44
|
-
| `/admin/configs/embeddings/:id` | Embedding detail/edit | EmbeddingDetailPage | Embedding definitions | |
|
|
45
|
-
| `/admin/configs/timers` | List timers | TimersPage | Timer definitions | |
|
|
46
|
-
| `/admin/configs/timers/new` | Create timer | TimerDetailPage | Timer definitions | |
|
|
47
|
-
| `/admin/configs/timers/:id` | Timer detail/edit | TimerDetailPage | Timer definitions | |
|
|
48
|
-
| `/admin/configs/integrations` | List integrations | IntegrationsPage | Integration definitions | |
|
|
49
|
-
| `/admin/configs/integrations/new` | Create integration | IntegrationDetailPage | Integration definitions | |
|
|
50
|
-
| `/admin/configs/integrations/:id` | Integration detail/edit | IntegrationDetailPage | Integration definitions | |
|
|
51
|
-
|
|
52
|
-
## Legacy Routes (Deprecated)
|
|
53
|
-
|
|
54
|
-
| Route | Purpose | Page Component | Entity | Notes |
|
|
55
|
-
|-------|---------|----------------|--------|-------|
|
|
56
|
-
| `/admin/accounts` | Accounts (legacy) | AccountsPage | Account records | Use /admin/data/accounts |
|
|
57
|
-
| `/admin/accounts/:id` | Account detail (legacy) | AccountDetailPage | Account records | Use /admin/data/accounts/:id |
|
|
58
|
-
| `/admin/people` | People (legacy) | PeoplePage | Person records | Use /admin/data/people |
|
|
59
|
-
| `/admin/people/:id` | Person detail (legacy) | PersonDetailPage | Person records | Use /admin/data/people/:id |
|
|
60
|
-
| `/admin/types` | Types (legacy) | TypesPage | Type definitions | Use /admin/configs/types |
|
|
61
|
-
| `/admin/types/:id` | Type detail (legacy) | TypeDetailPage | Type definitions | Use /admin/configs/types/:id |
|
|
62
|
-
| `/admin/apps` | Apps (legacy) | AppsPage | App definitions | Use /admin/configs/apps |
|
|
63
|
-
| `/admin/pipelines` | Pipelines (legacy) | PipelinesPage | Pipeline definitions | Use /admin/configs/pipelines |
|
|
64
|
-
| `/admin/triggers` | Triggers (legacy) | TriggersPage | Trigger definitions | Use /admin/configs/triggers |
|
|
65
|
-
| `/admin/ai-agents` | AI agents (legacy) | AIAgentsPage | AI agent definitions | Use /admin/configs/ai-agents |
|
|
66
|
-
| `/admin/embeddings` | Embeddings (legacy) | EmbeddingsPage | Embedding definitions | Use /admin/configs/embeddings |
|
|
67
|
-
| `/admin/timers` | Timers (legacy) | TimersPage | Timer definitions | Use /admin/configs/timers |
|
|
68
|
-
|
|
69
|
-
## Summary
|
|
70
|
-
|
|
71
|
-
- **Total routes**: 43 active routes (25 data/config + 10 legacy)
|
|
72
|
-
- **Data routes**: 9 (accounts, people, items)
|
|
73
|
-
- **Config routes**: 34 (types, apps, pipelines, triggers, ai-agents, embeddings, timers, integrations)
|
|
74
|
-
- **Legacy routes**: 10 (deprecated but still active)
|
|
75
|
-
|
|
76
|
-
All routes are defined in `v2-core/src/App.tsx` and use lazy-loaded components from `v2-core/src/pages/`.
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# API Documentation Progress
|
|
2
|
-
|
|
3
|
-
## Completed Inline Documentation
|
|
4
|
-
|
|
5
|
-
### accounts.ts
|
|
6
|
-
- Added comprehensive header documentation
|
|
7
|
-
- Documented all CRUD operations
|
|
8
|
-
- Fixed lint warnings (unused imports/parameters)
|
|
9
|
-
- Status: COMPLETE
|
|
10
|
-
|
|
11
|
-
### Next Files to Document
|
|
12
|
-
1. people.ts
|
|
13
|
-
2. items.ts
|
|
14
|
-
3. types.ts
|
|
15
|
-
4. apps.ts
|
|
16
|
-
5. pipelines.ts
|
|
17
|
-
6. triggers.ts
|
|
18
|
-
7. ai-agents.ts
|
|
19
|
-
8. embeddings.ts
|
|
20
|
-
9. timers.ts
|
|
21
|
-
10. integrations.ts
|
|
22
|
-
11. All remaining runtime endpoints
|
|
23
|
-
|
|
24
|
-
## Documentation Template Applied
|
|
25
|
-
|
|
26
|
-
Each endpoint file now includes:
|
|
27
|
-
- Domain classification (admin-data/admin-configs/runtime/internal)
|
|
28
|
-
- Auth requirements
|
|
29
|
-
- Account scoping rules
|
|
30
|
-
- v2 schema dependencies
|
|
31
|
-
- Soft delete behavior
|
|
32
|
-
- Audit logging requirements
|
|
33
|
-
- Request/response contracts
|
|
34
|
-
- Error handling
|
|
35
|
-
|
|
36
|
-
## Progress: 1/18 endpoints documented
|
|
37
|
-
|
|
38
|
-
Continuing with remaining endpoints...
|