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
package/dist/core/error-inbox.js
DELETED
|
@@ -1,292 +0,0 @@
|
|
|
1
|
-
import { isAbsolute, resolve } from "node:path";
|
|
2
|
-
import { GitManager } from "./git-manager.js";
|
|
3
|
-
/** Lines of surrounding context captured with each incident. */
|
|
4
|
-
const CONTEXT_LINES = 12;
|
|
5
|
-
/** How many follow-up lines after a trigger are absorbed as stack frames. */
|
|
6
|
-
const FRAME_FOLLOW = 12;
|
|
7
|
-
const TITLE_MAX = 240;
|
|
8
|
-
const PROMPT_LOG_LINES = 40;
|
|
9
|
-
/**
|
|
10
|
-
* Watches every log line via {@link LogStore.subscribe}, distils error and
|
|
11
|
-
* stack-trace lines into deduped incidents, and assembles a copy-to-agent
|
|
12
|
-
* prompt (incident + affected-file diff + recent logs) on demand.
|
|
13
|
-
*/
|
|
14
|
-
export class ErrorInbox {
|
|
15
|
-
logStore;
|
|
16
|
-
configStore;
|
|
17
|
-
cwd;
|
|
18
|
-
capacity;
|
|
19
|
-
incidents = [];
|
|
20
|
-
byId = new Map();
|
|
21
|
-
bySignature = new Map();
|
|
22
|
-
stateByService = new Map();
|
|
23
|
-
listeners = new Set();
|
|
24
|
-
nextId = 1;
|
|
25
|
-
unsubscribe;
|
|
26
|
-
constructor(options) {
|
|
27
|
-
this.logStore = options.logStore;
|
|
28
|
-
this.configStore = options.configStore;
|
|
29
|
-
this.cwd = options.cwd ?? process.cwd();
|
|
30
|
-
this.capacity = options.capacity ?? 100;
|
|
31
|
-
this.unsubscribe = this.logStore.subscribe((entry) => {
|
|
32
|
-
this.ingest(entry);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
/** Stop observing the log store. */
|
|
36
|
-
dispose() {
|
|
37
|
-
this.unsubscribe();
|
|
38
|
-
}
|
|
39
|
-
list(limit = this.capacity) {
|
|
40
|
-
const sorted = [...this.incidents].sort((a, b) => a.lastSeen < b.lastSeen ? 1 : a.lastSeen > b.lastSeen ? -1 : b.id - a.id);
|
|
41
|
-
return sorted.slice(0, limit);
|
|
42
|
-
}
|
|
43
|
-
get(id) {
|
|
44
|
-
return this.byId.get(id);
|
|
45
|
-
}
|
|
46
|
-
subscribe(listener) {
|
|
47
|
-
this.listeners.add(listener);
|
|
48
|
-
return () => {
|
|
49
|
-
this.listeners.delete(listener);
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
/** Feed one log line through the detectors. Returns a touched incident, if any. */
|
|
53
|
-
ingest(entry) {
|
|
54
|
-
const text = entry.text;
|
|
55
|
-
const state = this.stateFor(entry.service);
|
|
56
|
-
state.recent.push(text);
|
|
57
|
-
if (state.recent.length > CONTEXT_LINES)
|
|
58
|
-
state.recent.shift();
|
|
59
|
-
const frame = extractFrame(text);
|
|
60
|
-
// Absorb stack frames / continuation lines into the active incident.
|
|
61
|
-
if (state.active && state.active.remaining > 0 && (frame || isStackFrame(text))) {
|
|
62
|
-
const incident = this.byId.get(state.active.id);
|
|
63
|
-
if (incident) {
|
|
64
|
-
incident.logExcerpt.push(text);
|
|
65
|
-
incident.lastSeen = entry.timestamp;
|
|
66
|
-
if (incident.file === undefined && frame) {
|
|
67
|
-
incident.file = frame.file;
|
|
68
|
-
incident.line = frame.line;
|
|
69
|
-
}
|
|
70
|
-
state.active.remaining -= 1;
|
|
71
|
-
this.emit(incident);
|
|
72
|
-
}
|
|
73
|
-
return incident ?? null;
|
|
74
|
-
}
|
|
75
|
-
// Bare frames without a preceding header aren't their own incidents.
|
|
76
|
-
if (isStackFrame(text))
|
|
77
|
-
return null;
|
|
78
|
-
const level = classifyLine(text);
|
|
79
|
-
if (level === null)
|
|
80
|
-
return null;
|
|
81
|
-
return this.recordIncident(entry, level, frame, state);
|
|
82
|
-
}
|
|
83
|
-
recordIncident(entry, level, frame, state) {
|
|
84
|
-
const signature = `${entry.service} ${normalizeSignature(entry.text)}`;
|
|
85
|
-
const existing = this.bySignature.get(signature);
|
|
86
|
-
if (existing) {
|
|
87
|
-
existing.count += 1;
|
|
88
|
-
existing.lastSeen = entry.timestamp;
|
|
89
|
-
existing.level = level;
|
|
90
|
-
existing.logExcerpt = [...state.recent];
|
|
91
|
-
if (frame) {
|
|
92
|
-
existing.file = frame.file;
|
|
93
|
-
existing.line = frame.line;
|
|
94
|
-
}
|
|
95
|
-
state.active = { id: existing.id, remaining: FRAME_FOLLOW };
|
|
96
|
-
this.emit(existing);
|
|
97
|
-
return existing;
|
|
98
|
-
}
|
|
99
|
-
// The header line often has no frame of its own (e.g. a Python
|
|
100
|
-
// `ValueError` printed after its `File "…"` frames). Fall back to the
|
|
101
|
-
// most recent frame in the surrounding context.
|
|
102
|
-
const resolvedFrame = frame ?? lastFrameIn(state.recent);
|
|
103
|
-
const incident = {
|
|
104
|
-
id: this.nextId++,
|
|
105
|
-
service: entry.service,
|
|
106
|
-
level,
|
|
107
|
-
signature,
|
|
108
|
-
title: entry.text.trim().slice(0, TITLE_MAX),
|
|
109
|
-
file: resolvedFrame?.file,
|
|
110
|
-
line: resolvedFrame?.line,
|
|
111
|
-
firstSeen: entry.timestamp,
|
|
112
|
-
lastSeen: entry.timestamp,
|
|
113
|
-
count: 1,
|
|
114
|
-
logExcerpt: [...state.recent],
|
|
115
|
-
};
|
|
116
|
-
this.incidents.push(incident);
|
|
117
|
-
this.byId.set(incident.id, incident);
|
|
118
|
-
this.bySignature.set(signature, incident);
|
|
119
|
-
this.evictOverflow();
|
|
120
|
-
state.active = { id: incident.id, remaining: FRAME_FOLLOW };
|
|
121
|
-
this.emit(incident);
|
|
122
|
-
return incident;
|
|
123
|
-
}
|
|
124
|
-
/** Assemble the copy-to-agent payload for an incident. */
|
|
125
|
-
async buildPrompt(id) {
|
|
126
|
-
const context = await this.context(id);
|
|
127
|
-
if (!context)
|
|
128
|
-
return null;
|
|
129
|
-
return {
|
|
130
|
-
incident: context.incident,
|
|
131
|
-
file: context.file,
|
|
132
|
-
prompt: renderPrompt(context.incident, context.file, context.diff, context.recentLogs),
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Gather the raw context for an incident — the affected file, its diff, and
|
|
137
|
-
* recent service logs — so callers (the prompt, the repro bundle) render their
|
|
138
|
-
* own markdown without duplicating the gathering logic.
|
|
139
|
-
*/
|
|
140
|
-
async context(id) {
|
|
141
|
-
const incident = this.byId.get(id);
|
|
142
|
-
if (!incident)
|
|
143
|
-
return null;
|
|
144
|
-
const service = incident.service.replace(/:test$/, "");
|
|
145
|
-
const serviceCwd = await this.serviceCwd(incident.service);
|
|
146
|
-
const resolvedFile = incident.file
|
|
147
|
-
? isAbsolute(incident.file)
|
|
148
|
-
? incident.file
|
|
149
|
-
: resolve(serviceCwd, incident.file)
|
|
150
|
-
: undefined;
|
|
151
|
-
let diff = "";
|
|
152
|
-
if (incident.file) {
|
|
153
|
-
try {
|
|
154
|
-
diff = await new GitManager(serviceCwd).diff(incident.file);
|
|
155
|
-
}
|
|
156
|
-
catch {
|
|
157
|
-
diff = "";
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
const recentLogs = this.logStore
|
|
161
|
-
.read(incident.service, PROMPT_LOG_LINES)
|
|
162
|
-
.map((entry) => entry.text);
|
|
163
|
-
return { incident, service, serviceCwd, file: resolvedFile, diff, recentLogs };
|
|
164
|
-
}
|
|
165
|
-
async serviceCwd(service) {
|
|
166
|
-
// Test-runner incidents are tagged `<service>:test`; resolve the base
|
|
167
|
-
// service so the affected-file diff still uses its working directory.
|
|
168
|
-
const baseService = service.replace(/:test$/, "");
|
|
169
|
-
try {
|
|
170
|
-
const config = await this.configStore.load();
|
|
171
|
-
const definition = config.services.find((item) => item.name === baseService);
|
|
172
|
-
if (definition?.cwd) {
|
|
173
|
-
return isAbsolute(definition.cwd)
|
|
174
|
-
? definition.cwd
|
|
175
|
-
: resolve(this.cwd, definition.cwd);
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
catch {
|
|
179
|
-
// fall through to the workspace root
|
|
180
|
-
}
|
|
181
|
-
return this.cwd;
|
|
182
|
-
}
|
|
183
|
-
stateFor(service) {
|
|
184
|
-
let state = this.stateByService.get(service);
|
|
185
|
-
if (!state) {
|
|
186
|
-
state = { recent: [] };
|
|
187
|
-
this.stateByService.set(service, state);
|
|
188
|
-
}
|
|
189
|
-
return state;
|
|
190
|
-
}
|
|
191
|
-
evictOverflow() {
|
|
192
|
-
while (this.incidents.length > this.capacity) {
|
|
193
|
-
const dropped = this.incidents.shift();
|
|
194
|
-
if (!dropped)
|
|
195
|
-
break;
|
|
196
|
-
this.byId.delete(dropped.id);
|
|
197
|
-
if (this.bySignature.get(dropped.signature) === dropped) {
|
|
198
|
-
this.bySignature.delete(dropped.signature);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
emit(incident) {
|
|
203
|
-
for (const listener of this.listeners) {
|
|
204
|
-
try {
|
|
205
|
-
listener(incident);
|
|
206
|
-
}
|
|
207
|
-
catch {
|
|
208
|
-
// ignore listener errors
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
// `traceback` is intentionally absent: it's a stack opener, not the error
|
|
214
|
-
// message itself — the real exception arrives a few lines later (see the
|
|
215
|
-
// look-back in recordIncident, which pulls the frame from those lines).
|
|
216
|
-
const FATAL = /\b(panic|fatal|uncaught|unhandled|EADDRINUSE|ECONNREFUSED|segmentation fault|exception in thread)\b/i;
|
|
217
|
-
// Bare `error` plus typed headers like `TypeError:` / `ValueError` / `Exception`.
|
|
218
|
-
const ERROR_WORD = /\b\w*(?:error|exception)\b/i;
|
|
219
|
-
const NO_ERRORS = /\b0 errors?\b/i;
|
|
220
|
-
const WARN = /\b(warn|warning|deprecated)\b/i;
|
|
221
|
-
function classifyLine(text) {
|
|
222
|
-
if (FATAL.test(text))
|
|
223
|
-
return "error";
|
|
224
|
-
if (ERROR_WORD.test(text) && !NO_ERRORS.test(text))
|
|
225
|
-
return "error";
|
|
226
|
-
if (WARN.test(text))
|
|
227
|
-
return "warning";
|
|
228
|
-
return null;
|
|
229
|
-
}
|
|
230
|
-
const PY_FRAME = /File "([^"]+)", line (\d+)/;
|
|
231
|
-
const JS_FRAME = /\(?([^\s()]+\.(?:[cm]?[jt]sx?)):(\d+):\d+\)?/;
|
|
232
|
-
function extractFrame(text) {
|
|
233
|
-
const py = PY_FRAME.exec(text);
|
|
234
|
-
if (py)
|
|
235
|
-
return { file: py[1], line: Number(py[2]) };
|
|
236
|
-
const js = JS_FRAME.exec(text);
|
|
237
|
-
if (js)
|
|
238
|
-
return { file: js[1], line: Number(js[2]) };
|
|
239
|
-
return null;
|
|
240
|
-
}
|
|
241
|
-
/** Most recent extractable frame in a context window (newest line last). */
|
|
242
|
-
function lastFrameIn(lines) {
|
|
243
|
-
for (let i = lines.length - 1; i >= 0 && i >= lines.length - 8; i--) {
|
|
244
|
-
const frame = extractFrame(lines[i]);
|
|
245
|
-
if (frame)
|
|
246
|
-
return frame;
|
|
247
|
-
}
|
|
248
|
-
return null;
|
|
249
|
-
}
|
|
250
|
-
function isStackFrame(text) {
|
|
251
|
-
return /^\s*(at\s+|File\s+"|Caused by:|\.\.\.\s+\d+\s+more|--- End of)/.test(text);
|
|
252
|
-
}
|
|
253
|
-
/** Collapse volatile bits (timestamps, numbers, hex, quoted values) so repeats dedupe. */
|
|
254
|
-
function normalizeSignature(text) {
|
|
255
|
-
return text
|
|
256
|
-
.trim()
|
|
257
|
-
.replace(/\b\d{4}-\d{2}-\d{2}[t ][\d:.,]+z?\b/gi, "<ts>")
|
|
258
|
-
.replace(/0x[0-9a-f]+/gi, "<hex>")
|
|
259
|
-
.replace(/\b\d+\b/g, "<n>")
|
|
260
|
-
.replace(/\s+/g, " ")
|
|
261
|
-
.slice(0, 200)
|
|
262
|
-
.toLowerCase();
|
|
263
|
-
}
|
|
264
|
-
function renderPrompt(incident, file, diff, recentLogs) {
|
|
265
|
-
const parts = [];
|
|
266
|
-
parts.push(`I hit an error in my **${incident.service}** service. Help me fix it.`);
|
|
267
|
-
parts.push("");
|
|
268
|
-
parts.push("## Error");
|
|
269
|
-
parts.push("```");
|
|
270
|
-
parts.push(...incident.logExcerpt);
|
|
271
|
-
parts.push("```");
|
|
272
|
-
if (file) {
|
|
273
|
-
parts.push("");
|
|
274
|
-
parts.push(`Affected file: \`${file}\`${incident.line ? ` (line ${incident.line})` : ""}`);
|
|
275
|
-
}
|
|
276
|
-
if (diff.trim()) {
|
|
277
|
-
parts.push("");
|
|
278
|
-
parts.push("## Current diff of the affected file");
|
|
279
|
-
parts.push("```diff");
|
|
280
|
-
parts.push(diff.trimEnd());
|
|
281
|
-
parts.push("```");
|
|
282
|
-
}
|
|
283
|
-
if (recentLogs.length) {
|
|
284
|
-
parts.push("");
|
|
285
|
-
parts.push(`## Last ${recentLogs.length} log lines from ${incident.service}`);
|
|
286
|
-
parts.push("```");
|
|
287
|
-
parts.push(...recentLogs);
|
|
288
|
-
parts.push("```");
|
|
289
|
-
}
|
|
290
|
-
return parts.join("\n");
|
|
291
|
-
}
|
|
292
|
-
//# sourceMappingURL=error-inbox.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-inbox.js","sourceRoot":"","sources":["../../src/core/error-inbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The installed-extension inventory — one neutral row per plugin, flattened
|
|
3
|
-
* from both provider registries.
|
|
4
|
-
*
|
|
5
|
-
* Stage 2 of §12 of `docs/plans/2026-08-13-provider-registry-design.md`: the
|
|
6
|
-
* Extensions section manages plugins, it does not *host* their features. A
|
|
7
|
-
* deploy plugin's features live under Deploy; a host plugin's instances live in
|
|
8
|
-
* the SSH server list via `providers/host-bridge.ts`. This module answers only
|
|
9
|
-
* "what do I have, what may it do, and what may it reach".
|
|
10
|
-
*
|
|
11
|
-
* **Why the two registries flatten here rather than in the route.** Kind is a
|
|
12
|
-
* *field* on the answer, not a shape difference in it. The two contracts stay
|
|
13
|
-
* disjoint everywhere they disagree — that is §2 — but an inventory is one of
|
|
14
|
-
* the few places they genuinely agree, because what an inventory reports is the
|
|
15
|
-
* manifest, and both manifests carry an id, a name, an action list and an
|
|
16
|
-
* egress allowlist. Keeping the flattening in core means the MCP surface and a
|
|
17
|
-
* future CLI `nomoreide extensions` get the same rows without going through
|
|
18
|
-
* HTTP.
|
|
19
|
-
*
|
|
20
|
-
* Deliberately **read-only, and there is nothing yet to write**: every
|
|
21
|
-
* extension is `built-in`, so there is no install and no remove. The page says
|
|
22
|
-
* so rather than rendering disabled buttons — see §12.
|
|
23
|
-
*/
|
|
24
|
-
/**
|
|
25
|
-
* Where an extension came from.
|
|
26
|
-
*
|
|
27
|
-
* Only `built-in` exists today. The field is here because it is the question
|
|
28
|
-
* the whole section is organized around, and a row that cannot state its own
|
|
29
|
-
* provenance is exactly the row a user should not trust. `registry` and
|
|
30
|
-
* `github` join it at stage 3.
|
|
31
|
-
*/
|
|
32
|
-
export type ExtensionSource = "built-in";
|
|
33
|
-
/** What kind of thing an extension is — which is also where its features appear. */
|
|
34
|
-
export type ExtensionKind = "deploy" | "host";
|
|
35
|
-
export interface InstalledExtension {
|
|
36
|
-
id: string;
|
|
37
|
-
name: string;
|
|
38
|
-
kind: ExtensionKind;
|
|
39
|
-
source: ExtensionSource;
|
|
40
|
-
/**
|
|
41
|
-
* Optional reads the plugin declares (deploy plugins only). Empty for a host
|
|
42
|
-
* plugin, which has no capability list because it has no optional reads —
|
|
43
|
-
* `HostProvider` is small enough that everything on it is required.
|
|
44
|
-
*/
|
|
45
|
-
capabilities: string[];
|
|
46
|
-
/** Named write operations the plugin accepts. */
|
|
47
|
-
actions: string[];
|
|
48
|
-
/** The subset of `actions` the UI confirms before running. */
|
|
49
|
-
productionAffecting: string[];
|
|
50
|
-
/**
|
|
51
|
-
* Every host this plugin may reach, from its manifest's `api.hosts`.
|
|
52
|
-
*
|
|
53
|
-
* This is the field that earns the page. Enforced invisibly by
|
|
54
|
-
* `createProviderFetch` since §11's gate item 3; showing it turns enforcement
|
|
55
|
-
* into **disclosure**, which is the sentence a user needs before installing
|
|
56
|
-
* anything. Built while every answer is still verifiable in-tree, so that the
|
|
57
|
-
* surface is trustworthy by the time an answer is not.
|
|
58
|
-
*/
|
|
59
|
-
hosts: string[];
|
|
60
|
-
/**
|
|
61
|
-
* A page this plugin's data *also* appears on, as a page id, or `null`.
|
|
62
|
-
*
|
|
63
|
-
* Every plugin now owns a page under Extensions (§12, owner's call), so this
|
|
64
|
-
* no longer answers "where do I find it" — it answers the second question,
|
|
65
|
-
* "what else does installing this change". Only Vultr has an answer today:
|
|
66
|
-
* its instances become rows in the SSH server list, which is §7's payoff and
|
|
67
|
-
* the one thing the two-layer nav deliberately did not relocate.
|
|
68
|
-
*/
|
|
69
|
-
mergesInto: string | null;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Everything installed, deploy plugins first.
|
|
73
|
-
*
|
|
74
|
-
* Synchronous and unsorted beyond that: both registries are static arrays, so
|
|
75
|
-
* the order is the order a provider was added, and stability matters more than
|
|
76
|
-
* alphabetization for a list this short.
|
|
77
|
-
*/
|
|
78
|
-
export declare function listInstalledExtensions(): InstalledExtension[];
|
package/dist/core/extensions.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { deployProviders, hostProviders, } from "./providers/registry.js";
|
|
2
|
-
/**
|
|
3
|
-
* Everything installed, deploy plugins first.
|
|
4
|
-
*
|
|
5
|
-
* Synchronous and unsorted beyond that: both registries are static arrays, so
|
|
6
|
-
* the order is the order a provider was added, and stability matters more than
|
|
7
|
-
* alphabetization for a list this short.
|
|
8
|
-
*/
|
|
9
|
-
export function listInstalledExtensions() {
|
|
10
|
-
return [
|
|
11
|
-
...deployProviders.map(({ manifest }) => ({
|
|
12
|
-
id: manifest.id,
|
|
13
|
-
name: manifest.name,
|
|
14
|
-
kind: "deploy",
|
|
15
|
-
source: "built-in",
|
|
16
|
-
capabilities: [...manifest.capabilities],
|
|
17
|
-
actions: [...manifest.actions],
|
|
18
|
-
productionAffecting: [...manifest.productionAffecting],
|
|
19
|
-
hosts: [...manifest.api.hosts],
|
|
20
|
-
// A deploy plugin's projects and deployments render on its own page, so
|
|
21
|
-
// there is nowhere else to send the reader.
|
|
22
|
-
mergesInto: null,
|
|
23
|
-
})),
|
|
24
|
-
...hostProviders.map(({ manifest }) => ({
|
|
25
|
-
id: manifest.id,
|
|
26
|
-
name: manifest.name,
|
|
27
|
-
kind: "host",
|
|
28
|
-
source: "built-in",
|
|
29
|
-
capabilities: [],
|
|
30
|
-
actions: [...manifest.actions],
|
|
31
|
-
productionAffecting: [...manifest.productionAffecting],
|
|
32
|
-
hosts: [...manifest.api.hosts],
|
|
33
|
-
// A host plugin has its own page like everything else, *and* its
|
|
34
|
-
// instances keep appearing in the SSH server list beside machines no
|
|
35
|
-
// plugin owns. Saying so is what stops the page reading as the only
|
|
36
|
-
// place Vultr exists.
|
|
37
|
-
mergesInto: "servers",
|
|
38
|
-
})),
|
|
39
|
-
];
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=extensions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"extensions.js","sourceRoot":"","sources":["../../src/core/extensions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,aAAa,GACd,MAAM,yBAAyB,CAAC;AA4EjC;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO;QACL,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACxC,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAiB;YACvB,MAAM,EAAE,UAAmB;YAC3B,YAAY,EAAE,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC;YACxC,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC9B,mBAAmB,EAAE,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC;YACtD,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,wEAAwE;YACxE,4CAA4C;YAC5C,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;QACH,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,MAAe;YACrB,MAAM,EAAE,UAAmB;YAC3B,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC;YAC9B,mBAAmB,EAAE,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC;YACtD,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;YAC9B,iEAAiE;YACjE,qEAAqE;YACrE,oEAAoE;YACpE,sBAAsB;YACtB,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import type { ExternalTerminalPreference } from "./app-settings.js";
|
|
2
|
-
export declare const TERMINAL_FRAME: {
|
|
3
|
-
readonly auth: 1;
|
|
4
|
-
readonly input: 2;
|
|
5
|
-
readonly resize: 3;
|
|
6
|
-
readonly detach: 4;
|
|
7
|
-
readonly output: 101;
|
|
8
|
-
readonly attached: 102;
|
|
9
|
-
readonly revoked: 103;
|
|
10
|
-
readonly error: 104;
|
|
11
|
-
};
|
|
12
|
-
export declare const MAX_TERMINAL_FRAME_BYTES: number;
|
|
13
|
-
export declare const EXTERNAL_TERMINAL_RESET: Buffer<ArrayBuffer>;
|
|
14
|
-
export declare const ITERM2_LAUNCH_SCRIPT: string;
|
|
15
|
-
export declare const TERMINAL_LAUNCH_SCRIPT: string;
|
|
16
|
-
export declare const GHOSTTY_LAUNCH_SCRIPT: string;
|
|
17
|
-
export interface ExternalTerminalCallbacks {
|
|
18
|
-
/** Called after authentication. Return replay, or null if the lease is stale. */
|
|
19
|
-
attached(): Buffer | null;
|
|
20
|
-
input(data: Buffer): void;
|
|
21
|
-
resize(cols: number, rows: number): void;
|
|
22
|
-
detached(): void;
|
|
23
|
-
}
|
|
24
|
-
export interface ExternalTerminalAttachment {
|
|
25
|
-
readonly lease: string;
|
|
26
|
-
sendOutput(data: Buffer): boolean;
|
|
27
|
-
revoke(): void;
|
|
28
|
-
}
|
|
29
|
-
export interface ExternalTerminalOpenOptions {
|
|
30
|
-
lease?: string;
|
|
31
|
-
title?: string;
|
|
32
|
-
}
|
|
33
|
-
export interface ExternalTerminalLauncherOptions {
|
|
34
|
-
entryPath: string;
|
|
35
|
-
preference?: () => ExternalTerminalPreference | Promise<ExternalTerminalPreference>;
|
|
36
|
-
launch?: (socketPath: string, token: string, entryPath: string, preference: ExternalTerminalPreference, title: string) => Promise<void>;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Creates a private, one-use Unix-socket relay and opens the selected terminal
|
|
40
|
-
* with the exact Node executable and installed package entry used by the daemon.
|
|
41
|
-
*/
|
|
42
|
-
export declare class ExternalTerminalLauncher {
|
|
43
|
-
private readonly entryPath;
|
|
44
|
-
private readonly preference;
|
|
45
|
-
private readonly launch;
|
|
46
|
-
constructor(options: ExternalTerminalLauncherOptions);
|
|
47
|
-
open(callbacks: ExternalTerminalCallbacks, options?: ExternalTerminalOpenOptions): Promise<ExternalTerminalAttachment>;
|
|
48
|
-
}
|
|
49
|
-
export declare function encodeFrame(kind: number, data?: Buffer): Buffer;
|
|
50
|
-
export declare function externalTerminalTitle(provider: string | undefined, label: string | undefined): string;
|
|
51
|
-
export declare function terminalTitleSequence(title: string): Buffer;
|
|
52
|
-
export type ExternalTerminalApp = Exclude<ExternalTerminalPreference, "automatic">;
|
|
53
|
-
export declare function iTerm2ApplicationPaths(homeDirectory?: string): string[];
|
|
54
|
-
export declare function selectExternalTerminal(preference: ExternalTerminalPreference, installed: {
|
|
55
|
-
ghostty: boolean;
|
|
56
|
-
iterm2: boolean;
|
|
57
|
-
}): ExternalTerminalApp;
|
|
58
|
-
export declare function ghosttyLaunchCommand(socketPath: string, token: string, entryPath: string): string;
|
|
59
|
-
/** Hidden attach client used by supported terminal apps through the installed entry. */
|
|
60
|
-
export declare function runExternalTerminalAttach(socketPath: string, token: string): Promise<void>;
|