@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
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: browser-task
|
|
3
|
+
description: Hand open-ended browser requests (post a tweet, fill a contact form, check an order status, …) to /api/browser-task. Relay sub-agent clarifications, POST /clarify with the reply, /cancel on stop.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Bash(curl *)
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Browser Task — open-ended browser ops from DM
|
|
9
|
+
|
|
10
|
+
A scoped sub-agent drives Aitne's managed Chromium turn-by-turn from a
|
|
11
|
+
natural-language description. **It runs as a detached background process
|
|
12
|
+
with its own budget — the daemon DMs the user directly when it finishes,
|
|
13
|
+
needs input, or fails.** You are NOT in that delivery path. Your job is
|
|
14
|
+
the front bookend only: collect intent, POST it, acknowledge in one line,
|
|
15
|
+
and **end your turn**. The Playwright work is invisible to you.
|
|
16
|
+
|
|
17
|
+
This is NOT the surface for managed-Chromium status, per-site sign-in,
|
|
18
|
+
B-4 purchase tokens, or workflow approvals — those live under
|
|
19
|
+
`/api/browser-history/managed/*`, `/api/browser-automation/sites/*`, and
|
|
20
|
+
`/api/browser-automation/purchase/*`.
|
|
21
|
+
|
|
22
|
+
## Hard rules
|
|
23
|
+
|
|
24
|
+
1. **Localhost only.** `http://127.0.0.1:8321/api/browser-task/*`.
|
|
25
|
+
2. **POST, ack, end the turn. NEVER poll for completion.** After a
|
|
26
|
+
successful POST, reply once ("Started — I'll report back when it's
|
|
27
|
+
done.") and stop. Do not GET `/:id` in a loop waiting for `completed`,
|
|
28
|
+
do not "wait and check", do not re-issue. Ending your turn has zero
|
|
29
|
+
effect on the detached task — it keeps running and the daemon DMs the
|
|
30
|
+
user the result (`✅ Browser task — report`) or, on any
|
|
31
|
+
failure/cancel/timeout, `🟦 Browser task <id> ended: <state>`. A
|
|
32
|
+
status GET is allowed ONLY as a single read answering an explicit user
|
|
33
|
+
question (see "On-demand status"). Polling re-processes the whole DM
|
|
34
|
+
history every loop and burns your per-turn budget for nothing.
|
|
35
|
+
3. **Never echo the `!~xxxxxxxx` final-confirm token.** The daemon DMs it
|
|
36
|
+
directly when the sub-agent trips the final-confirm gate. The user
|
|
37
|
+
types it back themselves; the runner consumes the reply. Do not read,
|
|
38
|
+
log, paraphrase, or relay the token. If the user asks "what was that
|
|
39
|
+
code?", point them at the original DM with the screenshot — that DM is
|
|
40
|
+
the only authoritative source.
|
|
41
|
+
4. **Never invent `clarificationId` / `taskId`.** Both are uuid v4 minted
|
|
42
|
+
by the daemon; read from GET responses.
|
|
43
|
+
5. **Do not pre-decline based on the URL or site.** Open navigation is
|
|
44
|
+
the default — the sub-agent decides where to go and the daemon enforces
|
|
45
|
+
a user-curated hostname denylist plus the payment-path block at
|
|
46
|
+
navigation time. POST the description as the user asked.
|
|
47
|
+
6. **One task per request.** "Post a tweet AND subscribe …" → two POSTs.
|
|
48
|
+
|
|
49
|
+
## Endpoints
|
|
50
|
+
|
|
51
|
+
| Method | Path | Purpose |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| POST | `/api/browser-task` | Create + dispatch, or schedule for later. |
|
|
54
|
+
| GET | `/api/browser-task?state=...` | List (filter on `state`). |
|
|
55
|
+
| GET | `/api/browser-task/:id` | Detail — state, action log, clarifications. |
|
|
56
|
+
| POST | `/api/browser-task/:id/clarify` | Answer the open clarification. |
|
|
57
|
+
| POST | `/api/browser-task/:id/cancel` | Force-stop a task. |
|
|
58
|
+
|
|
59
|
+
## POST — composing a request
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
curl --silent --fail -X POST -H 'Content-Type: application/json' \
|
|
63
|
+
-d '{"description":"Post \"Hello world\" to twitter.com"}' \
|
|
64
|
+
http://127.0.0.1:8321/api/browser-task
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Body:
|
|
68
|
+
|
|
69
|
+
- `description` (1..4096) — one sentence stating the **end state**, not a
|
|
70
|
+
step recipe. Name the site in plain language when it matters ("post to
|
|
71
|
+
X", "check my hitachi.com order status"); the sub-agent decides where to
|
|
72
|
+
navigate. There is no `siteKey` or `extraAllowedHosts` field — the API
|
|
73
|
+
dropped both on 2026-05-27 (open navigation). Legacy callers passing
|
|
74
|
+
them are silently ignored, not rejected.
|
|
75
|
+
- `scheduleAt` (ISO 8601) — defer to later; respects quiet hours.
|
|
76
|
+
Response is `{ status:"scheduled", scheduledFor, scheduleRowId }`.
|
|
77
|
+
- `requireFinalConfirm` (default `true`) — keep `true` unless the user
|
|
78
|
+
explicitly asks to skip the gate for a reversible flow.
|
|
79
|
+
|
|
80
|
+
Immediate response carries `taskId`, `status`, and `queueState`. **Then
|
|
81
|
+
acknowledge once and end the turn.** If `queueState.waitingForSlot ===
|
|
82
|
+
true`, the global cap is full — say so once ("queued behind N task(s);
|
|
83
|
+
I'll start it when a slot opens") and still end the turn. The daemon DMs
|
|
84
|
+
the user when it promotes, and again when it finishes.
|
|
85
|
+
|
|
86
|
+
## Relaying a clarification — `awaiting_user`
|
|
87
|
+
|
|
88
|
+
The sub-agent may DM the user a question + screenshot via the originating
|
|
89
|
+
channel. **The daemon authors that DM; you do not, and you do not poll for
|
|
90
|
+
it to appear.** You act only when the user comes back with an answer:
|
|
91
|
+
|
|
92
|
+
1. `GET /api/browser-task?state=awaiting_user` — find the parked task.
|
|
93
|
+
Usually one; if several, match topic or ask which.
|
|
94
|
+
2. `GET /api/browser-task/<taskId>` — read the open `clarifications` row
|
|
95
|
+
(`resolved:0`) for `clarificationId`.
|
|
96
|
+
3. `POST /api/browser-task/<taskId>/clarify` with `{clarificationId,
|
|
97
|
+
answer}` (user reply verbatim), then ack briefly and end the turn —
|
|
98
|
+
the runner resumes on its own.
|
|
99
|
+
|
|
100
|
+
Status codes — handle each, don't retry blindly:
|
|
101
|
+
|
|
102
|
+
- `200` — recorded; runner resumes. Brief ack ("Got it, resuming.").
|
|
103
|
+
- `400 validation_error` — `clarificationId` not a uuid or `answer` empty
|
|
104
|
+
/ >8192 chars. Re-read with GET and re-send.
|
|
105
|
+
- `409 not_awaiting_user` — window closed (carries `currentState`). Tell
|
|
106
|
+
the user the verbatim state; offer re-issue if relevant.
|
|
107
|
+
- `410 expired` — clarification deadline passed; the runner transitions
|
|
108
|
+
the task to `abandoned` on the next scanner tick. Apologise.
|
|
109
|
+
- `404 not_found` — your state is stale; re-read with GET first.
|
|
110
|
+
|
|
111
|
+
## On-demand status — only when the user asks
|
|
112
|
+
|
|
113
|
+
If (and only if) the user explicitly asks how a task is going, do a
|
|
114
|
+
**single** read and summarize — never a loop. `GET
|
|
115
|
+
/api/browser-task?state=running,awaiting_user,pending` (or a `taskId` the
|
|
116
|
+
user names), then `GET /api/browser-task/<taskId>` and report `state`, the
|
|
117
|
+
last `actionLog` entry, and `queueState` if pending. States:
|
|
118
|
+
|
|
119
|
+
- `pending` — queued (see `queueState`); `running` — sub-agent acting.
|
|
120
|
+
- `awaiting_user` — relay via the `/clarify` round-trip above.
|
|
121
|
+
- `final_confirm` — gated on a `!~xxxxxxxx` token. The daemon DMs the
|
|
122
|
+
screenshot + token and consumes the user's reply **before you see it**.
|
|
123
|
+
Do nothing; if the user pings you, point them at that DM.
|
|
124
|
+
- `completed` — the daemon already DMed the full `✅ Browser task —
|
|
125
|
+
report`. Don't re-post; if asked "what did it find?", quote the
|
|
126
|
+
`report` field verbatim (don't paraphrase).
|
|
127
|
+
- `failed` / `timeout` / `cancelled` / `abandoned` — terminal; the daemon
|
|
128
|
+
already DMed `🟦 Browser task <id> ended: <state>`. `outcome_detail`
|
|
129
|
+
carries the reason (`queue_timeout`, `daemon_restarted`,
|
|
130
|
+
`backend_unavailable`, `tool_loop_detected`, `ask_user_without_yield`,
|
|
131
|
+
`blocked_request_spike`, `budget_exceeded`, `max_turns_exceeded`,
|
|
132
|
+
`runner_unavailable`, …).
|
|
133
|
+
|
|
134
|
+
## Force-stop — "stop" / "cancel" / "abort" / "止めて"
|
|
135
|
+
|
|
136
|
+
When the user signals stop, find the task (same identification path as
|
|
137
|
+
status), then `POST /api/browser-task/<taskId>/cancel` with optional
|
|
138
|
+
`{"reason":"user_cancel"}`. The daemon aborts the in-flight sub-agent,
|
|
139
|
+
tears down the Chromium context, and writes the terminal state.
|
|
140
|
+
|
|
141
|
+
- `200` — accepted; `row.state` carries the post-cancel state (often
|
|
142
|
+
`cancelled`, but a `running` task may briefly stay non-terminal until
|
|
143
|
+
the SDK loop unwinds — re-read with GET if asked).
|
|
144
|
+
- `404 not_found` — stale `taskId`; re-read with GET.
|
|
145
|
+
- `409 already_terminal` (carries `currentState`) — too late; report the
|
|
146
|
+
state verbatim.
|
|
147
|
+
|
|
148
|
+
Do NOT cancel without a clear signal; "wait" is NOT a cancel.
|
|
149
|
+
|
|
150
|
+
## Navigation is open
|
|
151
|
+
|
|
152
|
+
There is no positive allowlist or registered-site table. Whatever URL the
|
|
153
|
+
sub-agent navigates to passes three runtime layers: (1) the user-curated
|
|
154
|
+
hostname denylist (Dashboard → Settings → Browser; a hit returns
|
|
155
|
+
`blockedByAllowlist: true` — legacy field name), (2) the hardcoded
|
|
156
|
+
payment-path block (purchases live in `/api/browser-automation/purchase/*`
|
|
157
|
+
with the B-4 token), (3) the network IP CIDR fence (RFC1918, loopback,
|
|
158
|
+
`169.254.x.x`, IPv6 ULA). If the sub-agent reports `blockedByAllowlist` /
|
|
159
|
+
`blockedByPaymentPath`, quote the reason verbatim and point the user at
|
|
160
|
+
`/settings/browser` if a denylist entry is the cause. **Never decline on
|
|
161
|
+
the user's behalf before POSTing — that's the user's call.**
|
|
162
|
+
|
|
163
|
+
## Scheduling — `scheduleAt` ≠ the `schedule` skill
|
|
164
|
+
|
|
165
|
+
For "do X at <time>" use `scheduleAt` in this POST — NOT `/api/schedule`.
|
|
166
|
+
The browser-task surface owns its own `agent_schedule` row
|
|
167
|
+
(`task_type:"browser_task"`). The `schedule` skill is the right tool only
|
|
168
|
+
when the user wants to list / modify / cancel pending schedules (which
|
|
169
|
+
surface scheduled browser tasks alongside other rows).
|