spine-framework 0.3.11 → 0.3.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.
|
@@ -10,8 +10,12 @@ ALTER TABLE public.pipelines
|
|
|
10
10
|
ALTER TABLE public.pipelines
|
|
11
11
|
RENAME COLUMN steps TO stages;
|
|
12
12
|
|
|
13
|
-
-- Add unique constraint on (app_id, slug) for seed-time
|
|
14
|
-
--
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
-- Add unique constraint on (app_id, slug) for seed-time upsert via ON CONFLICT.
|
|
14
|
+
-- Must be a non-partial constraint — PostgREST requires non-partial unique indexes
|
|
15
|
+
-- for ON CONFLICT clause resolution. NULL slugs are naturally excluded from
|
|
16
|
+
-- uniqueness enforcement by Postgres (NULL != NULL), so no partial index is needed.
|
|
17
|
+
DROP INDEX IF EXISTS public.pipelines_app_id_slug_idx;
|
|
18
|
+
ALTER TABLE public.pipelines
|
|
19
|
+
DROP CONSTRAINT IF EXISTS pipelines_app_id_slug_key;
|
|
20
|
+
ALTER TABLE public.pipelines
|
|
21
|
+
ADD CONSTRAINT pipelines_app_id_slug_key UNIQUE (app_id, slug);
|
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
+
## [0.3.13] — 2026-06-09
|
|
8
|
+
- Fixed `assemble-functions.sh`: now also copies functions from `custom/apps/*/functions/` so installed app handlers (e.g. `custom_funnel-signal.ts`) are included in the assembled output — previously only `custom/functions/` was swept, causing "Signal handler not available" at runtime
|
|
9
|
+
|
|
10
|
+
## [0.3.12] — 2026-06-09
|
|
11
|
+
- Fixed `pipelines` seed upsert: replaced partial unique index (`WHERE slug IS NOT NULL`) on `(app_id, slug)` with a full unique constraint — PostgREST requires a non-partial unique index for `ON CONFLICT` resolution; `pipelines.json` seed now upserts correctly during `install-app`
|
|
12
|
+
|
|
7
13
|
## [0.3.11] — 2026-06-09
|
|
8
14
|
- Added `updateAccountFunnel` per-pipeline_slug rating storage in `custom_funnel-signal.ts` — signals now write `ratings[pipeline_slug]` alongside `ratings[stage]`, enabling per-funnel score breakdown in the UI
|
|
9
15
|
|
package/package.json
CHANGED
|
@@ -42,12 +42,23 @@ fi
|
|
|
42
42
|
|
|
43
43
|
# 3. Overlay custom functions (overrides + additions), excluding test files
|
|
44
44
|
CUSTOM_COUNT=0
|
|
45
|
+
|
|
46
|
+
# 3a. Top-level custom/functions/ (project-level overrides)
|
|
45
47
|
if [ -d "$CUSTOM_DIR/functions" ]; then
|
|
46
|
-
# Copy all files except test files (*-test.ts, *.test.ts)
|
|
47
48
|
find "$CUSTOM_DIR/functions" -maxdepth 1 -name '*.ts' ! -name '*-test.ts' ! -name '*.test.ts' -exec cp {} "$TMP_DIR"/ \; 2>/dev/null || true
|
|
48
|
-
# Copy subdirectories if any
|
|
49
49
|
find "$CUSTOM_DIR/functions" -mindepth 1 -type d -exec sh -c 'dir="$1"; base=$(basename "$dir"); mkdir -p "'"$TMP_DIR"'/$base" && cp -r "$dir"/* "'"$TMP_DIR"'/$base/"' _ {} \; 2>/dev/null || true
|
|
50
|
-
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
# 3b. App functions from custom/apps/*/functions/ (installed app handlers)
|
|
53
|
+
for APP_FUNCTIONS_DIR in "$CUSTOM_DIR"/apps/*/functions; do
|
|
54
|
+
if [ -d "$APP_FUNCTIONS_DIR" ]; then
|
|
55
|
+
find "$APP_FUNCTIONS_DIR" -maxdepth 1 -name '*.ts' ! -name '*-test.ts' ! -name '*.test.ts' -exec cp {} "$TMP_DIR"/ \; 2>/dev/null || true
|
|
56
|
+
find "$APP_FUNCTIONS_DIR" -mindepth 1 -type d -exec sh -c 'dir="$1"; base=$(basename "$dir"); mkdir -p "'"$TMP_DIR"'/$base" && cp -r "$dir"/* "'"$TMP_DIR"'/$base/"' _ {} \; 2>/dev/null || true
|
|
57
|
+
fi
|
|
58
|
+
done
|
|
59
|
+
|
|
60
|
+
CUSTOM_COUNT=$(find "$CUSTOM_DIR" -path '*/functions/*.ts' ! -name '*-test.ts' ! -name '*.test.ts' 2>/dev/null | wc -l | tr -d ' ')
|
|
61
|
+
if [ "$CUSTOM_COUNT" -gt 0 ]; then
|
|
51
62
|
echo " ✓ Custom: $CUSTOM_COUNT files"
|
|
52
63
|
else
|
|
53
64
|
echo " ○ Custom: (empty)"
|