nomoreide 0.2.0 → 0.3.2
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 +12 -9
- package/bin/nomoreide.js +82 -0
- package/package.json +24 -132
- 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 -359
- 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 -258
- package/dist/core/cloudflare-manager.js +0 -414
- 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 -348
- 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 -84
- package/dist/core/daemon-client.js +0 -156
- 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 -230
- package/dist/core/github-manager.js +0 -324
- 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/api-base.d.ts +0 -24
- package/dist/core/providers/api-base.js +0 -44
- package/dist/core/providers/api-base.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 -124
- 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 -268
- package/dist/core/vercel-manager.js +0 -401
- 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 -57
- 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 -276
- 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 -113
- package/dist/core/vultr-manager.js +0 -170
- 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 -226
- 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 -66
- 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 -134
- package/dist/mcp/tools/docs.js.map +0 -1
- package/dist/mcp/tools/errors.d.ts +0 -12
- package/dist/mcp/tools/errors.js +0 -47
- 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 -209
- 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 -36
- package/dist/mcp/tools/index.js +0 -61
- 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 -13
- package/dist/mcp/tools/services.js +0 -204
- 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-TE0sjFGO.js +0 -30
- package/dist/web/client/assets/context-graph-B9MnBpp6.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-CSo__8A6.css +0 -1
- package/dist/web/client/assets/index-DAJvBqn9.js +0 -352
- package/dist/web/client/assets/nomoreide-favicon-Ds7Tgj9p.svg +0 -24
- package/dist/web/client/assets/system-process-table-DetWu0Gj.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 -375
- 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 -9
- package/dist/web/static-assets.js +0 -77
- 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
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
import type { InteractiveAgentProvider } from "./agent-terminal.js";
|
|
2
|
-
export declare const NODE_PTY_SPAWN_FAILURE = "posix_spawnp failed";
|
|
3
|
-
export declare function isNodePtySpawnHelperFailure(error: unknown): boolean;
|
|
4
|
-
/**
|
|
5
|
-
* Restore the executable bit on node-pty's fixed, platform-specific helper.
|
|
6
|
-
* The path is resolved from NoMoreIDE's own dependency; callers cannot choose
|
|
7
|
-
* a filesystem target through the terminal transport.
|
|
8
|
-
*/
|
|
9
|
-
export declare function repairNodePtySpawnHelper(): string;
|
|
10
|
-
export type TerminalState = "idle" | "running" | "exited" | "error";
|
|
11
|
-
export interface TerminalSize {
|
|
12
|
-
cols: number;
|
|
13
|
-
rows: number;
|
|
14
|
-
}
|
|
15
|
-
export interface TerminalExit {
|
|
16
|
-
exitCode?: number;
|
|
17
|
-
signal?: number | string;
|
|
18
|
-
}
|
|
19
|
-
export interface TerminalSnapshot extends TerminalSize {
|
|
20
|
-
cwd: string;
|
|
21
|
-
state: TerminalState;
|
|
22
|
-
shell: string;
|
|
23
|
-
/** Human label for the tab (e.g. a service name); absent for plain shells. */
|
|
24
|
-
label?: string;
|
|
25
|
-
kind?: "shell" | "service" | "agent";
|
|
26
|
-
provider?: InteractiveAgentProvider;
|
|
27
|
-
exit?: TerminalExit;
|
|
28
|
-
error?: string;
|
|
29
|
-
}
|
|
30
|
-
export interface PtyProcess {
|
|
31
|
-
write(data: string): void;
|
|
32
|
-
resize(cols: number, rows: number): void;
|
|
33
|
-
kill(signal?: string): void;
|
|
34
|
-
onData(callback: (data: string) => void): {
|
|
35
|
-
dispose(): void;
|
|
36
|
-
};
|
|
37
|
-
onExit(callback: (exit: TerminalExit) => void): {
|
|
38
|
-
dispose(): void;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
export interface PtyAdapter {
|
|
42
|
-
spawn(file: string, args: string[], options: {
|
|
43
|
-
cwd: string;
|
|
44
|
-
env: NodeJS.ProcessEnv;
|
|
45
|
-
cols: number;
|
|
46
|
-
rows: number;
|
|
47
|
-
name: string;
|
|
48
|
-
}): PtyProcess;
|
|
49
|
-
}
|
|
50
|
-
export interface TerminalSessionOptions {
|
|
51
|
-
adapter?: PtyAdapter;
|
|
52
|
-
cwd: string;
|
|
53
|
-
env?: NodeJS.ProcessEnv;
|
|
54
|
-
shell?: string;
|
|
55
|
-
/** Args for the spawned program. Empty → a plain interactive shell. */
|
|
56
|
-
args?: string[];
|
|
57
|
-
label?: string;
|
|
58
|
-
kind?: "shell" | "service" | "agent";
|
|
59
|
-
provider?: InteractiveAgentProvider;
|
|
60
|
-
}
|
|
61
|
-
type Listener<T> = (value: T) => void;
|
|
62
|
-
/**
|
|
63
|
-
* A daemon-owned PTY must advertise a capability set that remains valid when
|
|
64
|
-
* presentation moves between xterm.js, Ghostty, iTerm2, and Terminal.app.
|
|
65
|
-
* Terminal.app does not reliably render the truecolor background sequences
|
|
66
|
-
* used by agent TUIs, so the stable contract is xterm's 256-color palette.
|
|
67
|
-
*/
|
|
68
|
-
export declare function interactiveTerminalEnv(inherited: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
|
|
69
|
-
export interface TerminalSessionLike {
|
|
70
|
-
dispose(): void;
|
|
71
|
-
onOutput(listener: Listener<string>): {
|
|
72
|
-
dispose(): void;
|
|
73
|
-
};
|
|
74
|
-
onState(listener: Listener<TerminalSnapshot>): {
|
|
75
|
-
dispose(): void;
|
|
76
|
-
};
|
|
77
|
-
setLabel(label: string): TerminalSnapshot;
|
|
78
|
-
resize(cols: number, rows: number): TerminalSnapshot;
|
|
79
|
-
restart(size?: Partial<TerminalSize>): TerminalSnapshot;
|
|
80
|
-
snapshot(): TerminalSnapshot;
|
|
81
|
-
start(size?: Partial<TerminalSize>): TerminalSnapshot;
|
|
82
|
-
stop(signal?: string): TerminalSnapshot;
|
|
83
|
-
write(data: string): void;
|
|
84
|
-
}
|
|
85
|
-
export declare class TerminalSession implements TerminalSessionLike {
|
|
86
|
-
private readonly adapter;
|
|
87
|
-
private readonly cwd;
|
|
88
|
-
private readonly env;
|
|
89
|
-
private readonly shell;
|
|
90
|
-
private readonly args;
|
|
91
|
-
private label;
|
|
92
|
-
private readonly kind;
|
|
93
|
-
private readonly provider;
|
|
94
|
-
private cols;
|
|
95
|
-
private rows;
|
|
96
|
-
private exit;
|
|
97
|
-
private error;
|
|
98
|
-
private outputListeners;
|
|
99
|
-
private stateListeners;
|
|
100
|
-
private process;
|
|
101
|
-
private state;
|
|
102
|
-
private disposables;
|
|
103
|
-
constructor(options: TerminalSessionOptions);
|
|
104
|
-
snapshot(): TerminalSnapshot;
|
|
105
|
-
onOutput(listener: Listener<string>): {
|
|
106
|
-
dispose(): void;
|
|
107
|
-
};
|
|
108
|
-
onState(listener: Listener<TerminalSnapshot>): {
|
|
109
|
-
dispose(): void;
|
|
110
|
-
};
|
|
111
|
-
setLabel(label: string): TerminalSnapshot;
|
|
112
|
-
start(size?: Partial<TerminalSize>): TerminalSnapshot;
|
|
113
|
-
restart(size?: Partial<TerminalSize>): TerminalSnapshot;
|
|
114
|
-
stop(signal?: string): TerminalSnapshot;
|
|
115
|
-
write(data: string): void;
|
|
116
|
-
resize(cols: number, rows: number): TerminalSnapshot;
|
|
117
|
-
dispose(): void;
|
|
118
|
-
private emitOutput;
|
|
119
|
-
private emitState;
|
|
120
|
-
private disposeProcessListeners;
|
|
121
|
-
}
|
|
122
|
-
export {};
|
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
import { chmodSync } from "node:fs";
|
|
2
|
-
import { createRequire } from "node:module";
|
|
3
|
-
import { dirname, join } from "node:path";
|
|
4
|
-
const require = createRequire(import.meta.url);
|
|
5
|
-
export const NODE_PTY_SPAWN_FAILURE = "posix_spawnp failed";
|
|
6
|
-
export function isNodePtySpawnHelperFailure(error) {
|
|
7
|
-
return (typeof error === "string" && error.includes(NODE_PTY_SPAWN_FAILURE));
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Restore the executable bit on node-pty's fixed, platform-specific helper.
|
|
11
|
-
* The path is resolved from NoMoreIDE's own dependency; callers cannot choose
|
|
12
|
-
* a filesystem target through the terminal transport.
|
|
13
|
-
*/
|
|
14
|
-
export function repairNodePtySpawnHelper() {
|
|
15
|
-
if (process.platform !== "darwin") {
|
|
16
|
-
throw new Error("Automatic terminal repair is only available on macOS.");
|
|
17
|
-
}
|
|
18
|
-
const packagePath = require.resolve("node-pty/package.json");
|
|
19
|
-
const helperPath = join(dirname(packagePath), "prebuilds", `${process.platform}-${process.arch}`, "spawn-helper");
|
|
20
|
-
chmodSync(helperPath, 0o755);
|
|
21
|
-
return helperPath;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* A daemon-owned PTY must advertise a capability set that remains valid when
|
|
25
|
-
* presentation moves between xterm.js, Ghostty, iTerm2, and Terminal.app.
|
|
26
|
-
* Terminal.app does not reliably render the truecolor background sequences
|
|
27
|
-
* used by agent TUIs, so the stable contract is xterm's 256-color palette.
|
|
28
|
-
*/
|
|
29
|
-
export function interactiveTerminalEnv(inherited) {
|
|
30
|
-
const env = {
|
|
31
|
-
...inherited,
|
|
32
|
-
TERM: "xterm-256color",
|
|
33
|
-
};
|
|
34
|
-
delete env.NO_COLOR;
|
|
35
|
-
delete env.COLORTERM;
|
|
36
|
-
// A daemon-owned PTY can move between xterm.js, Ghostty, iTerm2, and
|
|
37
|
-
// Terminal.app without restarting its process. Parent-emulator fingerprints
|
|
38
|
-
// therefore become stale as soon as presentation moves and can make TUIs
|
|
39
|
-
// select the wrong renderer or palette. Keep only the stable generic
|
|
40
|
-
// TERM contract above.
|
|
41
|
-
for (const key of [
|
|
42
|
-
"__CFBundleIdentifier",
|
|
43
|
-
"COLORFGBG",
|
|
44
|
-
"GHOSTTY_BIN_DIR",
|
|
45
|
-
"GHOSTTY_RESOURCES_DIR",
|
|
46
|
-
"GHOSTTY_SHELL_FEATURES",
|
|
47
|
-
"ITERM_PROFILE",
|
|
48
|
-
"ITERM_SESSION_ID",
|
|
49
|
-
"LC_TERMINAL",
|
|
50
|
-
"LC_TERMINAL_VERSION",
|
|
51
|
-
"TERM_PROGRAM",
|
|
52
|
-
"TERM_PROGRAM_VERSION",
|
|
53
|
-
"TERM_SESSION_ID",
|
|
54
|
-
]) {
|
|
55
|
-
delete env[key];
|
|
56
|
-
}
|
|
57
|
-
// The machine-global daemon may be auto-started by the Claude Code MCP.
|
|
58
|
-
// That parent exports CLAUDECODE=1, but a terminal opened in NoMoreIDE is a
|
|
59
|
-
// new top-level session. Forwarding the marker makes Claude reject its own
|
|
60
|
-
// launch as a nested session before the terminal can render.
|
|
61
|
-
delete env.CLAUDECODE;
|
|
62
|
-
return env;
|
|
63
|
-
}
|
|
64
|
-
export class TerminalSession {
|
|
65
|
-
adapter;
|
|
66
|
-
cwd;
|
|
67
|
-
env;
|
|
68
|
-
shell;
|
|
69
|
-
args;
|
|
70
|
-
label;
|
|
71
|
-
kind;
|
|
72
|
-
provider;
|
|
73
|
-
cols = 80;
|
|
74
|
-
rows = 24;
|
|
75
|
-
exit;
|
|
76
|
-
error;
|
|
77
|
-
outputListeners = new Set();
|
|
78
|
-
stateListeners = new Set();
|
|
79
|
-
process;
|
|
80
|
-
state = "idle";
|
|
81
|
-
disposables = [];
|
|
82
|
-
constructor(options) {
|
|
83
|
-
this.adapter = options.adapter ?? new NodePtyAdapter();
|
|
84
|
-
this.cwd = options.cwd;
|
|
85
|
-
this.env = interactiveTerminalEnv(options.env ?? process.env);
|
|
86
|
-
// Codex snapshots the queried terminal background and emits derived RGB
|
|
87
|
-
// surfaces for the lifetime of the process. The dashboard can change its
|
|
88
|
-
// palette without restarting that process, so keep embedded Codex on the
|
|
89
|
-
// ANSI-16 contract: semantic colors remain palette-driven and xterm can
|
|
90
|
-
// switch light/dark themes without stale light RGB composer backgrounds.
|
|
91
|
-
if (options.provider === "codex")
|
|
92
|
-
this.env.FORCE_COLOR = "1";
|
|
93
|
-
this.shell = options.shell ?? defaultShell();
|
|
94
|
-
this.args = options.args ?? [];
|
|
95
|
-
this.label = options.label;
|
|
96
|
-
this.kind = options.kind;
|
|
97
|
-
this.provider = options.provider;
|
|
98
|
-
}
|
|
99
|
-
snapshot() {
|
|
100
|
-
return {
|
|
101
|
-
cols: this.cols,
|
|
102
|
-
cwd: this.cwd,
|
|
103
|
-
error: this.error,
|
|
104
|
-
exit: this.exit,
|
|
105
|
-
kind: this.kind,
|
|
106
|
-
label: this.label,
|
|
107
|
-
provider: this.provider,
|
|
108
|
-
rows: this.rows,
|
|
109
|
-
shell: this.shell,
|
|
110
|
-
state: this.state,
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
onOutput(listener) {
|
|
114
|
-
this.outputListeners.add(listener);
|
|
115
|
-
return {
|
|
116
|
-
dispose: () => {
|
|
117
|
-
this.outputListeners.delete(listener);
|
|
118
|
-
},
|
|
119
|
-
};
|
|
120
|
-
}
|
|
121
|
-
onState(listener) {
|
|
122
|
-
this.stateListeners.add(listener);
|
|
123
|
-
return {
|
|
124
|
-
dispose: () => {
|
|
125
|
-
this.stateListeners.delete(listener);
|
|
126
|
-
},
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
setLabel(label) {
|
|
130
|
-
this.label = label;
|
|
131
|
-
return this.snapshot();
|
|
132
|
-
}
|
|
133
|
-
start(size = {}) {
|
|
134
|
-
if (this.process && this.state === "running") {
|
|
135
|
-
if (size.cols && size.rows)
|
|
136
|
-
this.resize(size.cols, size.rows);
|
|
137
|
-
return this.snapshot();
|
|
138
|
-
}
|
|
139
|
-
this.cols = normalizeDimension(size.cols, this.cols);
|
|
140
|
-
this.rows = normalizeDimension(size.rows, this.rows);
|
|
141
|
-
this.exit = undefined;
|
|
142
|
-
this.error = undefined;
|
|
143
|
-
try {
|
|
144
|
-
const child = this.adapter.spawn(this.shell, this.args, {
|
|
145
|
-
cols: this.cols,
|
|
146
|
-
cwd: this.cwd,
|
|
147
|
-
env: this.env,
|
|
148
|
-
name: "xterm-256color",
|
|
149
|
-
rows: this.rows,
|
|
150
|
-
});
|
|
151
|
-
this.process = child;
|
|
152
|
-
this.state = "running";
|
|
153
|
-
this.disposables = [
|
|
154
|
-
child.onData((data) => this.emitOutput(data)),
|
|
155
|
-
child.onExit((exit) => {
|
|
156
|
-
this.exit = exit;
|
|
157
|
-
this.process = undefined;
|
|
158
|
-
this.state = "exited";
|
|
159
|
-
this.disposeProcessListeners();
|
|
160
|
-
this.emitState();
|
|
161
|
-
}),
|
|
162
|
-
];
|
|
163
|
-
}
|
|
164
|
-
catch (caught) {
|
|
165
|
-
this.process = undefined;
|
|
166
|
-
this.error = caught instanceof Error ? caught.message : String(caught);
|
|
167
|
-
this.state = "error";
|
|
168
|
-
}
|
|
169
|
-
this.emitState();
|
|
170
|
-
return this.snapshot();
|
|
171
|
-
}
|
|
172
|
-
restart(size = {}) {
|
|
173
|
-
this.stop("SIGHUP");
|
|
174
|
-
return this.start(size);
|
|
175
|
-
}
|
|
176
|
-
stop(signal = "SIGHUP") {
|
|
177
|
-
const child = this.process;
|
|
178
|
-
this.process = undefined;
|
|
179
|
-
if (child) {
|
|
180
|
-
child.kill(signal);
|
|
181
|
-
}
|
|
182
|
-
this.disposeProcessListeners();
|
|
183
|
-
if (this.state === "running") {
|
|
184
|
-
this.state = "exited";
|
|
185
|
-
this.exit = { signal };
|
|
186
|
-
}
|
|
187
|
-
this.emitState();
|
|
188
|
-
return this.snapshot();
|
|
189
|
-
}
|
|
190
|
-
write(data) {
|
|
191
|
-
if (!this.process || this.state !== "running")
|
|
192
|
-
return;
|
|
193
|
-
this.process.write(data);
|
|
194
|
-
}
|
|
195
|
-
resize(cols, rows) {
|
|
196
|
-
this.cols = normalizeDimension(cols, this.cols);
|
|
197
|
-
this.rows = normalizeDimension(rows, this.rows);
|
|
198
|
-
if (this.process && this.state === "running") {
|
|
199
|
-
this.process.resize(this.cols, this.rows);
|
|
200
|
-
}
|
|
201
|
-
this.emitState();
|
|
202
|
-
return this.snapshot();
|
|
203
|
-
}
|
|
204
|
-
dispose() {
|
|
205
|
-
this.stop("SIGHUP");
|
|
206
|
-
this.outputListeners.clear();
|
|
207
|
-
this.stateListeners.clear();
|
|
208
|
-
}
|
|
209
|
-
emitOutput(data) {
|
|
210
|
-
for (const listener of this.outputListeners)
|
|
211
|
-
listener(data);
|
|
212
|
-
}
|
|
213
|
-
emitState() {
|
|
214
|
-
const snapshot = this.snapshot();
|
|
215
|
-
for (const listener of this.stateListeners)
|
|
216
|
-
listener(snapshot);
|
|
217
|
-
}
|
|
218
|
-
disposeProcessListeners() {
|
|
219
|
-
for (const item of this.disposables)
|
|
220
|
-
item.dispose();
|
|
221
|
-
this.disposables = [];
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
class NodePtyAdapter {
|
|
225
|
-
spawn(file, args, options) {
|
|
226
|
-
const nodePty = require("node-pty");
|
|
227
|
-
return nodePty.spawn(file, args, options);
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
function defaultShell() {
|
|
231
|
-
if (process.env.SHELL)
|
|
232
|
-
return process.env.SHELL;
|
|
233
|
-
if (process.platform === "win32")
|
|
234
|
-
return process.env.COMSPEC ?? "cmd.exe";
|
|
235
|
-
return process.platform === "darwin" ? "/bin/zsh" : "/bin/sh";
|
|
236
|
-
}
|
|
237
|
-
function normalizeDimension(value, fallback) {
|
|
238
|
-
if (typeof value !== "number" || !Number.isFinite(value))
|
|
239
|
-
return fallback;
|
|
240
|
-
return Math.max(1, Math.floor(value));
|
|
241
|
-
}
|
|
242
|
-
//# sourceMappingURL=terminal-session.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-session.js","sourceRoot":"","sources":["../../src/core/terminal-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import type { ServiceDefinition } from "./types.js";
|
|
2
|
-
import type { TerminalSpawnOptions } from "./terminal-manager.js";
|
|
3
|
-
/**
|
|
4
|
-
* Result of mapping a service to terminal spawn options. `ok: false` carries a
|
|
5
|
-
* user-facing reason (e.g. an SSH service with no host) the route returns as a
|
|
6
|
-
* 400 instead of spawning a broken session.
|
|
7
|
-
*/
|
|
8
|
-
export type TerminalSpawnResolution = {
|
|
9
|
-
ok: true;
|
|
10
|
-
options: TerminalSpawnOptions;
|
|
11
|
-
} | {
|
|
12
|
-
ok: false;
|
|
13
|
-
error: string;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Decide what a "connect" terminal runs for a given service:
|
|
17
|
-
* - **local** → an interactive shell in the service's cwd, with its env merged
|
|
18
|
-
* over the inherited environment so PATH survives.
|
|
19
|
-
* - **ssh** → `ssh -t <host>` into the remote, cd-ing into the service dir and
|
|
20
|
-
* launching a login shell there.
|
|
21
|
-
* - **docker-compose** → `docker compose exec <service> sh` from the project dir.
|
|
22
|
-
*
|
|
23
|
-
* The client only ever sends a service *name*; the server derives the command
|
|
24
|
-
* here, so this endpoint can't be coerced into running an arbitrary program.
|
|
25
|
-
*/
|
|
26
|
-
export declare function resolveServiceTerminal(service: ServiceDefinition): TerminalSpawnResolution;
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Decide what a "connect" terminal runs for a given service:
|
|
3
|
-
* - **local** → an interactive shell in the service's cwd, with its env merged
|
|
4
|
-
* over the inherited environment so PATH survives.
|
|
5
|
-
* - **ssh** → `ssh -t <host>` into the remote, cd-ing into the service dir and
|
|
6
|
-
* launching a login shell there.
|
|
7
|
-
* - **docker-compose** → `docker compose exec <service> sh` from the project dir.
|
|
8
|
-
*
|
|
9
|
-
* The client only ever sends a service *name*; the server derives the command
|
|
10
|
-
* here, so this endpoint can't be coerced into running an arbitrary program.
|
|
11
|
-
*/
|
|
12
|
-
export function resolveServiceTerminal(service) {
|
|
13
|
-
const kind = service.kind ?? "local";
|
|
14
|
-
if (kind === "ssh") {
|
|
15
|
-
if (!service.host) {
|
|
16
|
-
return { ok: false, error: "SSH service is missing a host." };
|
|
17
|
-
}
|
|
18
|
-
const remote = service.cwd
|
|
19
|
-
? `cd ${singleQuote(service.cwd)} 2>/dev/null; exec "$SHELL" -l`
|
|
20
|
-
: `exec "$SHELL" -l`;
|
|
21
|
-
return {
|
|
22
|
-
ok: true,
|
|
23
|
-
options: {
|
|
24
|
-
shell: "ssh",
|
|
25
|
-
args: ["-t", service.host, remote],
|
|
26
|
-
label: service.name,
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
if (kind === "docker-compose") {
|
|
31
|
-
if (!service.composeService) {
|
|
32
|
-
return { ok: false, error: "Docker service is missing a compose service name." };
|
|
33
|
-
}
|
|
34
|
-
return {
|
|
35
|
-
ok: true,
|
|
36
|
-
options: {
|
|
37
|
-
shell: "docker",
|
|
38
|
-
args: [
|
|
39
|
-
"compose",
|
|
40
|
-
...(service.composeFile ? ["-f", service.composeFile] : []),
|
|
41
|
-
"exec",
|
|
42
|
-
service.composeService,
|
|
43
|
-
"sh",
|
|
44
|
-
],
|
|
45
|
-
cwd: service.cwd,
|
|
46
|
-
label: service.name,
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
return {
|
|
51
|
-
ok: true,
|
|
52
|
-
options: {
|
|
53
|
-
cwd: service.cwd,
|
|
54
|
-
env: service.env ? { ...process.env, ...service.env } : undefined,
|
|
55
|
-
label: service.name,
|
|
56
|
-
},
|
|
57
|
-
};
|
|
58
|
-
}
|
|
59
|
-
/** Single-quote a value for safe interpolation into a remote shell command. */
|
|
60
|
-
function singleQuote(value) {
|
|
61
|
-
return `'${value.replace(/'/g, `'\\''`)}'`;
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=terminal-spawn.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-spawn.js","sourceRoot":"","sources":["../../src/core/terminal-spawn.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAA0B;IAE1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;IAErC,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;QAChE,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG;YACxB,CAAC,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,gCAAgC;YAChE,CAAC,CAAC,kBAAkB,CAAC;QACvB,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE;gBACP,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;gBAClC,KAAK,EAAE,OAAO,CAAC,IAAI;aACpB;SACF,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC5B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC;QACnF,CAAC;QACD,OAAO;YACL,EAAE,EAAE,IAAI;YACR,OAAO,EAAE;gBACP,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE;oBACJ,SAAS;oBACT,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,MAAM;oBACN,OAAO,CAAC,cAAc;oBACtB,IAAI;iBACL;gBACD,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,OAAO,CAAC,IAAI;aACpB;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,OAAO,EAAE;YACP,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;YACjE,KAAK,EAAE,OAAO,CAAC,IAAI;SACpB;KACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,SAAS,WAAW,CAAC,KAAa;IAChC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC;AAC7C,CAAC"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import type { ConfigStore } from "./config-store.js";
|
|
2
|
-
import type { LogStore } from "./log-store.js";
|
|
3
|
-
import type { LogStream } from "./types.js";
|
|
4
|
-
export type TestRunStatus = "running" | "passed" | "failed" | "error";
|
|
5
|
-
export interface TestRun {
|
|
6
|
-
id: number;
|
|
7
|
-
service: string;
|
|
8
|
-
command: string;
|
|
9
|
-
pattern?: string;
|
|
10
|
-
status: TestRunStatus;
|
|
11
|
-
startedAt: string;
|
|
12
|
-
endedAt?: string;
|
|
13
|
-
exitCode?: number | null;
|
|
14
|
-
/** Failing test count parsed from the runner output (best-effort). */
|
|
15
|
-
failingCount: number;
|
|
16
|
-
}
|
|
17
|
-
export interface TestRunEvent {
|
|
18
|
-
type: "output" | "status";
|
|
19
|
-
run: TestRun;
|
|
20
|
-
/** Present on `output` events. */
|
|
21
|
-
line?: {
|
|
22
|
-
stream: LogStream;
|
|
23
|
-
text: string;
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
type RunListener = (event: TestRunEvent) => void;
|
|
27
|
-
interface TestRunnerOptions {
|
|
28
|
-
logStore: LogStore;
|
|
29
|
-
configStore: ConfigStore;
|
|
30
|
-
/** Workspace root used when a service has no own cwd. */
|
|
31
|
-
cwd?: string;
|
|
32
|
-
}
|
|
33
|
-
/** The log channel a service's test output is appended under. */
|
|
34
|
-
export declare function testChannel(service: string): string;
|
|
35
|
-
/**
|
|
36
|
-
* Runs a service's test command, streaming output into {@link LogStore} under a
|
|
37
|
-
* synthetic `<service>:test` channel so the {@link ErrorInbox} (which subscribes
|
|
38
|
-
* to the log store) turns assertion failures and stack traces into incidents.
|
|
39
|
-
* On a non-zero exit it appends a synthetic summary line so every failed run
|
|
40
|
-
* also surfaces a top-level incident.
|
|
41
|
-
*/
|
|
42
|
-
export declare class TestRunner {
|
|
43
|
-
private readonly logStore;
|
|
44
|
-
private readonly configStore;
|
|
45
|
-
private readonly cwd;
|
|
46
|
-
private readonly runs;
|
|
47
|
-
private readonly children;
|
|
48
|
-
private readonly listeners;
|
|
49
|
-
private nextId;
|
|
50
|
-
/** Serialises log appends so the ErrorInbox sees lines in order. */
|
|
51
|
-
private appendChain;
|
|
52
|
-
constructor(options: TestRunnerOptions);
|
|
53
|
-
isRunning(service: string): boolean;
|
|
54
|
-
/** The current or most recent run for a service. */
|
|
55
|
-
current(service: string): TestRun | undefined;
|
|
56
|
-
subscribe(service: string, listener: RunListener): () => void;
|
|
57
|
-
/** Spawn the test command for a service. Rejects if a run is already active. */
|
|
58
|
-
run(service: string, pattern?: string): Promise<TestRun>;
|
|
59
|
-
/** Terminate the active run for a service, if any. */
|
|
60
|
-
stop(service: string): void;
|
|
61
|
-
private handleLine;
|
|
62
|
-
private flush;
|
|
63
|
-
private finish;
|
|
64
|
-
/** Append to the synthetic test channel, preserving order for the ErrorInbox. */
|
|
65
|
-
private append;
|
|
66
|
-
private emit;
|
|
67
|
-
private resolveCommand;
|
|
68
|
-
}
|
|
69
|
-
export {};
|