@aitne-sh/aitne 0.1.7 → 0.1.9
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 +256 -833
- package/agent-assets/agent-profiles/_safety.md +52 -20
- package/agent-assets/agent-profiles/browser-task.md +108 -0
- package/agent-assets/agent-profiles/conversational.md +3 -3
- package/agent-assets/agent-profiles/profile-importer.md +3 -3
- package/agent-assets/agent-profiles/routine-fetch-window.md +30 -19
- package/agent-assets/agent-profiles/routine.md +4 -3
- package/agent-assets/agents/context-index-reconcile/agent.md +52 -0
- package/agent-assets/agents/evening-review/agent.md +53 -0
- package/agent-assets/agents/hourly-check/agent.md +62 -0
- package/agent-assets/agents/monthly-review/agent.md +55 -0
- package/agent-assets/agents/morning-routine/agent.md +78 -0
- package/agent-assets/agents/roadmap-maintenance/agent.md +52 -0
- package/agent-assets/agents/skill-curation/agent.md +52 -0
- package/agent-assets/agents/user-profile-sweep-evening/agent.md +48 -0
- package/agent-assets/agents/user-profile-sweep-morning/agent.md +53 -0
- package/agent-assets/agents/weekly-review/agent.md +51 -0
- package/agent-assets/docs/concepts/agent-day.md +18 -11
- package/agent-assets/docs/concepts/auth-health.md +56 -10
- package/agent-assets/docs/concepts/backends-and-tiers.md +110 -41
- package/agent-assets/docs/concepts/costs-and-quotas.md +74 -19
- package/agent-assets/docs/concepts/delegated-mode.md +193 -75
- package/agent-assets/docs/concepts/memory-model.md +79 -34
- package/agent-assets/docs/concepts/observations.md +61 -11
- package/agent-assets/docs/concepts/process-keys.md +66 -17
- package/agent-assets/docs/concepts/routines.md +77 -32
- package/agent-assets/docs/concepts/safety-and-execution.md +50 -21
- package/agent-assets/docs/concepts/safety-model.md +62 -37
- package/agent-assets/docs/concepts/skills.md +38 -17
- package/agent-assets/docs/features/integrations/browser-history.md +195 -0
- package/agent-assets/docs/features/integrations/calendar.md +40 -30
- package/agent-assets/docs/features/integrations/git.md +20 -9
- package/agent-assets/docs/features/integrations/github.md +93 -35
- package/agent-assets/docs/features/integrations/mail.md +60 -17
- package/agent-assets/docs/features/integrations/notion.md +51 -11
- package/agent-assets/docs/features/integrations/obsidian.md +35 -7
- package/agent-assets/docs/features/lifestyle/git.md +45 -44
- package/agent-assets/docs/features/lifestyle/reading.md +50 -22
- package/agent-assets/docs/features/lifestyle/receipts.md +66 -21
- package/agent-assets/docs/features/lifestyle/travel-bookings.md +91 -14
- package/agent-assets/docs/features/memory-files/agent-journal.md +111 -50
- package/agent-assets/docs/features/memory-files/projects.md +75 -15
- package/agent-assets/docs/features/memory-files/roadmap.md +55 -10
- package/agent-assets/docs/features/memory-files/schedule.md +113 -70
- package/agent-assets/docs/features/memory-files/today.md +47 -21
- package/agent-assets/docs/features/memory-files/user-profile.md +67 -31
- package/agent-assets/docs/features/messaging/bang-commands.md +115 -28
- package/agent-assets/docs/features/messaging/dashboard-chat.md +43 -21
- package/agent-assets/docs/features/messaging/discord.md +46 -4
- package/agent-assets/docs/features/messaging/overview.md +40 -19
- package/agent-assets/docs/features/messaging/pairing-and-magic-phrase.md +94 -27
- package/agent-assets/docs/features/messaging/slack.md +79 -14
- package/agent-assets/docs/features/messaging/telegram.md +25 -6
- package/agent-assets/docs/features/messaging/whatsapp.md +79 -14
- package/agent-assets/docs/features/operations/activity-and-conversations.md +45 -16
- package/agent-assets/docs/features/operations/approvals.md +53 -15
- package/agent-assets/docs/features/operations/backend-routing.md +75 -16
- package/agent-assets/docs/features/operations/cost-tracking.md +90 -17
- package/agent-assets/docs/features/operations/managed-chromium.md +221 -0
- package/agent-assets/docs/features/operations/notifications.md +58 -11
- package/agent-assets/docs/features/operations/quiet-hours.md +63 -40
- package/agent-assets/docs/features/operations/schedule-approaching.md +59 -16
- package/agent-assets/docs/features/routines/custom-routines.md +97 -23
- package/agent-assets/docs/features/routines/evening-review.md +75 -22
- package/agent-assets/docs/features/routines/hourly-check.md +150 -30
- package/agent-assets/docs/features/routines/morning-routine.md +60 -33
- package/agent-assets/docs/features/routines/weekly-review.md +65 -20
- package/agent-assets/docs/features/wiki/commands.md +37 -16
- package/agent-assets/docs/features/wiki/cost-and-approval.md +240 -0
- package/agent-assets/docs/features/wiki/dashboard.md +255 -0
- package/agent-assets/docs/features/wiki/overview.md +80 -12
- package/agent-assets/docs/features/wiki/search.md +248 -0
- package/agent-assets/docs/features/wiki/workspaces.md +254 -0
- package/agent-assets/docs/getting-started/01-what-is-this.md +64 -32
- package/agent-assets/docs/getting-started/02-first-steps.md +28 -10
- package/agent-assets/docs/getting-started/03-what-can-this-do.md +42 -21
- package/agent-assets/docs/getting-started/04-first-day.md +52 -20
- package/agent-assets/docs/glossary.md +285 -21
- package/agent-assets/docs/guides/add-a-custom-routine.md +74 -22
- package/agent-assets/docs/guides/backup-and-restore.md +92 -14
- package/agent-assets/docs/guides/budget-and-cost-for-wiki.md +62 -25
- package/agent-assets/docs/guides/build-your-wiki.md +33 -6
- package/agent-assets/docs/guides/change-which-model-handles-x.md +70 -9
- package/agent-assets/docs/guides/connect-a-new-mail-account.md +80 -15
- package/agent-assets/docs/guides/explore-with-trace-and-connect.md +32 -9
- package/agent-assets/docs/guides/import-knowledge-file.md +60 -39
- package/agent-assets/docs/guides/install-and-run.md +64 -19
- package/agent-assets/docs/guides/maintain-wiki-health.md +41 -10
- package/agent-assets/docs/guides/migrate-machines.md +86 -18
- package/agent-assets/docs/guides/multiple-wikis-for-multiple-domains.md +119 -59
- package/agent-assets/docs/guides/pause-the-agent.md +71 -22
- package/agent-assets/docs/guides/reinstall-cleanly.md +102 -17
- package/agent-assets/docs/guides/setup-wizard.md +126 -56
- package/agent-assets/docs/guides/switch-default-backend.md +72 -17
- package/agent-assets/docs/guides/use-an-existing-obsidian-vault.md +31 -10
- package/agent-assets/docs/reference/api.md +162 -23
- package/agent-assets/docs/reference/cli-commands.md +55 -15
- package/agent-assets/docs/reference/config.md +246 -39
- package/agent-assets/docs/reference/disallowed-tools.md +42 -10
- package/agent-assets/docs/reference/keyboard-shortcuts.md +47 -10
- package/agent-assets/docs/reference/knowledge-layout.md +620 -0
- package/agent-assets/docs/reference/process-keys.md +126 -20
- package/agent-assets/docs/reference/skills.md +62 -18
- package/agent-assets/docs/troubleshooting/auth-failed.md +53 -19
- package/agent-assets/docs/troubleshooting/dashboard-shows-degraded.md +96 -22
- package/agent-assets/docs/troubleshooting/fallback-keeps-firing.md +94 -20
- package/agent-assets/docs/troubleshooting/messaging-not-pairing.md +77 -22
- package/agent-assets/docs/troubleshooting/morning-routine-didnt-run.md +87 -22
- package/agent-assets/docs/troubleshooting/observation-not-detected.md +85 -21
- package/agent-assets/docs/troubleshooting/quota-exhausted.md +36 -6
- package/agent-assets/docs/troubleshooting/wiki-ingest-full-blocked.md +128 -51
- package/agent-assets/docs/troubleshooting/wiki-write-failed.md +33 -11
- package/agent-assets/optimizer-skills/drift-analysis/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/knowledge-map/SKILL.md +1 -1
- package/agent-assets/optimizer-skills/skill-curation/SKILL.md +2 -2
- package/agent-assets/sandbox/linux/aitne-chromium.apparmor +91 -0
- package/agent-assets/sandbox/macos/aitne-chromium.sb +156 -0
- package/agent-assets/skills/agent-actions/SKILL.md +122 -0
- package/agent-assets/skills/agent-create/SKILL.md +149 -0
- package/agent-assets/skills/attach/SKILL.md +3 -4
- package/agent-assets/skills/browser-history/SKILL.md +198 -0
- package/agent-assets/skills/browser-history-respond/SKILL.md +106 -0
- package/agent-assets/skills/browser-task/SKILL.md +169 -0
- package/agent-assets/skills/context/SKILL.md +45 -463
- package/agent-assets/skills/context/curation.json +2 -2
- package/agent-assets/skills/context/references/api.md +232 -0
- package/agent-assets/skills/context/references/required-frontmatter.md +73 -0
- package/agent-assets/skills/context/references/snapshot-files.md +103 -0
- package/agent-assets/skills/context/seeds/file-responsibilities.seed.json +4 -4
- package/agent-assets/skills/docs-search/SKILL.md +17 -16
- package/agent-assets/skills/external-services/SKILL.delegated.claude.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.codex.md +14 -26
- package/agent-assets/skills/external-services/SKILL.delegated.gemini.md +14 -26
- package/agent-assets/skills/external-services/SKILL.md +9 -262
- package/agent-assets/skills/external-services/SKILL.native.claude.md +6 -7
- package/agent-assets/skills/external-services/SKILL.native.codex.md +8 -9
- package/agent-assets/skills/external-services/SKILL.native.gemini.md +5 -6
- package/agent-assets/skills/external-services/references/calendar-apple.md +97 -0
- package/agent-assets/skills/external-services/references/calendar-google.md +72 -0
- package/agent-assets/skills/external-services/references/calendar-outlook.md +36 -0
- package/agent-assets/skills/external-services/references/github.md +17 -0
- package/agent-assets/skills/external-services/references/obsidian.md +49 -0
- package/agent-assets/skills/external-services/references/skills-crud.md +27 -0
- package/agent-assets/skills/gmail-lifestyle/SKILL.md +151 -0
- package/agent-assets/skills/gmail-lifestyle/references/receipts-api.md +93 -0
- package/agent-assets/skills/gmail-lifestyle/references/travel-bookings-api.md +75 -0
- package/agent-assets/skills/mail/SKILL.delegated.claude.md +15 -6
- package/agent-assets/skills/mail/SKILL.delegated.codex.md +9 -5
- package/agent-assets/skills/mail/SKILL.delegated.gemini.md +9 -5
- package/agent-assets/skills/mail/SKILL.md +9 -114
- package/agent-assets/skills/mail/SKILL.native.claude.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.codex.md +1 -1
- package/agent-assets/skills/mail/SKILL.native.gemini.md +1 -1
- package/agent-assets/skills/mail/references/api.md +110 -0
- package/agent-assets/skills/mail/references/examples.md +70 -0
- package/agent-assets/skills/mail/references/providers.md +8 -8
- package/agent-assets/skills/managed-tasks/SKILL.md +472 -0
- package/agent-assets/skills/managed-tasks/references/errors.md +73 -0
- package/agent-assets/skills/managed-tasks/references/output-path.md +75 -0
- package/agent-assets/skills/managed-tasks/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/management-policy/SKILL.md +54 -125
- package/agent-assets/skills/management-policy/curation.json +1 -1
- package/agent-assets/skills/management-policy/references/policy-workflow.md +101 -0
- package/agent-assets/skills/management-policy/seeds/policy-file-shape.seed.json +1 -1
- package/agent-assets/skills/notify/SKILL.md +10 -82
- package/agent-assets/skills/notify/references/priority.md +65 -0
- package/agent-assets/skills/notion/SKILL.delegated.claude.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.codex.md +2 -2
- package/agent-assets/skills/notion/SKILL.delegated.gemini.md +2 -2
- package/agent-assets/skills/notion/SKILL.md +6 -10
- package/agent-assets/skills/notion/SKILL.native.claude.md +11 -8
- package/agent-assets/skills/notion/SKILL.native.codex.md +10 -6
- package/agent-assets/skills/notion/SKILL.native.gemini.md +10 -6
- package/agent-assets/skills/observations/SKILL.md +25 -14
- package/agent-assets/skills/project-doc/SKILL.md +2 -6
- package/agent-assets/skills/project-doc/curation.json +3 -3
- package/agent-assets/skills/project-doc/seeds/project-shape.seed.json +7 -4
- package/agent-assets/skills/project-doc/seeds/slug-grammar.seed.json +3 -3
- package/agent-assets/skills/reading/SKILL.md +12 -2
- package/agent-assets/skills/reading/references/reading-taste.md +2 -2
- package/agent-assets/skills/roadmap/SKILL.md +43 -141
- package/agent-assets/skills/roadmap/curation.json +1 -1
- package/agent-assets/skills/roadmap/references/api.md +100 -0
- package/agent-assets/skills/roadmap/references/cross-check.md +80 -0
- package/agent-assets/skills/roadmap/references/migration.md +56 -0
- package/agent-assets/skills/roadmap/references/preparation-timeline.md +2 -2
- package/agent-assets/skills/roadmap/seeds/entry-types.seed.json +1 -1
- package/agent-assets/skills/schedule/SKILL.md +76 -104
- package/agent-assets/skills/schedule/references/batch.md +93 -0
- package/agent-assets/skills/schedule/references/errors.md +217 -0
- package/agent-assets/skills/schedule/references/model-selection.md +96 -0
- package/agent-assets/skills/schedule/references/recurrence-rule.md +86 -0
- package/agent-assets/skills/scheduled-managed-task/SKILL.md +59 -51
- package/agent-assets/skills/today/SKILL.md +32 -62
- package/agent-assets/skills/today/curation.json +3 -3
- package/agent-assets/skills/today/references/agent-plan-lifecycle.md +114 -0
- package/agent-assets/skills/today/seeds/section-shape.seed.json +1 -1
- package/agent-assets/skills/user-interview/SKILL.md +23 -67
- package/agent-assets/skills/user-interview/references/op-briefing.md +51 -0
- package/agent-assets/skills/user-interview/references/op-morning.md +59 -0
- package/agent-assets/skills/user-interview/references/sweep-and-fallback.md +9 -1
- package/agent-assets/skills/user-profile/SKILL.md +54 -74
- package/agent-assets/skills/user-profile/curation.json +2 -2
- package/agent-assets/skills/user-profile/references/character-preferences.md +83 -0
- package/agent-assets/skills/user-profile/seeds/routing-table.seed.json +8 -8
- package/agent-assets/skills/user-profile/seeds/topic-files.seed.json +30 -2
- package/agent-assets/skills/wiki/wiki-ask/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-compile/SKILL.md +4 -5
- package/agent-assets/skills/wiki/wiki-connect/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-graduate/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-ingest/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-lint/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-trace/SKILL.md +0 -1
- package/agent-assets/skills/wiki/wiki-vault-rules/SKILL.md +0 -1
- package/agent-assets/system-prompts/routine-fetch-window.md +78 -0
- package/agent-assets/system-prompts/skill-index-instruction.md +26 -0
- package/agent-assets/task-flows/_partials/calendar-acquire.google_calendar.md +20 -11
- package/agent-assets/task-flows/_partials/calendar-acquire.outlook_calendar.md +18 -9
- package/agent-assets/task-flows/_partials/capture-user-info.md +24 -0
- package/agent-assets/task-flows/_partials/confirm-subflow.md +68 -0
- package/agent-assets/task-flows/_partials/dm-intent.long-horizon.md +35 -0
- package/agent-assets/task-flows/_partials/dm-intent.project.md +391 -0
- package/agent-assets/task-flows/_partials/mail-acquire.gmail.md +20 -11
- package/agent-assets/task-flows/_partials/mail-acquire.outlook_mail.md +18 -9
- package/agent-assets/task-flows/_partials/notion-acquire.notion.md +26 -15
- package/agent-assets/task-flows/browser_task.md +84 -0
- package/agent-assets/task-flows/github.assigned.md +1 -1
- package/agent-assets/task-flows/github.pull_request.review_requested.md +2 -2
- package/agent-assets/task-flows/github.workflow_run.failed.md +2 -2
- package/agent-assets/task-flows/knowledge.import.md +15 -15
- package/agent-assets/task-flows/message.received.dm.md +20 -17
- package/agent-assets/task-flows/message.received.dm_first.md +11 -15
- package/agent-assets/task-flows/routine.custom.md +6 -4
- package/agent-assets/task-flows/routine.evening_review.md +46 -170
- package/agent-assets/task-flows/routine.fetch_window.md +19 -14
- package/agent-assets/task-flows/routine.hourly_check.md +27 -15
- package/agent-assets/task-flows/routine.hourly_check.triage.md +1 -1
- package/agent-assets/task-flows/routine.monthly_review.md +67 -25
- package/agent-assets/task-flows/routine.morning_routine_journal.md +135 -0
- package/agent-assets/task-flows/routine.morning_routine_today.md +673 -0
- package/agent-assets/task-flows/routine.research_cluster_update.md +35 -0
- package/agent-assets/task-flows/routine.research_dispatch.md +38 -0
- package/agent-assets/task-flows/routine.research_offer_dm.md +125 -0
- package/agent-assets/task-flows/routine.research_wiki_summary.md +53 -0
- package/agent-assets/task-flows/routine.roadmap_refresh.md +68 -23
- package/agent-assets/task-flows/routine.today_refresh.md +4 -4
- package/agent-assets/task-flows/routine.user_profile_sweep.md +19 -20
- package/agent-assets/task-flows/routine.weekly_review.md +370 -86
- package/agent-assets/task-flows/schedule.approaching.md +0 -1
- package/agent-assets/task-flows/scheduled.dm.md +13 -13
- package/agent-assets/task-flows/scheduled.task.md +9 -9
- package/agent-assets/task-flows/setup.initial.md +171 -251
- package/agent-assets/task-flows/setup.update.md +2 -2
- package/agent-assets/task-flows/wiki.ingest_url.md +1 -1
- package/agent-assets/templates/README.md +27 -20
- package/agent-assets/templates/_index.md +42 -26
- package/agent-assets/templates/_manifest.json +34 -99
- package/agent-assets/templates/{user → identity}/_index.md +1 -1
- package/agent-assets/templates/identity/expertise.md +9 -0
- package/agent-assets/templates/identity/goals.md +9 -0
- package/agent-assets/templates/identity/people.md +13 -0
- package/agent-assets/templates/identity/personal.md +9 -0
- package/agent-assets/templates/{user → identity}/profile.md +2 -2
- package/agent-assets/templates/identity/work.md +9 -0
- package/agent-assets/templates/{dossiers → knowledge/dossiers}/_index.md +2 -2
- package/agent-assets/templates/{projects → plans/projects}/_active.base +1 -1
- package/agent-assets/templates/policies/_index.md +21 -0
- package/agent-assets/templates/{rules → policies}/journal-export.md +1 -1
- package/agent-assets/templates/policies/journal-format.md +168 -0
- package/agent-assets/templates/{rules/policies → policies/management-captures}/_index.md +2 -2
- package/agent-assets/templates/{rules → policies}/management.md +3 -3
- package/agent-assets/templates/{rules → policies}/mcp.md +1 -1
- package/agent-assets/templates/{rules → policies}/redaction.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/_index.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/evening.md +2 -2
- package/agent-assets/templates/{routines → policies/routines}/hourly.md +1 -1
- package/agent-assets/templates/{routines → policies/routines}/monthly.md +2 -2
- package/bin/aitne.mjs +21 -5
- package/package.json +5 -4
- package/scripts/commands/doctor.mjs +63 -5
- package/scripts/commands/run-now.mjs +187 -0
- package/scripts/commands/verify.mjs +264 -0
- package/scripts/lib/ports.d.mts +27 -0
- package/scripts/lib/ports.mjs +36 -0
- package/scripts/lib/read-api-token.mjs +176 -0
- package/scripts/start.mjs +2 -1
- package/agent-assets/docs/features/lifestyle/travel-time.md +0 -52
- package/agent-assets/docs/features/routines/monthly-review.md +0 -65
- package/agent-assets/skills/management-task-modify/SKILL.md +0 -203
- package/agent-assets/skills/management-task-register/SKILL.md +0 -330
- package/agent-assets/skills/management-task-stop/SKILL.md +0 -166
- package/agent-assets/skills/receipts/SKILL.md +0 -134
- package/agent-assets/skills/travel/SKILL.md +0 -132
- package/agent-assets/skills/travel-time/SKILL.md +0 -158
- package/agent-assets/task-flows/routine.morning_routine.md +0 -322
- package/agent-assets/task-flows/routine.morning_routine_initial.md +0 -204
- package/agent-assets/templates/context-index.md +0 -42
- package/agent-assets/templates/rules/_index.md +0 -19
- package/agent-assets/templates/rules/journal-format.md +0 -61
- package/agent-assets/templates/user/expertise.md +0 -7
- package/agent-assets/templates/user/goals.md +0 -7
- package/agent-assets/templates/user/people.md +0 -7
- package/agent-assets/templates/user/personal.md +0 -7
- package/agent-assets/templates/user/work.md +0 -7
- /package/agent-assets/templates/{agent/journal.md → journal/agent.md} +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/evening.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/hourly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/monthly.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/morning.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/roadmap.md +0 -0
- /package/agent-assets/templates/{dossiers → knowledge/dossiers}/weekly.md +0 -0
- /package/agent-assets/templates/{projects → plans/projects}/_index.md +0 -0
- /package/agent-assets/templates/{roadmap.md → plans/roadmap.md} +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/morning.md +0 -0
- /package/agent-assets/templates/{routines → policies/routines}/weekly.md +0 -0
- /package/agent-assets/templates/{agent → state}/profile-questions.md +0 -0
- /package/agent-assets/templates/{today.md → state/today.md} +0 -0
|
@@ -26,9 +26,9 @@ tags:
|
|
|
26
26
|
- lifestyle
|
|
27
27
|
- git
|
|
28
28
|
- github
|
|
29
|
-
-
|
|
30
|
-
-
|
|
31
|
-
-
|
|
29
|
+
- autonomous
|
|
30
|
+
- observations
|
|
31
|
+
- core
|
|
32
32
|
status: stable
|
|
33
33
|
ask_examples:
|
|
34
34
|
- What is the My Life › Git page for?
|
|
@@ -46,7 +46,7 @@ ask_examples:
|
|
|
46
46
|
- How much does one Architecture refresh cost?
|
|
47
47
|
locale: en-US
|
|
48
48
|
created: 2026-05-05
|
|
49
|
-
updated: 2026-05-
|
|
49
|
+
updated: 2026-05-28
|
|
50
50
|
keywords:
|
|
51
51
|
- my life
|
|
52
52
|
- git
|
|
@@ -63,13 +63,26 @@ related:
|
|
|
63
63
|
- features/integrations/git
|
|
64
64
|
- features/integrations/github
|
|
65
65
|
- features/routines/hourly-check
|
|
66
|
-
- guides/refresh-repository-architecture
|
|
67
66
|
- concepts/observations
|
|
68
67
|
ui_anchors:
|
|
69
68
|
- /git
|
|
70
69
|
- /connections/repositories
|
|
71
70
|
config_keys:
|
|
72
71
|
- gitPollIntervalSeconds
|
|
72
|
+
process_keys:
|
|
73
|
+
- git.project.init
|
|
74
|
+
- git.project.update
|
|
75
|
+
- git.project.refresh_architecture
|
|
76
|
+
- git.project.retemplate
|
|
77
|
+
api_endpoints:
|
|
78
|
+
- PUT /api/repositories/:id/architecture-section
|
|
79
|
+
- POST /api/repositories/:id/management/init
|
|
80
|
+
- POST /api/repositories/:id/management/refresh-architecture
|
|
81
|
+
- POST /api/repositories/:id/management/scan
|
|
82
|
+
context_files:
|
|
83
|
+
- knowledge/repos/<slug>/overview.md
|
|
84
|
+
- knowledge/repos/<slug>/README.md
|
|
85
|
+
- journal/repos/<slug>/<date>.md
|
|
73
86
|
---
|
|
74
87
|
|
|
75
88
|
# My Life — Git
|
|
@@ -87,8 +100,7 @@ mirror of the source README.
|
|
|
87
100
|
|
|
88
101
|
The page lists every repository registered on
|
|
89
102
|
**Connections → Repositories** and exposes three collapsible sections
|
|
90
|
-
per repo (
|
|
91
|
-
a glance):
|
|
103
|
+
per repo (all open by default so the controls are visible at a glance):
|
|
92
104
|
|
|
93
105
|
1. **Polling** — overrides the global `gitPollIntervalSeconds` for
|
|
94
106
|
this repository alone. Useful when one repo is high-traffic and
|
|
@@ -103,12 +115,12 @@ a glance):
|
|
|
103
115
|
3. **Daily git management** — opt-in per repo. Enabling it does three
|
|
104
116
|
distinct kinds of work, on different cadences:
|
|
105
117
|
- On the first **Run init now** click, writes the curated
|
|
106
|
-
`
|
|
107
|
-
to `
|
|
108
|
-
one-shot Architecture refresh** so the AI
|
|
109
|
-
deep Architecture section for you.
|
|
110
|
-
- Once a day, the `
|
|
111
|
-
enabled rows and writes `
|
|
118
|
+
`knowledge/repos/<slug>/overview.md` skeleton, mirrors the source
|
|
119
|
+
`README.*` to `knowledge/repos/<slug>/README.md`, and
|
|
120
|
+
**automatically queues a one-shot Architecture refresh** so the AI
|
|
121
|
+
agent fills in the deep Architecture section for you.
|
|
122
|
+
- Once a day, the `RepositoryManagementCron` observer iterates
|
|
123
|
+
enabled rows and writes `journal/repos/<slug>/YYYY-MM-DD.md` if
|
|
112
124
|
there was activity, plus a one-line entry under
|
|
113
125
|
`## Daily Activity Log` in `overview.md`.
|
|
114
126
|
- **Refresh architecture** (the button) re-runs the Architecture
|
|
@@ -121,8 +133,9 @@ The agent never pushes, amends, or force-resets. Read-only by design.
|
|
|
121
133
|
|
|
122
134
|
## Architecture Section — Deep AI Analysis
|
|
123
135
|
|
|
124
|
-
The `## Architecture` block of `
|
|
125
|
-
`<!-- architecture:start -->` / `<!-- architecture:end -->`
|
|
136
|
+
The `## Architecture` block of `knowledge/repos/<slug>/overview.md` is
|
|
137
|
+
wrapped in `<!-- architecture:start -->` / `<!-- architecture:end -->`
|
|
138
|
+
markers
|
|
126
139
|
and contains a **module map, runtime shape, data flow, persistence
|
|
127
140
|
model, integrations, build pipeline, and design choices** produced by
|
|
128
141
|
a Sonnet-class agent that reads the actual code.
|
|
@@ -137,8 +150,8 @@ a Sonnet-class agent that reads the actual code.
|
|
|
137
150
|
re-copies the source README into the slug directory before queueing
|
|
138
151
|
the agent run, so the mirror stays in sync with what the agent
|
|
139
152
|
actually reads.
|
|
140
|
-
- **Never automatically** — there is no
|
|
141
|
-
|
|
153
|
+
- **Never automatically** — there is no recurring cron that refreshes
|
|
154
|
+
Architecture. This is by design: each refresh costs one
|
|
142
155
|
Sonnet session, and the analysis is durable across daily journal
|
|
143
156
|
appends. If you want a recurring refresh, click the button on
|
|
144
157
|
whatever cadence makes sense for the repo (after a big refactor,
|
|
@@ -163,8 +176,8 @@ for recovery.
|
|
|
163
176
|
|
|
164
177
|
## README Mirror
|
|
165
178
|
|
|
166
|
-
`
|
|
167
|
-
repository's `README.*` (whichever extension exists, with `.md`
|
|
179
|
+
`knowledge/repos/<slug>/README.md` is a **mechanical verbatim copy** of
|
|
180
|
+
the repository's `README.*` (whichever extension exists, with `.md`
|
|
168
181
|
preferred). It is refreshed on:
|
|
169
182
|
|
|
170
183
|
- Every **Run init now** (initial mirror).
|
|
@@ -202,13 +215,13 @@ README is rewritten.
|
|
|
202
215
|
|
|
203
216
|
## What It Outputs
|
|
204
217
|
|
|
205
|
-
Per repository, under `<contextDir
|
|
218
|
+
Per repository, under `<contextDir>/`:
|
|
206
219
|
|
|
207
220
|
| File | Source | Refresh cadence |
|
|
208
221
|
|---|---|---|
|
|
209
|
-
| `overview.md` | Daemon (skeleton + Notable Changes + journal log) + Agent (Architecture section) | Skeleton on init; Architecture on init/refresh; daily entry appended on each scan |
|
|
210
|
-
| `README.md` | Verbatim copy of `<repo>/README.*` | Every init + every architecture refresh |
|
|
211
|
-
| `journal/
|
|
222
|
+
| `knowledge/repos/<slug>/overview.md` | Daemon (skeleton + Notable Changes + journal log) + Agent (Architecture section) | Skeleton on init; Architecture on init/refresh; daily entry appended on each scan |
|
|
223
|
+
| `knowledge/repos/<slug>/README.md` | Verbatim copy of `<repo>/README.*` | Every init + every architecture refresh |
|
|
224
|
+
| `journal/repos/<slug>/<date>.md` | Daemon (commits + PR/workflow observations + diff stat) | Once per day per repo, when activity exists |
|
|
212
225
|
|
|
213
226
|
Polling additionally produces `observation` rows in the database;
|
|
214
227
|
triggers spawn autonomous sessions whose task-flow is selected by the
|
|
@@ -217,7 +230,10 @@ trigger's process key.
|
|
|
217
230
|
## Where in the Dashboard
|
|
218
231
|
|
|
219
232
|
- **My Life → Git** (`/git`) — this page. Polling, Triggers, and Daily
|
|
220
|
-
git management are
|
|
233
|
+
git management are all expanded by default. The Daily-git-management
|
|
234
|
+
panel's buttons appear in lifecycle order — **Run init now → Refresh
|
|
235
|
+
architecture → Run today's scan now** — and each surfaces an inline
|
|
236
|
+
green confirmation on success or a red error message on failure.
|
|
221
237
|
- **Connections → Repositories** (`/connections/repositories`) —
|
|
222
238
|
register a repo (link a `localPath` and/or `owner/repo`), rename,
|
|
223
239
|
set `local-only`, delete. The model-binding cards visible on this
|
|
@@ -227,24 +243,11 @@ trigger's process key.
|
|
|
227
243
|
`github.pull_request.review_requested`, `github.workflow_run.failed`)
|
|
228
244
|
were folded back into the default routing. To pin a different model
|
|
229
245
|
for any of those, use **Settings → Models** instead.
|
|
230
|
-
- **Knowledge** (`/knowledge?
|
|
231
|
-
on each Daily-git-management panel open the generated overview
|
|
232
|
-
current day's journal
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
## UI polish (2026-05-07)
|
|
236
|
-
|
|
237
|
-
- The Daily git management toggle is now a styled switch instead of a
|
|
238
|
-
raw checkbox — same behavior, more legible state.
|
|
239
|
-
- Init / Refresh architecture / Run today's scan now buttons surface
|
|
240
|
-
inline confirmation messages (green) on success and inline error
|
|
241
|
-
messages (red) on failure, instead of the previous silent return.
|
|
242
|
-
- The button order on the panel is **Run init now → Refresh
|
|
243
|
-
architecture → Run today's scan now**, matching the lifecycle order
|
|
244
|
-
(one-time skeleton → one-time deep analysis → daily increments).
|
|
245
|
-
- The Polling, Triggers, and Daily git management collapsibles all
|
|
246
|
-
open by default so a freshly-loaded `/git` page exposes every
|
|
247
|
-
per-repo control without an extra click.
|
|
246
|
+
- **Knowledge → Context Files** (`/knowledge?tab=context-files`) — quick
|
|
247
|
+
links on each Daily-git-management panel open the generated overview
|
|
248
|
+
(`knowledge/repos/<slug>/overview.md`), the current day's journal
|
|
249
|
+
(`journal/repos/<slug>/<date>.md`), and (after the architecture
|
|
250
|
+
refresh completes) the AI-rich Architecture section in context.
|
|
248
251
|
|
|
249
252
|
## Configuration
|
|
250
253
|
|
|
@@ -314,8 +317,6 @@ repository has a `localPath`:
|
|
|
314
317
|
|
|
315
318
|
## Related
|
|
316
319
|
|
|
317
|
-
- [Refresh repository architecture](../../guides/refresh-repository-architecture.md)
|
|
318
|
-
— focused walkthrough of the Refresh architecture button.
|
|
319
320
|
- [Git integration](../integrations/git.md) — the underlying observer
|
|
320
321
|
contract and `gitPollIntervalSeconds` semantics.
|
|
321
322
|
- [GitHub integration](../integrations/github.md) — remote-side data
|
|
@@ -11,8 +11,8 @@ category: features
|
|
|
11
11
|
summary: |
|
|
12
12
|
Track books and Kindle highlights in a SQLite-backed reading list
|
|
13
13
|
surfaced at /reading. The schema covers title/author/status plus a
|
|
14
|
-
separate reading_highlights table populated from Kindle
|
|
15
|
-
|
|
14
|
+
separate reading_highlights table populated from Kindle imports
|
|
15
|
+
(My Clippings.txt or an Export Notebook email).
|
|
16
16
|
section: lifestyle
|
|
17
17
|
tags:
|
|
18
18
|
- lifestyle
|
|
@@ -21,20 +21,27 @@ tags:
|
|
|
21
21
|
status: stable
|
|
22
22
|
ask_examples:
|
|
23
23
|
- How do I add a book to my reading list?
|
|
24
|
+
- How do I import my Kindle highlights?
|
|
24
25
|
- Can the agent recommend something from my reading list?
|
|
25
26
|
- Where do reading-list items get stored?
|
|
26
27
|
locale: en-US
|
|
27
28
|
created: 2026-04-25
|
|
28
|
-
updated: 2026-
|
|
29
|
+
updated: 2026-05-28
|
|
29
30
|
keywords:
|
|
30
31
|
- reading
|
|
31
32
|
- books
|
|
32
|
-
-
|
|
33
|
+
- highlights
|
|
34
|
+
- kindle
|
|
33
35
|
- read later
|
|
34
36
|
related:
|
|
35
37
|
- features/memory-files/user-profile
|
|
36
38
|
- features/lifestyle/receipts
|
|
37
39
|
- features/lifestyle/travel-bookings
|
|
40
|
+
api_endpoints:
|
|
41
|
+
- GET /api/books
|
|
42
|
+
- PATCH /api/books/:id
|
|
43
|
+
- POST /api/books/import-clippings
|
|
44
|
+
- POST /api/books/import-notebook-html
|
|
38
45
|
ui_anchors:
|
|
39
46
|
- /reading
|
|
40
47
|
---
|
|
@@ -44,22 +51,32 @@ ui_anchors:
|
|
|
44
51
|
## In One Sentence
|
|
45
52
|
|
|
46
53
|
A reading list backed by the `books` and `reading_highlights` SQLite
|
|
47
|
-
tables: imports Kindle
|
|
48
|
-
and surfaces the working set
|
|
54
|
+
tables: imports your Kindle highlights, tracks each book's status
|
|
55
|
+
(`reading`, `completed`, or `abandoned`), and surfaces the working set
|
|
56
|
+
at `/reading`.
|
|
49
57
|
|
|
50
58
|
## What It Does
|
|
51
59
|
|
|
52
|
-
- **
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
- **List**
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
- **Import Kindle highlights** — the primary way books enter the list.
|
|
61
|
+
Two pipelines, both of which create any missing `books` rows and link
|
|
62
|
+
every highlight back to `books.id` in the `reading_highlights` table:
|
|
63
|
+
- `POST /api/books/import-clippings` parses a pasted `My Clippings.txt`.
|
|
64
|
+
- `POST /api/books/import-notebook-html` parses the HTML of a Kindle
|
|
65
|
+
"Export Notebook" email.
|
|
66
|
+
- **List** the library on `/reading` or via `GET /api/books`
|
|
67
|
+
(filterable by `status` and `source`, paginated to 200 rows per call).
|
|
68
|
+
- **Mark complete or abandoned** — the agent updates an existing row via
|
|
69
|
+
`PATCH /api/books/:id`. Setting `status` to `completed` stamps
|
|
70
|
+
`completed_at` automatically; you can also set a 1–5 `rating` or
|
|
71
|
+
`notes`.
|
|
72
|
+
- **Recommend** from the list during reactive turns, and refresh the
|
|
73
|
+
reading-taste profile during weekly and monthly reviews.
|
|
74
|
+
|
|
75
|
+
There is **no bare "add a book" endpoint** — new books arrive through the
|
|
76
|
+
two Kindle import pipelines above (or are created internally during an
|
|
77
|
+
import); `PATCH` only edits books that already exist. If you ask the
|
|
78
|
+
agent to "add a book" conversationally, it works from whatever import
|
|
79
|
+
data it has rather than minting a free-form row.
|
|
63
80
|
|
|
64
81
|
There is no Markdown context file for the reading list; the durable
|
|
65
82
|
record is the SQLite row. If you want a parallel copy in your external
|
|
@@ -68,8 +85,13 @@ stays canonical in the database.
|
|
|
68
85
|
|
|
69
86
|
## When It Runs / How It Is Triggered
|
|
70
87
|
|
|
71
|
-
|
|
72
|
-
|
|
88
|
+
There is no dedicated autonomous reading-list routine — the operator
|
|
89
|
+
drives the list shape. The reading skill loads in two situations:
|
|
90
|
+
|
|
91
|
+
- **Reactively**, when you mention a book or highlight in a DM.
|
|
92
|
+
- **From existing routines** — the morning routine can mention what
|
|
93
|
+
you're currently reading, and the weekly and monthly reviews pull
|
|
94
|
+
reading progress and refresh the reading-taste profile.
|
|
73
95
|
|
|
74
96
|
## What It Outputs
|
|
75
97
|
|
|
@@ -83,9 +105,15 @@ default install — the operator drives the list shape.
|
|
|
83
105
|
|
|
84
106
|
## When Something Goes Wrong
|
|
85
107
|
|
|
86
|
-
-
|
|
87
|
-
hits `/api/books
|
|
88
|
-
|
|
108
|
+
- **An import that produced no books**: check the Activity row's tool
|
|
109
|
+
calls — the agent hits `/api/books/import-clippings` (or
|
|
110
|
+
`/import-notebook-html`), so a parse failure, oversized payload, or
|
|
111
|
+
network error there surfaces in the audit log even when the chat reply
|
|
112
|
+
looked fine. A common cause is pasting a partial or non-Kindle
|
|
113
|
+
clippings file, which yields zero parsed books.
|
|
114
|
+
- **An edit that didn't stick**: `PATCH /api/books/:id` returns 404 if
|
|
115
|
+
the id doesn't exist and 400 for an invalid `status` (only `reading`,
|
|
116
|
+
`completed`, `abandoned`) or an out-of-range `rating` (must be 1–5).
|
|
89
117
|
|
|
90
118
|
## Related
|
|
91
119
|
|
|
@@ -3,6 +3,11 @@ schema_version: 1
|
|
|
3
3
|
slug: features/lifestyle/receipts
|
|
4
4
|
title: Receipts
|
|
5
5
|
id: receipts
|
|
6
|
+
aliases:
|
|
7
|
+
- receipts
|
|
8
|
+
- invoices
|
|
9
|
+
- expenses
|
|
10
|
+
- receipt files
|
|
6
11
|
category: features
|
|
7
12
|
summary: |
|
|
8
13
|
A SQLite-backed log of receipt and invoice attachments the Gmail
|
|
@@ -12,14 +17,29 @@ section: lifestyle
|
|
|
12
17
|
tags:
|
|
13
18
|
- lifestyle
|
|
14
19
|
- receipts
|
|
20
|
+
- mail
|
|
21
|
+
- integrations
|
|
15
22
|
status: stable
|
|
16
23
|
ask_examples:
|
|
17
24
|
- Where are my receipts stored?
|
|
18
25
|
- How do I save a receipt to my Obsidian vault?
|
|
19
26
|
- What does the receipts table track?
|
|
27
|
+
- What receipts haven't I saved yet?
|
|
20
28
|
locale: en-US
|
|
21
29
|
created: 2026-04-25
|
|
22
|
-
updated: 2026-
|
|
30
|
+
updated: 2026-05-28
|
|
31
|
+
keywords:
|
|
32
|
+
- receipt
|
|
33
|
+
- invoice
|
|
34
|
+
- expense
|
|
35
|
+
- attachment
|
|
36
|
+
- PDF
|
|
37
|
+
- gmail receipts
|
|
38
|
+
api_endpoints:
|
|
39
|
+
- GET /api/receipts
|
|
40
|
+
- GET /api/receipts/summary
|
|
41
|
+
- POST /api/receipts/:id/download
|
|
42
|
+
- PATCH /api/receipts/:id
|
|
23
43
|
related:
|
|
24
44
|
- features/lifestyle/reading
|
|
25
45
|
- features/lifestyle/travel-bookings
|
|
@@ -30,39 +50,64 @@ related:
|
|
|
30
50
|
|
|
31
51
|
## In One Sentence
|
|
32
52
|
|
|
33
|
-
Receipts are PDF / image attachments the Gmail observer
|
|
34
|
-
|
|
35
|
-
table, and the agent can
|
|
53
|
+
Receipts are PDF / image attachments the Gmail observer detects while
|
|
54
|
+
scanning your mail; their metadata lives in the `receipts` SQLite
|
|
55
|
+
table, and the agent can save the original file into your external
|
|
36
56
|
Obsidian vault on request.
|
|
37
57
|
|
|
38
|
-
##
|
|
58
|
+
## How Detection Works
|
|
59
|
+
|
|
60
|
+
The Gmail observer scans travel-booking emails for PDF / image
|
|
61
|
+
attachments and retains other generic documents it finds. Each detected
|
|
62
|
+
attachment inserts a row into the `receipts` table, keyed uniquely on
|
|
63
|
+
`(account_id, provider_msg_id, attachment_id)` so re-scans are
|
|
64
|
+
idempotent. Columns:
|
|
39
65
|
|
|
40
|
-
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
- On request, the agent downloads the attachment via
|
|
48
|
-
`POST /api/receipts/:id/download`, writes it into the external
|
|
49
|
-
Obsidian vault under `receipts/YYYY/MM/<merchant>-<date>.<ext>`, and
|
|
50
|
-
patches the row's `obsidian_path` / `saved_at` columns.
|
|
66
|
+
- `category` — `document` or `travel` (nullable until classified)
|
|
67
|
+
- `provider_msg_id`, `attachment_id`, `account_id` — locate the source
|
|
68
|
+
attachment in the unified mail registry
|
|
69
|
+
- `filename`, `mime_type`, `size_bytes` — attachment metadata
|
|
70
|
+
- `obsidian_path`, `saved_at` — `NULL` until you save the file to your
|
|
71
|
+
vault (see below)
|
|
72
|
+
- `id`, `created_at` — row identity and detection time
|
|
51
73
|
|
|
52
74
|
There is no Markdown context file for receipts; the durable record is
|
|
53
75
|
the SQLite row plus the optional Obsidian copy.
|
|
54
76
|
|
|
77
|
+
## Saving a Receipt to Your Vault
|
|
78
|
+
|
|
79
|
+
Saving is a two-step flow — the download endpoint never writes to the
|
|
80
|
+
vault by itself:
|
|
81
|
+
|
|
82
|
+
1. The agent downloads the original bytes via
|
|
83
|
+
`POST /api/receipts/:id/download`, which streams the raw attachment
|
|
84
|
+
(resolved through the mail registry by `account_id`; oversized files
|
|
85
|
+
over 100 MB and orphaned rows with a null `account_id` are rejected).
|
|
86
|
+
2. The agent writes the file into your **external** Obsidian vault — not
|
|
87
|
+
the primary management vault — under the convention
|
|
88
|
+
`receipts/YYYY/MM/<merchant>-<date>.<ext>` (e.g.
|
|
89
|
+
`receipts/2026/04/amazon-2026-04-12.pdf`), then records that path
|
|
90
|
+
with `PATCH /api/receipts/:id` (body `{"obsidianPath": "..."}`),
|
|
91
|
+
which also stamps `saved_at`.
|
|
92
|
+
|
|
93
|
+
To reclassify a receipt, the agent PATCHes `{"category": "travel"}`
|
|
94
|
+
(or `"document"`).
|
|
95
|
+
|
|
55
96
|
## Where in the Dashboard
|
|
56
97
|
|
|
57
98
|
There is no dedicated tab today. Receipts surface inline when you ask
|
|
58
|
-
for them in chat (e.g. "what receipts haven't I saved yet?").
|
|
59
|
-
|
|
99
|
+
for them in chat (e.g. "what receipts haven't I saved yet?"). List and
|
|
100
|
+
filter them with `GET /api/receipts` (`category`, `saved`, `limit`
|
|
101
|
+
params) and pull totals from `GET /api/receipts/summary`. The full API
|
|
102
|
+
is documented in
|
|
103
|
+
`agent-assets/skills/gmail-lifestyle/references/receipts-api.md`
|
|
104
|
+
(loaded by the `gmail-lifestyle` skill).
|
|
60
105
|
|
|
61
106
|
## Configuration
|
|
62
107
|
|
|
63
|
-
|
|
64
|
-
[Mail](../integrations/mail.md). The
|
|
65
|
-
|
|
108
|
+
Detection runs as part of the Gmail observer; see
|
|
109
|
+
[Mail](../integrations/mail.md). The save target follows the external
|
|
110
|
+
vault convention `receipts/YYYY/MM/<merchant>-<date>.<ext>`.
|
|
66
111
|
|
|
67
112
|
## Related
|
|
68
113
|
|
|
@@ -3,42 +3,119 @@ schema_version: 1
|
|
|
3
3
|
slug: features/lifestyle/travel-bookings
|
|
4
4
|
title: Travel Bookings
|
|
5
5
|
id: travel-bookings
|
|
6
|
+
aliases:
|
|
7
|
+
- travel
|
|
8
|
+
- bookings
|
|
9
|
+
- flights
|
|
10
|
+
- hotels
|
|
11
|
+
- trains
|
|
6
12
|
category: features
|
|
7
13
|
summary: |
|
|
8
|
-
A
|
|
9
|
-
numbers
|
|
14
|
+
A log of trips, flights, hotels, restaurants, and confirmation
|
|
15
|
+
numbers that the agent builds automatically from booking-confirmation
|
|
16
|
+
emails. The morning routine surfaces upcoming travel.
|
|
10
17
|
section: lifestyle
|
|
11
18
|
tags:
|
|
12
19
|
- lifestyle
|
|
13
20
|
- travel
|
|
21
|
+
- mail
|
|
22
|
+
- integrations
|
|
14
23
|
status: stable
|
|
15
24
|
ask_examples:
|
|
16
|
-
- How
|
|
25
|
+
- How does the agent track my flights and hotels?
|
|
17
26
|
- Will the agent remind me about my upcoming trip?
|
|
27
|
+
- Where are my travel bookings stored?
|
|
18
28
|
locale: en-US
|
|
19
29
|
created: 2026-04-25
|
|
20
|
-
updated: 2026-
|
|
30
|
+
updated: 2026-05-28
|
|
31
|
+
keywords:
|
|
32
|
+
- flight
|
|
33
|
+
- hotel
|
|
34
|
+
- booking
|
|
35
|
+
- trip
|
|
36
|
+
- itinerary
|
|
37
|
+
- trains
|
|
38
|
+
- restaurants
|
|
39
|
+
- confirmation number
|
|
21
40
|
related:
|
|
22
|
-
- features/
|
|
41
|
+
- features/integrations/mail
|
|
42
|
+
- features/lifestyle/receipts
|
|
43
|
+
- features/routines/morning-routine
|
|
44
|
+
api_endpoints:
|
|
45
|
+
- /api/travel-bookings
|
|
46
|
+
- /api/travel-bookings/upcoming
|
|
47
|
+
process_keys:
|
|
48
|
+
- gmail_classify
|
|
49
|
+
- routine.morning_routine
|
|
50
|
+
ui_anchors:
|
|
51
|
+
- /trip
|
|
23
52
|
---
|
|
24
53
|
|
|
25
54
|
# Travel Bookings
|
|
26
55
|
|
|
27
56
|
## In One Sentence
|
|
28
57
|
|
|
29
|
-
A trip log the agent
|
|
30
|
-
|
|
58
|
+
A trip log the agent builds automatically from booking-confirmation
|
|
59
|
+
emails, surfaced by the morning routine on travel days.
|
|
31
60
|
|
|
32
61
|
## What It Does
|
|
33
62
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
63
|
+
The mail observer watches your connected mail accounts for booking
|
|
64
|
+
confirmations from airlines, hotels, online travel agencies, restaurant
|
|
65
|
+
reservation platforms, and rail/bus services. When a message is
|
|
66
|
+
classified as travel, the daemon extracts the details and stores a row
|
|
67
|
+
in the `travel_bookings` SQLite table:
|
|
68
|
+
|
|
69
|
+
- **Type** — `flight`, `hotel`, `restaurant`, `train`, `bus`, or `other`.
|
|
70
|
+
- **Provider** — e.g. the airline or hotel chain.
|
|
71
|
+
- **Dates** — `start_date` and (where present) `end_date`.
|
|
72
|
+
- **Confirmation number**, **amount**, and **currency**.
|
|
73
|
+
|
|
74
|
+
Each booking is keyed by its source message, so re-reading the same
|
|
75
|
+
confirmation email never creates a duplicate row.
|
|
76
|
+
|
|
77
|
+
## How Bookings Get Created
|
|
78
|
+
|
|
79
|
+
Bookings are extracted from email only — there is no manual "log a
|
|
80
|
+
flight" command or DM shortcut. To start capturing travel, connect a
|
|
81
|
+
mail account (see [Mail](features/integrations/mail)) and let the
|
|
82
|
+
classifier do the rest. The flow is:
|
|
83
|
+
|
|
84
|
+
1. The mail poller fetches new messages.
|
|
85
|
+
2. The classifier (`gmail_classify`, lite tier) tags travel
|
|
86
|
+
confirmations.
|
|
87
|
+
3. The daemon parses the booking and inserts it into `travel_bookings`.
|
|
88
|
+
|
|
89
|
+
## Where Bookings Surface
|
|
90
|
+
|
|
91
|
+
- **Morning routine.** On travel days the morning routine
|
|
92
|
+
(`routine.morning_routine`) surfaces upcoming trips in your briefing.
|
|
93
|
+
A booking with a `start_date` within roughly the last 30 days (or in
|
|
94
|
+
the future) keeps the travel-aware briefing helpers active.
|
|
95
|
+
- **Trip page.** The dashboard `/trip` page is the eventual home for an
|
|
96
|
+
itinerary timeline view. It is a placeholder while that view is built
|
|
97
|
+
— the underlying data already lives in the database and is reachable
|
|
98
|
+
via the API below.
|
|
99
|
+
|
|
100
|
+
## API
|
|
101
|
+
|
|
102
|
+
Read-only and status-update access (read endpoints are autonomous; the
|
|
103
|
+
PATCH endpoint follows the standard write-safety tier):
|
|
37
104
|
|
|
38
|
-
|
|
105
|
+
```bash
|
|
106
|
+
# All bookings (optionally filter by type/status/date range)
|
|
107
|
+
curl -s "http://localhost:8321/api/travel-bookings?type=flight&limit=20"
|
|
39
108
|
|
|
40
|
-
|
|
109
|
+
# Upcoming only, sorted by start date
|
|
110
|
+
curl -s "http://localhost:8321/api/travel-bookings/upcoming?limit=10"
|
|
41
111
|
|
|
42
|
-
|
|
112
|
+
# Mark a booking completed
|
|
113
|
+
curl -s -X PATCH "http://localhost:8321/api/travel-bookings/1" \
|
|
114
|
+
-H "Content-Type: application/json" \
|
|
115
|
+
-d '{"status": "completed"}'
|
|
116
|
+
```
|
|
43
117
|
|
|
44
|
-
|
|
118
|
+
Filters on `GET /api/travel-bookings`: `type`
|
|
119
|
+
(`flight|hotel|restaurant|train|bus|other`), `status`
|
|
120
|
+
(`upcoming|completed|cancelled|all`), `from` / `to` (ISO date on
|
|
121
|
+
`start_date`), and `limit` (1–200, default 50).
|