forge-openclaw-plugin 0.2.25 → 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/dist/assets/{board-VmF4FAfr.js → board-ta0rUHOf.js} +3 -3
- package/dist/assets/{board-VmF4FAfr.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-DvkU14p-.js → motion-fBKPB6yw.js} +2 -2
- package/dist/assets/{motion-DvkU14p-.js.map → motion-fBKPB6yw.js.map} +1 -1
- package/dist/assets/{table-DgiPof9E.js → table-C-IGTQni.js} +2 -2
- package/dist/assets/{table-DgiPof9E.js.map → table-C-IGTQni.js.map} +1 -1
- package/dist/assets/{ui-nYfoC0Gq.js → ui-DInOpaYF.js} +2 -2
- package/dist/assets/{ui-nYfoC0Gq.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/plugin-entry-shared.js +24 -2
- package/dist/openclaw/plugin-sdk-types.d.ts +17 -0
- package/dist/openclaw/tools.js +0 -3
- 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} +242 -111
- package/dist/server/server/src/connectors/box-registry.js +188 -0
- package/dist/server/{db.js → server/src/db.js} +4 -0
- package/dist/server/server/src/debug.js +19 -0
- package/dist/server/{openapi.js → server/src/openapi.js} +2 -2
- package/dist/server/{repositories → server/src/repositories}/ai-connectors.js +286 -23
- package/dist/server/{repositories → server/src/repositories}/calendar.js +1 -1
- package/dist/server/{repositories → server/src/repositories}/settings.js +51 -3
- package/dist/server/{services → server/src/services}/calendar-runtime.js +775 -58
- package/dist/server/server/src/services/google-calendar-oauth-config.js +176 -0
- package/dist/server/{types.js → server/src/types.js} +137 -19
- package/dist/server/{web.js → server/src/web.js} +21 -2
- 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 +1 -1
- package/server/index.js +68 -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 +3 -0
- package/skills/forge-openclaw/entity_conversation_playbooks.md +213 -24
- package/skills/forge-openclaw/psyche_entity_playbooks.md +82 -3
- package/dist/assets/index-CFCKDIMH.js +0 -67
- package/dist/assets/index-CFCKDIMH.js.map +0 -1
- package/dist/assets/index-ZPY6U1TU.css +0 -1
- package/dist/assets/vendor-D9PTEPSB.js +0 -824
- package/dist/assets/vendor-D9PTEPSB.js.map +0 -1
- package/dist/assets/viz-Cqb6s--o.js +0 -34
- package/dist/assets/viz-Cqb6s--o.js.map +0 -1
- package/dist/server/connectors/box-registry.js +0 -257
- /package/dist/server/{demo-data.js → server/src/demo-data.js} +0 -0
- /package/dist/server/{discovery-advertiser.js → server/src/discovery-advertiser.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/{health.js → server/src/health.js} +0 -0
- /package/dist/server/{index.js → server/src/index.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/llm-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/openai-responses-provider.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/{movement.js → server/src/movement.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/{psyche-types.js → server/src/psyche-types.js} +0 -0
- /package/dist/server/{questionnaire-flow.js → server/src/questionnaire-flow.js} +0 -0
- /package/dist/server/{questionnaire-seeds.js → server/src/questionnaire-seeds.js} +0 -0
- /package/dist/server/{questionnaire-types.js → server/src/questionnaire-types.js} +0 -0
- /package/dist/server/{repositories → server/src/repositories}/activity-events.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/ai-processors.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}/entity-ownership.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}/habits.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/model-settings.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/notes.js +0 -0
- /package/dist/server/{repositories → server/src/repositories}/preferences.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}/questionnaires.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}/surface-layouts.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}/wiki-memory.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}/entity-crud.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}/openai-codex-oauth.js +0 -0
- /package/dist/server/{services → server/src/services}/projects.js +0 -0
- /package/dist/server/{services → server/src/services}/psyche-observation-calendar.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
- /package/dist/server/{watch-mobile.js → server/src/watch-mobile.js} +0 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS ai_processors (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
surface_id TEXT NOT NULL,
|
|
4
|
+
title TEXT NOT NULL,
|
|
5
|
+
prompt_flow TEXT NOT NULL DEFAULT '',
|
|
6
|
+
context_input TEXT NOT NULL DEFAULT '',
|
|
7
|
+
tool_config_json TEXT NOT NULL DEFAULT '[]',
|
|
8
|
+
agent_ids_json TEXT NOT NULL DEFAULT '[]',
|
|
9
|
+
trigger_mode TEXT NOT NULL DEFAULT 'manual',
|
|
10
|
+
cron_expression TEXT NOT NULL DEFAULT '',
|
|
11
|
+
machine_access_json TEXT NOT NULL DEFAULT '{"read":false,"write":false,"exec":false}',
|
|
12
|
+
endpoint_enabled INTEGER NOT NULL DEFAULT 1,
|
|
13
|
+
last_run_at TEXT,
|
|
14
|
+
last_run_status TEXT,
|
|
15
|
+
last_run_output_json TEXT,
|
|
16
|
+
created_at TEXT NOT NULL,
|
|
17
|
+
updated_at TEXT NOT NULL
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
CREATE TABLE IF NOT EXISTS ai_processor_links (
|
|
21
|
+
id TEXT PRIMARY KEY,
|
|
22
|
+
surface_id TEXT NOT NULL,
|
|
23
|
+
source_widget_id TEXT NOT NULL,
|
|
24
|
+
target_processor_id TEXT NOT NULL,
|
|
25
|
+
access_mode TEXT NOT NULL DEFAULT 'read',
|
|
26
|
+
capability_mode TEXT NOT NULL DEFAULT 'content',
|
|
27
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
28
|
+
created_at TEXT NOT NULL,
|
|
29
|
+
updated_at TEXT NOT NULL,
|
|
30
|
+
FOREIGN KEY (target_processor_id) REFERENCES ai_processors(id) ON DELETE CASCADE
|
|
31
|
+
);
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS movement_places (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
external_uid TEXT NOT NULL DEFAULT '',
|
|
4
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
5
|
+
label TEXT NOT NULL,
|
|
6
|
+
aliases_json TEXT NOT NULL DEFAULT '[]',
|
|
7
|
+
latitude REAL NOT NULL,
|
|
8
|
+
longitude REAL NOT NULL,
|
|
9
|
+
radius_meters REAL NOT NULL DEFAULT 100,
|
|
10
|
+
category_tags_json TEXT NOT NULL DEFAULT '[]',
|
|
11
|
+
visibility TEXT NOT NULL DEFAULT 'shared',
|
|
12
|
+
wiki_note_id TEXT REFERENCES notes(id) ON DELETE SET NULL,
|
|
13
|
+
linked_entities_json TEXT NOT NULL DEFAULT '[]',
|
|
14
|
+
linked_people_json TEXT NOT NULL DEFAULT '[]',
|
|
15
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
16
|
+
source TEXT NOT NULL DEFAULT 'user',
|
|
17
|
+
created_at TEXT NOT NULL,
|
|
18
|
+
updated_at TEXT NOT NULL,
|
|
19
|
+
UNIQUE (user_id, source, external_uid)
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
CREATE INDEX IF NOT EXISTS idx_movement_places_user
|
|
23
|
+
ON movement_places(user_id, updated_at DESC);
|
|
24
|
+
|
|
25
|
+
CREATE TABLE IF NOT EXISTS movement_settings (
|
|
26
|
+
user_id TEXT PRIMARY KEY REFERENCES users(id) ON DELETE CASCADE,
|
|
27
|
+
tracking_enabled INTEGER NOT NULL DEFAULT 0,
|
|
28
|
+
publish_mode TEXT NOT NULL DEFAULT 'auto_publish',
|
|
29
|
+
retention_mode TEXT NOT NULL DEFAULT 'aggregates_only',
|
|
30
|
+
location_permission_status TEXT NOT NULL DEFAULT 'not_determined',
|
|
31
|
+
motion_permission_status TEXT NOT NULL DEFAULT 'unknown',
|
|
32
|
+
background_tracking_ready INTEGER NOT NULL DEFAULT 0,
|
|
33
|
+
last_companion_sync_at TEXT,
|
|
34
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
35
|
+
created_at TEXT NOT NULL,
|
|
36
|
+
updated_at TEXT NOT NULL
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
CREATE TABLE IF NOT EXISTS movement_stays (
|
|
40
|
+
id TEXT PRIMARY KEY,
|
|
41
|
+
external_uid TEXT NOT NULL,
|
|
42
|
+
pairing_session_id TEXT REFERENCES companion_pairing_sessions(id) ON DELETE SET NULL,
|
|
43
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
44
|
+
place_id TEXT REFERENCES movement_places(id) ON DELETE SET NULL,
|
|
45
|
+
label TEXT NOT NULL DEFAULT '',
|
|
46
|
+
status TEXT NOT NULL DEFAULT 'completed',
|
|
47
|
+
classification TEXT NOT NULL DEFAULT 'stationary',
|
|
48
|
+
started_at TEXT NOT NULL,
|
|
49
|
+
ended_at TEXT NOT NULL,
|
|
50
|
+
center_latitude REAL NOT NULL,
|
|
51
|
+
center_longitude REAL NOT NULL,
|
|
52
|
+
radius_meters REAL NOT NULL DEFAULT 100,
|
|
53
|
+
sample_count INTEGER NOT NULL DEFAULT 0,
|
|
54
|
+
weather_json TEXT NOT NULL DEFAULT '{}',
|
|
55
|
+
metrics_json TEXT NOT NULL DEFAULT '{}',
|
|
56
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
57
|
+
published_note_id TEXT REFERENCES notes(id) ON DELETE SET NULL,
|
|
58
|
+
created_at TEXT NOT NULL,
|
|
59
|
+
updated_at TEXT NOT NULL,
|
|
60
|
+
UNIQUE (user_id, external_uid)
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
CREATE INDEX IF NOT EXISTS idx_movement_stays_user
|
|
64
|
+
ON movement_stays(user_id, started_at DESC);
|
|
65
|
+
|
|
66
|
+
CREATE TABLE IF NOT EXISTS movement_trips (
|
|
67
|
+
id TEXT PRIMARY KEY,
|
|
68
|
+
external_uid TEXT NOT NULL,
|
|
69
|
+
pairing_session_id TEXT REFERENCES companion_pairing_sessions(id) ON DELETE SET NULL,
|
|
70
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
71
|
+
start_place_id TEXT REFERENCES movement_places(id) ON DELETE SET NULL,
|
|
72
|
+
end_place_id TEXT REFERENCES movement_places(id) ON DELETE SET NULL,
|
|
73
|
+
label TEXT NOT NULL DEFAULT '',
|
|
74
|
+
status TEXT NOT NULL DEFAULT 'completed',
|
|
75
|
+
travel_mode TEXT NOT NULL DEFAULT 'travel',
|
|
76
|
+
activity_type TEXT NOT NULL DEFAULT '',
|
|
77
|
+
started_at TEXT NOT NULL,
|
|
78
|
+
ended_at TEXT NOT NULL,
|
|
79
|
+
distance_meters REAL NOT NULL DEFAULT 0,
|
|
80
|
+
moving_seconds INTEGER NOT NULL DEFAULT 0,
|
|
81
|
+
idle_seconds INTEGER NOT NULL DEFAULT 0,
|
|
82
|
+
average_speed_mps REAL,
|
|
83
|
+
max_speed_mps REAL,
|
|
84
|
+
calories_kcal REAL,
|
|
85
|
+
expected_met REAL,
|
|
86
|
+
weather_json TEXT NOT NULL DEFAULT '{}',
|
|
87
|
+
tags_json TEXT NOT NULL DEFAULT '[]',
|
|
88
|
+
linked_entities_json TEXT NOT NULL DEFAULT '[]',
|
|
89
|
+
linked_people_json TEXT NOT NULL DEFAULT '[]',
|
|
90
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
91
|
+
published_note_id TEXT REFERENCES notes(id) ON DELETE SET NULL,
|
|
92
|
+
created_at TEXT NOT NULL,
|
|
93
|
+
updated_at TEXT NOT NULL,
|
|
94
|
+
UNIQUE (user_id, external_uid)
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
CREATE INDEX IF NOT EXISTS idx_movement_trips_user
|
|
98
|
+
ON movement_trips(user_id, started_at DESC);
|
|
99
|
+
|
|
100
|
+
CREATE TABLE IF NOT EXISTS movement_trip_points (
|
|
101
|
+
id TEXT PRIMARY KEY,
|
|
102
|
+
trip_id TEXT NOT NULL REFERENCES movement_trips(id) ON DELETE CASCADE,
|
|
103
|
+
sequence_index INTEGER NOT NULL,
|
|
104
|
+
recorded_at TEXT NOT NULL,
|
|
105
|
+
latitude REAL NOT NULL,
|
|
106
|
+
longitude REAL NOT NULL,
|
|
107
|
+
accuracy_meters REAL,
|
|
108
|
+
altitude_meters REAL,
|
|
109
|
+
speed_mps REAL,
|
|
110
|
+
is_stop_anchor INTEGER NOT NULL DEFAULT 0,
|
|
111
|
+
created_at TEXT NOT NULL
|
|
112
|
+
);
|
|
113
|
+
|
|
114
|
+
CREATE INDEX IF NOT EXISTS idx_movement_trip_points_trip
|
|
115
|
+
ON movement_trip_points(trip_id, sequence_index ASC);
|
|
116
|
+
|
|
117
|
+
CREATE TABLE IF NOT EXISTS movement_trip_stops (
|
|
118
|
+
id TEXT PRIMARY KEY,
|
|
119
|
+
external_uid TEXT NOT NULL DEFAULT '',
|
|
120
|
+
trip_id TEXT NOT NULL REFERENCES movement_trips(id) ON DELETE CASCADE,
|
|
121
|
+
sequence_index INTEGER NOT NULL DEFAULT 0,
|
|
122
|
+
label TEXT NOT NULL DEFAULT '',
|
|
123
|
+
place_id TEXT REFERENCES movement_places(id) ON DELETE SET NULL,
|
|
124
|
+
started_at TEXT NOT NULL,
|
|
125
|
+
ended_at TEXT NOT NULL,
|
|
126
|
+
duration_seconds INTEGER NOT NULL DEFAULT 0,
|
|
127
|
+
latitude REAL NOT NULL,
|
|
128
|
+
longitude REAL NOT NULL,
|
|
129
|
+
radius_meters REAL NOT NULL DEFAULT 80,
|
|
130
|
+
metadata_json TEXT NOT NULL DEFAULT '{}',
|
|
131
|
+
created_at TEXT NOT NULL,
|
|
132
|
+
updated_at TEXT NOT NULL
|
|
133
|
+
);
|
|
134
|
+
|
|
135
|
+
CREATE INDEX IF NOT EXISTS idx_movement_trip_stops_trip
|
|
136
|
+
ON movement_trip_stops(trip_id, sequence_index ASC);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS watch_capture_events (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
pairing_session_id TEXT REFERENCES companion_pairing_sessions(id) ON DELETE SET NULL,
|
|
4
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
5
|
+
dedupe_key TEXT NOT NULL,
|
|
6
|
+
source_device TEXT NOT NULL DEFAULT 'Apple Watch',
|
|
7
|
+
event_type TEXT NOT NULL,
|
|
8
|
+
prompt_id TEXT,
|
|
9
|
+
recorded_at TEXT NOT NULL,
|
|
10
|
+
received_at TEXT NOT NULL,
|
|
11
|
+
linked_context_json TEXT NOT NULL DEFAULT '{}',
|
|
12
|
+
payload_json TEXT NOT NULL DEFAULT '{}',
|
|
13
|
+
projection_status TEXT NOT NULL DEFAULT 'stored',
|
|
14
|
+
projection_details_json TEXT NOT NULL DEFAULT '{}',
|
|
15
|
+
created_at TEXT NOT NULL,
|
|
16
|
+
UNIQUE (user_id, dedupe_key)
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
CREATE INDEX IF NOT EXISTS idx_watch_capture_events_user_recorded
|
|
20
|
+
ON watch_capture_events(user_id, recorded_at DESC);
|
|
21
|
+
|
|
22
|
+
CREATE INDEX IF NOT EXISTS idx_watch_capture_events_event_type
|
|
23
|
+
ON watch_capture_events(user_id, event_type, recorded_at DESC);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
ALTER TABLE ai_processors ADD COLUMN slug TEXT NOT NULL DEFAULT '';
|
|
2
|
+
ALTER TABLE ai_processors ADD COLUMN agent_config_json TEXT NOT NULL DEFAULT '[]';
|
|
3
|
+
ALTER TABLE ai_processors ADD COLUMN run_history_json TEXT NOT NULL DEFAULT '[]';
|
|
4
|
+
|
|
5
|
+
UPDATE ai_processors
|
|
6
|
+
SET slug = lower(replace(replace(trim(title), ' ', '-'), '--', '-')) || '-' || substr(id, -6)
|
|
7
|
+
WHERE trim(slug) = '';
|
|
8
|
+
|
|
9
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_ai_processors_slug
|
|
10
|
+
ON ai_processors(slug);
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS ai_connectors (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
slug TEXT NOT NULL UNIQUE,
|
|
4
|
+
title TEXT NOT NULL,
|
|
5
|
+
description TEXT NOT NULL DEFAULT '',
|
|
6
|
+
kind TEXT NOT NULL,
|
|
7
|
+
home_surface_id TEXT,
|
|
8
|
+
endpoint_enabled INTEGER NOT NULL DEFAULT 1,
|
|
9
|
+
graph_json TEXT NOT NULL,
|
|
10
|
+
published_outputs_json TEXT NOT NULL DEFAULT '[]',
|
|
11
|
+
last_run_json TEXT,
|
|
12
|
+
legacy_processor_id TEXT UNIQUE,
|
|
13
|
+
created_at TEXT NOT NULL,
|
|
14
|
+
updated_at TEXT NOT NULL
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
CREATE TABLE IF NOT EXISTS ai_connector_runs (
|
|
18
|
+
id TEXT PRIMARY KEY,
|
|
19
|
+
connector_id TEXT NOT NULL,
|
|
20
|
+
mode TEXT NOT NULL,
|
|
21
|
+
status TEXT NOT NULL,
|
|
22
|
+
user_input TEXT NOT NULL DEFAULT '',
|
|
23
|
+
context_json TEXT NOT NULL DEFAULT '{}',
|
|
24
|
+
conversation_id TEXT,
|
|
25
|
+
result_json TEXT,
|
|
26
|
+
error TEXT,
|
|
27
|
+
created_at TEXT NOT NULL,
|
|
28
|
+
completed_at TEXT,
|
|
29
|
+
FOREIGN KEY(connector_id) REFERENCES ai_connectors(id) ON DELETE CASCADE
|
|
30
|
+
);
|
|
31
|
+
|
|
32
|
+
CREATE INDEX IF NOT EXISTS idx_ai_connector_runs_connector_created
|
|
33
|
+
ON ai_connector_runs(connector_id, created_at DESC);
|
|
34
|
+
|
|
35
|
+
CREATE TABLE IF NOT EXISTS ai_connector_conversations (
|
|
36
|
+
id TEXT PRIMARY KEY,
|
|
37
|
+
connector_id TEXT NOT NULL UNIQUE,
|
|
38
|
+
provider TEXT,
|
|
39
|
+
external_conversation_id TEXT,
|
|
40
|
+
transcript_json TEXT NOT NULL DEFAULT '[]',
|
|
41
|
+
created_at TEXT NOT NULL,
|
|
42
|
+
updated_at TEXT NOT NULL,
|
|
43
|
+
FOREIGN KEY(connector_id) REFERENCES ai_connectors(id) ON DELETE CASCADE
|
|
44
|
+
);
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
ALTER TABLE movement_trip_points
|
|
2
|
+
ADD COLUMN external_uid TEXT NOT NULL DEFAULT '';
|
|
3
|
+
|
|
4
|
+
UPDATE movement_trip_points
|
|
5
|
+
SET external_uid = id
|
|
6
|
+
WHERE trim(external_uid) = '';
|
|
7
|
+
|
|
8
|
+
CREATE UNIQUE INDEX IF NOT EXISTS idx_movement_trip_points_trip_external
|
|
9
|
+
ON movement_trip_points(trip_id, external_uid);
|
|
10
|
+
|
|
11
|
+
CREATE TABLE IF NOT EXISTS movement_trip_point_tombstones (
|
|
12
|
+
id TEXT PRIMARY KEY,
|
|
13
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
14
|
+
trip_external_uid TEXT NOT NULL,
|
|
15
|
+
point_external_uid TEXT NOT NULL,
|
|
16
|
+
created_at TEXT NOT NULL,
|
|
17
|
+
updated_at TEXT NOT NULL,
|
|
18
|
+
UNIQUE (user_id, trip_external_uid, point_external_uid)
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
CREATE INDEX IF NOT EXISTS idx_movement_trip_point_tombstones_user_trip
|
|
22
|
+
ON movement_trip_point_tombstones(user_id, trip_external_uid, updated_at DESC);
|
|
23
|
+
|
|
24
|
+
CREATE TABLE IF NOT EXISTS movement_trip_point_overrides (
|
|
25
|
+
id TEXT PRIMARY KEY,
|
|
26
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
27
|
+
trip_external_uid TEXT NOT NULL,
|
|
28
|
+
point_external_uid TEXT NOT NULL,
|
|
29
|
+
point_json TEXT NOT NULL,
|
|
30
|
+
created_at TEXT NOT NULL,
|
|
31
|
+
updated_at TEXT NOT NULL,
|
|
32
|
+
UNIQUE (user_id, trip_external_uid, point_external_uid)
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
CREATE INDEX IF NOT EXISTS idx_movement_trip_point_overrides_user_trip
|
|
36
|
+
ON movement_trip_point_overrides(user_id, trip_external_uid, updated_at DESC);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
CREATE TABLE IF NOT EXISTS movement_stay_tombstones (
|
|
2
|
+
id TEXT PRIMARY KEY,
|
|
3
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
4
|
+
stay_external_uid TEXT NOT NULL,
|
|
5
|
+
created_at TEXT NOT NULL,
|
|
6
|
+
updated_at TEXT NOT NULL,
|
|
7
|
+
UNIQUE (user_id, stay_external_uid)
|
|
8
|
+
);
|
|
9
|
+
|
|
10
|
+
CREATE INDEX IF NOT EXISTS idx_movement_stay_tombstones_user
|
|
11
|
+
ON movement_stay_tombstones(user_id, updated_at DESC);
|
|
12
|
+
|
|
13
|
+
CREATE TABLE IF NOT EXISTS movement_stay_overrides (
|
|
14
|
+
id TEXT PRIMARY KEY,
|
|
15
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
16
|
+
stay_external_uid TEXT NOT NULL,
|
|
17
|
+
stay_json TEXT NOT NULL,
|
|
18
|
+
created_at TEXT NOT NULL,
|
|
19
|
+
updated_at TEXT NOT NULL,
|
|
20
|
+
UNIQUE (user_id, stay_external_uid)
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
CREATE INDEX IF NOT EXISTS idx_movement_stay_overrides_user
|
|
24
|
+
ON movement_stay_overrides(user_id, updated_at DESC);
|
|
25
|
+
|
|
26
|
+
CREATE TABLE IF NOT EXISTS movement_trip_tombstones (
|
|
27
|
+
id TEXT PRIMARY KEY,
|
|
28
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
29
|
+
trip_external_uid TEXT NOT NULL,
|
|
30
|
+
created_at TEXT NOT NULL,
|
|
31
|
+
updated_at TEXT NOT NULL,
|
|
32
|
+
UNIQUE (user_id, trip_external_uid)
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
CREATE INDEX IF NOT EXISTS idx_movement_trip_tombstones_user
|
|
36
|
+
ON movement_trip_tombstones(user_id, updated_at DESC);
|
|
37
|
+
|
|
38
|
+
CREATE TABLE IF NOT EXISTS movement_trip_overrides (
|
|
39
|
+
id TEXT PRIMARY KEY,
|
|
40
|
+
user_id TEXT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
41
|
+
trip_external_uid TEXT NOT NULL,
|
|
42
|
+
trip_json TEXT NOT NULL,
|
|
43
|
+
created_at TEXT NOT NULL,
|
|
44
|
+
updated_at TEXT NOT NULL,
|
|
45
|
+
UNIQUE (user_id, trip_external_uid)
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
CREATE INDEX IF NOT EXISTS idx_movement_trip_overrides_user
|
|
49
|
+
ON movement_trip_overrides(user_id, updated_at DESC);
|