spine-framework 0.1.60 → 0.2.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/.framework/cli/commands/create-app.ts +1 -1
- package/.framework/cli/commands/dev.ts +215 -33
- package/.framework/cli/index.ts +37 -63
- package/.framework/functions/_shared/app-manifest.ts +8 -15
- package/.framework/functions/_shared/db.ts +11 -15
- package/.framework/functions/_shared/index.ts +0 -9
- package/.framework/functions/_shared/principal.ts +4 -62
- package/.framework/functions/_shared/resolve-ids.ts +6 -6
- package/.framework/functions/_shared/webhook-registry.ts +1 -1
- package/.framework/functions/admin-funnel.ts +104 -0
- package/.framework/functions/admin-install-funnel.ts +225 -0
- package/.framework/functions/admin-signals.ts +241 -0
- package/.framework/migrations/001_schema.sql +406 -0
- package/.framework/migrations/002_rls_and_functions.sql +710 -0
- package/.framework/migrations/003_system_data.sql +520 -0
- package/.framework/migrations/004_enhancements.sql +43 -0
- package/.framework/public/_redirects +3 -0
- package/.framework/public/spine-logo.jpg +0 -0
- package/.framework/public/spine-logo.svg +3 -0
- package/{scripts → .framework/scripts}/assemble-frontend.sh +1 -1
- package/{scripts → .framework/scripts}/assemble-functions.sh +1 -1
- package/{scripts → .framework/scripts}/assemble.sh +2 -8
- package/{scripts → .framework/scripts}/check-core-integrity.sh +0 -0
- package/.framework/seeds/link_types/account_cli_instances.json +9 -0
- package/.framework/seeds/types/funnel_signal_use.json +98 -0
- package/.framework/seeds/types/spine_instance.json +109 -0
- package/.framework/src/App.tsx +6 -4
- package/.framework/src/components/ui/accordion.tsx +1 -1
- package/.framework/src/components/ui/alert-dialog.tsx +1 -1
- package/.framework/src/components/ui/aspect-ratio.tsx +1 -1
- package/.framework/src/components/ui/avatar.tsx +1 -1
- package/.framework/src/components/ui/badge.tsx +2 -2
- package/.framework/src/components/ui/breadcrumb.tsx +2 -2
- package/.framework/src/components/ui/button-group.tsx +2 -2
- package/.framework/src/components/ui/button.tsx +2 -2
- package/.framework/src/components/ui/chart.tsx +6 -1
- package/.framework/src/components/ui/checkbox.tsx +1 -1
- package/.framework/src/components/ui/collapsible.tsx +1 -1
- package/.framework/src/components/ui/context-menu.tsx +1 -1
- package/.framework/src/components/ui/dialog.tsx +1 -1
- package/.framework/src/components/ui/direction.tsx +17 -1
- package/.framework/src/components/ui/dropdown-menu.tsx +1 -1
- package/.framework/src/components/ui/hover-card.tsx +1 -1
- package/.framework/src/components/ui/item.tsx +2 -2
- package/.framework/src/components/ui/label.tsx +1 -1
- package/.framework/src/components/ui/menubar.tsx +1 -1
- package/.framework/src/components/ui/navigation-menu.tsx +1 -1
- package/.framework/src/components/ui/popover.tsx +1 -1
- package/.framework/src/components/ui/progress.tsx +1 -1
- package/.framework/src/components/ui/radio-group.tsx +1 -1
- package/.framework/src/components/ui/scroll-area.tsx +1 -1
- package/.framework/src/components/ui/select.tsx +1 -1
- package/.framework/src/components/ui/separator.tsx +1 -1
- package/.framework/src/components/ui/sheet.tsx +1 -1
- package/.framework/src/components/ui/sidebar.tsx +6 -6
- package/.framework/src/components/ui/slider.tsx +1 -1
- package/.framework/src/components/ui/switch.tsx +1 -1
- package/.framework/src/components/ui/tabs.tsx +1 -1
- package/.framework/src/components/ui/toggle-group.tsx +1 -1
- package/.framework/src/components/ui/toggle.tsx +1 -1
- package/.framework/src/components/ui/tooltip.tsx +1 -1
- package/.framework/src/pages/auth/LoginPage.tsx +10 -9
- package/LICENSE.md +193 -0
- package/README.md +254 -0
- package/custom/.devin/skills/install-app/SKILL.md +39 -0
- package/custom/.devin/workflows/app-install.yaml +83 -0
- package/custom/README.md +79 -0
- package/docs/APPS.md +232 -0
- package/docs/ARCHITECTURE.md +246 -0
- package/docs/INSTALL.md +155 -0
- package/docs/README.md +170 -0
- package/docs/design-schema-spec.md +1837 -0
- package/docs/dev-guides/01-create-an-app.md +183 -0
- package/docs/dev-guides/02-create-a-function.md +178 -0
- package/docs/dev-guides/03-create-a-component.md +178 -0
- package/docs/dev-guides/04-webhook-handlers.md +129 -0
- package/docs/dev-guides/05-testing.md +168 -0
- package/docs/dev-guides/README.md +40 -0
- package/docs/npm-packages-plan.md +288 -0
- package/docs/spine-core--api-reference.md +822 -0
- package/package.json +78 -144
- package/.framework/cli/bin.cjs +0 -14
- package/.framework/cli/commands/init.ts +0 -186
- package/.framework/cli/commands/install-app.ts +0 -560
- package/.framework/cli/commands/migrate.ts +0 -139
- package/.framework/cli/commands/status.ts +0 -197
- package/.framework/cli/commands/uninstall-app.ts +0 -166
- package/.framework/cli/welcome.cjs +0 -45
- package/.framework/docs/STABILITY.md +0 -52
- package/.framework/docs/examples/custom-app/README.md +0 -77
- package/.framework/docs/examples/custom-function/README.md +0 -27
- package/.framework/docs/examples/custom-function/handler.ts +0 -48
- package/.framework/docs/examples/custom-webhook/README.md +0 -68
- package/.framework/migrations/000_foundation.sql +0 -1265
- package/.framework/migrations/001_seed.sql +0 -163
- package/.framework/migrations/002_seed_constraints.sql +0 -19
- package/.framework/migrations/003_auth_user_trigger.sql +0 -67
- package/.framework/src/pages/auth/RegisterPage.tsx +0 -163
- package/STRUCTURE.md +0 -150
- package/bin/spine-framework.cjs +0 -62
- package/bin/welcome.cjs +0 -45
- package/bin/ws-shim.cjs +0 -8
- package/bin/ws-shim.ts +0 -10
- package/config/components.json +0 -25
- package/config/deno.lock +0 -108
- package/config/package-lock.json +0 -17183
- package/config/postcss.config.cjs +0 -10
- package/config/tailwind.config.cjs +0 -78
- package/config/tsconfig.build.json +0 -32
- package/config/tsconfig.cli.json +0 -18
- package/config/tsconfig.json +0 -41
- package/config/tsconfig.node.json +0 -17
- package/config/tsconfig.node.tsbuildinfo +0 -1
- package/config/tsconfig.tsbuildinfo +0 -1
- package/config/typedoc.json +0 -16
- package/config/vite.config.d.ts +0 -2
- package/config/vite.config.ts +0 -72
- package/dist/cli/commands/agents.d.ts +0 -39
- package/dist/cli/commands/agents.d.ts.map +0 -1
- package/dist/cli/commands/auth.d.ts +0 -36
- package/dist/cli/commands/auth.d.ts.map +0 -1
- package/dist/cli/commands/create-app.d.ts +0 -23
- package/dist/cli/commands/create-app.d.ts.map +0 -1
- package/dist/cli/commands/dev.d.ts +0 -24
- package/dist/cli/commands/dev.d.ts.map +0 -1
- package/dist/cli/commands/doctor.d.ts +0 -42
- package/dist/cli/commands/doctor.d.ts.map +0 -1
- package/dist/cli/commands/generate.d.ts +0 -36
- package/dist/cli/commands/generate.d.ts.map +0 -1
- package/dist/cli/commands/init.d.ts +0 -20
- package/dist/cli/commands/init.d.ts.map +0 -1
- package/dist/cli/commands/install-app.d.ts +0 -30
- package/dist/cli/commands/install-app.d.ts.map +0 -1
- package/dist/cli/commands/items.d.ts +0 -45
- package/dist/cli/commands/items.d.ts.map +0 -1
- package/dist/cli/commands/migrate.d.ts +0 -21
- package/dist/cli/commands/migrate.d.ts.map +0 -1
- package/dist/cli/commands/migrations.d.ts +0 -41
- package/dist/cli/commands/migrations.d.ts.map +0 -1
- package/dist/cli/commands/pipelines.d.ts +0 -40
- package/dist/cli/commands/pipelines.d.ts.map +0 -1
- package/dist/cli/commands/status.d.ts +0 -23
- package/dist/cli/commands/status.d.ts.map +0 -1
- package/dist/cli/commands/system.d.ts +0 -29
- package/dist/cli/commands/system.d.ts.map +0 -1
- package/dist/cli/commands/test.d.ts +0 -46
- package/dist/cli/commands/test.d.ts.map +0 -1
- package/dist/cli/commands/uninstall-app.d.ts +0 -23
- package/dist/cli/commands/uninstall-app.d.ts.map +0 -1
- package/dist/cli/context.d.ts +0 -88
- package/dist/cli/context.d.ts.map +0 -1
- package/dist/cli/env-loader.d.ts +0 -14
- package/dist/cli/env-loader.d.ts.map +0 -1
- package/dist/cli/index.d.ts +0 -41
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/functions/_shared/agent-runner.d.ts +0 -156
- package/dist/functions/_shared/agent-runner.d.ts.map +0 -1
- package/dist/functions/_shared/app-manifest.d.ts +0 -68
- package/dist/functions/_shared/app-manifest.d.ts.map +0 -1
- package/dist/functions/_shared/audit.d.ts +0 -91
- package/dist/functions/_shared/audit.d.ts.map +0 -1
- package/dist/functions/_shared/db.d.ts +0 -125
- package/dist/functions/_shared/db.d.ts.map +0 -1
- package/dist/functions/_shared/index.d.ts +0 -299
- package/dist/functions/_shared/index.d.ts.map +0 -1
- package/dist/functions/_shared/middleware.d.ts +0 -315
- package/dist/functions/_shared/middleware.d.ts.map +0 -1
- package/dist/functions/_shared/permissions.d.ts +0 -626
- package/dist/functions/_shared/permissions.d.ts.map +0 -1
- package/dist/functions/_shared/pipeline-runner.d.ts +0 -124
- package/dist/functions/_shared/pipeline-runner.d.ts.map +0 -1
- package/dist/functions/_shared/principal.d.ts +0 -284
- package/dist/functions/_shared/principal.d.ts.map +0 -1
- package/dist/functions/_shared/resolve-ids.d.ts +0 -10
- package/dist/functions/_shared/resolve-ids.d.ts.map +0 -1
- package/dist/functions/_shared/schema-utils.d.ts +0 -181
- package/dist/functions/_shared/schema-utils.d.ts.map +0 -1
- package/dist/functions/_shared/testing.d.ts +0 -172
- package/dist/functions/_shared/testing.d.ts.map +0 -1
- package/dist/functions/_shared/trigger-engine.d.ts +0 -140
- package/dist/functions/_shared/trigger-engine.d.ts.map +0 -1
- package/dist/functions/_shared/webhook-registration.d.ts +0 -81
- package/dist/functions/_shared/webhook-registration.d.ts.map +0 -1
- package/dist/functions/_shared/webhook-registry.d.ts +0 -57
- package/dist/functions/_shared/webhook-registry.d.ts.map +0 -1
- package/dist/functions/account-nodes.d.ts +0 -48
- package/dist/functions/account-nodes.d.ts.map +0 -1
- package/dist/functions/admin-data.d.ts +0 -178
- package/dist/functions/admin-data.d.ts.map +0 -1
- package/dist/functions/ai-agents.d.ts +0 -125
- package/dist/functions/ai-agents.d.ts.map +0 -1
- package/dist/functions/api-keys.d.ts +0 -140
- package/dist/functions/api-keys.d.ts.map +0 -1
- package/dist/functions/apps.d.ts +0 -163
- package/dist/functions/apps.d.ts.map +0 -1
- package/dist/functions/auth.d.ts +0 -74
- package/dist/functions/auth.d.ts.map +0 -1
- package/dist/functions/debug-auth.d.ts +0 -33
- package/dist/functions/debug-auth.d.ts.map +0 -1
- package/dist/functions/embeddings.d.ts +0 -205
- package/dist/functions/embeddings.d.ts.map +0 -1
- package/dist/functions/integration-routes.d.ts +0 -45
- package/dist/functions/integration-routes.d.ts.map +0 -1
- package/dist/functions/integrations.d.ts +0 -124
- package/dist/functions/integrations.d.ts.map +0 -1
- package/dist/functions/item-progress.d.ts +0 -41
- package/dist/functions/item-progress.d.ts.map +0 -1
- package/dist/functions/logs.d.ts +0 -162
- package/dist/functions/logs.d.ts.map +0 -1
- package/dist/functions/observability.d.ts +0 -123
- package/dist/functions/observability.d.ts.map +0 -1
- package/dist/functions/pipeline-executions.d.ts +0 -190
- package/dist/functions/pipeline-executions.d.ts.map +0 -1
- package/dist/functions/pipelines.d.ts +0 -171
- package/dist/functions/pipelines.d.ts.map +0 -1
- package/dist/functions/prompt-configs.d.ts +0 -125
- package/dist/functions/prompt-configs.d.ts.map +0 -1
- package/dist/functions/roles.d.ts +0 -118
- package/dist/functions/roles.d.ts.map +0 -1
- package/dist/functions/system-cron.d.ts +0 -65
- package/dist/functions/system-cron.d.ts.map +0 -1
- package/dist/functions/system.d.ts +0 -29
- package/dist/functions/system.d.ts.map +0 -1
- package/dist/functions/tests.d.ts +0 -28
- package/dist/functions/tests.d.ts.map +0 -1
- package/dist/functions/timers.d.ts +0 -139
- package/dist/functions/timers.d.ts.map +0 -1
- package/dist/functions/triggers.d.ts +0 -203
- package/dist/functions/triggers.d.ts.map +0 -1
- package/dist/functions/types.d.ts +0 -151
- package/dist/functions/types.d.ts.map +0 -1
- package/dist/src/types/types.d.ts +0 -364
- package/dist/src/types/types.d.ts.map +0 -1
- package/index.html +0 -13
- package/netlify.toml +0 -36
- package/package-project.json +0 -64
- package/scripts/ingest-chunks.cjs +0 -202
- package/scripts/kb-chunk-parser.cjs +0 -312
- package/scripts/kb-chunk-parser.ts +0 -330
- package/scripts/load-test-app-install.ts +0 -484
- package/scripts/netlify-dev-wrapper.sh +0 -22
- package/vitest.config.ts +0 -45
- /package/{scripts → .framework/scripts}/app-install-cli.ts +0 -0
- /package/{scripts → .framework/scripts}/boundary-check.sh +0 -0
- /package/{scripts → .framework/scripts}/build-manifest.sh +0 -0
- /package/{scripts → .framework/scripts}/verify-integrity.sh +0 -0
|
@@ -1,364 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module src/types/types
|
|
3
|
-
* @audience installer
|
|
4
|
-
* @layer frontend-hook
|
|
5
|
-
* @stability stable
|
|
6
|
-
*
|
|
7
|
-
* Core TypeScript type definitions for the Spine frontend. These types
|
|
8
|
-
* mirror the `design_schema` and API response shapes used across hooks,
|
|
9
|
-
* components, and pages.
|
|
10
|
-
*
|
|
11
|
-
* **Type hierarchy:**
|
|
12
|
-
* ```
|
|
13
|
-
* DesignSchema
|
|
14
|
-
* ├── fields: Record<string, FieldDefinition>
|
|
15
|
-
* ├── views: Record<string, View> ← ListView | DetailView
|
|
16
|
-
* ├── record_permissions
|
|
17
|
-
* └── functionality?: FunctionalityBindings
|
|
18
|
-
* ItemType ← row in v2.types table
|
|
19
|
-
* Item ← row in v2.items table
|
|
20
|
-
* ```
|
|
21
|
-
*
|
|
22
|
-
* **`system` flag on `FieldDefinition`:** When `system: true`, the field
|
|
23
|
-
* maps to a real DB column (e.g. `title`, `status`). When absent or false,
|
|
24
|
-
* the field value lives in the `data` JSONB column.
|
|
25
|
-
*
|
|
26
|
-
* @seeAlso src/hooks/useSchemaRecord.ts (consumes FieldDefinition[])
|
|
27
|
-
* @seeAlso src/hooks/useForm.ts (consumes FieldDefinition[] for validation)
|
|
28
|
-
* @seeAlso src/hooks/useListSchema.ts (consumes DesignSchema + View)
|
|
29
|
-
* @seeAlso functions/_shared/schema-utils.ts (server-side schema generation)
|
|
30
|
-
*/
|
|
31
|
-
/**
|
|
32
|
-
* Definition of a single field in a `design_schema`. Drives both UI rendering
|
|
33
|
-
* and client-side validation in `useForm`.
|
|
34
|
-
*
|
|
35
|
-
* @prop data_type - Controls rendering widget and validation rules
|
|
36
|
-
* @prop label - Human-readable display label
|
|
37
|
-
* @prop required - Whether the field must be non-empty on save
|
|
38
|
-
* @prop system - If true, maps to a top-level DB column; false/absent → `data` JSONB
|
|
39
|
-
* @prop name - Injected at runtime by hooks; not stored in the schema itself
|
|
40
|
-
* @prop validation - Type-specific constraint overrides
|
|
41
|
-
* @prop options - Choice list for select/multiselect/radio fields
|
|
42
|
-
* @prop permissions - Role-based read/write access map; absent = all roles allowed
|
|
43
|
-
*/
|
|
44
|
-
export interface FieldDefinition {
|
|
45
|
-
data_type: 'text' | 'textarea' | 'rich_text' | 'email' | 'phone' | 'url' | 'number' | 'currency' | 'range' | 'date' | 'datetime' | 'boolean' | 'checkbox' | 'select' | 'multiselect' | 'radio' | 'color' | 'file' | 'image' | 'json' | 'reference' | 'address';
|
|
46
|
-
label: string;
|
|
47
|
-
required: boolean;
|
|
48
|
-
system?: boolean;
|
|
49
|
-
name?: string;
|
|
50
|
-
placeholder?: string;
|
|
51
|
-
description?: string;
|
|
52
|
-
rows?: number;
|
|
53
|
-
min?: number;
|
|
54
|
-
max?: number;
|
|
55
|
-
step?: number;
|
|
56
|
-
readonly?: boolean;
|
|
57
|
-
disabled?: boolean;
|
|
58
|
-
validation?: {
|
|
59
|
-
pattern?: string;
|
|
60
|
-
minLength?: number;
|
|
61
|
-
maxLength?: number;
|
|
62
|
-
min?: number;
|
|
63
|
-
max?: number;
|
|
64
|
-
step?: number;
|
|
65
|
-
integer?: boolean;
|
|
66
|
-
precision?: number;
|
|
67
|
-
maxSize?: number;
|
|
68
|
-
allowedTypes?: string[];
|
|
69
|
-
maxWidth?: number;
|
|
70
|
-
maxHeight?: number;
|
|
71
|
-
currency_code?: string;
|
|
72
|
-
reference_kind?: string;
|
|
73
|
-
reference_type?: string;
|
|
74
|
-
};
|
|
75
|
-
options?: (string | {
|
|
76
|
-
value: string;
|
|
77
|
-
label: string;
|
|
78
|
-
})[];
|
|
79
|
-
permissions?: {
|
|
80
|
-
[role: string]: string[];
|
|
81
|
-
};
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Per-field display/behaviour config within a view. Stored as
|
|
85
|
-
* `design_schema.views[viewSlug].fields[fieldName]`.
|
|
86
|
-
*
|
|
87
|
-
* @prop display_type - Override the default widget for this field in this view
|
|
88
|
-
* @prop sortable - Whether the column header shows a sort toggle in list views
|
|
89
|
-
* @prop searchable - Whether the field is included in free-text search
|
|
90
|
-
*/
|
|
91
|
-
export interface ViewFieldConfig {
|
|
92
|
-
display_type: 'input' | 'textarea' | 'rich_text' | 'select' | 'multiselect' | 'radio' | 'checkbox' | 'switch' | 'date_picker' | 'datetime_picker' | 'color_picker' | 'file_upload' | 'image_upload' | 'range_slider' | 'rating' | 'autocomplete' | 'address_form' | 'reference_picker' | 'text' | 'badge' | 'timestamp' | 'currency' | 'number';
|
|
93
|
-
sortable?: boolean;
|
|
94
|
-
searchable?: boolean;
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* A list view definition. Rendered by `DataListPage` as a table, card grid,
|
|
98
|
-
* or Kanban board depending on `display`.
|
|
99
|
-
*
|
|
100
|
-
* @prop fields - Ordered map of field name → `ViewFieldConfig`
|
|
101
|
-
* @prop default_sort - Initial sort applied before user interaction
|
|
102
|
-
* @prop filters - Field names to expose as filter controls
|
|
103
|
-
* @prop stats - Summary stat cards shown above the list
|
|
104
|
-
* @prop group_by - Field to use as board column grouping (`display: 'board'` only)
|
|
105
|
-
*/
|
|
106
|
-
export interface ListView {
|
|
107
|
-
type: 'list';
|
|
108
|
-
display: 'table' | 'card' | 'board';
|
|
109
|
-
label: string;
|
|
110
|
-
fields: Record<string, ViewFieldConfig>;
|
|
111
|
-
default_sort?: {
|
|
112
|
-
field: string;
|
|
113
|
-
direction: 'asc' | 'desc';
|
|
114
|
-
};
|
|
115
|
-
filters?: string[];
|
|
116
|
-
stats?: Array<{
|
|
117
|
-
title: string;
|
|
118
|
-
type: 'count' | 'filter_count';
|
|
119
|
-
icon?: string;
|
|
120
|
-
color?: string;
|
|
121
|
-
filter?: Record<string, any>;
|
|
122
|
-
}>;
|
|
123
|
-
group_by?: string;
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* A single section within a `DetailView`. Groups related fields under
|
|
127
|
-
* an optional title. Field permissions from the schema still apply —
|
|
128
|
-
* there are no section-level permission overrides.
|
|
129
|
-
*/
|
|
130
|
-
export interface DetailViewSection {
|
|
131
|
-
title: string;
|
|
132
|
-
fields: Record<string, ViewFieldConfig>;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* A detail view definition. Rendered by `DataDetailPage` as a sectioned
|
|
136
|
-
* record form.
|
|
137
|
-
*/
|
|
138
|
-
export interface DetailView {
|
|
139
|
-
type: 'detail';
|
|
140
|
-
label: string;
|
|
141
|
-
sections: DetailViewSection[];
|
|
142
|
-
}
|
|
143
|
-
/** Discriminated union of all supported view types. */
|
|
144
|
-
export type View = ListView | DetailView;
|
|
145
|
-
/**
|
|
146
|
-
* Optional automation and integration bindings attached to a `DesignSchema`.
|
|
147
|
-
* Each array entry describes a trigger condition and the target pipeline,
|
|
148
|
-
* agent, embedding, integration, or constraint.
|
|
149
|
-
*
|
|
150
|
-
* These bindings are evaluated by API handlers and the system cron — not
|
|
151
|
-
* by the frontend. They are included here as a type contract so the frontend
|
|
152
|
-
* can read and display binding metadata without making blind `any` casts.
|
|
153
|
-
*/
|
|
154
|
-
export interface FunctionalityBindings {
|
|
155
|
-
pipelines?: Array<{
|
|
156
|
-
pipeline_id: string;
|
|
157
|
-
trigger: 'manual' | 'on_create' | 'on_update' | 'on_field_change' | 'on_delete' | 'scheduled';
|
|
158
|
-
field?: string;
|
|
159
|
-
condition?: string;
|
|
160
|
-
roles: string[];
|
|
161
|
-
}>;
|
|
162
|
-
ai_agents?: Array<{
|
|
163
|
-
agent_id: string;
|
|
164
|
-
capabilities: ('read' | 'summarize' | 'suggest' | 'update')[];
|
|
165
|
-
trigger: 'manual' | 'on_create' | 'on_update' | 'on_field_change';
|
|
166
|
-
roles: string[];
|
|
167
|
-
}>;
|
|
168
|
-
embeddings?: Array<{
|
|
169
|
-
slug: string;
|
|
170
|
-
fields: string[];
|
|
171
|
-
model: string;
|
|
172
|
-
vector_column: string;
|
|
173
|
-
trigger: 'on_create' | 'on_update' | 'on_create_or_update';
|
|
174
|
-
}>;
|
|
175
|
-
integrations?: Array<{
|
|
176
|
-
integration_id: string;
|
|
177
|
-
sync: 'bidirectional' | 'inbound' | 'outbound';
|
|
178
|
-
field_map: Record<string, {
|
|
179
|
-
external_field: string;
|
|
180
|
-
direction: 'both' | 'inbound' | 'outbound' | 'none';
|
|
181
|
-
transform?: string;
|
|
182
|
-
}>;
|
|
183
|
-
trigger: 'on_create' | 'on_update' | 'on_create_or_update';
|
|
184
|
-
}>;
|
|
185
|
-
constraints?: Array<{
|
|
186
|
-
type: 'unique' | 'conditional_required' | 'immutable';
|
|
187
|
-
fields?: string[];
|
|
188
|
-
field?: string;
|
|
189
|
-
condition?: string;
|
|
190
|
-
message: string;
|
|
191
|
-
after?: 'create' | 'update';
|
|
192
|
-
}>;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* The complete design schema for a `types` record. Stored as a JSONB column
|
|
196
|
-
* (`design_schema`) and stamp-copied onto records at create time.
|
|
197
|
-
*
|
|
198
|
-
* @prop record_permissions - Role → allowed CRUD actions map for the entire record
|
|
199
|
-
* @prop fields - All field definitions keyed by field name
|
|
200
|
-
* @prop views - Named view definitions (`list`, `detail`, etc.)
|
|
201
|
-
* @prop functionality - Optional automation bindings (pipelines, agents, etc.)
|
|
202
|
-
*/
|
|
203
|
-
export interface DesignSchema {
|
|
204
|
-
record_permissions: {
|
|
205
|
-
[role: string]: string[];
|
|
206
|
-
};
|
|
207
|
-
fields: Record<string, FieldDefinition>;
|
|
208
|
-
views: Record<string, View>;
|
|
209
|
-
functionality?: FunctionalityBindings;
|
|
210
|
-
}
|
|
211
|
-
/**
|
|
212
|
-
* A row from the `v2.types` table. Represents a type definition (item type,
|
|
213
|
-
* account type, person type, etc.) including its full `design_schema`.
|
|
214
|
-
*
|
|
215
|
-
* @prop kind - Discriminator: `'item'` | `'account'` | `'person'` | etc.
|
|
216
|
-
* @prop design_schema - Full schema defining fields, views, and functionality
|
|
217
|
-
* @prop validation_schema - Auto-generated JSON Schema used for server-side validation
|
|
218
|
-
* @prop ownership - `'pack'` | `'tenant'` (pack-ownership tracking)
|
|
219
|
-
*/
|
|
220
|
-
export interface ItemType {
|
|
221
|
-
id: string;
|
|
222
|
-
name: string;
|
|
223
|
-
slug: string;
|
|
224
|
-
kind: string;
|
|
225
|
-
description?: string;
|
|
226
|
-
icon?: string;
|
|
227
|
-
color?: string;
|
|
228
|
-
design_schema: DesignSchema;
|
|
229
|
-
validation_schema: {
|
|
230
|
-
fields: Record<string, {
|
|
231
|
-
data_type: string;
|
|
232
|
-
required?: boolean;
|
|
233
|
-
[key: string]: any;
|
|
234
|
-
}>;
|
|
235
|
-
};
|
|
236
|
-
ownership: string;
|
|
237
|
-
is_active: boolean;
|
|
238
|
-
app_id?: string;
|
|
239
|
-
app?: any;
|
|
240
|
-
created_at: string;
|
|
241
|
-
updated_at: string;
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* A row from the `v2.items` table. The `data` JSONB column holds all
|
|
245
|
-
* custom field values; system fields (`title`, `status`, etc.) are top-level.
|
|
246
|
-
*
|
|
247
|
-
* @prop design_schema - Stamp of the type's schema at create time (for resilience
|
|
248
|
-
* to schema changes; may be stale relative to `types` table)
|
|
249
|
-
* @prop validation_schema - Stamp of the validation schema at create time
|
|
250
|
-
*/
|
|
251
|
-
export interface Item {
|
|
252
|
-
id: string;
|
|
253
|
-
item_type_id: string;
|
|
254
|
-
item_type_slug?: string;
|
|
255
|
-
title: string;
|
|
256
|
-
description?: string;
|
|
257
|
-
status: string;
|
|
258
|
-
is_active: boolean;
|
|
259
|
-
data: Record<string, any>;
|
|
260
|
-
created_at: string;
|
|
261
|
-
updated_at: string;
|
|
262
|
-
created_by?: string;
|
|
263
|
-
account_id: string;
|
|
264
|
-
app_id?: string;
|
|
265
|
-
design_schema?: Record<string, any>;
|
|
266
|
-
validation_schema?: Record<string, any>;
|
|
267
|
-
}
|
|
268
|
-
/** A field-level validation failure from `useForm` or server-side validation. */
|
|
269
|
-
export interface ValidationError {
|
|
270
|
-
field: string;
|
|
271
|
-
message: string;
|
|
272
|
-
}
|
|
273
|
-
/** Snapshot of form state — used as a shared type between `useForm` and form components. */
|
|
274
|
-
export interface FormState {
|
|
275
|
-
data: Record<string, any>;
|
|
276
|
-
errors: Record<string, string>;
|
|
277
|
-
touched: Record<string, boolean>;
|
|
278
|
-
isSubmitting: boolean;
|
|
279
|
-
isValid: boolean;
|
|
280
|
-
}
|
|
281
|
-
/** Pagination query parameters for list endpoints. */
|
|
282
|
-
export interface PaginationParams {
|
|
283
|
-
limit?: number;
|
|
284
|
-
offset?: number;
|
|
285
|
-
page?: number;
|
|
286
|
-
}
|
|
287
|
-
/** Sort order specification for list endpoints. */
|
|
288
|
-
export interface SortParams {
|
|
289
|
-
field: string;
|
|
290
|
-
direction: 'asc' | 'desc';
|
|
291
|
-
}
|
|
292
|
-
/** Arbitrary key→value filter map for list endpoints. */
|
|
293
|
-
export interface FilterParams {
|
|
294
|
-
[key: string]: any;
|
|
295
|
-
}
|
|
296
|
-
/** Combined search, sort, filter, and pagination params for list queries. */
|
|
297
|
-
export interface SearchParams extends PaginationParams {
|
|
298
|
-
search?: string;
|
|
299
|
-
sort?: SortParams;
|
|
300
|
-
filters?: FilterParams;
|
|
301
|
-
}
|
|
302
|
-
/** A rendered column descriptor for list/table UI components. */
|
|
303
|
-
export interface EntityColumn {
|
|
304
|
-
key: string;
|
|
305
|
-
label: string;
|
|
306
|
-
sortable?: boolean;
|
|
307
|
-
type?: string;
|
|
308
|
-
display_type?: string;
|
|
309
|
-
badgeColors?: Record<string, string>;
|
|
310
|
-
maxLength?: number;
|
|
311
|
-
}
|
|
312
|
-
/** A stat card shown above entity list pages (count or filtered count). */
|
|
313
|
-
export interface EntityStat {
|
|
314
|
-
title: string;
|
|
315
|
-
type: 'count' | 'filter_count';
|
|
316
|
-
icon: string;
|
|
317
|
-
color: string;
|
|
318
|
-
filter?: Record<string, any>;
|
|
319
|
-
}
|
|
320
|
-
/** A filter control definition for entity list pages. */
|
|
321
|
-
export interface EntityFilter {
|
|
322
|
-
key: string;
|
|
323
|
-
label: string;
|
|
324
|
-
type: 'search' | 'enum' | 'boolean';
|
|
325
|
-
options?: string[];
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* A per-person, per-item progress record. Tracks pipeline status, score, and
|
|
329
|
-
* arbitrary interaction data for courses, onboarding, tasks, and quizzes.
|
|
330
|
-
*
|
|
331
|
-
* `title` is auto-composed as "<item title> — <person name>".
|
|
332
|
-
* `description` is auto-composed as "Completed · score 85 · 2 attempts".
|
|
333
|
-
* `data` holds extensible fields: attempts, time_spent, last_position, etc.
|
|
334
|
-
*
|
|
335
|
-
* INVARIANT: (person_id, item_id) is unique — state, not a log.
|
|
336
|
-
*/
|
|
337
|
-
export interface ItemProgress {
|
|
338
|
-
id: string;
|
|
339
|
-
type_id: string;
|
|
340
|
-
account_id: string;
|
|
341
|
-
app_id: string | null;
|
|
342
|
-
person_id: string;
|
|
343
|
-
item_id: string;
|
|
344
|
-
title: string | null;
|
|
345
|
-
description: string | null;
|
|
346
|
-
status: 'not_started' | 'in_progress' | 'completed' | string;
|
|
347
|
-
score: number | null;
|
|
348
|
-
data: {
|
|
349
|
-
attempts?: number;
|
|
350
|
-
time_spent?: number;
|
|
351
|
-
last_position?: number;
|
|
352
|
-
started_at?: string;
|
|
353
|
-
completed_at?: string;
|
|
354
|
-
[key: string]: any;
|
|
355
|
-
};
|
|
356
|
-
is_active: boolean;
|
|
357
|
-
design_schema: Record<string, any>;
|
|
358
|
-
validation_schema: Record<string, any>;
|
|
359
|
-
created_by: string | null;
|
|
360
|
-
updated_by: string | null;
|
|
361
|
-
created_at: string;
|
|
362
|
-
updated_at: string;
|
|
363
|
-
}
|
|
364
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../.framework/src/types/types.ts"],"names":[],"mappings":"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"}
|
package/index.html
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="UTF-8" />
|
|
5
|
-
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
|
-
<title>Spine</title>
|
|
8
|
-
</head>
|
|
9
|
-
<body>
|
|
10
|
-
<div id="root"></div>
|
|
11
|
-
<script type="module" src="/src/main.tsx"></script>
|
|
12
|
-
</body>
|
|
13
|
-
</html>
|
package/netlify.toml
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
[build]
|
|
2
|
-
command = "npm run build"
|
|
3
|
-
publish = "dist"
|
|
4
|
-
functions = ".assembled/netlify/functions"
|
|
5
|
-
|
|
6
|
-
[build.environment]
|
|
7
|
-
# Supabase VITE variables are meant to be public in the browser
|
|
8
|
-
SECRETS_SCAN_OMIT_KEYS = "VITE_SUPABASE_URL,VITE_SUPABASE_ANON_KEY,VITE_DB_SCHEMA,VITE_APP_NAME,SUPABASE_URL,DB_SCHEMA"
|
|
9
|
-
SECRETS_SCAN_OMIT_PATHS = ".framework/.xenv,.framework/.xenv.test"
|
|
10
|
-
|
|
11
|
-
# Spine functions configuration - assembled from .framework + custom
|
|
12
|
-
[functions]
|
|
13
|
-
directory = ".assembled/netlify/functions"
|
|
14
|
-
included_files = [".assembled/netlify/functions/**"]
|
|
15
|
-
node_bundler = "esbuild"
|
|
16
|
-
|
|
17
|
-
[dev]
|
|
18
|
-
command = "bash scripts/netlify-dev-wrapper.sh"
|
|
19
|
-
framework = "#custom"
|
|
20
|
-
port = 8888
|
|
21
|
-
targetPort = 3001
|
|
22
|
-
autoLaunch = false
|
|
23
|
-
startTimeout = 60
|
|
24
|
-
|
|
25
|
-
[functions."trigger-scheduler"]
|
|
26
|
-
schedule = "* * * * *"
|
|
27
|
-
|
|
28
|
-
[[headers]]
|
|
29
|
-
for = "/*"
|
|
30
|
-
[headers.values]
|
|
31
|
-
X-Frame-Options = "DENY"
|
|
32
|
-
X-Content-Type-Options = "nosniff"
|
|
33
|
-
Strict-Transport-Security = "max-age=31536000; includeSubDomains"
|
|
34
|
-
Referrer-Policy = "strict-origin-when-cross-origin"
|
|
35
|
-
Permissions-Policy = "camera=(), microphone=(), geolocation=()"
|
|
36
|
-
X-XSS-Protection = "1; mode=block"
|
package/package-project.json
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "spine-project",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"type": "module",
|
|
5
|
-
"scripts": {
|
|
6
|
-
"assemble": "bash node_modules/spine-framework/scripts/assemble.sh",
|
|
7
|
-
"dev": "netlify dev",
|
|
8
|
-
"build": "npm run assemble && netlify build",
|
|
9
|
-
"preview": "netlify dev"
|
|
10
|
-
},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"spine-framework": "^0.1.0",
|
|
13
|
-
"@tanstack/react-query": "^5.0.0",
|
|
14
|
-
"lucide-react": "^0.400.0",
|
|
15
|
-
"clsx": "^2.0.0",
|
|
16
|
-
"tailwind-merge": "^2.0.0",
|
|
17
|
-
"class-variance-authority": "^0.7.0",
|
|
18
|
-
"recharts": "^3.0.0",
|
|
19
|
-
"@radix-ui/react-dialog": "^1.0.0",
|
|
20
|
-
"@radix-ui/react-slot": "^1.0.0",
|
|
21
|
-
"@radix-ui/react-tooltip": "^1.0.0",
|
|
22
|
-
"@radix-ui/react-separator": "^1.0.0",
|
|
23
|
-
"@radix-ui/react-avatar": "^1.0.0",
|
|
24
|
-
"@radix-ui/react-collapsible": "^1.0.0",
|
|
25
|
-
"@radix-ui/react-dropdown-menu": "^1.0.0",
|
|
26
|
-
"@radix-ui/react-select": "^2.0.0",
|
|
27
|
-
"@radix-ui/react-switch": "^1.0.0",
|
|
28
|
-
"@radix-ui/react-tabs": "^1.0.0",
|
|
29
|
-
"@radix-ui/react-toast": "^1.0.0",
|
|
30
|
-
"@radix-ui/react-radio-group": "^1.0.0",
|
|
31
|
-
"@radix-ui/react-context-menu": "^1.0.0",
|
|
32
|
-
"@radix-ui/react-menubar": "^1.0.0",
|
|
33
|
-
"@radix-ui/react-toggle": "^1.0.0",
|
|
34
|
-
"@radix-ui/react-toggle-group": "^1.0.0",
|
|
35
|
-
"@radix-ui/react-accordion": "^1.0.0",
|
|
36
|
-
"@radix-ui/react-navigation-menu": "^1.0.0",
|
|
37
|
-
"@radix-ui/react-scroll-area": "^1.0.0",
|
|
38
|
-
"@radix-ui/react-hover-card": "^1.0.0",
|
|
39
|
-
"@radix-ui/react-progress": "^1.0.0",
|
|
40
|
-
"@radix-ui/react-alert-dialog": "^1.0.0",
|
|
41
|
-
"@radix-ui/react-aspect-ratio": "^1.0.0",
|
|
42
|
-
"@radix-ui/react-direction": "^1.0.0",
|
|
43
|
-
"@radix-ui/react-checkbox": "^1.0.0",
|
|
44
|
-
"@radix-ui/react-slider": "^1.0.0",
|
|
45
|
-
"@radix-ui/react-label": "^1.0.0",
|
|
46
|
-
"@radix-ui/react-popover": "^1.0.0",
|
|
47
|
-
"tailwindcss-animate": "^1.0.0",
|
|
48
|
-
"ws": "^8.0.0",
|
|
49
|
-
"@tiptap/react": "^3.24.0",
|
|
50
|
-
"@tiptap/starter-kit": "^3.24.0",
|
|
51
|
-
"@tiptap/extension-code-block-lowlight": "^3.24.0",
|
|
52
|
-
"@tiptap/extension-placeholder": "^3.24.0",
|
|
53
|
-
"lowlight": "^3.3.0",
|
|
54
|
-
"highlight.js": "^11.11.1"
|
|
55
|
-
},
|
|
56
|
-
"devDependencies": {
|
|
57
|
-
"vite": "^6.4.3",
|
|
58
|
-
"@vitejs/plugin-react": "^4.0.0",
|
|
59
|
-
"tailwindcss": "^3.4.0",
|
|
60
|
-
"autoprefixer": "^10.4.0",
|
|
61
|
-
"postcss": "^8.5.15",
|
|
62
|
-
"netlify-cli": "^26.0.0"
|
|
63
|
-
}
|
|
64
|
-
}
|