nomoreide 0.1.103 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +72 -20
- package/bin/nomoreide.js +82 -0
- package/package.json +24 -90
- package/dist/cli/agents.d.ts +0 -2
- package/dist/cli/agents.js +0 -43
- package/dist/cli/agents.js.map +0 -1
- package/dist/cli/commands.d.ts +0 -11
- package/dist/cli/commands.js +0 -235
- package/dist/cli/commands.js.map +0 -1
- package/dist/cli/daemon.d.ts +0 -15
- package/dist/cli/daemon.js +0 -139
- package/dist/cli/daemon.js.map +0 -1
- package/dist/cli/database.d.ts +0 -2
- package/dist/cli/database.js +0 -145
- package/dist/cli/database.js.map +0 -1
- package/dist/cli/errors.d.ts +0 -2
- package/dist/cli/errors.js +0 -3
- package/dist/cli/errors.js.map +0 -1
- package/dist/cli/flags.d.ts +0 -1
- package/dist/cli/flags.js +0 -19
- package/dist/cli/flags.js.map +0 -1
- package/dist/cli/git.d.ts +0 -2
- package/dist/cli/git.js +0 -113
- package/dist/cli/git.js.map +0 -1
- package/dist/cli/profile.d.ts +0 -2
- package/dist/cli/profile.js +0 -171
- package/dist/cli/profile.js.map +0 -1
- package/dist/core/agent-context.d.ts +0 -9
- package/dist/core/agent-context.js +0 -43
- package/dist/core/agent-context.js.map +0 -1
- package/dist/core/agent-env/antigravity-reader.d.ts +0 -7
- package/dist/core/agent-env/antigravity-reader.js +0 -86
- package/dist/core/agent-env/antigravity-reader.js.map +0 -1
- package/dist/core/agent-env/availability.d.ts +0 -6
- package/dist/core/agent-env/availability.js +0 -79
- package/dist/core/agent-env/availability.js.map +0 -1
- package/dist/core/agent-env/claude-reader.d.ts +0 -7
- package/dist/core/agent-env/claude-reader.js +0 -101
- package/dist/core/agent-env/claude-reader.js.map +0 -1
- package/dist/core/agent-env/codex-reader.d.ts +0 -11
- package/dist/core/agent-env/codex-reader.js +0 -164
- package/dist/core/agent-env/codex-reader.js.map +0 -1
- package/dist/core/agent-env/index.d.ts +0 -9
- package/dist/core/agent-env/index.js +0 -29
- package/dist/core/agent-env/index.js.map +0 -1
- package/dist/core/agent-env/managed-plugins.d.ts +0 -18
- package/dist/core/agent-env/managed-plugins.js +0 -68
- package/dist/core/agent-env/managed-plugins.js.map +0 -1
- package/dist/core/agent-env/plugin-reader.d.ts +0 -9
- package/dist/core/agent-env/plugin-reader.js +0 -174
- package/dist/core/agent-env/plugin-reader.js.map +0 -1
- package/dist/core/agent-env/shared.d.ts +0 -26
- package/dist/core/agent-env/shared.js +0 -116
- package/dist/core/agent-env/shared.js.map +0 -1
- package/dist/core/agent-env/types.d.ts +0 -66
- package/dist/core/agent-env/types.js +0 -7
- package/dist/core/agent-env/types.js.map +0 -1
- package/dist/core/agent-env-actions.d.ts +0 -117
- package/dist/core/agent-env-actions.js +0 -273
- package/dist/core/agent-env-actions.js.map +0 -1
- package/dist/core/agent-env-plugin-uninstall.d.ts +0 -11
- package/dist/core/agent-env-plugin-uninstall.js +0 -189
- package/dist/core/agent-env-plugin-uninstall.js.map +0 -1
- package/dist/core/agent-env-writers.d.ts +0 -71
- package/dist/core/agent-env-writers.js +0 -632
- package/dist/core/agent-env-writers.js.map +0 -1
- package/dist/core/agent-profiles/apply.d.ts +0 -57
- package/dist/core/agent-profiles/apply.js +0 -209
- package/dist/core/agent-profiles/apply.js.map +0 -1
- package/dist/core/agent-profiles/builtin.d.ts +0 -8
- package/dist/core/agent-profiles/builtin.js +0 -33
- package/dist/core/agent-profiles/builtin.js.map +0 -1
- package/dist/core/agent-profiles/credentials.d.ts +0 -26
- package/dist/core/agent-profiles/credentials.js +0 -151
- package/dist/core/agent-profiles/credentials.js.map +0 -1
- package/dist/core/agent-profiles/debug-setup.d.ts +0 -18
- package/dist/core/agent-profiles/debug-setup.js +0 -237
- package/dist/core/agent-profiles/debug-setup.js.map +0 -1
- package/dist/core/agent-profiles/index.d.ts +0 -18
- package/dist/core/agent-profiles/index.js +0 -19
- package/dist/core/agent-profiles/index.js.map +0 -1
- package/dist/core/agent-profiles/plugin-apply.d.ts +0 -16
- package/dist/core/agent-profiles/plugin-apply.js +0 -383
- package/dist/core/agent-profiles/plugin-apply.js.map +0 -1
- package/dist/core/agent-profiles/plugin-bundle.d.ts +0 -6
- package/dist/core/agent-profiles/plugin-bundle.js +0 -32
- package/dist/core/agent-profiles/plugin-bundle.js.map +0 -1
- package/dist/core/agent-profiles/publication.d.ts +0 -105
- package/dist/core/agent-profiles/publication.js +0 -126
- package/dist/core/agent-profiles/publication.js.map +0 -1
- package/dist/core/agent-profiles/registry-auth.d.ts +0 -25
- package/dist/core/agent-profiles/registry-auth.js +0 -78
- package/dist/core/agent-profiles/registry-auth.js.map +0 -1
- package/dist/core/agent-profiles/registry-client.d.ts +0 -98
- package/dist/core/agent-profiles/registry-client.js +0 -109
- package/dist/core/agent-profiles/registry-client.js.map +0 -1
- package/dist/core/agent-profiles/registry-config.d.ts +0 -62
- package/dist/core/agent-profiles/registry-config.js +0 -221
- package/dist/core/agent-profiles/registry-config.js.map +0 -1
- package/dist/core/agent-profiles/registry-transfer.d.ts +0 -42
- package/dist/core/agent-profiles/registry-transfer.js +0 -133
- package/dist/core/agent-profiles/registry-transfer.js.map +0 -1
- package/dist/core/agent-profiles/store.d.ts +0 -62
- package/dist/core/agent-profiles/store.js +0 -479
- package/dist/core/agent-profiles/store.js.map +0 -1
- package/dist/core/agent-profiles/transfer.d.ts +0 -27
- package/dist/core/agent-profiles/transfer.js +0 -354
- package/dist/core/agent-profiles/transfer.js.map +0 -1
- package/dist/core/agent-profiles/types.d.ts +0 -364
- package/dist/core/agent-profiles/types.js +0 -79
- package/dist/core/agent-profiles/types.js.map +0 -1
- package/dist/core/agent-runtime.d.ts +0 -114
- package/dist/core/agent-runtime.js +0 -494
- package/dist/core/agent-runtime.js.map +0 -1
- package/dist/core/agent-sessions.d.ts +0 -46
- package/dist/core/agent-sessions.js +0 -109
- package/dist/core/agent-sessions.js.map +0 -1
- package/dist/core/agent-settings.d.ts +0 -31
- package/dist/core/agent-settings.js +0 -129
- package/dist/core/agent-settings.js.map +0 -1
- package/dist/core/agent-terminal.d.ts +0 -22
- package/dist/core/agent-terminal.js +0 -62
- package/dist/core/agent-terminal.js.map +0 -1
- package/dist/core/agent-transcripts.d.ts +0 -29
- package/dist/core/agent-transcripts.js +0 -281
- package/dist/core/agent-transcripts.js.map +0 -1
- package/dist/core/app-settings.d.ts +0 -74
- package/dist/core/app-settings.js +0 -118
- package/dist/core/app-settings.js.map +0 -1
- package/dist/core/app-version.d.ts +0 -2
- package/dist/core/app-version.js +0 -16
- package/dist/core/app-version.js.map +0 -1
- package/dist/core/approval-broker.d.ts +0 -29
- package/dist/core/approval-broker.js +0 -48
- package/dist/core/approval-broker.js.map +0 -1
- package/dist/core/claude-settings.d.ts +0 -18
- package/dist/core/claude-settings.js +0 -48
- package/dist/core/claude-settings.js.map +0 -1
- package/dist/core/cloudflare-actions.d.ts +0 -90
- package/dist/core/cloudflare-actions.js +0 -178
- package/dist/core/cloudflare-actions.js.map +0 -1
- package/dist/core/cloudflare-auth.d.ts +0 -61
- package/dist/core/cloudflare-auth.js +0 -149
- package/dist/core/cloudflare-auth.js.map +0 -1
- package/dist/core/cloudflare-context.d.ts +0 -2
- package/dist/core/cloudflare-context.js +0 -106
- package/dist/core/cloudflare-context.js.map +0 -1
- package/dist/core/cloudflare-manager.d.ts +0 -256
- package/dist/core/cloudflare-manager.js +0 -409
- package/dist/core/cloudflare-manager.js.map +0 -1
- package/dist/core/cloudflare-provider.d.ts +0 -64
- package/dist/core/cloudflare-provider.js +0 -343
- package/dist/core/cloudflare-provider.js.map +0 -1
- package/dist/core/config-files.d.ts +0 -27
- package/dist/core/config-files.js +0 -154
- package/dist/core/config-files.js.map +0 -1
- package/dist/core/config-store.d.ts +0 -181
- package/dist/core/config-store.js +0 -1026
- package/dist/core/config-store.js.map +0 -1
- package/dist/core/context-library.d.ts +0 -53
- package/dist/core/context-library.js +0 -605
- package/dist/core/context-library.js.map +0 -1
- package/dist/core/context-types.d.ts +0 -83
- package/dist/core/context-types.js +0 -9
- package/dist/core/context-types.js.map +0 -1
- package/dist/core/daemon-client.d.ts +0 -70
- package/dist/core/daemon-client.js +0 -136
- package/dist/core/daemon-client.js.map +0 -1
- package/dist/core/daemon-lifecycle.d.ts +0 -59
- package/dist/core/daemon-lifecycle.js +0 -147
- package/dist/core/daemon-lifecycle.js.map +0 -1
- package/dist/core/db/catalog.d.ts +0 -57
- package/dist/core/db/catalog.js +0 -38
- package/dist/core/db/catalog.js.map +0 -1
- package/dist/core/db/data-masking.d.ts +0 -3
- package/dist/core/db/data-masking.js +0 -14
- package/dist/core/db/data-masking.js.map +0 -1
- package/dist/core/db/driver.d.ts +0 -151
- package/dist/core/db/driver.js +0 -209
- package/dist/core/db/driver.js.map +0 -1
- package/dist/core/db/export.d.ts +0 -17
- package/dist/core/db/export.js +0 -67
- package/dist/core/db/export.js.map +0 -1
- package/dist/core/db/mysql-driver.d.ts +0 -33
- package/dist/core/db/mysql-driver.js +0 -364
- package/dist/core/db/mysql-driver.js.map +0 -1
- package/dist/core/db/postgres-driver.d.ts +0 -34
- package/dist/core/db/postgres-driver.js +0 -430
- package/dist/core/db/postgres-driver.js.map +0 -1
- package/dist/core/db/sqlite-driver.d.ts +0 -30
- package/dist/core/db/sqlite-driver.js +0 -301
- package/dist/core/db/sqlite-driver.js.map +0 -1
- package/dist/core/db-peek.d.ts +0 -99
- package/dist/core/db-peek.js +0 -322
- package/dist/core/db-peek.js.map +0 -1
- package/dist/core/db-write.d.ts +0 -45
- package/dist/core/db-write.js +0 -190
- package/dist/core/db-write.js.map +0 -1
- package/dist/core/docker-inspect.d.ts +0 -34
- package/dist/core/docker-inspect.js +0 -108
- package/dist/core/docker-inspect.js.map +0 -1
- package/dist/core/docker-resources.d.ts +0 -28
- package/dist/core/docker-resources.js +0 -59
- package/dist/core/docker-resources.js.map +0 -1
- package/dist/core/docker-service-runner.d.ts +0 -21
- package/dist/core/docker-service-runner.js +0 -80
- package/dist/core/docker-service-runner.js.map +0 -1
- package/dist/core/docker-stats.d.ts +0 -24
- package/dist/core/docker-stats.js +0 -76
- package/dist/core/docker-stats.js.map +0 -1
- package/dist/core/docker.d.ts +0 -75
- package/dist/core/docker.js +0 -219
- package/dist/core/docker.js.map +0 -1
- package/dist/core/env-file.d.ts +0 -24
- package/dist/core/env-file.js +0 -123
- package/dist/core/env-file.js.map +0 -1
- package/dist/core/env-runtime.d.ts +0 -32
- package/dist/core/env-runtime.js +0 -42
- package/dist/core/env-runtime.js.map +0 -1
- package/dist/core/error-inbox.d.ts +0 -91
- package/dist/core/error-inbox.js +0 -292
- package/dist/core/error-inbox.js.map +0 -1
- package/dist/core/extensions.d.ts +0 -78
- package/dist/core/extensions.js +0 -41
- package/dist/core/extensions.js.map +0 -1
- package/dist/core/external-terminal.d.ts +0 -60
- package/dist/core/external-terminal.js +0 -429
- package/dist/core/external-terminal.js.map +0 -1
- package/dist/core/fix-loop.d.ts +0 -55
- package/dist/core/fix-loop.js +0 -73
- package/dist/core/fix-loop.js.map +0 -1
- package/dist/core/git-actions.d.ts +0 -69
- package/dist/core/git-actions.js +0 -161
- package/dist/core/git-actions.js.map +0 -1
- package/dist/core/git-graph-layout.d.ts +0 -34
- package/dist/core/git-graph-layout.js +0 -94
- package/dist/core/git-graph-layout.js.map +0 -1
- package/dist/core/git-identity.d.ts +0 -78
- package/dist/core/git-identity.js +0 -178
- package/dist/core/git-identity.js.map +0 -1
- package/dist/core/git-manager.d.ts +0 -129
- package/dist/core/git-manager.js +0 -509
- package/dist/core/git-manager.js.map +0 -1
- package/dist/core/git-worktrees.d.ts +0 -35
- package/dist/core/git-worktrees.js +0 -142
- package/dist/core/git-worktrees.js.map +0 -1
- package/dist/core/github-auth.d.ts +0 -28
- package/dist/core/github-auth.js +0 -134
- package/dist/core/github-auth.js.map +0 -1
- package/dist/core/github-context.d.ts +0 -12
- package/dist/core/github-context.js +0 -36
- package/dist/core/github-context.js.map +0 -1
- package/dist/core/github-manager.d.ts +0 -223
- package/dist/core/github-manager.js +0 -285
- package/dist/core/github-manager.js.map +0 -1
- package/dist/core/host-metrics.d.ts +0 -41
- package/dist/core/host-metrics.js +0 -93
- package/dist/core/host-metrics.js.map +0 -1
- package/dist/core/http-inspector.d.ts +0 -20
- package/dist/core/http-inspector.js +0 -106
- package/dist/core/http-inspector.js.map +0 -1
- package/dist/core/jetbrains-import.d.ts +0 -85
- package/dist/core/jetbrains-import.js +0 -599
- package/dist/core/jetbrains-import.js.map +0 -1
- package/dist/core/log-sources.d.ts +0 -21
- package/dist/core/log-sources.js +0 -219
- package/dist/core/log-sources.js.map +0 -1
- package/dist/core/log-store.d.ts +0 -33
- package/dist/core/log-store.js +0 -94
- package/dist/core/log-store.js.map +0 -1
- package/dist/core/log-volume.d.ts +0 -41
- package/dist/core/log-volume.js +0 -81
- package/dist/core/log-volume.js.map +0 -1
- package/dist/core/mcp-auth.d.ts +0 -27
- package/dist/core/mcp-auth.js +0 -90
- package/dist/core/mcp-auth.js.map +0 -1
- package/dist/core/metrics-store.d.ts +0 -74
- package/dist/core/metrics-store.js +0 -187
- package/dist/core/metrics-store.js.map +0 -1
- package/dist/core/one-time-skills.d.ts +0 -27
- package/dist/core/one-time-skills.js +0 -185
- package/dist/core/one-time-skills.js.map +0 -1
- package/dist/core/port-utils.d.ts +0 -23
- package/dist/core/port-utils.js +0 -83
- package/dist/core/port-utils.js.map +0 -1
- package/dist/core/process-manager.d.ts +0 -99
- package/dist/core/process-manager.js +0 -738
- package/dist/core/process-manager.js.map +0 -1
- package/dist/core/process-tree.d.ts +0 -17
- package/dist/core/process-tree.js +0 -64
- package/dist/core/process-tree.js.map +0 -1
- package/dist/core/project-overview.d.ts +0 -52
- package/dist/core/project-overview.js +0 -122
- package/dist/core/project-overview.js.map +0 -1
- package/dist/core/providers/credentials.d.ts +0 -93
- package/dist/core/providers/credentials.js +0 -88
- package/dist/core/providers/credentials.js.map +0 -1
- package/dist/core/providers/deploy-provider.d.ts +0 -327
- package/dist/core/providers/deploy-provider.js +0 -25
- package/dist/core/providers/deploy-provider.js.map +0 -1
- package/dist/core/providers/egress.d.ts +0 -58
- package/dist/core/providers/egress.js +0 -115
- package/dist/core/providers/egress.js.map +0 -1
- package/dist/core/providers/host-bridge.d.ts +0 -20
- package/dist/core/providers/host-bridge.js +0 -57
- package/dist/core/providers/host-bridge.js.map +0 -1
- package/dist/core/providers/host-provider.d.ts +0 -160
- package/dist/core/providers/host-provider.js +0 -2
- package/dist/core/providers/host-provider.js.map +0 -1
- package/dist/core/providers/oauth.d.ts +0 -97
- package/dist/core/providers/oauth.js +0 -238
- package/dist/core/providers/oauth.js.map +0 -1
- package/dist/core/providers/project-resolution.d.ts +0 -81
- package/dist/core/providers/project-resolution.js +0 -101
- package/dist/core/providers/project-resolution.js.map +0 -1
- package/dist/core/providers/registry.d.ts +0 -73
- package/dist/core/providers/registry.js +0 -53
- package/dist/core/providers/registry.js.map +0 -1
- package/dist/core/providers/strings.d.ts +0 -95
- package/dist/core/providers/strings.js +0 -59
- package/dist/core/providers/strings.js.map +0 -1
- package/dist/core/public-config.d.ts +0 -18
- package/dist/core/public-config.js +0 -76
- package/dist/core/public-config.js.map +0 -1
- package/dist/core/read-only-files.d.ts +0 -28
- package/dist/core/read-only-files.js +0 -93
- package/dist/core/read-only-files.js.map +0 -1
- package/dist/core/repo-create.d.ts +0 -11
- package/dist/core/repo-create.js +0 -54
- package/dist/core/repo-create.js.map +0 -1
- package/dist/core/repo-match.d.ts +0 -12
- package/dist/core/repo-match.js +0 -40
- package/dist/core/repo-match.js.map +0 -1
- package/dist/core/repo-onboard.d.ts +0 -297
- package/dist/core/repo-onboard.js +0 -667
- package/dist/core/repo-onboard.js.map +0 -1
- package/dist/core/repro-bundle.d.ts +0 -30
- package/dist/core/repro-bundle.js +0 -116
- package/dist/core/repro-bundle.js.map +0 -1
- package/dist/core/service-graph.d.ts +0 -50
- package/dist/core/service-graph.js +0 -143
- package/dist/core/service-graph.js.map +0 -1
- package/dist/core/service-health.d.ts +0 -10
- package/dist/core/service-health.js +0 -46
- package/dist/core/service-health.js.map +0 -1
- package/dist/core/service-log-source.d.ts +0 -9
- package/dist/core/service-log-source.js +0 -49
- package/dist/core/service-log-source.js.map +0 -1
- package/dist/core/service-registry.d.ts +0 -52
- package/dist/core/service-registry.js +0 -101
- package/dist/core/service-registry.js.map +0 -1
- package/dist/core/snapshot-manager.d.ts +0 -62
- package/dist/core/snapshot-manager.js +0 -219
- package/dist/core/snapshot-manager.js.map +0 -1
- package/dist/core/ssh-servers.d.ts +0 -89
- package/dist/core/ssh-servers.js +0 -251
- package/dist/core/ssh-servers.js.map +0 -1
- package/dist/core/ssh-service-runner.d.ts +0 -7
- package/dist/core/ssh-service-runner.js +0 -36
- package/dist/core/ssh-service-runner.js.map +0 -1
- package/dist/core/ssh-setup.d.ts +0 -11
- package/dist/core/ssh-setup.js +0 -49
- package/dist/core/ssh-setup.js.map +0 -1
- package/dist/core/system-processes.d.ts +0 -29
- package/dist/core/system-processes.js +0 -119
- package/dist/core/system-processes.js.map +0 -1
- package/dist/core/terminal-manager.d.ts +0 -123
- package/dist/core/terminal-manager.js +0 -470
- package/dist/core/terminal-manager.js.map +0 -1
- package/dist/core/terminal-session.d.ts +0 -122
- package/dist/core/terminal-session.js +0 -242
- package/dist/core/terminal-session.js.map +0 -1
- package/dist/core/terminal-spawn.d.ts +0 -26
- package/dist/core/terminal-spawn.js +0 -63
- package/dist/core/terminal-spawn.js.map +0 -1
- package/dist/core/test-runner.d.ts +0 -69
- package/dist/core/test-runner.js +0 -199
- package/dist/core/test-runner.js.map +0 -1
- package/dist/core/timeline-store.d.ts +0 -20
- package/dist/core/timeline-store.js +0 -36
- package/dist/core/timeline-store.js.map +0 -1
- package/dist/core/tool-call-store.d.ts +0 -25
- package/dist/core/tool-call-store.js +0 -62
- package/dist/core/tool-call-store.js.map +0 -1
- package/dist/core/types.d.ts +0 -312
- package/dist/core/types.js +0 -2
- package/dist/core/types.js.map +0 -1
- package/dist/core/usage-history.d.ts +0 -81
- package/dist/core/usage-history.js +0 -149
- package/dist/core/usage-history.js.map +0 -1
- package/dist/core/vercel-actions.d.ts +0 -71
- package/dist/core/vercel-actions.js +0 -109
- package/dist/core/vercel-actions.js.map +0 -1
- package/dist/core/vercel-auth.d.ts +0 -40
- package/dist/core/vercel-auth.js +0 -88
- package/dist/core/vercel-auth.js.map +0 -1
- package/dist/core/vercel-context.d.ts +0 -2
- package/dist/core/vercel-context.js +0 -97
- package/dist/core/vercel-context.js.map +0 -1
- package/dist/core/vercel-manager.d.ts +0 -266
- package/dist/core/vercel-manager.js +0 -389
- package/dist/core/vercel-manager.js.map +0 -1
- package/dist/core/vercel-oauth.d.ts +0 -37
- package/dist/core/vercel-oauth.js +0 -51
- package/dist/core/vercel-oauth.js.map +0 -1
- package/dist/core/vercel-provider.d.ts +0 -23
- package/dist/core/vercel-provider.js +0 -271
- package/dist/core/vercel-provider.js.map +0 -1
- package/dist/core/vultr-actions.d.ts +0 -52
- package/dist/core/vultr-actions.js +0 -62
- package/dist/core/vultr-actions.js.map +0 -1
- package/dist/core/vultr-auth.d.ts +0 -32
- package/dist/core/vultr-auth.js +0 -54
- package/dist/core/vultr-auth.js.map +0 -1
- package/dist/core/vultr-context.d.ts +0 -2
- package/dist/core/vultr-context.js +0 -55
- package/dist/core/vultr-context.js.map +0 -1
- package/dist/core/vultr-manager.d.ts +0 -105
- package/dist/core/vultr-manager.js +0 -159
- package/dist/core/vultr-manager.js.map +0 -1
- package/dist/core/vultr-provider.d.ts +0 -69
- package/dist/core/vultr-provider.js +0 -224
- package/dist/core/vultr-provider.js.map +0 -1
- package/dist/core/workflow-triggers.d.ts +0 -139
- package/dist/core/workflow-triggers.js +0 -208
- package/dist/core/workflow-triggers.js.map +0 -1
- package/dist/core/workflows.d.ts +0 -290
- package/dist/core/workflows.js +0 -190
- package/dist/core/workflows.js.map +0 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -56
- package/dist/index.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -37
- package/dist/mcp/server.js +0 -84
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/tools/agent-env.d.ts +0 -9
- package/dist/mcp/tools/agent-env.js +0 -160
- package/dist/mcp/tools/agent-env.js.map +0 -1
- package/dist/mcp/tools/agent-profiles.d.ts +0 -9
- package/dist/mcp/tools/agent-profiles.js +0 -197
- package/dist/mcp/tools/agent-profiles.js.map +0 -1
- package/dist/mcp/tools/agent-registry.d.ts +0 -9
- package/dist/mcp/tools/agent-registry.js +0 -81
- package/dist/mcp/tools/agent-registry.js.map +0 -1
- package/dist/mcp/tools/agent.d.ts +0 -4
- package/dist/mcp/tools/agent.js +0 -29
- package/dist/mcp/tools/agent.js.map +0 -1
- package/dist/mcp/tools/context.d.ts +0 -36
- package/dist/mcp/tools/context.js +0 -69
- package/dist/mcp/tools/context.js.map +0 -1
- package/dist/mcp/tools/database.d.ts +0 -9
- package/dist/mcp/tools/database.js +0 -166
- package/dist/mcp/tools/database.js.map +0 -1
- package/dist/mcp/tools/docs.d.ts +0 -29
- package/dist/mcp/tools/docs.js +0 -125
- package/dist/mcp/tools/docs.js.map +0 -1
- package/dist/mcp/tools/errors.d.ts +0 -5
- package/dist/mcp/tools/errors.js +0 -40
- package/dist/mcp/tools/errors.js.map +0 -1
- package/dist/mcp/tools/git.d.ts +0 -4
- package/dist/mcp/tools/git.js +0 -208
- package/dist/mcp/tools/git.js.map +0 -1
- package/dist/mcp/tools/github.d.ts +0 -4
- package/dist/mcp/tools/github.js +0 -196
- package/dist/mcp/tools/github.js.map +0 -1
- package/dist/mcp/tools/index.d.ts +0 -20
- package/dist/mcp/tools/index.js +0 -60
- package/dist/mcp/tools/index.js.map +0 -1
- package/dist/mcp/tools/onboard.d.ts +0 -10
- package/dist/mcp/tools/onboard.js +0 -30
- package/dist/mcp/tools/onboard.js.map +0 -1
- package/dist/mcp/tools/provider.d.ts +0 -16
- package/dist/mcp/tools/provider.js +0 -110
- package/dist/mcp/tools/provider.js.map +0 -1
- package/dist/mcp/tools/services.d.ts +0 -11
- package/dist/mcp/tools/services.js +0 -200
- package/dist/mcp/tools/services.js.map +0 -1
- package/dist/mcp/tools/snapshots.d.ts +0 -8
- package/dist/mcp/tools/snapshots.js +0 -37
- package/dist/mcp/tools/snapshots.js.map +0 -1
- package/dist/mcp/tools/terminal.d.ts +0 -4
- package/dist/mcp/tools/terminal.js +0 -38
- package/dist/mcp/tools/terminal.js.map +0 -1
- package/dist/tui/app.d.ts +0 -22
- package/dist/tui/app.js +0 -138
- package/dist/tui/app.js.map +0 -1
- package/dist/web/agent-info.d.ts +0 -82
- package/dist/web/agent-info.js +0 -775
- package/dist/web/agent-info.js.map +0 -1
- package/dist/web/client/assets/SymbolsNerdFontMono-Regular-DDncdh2F.ttf +0 -0
- package/dist/web/client/assets/code-editor-B2_SPkzS.js +0 -30
- package/dist/web/client/assets/context-graph-DVrWyUaG.js +0 -7
- package/dist/web/client/assets/core-DhEqZVGG.js +0 -1
- package/dist/web/client/assets/event-BK_86lmQ.js +0 -1
- package/dist/web/client/assets/index-BhDAhmA1.js +0 -1
- package/dist/web/client/assets/index-DIspyq1R.js +0 -352
- package/dist/web/client/assets/index-DT9Uq0bE.css +0 -1
- package/dist/web/client/assets/nomoreide-favicon-Ds7Tgj9p.svg +0 -24
- package/dist/web/client/assets/system-process-table-CWZIisGo.js +0 -1
- package/dist/web/client/assets/window-DlR023_X.js +0 -1
- package/dist/web/client/index.html +0 -44
- package/dist/web/dashboard.d.ts +0 -61
- package/dist/web/dashboard.js +0 -221
- package/dist/web/dashboard.js.map +0 -1
- package/dist/web/directories.d.ts +0 -27
- package/dist/web/directories.js +0 -81
- package/dist/web/directories.js.map +0 -1
- package/dist/web/http-utils.d.ts +0 -13
- package/dist/web/http-utils.js +0 -72
- package/dist/web/http-utils.js.map +0 -1
- package/dist/web/routes/agent-chat-routes.d.ts +0 -3
- package/dist/web/routes/agent-chat-routes.js +0 -186
- package/dist/web/routes/agent-chat-routes.js.map +0 -1
- package/dist/web/routes/agent-env-routes.d.ts +0 -9
- package/dist/web/routes/agent-env-routes.js +0 -86
- package/dist/web/routes/agent-env-routes.js.map +0 -1
- package/dist/web/routes/agent-profile-routes.d.ts +0 -8
- package/dist/web/routes/agent-profile-routes.js +0 -211
- package/dist/web/routes/agent-profile-routes.js.map +0 -1
- package/dist/web/routes/agent-registry-routes.d.ts +0 -2
- package/dist/web/routes/agent-registry-routes.js +0 -361
- package/dist/web/routes/agent-registry-routes.js.map +0 -1
- package/dist/web/routes/agent-routes.d.ts +0 -3
- package/dist/web/routes/agent-routes.js +0 -73
- package/dist/web/routes/agent-routes.js.map +0 -1
- package/dist/web/routes/agent-settings-routes.d.ts +0 -8
- package/dist/web/routes/agent-settings-routes.js +0 -67
- package/dist/web/routes/agent-settings-routes.js.map +0 -1
- package/dist/web/routes/context-library-routes.d.ts +0 -2
- package/dist/web/routes/context-library-routes.js +0 -139
- package/dist/web/routes/context-library-routes.js.map +0 -1
- package/dist/web/routes/context.d.ts +0 -73
- package/dist/web/routes/context.js +0 -48
- package/dist/web/routes/context.js.map +0 -1
- package/dist/web/routes/dashboard-routes.d.ts +0 -3
- package/dist/web/routes/dashboard-routes.js +0 -47
- package/dist/web/routes/dashboard-routes.js.map +0 -1
- package/dist/web/routes/database-routes.d.ts +0 -3
- package/dist/web/routes/database-routes.js +0 -341
- package/dist/web/routes/database-routes.js.map +0 -1
- package/dist/web/routes/docker-routes.d.ts +0 -7
- package/dist/web/routes/docker-routes.js +0 -122
- package/dist/web/routes/docker-routes.js.map +0 -1
- package/dist/web/routes/errors-routes.d.ts +0 -3
- package/dist/web/routes/errors-routes.js +0 -77
- package/dist/web/routes/errors-routes.js.map +0 -1
- package/dist/web/routes/extensions-routes.d.ts +0 -14
- package/dist/web/routes/extensions-routes.js +0 -21
- package/dist/web/routes/extensions-routes.js.map +0 -1
- package/dist/web/routes/git-routes.d.ts +0 -3
- package/dist/web/routes/git-routes.js +0 -598
- package/dist/web/routes/git-routes.js.map +0 -1
- package/dist/web/routes/github-context.d.ts +0 -11
- package/dist/web/routes/github-context.js +0 -34
- package/dist/web/routes/github-context.js.map +0 -1
- package/dist/web/routes/github-routes.d.ts +0 -2
- package/dist/web/routes/github-routes.js +0 -699
- package/dist/web/routes/github-routes.js.map +0 -1
- package/dist/web/routes/host-routes.d.ts +0 -2
- package/dist/web/routes/host-routes.js +0 -188
- package/dist/web/routes/host-routes.js.map +0 -1
- package/dist/web/routes/index.d.ts +0 -10
- package/dist/web/routes/index.js +0 -72
- package/dist/web/routes/index.js.map +0 -1
- package/dist/web/routes/jetbrains-import-routes.d.ts +0 -2
- package/dist/web/routes/jetbrains-import-routes.js +0 -121
- package/dist/web/routes/jetbrains-import-routes.js.map +0 -1
- package/dist/web/routes/log-sources-routes.d.ts +0 -6
- package/dist/web/routes/log-sources-routes.js +0 -102
- package/dist/web/routes/log-sources-routes.js.map +0 -1
- package/dist/web/routes/metrics-routes.d.ts +0 -3
- package/dist/web/routes/metrics-routes.js +0 -60
- package/dist/web/routes/metrics-routes.js.map +0 -1
- package/dist/web/routes/onboard-routes.d.ts +0 -9
- package/dist/web/routes/onboard-routes.js +0 -146
- package/dist/web/routes/onboard-routes.js.map +0 -1
- package/dist/web/routes/overview-routes.d.ts +0 -2
- package/dist/web/routes/overview-routes.js +0 -36
- package/dist/web/routes/overview-routes.js.map +0 -1
- package/dist/web/routes/provider-routes.d.ts +0 -2
- package/dist/web/routes/provider-routes.js +0 -558
- package/dist/web/routes/provider-routes.js.map +0 -1
- package/dist/web/routes/service-routes.d.ts +0 -3
- package/dist/web/routes/service-routes.js +0 -511
- package/dist/web/routes/service-routes.js.map +0 -1
- package/dist/web/routes/settings-routes.d.ts +0 -2
- package/dist/web/routes/settings-routes.js +0 -151
- package/dist/web/routes/settings-routes.js.map +0 -1
- package/dist/web/routes/shell-routes.d.ts +0 -22
- package/dist/web/routes/shell-routes.js +0 -75
- package/dist/web/routes/shell-routes.js.map +0 -1
- package/dist/web/routes/skills-routes.d.ts +0 -2
- package/dist/web/routes/skills-routes.js +0 -49
- package/dist/web/routes/skills-routes.js.map +0 -1
- package/dist/web/routes/snapshot-routes.d.ts +0 -8
- package/dist/web/routes/snapshot-routes.js +0 -194
- package/dist/web/routes/snapshot-routes.js.map +0 -1
- package/dist/web/routes/ssh-server-routes.d.ts +0 -10
- package/dist/web/routes/ssh-server-routes.js +0 -163
- package/dist/web/routes/ssh-server-routes.js.map +0 -1
- package/dist/web/routes/terminal-routes.d.ts +0 -7
- package/dist/web/routes/terminal-routes.js +0 -313
- package/dist/web/routes/terminal-routes.js.map +0 -1
- package/dist/web/routes/workflow-routes.d.ts +0 -8
- package/dist/web/routes/workflow-routes.js +0 -45
- package/dist/web/routes/workflow-routes.js.map +0 -1
- package/dist/web/routes/workflow-trigger-routes.d.ts +0 -9
- package/dist/web/routes/workflow-trigger-routes.js +0 -78
- package/dist/web/routes/workflow-trigger-routes.js.map +0 -1
- package/dist/web/server.d.ts +0 -31
- package/dist/web/server.js +0 -325
- package/dist/web/server.js.map +0 -1
- package/dist/web/service-tester.d.ts +0 -16
- package/dist/web/service-tester.js +0 -107
- package/dist/web/service-tester.js.map +0 -1
- package/dist/web/static-assets.d.ts +0 -3
- package/dist/web/static-assets.js +0 -64
- package/dist/web/static-assets.js.map +0 -1
- package/dist/web/usage-info.d.ts +0 -56
- package/dist/web/usage-info.js +0 -265
- package/dist/web/usage-info.js.map +0 -1
package/dist/web/dashboard.js
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import { basename } from "node:path";
|
|
2
|
-
import { isGitWorktree } from "../core/config-store.js";
|
|
3
|
-
import { GitManager } from "../core/git-manager.js";
|
|
4
|
-
import { getPortBindingStatus, } from "../core/port-utils.js";
|
|
5
|
-
import { publicConfig } from "../core/public-config.js";
|
|
6
|
-
import { computeServiceHealth } from "../core/service-health.js";
|
|
7
|
-
/** How much of each service's tail health reasons over. */
|
|
8
|
-
const LOG_TAIL = 80;
|
|
9
|
-
/**
|
|
10
|
-
* How much of each service's tail rides along in the payload.
|
|
11
|
-
*
|
|
12
|
-
* Shorter than what health reads, because this one is multiplied by every
|
|
13
|
-
* service that has ever logged and goes over the wire on every poll. Forty
|
|
14
|
-
* lines is more than the Logs panel shows and more than the agent context
|
|
15
|
-
* quotes, so nothing downstream is short of material.
|
|
16
|
-
*/
|
|
17
|
-
const PAYLOAD_TAIL = 40;
|
|
18
|
-
export async function buildDashboardPayload(options) {
|
|
19
|
-
let config = await options.configStore.load();
|
|
20
|
-
let selectedGitRepository = getSelectedGitRepository(config);
|
|
21
|
-
// If the user has no Git projects registered yet, auto-adopt the process cwd
|
|
22
|
-
// when it's a real Git worktree. If it isn't, leave the repo unselected so the
|
|
23
|
-
// UI can show its empty state (matching the Database tab) instead of pointing
|
|
24
|
-
// at a non-repo folder.
|
|
25
|
-
if (!selectedGitRepository && config.gitRepositories.length === 0) {
|
|
26
|
-
if (await isGitWorktree(options.cwd)) {
|
|
27
|
-
try {
|
|
28
|
-
config = await options.configStore.registerGitRepository({
|
|
29
|
-
name: basename(options.cwd) || "repo",
|
|
30
|
-
path: options.cwd,
|
|
31
|
-
});
|
|
32
|
-
selectedGitRepository = getSelectedGitRepository(config);
|
|
33
|
-
}
|
|
34
|
-
catch {
|
|
35
|
-
// Fall through — empty state will be shown.
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
const gitCwd = selectedGitRepository
|
|
40
|
-
? await selectedGitCwd(options.configStore, selectedGitRepository.path)
|
|
41
|
-
: "";
|
|
42
|
-
const runtime = await options.manager.statusWithResources();
|
|
43
|
-
const [gitStatus, branches, ports] = await Promise.all([
|
|
44
|
-
gitCwd ? readGitStatus(gitCwd) : Promise.resolve(undefined),
|
|
45
|
-
gitCwd ? readGitBranches(gitCwd) : Promise.resolve(undefined),
|
|
46
|
-
buildPortOverview(config, runtime.services),
|
|
47
|
-
]);
|
|
48
|
-
const timeline = options.timelineStore.read(120);
|
|
49
|
-
const serviceLogs = readServiceLogs(config, options.logStore);
|
|
50
|
-
const health = buildHealthOverview({
|
|
51
|
-
config,
|
|
52
|
-
ports,
|
|
53
|
-
runtimeServices: runtime.services,
|
|
54
|
-
serviceLogs,
|
|
55
|
-
timeline,
|
|
56
|
-
});
|
|
57
|
-
return {
|
|
58
|
-
ok: true,
|
|
59
|
-
cwd: options.cwd,
|
|
60
|
-
config: publicConfig(config),
|
|
61
|
-
runtime,
|
|
62
|
-
ports,
|
|
63
|
-
health,
|
|
64
|
-
timeline,
|
|
65
|
-
logs: mergeServiceLogs(serviceLogs),
|
|
66
|
-
git: {
|
|
67
|
-
cwd: gitCwd,
|
|
68
|
-
selectedRepository: selectedGitRepository ?? null,
|
|
69
|
-
status: gitStatus ?? null,
|
|
70
|
-
branches: branches ?? [],
|
|
71
|
-
error: !gitCwd
|
|
72
|
-
? undefined
|
|
73
|
-
: gitStatus
|
|
74
|
-
? undefined
|
|
75
|
-
: `Not a Git repository: ${gitCwd}`,
|
|
76
|
-
},
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Every registered service's tail, read once.
|
|
81
|
-
*
|
|
82
|
-
* Health wants it per service and the Output panel wants the liveliest one, so
|
|
83
|
-
* reading the ring buffer twice would only be a way for the two to disagree
|
|
84
|
-
* about the same in-memory array.
|
|
85
|
-
*/
|
|
86
|
-
function readServiceLogs(config, logStore) {
|
|
87
|
-
return new Map(config.services.map((service) => [service.name, logStore.read(service.name, LOG_TAIL)]));
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Every service's tail, in one chronological list.
|
|
91
|
-
*
|
|
92
|
-
* This field used to carry a single service — `config.services[0]`, which is
|
|
93
|
-
* registration order and therefore arbitrary. It meant the Logs panel could
|
|
94
|
-
* only ever show one service, and *which* one came down to a race: two services
|
|
95
|
-
* started 200ms apart, and the later one hid the other completely.
|
|
96
|
-
*
|
|
97
|
-
* Carrying all of them lets the panel offer a tab per service and lets the
|
|
98
|
-
* agent context quote whichever service is being asked about, without either
|
|
99
|
-
* needing a request of its own. Consumers that want one service filter by
|
|
100
|
-
* `entry.service` — `project-scope.ts` already did.
|
|
101
|
-
*
|
|
102
|
-
* Timestamps are compared as strings because `LogStore` writes them all with
|
|
103
|
-
* `toISOString()` — same width, same UTC offset, so lexical order is
|
|
104
|
-
* chronological order. The sort is stable, so a service's own lines keep their
|
|
105
|
-
* relative order even when a burst shares a millisecond.
|
|
106
|
-
*/
|
|
107
|
-
export function mergeServiceLogs(serviceLogs) {
|
|
108
|
-
return [...serviceLogs.values()]
|
|
109
|
-
.flatMap((lines) => lines.slice(-PAYLOAD_TAIL))
|
|
110
|
-
.sort((a, b) => (a.timestamp < b.timestamp ? -1 : a.timestamp > b.timestamp ? 1 : 0));
|
|
111
|
-
}
|
|
112
|
-
function buildHealthOverview(options) {
|
|
113
|
-
return Object.fromEntries(options.config.services.map((service) => [
|
|
114
|
-
service.name,
|
|
115
|
-
computeServiceHealth({
|
|
116
|
-
service,
|
|
117
|
-
status: options.runtimeServices[service.name],
|
|
118
|
-
ports: options.ports.filter((port) => port.services.includes(service.name)),
|
|
119
|
-
logs: options.serviceLogs.get(service.name) ?? [],
|
|
120
|
-
timeline: options.timeline.filter((event) => event.service === service.name),
|
|
121
|
-
}),
|
|
122
|
-
]));
|
|
123
|
-
}
|
|
124
|
-
async function buildPortOverview(config, runtimeServices) {
|
|
125
|
-
const ports = new Map();
|
|
126
|
-
for (const service of config.services) {
|
|
127
|
-
if (service.port) {
|
|
128
|
-
const entry = getPortEntry(ports, service.port);
|
|
129
|
-
entry.services.add(service.name);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
for (const status of Object.values(runtimeServices)) {
|
|
133
|
-
if (!status.url)
|
|
134
|
-
continue;
|
|
135
|
-
const port = portFromUrl(status.url);
|
|
136
|
-
if (!port)
|
|
137
|
-
continue;
|
|
138
|
-
const entry = getPortEntry(ports, port);
|
|
139
|
-
entry.services.add(status.name);
|
|
140
|
-
entry.urls.add(status.url);
|
|
141
|
-
}
|
|
142
|
-
return Promise.all([...ports.entries()]
|
|
143
|
-
.sort(([left], [right]) => left - right)
|
|
144
|
-
.map(async ([port, entry]) => {
|
|
145
|
-
const binding = await getPortBindingStatus(port);
|
|
146
|
-
const managed = [...entry.services].some((serviceName) => {
|
|
147
|
-
const status = runtimeServices[serviceName];
|
|
148
|
-
const urlPort = portFromUrl(status?.url);
|
|
149
|
-
return (status?.state === "running" &&
|
|
150
|
-
(urlPort === port ||
|
|
151
|
-
(urlPort === undefined &&
|
|
152
|
-
config.services.some((service) => service.name === serviceName && service.port === port))));
|
|
153
|
-
});
|
|
154
|
-
return {
|
|
155
|
-
port,
|
|
156
|
-
available: binding.available,
|
|
157
|
-
hosts: binding.hosts,
|
|
158
|
-
state: managed ? "managed" : binding.available ? "available" : "occupied",
|
|
159
|
-
services: [...entry.services].sort(),
|
|
160
|
-
urls: [...entry.urls].sort(),
|
|
161
|
-
};
|
|
162
|
-
}));
|
|
163
|
-
}
|
|
164
|
-
function getPortEntry(ports, port) {
|
|
165
|
-
let entry = ports.get(port);
|
|
166
|
-
if (!entry) {
|
|
167
|
-
entry = { services: new Set(), urls: new Set() };
|
|
168
|
-
ports.set(port, entry);
|
|
169
|
-
}
|
|
170
|
-
return entry;
|
|
171
|
-
}
|
|
172
|
-
function portFromUrl(url) {
|
|
173
|
-
if (!url)
|
|
174
|
-
return undefined;
|
|
175
|
-
try {
|
|
176
|
-
const parsed = new URL(url);
|
|
177
|
-
return parsed.port ? Number(parsed.port) : undefined;
|
|
178
|
-
}
|
|
179
|
-
catch {
|
|
180
|
-
return undefined;
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
export function getSelectedGitRepository(config) {
|
|
184
|
-
return (config.gitRepositories.find((repository) => repository.name === config.selectedGitRepository) ?? config.gitRepositories[0]);
|
|
185
|
-
}
|
|
186
|
-
async function readGitStatus(cwd) {
|
|
187
|
-
try {
|
|
188
|
-
return await new GitManager(cwd).status();
|
|
189
|
-
}
|
|
190
|
-
catch {
|
|
191
|
-
return undefined;
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
async function readGitBranches(cwd) {
|
|
195
|
-
try {
|
|
196
|
-
return await new GitManager(cwd).branches();
|
|
197
|
-
}
|
|
198
|
-
catch {
|
|
199
|
-
return undefined;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
export async function readGitDiff(cwd, path) {
|
|
203
|
-
try {
|
|
204
|
-
return await new GitManager(cwd).diff(path);
|
|
205
|
-
}
|
|
206
|
-
catch {
|
|
207
|
-
return undefined;
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
export async function selectedGitCwd(configStore, fallbackCwd) {
|
|
211
|
-
const config = await configStore.load();
|
|
212
|
-
const repository = getSelectedGitRepository(config);
|
|
213
|
-
if (!repository)
|
|
214
|
-
return fallbackCwd;
|
|
215
|
-
if (repository.activeWorktreePath &&
|
|
216
|
-
await isGitWorktree(repository.activeWorktreePath)) {
|
|
217
|
-
return repository.activeWorktreePath;
|
|
218
|
-
}
|
|
219
|
-
return repository.path;
|
|
220
|
-
}
|
|
221
|
-
//# sourceMappingURL=dashboard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/web/dashboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,aAAa,EAAoB,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAkB,MAAM,wBAAwB,CAAC;AAEpE,OAAO,EACL,oBAAoB,GAErB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAUjE,2DAA2D;AAC3D,MAAM,QAAQ,GAAG,EAAE,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,YAAY,GAAG,EAAE,CAAC;AAExB,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAM3C;IACC,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAE7D,6EAA6E;IAC7E,+EAA+E;IAC/E,8EAA8E;IAC9E,wBAAwB;IACxB,IAAI,CAAC,qBAAqB,IAAI,MAAM,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,IAAI,MAAM,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,qBAAqB,CAAC;oBACvD,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM;oBACrC,IAAI,EAAE,OAAO,CAAC,GAAG;iBAClB,CAAC,CAAC;gBACH,qBAAqB,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,4CAA4C;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB;QAClC,CAAC,CAAC,MAAM,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,qBAAqB,CAAC,IAAI,CAAC;QACvE,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAC5D,MAAM,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACrD,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAC3D,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;QAC7D,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC;KAC5C,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACjC,MAAM;QACN,KAAK;QACL,eAAe,EAAE,OAAO,CAAC,QAAQ;QACjC,WAAW;QACX,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO;QACL,EAAE,EAAE,IAAI;QACR,GAAG,EAAE,OAAO,CAAC,GAAG;QAChB,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC;QAC5B,OAAO;QACP,KAAK;QACL,MAAM;QACN,QAAQ;QACR,IAAI,EAAE,gBAAgB,CAAC,WAAW,CAAC;QACnC,GAAG,EAAE;YACH,GAAG,EAAE,MAAM;YACX,kBAAkB,EAAE,qBAAqB,IAAI,IAAI;YACjD,MAAM,EAAE,SAAS,IAAI,IAAI;YACzB,QAAQ,EAAE,QAAQ,IAAI,EAAE;YACxB,KAAK,EAAE,CAAC,MAAM;gBACZ,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS;oBACT,CAAC,CAAC,SAAS;oBACX,CAAC,CAAC,yBAAyB,MAAM,EAAE;SACxC;KACF,CAAC;AACJ,CAAC;AAWD;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,MAAuB,EACvB,QAAkB;IAElB,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CACxF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAoC;IACnE,OAAO,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;SAC7B,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC;SAC9C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,mBAAmB,CAAC,OAM5B;IACC,OAAO,MAAM,CAAC,WAAW,CACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QACvC,OAAO,CAAC,IAAI;QACZ,oBAAoB,CAAC;YACnB,OAAO;YACP,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;YAC7C,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACjD,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC;SAC7E,CAAC;KACH,CAAC,CACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAAuB,EACvB,eAA8C;IAE9C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwD,CAAC;IAE9E,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,GAAG;YAAE,SAAS;QAC1B,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACxC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;SACjB,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC;SACvC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACvD,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACzC,OAAO,CACL,MAAM,EAAE,KAAK,KAAK,SAAS;gBAC3B,CAAC,OAAO,KAAK,IAAI;oBACf,CAAC,OAAO,KAAK,SAAS;wBACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,CACnE,CAAC,CAAC,CACR,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,IAAI;YACJ,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU;YACzE,QAAQ,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;YACpC,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;SAC7B,CAAC;IACJ,CAAC,CAAC,CACL,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CACnB,KAAgE,EAChE,IAAY;IAEZ,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,QAAQ,EAAE,IAAI,GAAG,EAAU,EAAE,IAAI,EAAE,IAAI,GAAG,EAAU,EAAE,CAAC;QACjE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,GAAuB;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAAgD;IAEhD,OAAO,CACL,MAAM,CAAC,eAAe,CAAC,IAAI,CACzB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,KAAK,MAAM,CAAC,qBAAqB,CACjE,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAC/B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,GAAW;IACtC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,GAAW;IACxC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,GAAW,EACX,IAAY;IAEZ,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAwB,EACxB,WAAmB;IAEnB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,UAAU;QAAE,OAAO,WAAW,CAAC;IACpC,IACE,UAAU,CAAC,kBAAkB;QAC7B,MAAM,aAAa,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAClD,CAAC;QACD,OAAO,UAAU,CAAC,kBAAkB,CAAC;IACvC,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC;AACzB,CAAC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Virtual "This PC" root shown above the drive letters on Windows. `dirname`
|
|
3
|
-
* treats a drive root (`C:\`) as its own parent, so without this sentinel the
|
|
4
|
-
* picker dead-ends on whichever drive it started on and can never reach `D:\`
|
|
5
|
-
* etc. We surface this as the parent of any drive root and, when asked to list
|
|
6
|
-
* it, enumerate the available drives instead of hitting the filesystem.
|
|
7
|
-
*/
|
|
8
|
-
export declare const WINDOWS_DRIVES_ROOT = "This PC";
|
|
9
|
-
/**
|
|
10
|
-
* List the contents of a directory for in-app browsing. Folders only by
|
|
11
|
-
* default (the service cwd / repo pickers); pass `includeFiles` for the agent
|
|
12
|
-
* dock's file picker, which needs to attach individual files too.
|
|
13
|
-
*/
|
|
14
|
-
export declare function listDirectories(path: string, { includeFiles }?: {
|
|
15
|
-
includeFiles?: boolean;
|
|
16
|
-
}): Promise<{
|
|
17
|
-
ok: boolean;
|
|
18
|
-
path: string;
|
|
19
|
-
parent: string;
|
|
20
|
-
entries: {
|
|
21
|
-
name: string;
|
|
22
|
-
path: string;
|
|
23
|
-
isDir: boolean;
|
|
24
|
-
}[];
|
|
25
|
-
}>;
|
|
26
|
-
/** Parent of a path, or the drives root on Windows when at a drive root. */
|
|
27
|
-
export declare function parentOf(resolvedPath: string): string;
|
package/dist/web/directories.js
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { access, readdir } from "node:fs/promises";
|
|
2
|
-
import { posix, win32 } from "node:path";
|
|
3
|
-
const ignoredDirectoryNames = new Set([".git", "node_modules"]);
|
|
4
|
-
// Evaluated per-call (not cached) so tests can exercise the Windows path.
|
|
5
|
-
const isWindows = () => process.platform === "win32";
|
|
6
|
-
// Resolve paths with the platform's own rules. On real Windows `node:path`
|
|
7
|
-
// already maps to `win32`; selecting it explicitly means a `win32`-stubbed
|
|
8
|
-
// test runs genuine Windows path semantics on any host (POSIX `dirname("C:\\")`
|
|
9
|
-
// is `"."`, whereas `win32.dirname("C:\\")` is `"C:\\"` — the whole bug).
|
|
10
|
-
const pathLib = () => (isWindows() ? win32 : posix);
|
|
11
|
-
/**
|
|
12
|
-
* Virtual "This PC" root shown above the drive letters on Windows. `dirname`
|
|
13
|
-
* treats a drive root (`C:\`) as its own parent, so without this sentinel the
|
|
14
|
-
* picker dead-ends on whichever drive it started on and can never reach `D:\`
|
|
15
|
-
* etc. We surface this as the parent of any drive root and, when asked to list
|
|
16
|
-
* it, enumerate the available drives instead of hitting the filesystem.
|
|
17
|
-
*/
|
|
18
|
-
export const WINDOWS_DRIVES_ROOT = "This PC";
|
|
19
|
-
/**
|
|
20
|
-
* List the contents of a directory for in-app browsing. Folders only by
|
|
21
|
-
* default (the service cwd / repo pickers); pass `includeFiles` for the agent
|
|
22
|
-
* dock's file picker, which needs to attach individual files too.
|
|
23
|
-
*/
|
|
24
|
-
export async function listDirectories(path, { includeFiles = false } = {}) {
|
|
25
|
-
if (isWindows() && path === WINDOWS_DRIVES_ROOT) {
|
|
26
|
-
return listWindowsDrives();
|
|
27
|
-
}
|
|
28
|
-
const resolvedPath = pathLib().resolve(path);
|
|
29
|
-
const dirents = await readdir(resolvedPath, { withFileTypes: true });
|
|
30
|
-
const entries = dirents
|
|
31
|
-
.filter((entry) => entry.isDirectory()
|
|
32
|
-
? !ignoredDirectoryNames.has(entry.name)
|
|
33
|
-
: includeFiles && entry.isFile())
|
|
34
|
-
.map((entry) => ({
|
|
35
|
-
name: entry.name,
|
|
36
|
-
path: pathLib().resolve(resolvedPath, entry.name),
|
|
37
|
-
isDir: entry.isDirectory(),
|
|
38
|
-
}))
|
|
39
|
-
// Folders first, then files, each alphabetical.
|
|
40
|
-
.sort((left, right) => left.isDir === right.isDir
|
|
41
|
-
? left.name.localeCompare(right.name)
|
|
42
|
-
: left.isDir
|
|
43
|
-
? -1
|
|
44
|
-
: 1);
|
|
45
|
-
return {
|
|
46
|
-
ok: true,
|
|
47
|
-
path: resolvedPath,
|
|
48
|
-
parent: parentOf(resolvedPath),
|
|
49
|
-
entries,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
/** Parent of a path, or the drives root on Windows when at a drive root. */
|
|
53
|
-
export function parentOf(resolvedPath) {
|
|
54
|
-
const parent = pathLib().dirname(resolvedPath);
|
|
55
|
-
if (isWindows() && parent === resolvedPath)
|
|
56
|
-
return WINDOWS_DRIVES_ROOT;
|
|
57
|
-
return parent;
|
|
58
|
-
}
|
|
59
|
-
/** Enumerate available Windows drive letters as a "This PC" listing. */
|
|
60
|
-
async function listWindowsDrives() {
|
|
61
|
-
// Skip A:/B: to avoid the legacy "no floppy disk" prompt; C:–Z: covers every
|
|
62
|
-
// realistic fixed/removable/network drive.
|
|
63
|
-
const letters = Array.from({ length: 24 }, (_, i) => String.fromCharCode(67 + i));
|
|
64
|
-
const drives = await Promise.all(letters.map(async (letter) => {
|
|
65
|
-
const root = `${letter}:\\`;
|
|
66
|
-
try {
|
|
67
|
-
await access(root);
|
|
68
|
-
return { name: `${letter}:`, path: root, isDir: true };
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
return null;
|
|
72
|
-
}
|
|
73
|
-
}));
|
|
74
|
-
return {
|
|
75
|
-
ok: true,
|
|
76
|
-
path: WINDOWS_DRIVES_ROOT,
|
|
77
|
-
parent: WINDOWS_DRIVES_ROOT,
|
|
78
|
-
entries: drives.filter((drive) => drive !== null),
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=directories.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"directories.js","sourceRoot":"","sources":["../../src/web/directories.ts"],"names":[],"mappings":"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"}
|
package/dist/web/http-utils.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { IncomingMessage, ServerResponse } from "node:http";
|
|
2
|
-
export declare function sendHtml(response: ServerResponse, html: string, status?: number): void;
|
|
3
|
-
export declare function sendText(response: ServerResponse, text: string, status?: number): void;
|
|
4
|
-
export declare function sendHead(response: ServerResponse, contentType: string, status?: number): void;
|
|
5
|
-
export declare function sendJson(response: ServerResponse, data: unknown, status?: number): void;
|
|
6
|
-
export declare function readForm(request: IncomingMessage): Promise<URLSearchParams>;
|
|
7
|
-
/** Read a JSON request body, returning `{}` for an empty or invalid payload. */
|
|
8
|
-
export declare function readJson(request: IncomingMessage, maxBytes?: number): Promise<Record<string, unknown>>;
|
|
9
|
-
export declare class RequestBodyTooLargeError extends Error {
|
|
10
|
-
constructor();
|
|
11
|
-
}
|
|
12
|
-
export declare function requiredFormValue(form: URLSearchParams, key: string): string;
|
|
13
|
-
export declare function optionalFormValue(form: URLSearchParams, key: string): string | undefined;
|
package/dist/web/http-utils.js
DELETED
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
export function sendHtml(response, html, status = 200) {
|
|
2
|
-
response.writeHead(status, {
|
|
3
|
-
"content-type": "text/html; charset=utf-8",
|
|
4
|
-
});
|
|
5
|
-
response.end(html);
|
|
6
|
-
}
|
|
7
|
-
export function sendText(response, text, status = 200) {
|
|
8
|
-
response.writeHead(status, {
|
|
9
|
-
"content-type": "text/plain; charset=utf-8",
|
|
10
|
-
});
|
|
11
|
-
response.end(text);
|
|
12
|
-
}
|
|
13
|
-
export function sendHead(response, contentType, status = 200) {
|
|
14
|
-
response.writeHead(status, {
|
|
15
|
-
"content-type": contentType,
|
|
16
|
-
});
|
|
17
|
-
response.end();
|
|
18
|
-
}
|
|
19
|
-
export function sendJson(response, data, status = 200) {
|
|
20
|
-
response.writeHead(status, {
|
|
21
|
-
"content-type": "application/json; charset=utf-8",
|
|
22
|
-
});
|
|
23
|
-
response.end(JSON.stringify(data));
|
|
24
|
-
}
|
|
25
|
-
export async function readForm(request) {
|
|
26
|
-
const chunks = [];
|
|
27
|
-
for await (const chunk of request) {
|
|
28
|
-
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
29
|
-
}
|
|
30
|
-
return new URLSearchParams(Buffer.concat(chunks).toString("utf8"));
|
|
31
|
-
}
|
|
32
|
-
/** Read a JSON request body, returning `{}` for an empty or invalid payload. */
|
|
33
|
-
export async function readJson(request, maxBytes = Number.POSITIVE_INFINITY) {
|
|
34
|
-
const chunks = [];
|
|
35
|
-
let bytes = 0;
|
|
36
|
-
for await (const chunk of request) {
|
|
37
|
-
const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
|
|
38
|
-
bytes += buffer.length;
|
|
39
|
-
if (bytes > maxBytes)
|
|
40
|
-
throw new RequestBodyTooLargeError();
|
|
41
|
-
chunks.push(buffer);
|
|
42
|
-
}
|
|
43
|
-
const raw = Buffer.concat(chunks).toString("utf8").trim();
|
|
44
|
-
if (!raw)
|
|
45
|
-
return {};
|
|
46
|
-
try {
|
|
47
|
-
const parsed = JSON.parse(raw);
|
|
48
|
-
return parsed && typeof parsed === "object"
|
|
49
|
-
? parsed
|
|
50
|
-
: {};
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
return {};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
export class RequestBodyTooLargeError extends Error {
|
|
57
|
-
constructor() {
|
|
58
|
-
super("Request body is too large.");
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
export function requiredFormValue(form, key) {
|
|
62
|
-
const value = form.get(key)?.trim();
|
|
63
|
-
if (!value) {
|
|
64
|
-
throw new Error(`${key} is required`);
|
|
65
|
-
}
|
|
66
|
-
return value;
|
|
67
|
-
}
|
|
68
|
-
export function optionalFormValue(form, key) {
|
|
69
|
-
const value = form.get(key)?.trim();
|
|
70
|
-
return value || undefined;
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=http-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-utils.js","sourceRoot":"","sources":["../../src/web/http-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { AgentRuntime, approvalsEnabled, CHAT_PROVIDERS, isAgentAvailable, providerById, publicProviderInfo, resolveChatProvider, } from "../../core/agent-runtime.js";
|
|
2
|
-
import { detectAgent } from "../agent-info.js";
|
|
3
|
-
import { sendJson } from "../http-utils.js";
|
|
4
|
-
import { errorMessage, route } from "./context.js";
|
|
5
|
-
/** Headless agent runtime used by workflows and structured result generators. */
|
|
6
|
-
export const agentChatRoutes = [
|
|
7
|
-
route("GET", "/api/agent/chat/status", async ({ response, configStore }) => {
|
|
8
|
-
const [detected, config] = await Promise.all([detectAgent(), configStore.load()]);
|
|
9
|
-
const provider = resolveChatProvider(detected.name, config.chatProvider);
|
|
10
|
-
// Probe every provider so terminal and headless tasks can select an installed CLI.
|
|
11
|
-
const providers = await Promise.all(CHAT_PROVIDERS.map(async (candidate) => ({
|
|
12
|
-
...publicProviderInfo(candidate),
|
|
13
|
-
configured: await isAgentAvailable(candidate),
|
|
14
|
-
})));
|
|
15
|
-
sendJson(response, {
|
|
16
|
-
ok: true,
|
|
17
|
-
configured: await isAgentAvailable(provider),
|
|
18
|
-
approvals: approvalsEnabled(provider),
|
|
19
|
-
provider: publicProviderInfo(provider),
|
|
20
|
-
providers,
|
|
21
|
-
models: config.chatModels ?? {},
|
|
22
|
-
});
|
|
23
|
-
}),
|
|
24
|
-
// Persist the model new sessions spawn with, per provider. A null/absent
|
|
25
|
-
// model clears the pin rather than storing an empty string.
|
|
26
|
-
route("POST", "/api/agent/chat/model", async ({ request, response, configStore }) => {
|
|
27
|
-
let body;
|
|
28
|
-
try {
|
|
29
|
-
body = (await readJsonBody(request));
|
|
30
|
-
}
|
|
31
|
-
catch (error) {
|
|
32
|
-
sendJson(response, { ok: false, error: errorMessage(error) }, 400);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
const provider = providerById(typeof body.provider === "string" ? body.provider : undefined);
|
|
36
|
-
if (!provider) {
|
|
37
|
-
sendJson(response, { ok: false, error: "Unknown chat provider." }, 400);
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
if (body.model !== undefined && body.model !== null && typeof body.model !== "string") {
|
|
41
|
-
sendJson(response, { ok: false, error: "Model must be a string." }, 400);
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
const requested = typeof body.model === "string" ? body.model.trim() : "";
|
|
45
|
-
if (requested.length > 64) {
|
|
46
|
-
sendJson(response, { ok: false, error: "Model name is too long." }, 400);
|
|
47
|
-
return;
|
|
48
|
-
}
|
|
49
|
-
const config = await configStore.setChatModel(provider.id, requested || null);
|
|
50
|
-
sendJson(response, { ok: true, models: config.chatModels ?? {} });
|
|
51
|
-
}),
|
|
52
|
-
// Persist the user's provider choice so it sticks across CLI/web/desktop.
|
|
53
|
-
route("POST", "/api/agent/chat/provider", async ({ request, response, configStore }) => {
|
|
54
|
-
let body;
|
|
55
|
-
try {
|
|
56
|
-
body = (await readJsonBody(request));
|
|
57
|
-
}
|
|
58
|
-
catch (error) {
|
|
59
|
-
sendJson(response, { ok: false, error: errorMessage(error) }, 400);
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
const provider = providerById(typeof body.provider === "string" ? body.provider : undefined);
|
|
63
|
-
if (!provider) {
|
|
64
|
-
sendJson(response, { ok: false, error: "Unknown chat provider." }, 400);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
await configStore.setChatProvider(provider.id);
|
|
68
|
-
sendJson(response, { ok: true, provider: publicProviderInfo(provider) });
|
|
69
|
-
}),
|
|
70
|
-
route("POST", "/api/agent/chat", async (ctx) => {
|
|
71
|
-
const { request, response, cwd, agentApprovals, configStore } = ctx;
|
|
72
|
-
let payload;
|
|
73
|
-
try {
|
|
74
|
-
payload = parsePayload(await readJsonBody(request));
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
sendJson(response, { ok: false, error: errorMessage(error) }, 400);
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
// The turn's provider wins; else the saved choice; else startup detection.
|
|
81
|
-
const config = await configStore.load();
|
|
82
|
-
const provider = resolveChatProvider((await detectAgent()).name, payload.provider ?? config.chatProvider);
|
|
83
|
-
if (!(await isAgentAvailable(provider))) {
|
|
84
|
-
sendJson(response, {
|
|
85
|
-
ok: false,
|
|
86
|
-
error: `${provider.label} (\`${provider.commandName}\`) is not installed or not on PATH.`,
|
|
87
|
-
}, 503);
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
// Server-Sent Events: one JSON-encoded AgentStreamEvent per `data:` line.
|
|
91
|
-
response.writeHead(200, {
|
|
92
|
-
"content-type": "text/event-stream",
|
|
93
|
-
"cache-control": "no-cache, no-transform",
|
|
94
|
-
connection: "keep-alive",
|
|
95
|
-
});
|
|
96
|
-
response.write("retry: 2000\n\n");
|
|
97
|
-
const controller = new AbortController();
|
|
98
|
-
request.on("close", () => controller.abort());
|
|
99
|
-
const send = (event) => {
|
|
100
|
-
if (!response.writableEnded)
|
|
101
|
-
response.write(`data: ${JSON.stringify(event)}\n\n`);
|
|
102
|
-
};
|
|
103
|
-
// The hook (a child of the spawned `claude`) POSTs back to this same server.
|
|
104
|
-
const host = request.headers.host ?? "127.0.0.1:4317";
|
|
105
|
-
const approvalUrl = `http://${host}/api/agent/chat/approval`;
|
|
106
|
-
const runtime = new AgentRuntime({ cwd, provider });
|
|
107
|
-
try {
|
|
108
|
-
await runtime.run(payload.message, payload.resumeSessionId, send, {
|
|
109
|
-
signal: controller.signal,
|
|
110
|
-
approval: { broker: agentApprovals, url: approvalUrl },
|
|
111
|
-
autoApprove: payload.autoApprove,
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
catch (error) {
|
|
115
|
-
send({ type: "error", message: errorMessage(error) });
|
|
116
|
-
}
|
|
117
|
-
finally {
|
|
118
|
-
if (!response.writableEnded)
|
|
119
|
-
response.end();
|
|
120
|
-
}
|
|
121
|
-
}),
|
|
122
|
-
// Called by the PreToolUse hook; held open until the user decides.
|
|
123
|
-
route("POST", "/api/agent/chat/approval", async ({ request, response, agentApprovals }) => {
|
|
124
|
-
let body;
|
|
125
|
-
try {
|
|
126
|
-
body = (await readJsonBody(request));
|
|
127
|
-
}
|
|
128
|
-
catch {
|
|
129
|
-
sendJson(response, { decision: "deny", reason: "Malformed approval request." });
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
if (typeof body.requestId !== "string") {
|
|
133
|
-
sendJson(response, { decision: "deny", reason: "Missing request id." });
|
|
134
|
-
return;
|
|
135
|
-
}
|
|
136
|
-
const decision = await agentApprovals.requestApproval(body.sessionId, body.requestId, typeof body.toolName === "string" ? body.toolName : "tool", body.toolInput);
|
|
137
|
-
sendJson(response, decision);
|
|
138
|
-
}),
|
|
139
|
-
// Called by a headless task runner when it resolves an approval request.
|
|
140
|
-
route("POST", "/api/agent/chat/approve", async ({ request, response, agentApprovals }) => {
|
|
141
|
-
let body;
|
|
142
|
-
try {
|
|
143
|
-
body = (await readJsonBody(request));
|
|
144
|
-
}
|
|
145
|
-
catch (error) {
|
|
146
|
-
sendJson(response, { ok: false, error: errorMessage(error) }, 400);
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
if (typeof body.sessionId !== "string" || typeof body.requestId !== "string") {
|
|
150
|
-
sendJson(response, { ok: false, error: "sessionId and requestId are required." }, 400);
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
const decision = body.decision === "allow" ? "allow" : "deny";
|
|
154
|
-
const ok = agentApprovals.resolve(body.sessionId, body.requestId, {
|
|
155
|
-
decision,
|
|
156
|
-
reason: typeof body.reason === "string" ? body.reason : undefined,
|
|
157
|
-
});
|
|
158
|
-
sendJson(response, { ok });
|
|
159
|
-
}),
|
|
160
|
-
];
|
|
161
|
-
async function readJsonBody(request) {
|
|
162
|
-
const chunks = [];
|
|
163
|
-
for await (const chunk of request) {
|
|
164
|
-
chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
|
|
165
|
-
}
|
|
166
|
-
const raw = Buffer.concat(chunks).toString("utf8").trim();
|
|
167
|
-
if (!raw)
|
|
168
|
-
return {};
|
|
169
|
-
return JSON.parse(raw);
|
|
170
|
-
}
|
|
171
|
-
function parsePayload(body) {
|
|
172
|
-
const message = body?.message;
|
|
173
|
-
const resumeSessionId = body?.resumeSessionId;
|
|
174
|
-
const autoApprove = body?.autoApprove;
|
|
175
|
-
const provider = body?.provider;
|
|
176
|
-
if (typeof message !== "string" || !message.trim()) {
|
|
177
|
-
throw new Error("Request must include a non-empty `message` string.");
|
|
178
|
-
}
|
|
179
|
-
return {
|
|
180
|
-
message,
|
|
181
|
-
resumeSessionId: typeof resumeSessionId === "string" ? resumeSessionId : undefined,
|
|
182
|
-
autoApprove: autoApprove === true,
|
|
183
|
-
provider: typeof provider === "string" ? provider : undefined,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=agent-chat-routes.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent-chat-routes.js","sourceRoot":"","sources":["../../../src/web/routes/agent-chat-routes.ts"],"names":[],"mappings":"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"}
|