forge-openclaw-plugin 0.2.24 → 0.2.26
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/README.md +13 -0
- package/dist/assets/{board-_C6oMy5w.js → board-ta0rUHOf.js} +3 -3
- package/dist/assets/{board-_C6oMy5w.js.map → board-ta0rUHOf.js.map} +1 -1
- package/dist/assets/index-Ro0ZF_az.css +1 -0
- package/dist/assets/index-ytlpSj23.js +79 -0
- package/dist/assets/index-ytlpSj23.js.map +1 -0
- package/dist/assets/{motion-D4sZgCHd.js → motion-fBKPB6yw.js} +3 -3
- package/dist/assets/motion-fBKPB6yw.js.map +1 -0
- package/dist/assets/{table-BWzTaky1.js → table-C-IGTQni.js} +2 -2
- package/dist/assets/{table-BWzTaky1.js.map → table-C-IGTQni.js.map} +1 -1
- package/dist/assets/{ui-BzK4azQb.js → ui-DInOpaYF.js} +2 -2
- package/dist/assets/{ui-BzK4azQb.js.map → ui-DInOpaYF.js.map} +1 -1
- package/dist/assets/vendor-lE3tZJcC.js +876 -0
- package/dist/assets/vendor-lE3tZJcC.js.map +1 -0
- package/dist/index.html +7 -8
- package/dist/openclaw/local-runtime.d.ts +3 -1
- package/dist/openclaw/local-runtime.js +51 -15
- package/dist/openclaw/parity.d.ts +1 -1
- package/dist/openclaw/parity.js +29 -0
- package/dist/openclaw/plugin-entry-shared.d.ts +1 -0
- package/dist/openclaw/plugin-entry-shared.js +31 -6
- package/dist/openclaw/plugin-sdk-types.d.ts +29 -0
- package/dist/openclaw/routes.js +236 -0
- package/dist/openclaw/session-bootstrap.d.ts +78 -0
- package/dist/openclaw/session-bootstrap.js +240 -0
- package/dist/openclaw/tools.js +279 -6
- package/dist/server/server/migrations/001_core.sql +411 -0
- package/dist/server/server/migrations/002_psyche.sql +392 -0
- package/dist/server/server/migrations/003_habits.sql +30 -0
- package/dist/server/server/migrations/004_habit_links.sql +8 -0
- package/dist/server/server/migrations/005_habit_psyche_links.sql +24 -0
- package/dist/server/server/migrations/006_work_adjustments.sql +14 -0
- package/dist/server/server/migrations/007_weekly_review_closures.sql +17 -0
- package/dist/server/server/migrations/008_calendar_execution.sql +147 -0
- package/dist/server/server/migrations/009_true_calendar_events.sql +195 -0
- package/dist/server/server/migrations/010_calendar_selection_state.sql +6 -0
- package/dist/server/server/migrations/011_calendar_timezone_backfill.sql +11 -0
- package/dist/server/server/migrations/012_work_block_ranges.sql +7 -0
- package/dist/server/server/migrations/013_microsoft_local_auth_settings.sql +8 -0
- package/dist/server/server/migrations/014_note_tags_and_ephemeral.sql +8 -0
- package/dist/server/server/migrations/015_multi_user_and_strategies.sql +244 -0
- package/dist/server/server/migrations/016_health_companion.sql +158 -0
- package/dist/server/server/migrations/016_strategy_contracts_and_user_graph.sql +22 -0
- package/dist/server/server/migrations/017_preferences.sql +131 -0
- package/dist/server/server/migrations/018_preference_catalogs.sql +31 -0
- package/dist/server/server/migrations/019_wiki_memory.sql +255 -0
- package/dist/server/server/migrations/020_wiki_page_hierarchy.sql +11 -0
- package/dist/server/server/migrations/021_hide_evidence_from_wiki_index.sql +3 -0
- package/dist/server/server/migrations/022_wiki_ingest_background.sql +85 -0
- package/dist/server/server/migrations/023_diagnostic_logs.sql +28 -0
- package/dist/server/server/migrations/024_questionnaires.sql +96 -0
- package/dist/server/server/migrations/025_ai_model_connections.sql +26 -0
- package/dist/server/server/migrations/026_custom_theme_settings.sql +2 -0
- package/dist/server/server/migrations/027_ai_processors.sql +31 -0
- package/dist/server/server/migrations/028_movement_domain.sql +136 -0
- package/dist/server/server/migrations/029_watch_micro_capture.sql +23 -0
- package/dist/server/server/migrations/030_surface_layouts.sql +5 -0
- package/dist/server/server/migrations/031_ai_processor_runtime_upgrades.sql +10 -0
- package/dist/server/server/migrations/032_ai_connectors.sql +44 -0
- package/dist/server/server/migrations/033_movement_trip_point_sync.sql +36 -0
- package/dist/server/server/migrations/034_movement_segment_sync.sql +49 -0
- package/dist/server/server/migrations/035_google_local_auth_settings.sql +2 -0
- package/dist/server/server/migrations/036_google_local_auth_client_secret.sql +2 -0
- package/dist/server/{app.js → server/src/app.js} +992 -25
- package/dist/server/server/src/connectors/box-registry.js +188 -0
- package/dist/server/{db.js → server/src/db.js} +6 -0
- package/dist/server/server/src/debug.js +19 -0
- package/dist/server/server/src/discovery-advertiser.js +114 -0
- package/dist/server/{health.js → server/src/health.js} +39 -11
- package/dist/server/{index.js → server/src/index.js} +4 -0
- package/dist/server/{managers → server/src/managers}/platform/llm-manager.js +40 -4
- package/dist/server/{managers → server/src/managers}/platform/openai-responses-provider.js +129 -19
- package/dist/server/server/src/movement.js +2935 -0
- package/dist/server/{openapi.js → server/src/openapi.js} +628 -5
- package/dist/server/{psyche-types.js → server/src/psyche-types.js} +15 -1
- package/dist/server/server/src/questionnaire-flow.js +552 -0
- package/dist/server/server/src/questionnaire-seeds.js +853 -0
- package/dist/server/server/src/questionnaire-types.js +340 -0
- package/dist/server/server/src/repositories/ai-connectors.js +1207 -0
- package/dist/server/server/src/repositories/ai-processors.js +547 -0
- package/dist/server/{repositories → server/src/repositories}/calendar.js +1 -1
- package/dist/server/{repositories → server/src/repositories}/entity-ownership.js +9 -1
- package/dist/server/{repositories → server/src/repositories}/habits.js +69 -5
- package/dist/server/server/src/repositories/model-settings.js +216 -0
- package/dist/server/{repositories → server/src/repositories}/notes.js +57 -15
- package/dist/server/{repositories → server/src/repositories}/preferences.js +124 -0
- package/dist/server/server/src/repositories/questionnaires.js +1338 -0
- package/dist/server/{repositories → server/src/repositories}/settings.js +156 -12
- package/dist/server/server/src/repositories/surface-layouts.js +76 -0
- package/dist/server/{repositories → server/src/repositories}/wiki-memory.js +5 -1
- package/dist/server/{services → server/src/services}/calendar-runtime.js +775 -58
- package/dist/server/{services → server/src/services}/entity-crud.js +81 -2
- package/dist/server/server/src/services/google-calendar-oauth-config.js +176 -0
- package/dist/server/server/src/services/openai-codex-oauth.js +153 -0
- package/dist/server/server/src/services/psyche-observation-calendar.js +46 -0
- package/dist/server/{types.js → server/src/types.js} +621 -14
- package/dist/server/server/src/watch-mobile.js +562 -0
- package/dist/server/{web.js → server/src/web.js} +30 -4
- package/dist/server/src/components/customization/utility-widgets.js +330 -0
- package/dist/server/src/components/workbench-boxes/health/health-boxes.js +92 -0
- package/dist/server/src/components/workbench-boxes/kanban/kanban-boxes.js +128 -0
- package/dist/server/src/components/workbench-boxes/movement/movement-boxes.js +37 -0
- package/dist/server/src/components/workbench-boxes/notes/notes-boxes.js +114 -0
- package/dist/server/src/components/workbench-boxes/projects/projects-boxes.js +57 -0
- package/dist/server/src/components/workbench-boxes/shared/define-workbench-box.js +4 -0
- package/dist/server/src/components/workbench-boxes/shared/generic-node-view.js +13 -0
- package/dist/server/src/components/workbench-boxes/today/today-boxes.js +63 -0
- package/dist/server/src/lib/api-error.js +37 -0
- package/dist/server/src/lib/api.js +1859 -0
- package/dist/server/src/lib/calendar-name-deduper.js +144 -0
- package/dist/server/src/lib/diagnostics.js +67 -0
- package/dist/server/src/lib/psyche-types.js +1 -0
- package/dist/server/src/lib/questionnaire-types.js +1 -0
- package/dist/server/src/lib/runtime-paths.js +24 -0
- package/dist/server/src/lib/schemas.js +234 -0
- package/dist/server/src/lib/snapshot-normalizer.js +374 -0
- package/dist/server/src/lib/theme-system.js +319 -0
- package/dist/server/src/lib/types.js +1 -0
- package/dist/server/src/lib/utils.js +22 -0
- package/dist/server/src/lib/workbench/boxes.js +16 -0
- package/dist/server/src/lib/workbench/nodes.js +15 -0
- package/dist/server/src/lib/workbench/registry.js +73 -0
- package/dist/server/src/lib/workbench/runtime.js +181 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +6 -1
- package/server/index.js +68 -0
- package/server/migrations/024_questionnaires.sql +96 -0
- package/server/migrations/025_ai_model_connections.sql +26 -0
- package/server/migrations/026_custom_theme_settings.sql +2 -0
- package/server/migrations/027_ai_processors.sql +31 -0
- package/server/migrations/028_movement_domain.sql +136 -0
- package/server/migrations/029_watch_micro_capture.sql +23 -0
- package/server/migrations/030_surface_layouts.sql +5 -0
- package/server/migrations/031_ai_processor_runtime_upgrades.sql +10 -0
- package/server/migrations/032_ai_connectors.sql +44 -0
- package/server/migrations/033_movement_trip_point_sync.sql +36 -0
- package/server/migrations/034_movement_segment_sync.sql +49 -0
- package/server/migrations/035_google_local_auth_settings.sql +2 -0
- package/server/migrations/036_google_local_auth_client_secret.sql +2 -0
- package/skills/forge-openclaw/SKILL.md +15 -1
- package/skills/forge-openclaw/entity_conversation_playbooks.md +523 -87
- package/skills/forge-openclaw/psyche_entity_playbooks.md +331 -221
- package/dist/assets/index-DTCwBWAs.js +0 -65
- package/dist/assets/index-DTCwBWAs.js.map +0 -1
- package/dist/assets/index-DttXlAgi.css +0 -1
- package/dist/assets/motion-D4sZgCHd.js.map +0 -1
- package/dist/assets/vendor-De38P6YR.js +0 -729
- package/dist/assets/vendor-De38P6YR.js.map +0 -1
- package/dist/assets/viz-C6hfyqzu.js +0 -34
- package/dist/assets/viz-C6hfyqzu.js.map +0 -1
- package/skills/forge-openclaw/cron_jobs.md +0 -395
- /package/dist/server/{demo-data.js → server/src/demo-data.js} +0 -0
- /package/dist/server/{e2e-server.js → server/src/e2e-server.js} +0 -0
- /package/dist/server/{errors.js → server/src/errors.js} +0 -0
- /package/dist/server/{managers → server/src/managers}/base.js +0 -0
- /package/dist/server/{managers → server/src/managers}/contracts.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/api-gateway-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/audit-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/authentication-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/authorization-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/background-job-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/configuration-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/database-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/event-bus-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/external-service-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/health-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/migration-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/search-index-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/secrets-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/session-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/storage-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/token-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/transaction-manager.js +0 -0
- /package/dist/server/{managers → server/src/managers}/platform/trusted-network.js +0 -0
- /package/dist/server/{managers → server/src/managers}/runtime.js +0 -0
- /package/dist/server/{managers → server/src/managers}/type-guards.js +0 -0
- /package/dist/server/{preferences-seeds.js → server/src/preferences-seeds.js} +0 -0
- /package/dist/server/{preferences-types.js → server/src/preferences-types.js} +0 -0
- /package/dist/server/{repositories → server/src/repositories}/activity-events.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/collaboration.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/deleted-entities.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/diagnostic-logs.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/domains.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/event-log.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/goals.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/projects.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/psyche.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/rewards.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/strategies.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/tags.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/task-runs.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/tasks.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/users.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/weekly-reviews.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/work-adjustments.js +0 -0
- /package/dist/server/{seed-demo.js → server/src/seed-demo.js} +0 -0
- /package/dist/server/{services → server/src/services}/context.js +0 -0
- /package/dist/server/{services → server/src/services}/dashboard.js +0 -0
- /package/dist/server/{services → server/src/services}/gamification.js +0 -0
- /package/dist/server/{services → server/src/services}/insights.js +0 -0
- /package/dist/server/{services → server/src/services}/projects.js +0 -0
- /package/dist/server/{services → server/src/services}/psyche.js +0 -0
- /package/dist/server/{services → server/src/services}/relations.js +0 -0
- /package/dist/server/{services → server/src/services}/reviews.js +0 -0
- /package/dist/server/{services → server/src/services}/run-recovery.js +0 -0
- /package/dist/server/{services → server/src/services}/tagging.js +0 -0
- /package/dist/server/{services → server/src/services}/task-run-watchdog.js +0 -0
- /package/dist/server/{services → server/src/services}/work-time.js +0 -0
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS domains (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
slug TEXT NOT NULL UNIQUE,
|
|
4
|
+
title TEXT NOT NULL,
|
|
5
|
+
description TEXT NOT NULL DEFAULT '',
|
|
6
|
+
theme_color TEXT NOT NULL,
|
|
7
|
+
sensitive INTEGER NOT NULL DEFAULT 0,
|
|
8
|
+
created_at TEXT NOT NULL,
|
|
9
|
+
updated_at TEXT NOT NULL
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
INSERT OR IGNORE INTO domains (id, slug, title, description, theme_color, sensitive, created_at, updated_at) VALUES
|
|
13
|
+
('domain_health', 'health', 'Health', 'Physical vitality, recovery, and body stewardship.', '#ef4444', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
14
|
+
('domain_mastery', 'mastery', 'Mastery', 'Skill building, deliberate practice, and craft.', '#f5efe6', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
15
|
+
('domain_love', 'love', 'Love', 'Relationships, intimacy, attachment, and shared life.', '#7dd3fc', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
16
|
+
('domain_wealth', 'wealth', 'Wealth', 'Financial stability, leverage, and freedom.', '#f59e0b', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
17
|
+
('domain_creativity', 'creativity', 'Creativity', 'Original work, authorship, and expression.', '#c0c1ff', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
18
|
+
('domain_contribution', 'contribution', 'Contribution', 'Service, meaning, and impact on others.', '#4edea3', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
19
|
+
('domain_spirituality', 'spirituality', 'Spirituality', 'Inner life, ritual, meaning, and transcendence.', '#8b5cf6', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
20
|
+
('domain_adventure', 'adventure', 'Adventure', 'Novelty, courage, movement, and lived expansion.', '#fb7185', 0, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
21
|
+
('domain_psyche', 'psyche', 'Psyche', 'Values-led therapeutic reflection, pattern change, and trigger analysis.', '#6ee7b7', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
|
|
22
|
+
|
|
23
|
+
CREATE TABLE IF NOT EXISTS psyche_values (
|
|
24
|
+
id TEXT PRIMARY KEY,
|
|
25
|
+
domain_id TEXT NOT NULL REFERENCES domains(id) ON DELETE CASCADE,
|
|
26
|
+
title TEXT NOT NULL,
|
|
27
|
+
description TEXT NOT NULL DEFAULT '',
|
|
28
|
+
valued_direction TEXT NOT NULL DEFAULT '',
|
|
29
|
+
why_it_matters TEXT NOT NULL DEFAULT '',
|
|
30
|
+
linked_goal_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
31
|
+
linked_project_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
32
|
+
linked_task_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
33
|
+
committed_actions_json TEXT NOT NULL DEFAULT '[]',
|
|
34
|
+
created_at TEXT NOT NULL,
|
|
35
|
+
updated_at TEXT NOT NULL
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
CREATE TABLE IF NOT EXISTS behavior_patterns (
|
|
39
|
+
id TEXT PRIMARY KEY,
|
|
40
|
+
domain_id TEXT NOT NULL REFERENCES domains(id) ON DELETE CASCADE,
|
|
41
|
+
title TEXT NOT NULL,
|
|
42
|
+
description TEXT NOT NULL DEFAULT '',
|
|
43
|
+
target_behavior TEXT NOT NULL DEFAULT '',
|
|
44
|
+
cue_contexts_json TEXT NOT NULL DEFAULT '[]',
|
|
45
|
+
short_term_payoff TEXT NOT NULL DEFAULT '',
|
|
46
|
+
long_term_cost TEXT NOT NULL DEFAULT '',
|
|
47
|
+
preferred_response TEXT NOT NULL DEFAULT '',
|
|
48
|
+
linked_value_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
49
|
+
linked_schema_labels_json TEXT NOT NULL DEFAULT '[]',
|
|
50
|
+
linked_mode_labels_json TEXT NOT NULL DEFAULT '[]',
|
|
51
|
+
created_at TEXT NOT NULL,
|
|
52
|
+
updated_at TEXT NOT NULL
|
|
53
|
+
);
|
|
54
|
+
|
|
55
|
+
CREATE TABLE IF NOT EXISTS trigger_reports (
|
|
56
|
+
id TEXT PRIMARY KEY,
|
|
57
|
+
domain_id TEXT NOT NULL REFERENCES domains(id) ON DELETE CASCADE,
|
|
58
|
+
title TEXT NOT NULL,
|
|
59
|
+
status TEXT NOT NULL DEFAULT 'draft',
|
|
60
|
+
event_situation TEXT NOT NULL DEFAULT '',
|
|
61
|
+
occurred_at TEXT,
|
|
62
|
+
emotions_json TEXT NOT NULL DEFAULT '[]',
|
|
63
|
+
thoughts_json TEXT NOT NULL DEFAULT '[]',
|
|
64
|
+
behaviors_json TEXT NOT NULL DEFAULT '[]',
|
|
65
|
+
consequences_json TEXT NOT NULL DEFAULT '{}',
|
|
66
|
+
linked_pattern_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
67
|
+
linked_value_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
68
|
+
linked_goal_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
69
|
+
linked_project_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
70
|
+
linked_task_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
71
|
+
mode_overlays_json TEXT NOT NULL DEFAULT '[]',
|
|
72
|
+
schema_links_json TEXT NOT NULL DEFAULT '[]',
|
|
73
|
+
next_moves_json TEXT NOT NULL DEFAULT '[]',
|
|
74
|
+
event_type_id TEXT REFERENCES event_types(id) ON DELETE SET NULL,
|
|
75
|
+
custom_event_type TEXT NOT NULL DEFAULT '',
|
|
76
|
+
linked_behavior_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
77
|
+
linked_belief_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
78
|
+
linked_mode_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
79
|
+
mode_timeline_json TEXT NOT NULL DEFAULT '[]',
|
|
80
|
+
created_at TEXT NOT NULL,
|
|
81
|
+
updated_at TEXT NOT NULL
|
|
82
|
+
);
|
|
83
|
+
|
|
84
|
+
CREATE TABLE IF NOT EXISTS schema_catalog (
|
|
85
|
+
id TEXT PRIMARY KEY,
|
|
86
|
+
slug TEXT NOT NULL UNIQUE,
|
|
87
|
+
title TEXT NOT NULL,
|
|
88
|
+
family TEXT NOT NULL,
|
|
89
|
+
description TEXT NOT NULL DEFAULT '',
|
|
90
|
+
created_at TEXT NOT NULL,
|
|
91
|
+
updated_at TEXT NOT NULL
|
|
92
|
+
);
|
|
93
|
+
|
|
94
|
+
INSERT OR IGNORE INTO schema_catalog (id, slug, title, family, description, created_at, updated_at) VALUES
|
|
95
|
+
('schema_abandonment', 'abandonment', 'Abandonment', 'disconnection_rejection', 'Expectation that close connection will not remain stable or available.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
96
|
+
('schema_mistrust', 'mistrust_abuse', 'Mistrust / Abuse', 'disconnection_rejection', 'Expectation that others will hurt, humiliate, manipulate, or exploit.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
97
|
+
('schema_emotional_deprivation', 'emotional_deprivation', 'Emotional Deprivation', 'disconnection_rejection', 'Expectation that emotional support, empathy, or protection will not be met.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
98
|
+
('schema_defectiveness', 'defectiveness_shame', 'Defectiveness / Shame', 'disconnection_rejection', 'Sense of being bad, unlovable, inferior, or shameful at the core.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
99
|
+
('schema_social_isolation', 'social_isolation', 'Social Isolation', 'disconnection_rejection', 'Sense of being fundamentally different, outside, or not belonging.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
100
|
+
('schema_failure', 'failure', 'Failure', 'impaired_autonomy', 'Expectation of inevitable failure or inadequacy relative to peers.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
101
|
+
('schema_dependence', 'dependence_incompetence', 'Dependence / Incompetence', 'impaired_autonomy', 'Belief that one cannot handle responsibilities competently without help.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
102
|
+
('schema_vulnerability', 'vulnerability_to_harm', 'Vulnerability to Harm', 'impaired_autonomy', 'Exaggerated fear that catastrophe or collapse is always near.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
103
|
+
('schema_subjugation', 'subjugation', 'Subjugation', 'other_directedness', 'Chronic surrender of needs or preferences to avoid conflict, guilt, or retaliation.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
104
|
+
('schema_self_sacrifice', 'self_sacrifice', 'Self-Sacrifice', 'other_directedness', 'Excessive focus on meeting others'' needs at the cost of one''s own.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
105
|
+
('schema_unrelenting', 'unrelenting_standards', 'Unrelenting Standards', 'overvigilance_inhibition', 'Pressure to meet very high standards and avoid mistakes at all costs.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
106
|
+
('schema_punitiveness', 'punitiveness', 'Punitiveness', 'overvigilance_inhibition', 'Belief that mistakes deserve harsh punishment rather than repair.', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
|
|
107
|
+
|
|
108
|
+
CREATE TABLE IF NOT EXISTS event_types (
|
|
109
|
+
id TEXT PRIMARY KEY,
|
|
110
|
+
domain_id TEXT NOT NULL REFERENCES domains(id) ON DELETE CASCADE,
|
|
111
|
+
label TEXT NOT NULL,
|
|
112
|
+
description TEXT NOT NULL DEFAULT '',
|
|
113
|
+
system INTEGER NOT NULL DEFAULT 0,
|
|
114
|
+
created_at TEXT NOT NULL,
|
|
115
|
+
updated_at TEXT NOT NULL
|
|
116
|
+
);
|
|
117
|
+
|
|
118
|
+
INSERT OR IGNORE INTO event_types (id, domain_id, label, description, system, created_at, updated_at) VALUES
|
|
119
|
+
('event_feedback', 'domain_psyche', 'Feedback', 'Performance feedback, correction, or evaluation from someone important.', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
120
|
+
('event_silence', 'domain_psyche', 'Silence after outreach', 'A meaningful delay or silence after vulnerability, initiative, or contact.', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
121
|
+
('event_conflict', 'domain_psyche', 'Conflict', 'Tension, disagreement, rupture, or perceived relational threat.', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
122
|
+
('event_performance', 'domain_psyche', 'Performance pressure', 'Moments where competence, output, or comparison felt sharply relevant.', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
123
|
+
('event_change', 'domain_psyche', 'Unexpected change', 'Plans shifted or certainty collapsed faster than the system could adapt.', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
124
|
+
('event_intimacy', 'domain_psyche', 'Intimacy', 'Closeness, exposure, or emotional contact that stirred vulnerability.', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
|
|
125
|
+
|
|
126
|
+
CREATE TABLE IF NOT EXISTS emotion_definitions (
|
|
127
|
+
id TEXT PRIMARY KEY,
|
|
128
|
+
domain_id TEXT NOT NULL REFERENCES domains(id) ON DELETE CASCADE,
|
|
129
|
+
label TEXT NOT NULL,
|
|
130
|
+
description TEXT NOT NULL DEFAULT '',
|
|
131
|
+
category TEXT NOT NULL DEFAULT '',
|
|
132
|
+
system INTEGER NOT NULL DEFAULT 0,
|
|
133
|
+
created_at TEXT NOT NULL,
|
|
134
|
+
updated_at TEXT NOT NULL
|
|
135
|
+
);
|
|
136
|
+
|
|
137
|
+
INSERT OR IGNORE INTO emotion_definitions (id, domain_id, label, description, category, system, created_at, updated_at) VALUES
|
|
138
|
+
('emotion_fear', 'domain_psyche', 'Fear', 'Alarm, danger, dread, or anticipatory threat.', 'threat', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
139
|
+
('emotion_sadness', 'domain_psyche', 'Sadness', 'Loss, grief, emptiness, or heaviness.', 'loss', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
140
|
+
('emotion_shame', 'domain_psyche', 'Shame', 'Exposure, defectiveness, humiliation, or collapse of worth.', 'self_evaluation', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
141
|
+
('emotion_guilt', 'domain_psyche', 'Guilt', 'Sense of having failed, harmed, or violated a value.', 'self_evaluation', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
142
|
+
('emotion_anger', 'domain_psyche', 'Anger', 'Boundary activation, protest, frustration, or heat.', 'boundary', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
143
|
+
('emotion_loneliness', 'domain_psyche', 'Loneliness', 'Disconnection, distance, or lack of emotional contact.', 'attachment', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
144
|
+
('emotion_relief', 'domain_psyche', 'Relief', 'Release after pressure, fear, or ambiguity.', 'release', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
145
|
+
('emotion_joy', 'domain_psyche', 'Joy', 'Warmth, pleasure, delight, or expansion.', 'positive', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
146
|
+
('emotion_frustration', 'domain_psyche', 'Frustration', 'Blocked movement, thwarted desire, or pressure build-up.', 'boundary', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP),
|
|
147
|
+
('emotion_disgust', 'domain_psyche', 'Disgust', 'Repulsion, contamination, or recoil.', 'threat', 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP);
|
|
148
|
+
|
|
149
|
+
CREATE TABLE IF NOT EXISTS psyche_behaviors (
|
|
150
|
+
id TEXT PRIMARY KEY,
|
|
151
|
+
domain_id TEXT NOT NULL REFERENCES domains(id) ON DELETE CASCADE,
|
|
152
|
+
kind TEXT NOT NULL,
|
|
153
|
+
title TEXT NOT NULL,
|
|
154
|
+
description TEXT NOT NULL DEFAULT '',
|
|
155
|
+
common_cues_json TEXT NOT NULL DEFAULT '[]',
|
|
156
|
+
urge_story TEXT NOT NULL DEFAULT '',
|
|
157
|
+
short_term_payoff TEXT NOT NULL DEFAULT '',
|
|
158
|
+
long_term_cost TEXT NOT NULL DEFAULT '',
|
|
159
|
+
replacement_move TEXT NOT NULL DEFAULT '',
|
|
160
|
+
repair_plan TEXT NOT NULL DEFAULT '',
|
|
161
|
+
linked_pattern_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
162
|
+
linked_value_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
163
|
+
linked_schema_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
164
|
+
linked_mode_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
165
|
+
created_at TEXT NOT NULL,
|
|
166
|
+
updated_at TEXT NOT NULL
|
|
167
|
+
);
|
|
168
|
+
|
|
169
|
+
CREATE TABLE IF NOT EXISTS belief_entries (
|
|
170
|
+
id TEXT PRIMARY KEY,
|
|
171
|
+
domain_id TEXT NOT NULL REFERENCES domains(id) ON DELETE CASCADE,
|
|
172
|
+
schema_id TEXT REFERENCES schema_catalog(id) ON DELETE SET NULL,
|
|
173
|
+
statement TEXT NOT NULL,
|
|
174
|
+
belief_type TEXT NOT NULL,
|
|
175
|
+
origin_note TEXT NOT NULL DEFAULT '',
|
|
176
|
+
confidence INTEGER NOT NULL DEFAULT 60,
|
|
177
|
+
evidence_for_json TEXT NOT NULL DEFAULT '[]',
|
|
178
|
+
evidence_against_json TEXT NOT NULL DEFAULT '[]',
|
|
179
|
+
flexible_alternative TEXT NOT NULL DEFAULT '',
|
|
180
|
+
linked_value_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
181
|
+
linked_behavior_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
182
|
+
linked_mode_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
183
|
+
linked_report_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
184
|
+
created_at TEXT NOT NULL,
|
|
185
|
+
updated_at TEXT NOT NULL
|
|
186
|
+
);
|
|
187
|
+
|
|
188
|
+
CREATE TABLE IF NOT EXISTS mode_profiles (
|
|
189
|
+
id TEXT PRIMARY KEY,
|
|
190
|
+
domain_id TEXT NOT NULL REFERENCES domains(id) ON DELETE CASCADE,
|
|
191
|
+
family TEXT NOT NULL,
|
|
192
|
+
archetype TEXT NOT NULL DEFAULT '',
|
|
193
|
+
title TEXT NOT NULL,
|
|
194
|
+
persona TEXT NOT NULL DEFAULT '',
|
|
195
|
+
imagery TEXT NOT NULL DEFAULT '',
|
|
196
|
+
symbolic_form TEXT NOT NULL DEFAULT '',
|
|
197
|
+
facial_expression TEXT NOT NULL DEFAULT '',
|
|
198
|
+
fear TEXT NOT NULL DEFAULT '',
|
|
199
|
+
burden TEXT NOT NULL DEFAULT '',
|
|
200
|
+
protective_job TEXT NOT NULL DEFAULT '',
|
|
201
|
+
origin_context TEXT NOT NULL DEFAULT '',
|
|
202
|
+
first_appearance_at TEXT,
|
|
203
|
+
linked_pattern_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
204
|
+
linked_behavior_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
205
|
+
linked_value_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
206
|
+
created_at TEXT NOT NULL,
|
|
207
|
+
updated_at TEXT NOT NULL
|
|
208
|
+
);
|
|
209
|
+
|
|
210
|
+
CREATE TABLE IF NOT EXISTS mode_guide_sessions (
|
|
211
|
+
id TEXT PRIMARY KEY,
|
|
212
|
+
summary TEXT NOT NULL,
|
|
213
|
+
answers_json TEXT NOT NULL DEFAULT '[]',
|
|
214
|
+
results_json TEXT NOT NULL DEFAULT '[]',
|
|
215
|
+
created_at TEXT NOT NULL,
|
|
216
|
+
updated_at TEXT NOT NULL
|
|
217
|
+
);
|
|
218
|
+
|
|
219
|
+
CREATE INDEX IF NOT EXISTS idx_psyche_values_domain ON psyche_values(domain_id, created_at DESC);
|
|
220
|
+
CREATE INDEX IF NOT EXISTS idx_behavior_patterns_domain ON behavior_patterns(domain_id, created_at DESC);
|
|
221
|
+
CREATE INDEX IF NOT EXISTS idx_trigger_reports_domain ON trigger_reports(domain_id, created_at DESC);
|
|
222
|
+
CREATE INDEX IF NOT EXISTS idx_trigger_reports_status ON trigger_reports(status, created_at DESC);
|
|
223
|
+
CREATE INDEX IF NOT EXISTS idx_event_types_domain ON event_types(domain_id, system DESC, label);
|
|
224
|
+
CREATE INDEX IF NOT EXISTS idx_emotion_definitions_domain ON emotion_definitions(domain_id, system DESC, label);
|
|
225
|
+
CREATE INDEX IF NOT EXISTS idx_psyche_behaviors_domain ON psyche_behaviors(domain_id, kind, updated_at DESC);
|
|
226
|
+
CREATE INDEX IF NOT EXISTS idx_belief_entries_domain ON belief_entries(domain_id, updated_at DESC);
|
|
227
|
+
CREATE INDEX IF NOT EXISTS idx_belief_entries_schema ON belief_entries(schema_id, updated_at DESC);
|
|
228
|
+
CREATE INDEX IF NOT EXISTS idx_mode_profiles_domain ON mode_profiles(domain_id, family, updated_at DESC);
|
|
229
|
+
|
|
230
|
+
ALTER TABLE behavior_patterns
|
|
231
|
+
ADD COLUMN linked_mode_ids_json TEXT NOT NULL DEFAULT '[]';
|
|
232
|
+
|
|
233
|
+
ALTER TABLE behavior_patterns
|
|
234
|
+
ADD COLUMN linked_belief_ids_json TEXT NOT NULL DEFAULT '[]';
|
|
235
|
+
|
|
236
|
+
ALTER TABLE schema_catalog
|
|
237
|
+
ADD COLUMN schema_type TEXT NOT NULL DEFAULT 'maladaptive';
|
|
238
|
+
|
|
239
|
+
UPDATE schema_catalog
|
|
240
|
+
SET schema_type = 'maladaptive'
|
|
241
|
+
WHERE schema_type IS NULL OR trim(schema_type) = '';
|
|
242
|
+
|
|
243
|
+
INSERT OR IGNORE INTO schema_catalog (
|
|
244
|
+
id,
|
|
245
|
+
slug,
|
|
246
|
+
title,
|
|
247
|
+
family,
|
|
248
|
+
description,
|
|
249
|
+
schema_type,
|
|
250
|
+
created_at,
|
|
251
|
+
updated_at
|
|
252
|
+
) VALUES
|
|
253
|
+
(
|
|
254
|
+
'schema_adaptive_stable_attachment',
|
|
255
|
+
'stable_attachment',
|
|
256
|
+
'Stable Attachment',
|
|
257
|
+
'disconnection_rejection',
|
|
258
|
+
'The belief that your close relationships are stable, loyal, and enduring.',
|
|
259
|
+
'adaptive',
|
|
260
|
+
CURRENT_TIMESTAMP,
|
|
261
|
+
CURRENT_TIMESTAMP
|
|
262
|
+
),
|
|
263
|
+
(
|
|
264
|
+
'schema_adaptive_emotional_fulfilment',
|
|
265
|
+
'emotional_fulfilment',
|
|
266
|
+
'Emotional Fulfilment',
|
|
267
|
+
'disconnection_rejection',
|
|
268
|
+
'The belief that someone in your life can meet your needs for care, attachment, and emotional safety.',
|
|
269
|
+
'adaptive',
|
|
270
|
+
CURRENT_TIMESTAMP,
|
|
271
|
+
CURRENT_TIMESTAMP
|
|
272
|
+
),
|
|
273
|
+
(
|
|
274
|
+
'schema_adaptive_social_belonging',
|
|
275
|
+
'social_belonging',
|
|
276
|
+
'Social Belonging',
|
|
277
|
+
'disconnection_rejection',
|
|
278
|
+
'The belief that you belong, fit in, and are accepted in groups and relationships.',
|
|
279
|
+
'adaptive',
|
|
280
|
+
CURRENT_TIMESTAMP,
|
|
281
|
+
CURRENT_TIMESTAMP
|
|
282
|
+
),
|
|
283
|
+
(
|
|
284
|
+
'schema_adaptive_competence',
|
|
285
|
+
'competence',
|
|
286
|
+
'Competence',
|
|
287
|
+
'impaired_autonomy',
|
|
288
|
+
'The belief that you can handle daily problems, make decisions, and function capably in ordinary life.',
|
|
289
|
+
'adaptive',
|
|
290
|
+
CURRENT_TIMESTAMP,
|
|
291
|
+
CURRENT_TIMESTAMP
|
|
292
|
+
),
|
|
293
|
+
(
|
|
294
|
+
'schema_adaptive_developed_self',
|
|
295
|
+
'developed_self',
|
|
296
|
+
'Developed Self',
|
|
297
|
+
'impaired_autonomy',
|
|
298
|
+
'The belief that you can live as your own person with mature boundaries and healthy independence from your parents.',
|
|
299
|
+
'adaptive',
|
|
300
|
+
CURRENT_TIMESTAMP,
|
|
301
|
+
CURRENT_TIMESTAMP
|
|
302
|
+
),
|
|
303
|
+
(
|
|
304
|
+
'schema_adaptive_success',
|
|
305
|
+
'success',
|
|
306
|
+
'Success',
|
|
307
|
+
'impaired_autonomy',
|
|
308
|
+
'The belief that you are capable, effective, and able to do well in work, study, and achievement settings.',
|
|
309
|
+
'adaptive',
|
|
310
|
+
CURRENT_TIMESTAMP,
|
|
311
|
+
CURRENT_TIMESTAMP
|
|
312
|
+
),
|
|
313
|
+
(
|
|
314
|
+
'schema_adaptive_empathic_consideration',
|
|
315
|
+
'empathic_consideration',
|
|
316
|
+
'Empathic Consideration',
|
|
317
|
+
'other_directedness',
|
|
318
|
+
'The belief that other people matter too and that you can respect different views without losing yourself.',
|
|
319
|
+
'adaptive',
|
|
320
|
+
CURRENT_TIMESTAMP,
|
|
321
|
+
CURRENT_TIMESTAMP
|
|
322
|
+
),
|
|
323
|
+
(
|
|
324
|
+
'schema_adaptive_healthy_self_discipline',
|
|
325
|
+
'healthy_self_discipline',
|
|
326
|
+
'Healthy Self-Discipline',
|
|
327
|
+
'overvigilance_inhibition',
|
|
328
|
+
'The ability to stay with routines, persist through difficulty, and trade short-term comfort for long-term aims.',
|
|
329
|
+
'adaptive',
|
|
330
|
+
CURRENT_TIMESTAMP,
|
|
331
|
+
CURRENT_TIMESTAMP
|
|
332
|
+
),
|
|
333
|
+
(
|
|
334
|
+
'schema_adaptive_healthy_self_care',
|
|
335
|
+
'healthy_self_care',
|
|
336
|
+
'Healthy Self-Care',
|
|
337
|
+
'other_directedness',
|
|
338
|
+
'The belief that your own needs matter too and that making room for rest, care, and boundaries is legitimate.',
|
|
339
|
+
'adaptive',
|
|
340
|
+
CURRENT_TIMESTAMP,
|
|
341
|
+
CURRENT_TIMESTAMP
|
|
342
|
+
),
|
|
343
|
+
(
|
|
344
|
+
'schema_adaptive_self_directedness',
|
|
345
|
+
'self_directedness',
|
|
346
|
+
'Self-Directedness',
|
|
347
|
+
'healthy_selfhood',
|
|
348
|
+
'The belief that your own view of yourself matters more than performing for approval or admiration.',
|
|
349
|
+
'adaptive',
|
|
350
|
+
CURRENT_TIMESTAMP,
|
|
351
|
+
CURRENT_TIMESTAMP
|
|
352
|
+
),
|
|
353
|
+
(
|
|
354
|
+
'schema_adaptive_optimism',
|
|
355
|
+
'optimism',
|
|
356
|
+
'Optimism',
|
|
357
|
+
'healthy_selfhood',
|
|
358
|
+
'The belief that good outcomes are possible and that life does not need to be ruled by catastrophe.',
|
|
359
|
+
'adaptive',
|
|
360
|
+
CURRENT_TIMESTAMP,
|
|
361
|
+
CURRENT_TIMESTAMP
|
|
362
|
+
),
|
|
363
|
+
(
|
|
364
|
+
'schema_adaptive_emotional_openness',
|
|
365
|
+
'emotional_openness',
|
|
366
|
+
'Emotional Openness',
|
|
367
|
+
'healthy_selfhood',
|
|
368
|
+
'The willingness to express feelings, affection, and emotional truth with people you trust.',
|
|
369
|
+
'adaptive',
|
|
370
|
+
CURRENT_TIMESTAMP,
|
|
371
|
+
CURRENT_TIMESTAMP
|
|
372
|
+
),
|
|
373
|
+
(
|
|
374
|
+
'schema_adaptive_realistic_expectations',
|
|
375
|
+
'realistic_expectations',
|
|
376
|
+
'Realistic Expectations',
|
|
377
|
+
'overvigilance_inhibition',
|
|
378
|
+
'The belief that good enough is acceptable, goals can be realistic, and mistakes do not cancel your worth.',
|
|
379
|
+
'adaptive',
|
|
380
|
+
CURRENT_TIMESTAMP,
|
|
381
|
+
CURRENT_TIMESTAMP
|
|
382
|
+
),
|
|
383
|
+
(
|
|
384
|
+
'schema_adaptive_self_compassion',
|
|
385
|
+
'self_compassion',
|
|
386
|
+
'Self-Compassion',
|
|
387
|
+
'overvigilance_inhibition',
|
|
388
|
+
'The belief that you deserve kindness, forgiveness, and humane self-talk when you struggle or make mistakes.',
|
|
389
|
+
'adaptive',
|
|
390
|
+
CURRENT_TIMESTAMP,
|
|
391
|
+
CURRENT_TIMESTAMP
|
|
392
|
+
);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS habits (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
title TEXT NOT NULL,
|
|
4
|
+
description TEXT NOT NULL DEFAULT '',
|
|
5
|
+
status TEXT NOT NULL DEFAULT 'active',
|
|
6
|
+
polarity TEXT NOT NULL DEFAULT 'positive',
|
|
7
|
+
frequency TEXT NOT NULL DEFAULT 'daily',
|
|
8
|
+
target_count INTEGER NOT NULL DEFAULT 1,
|
|
9
|
+
week_days_json TEXT NOT NULL DEFAULT '[]',
|
|
10
|
+
linked_behavior_id TEXT REFERENCES psyche_behaviors(id) ON DELETE SET NULL,
|
|
11
|
+
reward_xp INTEGER NOT NULL DEFAULT 12,
|
|
12
|
+
penalty_xp INTEGER NOT NULL DEFAULT 8,
|
|
13
|
+
created_at TEXT NOT NULL,
|
|
14
|
+
updated_at TEXT NOT NULL
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
CREATE TABLE IF NOT EXISTS habit_check_ins (
|
|
18
|
+
id TEXT PRIMARY KEY,
|
|
19
|
+
habit_id TEXT NOT NULL REFERENCES habits(id) ON DELETE CASCADE,
|
|
20
|
+
date_key TEXT NOT NULL,
|
|
21
|
+
status TEXT NOT NULL,
|
|
22
|
+
note TEXT NOT NULL DEFAULT '',
|
|
23
|
+
delta_xp INTEGER NOT NULL DEFAULT 0,
|
|
24
|
+
created_at TEXT NOT NULL,
|
|
25
|
+
updated_at TEXT NOT NULL,
|
|
26
|
+
UNIQUE (habit_id, date_key)
|
|
27
|
+
);
|
|
28
|
+
|
|
29
|
+
CREATE INDEX IF NOT EXISTS idx_habits_status ON habits(status, updated_at DESC);
|
|
30
|
+
CREATE INDEX IF NOT EXISTS idx_habit_check_ins_habit_date ON habit_check_ins(habit_id, date_key DESC);
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
ALTER TABLE habits
|
|
2
|
+
ADD COLUMN linked_value_ids_json TEXT NOT NULL DEFAULT '[]';
|
|
3
|
+
|
|
4
|
+
ALTER TABLE habits
|
|
5
|
+
ADD COLUMN linked_pattern_ids_json TEXT NOT NULL DEFAULT '[]';
|
|
6
|
+
|
|
7
|
+
ALTER TABLE habits
|
|
8
|
+
ADD COLUMN linked_behavior_ids_json TEXT NOT NULL DEFAULT '[]';
|
|
9
|
+
|
|
10
|
+
ALTER TABLE habits
|
|
11
|
+
ADD COLUMN linked_belief_ids_json TEXT NOT NULL DEFAULT '[]';
|
|
12
|
+
|
|
13
|
+
ALTER TABLE habits
|
|
14
|
+
ADD COLUMN linked_mode_ids_json TEXT NOT NULL DEFAULT '[]';
|
|
15
|
+
|
|
16
|
+
ALTER TABLE habits
|
|
17
|
+
ADD COLUMN linked_report_ids_json TEXT NOT NULL DEFAULT '[]';
|
|
18
|
+
|
|
19
|
+
UPDATE habits
|
|
20
|
+
SET linked_behavior_ids_json = CASE
|
|
21
|
+
WHEN linked_behavior_id IS NULL OR trim(linked_behavior_id) = '' THEN '[]'
|
|
22
|
+
ELSE json_array(linked_behavior_id)
|
|
23
|
+
END
|
|
24
|
+
WHERE linked_behavior_ids_json = '[]';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS work_adjustments (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
entity_type TEXT NOT NULL,
|
|
4
|
+
entity_id TEXT NOT NULL,
|
|
5
|
+
requested_delta_minutes INTEGER NOT NULL,
|
|
6
|
+
applied_delta_minutes INTEGER NOT NULL,
|
|
7
|
+
note TEXT NOT NULL DEFAULT '',
|
|
8
|
+
actor TEXT,
|
|
9
|
+
source TEXT NOT NULL,
|
|
10
|
+
created_at TEXT NOT NULL
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
CREATE INDEX IF NOT EXISTS idx_work_adjustments_entity
|
|
14
|
+
ON work_adjustments(entity_type, entity_id, created_at DESC);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS weekly_review_closures (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
week_key TEXT NOT NULL UNIQUE,
|
|
4
|
+
week_start_date TEXT NOT NULL,
|
|
5
|
+
week_end_date TEXT NOT NULL,
|
|
6
|
+
window_label TEXT NOT NULL,
|
|
7
|
+
actor TEXT,
|
|
8
|
+
source TEXT NOT NULL,
|
|
9
|
+
reward_id TEXT NOT NULL,
|
|
10
|
+
activity_event_id TEXT NOT NULL,
|
|
11
|
+
created_at TEXT NOT NULL,
|
|
12
|
+
FOREIGN KEY (reward_id) REFERENCES reward_ledger(id) ON DELETE RESTRICT,
|
|
13
|
+
FOREIGN KEY (activity_event_id) REFERENCES activity_events(id) ON DELETE RESTRICT
|
|
14
|
+
);
|
|
15
|
+
|
|
16
|
+
CREATE INDEX IF NOT EXISTS idx_weekly_review_closures_created_at
|
|
17
|
+
ON weekly_review_closures(created_at DESC);
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
ALTER TABLE projects ADD COLUMN scheduling_rules_json TEXT NOT NULL DEFAULT '{}';
|
|
2
|
+
ALTER TABLE tasks ADD COLUMN scheduling_rules_json TEXT;
|
|
3
|
+
ALTER TABLE tasks ADD COLUMN planned_duration_seconds INTEGER;
|
|
4
|
+
ALTER TABLE task_runs ADD COLUMN override_reason TEXT;
|
|
5
|
+
|
|
6
|
+
CREATE TABLE IF NOT EXISTS stored_secrets (
|
|
7
|
+
id TEXT PRIMARY KEY,
|
|
8
|
+
cipher_text TEXT NOT NULL,
|
|
9
|
+
description TEXT NOT NULL DEFAULT '',
|
|
10
|
+
created_at TEXT NOT NULL,
|
|
11
|
+
updated_at TEXT NOT NULL
|
|
12
|
+
);
|
|
13
|
+
|
|
14
|
+
CREATE TABLE IF NOT EXISTS calendar_connections (
|
|
15
|
+
id TEXT PRIMARY KEY,
|
|
16
|
+
provider TEXT NOT NULL,
|
|
17
|
+
label TEXT NOT NULL,
|
|
18
|
+
account_label TEXT NOT NULL DEFAULT '',
|
|
19
|
+
status TEXT NOT NULL DEFAULT 'connected',
|
|
20
|
+
config_json TEXT NOT NULL DEFAULT '{}',
|
|
21
|
+
credentials_secret_id TEXT NOT NULL,
|
|
22
|
+
forge_calendar_id TEXT,
|
|
23
|
+
last_synced_at TEXT,
|
|
24
|
+
last_sync_error TEXT,
|
|
25
|
+
created_at TEXT NOT NULL,
|
|
26
|
+
updated_at TEXT NOT NULL,
|
|
27
|
+
FOREIGN KEY (credentials_secret_id) REFERENCES stored_secrets(id) ON DELETE RESTRICT,
|
|
28
|
+
FOREIGN KEY (forge_calendar_id) REFERENCES calendar_calendars(id) ON DELETE SET NULL
|
|
29
|
+
);
|
|
30
|
+
|
|
31
|
+
CREATE TABLE IF NOT EXISTS calendar_calendars (
|
|
32
|
+
id TEXT PRIMARY KEY,
|
|
33
|
+
connection_id TEXT NOT NULL,
|
|
34
|
+
remote_id TEXT NOT NULL,
|
|
35
|
+
title TEXT NOT NULL,
|
|
36
|
+
description TEXT NOT NULL DEFAULT '',
|
|
37
|
+
color TEXT NOT NULL DEFAULT '#7dd3fc',
|
|
38
|
+
timezone TEXT NOT NULL DEFAULT 'UTC',
|
|
39
|
+
is_primary INTEGER NOT NULL DEFAULT 0,
|
|
40
|
+
can_write INTEGER NOT NULL DEFAULT 1,
|
|
41
|
+
forge_managed INTEGER NOT NULL DEFAULT 0,
|
|
42
|
+
sync_cursor TEXT,
|
|
43
|
+
remote_etag TEXT,
|
|
44
|
+
last_synced_at TEXT,
|
|
45
|
+
created_at TEXT NOT NULL,
|
|
46
|
+
updated_at TEXT NOT NULL,
|
|
47
|
+
UNIQUE(connection_id, remote_id),
|
|
48
|
+
FOREIGN KEY (connection_id) REFERENCES calendar_connections(id) ON DELETE CASCADE
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
CREATE TABLE IF NOT EXISTS calendar_events (
|
|
52
|
+
id TEXT PRIMARY KEY,
|
|
53
|
+
connection_id TEXT NOT NULL,
|
|
54
|
+
calendar_id TEXT NOT NULL,
|
|
55
|
+
remote_id TEXT NOT NULL,
|
|
56
|
+
remote_href TEXT,
|
|
57
|
+
remote_etag TEXT,
|
|
58
|
+
ownership TEXT NOT NULL DEFAULT 'external',
|
|
59
|
+
status TEXT NOT NULL DEFAULT 'confirmed',
|
|
60
|
+
title TEXT NOT NULL,
|
|
61
|
+
description TEXT NOT NULL DEFAULT '',
|
|
62
|
+
location TEXT NOT NULL DEFAULT '',
|
|
63
|
+
start_at TEXT NOT NULL,
|
|
64
|
+
end_at TEXT NOT NULL,
|
|
65
|
+
is_all_day INTEGER NOT NULL DEFAULT 0,
|
|
66
|
+
availability TEXT NOT NULL DEFAULT 'busy',
|
|
67
|
+
event_type TEXT NOT NULL DEFAULT '',
|
|
68
|
+
categories_json TEXT NOT NULL DEFAULT '[]',
|
|
69
|
+
raw_payload_json TEXT NOT NULL DEFAULT '{}',
|
|
70
|
+
remote_updated_at TEXT,
|
|
71
|
+
deleted_at TEXT,
|
|
72
|
+
created_at TEXT NOT NULL,
|
|
73
|
+
updated_at TEXT NOT NULL,
|
|
74
|
+
UNIQUE(connection_id, calendar_id, remote_id),
|
|
75
|
+
FOREIGN KEY (connection_id) REFERENCES calendar_connections(id) ON DELETE CASCADE,
|
|
76
|
+
FOREIGN KEY (calendar_id) REFERENCES calendar_calendars(id) ON DELETE CASCADE
|
|
77
|
+
);
|
|
78
|
+
|
|
79
|
+
CREATE INDEX IF NOT EXISTS idx_calendar_events_calendar_start
|
|
80
|
+
ON calendar_events(calendar_id, start_at, end_at);
|
|
81
|
+
|
|
82
|
+
CREATE INDEX IF NOT EXISTS idx_calendar_events_connection_updated
|
|
83
|
+
ON calendar_events(connection_id, updated_at);
|
|
84
|
+
|
|
85
|
+
CREATE TABLE IF NOT EXISTS work_block_templates (
|
|
86
|
+
id TEXT PRIMARY KEY,
|
|
87
|
+
title TEXT NOT NULL,
|
|
88
|
+
kind TEXT NOT NULL,
|
|
89
|
+
color TEXT NOT NULL DEFAULT '#60a5fa',
|
|
90
|
+
timezone TEXT NOT NULL DEFAULT 'UTC',
|
|
91
|
+
weekdays_json TEXT NOT NULL DEFAULT '[]',
|
|
92
|
+
start_minute INTEGER NOT NULL,
|
|
93
|
+
end_minute INTEGER NOT NULL,
|
|
94
|
+
blocking_state TEXT NOT NULL DEFAULT 'blocked',
|
|
95
|
+
created_at TEXT NOT NULL,
|
|
96
|
+
updated_at TEXT NOT NULL
|
|
97
|
+
);
|
|
98
|
+
|
|
99
|
+
CREATE TABLE IF NOT EXISTS work_block_instances (
|
|
100
|
+
id TEXT PRIMARY KEY,
|
|
101
|
+
template_id TEXT NOT NULL,
|
|
102
|
+
date_key TEXT NOT NULL,
|
|
103
|
+
start_at TEXT NOT NULL,
|
|
104
|
+
end_at TEXT NOT NULL,
|
|
105
|
+
title TEXT NOT NULL,
|
|
106
|
+
kind TEXT NOT NULL,
|
|
107
|
+
color TEXT NOT NULL DEFAULT '#60a5fa',
|
|
108
|
+
blocking_state TEXT NOT NULL DEFAULT 'blocked',
|
|
109
|
+
calendar_event_id TEXT,
|
|
110
|
+
created_at TEXT NOT NULL,
|
|
111
|
+
updated_at TEXT NOT NULL,
|
|
112
|
+
UNIQUE(template_id, date_key, start_at, end_at),
|
|
113
|
+
FOREIGN KEY (template_id) REFERENCES work_block_templates(id) ON DELETE CASCADE,
|
|
114
|
+
FOREIGN KEY (calendar_event_id) REFERENCES calendar_events(id) ON DELETE SET NULL
|
|
115
|
+
);
|
|
116
|
+
|
|
117
|
+
CREATE INDEX IF NOT EXISTS idx_work_block_instances_date
|
|
118
|
+
ON work_block_instances(date_key, start_at, end_at);
|
|
119
|
+
|
|
120
|
+
CREATE TABLE IF NOT EXISTS task_timeboxes (
|
|
121
|
+
id TEXT PRIMARY KEY,
|
|
122
|
+
task_id TEXT NOT NULL,
|
|
123
|
+
project_id TEXT,
|
|
124
|
+
connection_id TEXT,
|
|
125
|
+
calendar_id TEXT,
|
|
126
|
+
remote_event_id TEXT,
|
|
127
|
+
linked_task_run_id TEXT,
|
|
128
|
+
status TEXT NOT NULL DEFAULT 'planned',
|
|
129
|
+
source TEXT NOT NULL DEFAULT 'manual',
|
|
130
|
+
title TEXT NOT NULL,
|
|
131
|
+
starts_at TEXT NOT NULL,
|
|
132
|
+
ends_at TEXT NOT NULL,
|
|
133
|
+
override_reason TEXT,
|
|
134
|
+
created_at TEXT NOT NULL,
|
|
135
|
+
updated_at TEXT NOT NULL,
|
|
136
|
+
FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE,
|
|
137
|
+
FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE SET NULL,
|
|
138
|
+
FOREIGN KEY (connection_id) REFERENCES calendar_connections(id) ON DELETE SET NULL,
|
|
139
|
+
FOREIGN KEY (calendar_id) REFERENCES calendar_calendars(id) ON DELETE SET NULL,
|
|
140
|
+
FOREIGN KEY (linked_task_run_id) REFERENCES task_runs(id) ON DELETE SET NULL
|
|
141
|
+
);
|
|
142
|
+
|
|
143
|
+
CREATE INDEX IF NOT EXISTS idx_task_timeboxes_task_start
|
|
144
|
+
ON task_timeboxes(task_id, starts_at, ends_at);
|
|
145
|
+
|
|
146
|
+
CREATE INDEX IF NOT EXISTS idx_task_timeboxes_run
|
|
147
|
+
ON task_timeboxes(linked_task_run_id);
|