@sleepy-ai/cli 0.1.6 → 0.1.7
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/{src/skill/compose/LICENSE-superpowers → LICENSE} +3 -6
- package/README.md +139 -6
- package/package.json +35 -199
- package/postinstall.mjs +102 -0
- package/.sleepycode-test-fixtures-50158/sleepycode-test-eqsxv84ythu/.watcher-b67v64k2mnv +0 -1
- package/Dockerfile +0 -18
- package/drizzle.config.ts +0 -10
- package/git +0 -0
- package/migration/20260127222353_familiar_lady_ursula/migration.sql +0 -90
- package/migration/20260127222353_familiar_lady_ursula/snapshot.json +0 -796
- package/migration/20260211171708_add_project_commands/migration.sql +0 -1
- package/migration/20260211171708_add_project_commands/snapshot.json +0 -806
- package/migration/20260213144116_wakeful_the_professor/migration.sql +0 -11
- package/migration/20260213144116_wakeful_the_professor/snapshot.json +0 -897
- package/migration/20260225215848_workspace/migration.sql +0 -7
- package/migration/20260225215848_workspace/snapshot.json +0 -959
- package/migration/20260227213759_add_session_workspace_id/migration.sql +0 -2
- package/migration/20260227213759_add_session_workspace_id/snapshot.json +0 -983
- package/migration/20260228203230_blue_harpoon/migration.sql +0 -17
- package/migration/20260228203230_blue_harpoon/snapshot.json +0 -1102
- package/migration/20260303231226_add_workspace_fields/migration.sql +0 -5
- package/migration/20260303231226_add_workspace_fields/snapshot.json +0 -1013
- package/migration/20260309230000_move_org_to_state/migration.sql +0 -3
- package/migration/20260309230000_move_org_to_state/snapshot.json +0 -1156
- package/migration/20260312043431_session_message_cursor/migration.sql +0 -4
- package/migration/20260312043431_session_message_cursor/snapshot.json +0 -1168
- package/migration/20260323234822_events/migration.sql +0 -13
- package/migration/20260323234822_events/snapshot.json +0 -1271
- package/migration/20260410174513_workspace-name/migration.sql +0 -16
- package/migration/20260410174513_workspace-name/snapshot.json +0 -1271
- package/migration/20260413175956_chief_energizer/migration.sql +0 -13
- package/migration/20260413175956_chief_energizer/snapshot.json +0 -1399
- package/migration/20260422160000_context_inheritance/migration.sql +0 -3
- package/migration/20260422170000_task_registry/migration.sql +0 -18
- package/migration/20260423145421_remove_session_entry/migration.sql +0 -4
- package/migration/20260515000000_actor_rename/migration.sql +0 -7
- package/migration/20260515010000_memory_fts/migration.sql +0 -33
- package/migration/20260515020000_user_task/migration.sql +0 -29
- package/migration/20260519000000_last_checkpoint_message_id/migration.sql +0 -1
- package/migration/20260521000000_message_agent_id/migration.sql +0 -2
- package/migration/20260521000100_actor_registry_v6/migration.sql +0 -25
- package/migration/20260521010000_memory_fts_v6/migration.sql +0 -33
- package/migration/20260521020000_memory_fts_triggers/migration.sql +0 -17
- package/migration/20260526000000_agent_id_main/migration.sql +0 -14
- package/migration/20260527000000_actor_lifecycle/migration.sql +0 -8
- package/migration/20260527000100_inbox/migration.sql +0 -12
- package/migration/20260529000000_task_todo_redesign/migration.sql +0 -16
- package/migration/20260603000000_task_in_progress_owner/migration.sql +0 -1
- package/migration/20260603000000_workflow_run/migration.sql +0 -17
- package/migration/20260604000000_workflow_script_sha/migration.sql +0 -1
- package/migration/20260608000000_claude_import/migration.sql +0 -7
- package/migration/20260608010000_claude_import_message_ids/migration.sql +0 -1
- package/migration/20260609000000_history_fts/migration.sql +0 -29
- package/migration/20260609230000_workflow_agent_timeout/migration.sql +0 -1
- package/migration/20260612000000_external_import/migration.sql +0 -16
- package/parsers-config.ts +0 -290
- package/src/account/account.sql.ts +0 -39
- package/src/account/account.ts +0 -456
- package/src/account/repo.ts +0 -166
- package/src/account/schema.ts +0 -99
- package/src/account/url.ts +0 -8
- package/src/acp/README.md +0 -174
- package/src/acp/agent.ts +0 -1787
- package/src/acp/session.ts +0 -116
- package/src/acp/types.ts +0 -24
- package/src/actor/actor.sql.ts +0 -38
- package/src/actor/events.ts +0 -67
- package/src/actor/index.ts +0 -2
- package/src/actor/registry.ts +0 -412
- package/src/actor/return-header.ts +0 -24
- package/src/actor/schema.ts +0 -47
- package/src/actor/spawn-ref.ts +0 -16
- package/src/actor/spawn.ts +0 -756
- package/src/actor/turn.ts +0 -49
- package/src/actor/waiter.ts +0 -166
- package/src/agent/agent.ts +0 -574
- package/src/agent/config.ts +0 -5
- package/src/agent/generate.txt +0 -75
- package/src/agent/prompt/checkpoint-writer.txt +0 -167
- package/src/agent/prompt/compaction.txt +0 -9
- package/src/agent/prompt/distill.txt +0 -199
- package/src/agent/prompt/dream.txt +0 -155
- package/src/agent/prompt/explore.txt +0 -18
- package/src/agent/prompt/summary.txt +0 -11
- package/src/agent/prompt/title.txt +0 -44
- package/src/audio.d.ts +0 -9
- package/src/auth/index.ts +0 -97
- package/src/bus/bus-event.ts +0 -33
- package/src/bus/global.ts +0 -12
- package/src/bus/index.ts +0 -193
- package/src/cli/bootstrap.ts +0 -33
- package/src/cli/cmd/account.ts +0 -258
- package/src/cli/cmd/acp.ts +0 -70
- package/src/cli/cmd/agent.ts +0 -248
- package/src/cli/cmd/cmd.ts +0 -7
- package/src/cli/cmd/db.ts +0 -120
- package/src/cli/cmd/debug/agent.ts +0 -192
- package/src/cli/cmd/debug/config.ts +0 -17
- package/src/cli/cmd/debug/file.ts +0 -100
- package/src/cli/cmd/debug/index.ts +0 -48
- package/src/cli/cmd/debug/lsp.ts +0 -61
- package/src/cli/cmd/debug/ripgrep.ts +0 -105
- package/src/cli/cmd/debug/scrap.ts +0 -16
- package/src/cli/cmd/debug/skill.ts +0 -23
- package/src/cli/cmd/debug/snapshot.ts +0 -53
- package/src/cli/cmd/doctor.ts +0 -116
- package/src/cli/cmd/export.ts +0 -306
- package/src/cli/cmd/generate.ts +0 -50
- package/src/cli/cmd/github.ts +0 -1647
- package/src/cli/cmd/import.ts +0 -208
- package/src/cli/cmd/init.ts +0 -97
- package/src/cli/cmd/login.ts +0 -402
- package/src/cli/cmd/mcp.ts +0 -812
- package/src/cli/cmd/models.ts +0 -88
- package/src/cli/cmd/plug.ts +0 -233
- package/src/cli/cmd/pr.ts +0 -138
- package/src/cli/cmd/providers.ts +0 -713
- package/src/cli/cmd/run-completion.ts +0 -77
- package/src/cli/cmd/run.ts +0 -694
- package/src/cli/cmd/serve.ts +0 -30
- package/src/cli/cmd/session.ts +0 -181
- package/src/cli/cmd/stats.ts +0 -413
- package/src/cli/cmd/tui/app.tsx +0 -1181
- package/src/cli/cmd/tui/asset/TEN_VAD_LICENSE +0 -12
- package/src/cli/cmd/tui/asset/charge.wav +0 -0
- package/src/cli/cmd/tui/asset/pulse-a.wav +0 -0
- package/src/cli/cmd/tui/asset/pulse-b.wav +0 -0
- package/src/cli/cmd/tui/asset/pulse-c.wav +0 -0
- package/src/cli/cmd/tui/asset/ten_vad.wasm +0 -0
- package/src/cli/cmd/tui/asset/ten_vad_loader.js +0 -30
- package/src/cli/cmd/tui/attach.ts +0 -84
- package/src/cli/cmd/tui/component/background-image.tsx +0 -150
- package/src/cli/cmd/tui/component/banner-session-expired.tsx +0 -48
- package/src/cli/cmd/tui/component/bg-pulse.tsx +0 -130
- package/src/cli/cmd/tui/component/border.tsx +0 -21
- package/src/cli/cmd/tui/component/dialog-agent.tsx +0 -31
- package/src/cli/cmd/tui/component/dialog-agreement.tsx +0 -111
- package/src/cli/cmd/tui/component/dialog-command.tsx +0 -219
- package/src/cli/cmd/tui/component/dialog-console-org.tsx +0 -103
- package/src/cli/cmd/tui/component/dialog-go-upsell.tsx +0 -157
- package/src/cli/cmd/tui/component/dialog-image-list.tsx +0 -111
- package/src/cli/cmd/tui/component/dialog-logo-design.tsx +0 -37
- package/src/cli/cmd/tui/component/dialog-mcp.tsx +0 -86
- package/src/cli/cmd/tui/component/dialog-model.tsx +0 -299
- package/src/cli/cmd/tui/component/dialog-provider.tsx +0 -449
- package/src/cli/cmd/tui/component/dialog-session-delete-failed.tsx +0 -101
- package/src/cli/cmd/tui/component/dialog-session-list.tsx +0 -269
- package/src/cli/cmd/tui/component/dialog-session-rename.tsx +0 -31
- package/src/cli/cmd/tui/component/dialog-skill.tsx +0 -42
- package/src/cli/cmd/tui/component/dialog-sleepy-login.tsx +0 -288
- package/src/cli/cmd/tui/component/dialog-stash.tsx +0 -87
- package/src/cli/cmd/tui/component/dialog-status.tsx +0 -170
- package/src/cli/cmd/tui/component/dialog-tag.tsx +0 -44
- package/src/cli/cmd/tui/component/dialog-theme-list.tsx +0 -50
- package/src/cli/cmd/tui/component/dialog-token-plan.tsx +0 -77
- package/src/cli/cmd/tui/component/dialog-variant.tsx +0 -39
- package/src/cli/cmd/tui/component/dialog-workflows.tsx +0 -51
- package/src/cli/cmd/tui/component/dialog-workspace-create.tsx +0 -289
- package/src/cli/cmd/tui/component/dialog-workspace-unavailable.tsx +0 -81
- package/src/cli/cmd/tui/component/dialog-worktree.tsx +0 -90
- package/src/cli/cmd/tui/component/error-component.tsx +0 -92
- package/src/cli/cmd/tui/component/logo.tsx +0 -961
- package/src/cli/cmd/tui/component/plugin-route-missing.tsx +0 -14
- package/src/cli/cmd/tui/component/prompt/autocomplete-detect.ts +0 -34
- package/src/cli/cmd/tui/component/prompt/autocomplete.tsx +0 -668
- package/src/cli/cmd/tui/component/prompt/cwd.ts +0 -0
- package/src/cli/cmd/tui/component/prompt/frecency.tsx +0 -90
- package/src/cli/cmd/tui/component/prompt/history.tsx +0 -108
- package/src/cli/cmd/tui/component/prompt/index.tsx +0 -1869
- package/src/cli/cmd/tui/component/prompt/offset.ts +0 -45
- package/src/cli/cmd/tui/component/prompt/part.ts +0 -36
- package/src/cli/cmd/tui/component/prompt/stash.tsx +0 -101
- package/src/cli/cmd/tui/component/spinner.tsx +0 -24
- package/src/cli/cmd/tui/component/starry-background.tsx +0 -305
- package/src/cli/cmd/tui/component/startup-loading.tsx +0 -67
- package/src/cli/cmd/tui/component/task-item.tsx +0 -63
- package/src/cli/cmd/tui/component/textarea-keybindings.ts +0 -73
- package/src/cli/cmd/tui/component/todo-item.tsx +0 -32
- package/src/cli/cmd/tui/component/workflow-tree.tsx +0 -177
- package/src/cli/cmd/tui/config/cwd.ts +0 -5
- package/src/cli/cmd/tui/config/tui-migrate.ts +0 -151
- package/src/cli/cmd/tui/config/tui-schema.ts +0 -38
- package/src/cli/cmd/tui/config/tui.ts +0 -219
- package/src/cli/cmd/tui/context/args.tsx +0 -16
- package/src/cli/cmd/tui/context/directory.ts +0 -15
- package/src/cli/cmd/tui/context/event.ts +0 -45
- package/src/cli/cmd/tui/context/exit.tsx +0 -65
- package/src/cli/cmd/tui/context/helper.tsx +0 -25
- package/src/cli/cmd/tui/context/keybind.tsx +0 -105
- package/src/cli/cmd/tui/context/kv.tsx +0 -86
- package/src/cli/cmd/tui/context/language.tsx +0 -91
- package/src/cli/cmd/tui/context/local.tsx +0 -469
- package/src/cli/cmd/tui/context/plugin-keybinds.ts +0 -41
- package/src/cli/cmd/tui/context/project.tsx +0 -109
- package/src/cli/cmd/tui/context/prompt.tsx +0 -18
- package/src/cli/cmd/tui/context/route.tsx +0 -68
- package/src/cli/cmd/tui/context/sdk.tsx +0 -150
- package/src/cli/cmd/tui/context/sync.tsx +0 -884
- package/src/cli/cmd/tui/context/theme/aura.json +0 -69
- package/src/cli/cmd/tui/context/theme/ayu.json +0 -80
- package/src/cli/cmd/tui/context/theme/carbonfox.json +0 -248
- package/src/cli/cmd/tui/context/theme/catppuccin-frappe.json +0 -230
- package/src/cli/cmd/tui/context/theme/catppuccin-macchiato.json +0 -230
- package/src/cli/cmd/tui/context/theme/catppuccin.json +0 -112
- package/src/cli/cmd/tui/context/theme/cobalt2.json +0 -225
- package/src/cli/cmd/tui/context/theme/cursor.json +0 -249
- package/src/cli/cmd/tui/context/theme/dracula.json +0 -219
- package/src/cli/cmd/tui/context/theme/everforest.json +0 -241
- package/src/cli/cmd/tui/context/theme/flexoki.json +0 -237
- package/src/cli/cmd/tui/context/theme/github.json +0 -233
- package/src/cli/cmd/tui/context/theme/gruvbox.json +0 -242
- package/src/cli/cmd/tui/context/theme/kanagawa.json +0 -77
- package/src/cli/cmd/tui/context/theme/lucent-orng.json +0 -234
- package/src/cli/cmd/tui/context/theme/material.json +0 -235
- package/src/cli/cmd/tui/context/theme/matrix.json +0 -77
- package/src/cli/cmd/tui/context/theme/mercury.json +0 -252
- package/src/cli/cmd/tui/context/theme/monokai.json +0 -221
- package/src/cli/cmd/tui/context/theme/nightowl.json +0 -221
- package/src/cli/cmd/tui/context/theme/nord.json +0 -223
- package/src/cli/cmd/tui/context/theme/one-dark.json +0 -84
- package/src/cli/cmd/tui/context/theme/orng.json +0 -249
- package/src/cli/cmd/tui/context/theme/osaka-jade.json +0 -93
- package/src/cli/cmd/tui/context/theme/palenight.json +0 -222
- package/src/cli/cmd/tui/context/theme/rosepine.json +0 -234
- package/src/cli/cmd/tui/context/theme/sleepycode.json +0 -245
- package/src/cli/cmd/tui/context/theme/solarized.json +0 -223
- package/src/cli/cmd/tui/context/theme/synthwave84.json +0 -226
- package/src/cli/cmd/tui/context/theme/tokyonight.json +0 -243
- package/src/cli/cmd/tui/context/theme/vercel.json +0 -245
- package/src/cli/cmd/tui/context/theme/vesper.json +0 -218
- package/src/cli/cmd/tui/context/theme/zenburn.json +0 -223
- package/src/cli/cmd/tui/context/theme.tsx +0 -1298
- package/src/cli/cmd/tui/context/thinking.ts +0 -48
- package/src/cli/cmd/tui/context/tui-config.tsx +0 -9
- package/src/cli/cmd/tui/event.ts +0 -62
- package/src/cli/cmd/tui/feature-plugins/home/footer.tsx +0 -93
- package/src/cli/cmd/tui/feature-plugins/home/tips-view.tsx +0 -193
- package/src/cli/cmd/tui/feature-plugins/home/tips.tsx +0 -54
- package/src/cli/cmd/tui/feature-plugins/sidebar/context.tsx +0 -267
- package/src/cli/cmd/tui/feature-plugins/sidebar/cwd.tsx +0 -45
- package/src/cli/cmd/tui/feature-plugins/sidebar/files.tsx +0 -62
- package/src/cli/cmd/tui/feature-plugins/sidebar/footer.tsx +0 -93
- package/src/cli/cmd/tui/feature-plugins/sidebar/goal.tsx +0 -84
- package/src/cli/cmd/tui/feature-plugins/sidebar/instructions.tsx +0 -54
- package/src/cli/cmd/tui/feature-plugins/sidebar/lsp.tsx +0 -66
- package/src/cli/cmd/tui/feature-plugins/sidebar/mascot.tsx +0 -69
- package/src/cli/cmd/tui/feature-plugins/sidebar/mcp.tsx +0 -98
- package/src/cli/cmd/tui/feature-plugins/sidebar/task.tsx +0 -95
- package/src/cli/cmd/tui/feature-plugins/sidebar/todo.tsx +0 -51
- package/src/cli/cmd/tui/feature-plugins/sidebar/tps.ts +0 -31
- package/src/cli/cmd/tui/feature-plugins/system/plugins.tsx +0 -274
- package/src/cli/cmd/tui/i18n/en.ts +0 -465
- package/src/cli/cmd/tui/i18n/es.ts +0 -508
- package/src/cli/cmd/tui/i18n/fr.ts +0 -515
- package/src/cli/cmd/tui/i18n/ja.ts +0 -463
- package/src/cli/cmd/tui/i18n/locales.ts +0 -82
- package/src/cli/cmd/tui/i18n/ru.ts +0 -527
- package/src/cli/cmd/tui/i18n/slash-command.ts +0 -11
- package/src/cli/cmd/tui/i18n/zh.ts +0 -454
- package/src/cli/cmd/tui/i18n/zht.ts +0 -430
- package/src/cli/cmd/tui/layer.ts +0 -6
- package/src/cli/cmd/tui/plugin/api.tsx +0 -402
- package/src/cli/cmd/tui/plugin/index.ts +0 -3
- package/src/cli/cmd/tui/plugin/internal.ts +0 -37
- package/src/cli/cmd/tui/plugin/runtime.ts +0 -1057
- package/src/cli/cmd/tui/plugin/slots.tsx +0 -60
- package/src/cli/cmd/tui/routes/home.tsx +0 -165
- package/src/cli/cmd/tui/routes/session/dialog-fork-from-timeline.tsx +0 -76
- package/src/cli/cmd/tui/routes/session/dialog-message.tsx +0 -116
- package/src/cli/cmd/tui/routes/session/dialog-subagent.tsx +0 -47
- package/src/cli/cmd/tui/routes/session/dialog-timeline.tsx +0 -47
- package/src/cli/cmd/tui/routes/session/footer.tsx +0 -91
- package/src/cli/cmd/tui/routes/session/index.tsx +0 -3073
- package/src/cli/cmd/tui/routes/session/permission.tsx +0 -697
- package/src/cli/cmd/tui/routes/session/question.tsx +0 -488
- package/src/cli/cmd/tui/routes/session/sidebar.tsx +0 -97
- package/src/cli/cmd/tui/routes/session/subagent-footer.tsx +0 -143
- package/src/cli/cmd/tui/thread.ts +0 -324
- package/src/cli/cmd/tui/ui/dialog-alert.tsx +0 -61
- package/src/cli/cmd/tui/ui/dialog-confirm.tsx +0 -95
- package/src/cli/cmd/tui/ui/dialog-export-options.tsx +0 -223
- package/src/cli/cmd/tui/ui/dialog-help.tsx +0 -42
- package/src/cli/cmd/tui/ui/dialog-prompt.tsx +0 -123
- package/src/cli/cmd/tui/ui/dialog-select.tsx +0 -467
- package/src/cli/cmd/tui/ui/dialog.tsx +0 -207
- package/src/cli/cmd/tui/ui/link.tsx +0 -28
- package/src/cli/cmd/tui/ui/spinner.ts +0 -378
- package/src/cli/cmd/tui/ui/toast.tsx +0 -102
- package/src/cli/cmd/tui/util/clipboard.ts +0 -203
- package/src/cli/cmd/tui/util/editor.ts +0 -36
- package/src/cli/cmd/tui/util/image-protocol.ts +0 -35
- package/src/cli/cmd/tui/util/index.ts +0 -6
- package/src/cli/cmd/tui/util/model.ts +0 -23
- package/src/cli/cmd/tui/util/pinyin.ts +0 -20
- package/src/cli/cmd/tui/util/provider-origin.ts +0 -7
- package/src/cli/cmd/tui/util/revert-diff.ts +0 -18
- package/src/cli/cmd/tui/util/scroll.ts +0 -23
- package/src/cli/cmd/tui/util/selection.ts +0 -23
- package/src/cli/cmd/tui/util/signal.ts +0 -41
- package/src/cli/cmd/tui/util/sound.ts +0 -154
- package/src/cli/cmd/tui/util/system-locale.ts +0 -209
- package/src/cli/cmd/tui/util/terminal.ts +0 -110
- package/src/cli/cmd/tui/util/transcript.ts +0 -112
- package/src/cli/cmd/tui/util/vad.ts +0 -229
- package/src/cli/cmd/tui/util/voice.ts +0 -450
- package/src/cli/cmd/tui/win32.ts +0 -130
- package/src/cli/cmd/tui/worker.ts +0 -104
- package/src/cli/cmd/uninstall.ts +0 -351
- package/src/cli/cmd/upgrade.ts +0 -79
- package/src/cli/cmd/web.ts +0 -96
- package/src/cli/effect/prompt.ts +0 -25
- package/src/cli/error.ts +0 -82
- package/src/cli/heap.ts +0 -59
- package/src/cli/i18n.ts +0 -15
- package/src/cli/logo.ts +0 -53
- package/src/cli/network.ts +0 -68
- package/src/cli/ui.ts +0 -133
- package/src/cli/upgrade.ts +0 -41
- package/src/command/index.ts +0 -276
- package/src/command/template/initialize.txt +0 -66
- package/src/command/template/review.txt +0 -101
- package/src/config/agent.ts +0 -197
- package/src/config/command.ts +0 -69
- package/src/config/compose.ts +0 -26
- package/src/config/config.ts +0 -1047
- package/src/config/console-state.ts +0 -16
- package/src/config/entry-name.ts +0 -16
- package/src/config/error.ts +0 -21
- package/src/config/formatter.ts +0 -17
- package/src/config/history.ts +0 -21
- package/src/config/index.ts +0 -17
- package/src/config/keybinds.ts +0 -127
- package/src/config/layout.ts +0 -10
- package/src/config/lsp.ts +0 -45
- package/src/config/managed.ts +0 -70
- package/src/config/markdown.ts +0 -97
- package/src/config/mcp.ts +0 -172
- package/src/config/model-id.ts +0 -14
- package/src/config/parse.ts +0 -44
- package/src/config/paths.ts +0 -85
- package/src/config/permission.ts +0 -76
- package/src/config/plugin.ts +0 -88
- package/src/config/provider.ts +0 -118
- package/src/config/server.ts +0 -20
- package/src/config/skills.ts +0 -16
- package/src/config/variable.ts +0 -90
- package/src/control-plane/adaptors/index.ts +0 -52
- package/src/control-plane/adaptors/worktree.ts +0 -47
- package/src/control-plane/dev/debug-workspace-plugin.ts +0 -73
- package/src/control-plane/schema.ts +0 -19
- package/src/control-plane/sse.ts +0 -66
- package/src/control-plane/types.ts +0 -34
- package/src/control-plane/util.ts +0 -37
- package/src/control-plane/workspace-context.ts +0 -26
- package/src/control-plane/workspace.sql.ts +0 -17
- package/src/control-plane/workspace.ts +0 -615
- package/src/effect/app-runtime.ts +0 -146
- package/src/effect/bootstrap-runtime.ts +0 -33
- package/src/effect/bridge.ts +0 -48
- package/src/effect/cross-spawn-spawner.ts +0 -514
- package/src/effect/index.ts +0 -5
- package/src/effect/instance-ref.ts +0 -11
- package/src/effect/instance-registry.ts +0 -12
- package/src/effect/instance-state.ts +0 -81
- package/src/effect/logger.ts +0 -73
- package/src/effect/memo-map.ts +0 -3
- package/src/effect/observability.ts +0 -107
- package/src/effect/run-service.ts +0 -52
- package/src/effect/runner.ts +0 -210
- package/src/effect/runtime.ts +0 -19
- package/src/env/index.ts +0 -37
- package/src/file/ignore.ts +0 -81
- package/src/file/index.ts +0 -664
- package/src/file/protected.ts +0 -59
- package/src/file/ripgrep.ts +0 -485
- package/src/file/watcher.ts +0 -163
- package/src/flag/flag.ts +0 -185
- package/src/format/formatter.ts +0 -403
- package/src/format/index.ts +0 -203
- package/src/git/index.ts +0 -260
- package/src/global/index.ts +0 -54
- package/src/history/backfill.ts +0 -162
- package/src/history/extract.ts +0 -67
- package/src/history/fts-query.ts +0 -15
- package/src/history/fts.sql.ts +0 -20
- package/src/history/index.ts +0 -10
- package/src/history/resolve.ts +0 -65
- package/src/history/service.ts +0 -258
- package/src/history/writer.ts +0 -112
- package/src/id/id.ts +0 -87
- package/src/ide/index.ts +0 -73
- package/src/inbox/inbox-ref.ts +0 -38
- package/src/inbox/inbox.sql.ts +0 -26
- package/src/inbox/inbox.ts +0 -223
- package/src/inbox/index.ts +0 -3
- package/src/inbox/render.ts +0 -40
- package/src/index.ts +0 -268
- package/src/installation/index.ts +0 -362
- package/src/installation/version.ts +0 -8
- package/src/lsp/client.ts +0 -249
- package/src/lsp/diagnostic.ts +0 -29
- package/src/lsp/index.ts +0 -3
- package/src/lsp/language.ts +0 -120
- package/src/lsp/launch.ts +0 -21
- package/src/lsp/lsp.ts +0 -519
- package/src/lsp/server.ts +0 -1956
- package/src/mcp/auth.ts +0 -144
- package/src/mcp/index.ts +0 -939
- package/src/mcp/oauth-callback.ts +0 -236
- package/src/mcp/oauth-provider.ts +0 -214
- package/src/memory/fts-query.ts +0 -37
- package/src/memory/fts.sql.ts +0 -19
- package/src/memory/index.ts +0 -1
- package/src/memory/paths.ts +0 -116
- package/src/memory/reconcile.ts +0 -144
- package/src/memory/service.ts +0 -144
- package/src/metrics/client.ts +0 -40
- package/src/metrics/event.ts +0 -43
- package/src/metrics/index.ts +0 -5
- package/src/metrics/installation.ts +0 -18
- package/src/metrics/subscriber.ts +0 -58
- package/src/metrics/util.ts +0 -9
- package/src/node.ts +0 -6
- package/src/npm/config.ts +0 -0
- package/src/npm/index.ts +0 -293
- package/src/npmcli-config.d.ts +0 -43
- package/src/patch/index.ts +0 -680
- package/src/permission/arity.ts +0 -163
- package/src/permission/evaluate.ts +0 -15
- package/src/permission/index.ts +0 -382
- package/src/permission/schema.ts +0 -17
- package/src/plugin/checkpoint-splitover.ts +0 -60
- package/src/plugin/cloudflare.ts +0 -76
- package/src/plugin/codex.ts +0 -611
- package/src/plugin/github-copilot/copilot.ts +0 -368
- package/src/plugin/github-copilot/models.ts +0 -153
- package/src/plugin/index.ts +0 -637
- package/src/plugin/install.ts +0 -439
- package/src/plugin/loader.ts +0 -216
- package/src/plugin/matcher.ts +0 -33
- package/src/plugin/meta.ts +0 -188
- package/src/plugin/shared.ts +0 -323
- package/src/plugin/sleepy.ts +0 -244
- package/src/plugin/subagent-progress-checker.ts +0 -147
- package/src/project/bootstrap.ts +0 -59
- package/src/project/index.ts +0 -2
- package/src/project/instance.ts +0 -215
- package/src/project/project-id.ts +0 -48
- package/src/project/project.sql.ts +0 -16
- package/src/project/project.ts +0 -522
- package/src/project/schema.ts +0 -15
- package/src/project/vcs.ts +0 -227
- package/src/project/workspace-trust.ts +0 -67
- package/src/provider/auth.ts +0 -234
- package/src/provider/error.ts +0 -216
- package/src/provider/index.ts +0 -5
- package/src/provider/models-snapshot.d.ts +0 -2
- package/src/provider/models-snapshot.js +0 -3
- package/src/provider/models.ts +0 -180
- package/src/provider/provider.ts +0 -2098
- package/src/provider/schema.ts +0 -36
- package/src/provider/sdk/copilot/README.md +0 -5
- package/src/provider/sdk/copilot/chat/convert-to-openai-compatible-chat-messages.ts +0 -170
- package/src/provider/sdk/copilot/chat/get-response-metadata.ts +0 -15
- package/src/provider/sdk/copilot/chat/map-openai-compatible-finish-reason.ts +0 -19
- package/src/provider/sdk/copilot/chat/openai-compatible-api-types.ts +0 -64
- package/src/provider/sdk/copilot/chat/openai-compatible-chat-language-model.ts +0 -815
- package/src/provider/sdk/copilot/chat/openai-compatible-chat-options.ts +0 -28
- package/src/provider/sdk/copilot/chat/openai-compatible-metadata-extractor.ts +0 -44
- package/src/provider/sdk/copilot/chat/openai-compatible-prepare-tools.ts +0 -83
- package/src/provider/sdk/copilot/copilot-provider.ts +0 -100
- package/src/provider/sdk/copilot/index.ts +0 -2
- package/src/provider/sdk/copilot/openai-compatible-error.ts +0 -27
- package/src/provider/sdk/copilot/responses/convert-to-openai-responses-input.ts +0 -335
- package/src/provider/sdk/copilot/responses/map-openai-responses-finish-reason.ts +0 -22
- package/src/provider/sdk/copilot/responses/openai-config.ts +0 -18
- package/src/provider/sdk/copilot/responses/openai-error.ts +0 -22
- package/src/provider/sdk/copilot/responses/openai-responses-api-types.ts +0 -214
- package/src/provider/sdk/copilot/responses/openai-responses-language-model.ts +0 -1770
- package/src/provider/sdk/copilot/responses/openai-responses-prepare-tools.ts +0 -173
- package/src/provider/sdk/copilot/responses/openai-responses-settings.ts +0 -1
- package/src/provider/sdk/copilot/responses/tool/code-interpreter.ts +0 -87
- package/src/provider/sdk/copilot/responses/tool/file-search.ts +0 -127
- package/src/provider/sdk/copilot/responses/tool/image-generation.ts +0 -114
- package/src/provider/sdk/copilot/responses/tool/local-shell.ts +0 -64
- package/src/provider/sdk/copilot/responses/tool/web-search-preview.ts +0 -103
- package/src/provider/sdk/copilot/responses/tool/web-search.ts +0 -102
- package/src/provider/session-check.ts +0 -163
- package/src/provider/transform.ts +0 -1376
- package/src/pty/index.ts +0 -364
- package/src/pty/pty.bun.ts +0 -26
- package/src/pty/pty.node.ts +0 -27
- package/src/pty/pty.ts +0 -25
- package/src/pty/schema.ts +0 -17
- package/src/question/index.ts +0 -252
- package/src/question/schema.ts +0 -17
- package/src/server/adapter.bun.ts +0 -40
- package/src/server/adapter.node.ts +0 -66
- package/src/server/adapter.ts +0 -21
- package/src/server/auth.ts +0 -16
- package/src/server/error.ts +0 -53
- package/src/server/event.ts +0 -7
- package/src/server/fence.ts +0 -81
- package/src/server/mdns.ts +0 -60
- package/src/server/middleware.ts +0 -94
- package/src/server/projectors.ts +0 -28
- package/src/server/proxy.ts +0 -171
- package/src/server/pty-ticket.ts +0 -42
- package/src/server/rate-limit.ts +0 -38
- package/src/server/routes/control/index.ts +0 -160
- package/src/server/routes/control/workspace.ts +0 -203
- package/src/server/routes/global.ts +0 -367
- package/src/server/routes/instance/bash-interactive.ts +0 -82
- package/src/server/routes/instance/config.ts +0 -89
- package/src/server/routes/instance/event.ts +0 -108
- package/src/server/routes/instance/experimental.ts +0 -408
- package/src/server/routes/instance/file.ts +0 -190
- package/src/server/routes/instance/httpapi/config.ts +0 -51
- package/src/server/routes/instance/httpapi/permission.ts +0 -72
- package/src/server/routes/instance/httpapi/project.ts +0 -62
- package/src/server/routes/instance/httpapi/provider.ts +0 -142
- package/src/server/routes/instance/httpapi/question.ts +0 -121
- package/src/server/routes/instance/httpapi/server.ts +0 -153
- package/src/server/routes/instance/index.ts +0 -301
- package/src/server/routes/instance/mcp.ts +0 -260
- package/src/server/routes/instance/middleware.ts +0 -44
- package/src/server/routes/instance/permission.ts +0 -73
- package/src/server/routes/instance/project.ts +0 -122
- package/src/server/routes/instance/provider.ts +0 -158
- package/src/server/routes/instance/pty.ts +0 -302
- package/src/server/routes/instance/question.ts +0 -162
- package/src/server/routes/instance/session.ts +0 -1328
- package/src/server/routes/instance/sync.ts +0 -143
- package/src/server/routes/instance/trace.ts +0 -59
- package/src/server/routes/instance/tui.ts +0 -384
- package/src/server/routes/instance/workflows.ts +0 -142
- package/src/server/routes/ui.ts +0 -37
- package/src/server/server.ts +0 -146
- package/src/server/workspace.ts +0 -122
- package/src/session/auto-dream.ts +0 -123
- package/src/session/boundary.ts +0 -77
- package/src/session/budgeted-read.ts +0 -118
- package/src/session/checkpoint-align.ts +0 -29
- package/src/session/checkpoint-context.ts +0 -36
- package/src/session/checkpoint-paths.ts +0 -86
- package/src/session/checkpoint-progress-reconcile.ts +0 -111
- package/src/session/checkpoint-retry.ts +0 -192
- package/src/session/checkpoint-templates.ts +0 -114
- package/src/session/checkpoint-validator.ts +0 -259
- package/src/session/checkpoint.ts +0 -1560
- package/src/session/classify.ts +0 -117
- package/src/session/claude-import.ts +0 -381
- package/src/session/codex-import.ts +0 -416
- package/src/session/compaction.ts +0 -545
- package/src/session/external-import.sql.ts +0 -18
- package/src/session/external-import.ts +0 -136
- package/src/session/goal.ts +0 -232
- package/src/session/index.ts +0 -1
- package/src/session/instruction.ts +0 -276
- package/src/session/last-message-info.ts +0 -32
- package/src/session/llm-request-prefix.ts +0 -82
- package/src/session/llm.ts +0 -737
- package/src/session/max-mode.ts +0 -410
- package/src/session/message-v2.ts +0 -1138
- package/src/session/message.ts +0 -191
- package/src/session/opencode-import.ts +0 -281
- package/src/session/overflow.ts +0 -53
- package/src/session/prefix-capture-ref.ts +0 -48
- package/src/session/processor.ts +0 -983
- package/src/session/projectors.ts +0 -137
- package/src/session/prompt/anthropic.txt +0 -154
- package/src/session/prompt/beast.txt +0 -155
- package/src/session/prompt/build-switch.txt +0 -5
- package/src/session/prompt/codex.txt +0 -79
- package/src/session/prompt/compose.txt +0 -119
- package/src/session/prompt/copilot-gpt-5.txt +0 -143
- package/src/session/prompt/deepseek.txt +0 -131
- package/src/session/prompt/default.old.txt +0 -151
- package/src/session/prompt/default.txt +0 -172
- package/src/session/prompt/gemini.txt +0 -155
- package/src/session/prompt/glm.txt +0 -51
- package/src/session/prompt/gpt.txt +0 -107
- package/src/session/prompt/kimi.txt +0 -95
- package/src/session/prompt/max-steps.txt +0 -16
- package/src/session/prompt/minimax.txt +0 -140
- package/src/session/prompt/text-loop-recovery.ts +0 -40
- package/src/session/prompt/text-ngram-detection.ts +0 -87
- package/src/session/prompt/trinity.txt +0 -97
- package/src/session/prompt.ts +0 -3878
- package/src/session/prune.ts +0 -481
- package/src/session/retry.ts +0 -178
- package/src/session/revert.ts +0 -161
- package/src/session/run-state.ts +0 -135
- package/src/session/schema.ts +0 -36
- package/src/session/session.sql.ts +0 -110
- package/src/session/session.ts +0 -908
- package/src/session/status.ts +0 -89
- package/src/session/summary.ts +0 -163
- package/src/session/system.ts +0 -96
- package/src/session/todo.ts +0 -77
- package/src/session/trajectory.ts +0 -98
- package/src/share/index.ts +0 -2
- package/src/share/session.ts +0 -57
- package/src/share/share-next.ts +0 -381
- package/src/share/share.sql.ts +0 -13
- package/src/shell/shell.ts +0 -124
- package/src/skill/builtin/.bundle/self-extend/SKILL.md +0 -131
- package/src/skill/builtin/.bundle/self-extend/reference/hook-api.md +0 -242
- package/src/skill/builtin/.bundle/self-extend/reference/skill-api.md +0 -114
- package/src/skill/builtin/.bundle/self-extend/reference/tool-api.md +0 -115
- package/src/skill/builtin/.bundle/self-extend/reference/tui-api.md +0 -258
- package/src/skill/builtin/bundle.macro.ts +0 -30
- package/src/skill/builtin/extract.ts +0 -41
- package/src/skill/compose/.bundle/ask/SKILL.md +0 -58
- package/src/skill/compose/.bundle/brainstorm/SKILL.md +0 -200
- package/src/skill/compose/.bundle/brainstorm/scripts/frame-template.html +0 -214
- package/src/skill/compose/.bundle/brainstorm/scripts/helper.js +0 -88
- package/src/skill/compose/.bundle/brainstorm/scripts/server.cjs +0 -354
- package/src/skill/compose/.bundle/brainstorm/scripts/start-server.sh +0 -148
- package/src/skill/compose/.bundle/brainstorm/scripts/stop-server.sh +0 -56
- package/src/skill/compose/.bundle/brainstorm/spec-document-reviewer-prompt.md +0 -50
- package/src/skill/compose/.bundle/brainstorm/visual-companion.md +0 -258
- package/src/skill/compose/.bundle/debug/CREATION-LOG.md +0 -119
- package/src/skill/compose/.bundle/debug/SKILL.md +0 -297
- package/src/skill/compose/.bundle/debug/condition-based-waiting-example.ts +0 -158
- package/src/skill/compose/.bundle/debug/condition-based-waiting.md +0 -106
- package/src/skill/compose/.bundle/debug/defense-in-depth.md +0 -122
- package/src/skill/compose/.bundle/debug/find-polluter.sh +0 -63
- package/src/skill/compose/.bundle/debug/root-cause-tracing.md +0 -144
- package/src/skill/compose/.bundle/debug/test-academic.md +0 -14
- package/src/skill/compose/.bundle/debug/test-pressure-1.md +0 -58
- package/src/skill/compose/.bundle/debug/test-pressure-2.md +0 -68
- package/src/skill/compose/.bundle/debug/test-pressure-3.md +0 -69
- package/src/skill/compose/.bundle/execute/SKILL.md +0 -71
- package/src/skill/compose/.bundle/feedback/SKILL.md +0 -214
- package/src/skill/compose/.bundle/merge/SKILL.md +0 -252
- package/src/skill/compose/.bundle/new-skill/SKILL.md +0 -211
- package/src/skill/compose/.bundle/parallel/SKILL.md +0 -168
- package/src/skill/compose/.bundle/plan/SKILL.md +0 -183
- package/src/skill/compose/.bundle/plan/plan-document-reviewer-prompt.md +0 -50
- package/src/skill/compose/.bundle/report/SKILL.md +0 -180
- package/src/skill/compose/.bundle/review/SKILL.md +0 -104
- package/src/skill/compose/.bundle/review/code-reviewer.md +0 -178
- package/src/skill/compose/.bundle/subagent/SKILL.md +0 -325
- package/src/skill/compose/.bundle/subagent/code-quality-reviewer-prompt.md +0 -26
- package/src/skill/compose/.bundle/subagent/implementer-prompt.md +0 -128
- package/src/skill/compose/.bundle/subagent/spec-reviewer-prompt.md +0 -118
- package/src/skill/compose/.bundle/tdd/SKILL.md +0 -360
- package/src/skill/compose/.bundle/tdd/testing-anti-patterns.md +0 -299
- package/src/skill/compose/.bundle/verify/SKILL.md +0 -140
- package/src/skill/compose/.bundle/worktree/SKILL.md +0 -234
- package/src/skill/compose/LICENSE-karpathy +0 -28
- package/src/skill/compose/bundle.macro.ts +0 -30
- package/src/skill/compose/extract.ts +0 -85
- package/src/skill/discovery.ts +0 -114
- package/src/skill/index.ts +0 -328
- package/src/snapshot/index.ts +0 -777
- package/src/sql.d.ts +0 -4
- package/src/storage/db.bun.ts +0 -8
- package/src/storage/db.node.ts +0 -8
- package/src/storage/db.ts +0 -172
- package/src/storage/index.ts +0 -26
- package/src/storage/json-migration.ts +0 -426
- package/src/storage/read-sqlite.bun.ts +0 -11
- package/src/storage/read-sqlite.node.ts +0 -13
- package/src/storage/read-sqlite.ts +0 -10
- package/src/storage/schema.sql.ts +0 -10
- package/src/storage/schema.ts +0 -7
- package/src/storage/storage.ts +0 -331
- package/src/sync/README.md +0 -179
- package/src/sync/event.sql.ts +0 -16
- package/src/sync/index.ts +0 -278
- package/src/sync/schema.ts +0 -14
- package/src/task/events.ts +0 -28
- package/src/task/gate-state.ts +0 -54
- package/src/task/gate.ts +0 -116
- package/src/task/index.ts +0 -1
- package/src/task/registry.ts +0 -394
- package/src/task/schema.ts +0 -43
- package/src/task/task.sql.ts +0 -50
- package/src/team/events.ts +0 -22
- package/src/team/index.ts +0 -113
- package/src/team/schema.ts +0 -31
- package/src/temporary.ts +0 -33
- package/src/tool/actor.shell.txt +0 -72
- package/src/tool/actor.ts +0 -804
- package/src/tool/actor.txt +0 -103
- package/src/tool/apply_patch.ts +0 -308
- package/src/tool/apply_patch.txt +0 -33
- package/src/tool/bash-interactive.ts +0 -183
- package/src/tool/bash.ts +0 -704
- package/src/tool/bash.txt +0 -123
- package/src/tool/change-directory.ts +0 -91
- package/src/tool/codesearch.ts +0 -63
- package/src/tool/codesearch.txt +0 -12
- package/src/tool/edit.ts +0 -693
- package/src/tool/edit.txt +0 -10
- package/src/tool/external-directory.ts +0 -132
- package/src/tool/glob.ts +0 -100
- package/src/tool/glob.txt +0 -6
- package/src/tool/grep.ts +0 -145
- package/src/tool/grep.txt +0 -8
- package/src/tool/history.ts +0 -146
- package/src/tool/history.txt +0 -17
- package/src/tool/index.ts +0 -4
- package/src/tool/invalid.ts +0 -20
- package/src/tool/invocation-style.ts +0 -17
- package/src/tool/lsp.ts +0 -91
- package/src/tool/lsp.txt +0 -19
- package/src/tool/mcp-exa.ts +0 -78
- package/src/tool/memory-path-guard.ts +0 -162
- package/src/tool/memory.ts +0 -81
- package/src/tool/memory.txt +0 -69
- package/src/tool/multiedit.ts +0 -54
- package/src/tool/multiedit.txt +0 -41
- package/src/tool/notebook-edit.ts +0 -225
- package/src/tool/notebook-edit.txt +0 -10
- package/src/tool/plan-enter.txt +0 -16
- package/src/tool/plan-exit.txt +0 -14
- package/src/tool/plan.ts +0 -179
- package/src/tool/question.ts +0 -67
- package/src/tool/question.txt +0 -10
- package/src/tool/read-state.ts +0 -44
- package/src/tool/read.ts +0 -327
- package/src/tool/read.txt +0 -14
- package/src/tool/recoverable.ts +0 -35
- package/src/tool/registry.ts +0 -429
- package/src/tool/schema.ts +0 -17
- package/src/tool/session-cwd.ts +0 -35
- package/src/tool/shell-tokenize.ts +0 -374
- package/src/tool/shell-wrap.ts +0 -235
- package/src/tool/skill.ts +0 -76
- package/src/tool/skill.txt +0 -5
- package/src/tool/task.shell.txt +0 -57
- package/src/tool/task.ts +0 -456
- package/src/tool/task.txt +0 -56
- package/src/tool/tool.ts +0 -166
- package/src/tool/truncate.ts +0 -201
- package/src/tool/truncation-dir.ts +0 -4
- package/src/tool/webfetch.ts +0 -208
- package/src/tool/webfetch.txt +0 -13
- package/src/tool/websearch/index.ts +0 -104
- package/src/tool/websearch/sleepy.ts +0 -118
- package/src/tool/websearch/websearch.txt +0 -14
- package/src/tool/workflow.ts +0 -357
- package/src/tool/workflow.txt +0 -25
- package/src/tool/write.ts +0 -88
- package/src/tool/write.txt +0 -10
- package/src/util/abort.ts +0 -35
- package/src/util/archive.ts +0 -15
- package/src/util/color.ts +0 -17
- package/src/util/data-url.ts +0 -9
- package/src/util/defer.ts +0 -10
- package/src/util/effect-http-client.ts +0 -11
- package/src/util/effect-zod.ts +0 -367
- package/src/util/env-info.ts +0 -62
- package/src/util/error.ts +0 -78
- package/src/util/filesystem.ts +0 -243
- package/src/util/fn.ts +0 -21
- package/src/util/format.ts +0 -20
- package/src/util/iife.ts +0 -3
- package/src/util/index.ts +0 -14
- package/src/util/keybind.ts +0 -101
- package/src/util/lazy.ts +0 -18
- package/src/util/local-context.ts +0 -23
- package/src/util/locale.ts +0 -79
- package/src/util/lock.ts +0 -96
- package/src/util/log.ts +0 -234
- package/src/util/media.ts +0 -26
- package/src/util/network.ts +0 -9
- package/src/util/process.ts +0 -174
- package/src/util/provider-priority.ts +0 -48
- package/src/util/queue.ts +0 -60
- package/src/util/record.ts +0 -3
- package/src/util/rpc.ts +0 -64
- package/src/util/schema.ts +0 -53
- package/src/util/scrap.ts +0 -10
- package/src/util/signal.ts +0 -12
- package/src/util/sleepy-process.ts +0 -24
- package/src/util/ssrf.ts +0 -116
- package/src/util/timeout.ts +0 -14
- package/src/util/token.ts +0 -5
- package/src/util/tool-compat.ts +0 -144
- package/src/util/update-schema.ts +0 -13
- package/src/util/which.ts +0 -14
- package/src/util/wildcard.ts +0 -57
- package/src/workflow/builtin/compose.js +0 -749
- package/src/workflow/builtin/deep-research.js +0 -398
- package/src/workflow/builtin.ts +0 -59
- package/src/workflow/events.ts +0 -72
- package/src/workflow/meta.ts +0 -335
- package/src/workflow/persistence.ts +0 -312
- package/src/workflow/resolve.ts +0 -45
- package/src/workflow/runtime-ref.ts +0 -18
- package/src/workflow/runtime.ts +0 -1447
- package/src/workflow/sandbox.ts +0 -286
- package/src/workflow/workflow.sql.ts +0 -31
- package/src/workflow/workspace.ts +0 -69
- package/src/worktree/index.ts +0 -629
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Schema } from "effect"
|
|
2
|
-
import { zod } from "@/util/effect-zod"
|
|
3
|
-
|
|
4
|
-
export class ConsoleState extends Schema.Class<ConsoleState>("ConsoleState")({
|
|
5
|
-
consoleManagedProviders: Schema.mutable(Schema.Array(Schema.String)),
|
|
6
|
-
activeOrgName: Schema.optional(Schema.String),
|
|
7
|
-
switchableOrgCount: Schema.Number,
|
|
8
|
-
}) {
|
|
9
|
-
static readonly zod = zod(this)
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export const emptyConsoleState: ConsoleState = ConsoleState.make({
|
|
13
|
-
consoleManagedProviders: [],
|
|
14
|
-
activeOrgName: undefined,
|
|
15
|
-
switchableOrgCount: 0,
|
|
16
|
-
})
|
package/src/config/entry-name.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import path from "path"
|
|
2
|
-
|
|
3
|
-
function sliceAfterMatch(filePath: string, searchRoots: string[]) {
|
|
4
|
-
const normalizedPath = filePath.replaceAll("\\", "/")
|
|
5
|
-
for (const searchRoot of searchRoots) {
|
|
6
|
-
const index = normalizedPath.indexOf(searchRoot)
|
|
7
|
-
if (index === -1) continue
|
|
8
|
-
return normalizedPath.slice(index + searchRoot.length)
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export function configEntryNameFromPath(filePath: string, searchRoots: string[]) {
|
|
13
|
-
const candidate = sliceAfterMatch(filePath, searchRoots) ?? path.basename(filePath)
|
|
14
|
-
const ext = path.extname(candidate)
|
|
15
|
-
return ext.length ? candidate.slice(0, -ext.length) : candidate
|
|
16
|
-
}
|
package/src/config/error.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export * as ConfigError from "./error"
|
|
2
|
-
|
|
3
|
-
import z from "zod"
|
|
4
|
-
import { NamedError } from "@sleepy-ai/shared/util/error"
|
|
5
|
-
|
|
6
|
-
export const JsonError = NamedError.create(
|
|
7
|
-
"ConfigJsonError",
|
|
8
|
-
z.object({
|
|
9
|
-
path: z.string(),
|
|
10
|
-
message: z.string().optional(),
|
|
11
|
-
}),
|
|
12
|
-
)
|
|
13
|
-
|
|
14
|
-
export const InvalidError = NamedError.create(
|
|
15
|
-
"ConfigInvalidError",
|
|
16
|
-
z.object({
|
|
17
|
-
path: z.string(),
|
|
18
|
-
issues: z.custom<z.core.$ZodIssue[]>().optional(),
|
|
19
|
-
message: z.string().optional(),
|
|
20
|
-
}),
|
|
21
|
-
)
|
package/src/config/formatter.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export * as ConfigFormatter from "./formatter"
|
|
2
|
-
|
|
3
|
-
import { Schema } from "effect"
|
|
4
|
-
import { zod } from "@/util/effect-zod"
|
|
5
|
-
import { withStatics } from "@/util/schema"
|
|
6
|
-
|
|
7
|
-
export const Entry = Schema.Struct({
|
|
8
|
-
disabled: Schema.optional(Schema.Boolean),
|
|
9
|
-
command: Schema.optional(Schema.mutable(Schema.Array(Schema.String))),
|
|
10
|
-
environment: Schema.optional(Schema.Record(Schema.String, Schema.String)),
|
|
11
|
-
extensions: Schema.optional(Schema.mutable(Schema.Array(Schema.String))),
|
|
12
|
-
}).pipe(withStatics((s) => ({ zod: zod(s) })))
|
|
13
|
-
|
|
14
|
-
export const Info = Schema.Union([Schema.Boolean, Schema.Record(Schema.String, Entry)]).pipe(
|
|
15
|
-
withStatics((s) => ({ zod: zod(s) })),
|
|
16
|
-
)
|
|
17
|
-
export type Info = Schema.Schema.Type<typeof Info>
|
package/src/config/history.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export * as ConfigHistory from "./history"
|
|
2
|
-
|
|
3
|
-
import { Schema } from "effect"
|
|
4
|
-
|
|
5
|
-
export const Kind = Schema.Literals([
|
|
6
|
-
"user_text",
|
|
7
|
-
"assistant_text",
|
|
8
|
-
"tool_input",
|
|
9
|
-
"tool_error",
|
|
10
|
-
"reasoning",
|
|
11
|
-
"tool_output",
|
|
12
|
-
])
|
|
13
|
-
|
|
14
|
-
export const Info = Schema.Struct({
|
|
15
|
-
kinds: Schema.optional(Schema.Array(Kind)).annotate({
|
|
16
|
-
description:
|
|
17
|
-
"Which part kinds the history FTS index should cover. Defaults to text (user/assistant) + tool input + tool errors. Add 'reasoning' or 'tool_output' to grow recall at the cost of database size. Note: enabling 'tool_output' reclassifies completed tools from kind='tool_input' to kind='tool_output' (input remains searchable in the body, but kind:['tool_input'] filter will then only match pending/error tools).",
|
|
18
|
-
}),
|
|
19
|
-
})
|
|
20
|
-
|
|
21
|
-
export type Info = Schema.Schema.Type<typeof Info>
|
package/src/config/index.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export * as Config from "./config"
|
|
2
|
-
export * as ConfigAgent from "./agent"
|
|
3
|
-
export * as ConfigCommand from "./command"
|
|
4
|
-
export * as ConfigCompose from "./compose"
|
|
5
|
-
export * as ConfigError from "./error"
|
|
6
|
-
export * as ConfigFormatter from "./formatter"
|
|
7
|
-
export * as ConfigLSP from "./lsp"
|
|
8
|
-
export * as ConfigVariable from "./variable"
|
|
9
|
-
export { ConfigManaged } from "./managed"
|
|
10
|
-
export * as ConfigMarkdown from "./markdown"
|
|
11
|
-
export * as ConfigMCP from "./mcp"
|
|
12
|
-
export { ConfigModelID } from "./model-id"
|
|
13
|
-
export * as ConfigParse from "./parse"
|
|
14
|
-
export * as ConfigPermission from "./permission"
|
|
15
|
-
export * as ConfigPaths from "./paths"
|
|
16
|
-
export * as ConfigProvider from "./provider"
|
|
17
|
-
export * as ConfigSkills from "./skills"
|
package/src/config/keybinds.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
export * as ConfigKeybinds from "./keybinds"
|
|
2
|
-
|
|
3
|
-
import { Effect, Schema } from "effect"
|
|
4
|
-
import type z from "zod"
|
|
5
|
-
import { zod } from "@/util/effect-zod"
|
|
6
|
-
|
|
7
|
-
// Every keybind field has the same shape: an optional string with a default
|
|
8
|
-
// binding and a human description. `keybind()` keeps the declaration list
|
|
9
|
-
// below dense and readable.
|
|
10
|
-
const keybind = (value: string, description: string) =>
|
|
11
|
-
Schema.String.pipe(Schema.optional, Schema.withDecodingDefault(Effect.succeed(value))).annotate({ description })
|
|
12
|
-
|
|
13
|
-
// Windows prepends ctrl+z to the undo binding because `terminal_suspend`
|
|
14
|
-
// cannot consume ctrl+z on native Windows terminals (no POSIX suspend).
|
|
15
|
-
const inputUndoDefault = process.platform === "win32" ? "ctrl+z,ctrl+-,super+z" : "ctrl+-,super+z"
|
|
16
|
-
|
|
17
|
-
const KeybindsSchema = Schema.Struct({
|
|
18
|
-
leader: keybind("ctrl+x", "Leader key for keybind combinations"),
|
|
19
|
-
app_exit: keybind("ctrl+c,ctrl+d,<leader>q", "Exit the application"),
|
|
20
|
-
editor_open: keybind("<leader>e", "Open external editor"),
|
|
21
|
-
theme_list: keybind("<leader>t", "List available themes"),
|
|
22
|
-
sidebar_toggle: keybind("<leader>b", "Toggle sidebar"),
|
|
23
|
-
scrollbar_toggle: keybind("none", "Toggle session scrollbar"),
|
|
24
|
-
username_toggle: keybind("none", "Toggle username visibility"),
|
|
25
|
-
status_view: keybind("<leader>s", "View status"),
|
|
26
|
-
session_export: keybind("<leader>x", "Export session to editor"),
|
|
27
|
-
session_new: keybind("<leader>n", "Create a new session"),
|
|
28
|
-
session_list: keybind("<leader>l", "List all sessions"),
|
|
29
|
-
session_timeline: keybind("<leader>g", "Show session timeline"),
|
|
30
|
-
session_fork: keybind("none", "Fork session from message"),
|
|
31
|
-
session_rename: keybind("ctrl+r", "Rename session"),
|
|
32
|
-
session_delete: keybind("ctrl+d", "Delete session"),
|
|
33
|
-
stash_delete: keybind("ctrl+d", "Delete stash entry"),
|
|
34
|
-
model_provider_list: keybind("ctrl+a", "Open provider list from model dialog"),
|
|
35
|
-
model_favorite_toggle: keybind("ctrl+f", "Toggle model favorite status"),
|
|
36
|
-
session_share: keybind("none", "Share current session"),
|
|
37
|
-
session_unshare: keybind("none", "Unshare current session"),
|
|
38
|
-
session_interrupt: keybind("escape", "Interrupt current session"),
|
|
39
|
-
session_compact: keybind("<leader>c", "Compact the session"),
|
|
40
|
-
messages_page_up: keybind("pageup,ctrl+alt+b", "Scroll messages up by one page"),
|
|
41
|
-
messages_page_down: keybind("pagedown,ctrl+alt+f", "Scroll messages down by one page"),
|
|
42
|
-
messages_line_up: keybind("ctrl+alt+y", "Scroll messages up by one line"),
|
|
43
|
-
messages_line_down: keybind("ctrl+alt+e", "Scroll messages down by one line"),
|
|
44
|
-
messages_half_page_up: keybind("ctrl+alt+u", "Scroll messages up by half page"),
|
|
45
|
-
messages_half_page_down: keybind("ctrl+alt+d", "Scroll messages down by half page"),
|
|
46
|
-
messages_first: keybind("ctrl+g,home", "Navigate to first message"),
|
|
47
|
-
messages_last: keybind("ctrl+alt+g,end", "Navigate to last message"),
|
|
48
|
-
messages_next: keybind("none", "Navigate to next message"),
|
|
49
|
-
messages_previous: keybind("none", "Navigate to previous message"),
|
|
50
|
-
messages_last_user: keybind("none", "Navigate to last user message"),
|
|
51
|
-
messages_copy: keybind("<leader>y", "Copy message"),
|
|
52
|
-
messages_undo: keybind("<leader>u", "Undo message"),
|
|
53
|
-
messages_redo: keybind("<leader>r", "Redo message"),
|
|
54
|
-
messages_toggle_conceal: keybind("<leader>h", "Toggle code block concealment in messages"),
|
|
55
|
-
tool_details: keybind("none", "Toggle tool details visibility"),
|
|
56
|
-
model_list: keybind("<leader>m", "List available models"),
|
|
57
|
-
model_cycle_recent: keybind("f2", "Next recently used model"),
|
|
58
|
-
model_cycle_recent_reverse: keybind("shift+f2", "Previous recently used model"),
|
|
59
|
-
model_cycle_favorite: keybind("none", "Next favorite model"),
|
|
60
|
-
model_cycle_favorite_reverse: keybind("none", "Previous favorite model"),
|
|
61
|
-
command_list: keybind("ctrl+p", "List available commands"),
|
|
62
|
-
agent_list: keybind("<leader>a", "List agents"),
|
|
63
|
-
agent_cycle: keybind("tab", "Next agent"),
|
|
64
|
-
agent_cycle_reverse: keybind("shift+tab", "Previous agent"),
|
|
65
|
-
variant_cycle: keybind("ctrl+t", "Cycle model variants"),
|
|
66
|
-
variant_list: keybind("none", "List model variants"),
|
|
67
|
-
input_clear: keybind("ctrl+c", "Clear input field"),
|
|
68
|
-
input_paste: keybind("super+v,ctrl+v", "Paste from clipboard"),
|
|
69
|
-
input_submit: keybind("return", "Submit input"),
|
|
70
|
-
input_newline: keybind("shift+return,ctrl+return,alt+return,ctrl+j", "Insert newline in input"),
|
|
71
|
-
input_move_left: keybind("left,ctrl+b", "Move cursor left in input"),
|
|
72
|
-
input_move_right: keybind("right,ctrl+f", "Move cursor right in input"),
|
|
73
|
-
input_move_up: keybind("up", "Move cursor up in input"),
|
|
74
|
-
input_move_down: keybind("down", "Move cursor down in input"),
|
|
75
|
-
input_select_left: keybind("shift+left", "Select left in input"),
|
|
76
|
-
input_select_right: keybind("shift+right", "Select right in input"),
|
|
77
|
-
input_select_up: keybind("shift+up", "Select up in input"),
|
|
78
|
-
input_select_down: keybind("shift+down", "Select down in input"),
|
|
79
|
-
input_line_home: keybind("ctrl+a", "Move to start of line in input"),
|
|
80
|
-
input_line_end: keybind("ctrl+e", "Move to end of line in input"),
|
|
81
|
-
input_select_line_home: keybind("ctrl+shift+a", "Select to start of line in input"),
|
|
82
|
-
input_select_line_end: keybind("ctrl+shift+e", "Select to end of line in input"),
|
|
83
|
-
input_visual_line_home: keybind("alt+a", "Move to start of visual line in input"),
|
|
84
|
-
input_visual_line_end: keybind("alt+e", "Move to end of visual line in input"),
|
|
85
|
-
input_select_visual_line_home: keybind("alt+shift+a", "Select to start of visual line in input"),
|
|
86
|
-
input_select_visual_line_end: keybind("alt+shift+e", "Select to end of visual line in input"),
|
|
87
|
-
input_buffer_home: keybind("home", "Move to start of buffer in input"),
|
|
88
|
-
input_buffer_end: keybind("end", "Move to end of buffer in input"),
|
|
89
|
-
input_select_buffer_home: keybind("shift+home", "Select to start of buffer in input"),
|
|
90
|
-
input_select_buffer_end: keybind("shift+end", "Select to end of buffer in input"),
|
|
91
|
-
input_delete_line: keybind("ctrl+shift+d", "Delete line in input"),
|
|
92
|
-
input_delete_to_line_end: keybind("ctrl+k", "Delete to end of line in input"),
|
|
93
|
-
input_delete_to_line_start: keybind("ctrl+u", "Delete to start of line in input"),
|
|
94
|
-
input_backspace: keybind("backspace,shift+backspace", "Backspace in input"),
|
|
95
|
-
input_delete: keybind("ctrl+d,delete,shift+delete", "Delete character in input"),
|
|
96
|
-
input_undo: keybind(inputUndoDefault, "Undo in input"),
|
|
97
|
-
input_redo: keybind("ctrl+.,super+shift+z", "Redo in input"),
|
|
98
|
-
input_word_forward: keybind("alt+f,alt+right,ctrl+right", "Move word forward in input"),
|
|
99
|
-
input_word_backward: keybind("alt+b,alt+left,ctrl+left", "Move word backward in input"),
|
|
100
|
-
input_select_word_forward: keybind("alt+shift+f,alt+shift+right", "Select word forward in input"),
|
|
101
|
-
input_select_word_backward: keybind("alt+shift+b,alt+shift+left", "Select word backward in input"),
|
|
102
|
-
input_delete_word_forward: keybind("alt+d,alt+delete,ctrl+delete", "Delete word forward in input"),
|
|
103
|
-
input_delete_word_backward: keybind("ctrl+w,ctrl+backspace,alt+backspace", "Delete word backward in input"),
|
|
104
|
-
history_previous: keybind("up", "Previous history item"),
|
|
105
|
-
history_next: keybind("down", "Next history item"),
|
|
106
|
-
session_child_first: keybind("<leader>down", "Go to first child session"),
|
|
107
|
-
session_child_cycle: keybind("right", "Go to next child session"),
|
|
108
|
-
session_child_cycle_reverse: keybind("left", "Go to previous child session"),
|
|
109
|
-
session_parent: keybind("up", "Go to parent session"),
|
|
110
|
-
// `terminal_suspend` was formerly `.default("ctrl+z").transform((v) => win32 ? "none" : v)`,
|
|
111
|
-
// but `tui.ts` already forces the binding to "none" on win32 before calling
|
|
112
|
-
// `Keybinds.parse(...)`, so the schema-level transform was redundant.
|
|
113
|
-
terminal_suspend: keybind("ctrl+z", "Suspend terminal"),
|
|
114
|
-
terminal_title_toggle: keybind("none", "Toggle terminal title"),
|
|
115
|
-
tips_toggle: keybind("<leader>h", "Toggle tips on home screen"),
|
|
116
|
-
plugin_manager: keybind("none", "Open plugin manager dialog"),
|
|
117
|
-
display_thinking: keybind("none", "Toggle thinking blocks visibility"),
|
|
118
|
-
}).annotate({ identifier: "KeybindsConfig" })
|
|
119
|
-
|
|
120
|
-
export type Keybinds = Schema.Schema.Type<typeof KeybindsSchema>
|
|
121
|
-
|
|
122
|
-
// Consumers access `Keybinds.shape` and `Keybinds.shape.X.parse(undefined)`,
|
|
123
|
-
// which requires the runtime type to be a ZodObject, not just ZodType. Every
|
|
124
|
-
// field is `string().optional().default(...)` at runtime, so widen to that.
|
|
125
|
-
export const Keybinds = zod(KeybindsSchema) as unknown as z.ZodObject<
|
|
126
|
-
Record<keyof Keybinds, z.ZodDefault<z.ZodOptional<z.ZodString>>>
|
|
127
|
-
>
|
package/src/config/layout.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Schema } from "effect"
|
|
2
|
-
import { zod } from "@/util/effect-zod"
|
|
3
|
-
import { withStatics } from "@/util/schema"
|
|
4
|
-
|
|
5
|
-
export const Layout = Schema.Literals(["auto", "stretch"])
|
|
6
|
-
.annotate({ identifier: "LayoutConfig" })
|
|
7
|
-
.pipe(withStatics((s) => ({ zod: zod(s) })))
|
|
8
|
-
export type Layout = Schema.Schema.Type<typeof Layout>
|
|
9
|
-
|
|
10
|
-
export * as ConfigLayout from "./layout"
|
package/src/config/lsp.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
export * as ConfigLSP from "./lsp"
|
|
2
|
-
|
|
3
|
-
import { Schema } from "effect"
|
|
4
|
-
import { zod } from "@/util/effect-zod"
|
|
5
|
-
import { withStatics } from "@/util/schema"
|
|
6
|
-
import * as LSPServer from "../lsp/server"
|
|
7
|
-
|
|
8
|
-
export const Disabled = Schema.Struct({
|
|
9
|
-
disabled: Schema.Literal(true),
|
|
10
|
-
}).pipe(withStatics((s) => ({ zod: zod(s) })))
|
|
11
|
-
|
|
12
|
-
export const Entry = Schema.Union([
|
|
13
|
-
Disabled,
|
|
14
|
-
Schema.Struct({
|
|
15
|
-
command: Schema.mutable(Schema.Array(Schema.String)),
|
|
16
|
-
extensions: Schema.optional(Schema.mutable(Schema.Array(Schema.String))),
|
|
17
|
-
disabled: Schema.optional(Schema.Boolean),
|
|
18
|
-
env: Schema.optional(Schema.Record(Schema.String, Schema.String)),
|
|
19
|
-
initialization: Schema.optional(Schema.Record(Schema.String, Schema.Unknown)),
|
|
20
|
-
}),
|
|
21
|
-
]).pipe(withStatics((s) => ({ zod: zod(s) })))
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* For custom (non-builtin) LSP server entries, `extensions` is required so the
|
|
25
|
-
* client knows which files the server should attach to. Builtin server IDs and
|
|
26
|
-
* explicitly disabled entries are exempt.
|
|
27
|
-
*/
|
|
28
|
-
export const requiresExtensionsForCustomServers = Schema.makeFilter<
|
|
29
|
-
boolean | Record<string, Schema.Schema.Type<typeof Entry>>
|
|
30
|
-
>((data) => {
|
|
31
|
-
if (typeof data === "boolean") return undefined
|
|
32
|
-
const serverIds = new Set(Object.values(LSPServer).map((server) => server.id))
|
|
33
|
-
const ok = Object.entries(data).every(([id, config]) => {
|
|
34
|
-
if ("disabled" in config && config.disabled) return true
|
|
35
|
-
if (serverIds.has(id)) return true
|
|
36
|
-
return "extensions" in config && Boolean(config.extensions)
|
|
37
|
-
})
|
|
38
|
-
return ok ? undefined : "For custom LSP servers, 'extensions' array is required."
|
|
39
|
-
})
|
|
40
|
-
|
|
41
|
-
export const Info = Schema.Union([Schema.Boolean, Schema.Record(Schema.String, Entry)])
|
|
42
|
-
.check(requiresExtensionsForCustomServers)
|
|
43
|
-
.pipe(withStatics((s) => ({ zod: zod(s) })))
|
|
44
|
-
|
|
45
|
-
export type Info = Schema.Schema.Type<typeof Info>
|
package/src/config/managed.ts
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
export * as ConfigManaged from "./managed"
|
|
2
|
-
|
|
3
|
-
import { existsSync } from "fs"
|
|
4
|
-
import os from "os"
|
|
5
|
-
import path from "path"
|
|
6
|
-
import { Log, Process } from "../util"
|
|
7
|
-
import { warn } from "console"
|
|
8
|
-
|
|
9
|
-
const log = Log.create({ service: "config" })
|
|
10
|
-
|
|
11
|
-
const MANAGED_PLIST_DOMAIN = "ai.opencode.managed"
|
|
12
|
-
|
|
13
|
-
// Keys injected by macOS/MDM into the managed plist that are not OpenCode config
|
|
14
|
-
const PLIST_META = new Set([
|
|
15
|
-
"PayloadDisplayName",
|
|
16
|
-
"PayloadIdentifier",
|
|
17
|
-
"PayloadType",
|
|
18
|
-
"PayloadUUID",
|
|
19
|
-
"PayloadVersion",
|
|
20
|
-
"_manualProfile",
|
|
21
|
-
])
|
|
22
|
-
|
|
23
|
-
function systemManagedConfigDir(): string {
|
|
24
|
-
switch (process.platform) {
|
|
25
|
-
case "darwin":
|
|
26
|
-
return "/Library/Application Support/opencode"
|
|
27
|
-
case "win32":
|
|
28
|
-
return path.join(process.env.ProgramData || "C:\\ProgramData", "opencode")
|
|
29
|
-
default:
|
|
30
|
-
return "/etc/opencode"
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export function managedConfigDir() {
|
|
35
|
-
return process.env.SLEEPYCODE_TEST_MANAGED_CONFIG_DIR || systemManagedConfigDir()
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
export function parseManagedPlist(json: string): string {
|
|
39
|
-
const raw = JSON.parse(json)
|
|
40
|
-
for (const key of Object.keys(raw)) {
|
|
41
|
-
if (PLIST_META.has(key)) delete raw[key]
|
|
42
|
-
}
|
|
43
|
-
return JSON.stringify(raw)
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export async function readManagedPreferences() {
|
|
47
|
-
if (process.platform !== "darwin") return
|
|
48
|
-
|
|
49
|
-
const user = os.userInfo().username
|
|
50
|
-
const paths = [
|
|
51
|
-
path.join("/Library/Managed Preferences", user, `${MANAGED_PLIST_DOMAIN}.plist`),
|
|
52
|
-
path.join("/Library/Managed Preferences", `${MANAGED_PLIST_DOMAIN}.plist`),
|
|
53
|
-
]
|
|
54
|
-
|
|
55
|
-
for (const plist of paths) {
|
|
56
|
-
if (!existsSync(plist)) continue
|
|
57
|
-
log.info("reading macOS managed preferences", { path: plist })
|
|
58
|
-
const result = await Process.run(["plutil", "-convert", "json", "-o", "-", plist], { nothrow: true })
|
|
59
|
-
if (result.code !== 0) {
|
|
60
|
-
log.warn("failed to convert managed preferences plist", { path: plist })
|
|
61
|
-
continue
|
|
62
|
-
}
|
|
63
|
-
return {
|
|
64
|
-
source: `mobileconfig:${plist}`,
|
|
65
|
-
text: parseManagedPlist(result.stdout.toString()),
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return
|
|
70
|
-
}
|
package/src/config/markdown.ts
DELETED
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { NamedError } from "@sleepy-ai/shared/util/error"
|
|
2
|
-
import matter from "gray-matter"
|
|
3
|
-
import { z } from "zod"
|
|
4
|
-
import { Filesystem } from "../util"
|
|
5
|
-
|
|
6
|
-
export const FILE_REGEX = /(?<![\w`])@(\.?[^\s`,.]*(?:\.[^\s`,.]+)*)/g
|
|
7
|
-
export const SHELL_REGEX = /!`([^`]+)`/g
|
|
8
|
-
|
|
9
|
-
export function files(template: string) {
|
|
10
|
-
return Array.from(template.matchAll(FILE_REGEX))
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export function shell(template: string) {
|
|
14
|
-
return Array.from(template.matchAll(SHELL_REGEX))
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
// other coding agents like claude code allow invalid yaml in their
|
|
18
|
-
// frontmatter, we need to fallback to a more permissive parser for those cases
|
|
19
|
-
export function fallbackSanitization(content: string): string {
|
|
20
|
-
const match = content.match(/^---\r?\n([\s\S]*?)\r?\n---/)
|
|
21
|
-
if (!match) return content
|
|
22
|
-
|
|
23
|
-
const frontmatter = match[1]
|
|
24
|
-
const lines = frontmatter.split(/\r?\n/)
|
|
25
|
-
const result: string[] = []
|
|
26
|
-
|
|
27
|
-
for (const line of lines) {
|
|
28
|
-
// skip comments and empty lines
|
|
29
|
-
if (line.trim().startsWith("#") || line.trim() === "") {
|
|
30
|
-
result.push(line)
|
|
31
|
-
continue
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
// skip lines that are continuations (indented)
|
|
35
|
-
if (line.match(/^\s+/)) {
|
|
36
|
-
result.push(line)
|
|
37
|
-
continue
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// match key: value pattern
|
|
41
|
-
const kvMatch = line.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*:\s*(.*)$/)
|
|
42
|
-
if (!kvMatch) {
|
|
43
|
-
result.push(line)
|
|
44
|
-
continue
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
const key = kvMatch[1]
|
|
48
|
-
const value = kvMatch[2].trim()
|
|
49
|
-
|
|
50
|
-
// skip if value is empty, already quoted, or uses block scalar
|
|
51
|
-
if (value === "" || value === ">" || value === "|" || value.startsWith('"') || value.startsWith("'")) {
|
|
52
|
-
result.push(line)
|
|
53
|
-
continue
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
// if value contains a colon, convert to block scalar
|
|
57
|
-
if (value.includes(":")) {
|
|
58
|
-
result.push(`${key}: |-`)
|
|
59
|
-
result.push(` ${value}`)
|
|
60
|
-
continue
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
result.push(line)
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const processed = result.join("\n")
|
|
67
|
-
return content.replace(frontmatter, () => processed)
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
export async function parse(filePath: string) {
|
|
71
|
-
const template = await Filesystem.readText(filePath)
|
|
72
|
-
|
|
73
|
-
try {
|
|
74
|
-
const md = matter(template)
|
|
75
|
-
return md
|
|
76
|
-
} catch {
|
|
77
|
-
try {
|
|
78
|
-
return matter(fallbackSanitization(template))
|
|
79
|
-
} catch (err) {
|
|
80
|
-
throw new FrontmatterError(
|
|
81
|
-
{
|
|
82
|
-
path: filePath,
|
|
83
|
-
message: `${filePath}: Failed to parse YAML frontmatter: ${err instanceof Error ? err.message : String(err)}`,
|
|
84
|
-
},
|
|
85
|
-
{ cause: err },
|
|
86
|
-
)
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
export const FrontmatterError = NamedError.create(
|
|
92
|
-
"ConfigFrontmatterError",
|
|
93
|
-
z.object({
|
|
94
|
-
path: z.string(),
|
|
95
|
-
message: z.string(),
|
|
96
|
-
}),
|
|
97
|
-
)
|
package/src/config/mcp.ts
DELETED
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { Schema } from "effect"
|
|
2
|
-
import { isRecord } from "@/util/record"
|
|
3
|
-
import { zod } from "@/util/effect-zod"
|
|
4
|
-
import { withStatics } from "@/util/schema"
|
|
5
|
-
|
|
6
|
-
export class Local extends Schema.Class<Local>("McpLocalConfig")({
|
|
7
|
-
type: Schema.Literal("local").annotate({ description: "Type of MCP server connection" }),
|
|
8
|
-
command: Schema.mutable(Schema.Array(Schema.String)).annotate({
|
|
9
|
-
description: "Command and arguments to run the MCP server",
|
|
10
|
-
}),
|
|
11
|
-
environment: Schema.optional(Schema.Record(Schema.String, Schema.String)).annotate({
|
|
12
|
-
description: "Environment variables to set when running the MCP server",
|
|
13
|
-
}),
|
|
14
|
-
enabled: Schema.optional(Schema.Boolean).annotate({
|
|
15
|
-
description: "Enable or disable the MCP server on startup",
|
|
16
|
-
}),
|
|
17
|
-
timeout: Schema.optional(Schema.Number).annotate({
|
|
18
|
-
description: "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.",
|
|
19
|
-
}),
|
|
20
|
-
}) {
|
|
21
|
-
static readonly zod = zod(this)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export class OAuth extends Schema.Class<OAuth>("McpOAuthConfig")({
|
|
25
|
-
clientId: Schema.optional(Schema.String).annotate({
|
|
26
|
-
description: "OAuth client ID. If not provided, dynamic client registration (RFC 7591) will be attempted.",
|
|
27
|
-
}),
|
|
28
|
-
clientSecret: Schema.optional(Schema.String).annotate({
|
|
29
|
-
description: "OAuth client secret (if required by the authorization server)",
|
|
30
|
-
}),
|
|
31
|
-
scope: Schema.optional(Schema.String).annotate({ description: "OAuth scopes to request during authorization" }),
|
|
32
|
-
redirectUri: Schema.optional(Schema.String).annotate({
|
|
33
|
-
description: "OAuth redirect URI (default: http://127.0.0.1:19876/mcp/oauth/callback).",
|
|
34
|
-
}),
|
|
35
|
-
}) {
|
|
36
|
-
static readonly zod = zod(this)
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export class Remote extends Schema.Class<Remote>("McpRemoteConfig")({
|
|
40
|
-
type: Schema.Literal("remote").annotate({ description: "Type of MCP server connection" }),
|
|
41
|
-
url: Schema.String.annotate({ description: "URL of the remote MCP server" }),
|
|
42
|
-
enabled: Schema.optional(Schema.Boolean).annotate({
|
|
43
|
-
description: "Enable or disable the MCP server on startup",
|
|
44
|
-
}),
|
|
45
|
-
headers: Schema.optional(Schema.Record(Schema.String, Schema.String)).annotate({
|
|
46
|
-
description: "Headers to send with the request",
|
|
47
|
-
}),
|
|
48
|
-
oauth: Schema.optional(Schema.Union([OAuth, Schema.Literal(false)])).annotate({
|
|
49
|
-
description: "OAuth authentication configuration for the MCP server. Set to false to disable OAuth auto-detection.",
|
|
50
|
-
}),
|
|
51
|
-
timeout: Schema.optional(Schema.Number).annotate({
|
|
52
|
-
description: "Timeout in ms for MCP server requests. Defaults to 5000 (5 seconds) if not specified.",
|
|
53
|
-
}),
|
|
54
|
-
}) {
|
|
55
|
-
static readonly zod = zod(this)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
export const Info = Schema.Union([Local, Remote])
|
|
59
|
-
.annotate({ discriminator: "type" })
|
|
60
|
-
.pipe(withStatics((s) => ({ zod: zod(s) })))
|
|
61
|
-
export type Info = Schema.Schema.Type<typeof Info>
|
|
62
|
-
|
|
63
|
-
export type Origin = {
|
|
64
|
-
type: "opencode" | "claude"
|
|
65
|
-
source: string
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
const remoteTypes = new Set(["http", "streamable-http", "remote"])
|
|
69
|
-
const localTypes = new Set(["stdio", "local"])
|
|
70
|
-
const sensitive = ["authorization", "token", "api_key", "apikey", "key", "secret", "password", "credential"]
|
|
71
|
-
|
|
72
|
-
function stringRecord(input: unknown) {
|
|
73
|
-
if (!isRecord(input)) return undefined
|
|
74
|
-
return Object.fromEntries(
|
|
75
|
-
Object.entries(input).filter((entry): entry is [string, string] => typeof entry[1] === "string"),
|
|
76
|
-
)
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
function isSensitive(input: string) {
|
|
80
|
-
return sensitive.some((item) => input.toLowerCase().includes(item))
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
function oauth(input: unknown) {
|
|
84
|
-
if (input === false) return false
|
|
85
|
-
if (!isRecord(input)) return undefined
|
|
86
|
-
const result = {
|
|
87
|
-
...(typeof input.clientId === "string" && { clientId: input.clientId }),
|
|
88
|
-
...(typeof input.clientSecret === "string" && { clientSecret: input.clientSecret }),
|
|
89
|
-
...(typeof input.scope === "string" && { scope: input.scope }),
|
|
90
|
-
...(typeof input.redirectUri === "string" && { redirectUri: input.redirectUri }),
|
|
91
|
-
}
|
|
92
|
-
return Object.keys(result).length > 0 ? result : undefined
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
export function fromClaude(name: string, input: unknown): { config: Info } | { warning: string } {
|
|
96
|
-
if (!isRecord(input)) return { warning: `skipped Claude Code MCP server "${name}"; server config is not an object.` }
|
|
97
|
-
|
|
98
|
-
if (input.type === "sse") {
|
|
99
|
-
return { warning: `skipped Claude Code MCP server "${name}"; unsupported transport "sse".` }
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
if (input.args !== undefined && !Array.isArray(input.args)) {
|
|
103
|
-
return { warning: `skipped Claude Code MCP server "${name}"; args is not an array.` }
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
const args = Array.isArray(input.args) ? input.args : []
|
|
107
|
-
if (!args.every((item) => typeof item === "string")) {
|
|
108
|
-
return { warning: `skipped Claude Code MCP server "${name}"; args must contain only strings.` }
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
const enabled = input.disabled === true ? false : input.enabled === false ? false : true
|
|
112
|
-
const environment = stringRecord(input.environment) ?? stringRecord(input.env)
|
|
113
|
-
const timeout = typeof input.timeout === "number" ? input.timeout : undefined
|
|
114
|
-
const type = typeof input.type === "string" ? input.type : undefined
|
|
115
|
-
|
|
116
|
-
if (typeof input.command === "string" && (!type || localTypes.has(type))) {
|
|
117
|
-
return {
|
|
118
|
-
config: {
|
|
119
|
-
type: "local",
|
|
120
|
-
command: [input.command, ...args],
|
|
121
|
-
...(environment && { environment }),
|
|
122
|
-
enabled,
|
|
123
|
-
...(timeout !== undefined && { timeout }),
|
|
124
|
-
},
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
if (input.command !== undefined) {
|
|
129
|
-
return { warning: `skipped Claude Code MCP server "${name}"; command is not a string.` }
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (typeof input.url === "string" && (!type || remoteTypes.has(type))) {
|
|
133
|
-
const headers = stringRecord(input.headers)
|
|
134
|
-
const oauthConfig = oauth(input.oauth)
|
|
135
|
-
return {
|
|
136
|
-
config: {
|
|
137
|
-
type: "remote",
|
|
138
|
-
url: input.url,
|
|
139
|
-
enabled,
|
|
140
|
-
...(headers && { headers }),
|
|
141
|
-
...(oauthConfig !== undefined && { oauth: oauthConfig }),
|
|
142
|
-
...(timeout !== undefined && { timeout }),
|
|
143
|
-
},
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
|
|
147
|
-
if (input.url !== undefined) {
|
|
148
|
-
return { warning: `skipped Claude Code MCP server "${name}"; url is not a string.` }
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
if (type && !localTypes.has(type) && !remoteTypes.has(type)) {
|
|
152
|
-
return { warning: `skipped Claude Code MCP server "${name}"; unsupported transport "${type}".` }
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
return { warning: `skipped Claude Code MCP server "${name}"; missing command or url.` }
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
export function redactString(input: string) {
|
|
159
|
-
return input
|
|
160
|
-
.replace(/(Bearer\s+)[^\s]+/gi, "$1****")
|
|
161
|
-
.replace(/([?&][^=\s&]*(?:authorization|token|api[_-]?key|apikey|key|secret|password|credential)[^=\s&]*=)[^&\s]+/gi, "$1****")
|
|
162
|
-
.replace(/((?:authorization|token|api[_-]?key|apikey|key|secret|password|credential)=)[^\s]+/gi, "$1****")
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
export function redactCommand(command: string[]) {
|
|
166
|
-
return command.map((item, index) => {
|
|
167
|
-
if (index > 0 && isSensitive(command[index - 1])) return "****"
|
|
168
|
-
return redactString(item)
|
|
169
|
-
})
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export * as ConfigMCP from "./mcp"
|
package/src/config/model-id.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Schema } from "effect"
|
|
2
|
-
import z from "zod"
|
|
3
|
-
import { zod, ZodOverride } from "@/util/effect-zod"
|
|
4
|
-
import { withStatics } from "@/util/schema"
|
|
5
|
-
|
|
6
|
-
// The original Zod schema carried an external $ref pointing at the models.dev
|
|
7
|
-
// JSON schema. That external reference is not a named SDK component — it is a
|
|
8
|
-
// literal pointer to an outside schema — so the walker cannot re-derive it
|
|
9
|
-
// from AST metadata. Preserve the exact original Zod via ZodOverride.
|
|
10
|
-
export const ConfigModelID = Schema.String.annotate({
|
|
11
|
-
[ZodOverride]: z.string().meta({ $ref: "https://models.dev/model-schema.json#/$defs/Model" }),
|
|
12
|
-
}).pipe(withStatics((s) => ({ zod: zod(s) })))
|
|
13
|
-
|
|
14
|
-
export type ConfigModelID = Schema.Schema.Type<typeof ConfigModelID>
|