spine-framework 0.3.116 → 0.3.118

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.
@@ -0,0 +1,35 @@
1
+ -- Migration 031: Add unique constraints required for idempotent app seed upserts
2
+ --
3
+ -- The install-app seeder uses ON CONFLICT(app_id, name) for ai_agents and
4
+ -- pipelines, and ON CONFLICT(app_id, slug) for prompt_configs. Without these
5
+ -- constraints the seeder falls back to plain INSERT, causing duplicates on
6
+ -- re-install.
7
+ --
8
+ -- Safe to re-run: uses IF NOT EXISTS guard via DO block.
9
+
10
+ DO $$
11
+ BEGIN
12
+ -- ai_agents: unique on (app_id, name)
13
+ IF NOT EXISTS (
14
+ SELECT 1 FROM pg_constraint
15
+ WHERE conname = 'ai_agents_app_id_name_key'
16
+ ) THEN
17
+ ALTER TABLE public.ai_agents ADD CONSTRAINT ai_agents_app_id_name_key UNIQUE (app_id, name);
18
+ END IF;
19
+
20
+ -- prompt_configs: unique on (app_id, slug)
21
+ IF NOT EXISTS (
22
+ SELECT 1 FROM pg_constraint
23
+ WHERE conname = 'prompt_configs_app_id_slug_key'
24
+ ) THEN
25
+ ALTER TABLE public.prompt_configs ADD CONSTRAINT prompt_configs_app_id_slug_key UNIQUE (app_id, slug);
26
+ END IF;
27
+
28
+ -- pipelines: unique on (app_id, name)
29
+ IF NOT EXISTS (
30
+ SELECT 1 FROM pg_constraint
31
+ WHERE conname = 'pipelines_app_id_name_key'
32
+ ) THEN
33
+ ALTER TABLE public.pipelines ADD CONSTRAINT pipelines_app_id_name_key UNIQUE (app_id, name);
34
+ END IF;
35
+ END $$;
package/netlify.toml CHANGED
@@ -25,6 +25,11 @@
25
25
  [functions."trigger-scheduler"]
26
26
  schedule = "* * * * *"
27
27
 
28
+ # CIL ingestion passes are long-running — extend timeout for local dev
29
+ # TODO: migrate to background functions for production
30
+ [functions."custom_cil-ingest"]
31
+ timeout = 300
32
+
28
33
  [[redirects]]
29
34
  from = "/*"
30
35
  to = "/index.html"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spine-framework",
3
- "version": "0.3.116",
3
+ "version": "0.3.118",
4
4
  "description": "Multi-tenant, modular application platform for modern SaaS systems",
5
5
  "type": "module",
6
6
  "bin": {
@@ -37,6 +37,7 @@
37
37
  ".framework/migrations/028_fix_message_data_permissions.sql",
38
38
  ".framework/migrations/029_tighten_support_triage_prompt.sql",
39
39
  ".framework/migrations/030_messages_updated_by.sql",
40
+ ".framework/migrations/031_seed_upsert_constraints.sql",
40
41
  ".framework/public/",
41
42
  ".framework/scripts/",
42
43
  ".framework/seeds/",