saeeol 1.2.4 → 1.2.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/bin/saeeol.cjs +2 -1
- package/package.json +15 -12
- package/src/ltm/config.ts +15 -15
- package/src/ltm/events.ts +1 -1
- package/src/ltm/index.ts +1 -1
- package/src/ltm/pipeline.ts +23 -23
- package/src/ltm/scheduler.ts +91 -17
- package/src/ltm/store.ts +9 -7
- package/src/ltm/types.ts +15 -15
- package/src/provider/local/embedder.ts +24 -24
- package/src/provider/models-snapshot.d.ts +2 -0
- package/src/provider/models-snapshot.js +3 -0
- package/src/session/message/message-errors.ts +1 -1
- package/src/session/message/message-parts.ts +1 -1
- package/src/session/message/message-transform.ts +1 -1
- package/src/session/message/message-types.ts +1 -1
- package/src/tool/core/tool.ts +1 -1
- package/AGENTS.md +0 -72
- package/BUN_SHELL_MIGRATION_PLAN.md +0 -136
- package/Dockerfile +0 -18
- package/assets/saeeol.ico +0 -0
- package/bin/saeeol +0 -187
- package/bunfig.toml +0 -7
- package/database.db +0 -0
- 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/20260423070820_add_icon_url_override/migration.sql +0 -2
- package/migration/20260423070820_add_icon_url_override/snapshot.json +0 -1409
- package/migration/20260428004200_add_session_path/migration.sql +0 -1
- package/migration/20260428004200_add_session_path/snapshot.json +0 -1419
- package/npm/bin/saeeol +0 -42
- package/npm/package.json +0 -39
- package/npm/postinstall.js +0 -162
- package/parsers-config.ts +0 -289
- package/script/build.ts +0 -393
- package/script/check-migrations.ts +0 -16
- package/script/fix-node-pty.ts +0 -34
- package/script/generate.ts +0 -23
- package/script/postinstall.mjs +0 -189
- package/script/publish.ts +0 -200
- package/script/run-workspace-server +0 -106
- package/script/schema.ts +0 -63
- package/script/test-runner.ts +0 -420
- package/script/time.ts +0 -6
- package/script/trace-imports.ts +0 -153
- package/script/upgrade-opentui.ts +0 -64
- package/scripts/diff-sdk-types.sh +0 -52
- package/specs/effect/facades.md +0 -221
- package/specs/effect/http-api.md +0 -401
- package/specs/effect/instance-context.md +0 -309
- package/specs/effect/loose-ends.md +0 -34
- package/specs/effect/migration.md +0 -299
- package/specs/effect/routes.md +0 -64
- package/specs/effect/schema.md +0 -399
- package/specs/effect/server-package.md +0 -668
- package/specs/effect/tools.md +0 -90
- package/specs/tui-plugins.md +0 -433
- package/specs/v2/api.ts +0 -67
- package/specs/v2/keymappings.md +0 -10
- package/specs/v2/message-shape.md +0 -136
- package/src/tool/apply_patch.txt +0 -33
- package/src/tool/bash.txt +0 -119
- package/src/tool/edit.txt +0 -10
- package/src/tool/glob.txt +0 -6
- package/src/tool/grep.txt +0 -8
- package/src/tool/lsp.txt +0 -24
- package/src/tool/plan-enter.txt +0 -14
- package/src/tool/plan-exit.txt +0 -13
- package/src/tool/question.txt +0 -11
- package/src/tool/read.txt +0 -14
- package/src/tool/recall.txt +0 -12
- package/src/tool/skill.txt +0 -5
- package/src/tool/task.txt +0 -57
- package/src/tool/todowrite.txt +0 -167
- package/src/tool/warpgrep.txt +0 -10
- package/src/tool/webfetch.txt +0 -13
- package/src/tool/websearch.txt +0 -14
- package/src/tool/write.txt +0 -8
- package/sst-env.d.ts +0 -10
- package/test/AGENTS.md +0 -133
- package/test/account/repo.test.ts +0 -352
- package/test/account/service.test.ts +0 -456
- package/test/acp/agent-interface.test.ts +0 -51
- package/test/acp/event-subscription.test.ts +0 -725
- package/test/agent/agent.test.ts +0 -890
- package/test/auth/auth.test.ts +0 -86
- package/test/bun/registry.test.ts +0 -75
- package/test/bus/bus-effect.test.ts +0 -161
- package/test/bus/bus-integration.test.ts +0 -87
- package/test/bus/bus.test.ts +0 -219
- package/test/cli/account.test.ts +0 -26
- package/test/cli/auto-mode.test.ts +0 -75
- package/test/cli/bin-saeeol.test.ts +0 -8
- package/test/cli/cmd/tui/prompt-part.test.ts +0 -47
- package/test/cli/cmd/tui/prompt-traits.test.ts +0 -38
- package/test/cli/cmd/tui/sync.test.tsx +0 -159
- package/test/cli/error.test.ts +0 -18
- package/test/cli/github-action.test.ts +0 -198
- package/test/cli/github-remote.test.ts +0 -85
- package/test/cli/import.test.ts +0 -97
- package/test/cli/install-artifact.test.ts +0 -72
- package/test/cli/plugin-auth-picker.test.ts +0 -120
- package/test/cli/pr.test.ts +0 -59
- package/test/cli/tui/editor-context-zed.test.ts +0 -356
- package/test/cli/tui/editor-context.test.tsx +0 -228
- package/test/cli/tui/keybind-plugin.test.ts +0 -90
- package/test/cli/tui/markdown.test.ts +0 -161
- package/test/cli/tui/plugin-add.test.ts +0 -111
- package/test/cli/tui/plugin-install.test.ts +0 -87
- package/test/cli/tui/plugin-lifecycle.test.ts +0 -224
- package/test/cli/tui/plugin-loader-entrypoint.test.ts +0 -484
- package/test/cli/tui/plugin-loader-pure.test.ts +0 -71
- package/test/cli/tui/plugin-loader.test.ts +0 -816
- package/test/cli/tui/plugin-toggle.test.ts +0 -157
- package/test/cli/tui/revert-diff.test.ts +0 -35
- package/test/cli/tui/slot-replace.test.tsx +0 -47
- package/test/cli/tui/theme-store.test.ts +0 -54
- package/test/cli/tui/thread.test.ts +0 -28
- package/test/cli/tui/transcript.test.ts +0 -426
- package/test/cli/tui/usage.test.ts +0 -60
- package/test/cli/tui/use-event.test.tsx +0 -175
- package/test/config/agent-color.test.ts +0 -67
- package/test/config/config.test.ts +0 -2544
- package/test/config/fixtures/empty-frontmatter.md +0 -4
- package/test/config/fixtures/frontmatter.md +0 -28
- package/test/config/fixtures/markdown-header.md +0 -11
- package/test/config/fixtures/no-frontmatter.md +0 -1
- package/test/config/fixtures/weird-model-id.md +0 -13
- package/test/config/lsp.test.ts +0 -87
- package/test/config/markdown.test.ts +0 -228
- package/test/config/plugin.test.ts +0 -0
- package/test/config/tui.test.ts +0 -624
- package/test/control-plane/adapters.test.ts +0 -71
- package/test/control-plane/workspace.test.ts +0 -1526
- package/test/effect/app-runtime-logger.test.ts +0 -98
- package/test/effect/config-service.test.ts +0 -65
- package/test/effect/instance-state.test.ts +0 -394
- package/test/effect/run-service.test.ts +0 -89
- package/test/effect/runner.test.ts +0 -523
- package/test/fake/provider.ts +0 -82
- package/test/file/fsmonitor.test.ts +0 -68
- package/test/file/ignore.test.ts +0 -10
- package/test/file/index.test.ts +0 -954
- package/test/file/path-traversal.test.ts +0 -205
- package/test/file/ripgrep.test.ts +0 -226
- package/test/file/watcher.test.ts +0 -249
- package/test/filesystem/filesystem.test.ts +0 -319
- package/test/fixture/db.ts +0 -11
- package/test/fixture/fixture.test.ts +0 -26
- package/test/fixture/fixture.ts +0 -175
- package/test/fixture/flock-worker.ts +0 -72
- package/test/fixture/log-init-worker.ts +0 -62
- package/test/fixture/lsp/fake-lsp-server.js +0 -249
- package/test/fixture/plug-worker.ts +0 -93
- package/test/fixture/plugin-meta-worker.ts +0 -19
- package/test/fixture/skills/agents-sdk/SKILL.md +0 -152
- package/test/fixture/skills/cloudflare/SKILL.md +0 -211
- package/test/fixture/skills/index.json +0 -6
- package/test/fixture/tui-plugin.ts +0 -323
- package/test/fixture/tui-runtime.ts +0 -31
- package/test/format/format.test.ts +0 -272
- package/test/git/git.test.ts +0 -128
- package/test/ide/ide.test.ts +0 -82
- package/test/installation/installation.test.ts +0 -168
- package/test/keybind.test.ts +0 -421
- package/test/lib/effect.ts +0 -53
- package/test/lib/filesystem.ts +0 -10
- package/test/lib/llm-server.ts +0 -778
- package/test/lib/websocket.ts +0 -46
- package/test/lsp/client.test.ts +0 -482
- package/test/lsp/index.test.ts +0 -160
- package/test/lsp/launch.test.ts +0 -22
- package/test/lsp/lifecycle.test.ts +0 -184
- package/test/mcp/headers.test.ts +0 -178
- package/test/mcp/lifecycle.test.ts +0 -787
- package/test/mcp/oauth-auto-connect.test.ts +0 -311
- package/test/mcp/oauth-browser.test.ts +0 -276
- package/test/mcp/oauth-callback.test.ts +0 -34
- package/test/memory/abort-leak-webfetch.ts +0 -49
- package/test/memory/abort-leak.test.ts +0 -128
- package/test/patch/patch.test.ts +0 -348
- package/test/permission/arity.test.ts +0 -33
- package/test/permission/next.test.ts +0 -1227
- package/test/permission/next.toConfig.test.ts +0 -110
- package/test/permission-task.test.ts +0 -326
- package/test/plugin/auth-override.test.ts +0 -79
- package/test/plugin/cloudflare.test.ts +0 -68
- package/test/plugin/codex.test.ts +0 -123
- package/test/plugin/github-copilot-models.test.ts +0 -261
- package/test/plugin/install-concurrency.test.ts +0 -140
- package/test/plugin/install.test.ts +0 -570
- package/test/plugin/loader-shared.test.ts +0 -1169
- package/test/plugin/meta.test.ts +0 -137
- package/test/plugin/shared.test.ts +0 -88
- package/test/plugin/trigger.test.ts +0 -102
- package/test/plugin/workspace-adapter.test.ts +0 -109
- package/test/preload.ts +0 -77
- package/test/project/instance.test.ts +0 -276
- package/test/project/migrate-global.test.ts +0 -152
- package/test/project/project.test.ts +0 -600
- package/test/project/vcs.test.ts +0 -286
- package/test/project/worktree-remove.test.ts +0 -126
- package/test/project/worktree.test.ts +0 -223
- package/test/provider/amazon-bedrock.test.ts +0 -462
- package/test/provider/copilot/convert-to-copilot-messages.test.ts +0 -523
- package/test/provider/copilot/copilot-chat-model.test.ts +0 -592
- package/test/provider/gitlab-duo.test.ts +0 -413
- package/test/provider/local.test.ts +0 -208
- package/test/provider/models.test.ts +0 -261
- package/test/provider/provider-category.test.ts +0 -190
- package/test/provider/provider.test.ts +0 -2758
- package/test/provider/transform.test.ts +0 -3681
- package/test/pty/pty-output-isolation.test.ts +0 -147
- package/test/pty/pty-session.test.ts +0 -102
- package/test/pty/pty-shell.test.ts +0 -104
- package/test/question/question.test.ts +0 -490
- package/test/saeeol/agent-global-config-dirs.test.ts +0 -24
- package/test/saeeol/agent-manager-tool.test.ts +0 -71
- package/test/saeeol/agent-permission-overrides.test.ts +0 -75
- package/test/saeeol/agent-skill-permissions.test.ts +0 -37
- package/test/saeeol/ask-agent-permissions.test.ts +0 -303
- package/test/saeeol/bash-hierarchy.test.ts +0 -64
- package/test/saeeol/bash-permission-metadata.test.ts +0 -66
- package/test/saeeol/bash-security-extended.test.ts +0 -243
- package/test/saeeol/bedrock-claude-empty-content.test.ts +0 -138
- package/test/saeeol/boxes-integration.test.ts +0 -415
- package/test/saeeol/builtin-skills.test.ts +0 -75
- package/test/saeeol/cleanup.ts +0 -28
- package/test/saeeol/cli/dev-setup.test.ts +0 -74
- package/test/saeeol/cli/roll-call.test.ts +0 -161
- package/test/saeeol/cli-run-auto-helper.test.ts +0 -58
- package/test/saeeol/codex-auth-refresh.test.ts +0 -124
- package/test/saeeol/commit-message/generate.test.ts +0 -188
- package/test/saeeol/commit-message/git-context.test.ts +0 -303
- package/test/saeeol/commit-message-windows.test.ts +0 -38
- package/test/saeeol/compaction-payload-recovery.test.ts +0 -406
- package/test/saeeol/compaction-preservation-audit.test.ts +0 -122
- package/test/saeeol/compaction-skip-guard.test.ts +0 -224
- package/test/saeeol/compaction-smart-select.test.ts +0 -100
- package/test/saeeol/config/config.test.ts +0 -166
- package/test/saeeol/config/indexing-default-plugin.test.ts +0 -82
- package/test/saeeol/config/opentelemetry-default.test.ts +0 -29
- package/test/saeeol/config-gitignore.test.ts +0 -70
- package/test/saeeol/config-injector.test.ts +0 -305
- package/test/saeeol/config-resilience.test.ts +0 -234
- package/test/saeeol/config-validation.test.ts +0 -183
- package/test/saeeol/cost-propagation.test.ts +0 -94
- package/test/saeeol/cost-tracker-extended.test.ts +0 -141
- package/test/saeeol/cost-tracker.test.ts +0 -64
- package/test/saeeol/custom-provider-delete.test.ts +0 -149
- package/test/saeeol/diff-full.test.ts +0 -226
- package/test/saeeol/edit-permission-filediff.test.ts +0 -223
- package/test/saeeol/encoding.test.ts +0 -364
- package/test/saeeol/enhance-prompt.test.ts +0 -61
- package/test/saeeol/ensure-plan-dir.test.ts +0 -32
- package/test/saeeol/errors.test.ts +0 -144
- package/test/saeeol/external-directory-boundary.test.ts +0 -96
- package/test/saeeol/gateway-headers.test.ts +0 -88
- package/test/saeeol/help.test.ts +0 -191
- package/test/saeeol/ignore-migrator.test.ts +0 -308
- package/test/saeeol/indexing-auth.test.ts +0 -45
- package/test/saeeol/indexing-feature.test.ts +0 -44
- package/test/saeeol/indexing-label.test.ts +0 -70
- package/test/saeeol/indexing-startup.test.ts +0 -381
- package/test/saeeol/indexing-worktree.test.ts +0 -73
- package/test/saeeol/instruction.test.ts +0 -136
- package/test/saeeol/lancedb-runtime.test.ts +0 -116
- package/test/saeeol/loader-auth.test.ts +0 -168
- package/test/saeeol/local-model.test.ts +0 -621
- package/test/saeeol/logo.test.ts +0 -31
- package/test/saeeol/lsp-typescript-lightweight.test.ts +0 -89
- package/test/saeeol/mcp-branding.test.ts +0 -33
- package/test/saeeol/mcp-docker-rm.test.ts +0 -32
- package/test/saeeol/mcp-migrator.test.ts +0 -736
- package/test/saeeol/mcp-oauth-callback.test.ts +0 -33
- package/test/saeeol/memory-io.test.ts +0 -198
- package/test/saeeol/memory-paths.test.ts +0 -87
- package/test/saeeol/memory-security.test.ts +0 -166
- package/test/saeeol/model-cache-org.test.ts +0 -164
- package/test/saeeol/model-info-panel-utils.test.ts +0 -52
- package/test/saeeol/model-info-panel.types.test.ts +0 -7
- package/test/saeeol/models-401-fallback.test.ts +0 -52
- package/test/saeeol/modes-migrator.test.ts +0 -320
- package/test/saeeol/nvidia-headers.test.ts +0 -74
- package/test/saeeol/patch-jsonc.test.ts +0 -73
- package/test/saeeol/patch.test.ts +0 -172
- package/test/saeeol/paths.test.ts +0 -265
- package/test/saeeol/permission/config-paths.test.ts +0 -174
- package/test/saeeol/permission/env-read.test.ts +0 -149
- package/test/saeeol/permission/external-directory-allow.test.ts +0 -327
- package/test/saeeol/permission/next.always-rules.test.ts +0 -882
- package/test/saeeol/permission/next.reply-http.test.ts +0 -205
- package/test/saeeol/permission/next.reply-routing.test.ts +0 -184
- package/test/saeeol/plan-exit-detection.test.ts +0 -494
- package/test/saeeol/plan-followup.test.ts +0 -1376
- package/test/saeeol/project-config-update.test.ts +0 -120
- package/test/saeeol/project-id.test.ts +0 -455
- package/test/saeeol/provider-cost.test.ts +0 -171
- package/test/saeeol/provider-list-failed-state.test.ts +0 -100
- package/test/saeeol/question-dismiss-all.test.ts +0 -174
- package/test/saeeol/read-directory.test.ts +0 -116
- package/test/saeeol/rules-migrator.test.ts +0 -257
- package/test/saeeol/run-auto.test.ts +0 -176
- package/test/saeeol/run-network.test.ts +0 -224
- package/test/saeeol/semantic-search.test.ts +0 -186
- package/test/saeeol/server/permission-allow-everything.test.ts +0 -125
- package/test/saeeol/session/instruction-substitution.test.ts +0 -72
- package/test/saeeol/session/platform-attribution.test.ts +0 -118
- package/test/saeeol/session/session.test.ts +0 -105
- package/test/saeeol/session-compaction-cap.test.ts +0 -399
- package/test/saeeol/session-compaction-chunks.test.ts +0 -501
- package/test/saeeol/session-compaction-safety.test.ts +0 -481
- package/test/saeeol/session-fork-remap.test.ts +0 -251
- package/test/saeeol/session-import-service.test.ts +0 -114
- package/test/saeeol/session-list.test.ts +0 -47
- package/test/saeeol/session-message-metadata.test.ts +0 -128
- package/test/saeeol/session-overflow.test.ts +0 -78
- package/test/saeeol/session-processor-empty-tool-calls.test.ts +0 -571
- package/test/saeeol/session-processor-network-offline.test.ts +0 -204
- package/test/saeeol/session-processor-retry-limit.test.ts +0 -238
- package/test/saeeol/session-processor-review-telemetry.test.ts +0 -82
- package/test/saeeol/session-prompt-compaction-safety.test.ts +0 -517
- package/test/saeeol/session-prompt-queue.test.ts +0 -815
- package/test/saeeol/sessions/inflight-cache.test.ts +0 -157
- package/test/saeeol/sessions/ingest-queue.test.ts +0 -402
- package/test/saeeol/sessions/remote-protocol.test.ts +0 -258
- package/test/saeeol/sessions/remote-sender.test.ts +0 -1036
- package/test/saeeol/sessions/remote-ws.test.ts +0 -367
- package/test/saeeol/sessions/sessions-enable-remote.test.disable +0 -181
- package/test/saeeol/slot-prop-reactivity.test.ts +0 -142
- package/test/saeeol/snapshot-cache.test.ts +0 -84
- package/test/saeeol/snapshot-freeze-repro.test.ts +0 -100
- package/test/saeeol/snapshot-track-timeout.test.ts +0 -519
- package/test/saeeol/stats-subagent-cost.test.ts +0 -123
- package/test/saeeol/suggestion/auto-dismiss.test.ts +0 -65
- package/test/saeeol/suggestion/suggestion.test.ts +0 -145
- package/test/saeeol/suggestion/tool.test.ts +0 -298
- package/test/saeeol/summary-file-diff.test.ts +0 -28
- package/test/saeeol/system-prompt.test.ts +0 -142
- package/test/saeeol/task-nesting.test.ts +0 -193
- package/test/saeeol/telemetry/feedback.test.ts +0 -8
- package/test/saeeol/todo-view.test.ts +0 -57
- package/test/saeeol/tool-encoding.test.ts +0 -455
- package/test/saeeol/tool-registry-indexing-import-failure.test.ts +0 -49
- package/test/saeeol/tool-registry-indexing.test.ts +0 -236
- package/test/saeeol/tool-registry-semantic-import-failure.test.ts +0 -55
- package/test/saeeol/tool-task-model.test.ts +0 -352
- package/test/saeeol/transform-opus-4.7.test.ts +0 -89
- package/test/saeeol/tui-diff.test.ts +0 -91
- package/test/saeeol/tui-sync.test.ts +0 -80
- package/test/saeeol/util/url.test.ts +0 -141
- package/test/saeeol/workflows-migrator.test.ts +0 -261
- package/test/saeeol/worktree-diff-summary.test.ts +0 -64
- package/test/saeeol/worktree-diff.test.ts +0 -223
- package/test/saeeol/worktree-remove-lock.test.ts +0 -82
- package/test/server/AGENTS.md +0 -15
- package/test/server/contract.test.ts +0 -249
- package/test/server/experimental-session-list.test.ts +0 -157
- package/test/server/global-session-list.test.ts +0 -155
- package/test/server/httpapi-authorization.test.ts +0 -103
- package/test/server/httpapi-bridge.test.ts +0 -440
- package/test/server/httpapi-config.test.ts +0 -67
- package/test/server/httpapi-cors.test.ts +0 -89
- package/test/server/httpapi-event.test.ts +0 -57
- package/test/server/httpapi-experimental.test.ts +0 -219
- package/test/server/httpapi-file.test.ts +0 -79
- package/test/server/httpapi-instance-context.test.ts +0 -237
- package/test/server/httpapi-instance.legacy.test.ts +0 -140
- package/test/server/httpapi-instance.test.ts +0 -83
- package/test/server/httpapi-json-parity.test.ts +0 -263
- package/test/server/httpapi-mcp-oauth.test.ts +0 -76
- package/test/server/httpapi-mcp.test.ts +0 -189
- package/test/server/httpapi-provider.test.ts +0 -153
- package/test/server/httpapi-pty-websocket.test.ts +0 -16
- package/test/server/httpapi-pty.test.ts +0 -175
- package/test/server/httpapi-raw-route-auth.test.ts +0 -89
- package/test/server/httpapi-sdk.test.ts +0 -679
- package/test/server/httpapi-session.test.ts +0 -464
- package/test/server/httpapi-sync.test.ts +0 -130
- package/test/server/httpapi-tui.test.ts +0 -121
- package/test/server/httpapi-workspace-routing.test.ts +0 -471
- package/test/server/httpapi-workspace.test.ts +0 -427
- package/test/server/project-init-git.test.ts +0 -113
- package/test/server/proxy-util.test.ts +0 -113
- package/test/server/session-actions.test.ts +0 -49
- package/test/server/session-list.test.ts +0 -238
- package/test/server/session-messages.test.ts +0 -167
- package/test/server/session-select.test.ts +0 -100
- package/test/server/trace-attributes.test.ts +0 -76
- package/test/server/workspace-proxy.test.ts +0 -165
- package/test/server/workspace-routing.test.ts +0 -85
- package/test/session/compaction.test.ts +0 -2420
- package/test/session/instruction.test.ts +0 -247
- package/test/session/llm.test.ts +0 -1273
- package/test/session/message-v2.test.ts +0 -1291
- package/test/session/messages-pagination.test.ts +0 -1173
- package/test/session/network.test.ts +0 -249
- package/test/session/processor-effect.test.ts +0 -847
- package/test/session/prompt.test.ts +0 -2131
- package/test/session/retry.test.ts +0 -340
- package/test/session/revert-compact.test.ts +0 -639
- package/test/session/schema-decoding.test.ts +0 -311
- package/test/session/session-entry-stepper.test.ts +0 -917
- package/test/session/session-schema.test.ts +0 -76
- package/test/session/snapshot-tool-race.test.ts +0 -257
- package/test/session/structured-output-integration.test.ts +0 -265
- package/test/session/structured-output.test.ts +0 -381
- package/test/session/system.test.ts +0 -73
- package/test/share/share-next.test.ts +0 -333
- package/test/shell/shell.test.ts +0 -99
- package/test/skill/discovery.test.ts +0 -116
- package/test/skill/skill.test.ts +0 -393
- package/test/snapshot/snapshot.test.ts +0 -1531
- package/test/storage/db.test.ts +0 -23
- package/test/storage/json-migration.test.ts +0 -832
- package/test/storage/storage.test.ts +0 -293
- package/test/suggestion/suggestion.test.ts +0 -1
- package/test/sync/index.test.ts +0 -256
- package/test/tool/__snapshots__/parameters.test.ts.snap +0 -500
- package/test/tool/__snapshots__/tool.test.ts.snap +0 -9
- package/test/tool/apply_patch.test.ts +0 -614
- package/test/tool/bash.test.ts +0 -1225
- package/test/tool/diagnostics-filter.test.ts +0 -55
- package/test/tool/edit.test.ts +0 -754
- package/test/tool/external-directory.test.ts +0 -169
- package/test/tool/fixtures/large-image.png +0 -0
- package/test/tool/fixtures/models-api.json +0 -65179
- package/test/tool/glob.test.ts +0 -107
- package/test/tool/grep.test.ts +0 -114
- package/test/tool/lsp.test.ts +0 -187
- package/test/tool/parameters.test.ts +0 -243
- package/test/tool/question.test.ts +0 -129
- package/test/tool/read.test.ts +0 -500
- package/test/tool/recall.test.ts +0 -151
- package/test/tool/registry.test.ts +0 -203
- package/test/tool/skill.test.ts +0 -135
- package/test/tool/suggest.test.ts +0 -1
- package/test/tool/task.test.ts +0 -612
- package/test/tool/tool-define.test.ts +0 -99
- package/test/tool/truncation.test.ts +0 -260
- package/test/tool/webfetch.test.ts +0 -103
- package/test/tool/write.test.ts +0 -291
- package/test/util/data-url.test.ts +0 -14
- package/test/util/effect-zod.test.ts +0 -754
- package/test/util/error.test.ts +0 -38
- package/test/util/filesystem.test.ts +0 -656
- package/test/util/format.test.ts +0 -59
- package/test/util/glob.test.ts +0 -164
- package/test/util/iife.test.ts +0 -36
- package/test/util/lazy.test.ts +0 -50
- package/test/util/lock.test.ts +0 -72
- package/test/util/log.test.ts +0 -86
- package/test/util/module.test.ts +0 -59
- package/test/util/process.test.ts +0 -128
- package/test/util/timeout.test.ts +0 -21
- package/test/util/which.test.ts +0 -100
- package/test/util/wildcard.test.ts +0 -90
- package/test/workspace/workspace-restore.test.ts +0 -296
- package/tsconfig.json +0 -19
package/src/tool/core/tool.ts
CHANGED
|
@@ -9,7 +9,7 @@ interface Metadata {
|
|
|
9
9
|
[key: string]: any
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
/** Dynamic description generator — produces a tool description based on agent context */
|
|
13
13
|
export type DynamicDescription = (agent: Agent.Info) => Effect.Effect<string>
|
|
14
14
|
|
|
15
15
|
export type Context<M extends Metadata = Metadata> = {
|
package/AGENTS.md
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# SAEEOL agent guidelines
|
|
2
|
-
|
|
3
|
-
## Build/Test
|
|
4
|
-
|
|
5
|
-
- **Run**: `bun run --conditions=browser ./src/index.ts`
|
|
6
|
-
- **Test**: `bun test` (all tests) or `bun test test/tool/tool.test.ts` (single test)
|
|
7
|
-
- **Typecheck**: `bun run typecheck` (runs `tsgo --noEmit`)
|
|
8
|
-
|
|
9
|
-
## Import Aliases
|
|
10
|
-
|
|
11
|
-
- `@/*` maps to `./src/*`
|
|
12
|
-
- `@tui/*` maps to `./src/cli/cmd/tui/*`
|
|
13
|
-
|
|
14
|
-
## Key Patterns
|
|
15
|
-
|
|
16
|
-
**Namespace modules** -- Code is organized as TypeScript namespaces, not classes. Each module exports a namespace with its Zod schemas, types, and functions:
|
|
17
|
-
|
|
18
|
-
```ts
|
|
19
|
-
export namespace Session {
|
|
20
|
-
export const Info = z.object({ ... })
|
|
21
|
-
export type Info = z.infer<typeof Info>
|
|
22
|
-
export const create = fn(z.object({ ... }), async (input) => { ... })
|
|
23
|
-
}
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
**`Instance.state(init, dispose?)`** -- Per-project lazy singleton. Many modules register state this way. The state is tied to the project directory via `AsyncLocalStorage`:
|
|
27
|
-
|
|
28
|
-
```ts
|
|
29
|
-
const state = Instance.state(async () => {
|
|
30
|
-
// initialized once per project, cached
|
|
31
|
-
return { ... }
|
|
32
|
-
})
|
|
33
|
-
// later: (await state()).someValue
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
**`fn(schema, callback)`** -- Wraps functions with Zod input validation. Used for most exported functions:
|
|
37
|
-
|
|
38
|
-
```ts
|
|
39
|
-
export const get = fn(z.object({ id: z.string() }), async (input) => { ... })
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**`Tool.define(id, init)`** -- All tools follow this pattern. The `init` returns `{ description, parameters, execute }`. Output is auto-truncated.
|
|
43
|
-
|
|
44
|
-
**`BusEvent.define(type, schema)` + `Bus.publish()`** -- In-process pub/sub event system for cross-module communication.
|
|
45
|
-
|
|
46
|
-
**`NamedError.create(name, schema)`** -- Structured errors with Zod schemas. Prefer these over throwing raw errors.
|
|
47
|
-
|
|
48
|
-
**`iife()`** -- Immediately-invoked function expression helper. Used to avoid `let` statements per style guide.
|
|
49
|
-
|
|
50
|
-
**Logging** -- Use `Log.create({ service: "name" })` pattern.
|
|
51
|
-
|
|
52
|
-
## Process Spawning (Windows)
|
|
53
|
-
|
|
54
|
-
On Windows, any `spawn`/`execFile` call without `windowsHide: true` will flash a cmd.exe console window at the user. Use `Process.spawn` from `src/util/process.ts` — it enforces `windowsHide: true` automatically. For `Bun.spawn`/`Bun.spawnSync`, pass `windowsHide` via the options object if the subprocess could create a visible console.
|
|
55
|
-
|
|
56
|
-
The MCP `StdioClientTransport` (third-party SDK) is handled separately via a process shim in `src/mcp/index.ts` that sets `process.type = "browser"` when running inside the VS Code extension, which causes the SDK's internal `isElectron()` check to return `true` and enable `windowsHide`.
|
|
57
|
-
|
|
58
|
-
## Storage
|
|
59
|
-
|
|
60
|
-
Filesystem-based JSON, not a database. Data lives in `~/.local/share/saeeol/storage/`. Keys are path arrays: `Storage.write(["session", projectID, sessionID], data)`.
|
|
61
|
-
|
|
62
|
-
## TUI
|
|
63
|
-
|
|
64
|
-
Built with **SolidJS + OpenTUI** (`@opentui/solid`) -- a terminal UI framework. JSX renders to the terminal using elements like `<box>`, `<text>`, `<scrollbox>`. The TUI communicates with the server via `@saeeol/sdk`.
|
|
65
|
-
|
|
66
|
-
## Server
|
|
67
|
-
|
|
68
|
-
Hono-based HTTP server with OpenAPI spec generation. SSE for real-time events. When you add/change routes, regenerate the SDK (see root AGENTS.md for the command).
|
|
69
|
-
|
|
70
|
-
## Providers and Models
|
|
71
|
-
|
|
72
|
-
Uses the **Vercel AI SDK** as the abstraction layer. Providers are loaded from a bundled map or dynamically installed at runtime. Models come from models.dev (external API), cached locally.
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
# Bun shell migration plan
|
|
2
|
-
|
|
3
|
-
Practical phased replacement of Bun `$` calls.
|
|
4
|
-
|
|
5
|
-
## Goal
|
|
6
|
-
|
|
7
|
-
Replace runtime Bun shell template-tag usage in `packages/saeeol/src` with a unified `Process` API in `util/process.ts`.
|
|
8
|
-
|
|
9
|
-
Keep behavior stable while improving safety, testability, and observability.
|
|
10
|
-
|
|
11
|
-
Current baseline from audit:
|
|
12
|
-
|
|
13
|
-
- 143 runtime command invocations across 17 files
|
|
14
|
-
- 84 are git commands
|
|
15
|
-
- Largest hotspots:
|
|
16
|
-
- `src/cli/cmd/github.ts` (33)
|
|
17
|
-
- `src/worktree/index.ts` (22)
|
|
18
|
-
- `src/lsp/server.ts` (21)
|
|
19
|
-
- `src/installation/index.ts` (20)
|
|
20
|
-
- `src/snapshot/index.ts` (18)
|
|
21
|
-
|
|
22
|
-
## Decisions
|
|
23
|
-
|
|
24
|
-
- Extend `src/util/process.ts` (do not create a separate exec module).
|
|
25
|
-
- Proceed with phased migration for both git and non-git paths.
|
|
26
|
-
- Keep plugin `$` compatibility in 1.x and remove in 2.0.
|
|
27
|
-
|
|
28
|
-
## Non-goals
|
|
29
|
-
|
|
30
|
-
- Do not remove plugin `$` compatibility in this effort.
|
|
31
|
-
- Do not redesign command semantics beyond what is needed to preserve behavior.
|
|
32
|
-
|
|
33
|
-
## Constraints
|
|
34
|
-
|
|
35
|
-
- Keep migration phased, not big-bang.
|
|
36
|
-
- Minimize behavioral drift.
|
|
37
|
-
- Keep these explicit shell-only exceptions:
|
|
38
|
-
- `src/session/prompt.ts` raw command execution
|
|
39
|
-
- worktree start scripts in `src/worktree/index.ts`
|
|
40
|
-
|
|
41
|
-
## Process API proposal (`src/util/process.ts`)
|
|
42
|
-
|
|
43
|
-
Add higher-level wrappers on top of current spawn support.
|
|
44
|
-
|
|
45
|
-
Core methods:
|
|
46
|
-
|
|
47
|
-
- `Process.run(cmd, opts)`
|
|
48
|
-
- `Process.text(cmd, opts)`
|
|
49
|
-
- `Process.lines(cmd, opts)`
|
|
50
|
-
- `Process.status(cmd, opts)`
|
|
51
|
-
- `Process.shell(command, opts)` for intentional shell execution
|
|
52
|
-
|
|
53
|
-
Git helpers:
|
|
54
|
-
|
|
55
|
-
- `Process.git(args, opts)`
|
|
56
|
-
- `Process.gitText(args, opts)`
|
|
57
|
-
|
|
58
|
-
Shared options:
|
|
59
|
-
|
|
60
|
-
- `cwd`, `env`, `stdin`, `stdout`, `stderr`, `abort`, `timeout`, `kill`
|
|
61
|
-
- `allowFailure` / non-throw mode
|
|
62
|
-
- optional redaction + trace metadata
|
|
63
|
-
|
|
64
|
-
Standard result shape:
|
|
65
|
-
|
|
66
|
-
- `code`, `stdout`, `stderr`, `duration_ms`, `cmd`
|
|
67
|
-
- helpers like `text()` and `arrayBuffer()` where useful
|
|
68
|
-
|
|
69
|
-
## Phased rollout
|
|
70
|
-
|
|
71
|
-
### Phase 0: Foundation
|
|
72
|
-
|
|
73
|
-
- Implement Process wrappers in `src/util/process.ts`.
|
|
74
|
-
- Refactor `src/util/git.ts` to use Process only.
|
|
75
|
-
- Add tests for exit handling, timeout, abort, and output capture.
|
|
76
|
-
|
|
77
|
-
### Phase 1: High-impact hotspots
|
|
78
|
-
|
|
79
|
-
Migrate these first:
|
|
80
|
-
|
|
81
|
-
- `src/cli/cmd/github.ts`
|
|
82
|
-
- `src/worktree/index.ts`
|
|
83
|
-
- `src/lsp/server.ts`
|
|
84
|
-
- `src/installation/index.ts`
|
|
85
|
-
- `src/snapshot/index.ts`
|
|
86
|
-
|
|
87
|
-
Within each file, migrate git paths first where applicable.
|
|
88
|
-
|
|
89
|
-
### Phase 2: Remaining git-heavy files
|
|
90
|
-
|
|
91
|
-
Migrate git-centric call sites to `Process.git*` helpers:
|
|
92
|
-
|
|
93
|
-
- `src/file/index.ts`
|
|
94
|
-
- `src/project/vcs.ts`
|
|
95
|
-
- `src/file/watcher.ts`
|
|
96
|
-
- `src/storage/storage.ts`
|
|
97
|
-
- `src/cli/cmd/pr.ts`
|
|
98
|
-
|
|
99
|
-
### Phase 3: Remaining non-git files
|
|
100
|
-
|
|
101
|
-
Migrate residual non-git usages:
|
|
102
|
-
|
|
103
|
-
- `src/cli/cmd/tui/util/clipboard.ts`
|
|
104
|
-
- `src/util/archive.ts`
|
|
105
|
-
- `src/file/ripgrep.ts`
|
|
106
|
-
- `src/tool/bash.ts`
|
|
107
|
-
- `src/cli/cmd/uninstall.ts`
|
|
108
|
-
|
|
109
|
-
### Phase 4: Stabilize
|
|
110
|
-
|
|
111
|
-
- Remove dead wrappers and one-off patterns.
|
|
112
|
-
- Keep plugin `$` compatibility isolated and documented as temporary.
|
|
113
|
-
- Create linked 2.0 task for plugin `$` removal.
|
|
114
|
-
|
|
115
|
-
## Validation strategy
|
|
116
|
-
|
|
117
|
-
- Unit tests for new `Process` methods and options.
|
|
118
|
-
- Integration tests on hotspot modules.
|
|
119
|
-
- Smoke tests for install, snapshot, worktree, and GitHub flows.
|
|
120
|
-
- Regression checks for output parsing behavior.
|
|
121
|
-
|
|
122
|
-
## Risk mitigation
|
|
123
|
-
|
|
124
|
-
- File-by-file PRs with small diffs.
|
|
125
|
-
- Preserve behavior first, simplify second.
|
|
126
|
-
- Keep shell-only exceptions explicit and documented.
|
|
127
|
-
- Add consistent error shaping and logging at Process layer.
|
|
128
|
-
|
|
129
|
-
## Definition of done
|
|
130
|
-
|
|
131
|
-
- Runtime Bun `$` usage in `packages/saeeol/src` is removed except:
|
|
132
|
-
- approved shell-only exceptions
|
|
133
|
-
- temporary plugin compatibility path (1.x)
|
|
134
|
-
- Git paths use `Process.git*` consistently.
|
|
135
|
-
- CI and targeted smoke tests pass.
|
|
136
|
-
- 2.0 issue exists for plugin `$` removal.
|
package/Dockerfile
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
FROM alpine AS base
|
|
2
|
-
|
|
3
|
-
# Disable the runtime transpiler cache by default inside Docker containers.
|
|
4
|
-
# On ephemeral containers, the cache is not useful
|
|
5
|
-
ARG BUN_RUNTIME_TRANSPILER_CACHE_PATH=0
|
|
6
|
-
ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=${BUN_RUNTIME_TRANSPILER_CACHE_PATH}
|
|
7
|
-
RUN apk add libgcc libstdc++ ripgrep
|
|
8
|
-
|
|
9
|
-
FROM base AS build-amd64
|
|
10
|
-
COPY dist/saeeol-linux-x64-baseline-musl/bin/saeeol /usr/local/bin/saeeol
|
|
11
|
-
|
|
12
|
-
FROM base AS build-arm64
|
|
13
|
-
COPY dist/saeeol-linux-arm64-musl/bin/saeeol /usr/local/bin/saeeol
|
|
14
|
-
|
|
15
|
-
ARG TARGETARCH
|
|
16
|
-
FROM build-${TARGETARCH}
|
|
17
|
-
RUN saeeol --version
|
|
18
|
-
ENTRYPOINT ["saeeol"]
|
package/assets/saeeol.ico
DELETED
|
Binary file
|
package/bin/saeeol
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
const childProcess = require("child_process")
|
|
4
|
-
const fs = require("fs")
|
|
5
|
-
const path = require("path")
|
|
6
|
-
const os = require("os")
|
|
7
|
-
|
|
8
|
-
function run(target) {
|
|
9
|
-
const result = childProcess.spawnSync(target, process.argv.slice(2), {
|
|
10
|
-
stdio: "inherit",
|
|
11
|
-
})
|
|
12
|
-
if (result.error) {
|
|
13
|
-
console.error(result.error.message)
|
|
14
|
-
process.exit(1)
|
|
15
|
-
}
|
|
16
|
-
const code = typeof result.status === "number" ? result.status : 0
|
|
17
|
-
process.exit(code)
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
const envPath = process.env.SAEEOL_BIN_PATH
|
|
21
|
-
if (envPath) {
|
|
22
|
-
run(envPath)
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
const scriptPath = fs.realpathSync(__filename)
|
|
26
|
-
const scriptDir = path.dirname(scriptPath)
|
|
27
|
-
|
|
28
|
-
// fall through to findBinary() if cached binary fails
|
|
29
|
-
const cached = path.join(scriptDir, ".saeeol")
|
|
30
|
-
if (fs.existsSync(cached)) {
|
|
31
|
-
const result = childProcess.spawnSync(cached, process.argv.slice(2), {
|
|
32
|
-
stdio: "inherit",
|
|
33
|
-
})
|
|
34
|
-
if (!result.error) {
|
|
35
|
-
const code = typeof result.status === "number" ? result.status : 0
|
|
36
|
-
process.exit(code)
|
|
37
|
-
}
|
|
38
|
-
// cached binary failed (e.g. wrong platform/arch, missing dynamic linker),
|
|
39
|
-
// fall through to findBinary() which has better variant detection
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
const platformMap = {
|
|
43
|
-
darwin: "darwin",
|
|
44
|
-
linux: "linux",
|
|
45
|
-
win32: "windows",
|
|
46
|
-
}
|
|
47
|
-
const archMap = {
|
|
48
|
-
x64: "x64",
|
|
49
|
-
arm64: "arm64",
|
|
50
|
-
arm: "arm",
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
let platform = platformMap[os.platform()]
|
|
54
|
-
if (!platform) {
|
|
55
|
-
platform = os.platform()
|
|
56
|
-
}
|
|
57
|
-
let arch = archMap[os.arch()]
|
|
58
|
-
if (!arch) {
|
|
59
|
-
arch = os.arch()
|
|
60
|
-
}
|
|
61
|
-
const base = "saeeol-" + platform + "-" + arch
|
|
62
|
-
const binary = platform === "windows" ? "saeeol.exe" : "saeeol"
|
|
63
|
-
|
|
64
|
-
function supportsAvx2() {
|
|
65
|
-
if (arch !== "x64") return false
|
|
66
|
-
|
|
67
|
-
if (platform === "linux") {
|
|
68
|
-
try {
|
|
69
|
-
return /(^|\s)avx2(\s|$)/i.test(fs.readFileSync("/proc/cpuinfo", "utf8"))
|
|
70
|
-
} catch {
|
|
71
|
-
return false
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (platform === "darwin") {
|
|
76
|
-
try {
|
|
77
|
-
const result = childProcess.spawnSync("sysctl", ["-n", "hw.optional.avx2_0"], {
|
|
78
|
-
encoding: "utf8",
|
|
79
|
-
timeout: 1500,
|
|
80
|
-
})
|
|
81
|
-
if (result.status !== 0) return false
|
|
82
|
-
return (result.stdout || "").trim() === "1"
|
|
83
|
-
} catch {
|
|
84
|
-
return false
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
if (platform === "windows") {
|
|
89
|
-
const cmd =
|
|
90
|
-
'(Add-Type -MemberDefinition "[DllImport(""kernel32.dll"")] public static extern bool IsProcessorFeaturePresent(int ProcessorFeature);" -Name Kernel32 -Namespace Win32 -PassThru)::IsProcessorFeaturePresent(40)'
|
|
91
|
-
|
|
92
|
-
for (const exe of ["powershell.exe", "pwsh.exe", "pwsh", "powershell"]) {
|
|
93
|
-
try {
|
|
94
|
-
const result = childProcess.spawnSync(exe, ["-NoProfile", "-NonInteractive", "-Command", cmd], {
|
|
95
|
-
encoding: "utf8",
|
|
96
|
-
timeout: 3000,
|
|
97
|
-
windowsHide: true,
|
|
98
|
-
})
|
|
99
|
-
if (result.status !== 0) continue
|
|
100
|
-
const out = (result.stdout || "").trim().toLowerCase()
|
|
101
|
-
if (out === "true" || out === "1") return true
|
|
102
|
-
if (out === "false" || out === "0") return false
|
|
103
|
-
} catch {
|
|
104
|
-
continue
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return false
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
return false
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
const names = (() => {
|
|
115
|
-
const avx2 = supportsAvx2()
|
|
116
|
-
const baseline = arch === "x64" && !avx2
|
|
117
|
-
|
|
118
|
-
if (platform === "linux") {
|
|
119
|
-
const musl = (() => {
|
|
120
|
-
try {
|
|
121
|
-
if (fs.existsSync("/etc/alpine-release")) return true
|
|
122
|
-
} catch {
|
|
123
|
-
// ignore
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
try {
|
|
127
|
-
const result = childProcess.spawnSync("ldd", ["--version"], { encoding: "utf8" })
|
|
128
|
-
const text = ((result.stdout || "") + (result.stderr || "")).toLowerCase()
|
|
129
|
-
if (text.includes("musl")) return true
|
|
130
|
-
} catch {
|
|
131
|
-
// ignore
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
return false
|
|
135
|
-
})()
|
|
136
|
-
|
|
137
|
-
if (musl) {
|
|
138
|
-
if (arch === "x64") {
|
|
139
|
-
if (baseline) return [`${base}-baseline-musl`, `${base}-musl`, `${base}-baseline`, base]
|
|
140
|
-
return [`${base}-musl`, `${base}-baseline-musl`, base, `${base}-baseline`]
|
|
141
|
-
}
|
|
142
|
-
return [`${base}-musl`, base]
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
if (arch === "x64") {
|
|
146
|
-
if (baseline) return [`${base}-baseline`, base, `${base}-baseline-musl`, `${base}-musl`]
|
|
147
|
-
return [base, `${base}-baseline`, `${base}-musl`, `${base}-baseline-musl`]
|
|
148
|
-
}
|
|
149
|
-
return [base, `${base}-musl`]
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
if (arch === "x64") {
|
|
153
|
-
if (baseline) return [`${base}-baseline`, base]
|
|
154
|
-
return [base, `${base}-baseline`]
|
|
155
|
-
}
|
|
156
|
-
return [base]
|
|
157
|
-
})()
|
|
158
|
-
|
|
159
|
-
function findBinary(startDir) {
|
|
160
|
-
let current = startDir
|
|
161
|
-
for (;;) {
|
|
162
|
-
const modules = path.join(current, "node_modules")
|
|
163
|
-
if (fs.existsSync(modules)) {
|
|
164
|
-
for (const name of names) {
|
|
165
|
-
const candidate = path.join(modules, name, "bin", binary)
|
|
166
|
-
if (fs.existsSync(candidate)) return candidate
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
const parent = path.dirname(current)
|
|
170
|
-
if (parent === current) {
|
|
171
|
-
return
|
|
172
|
-
}
|
|
173
|
-
current = parent
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
const resolved = findBinary(scriptDir)
|
|
178
|
-
if (!resolved) {
|
|
179
|
-
console.error(
|
|
180
|
-
"It seems that your package manager failed to install the right version of the SAEEOL CLI for your platform. You can try manually installing " +
|
|
181
|
-
names.map((n) => `\"${n}\"`).join(" or ") +
|
|
182
|
-
" package",
|
|
183
|
-
)
|
|
184
|
-
process.exit(1)
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
run(resolved)
|
package/bunfig.toml
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
preload = ["@opentui/solid/preload"]
|
|
2
|
-
|
|
3
|
-
[test]
|
|
4
|
-
preload = ["@opentui/solid/preload", "./test/preload.ts"]
|
|
5
|
-
# timeout is not actually parsed from bunfig.toml (see src/bunfig.zig in oven-sh/bun)
|
|
6
|
-
# using --timeout in package.json scripts instead
|
|
7
|
-
# https://github.com/oven-sh/bun/issues/7789
|
package/database.db
DELETED
|
Binary file
|
package/drizzle.config.ts
DELETED
package/git
DELETED
|
File without changes
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
CREATE TABLE `project` (
|
|
2
|
-
`id` text PRIMARY KEY,
|
|
3
|
-
`worktree` text NOT NULL,
|
|
4
|
-
`vcs` text,
|
|
5
|
-
`name` text,
|
|
6
|
-
`icon_url` text,
|
|
7
|
-
`icon_color` text,
|
|
8
|
-
`time_created` integer NOT NULL,
|
|
9
|
-
`time_updated` integer NOT NULL,
|
|
10
|
-
`time_initialized` integer,
|
|
11
|
-
`sandboxes` text NOT NULL
|
|
12
|
-
);
|
|
13
|
-
--> statement-breakpoint
|
|
14
|
-
CREATE TABLE `message` (
|
|
15
|
-
`id` text PRIMARY KEY,
|
|
16
|
-
`session_id` text NOT NULL,
|
|
17
|
-
`time_created` integer NOT NULL,
|
|
18
|
-
`time_updated` integer NOT NULL,
|
|
19
|
-
`data` text NOT NULL,
|
|
20
|
-
CONSTRAINT `fk_message_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE
|
|
21
|
-
);
|
|
22
|
-
--> statement-breakpoint
|
|
23
|
-
CREATE TABLE `part` (
|
|
24
|
-
`id` text PRIMARY KEY,
|
|
25
|
-
`message_id` text NOT NULL,
|
|
26
|
-
`session_id` text NOT NULL,
|
|
27
|
-
`time_created` integer NOT NULL,
|
|
28
|
-
`time_updated` integer NOT NULL,
|
|
29
|
-
`data` text NOT NULL,
|
|
30
|
-
CONSTRAINT `fk_part_message_id_message_id_fk` FOREIGN KEY (`message_id`) REFERENCES `message`(`id`) ON DELETE CASCADE
|
|
31
|
-
);
|
|
32
|
-
--> statement-breakpoint
|
|
33
|
-
CREATE TABLE `permission` (
|
|
34
|
-
`project_id` text PRIMARY KEY,
|
|
35
|
-
`time_created` integer NOT NULL,
|
|
36
|
-
`time_updated` integer NOT NULL,
|
|
37
|
-
`data` text NOT NULL,
|
|
38
|
-
CONSTRAINT `fk_permission_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE
|
|
39
|
-
);
|
|
40
|
-
--> statement-breakpoint
|
|
41
|
-
CREATE TABLE `session` (
|
|
42
|
-
`id` text PRIMARY KEY,
|
|
43
|
-
`project_id` text NOT NULL,
|
|
44
|
-
`parent_id` text,
|
|
45
|
-
`slug` text NOT NULL,
|
|
46
|
-
`directory` text NOT NULL,
|
|
47
|
-
`title` text NOT NULL,
|
|
48
|
-
`version` text NOT NULL,
|
|
49
|
-
`share_url` text,
|
|
50
|
-
`summary_additions` integer,
|
|
51
|
-
`summary_deletions` integer,
|
|
52
|
-
`summary_files` integer,
|
|
53
|
-
`summary_diffs` text,
|
|
54
|
-
`revert` text,
|
|
55
|
-
`permission` text,
|
|
56
|
-
`time_created` integer NOT NULL,
|
|
57
|
-
`time_updated` integer NOT NULL,
|
|
58
|
-
`time_compacting` integer,
|
|
59
|
-
`time_archived` integer,
|
|
60
|
-
CONSTRAINT `fk_session_project_id_project_id_fk` FOREIGN KEY (`project_id`) REFERENCES `project`(`id`) ON DELETE CASCADE
|
|
61
|
-
);
|
|
62
|
-
--> statement-breakpoint
|
|
63
|
-
CREATE TABLE `todo` (
|
|
64
|
-
`session_id` text NOT NULL,
|
|
65
|
-
`content` text NOT NULL,
|
|
66
|
-
`status` text NOT NULL,
|
|
67
|
-
`priority` text NOT NULL,
|
|
68
|
-
`position` integer NOT NULL,
|
|
69
|
-
`time_created` integer NOT NULL,
|
|
70
|
-
`time_updated` integer NOT NULL,
|
|
71
|
-
CONSTRAINT `todo_pk` PRIMARY KEY(`session_id`, `position`),
|
|
72
|
-
CONSTRAINT `fk_todo_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE
|
|
73
|
-
);
|
|
74
|
-
--> statement-breakpoint
|
|
75
|
-
CREATE TABLE `session_share` (
|
|
76
|
-
`session_id` text PRIMARY KEY,
|
|
77
|
-
`id` text NOT NULL,
|
|
78
|
-
`secret` text NOT NULL,
|
|
79
|
-
`url` text NOT NULL,
|
|
80
|
-
`time_created` integer NOT NULL,
|
|
81
|
-
`time_updated` integer NOT NULL,
|
|
82
|
-
CONSTRAINT `fk_session_share_session_id_session_id_fk` FOREIGN KEY (`session_id`) REFERENCES `session`(`id`) ON DELETE CASCADE
|
|
83
|
-
);
|
|
84
|
-
--> statement-breakpoint
|
|
85
|
-
CREATE INDEX `message_session_idx` ON `message` (`session_id`);--> statement-breakpoint
|
|
86
|
-
CREATE INDEX `part_message_idx` ON `part` (`message_id`);--> statement-breakpoint
|
|
87
|
-
CREATE INDEX `part_session_idx` ON `part` (`session_id`);--> statement-breakpoint
|
|
88
|
-
CREATE INDEX `session_project_idx` ON `session` (`project_id`);--> statement-breakpoint
|
|
89
|
-
CREATE INDEX `session_parent_idx` ON `session` (`parent_id`);--> statement-breakpoint
|
|
90
|
-
CREATE INDEX `todo_session_idx` ON `todo` (`session_id`);
|