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,108 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `docker inspect` for a single container, flattened to what the detail panel
|
|
3
|
-
* actually renders. Raw inspect output is a deeply nested ~200-key document;
|
|
4
|
-
* shipping it wholesale to the client would be both noisy and a needless
|
|
5
|
-
* disclosure surface, so this picks fields deliberately.
|
|
6
|
-
*/
|
|
7
|
-
import { execDocker, validateContainerId } from "./docker.js";
|
|
8
|
-
/**
|
|
9
|
-
* Env values are masked when the key looks like a credential. This is a local
|
|
10
|
-
* dashboard, but the same daemon port is what MCP agents talk to — a container
|
|
11
|
-
* password shouldn't land in an agent transcript just because someone opened a
|
|
12
|
-
* detail panel.
|
|
13
|
-
*/
|
|
14
|
-
const SECRET_KEY_PATTERN = /(pass|secret|token|key|credential|auth)/i;
|
|
15
|
-
export async function inspectDockerContainer(id) {
|
|
16
|
-
validateContainerId(id);
|
|
17
|
-
const stdout = await execDocker(["inspect", id]);
|
|
18
|
-
const parsed = JSON.parse(stdout);
|
|
19
|
-
const raw = Array.isArray(parsed) ? parsed[0] : parsed;
|
|
20
|
-
if (!raw || typeof raw !== "object") {
|
|
21
|
-
throw new Error(`No inspect output for container "${id}"`);
|
|
22
|
-
}
|
|
23
|
-
return mapInspectDocument(raw);
|
|
24
|
-
}
|
|
25
|
-
export function mapInspectDocument(raw) {
|
|
26
|
-
const config = asRecord(raw.Config);
|
|
27
|
-
const state = asRecord(raw.State);
|
|
28
|
-
const hostConfig = asRecord(raw.NetworkSettings);
|
|
29
|
-
return {
|
|
30
|
-
id: asString(raw.Id),
|
|
31
|
-
// Docker prefixes container names with a slash; nobody wants to read that.
|
|
32
|
-
name: asString(raw.Name).replace(/^\//, ""),
|
|
33
|
-
image: asString(config.Image),
|
|
34
|
-
command: [asString(config.Entrypoint), ...asStringArray(config.Cmd)]
|
|
35
|
-
.filter(Boolean)
|
|
36
|
-
.join(" "),
|
|
37
|
-
created: asString(raw.Created),
|
|
38
|
-
state: asString(state.Status),
|
|
39
|
-
startedAt: asString(state.StartedAt),
|
|
40
|
-
restartCount: typeof raw.RestartCount === "number" ? raw.RestartCount : 0,
|
|
41
|
-
env: parseEnvList(asStringArray(config.Env)),
|
|
42
|
-
mounts: parseMounts(raw.Mounts),
|
|
43
|
-
ports: parsePortBindings(hostConfig.Ports),
|
|
44
|
-
networks: Object.keys(asRecord(hostConfig.Networks)),
|
|
45
|
-
labels: parseLabels(config.Labels),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
export function parseEnvList(entries) {
|
|
49
|
-
return entries.map((entry) => {
|
|
50
|
-
const separator = entry.indexOf("=");
|
|
51
|
-
const key = separator === -1 ? entry : entry.slice(0, separator);
|
|
52
|
-
const value = separator === -1 ? "" : entry.slice(separator + 1);
|
|
53
|
-
const secret = SECRET_KEY_PATTERN.test(key) && value.length > 0;
|
|
54
|
-
return { key, value: secret ? "••••••••" : value, secret };
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
function parseMounts(raw) {
|
|
58
|
-
if (!Array.isArray(raw))
|
|
59
|
-
return [];
|
|
60
|
-
return raw.filter(isRecord).map((mount) => ({
|
|
61
|
-
type: asString(mount.Type),
|
|
62
|
-
// Named volumes report Name; bind mounts report Source.
|
|
63
|
-
source: asString(mount.Name) || asString(mount.Source),
|
|
64
|
-
destination: asString(mount.Destination),
|
|
65
|
-
readOnly: mount.RW === false,
|
|
66
|
-
}));
|
|
67
|
-
}
|
|
68
|
-
/** NetworkSettings.Ports maps "5432/tcp" to a list of host bindings, or null. */
|
|
69
|
-
function parsePortBindings(raw) {
|
|
70
|
-
if (!isRecord(raw))
|
|
71
|
-
return [];
|
|
72
|
-
const bindings = [];
|
|
73
|
-
for (const [containerPort, hostList] of Object.entries(raw)) {
|
|
74
|
-
if (!Array.isArray(hostList) || hostList.length === 0) {
|
|
75
|
-
bindings.push({ containerPort, hostPort: "" });
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
for (const host of hostList.filter(isRecord)) {
|
|
79
|
-
const ip = asString(host.HostIp);
|
|
80
|
-
const port = asString(host.HostPort);
|
|
81
|
-
bindings.push({ containerPort, hostPort: ip ? `${ip}:${port}` : port });
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return bindings;
|
|
85
|
-
}
|
|
86
|
-
function parseLabels(raw) {
|
|
87
|
-
if (!isRecord(raw))
|
|
88
|
-
return {};
|
|
89
|
-
const labels = {};
|
|
90
|
-
for (const [key, value] of Object.entries(raw)) {
|
|
91
|
-
if (typeof value === "string")
|
|
92
|
-
labels[key] = value;
|
|
93
|
-
}
|
|
94
|
-
return labels;
|
|
95
|
-
}
|
|
96
|
-
function isRecord(value) {
|
|
97
|
-
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
98
|
-
}
|
|
99
|
-
function asRecord(value) {
|
|
100
|
-
return isRecord(value) ? value : {};
|
|
101
|
-
}
|
|
102
|
-
function asString(value) {
|
|
103
|
-
return typeof value === "string" ? value : "";
|
|
104
|
-
}
|
|
105
|
-
function asStringArray(value) {
|
|
106
|
-
return Array.isArray(value) ? value.filter((item) => typeof item === "string") : [];
|
|
107
|
-
}
|
|
108
|
-
//# sourceMappingURL=docker-inspect.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docker-inspect.js","sourceRoot":"","sources":["../../src/core/docker-inspect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export interface DockerImageSummary {
|
|
2
|
-
id: string;
|
|
3
|
-
repository: string;
|
|
4
|
-
tag: string;
|
|
5
|
-
/** Human size string straight from Docker, e.g. "417MB". */
|
|
6
|
-
size: string;
|
|
7
|
-
createdSince: string;
|
|
8
|
-
/** True for untagged layers left behind by rebuilds (`<none>:<none>`). */
|
|
9
|
-
dangling: boolean;
|
|
10
|
-
}
|
|
11
|
-
export declare function listDockerImages(): Promise<DockerImageSummary[]>;
|
|
12
|
-
export declare function parseDockerImageLines(stdout: string): DockerImageSummary[];
|
|
13
|
-
export interface DockerVolumeSummary {
|
|
14
|
-
name: string;
|
|
15
|
-
driver: string;
|
|
16
|
-
mountpoint: string;
|
|
17
|
-
scope: string;
|
|
18
|
-
}
|
|
19
|
-
export declare function listDockerVolumes(): Promise<DockerVolumeSummary[]>;
|
|
20
|
-
export declare function parseDockerVolumeLines(stdout: string): DockerVolumeSummary[];
|
|
21
|
-
export interface DockerNetworkSummary {
|
|
22
|
-
id: string;
|
|
23
|
-
name: string;
|
|
24
|
-
driver: string;
|
|
25
|
-
scope: string;
|
|
26
|
-
}
|
|
27
|
-
export declare function listDockerNetworks(): Promise<DockerNetworkSummary[]>;
|
|
28
|
-
export declare function parseDockerNetworkLines(stdout: string): DockerNetworkSummary[];
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The non-container half of a Docker host: images, volumes, and networks.
|
|
3
|
-
* Read-only by design — pruning and removal are destructive and belong behind
|
|
4
|
-
* an explicit guard, mirroring the git-manager / git-actions split.
|
|
5
|
-
*/
|
|
6
|
-
import { execDocker, parseDockerJsonLines, readString } from "./docker.js";
|
|
7
|
-
export async function listDockerImages() {
|
|
8
|
-
return parseDockerImageLines(await execDocker(["images", "--format", "{{json .}}"]));
|
|
9
|
-
}
|
|
10
|
-
export function parseDockerImageLines(stdout) {
|
|
11
|
-
return parseDockerJsonLines(stdout, (raw) => {
|
|
12
|
-
const id = readString(raw, "ID");
|
|
13
|
-
if (!id)
|
|
14
|
-
return null;
|
|
15
|
-
const repository = readString(raw, "Repository");
|
|
16
|
-
const tag = readString(raw, "Tag");
|
|
17
|
-
return {
|
|
18
|
-
id,
|
|
19
|
-
repository,
|
|
20
|
-
tag,
|
|
21
|
-
size: readString(raw, "Size"),
|
|
22
|
-
createdSince: readString(raw, "CreatedSince"),
|
|
23
|
-
dangling: repository === "<none>" || tag === "<none>",
|
|
24
|
-
};
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
export async function listDockerVolumes() {
|
|
28
|
-
return parseDockerVolumeLines(await execDocker(["volume", "ls", "--format", "{{json .}}"]));
|
|
29
|
-
}
|
|
30
|
-
export function parseDockerVolumeLines(stdout) {
|
|
31
|
-
return parseDockerJsonLines(stdout, (raw) => {
|
|
32
|
-
const name = readString(raw, "Name");
|
|
33
|
-
if (!name)
|
|
34
|
-
return null;
|
|
35
|
-
return {
|
|
36
|
-
name,
|
|
37
|
-
driver: readString(raw, "Driver"),
|
|
38
|
-
mountpoint: readString(raw, "Mountpoint"),
|
|
39
|
-
scope: readString(raw, "Scope"),
|
|
40
|
-
};
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
export async function listDockerNetworks() {
|
|
44
|
-
return parseDockerNetworkLines(await execDocker(["network", "ls", "--format", "{{json .}}"]));
|
|
45
|
-
}
|
|
46
|
-
export function parseDockerNetworkLines(stdout) {
|
|
47
|
-
return parseDockerJsonLines(stdout, (raw) => {
|
|
48
|
-
const id = readString(raw, "ID");
|
|
49
|
-
if (!id)
|
|
50
|
-
return null;
|
|
51
|
-
return {
|
|
52
|
-
id,
|
|
53
|
-
name: readString(raw, "Name"),
|
|
54
|
-
driver: readString(raw, "Driver"),
|
|
55
|
-
scope: readString(raw, "Scope"),
|
|
56
|
-
};
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=docker-resources.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docker-resources.js","sourceRoot":"","sources":["../../src/core/docker-resources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAa3E,MAAM,CAAC,KAAK,UAAU,gBAAgB;IACpC,OAAO,qBAAqB,CAAC,MAAM,UAAU,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,OAAO,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACnC,OAAO;YACL,EAAE;YACF,UAAU;YACV,GAAG;YACH,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;YAC7B,YAAY,EAAE,UAAU,CAAC,GAAG,EAAE,cAAc,CAAC;YAC7C,QAAQ,EAAE,UAAU,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ;SACtD,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,OAAO,sBAAsB,CAAC,MAAM,UAAU,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAc;IACnD,OAAO,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QAC1C,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;YACjC,UAAU,EAAE,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC;YACzC,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SAChC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,OAAO,uBAAuB,CAAC,MAAM,UAAU,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAc;IACpD,OAAO,oBAAoB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;QAC1C,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,OAAO;YACL,EAAE;YACF,IAAI,EAAE,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;YAC7B,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,QAAQ,CAAC;YACjC,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC;SAChC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export interface DockerComposeTarget {
|
|
2
|
-
cwd: string;
|
|
3
|
-
composeFile?: string;
|
|
4
|
-
composeService: string;
|
|
5
|
-
}
|
|
6
|
-
export interface DockerComposeCommands {
|
|
7
|
-
start: [string, string[]];
|
|
8
|
-
stop: [string, string[]];
|
|
9
|
-
status: [string, string[]];
|
|
10
|
-
logs: [string, string[]];
|
|
11
|
-
}
|
|
12
|
-
export declare function createDockerComposeCommands(target: DockerComposeTarget, logTail?: number): DockerComposeCommands;
|
|
13
|
-
export interface DockerContainerInfo {
|
|
14
|
-
containerId?: string;
|
|
15
|
-
state?: string;
|
|
16
|
-
}
|
|
17
|
-
export declare function startDockerService(target: DockerComposeTarget): Promise<DockerContainerInfo>;
|
|
18
|
-
export declare function stopDockerService(target: DockerComposeTarget): Promise<void>;
|
|
19
|
-
export declare function readDockerServiceStatus(target: DockerComposeTarget): Promise<DockerContainerInfo>;
|
|
20
|
-
export declare function readDockerServiceLogs(target: DockerComposeTarget, tail?: number): Promise<string>;
|
|
21
|
-
export declare function parseDockerPsOutput(stdout: string): DockerContainerInfo;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { execFile } from "node:child_process";
|
|
2
|
-
import { promisify } from "node:util";
|
|
3
|
-
const execFileAsync = promisify(execFile);
|
|
4
|
-
export function createDockerComposeCommands(target, logTail = 120) {
|
|
5
|
-
validateTarget(target);
|
|
6
|
-
const fileArgs = target.composeFile ? ["-f", target.composeFile] : [];
|
|
7
|
-
return {
|
|
8
|
-
start: ["docker", ["compose", ...fileArgs, "up", "-d", target.composeService]],
|
|
9
|
-
stop: ["docker", ["compose", ...fileArgs, "stop", target.composeService]],
|
|
10
|
-
status: [
|
|
11
|
-
"docker",
|
|
12
|
-
["compose", ...fileArgs, "ps", "--format", "json", target.composeService],
|
|
13
|
-
],
|
|
14
|
-
logs: [
|
|
15
|
-
"docker",
|
|
16
|
-
[
|
|
17
|
-
"compose",
|
|
18
|
-
...fileArgs,
|
|
19
|
-
"logs",
|
|
20
|
-
"--tail",
|
|
21
|
-
String(logTail),
|
|
22
|
-
target.composeService,
|
|
23
|
-
],
|
|
24
|
-
],
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
export async function startDockerService(target) {
|
|
28
|
-
const commands = createDockerComposeCommands(target);
|
|
29
|
-
await execFileAsync(commands.start[0], commands.start[1], { cwd: target.cwd });
|
|
30
|
-
return readDockerServiceStatus(target);
|
|
31
|
-
}
|
|
32
|
-
export async function stopDockerService(target) {
|
|
33
|
-
const commands = createDockerComposeCommands(target);
|
|
34
|
-
await execFileAsync(commands.stop[0], commands.stop[1], { cwd: target.cwd });
|
|
35
|
-
}
|
|
36
|
-
export async function readDockerServiceStatus(target) {
|
|
37
|
-
const commands = createDockerComposeCommands(target);
|
|
38
|
-
try {
|
|
39
|
-
const { stdout } = await execFileAsync(commands.status[0], commands.status[1], {
|
|
40
|
-
cwd: target.cwd,
|
|
41
|
-
});
|
|
42
|
-
return parseDockerPsOutput(stdout);
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return {};
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
export async function readDockerServiceLogs(target, tail = 120) {
|
|
49
|
-
const commands = createDockerComposeCommands(target, tail);
|
|
50
|
-
const { stdout } = await execFileAsync(commands.logs[0], commands.logs[1], {
|
|
51
|
-
cwd: target.cwd,
|
|
52
|
-
});
|
|
53
|
-
return stdout;
|
|
54
|
-
}
|
|
55
|
-
export function parseDockerPsOutput(stdout) {
|
|
56
|
-
const lines = stdout
|
|
57
|
-
.split(/\r?\n/)
|
|
58
|
-
.map((line) => line.trim())
|
|
59
|
-
.filter((line) => line.length > 0);
|
|
60
|
-
for (const line of lines) {
|
|
61
|
-
try {
|
|
62
|
-
const parsed = JSON.parse(line);
|
|
63
|
-
if (parsed.ID) {
|
|
64
|
-
return { containerId: parsed.ID, state: parsed.State };
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
// ignore non-json line
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return {};
|
|
72
|
-
}
|
|
73
|
-
function validateTarget(target) {
|
|
74
|
-
if (!target.cwd.trim())
|
|
75
|
-
throw new Error("Docker compose cwd is required.");
|
|
76
|
-
if (!target.composeService.trim()) {
|
|
77
|
-
throw new Error("Docker compose service name is required.");
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=docker-service-runner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docker-service-runner.js","sourceRoot":"","sources":["../../src/core/docker-service-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export interface DockerContainerStats {
|
|
2
|
-
id: string;
|
|
3
|
-
/** Null when Docker reports a non-numeric value (e.g. "--" for a stopped container). */
|
|
4
|
-
cpuPercent: number | null;
|
|
5
|
-
memoryPercent: number | null;
|
|
6
|
-
/** Raw "184MiB / 2GiB" string — shown verbatim, Docker already picked sane units. */
|
|
7
|
-
memoryUsage: string;
|
|
8
|
-
/** Raw "1.2kB / 648B" network I/O string. */
|
|
9
|
-
netIo: string;
|
|
10
|
-
blockIo: string;
|
|
11
|
-
}
|
|
12
|
-
export declare function listDockerStats(): Promise<DockerContainerStats[]>;
|
|
13
|
-
export declare function parseDockerStatsLines(stdout: string): DockerContainerStats[];
|
|
14
|
-
/** Docker formats percentages as "2.43%", or "--" when it has no sample. */
|
|
15
|
-
export declare function parsePercent(value: string): number | null;
|
|
16
|
-
/** Parse the used side of Docker's "184MiB / 2GiB" memory value into MiB. */
|
|
17
|
-
export declare function parseDockerMemoryUsageMb(value: string): number | null;
|
|
18
|
-
/**
|
|
19
|
-
* `docker stats` keys rows by the short (12-char) ID while `docker ps` reports
|
|
20
|
-
* the same short form — but callers may hold either, so match on prefix in
|
|
21
|
-
* whichever direction is longer.
|
|
22
|
-
*/
|
|
23
|
-
export declare function indexStatsById(stats: DockerContainerStats[]): Map<string, DockerContainerStats>;
|
|
24
|
-
export declare function findStatsFor(index: Map<string, DockerContainerStats>, containerId: string): DockerContainerStats | undefined;
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-container resource usage via `docker stats --no-stream`. Kept out of
|
|
3
|
-
* `docker.ts` because it's the one Docker read that is genuinely expensive —
|
|
4
|
-
* the daemon samples every running container before it answers — so the UI
|
|
5
|
-
* polls it on its own cadence rather than folding it into the container list.
|
|
6
|
-
*/
|
|
7
|
-
import { execDocker, parseDockerJsonLines, readString } from "./docker.js";
|
|
8
|
-
export async function listDockerStats() {
|
|
9
|
-
return parseDockerStatsLines(await execDocker(["stats", "--no-stream", "--format", "{{json .}}"]));
|
|
10
|
-
}
|
|
11
|
-
export function parseDockerStatsLines(stdout) {
|
|
12
|
-
return parseDockerJsonLines(stdout, (raw) => {
|
|
13
|
-
const id = readString(raw, "ID") || readString(raw, "Container");
|
|
14
|
-
if (!id)
|
|
15
|
-
return null;
|
|
16
|
-
return {
|
|
17
|
-
id,
|
|
18
|
-
cpuPercent: parsePercent(readString(raw, "CPUPerc")),
|
|
19
|
-
memoryPercent: parsePercent(readString(raw, "MemPerc")),
|
|
20
|
-
memoryUsage: readString(raw, "MemUsage"),
|
|
21
|
-
netIo: readString(raw, "NetIO"),
|
|
22
|
-
blockIo: readString(raw, "BlockIO"),
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
/** Docker formats percentages as "2.43%", or "--" when it has no sample. */
|
|
27
|
-
export function parsePercent(value) {
|
|
28
|
-
const parsed = Number.parseFloat(value.replace("%", "").trim());
|
|
29
|
-
return Number.isFinite(parsed) ? parsed : null;
|
|
30
|
-
}
|
|
31
|
-
/** Parse the used side of Docker's "184MiB / 2GiB" memory value into MiB. */
|
|
32
|
-
export function parseDockerMemoryUsageMb(value) {
|
|
33
|
-
const used = value.split("/", 1)[0]?.trim() ?? "";
|
|
34
|
-
const matched = /^(\d+(?:\.\d+)?)\s*([kmgt]?i?b)$/i.exec(used);
|
|
35
|
-
if (!matched)
|
|
36
|
-
return null;
|
|
37
|
-
const amount = Number.parseFloat(matched[1]);
|
|
38
|
-
if (!Number.isFinite(amount))
|
|
39
|
-
return null;
|
|
40
|
-
const unit = matched[2].toLowerCase();
|
|
41
|
-
const bytesPerUnit = {
|
|
42
|
-
b: 1,
|
|
43
|
-
kb: 1_000,
|
|
44
|
-
kib: 1024,
|
|
45
|
-
mb: 1_000_000,
|
|
46
|
-
mib: 1024 ** 2,
|
|
47
|
-
gb: 1_000_000_000,
|
|
48
|
-
gib: 1024 ** 3,
|
|
49
|
-
tb: 1_000_000_000_000,
|
|
50
|
-
tib: 1024 ** 4,
|
|
51
|
-
};
|
|
52
|
-
const bytes = amount * (bytesPerUnit[unit] ?? 0);
|
|
53
|
-
return bytes > 0 ? bytes / 1024 ** 2 : 0;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* `docker stats` keys rows by the short (12-char) ID while `docker ps` reports
|
|
57
|
-
* the same short form — but callers may hold either, so match on prefix in
|
|
58
|
-
* whichever direction is longer.
|
|
59
|
-
*/
|
|
60
|
-
export function indexStatsById(stats) {
|
|
61
|
-
const index = new Map();
|
|
62
|
-
for (const entry of stats)
|
|
63
|
-
index.set(entry.id, entry);
|
|
64
|
-
return index;
|
|
65
|
-
}
|
|
66
|
-
export function findStatsFor(index, containerId) {
|
|
67
|
-
const exact = index.get(containerId);
|
|
68
|
-
if (exact)
|
|
69
|
-
return exact;
|
|
70
|
-
for (const [id, entry] of index) {
|
|
71
|
-
if (id.startsWith(containerId) || containerId.startsWith(id))
|
|
72
|
-
return entry;
|
|
73
|
-
}
|
|
74
|
-
return undefined;
|
|
75
|
-
}
|
|
76
|
-
//# sourceMappingURL=docker-stats.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docker-stats.js","sourceRoot":"","sources":["../../src/core/docker-stats.ts"],"names":[],"mappings":"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"}
|
package/dist/core/docker.d.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { type ReadOnlyDirectoryListing, type ReadOnlyFileContent } from "./read-only-files.js";
|
|
2
|
-
/**
|
|
3
|
-
* Single entry point for every `docker` invocation in this feature. Sibling
|
|
4
|
-
* modules (stats/resources/inspect) go through here so argument handling and
|
|
5
|
-
* the no-shell-interpolation guarantee stay in one place.
|
|
6
|
-
*/
|
|
7
|
-
export declare function execDocker(args: string[]): Promise<string>;
|
|
8
|
-
/**
|
|
9
|
-
* Most `docker ... --format "{{json .}}"` commands emit one JSON object per
|
|
10
|
-
* line. Parse leniently: a single malformed line shouldn't blank the view.
|
|
11
|
-
*/
|
|
12
|
-
export declare function parseDockerJsonLines<T>(stdout: string, map: (raw: Record<string, unknown>) => T | null): T[];
|
|
13
|
-
/** Read a string field off a `docker ... --format "{{json .}}"` row. */
|
|
14
|
-
export declare function readString(raw: Record<string, unknown>, key: string): string;
|
|
15
|
-
export interface DockerStatus {
|
|
16
|
-
available: boolean;
|
|
17
|
-
canStart: boolean;
|
|
18
|
-
installUrl?: string;
|
|
19
|
-
version?: string;
|
|
20
|
-
error?: string;
|
|
21
|
-
}
|
|
22
|
-
/** Whether the `docker` CLI/daemon is reachable at all, for the page's empty state. */
|
|
23
|
-
export declare function getDockerStatus(): Promise<DockerStatus>;
|
|
24
|
-
/** A fixed, platform-owned launch command—never derived from request input. */
|
|
25
|
-
export declare function dockerDesktopStartCommand(platform?: NodeJS.Platform): {
|
|
26
|
-
file: string;
|
|
27
|
-
args: string[];
|
|
28
|
-
} | null;
|
|
29
|
-
export declare function dockerDesktopLookupCommand(platform?: NodeJS.Platform): {
|
|
30
|
-
file: string;
|
|
31
|
-
args: string[];
|
|
32
|
-
} | null;
|
|
33
|
-
export declare function dockerDesktopInstallUrl(platform?: NodeJS.Platform): string | undefined;
|
|
34
|
-
export declare function isDockerDesktopInstalled(platform?: NodeJS.Platform): Promise<boolean>;
|
|
35
|
-
export declare function startDockerDesktop(): Promise<void>;
|
|
36
|
-
export interface DockerContainerSummary {
|
|
37
|
-
id: string;
|
|
38
|
-
name: string;
|
|
39
|
-
image: string;
|
|
40
|
-
/** Raw `docker ps` state: running, exited, paused, created, restarting, dead. */
|
|
41
|
-
state: string;
|
|
42
|
-
/** Human status string, e.g. "Up 2 hours" or "Exited (0) 3 days ago". */
|
|
43
|
-
status: string;
|
|
44
|
-
ports: string;
|
|
45
|
-
createdAt?: string;
|
|
46
|
-
/** From `com.docker.compose.project` / `.service` labels, when present. */
|
|
47
|
-
project?: string;
|
|
48
|
-
service?: string;
|
|
49
|
-
}
|
|
50
|
-
export declare function listDockerContainers(): Promise<DockerContainerSummary[]>;
|
|
51
|
-
export declare function parseDockerPsLines(stdout: string): DockerContainerSummary[];
|
|
52
|
-
export type DockerContainerAction = "start" | "stop" | "restart";
|
|
53
|
-
export declare function performDockerContainerAction(id: string, action: DockerContainerAction): Promise<void>;
|
|
54
|
-
export declare function readDockerContainerLogs(id: string, tail?: number): Promise<string>;
|
|
55
|
-
export interface DockerDirectoryListing extends ReadOnlyDirectoryListing {
|
|
56
|
-
containerId: string;
|
|
57
|
-
}
|
|
58
|
-
export interface DockerFileContent extends ReadOnlyFileContent {
|
|
59
|
-
containerId: string;
|
|
60
|
-
}
|
|
61
|
-
/** Lazy, read-only listing rooted at the container's configured working directory. */
|
|
62
|
-
export declare function readDockerContainerDirectory(id: string, path?: string, includeHidden?: boolean): Promise<DockerDirectoryListing>;
|
|
63
|
-
export declare function readDockerContainerFile(id: string, path: string): Promise<DockerFileContent>;
|
|
64
|
-
/** Exact argv boundary used by the read-only explorer; paths never become shell source. */
|
|
65
|
-
export declare function dockerReadDirectoryArgs(id: string, path: string): string[];
|
|
66
|
-
export declare function dockerReadFileArgs(id: string, path: string): string[];
|
|
67
|
-
/**
|
|
68
|
-
* `docker logs` writes container stdout/stderr as two separate streams, so
|
|
69
|
-
* `execFile` hands them back unordered relative to each other. `--timestamps`
|
|
70
|
-
* prefixes every line with an RFC3339 time, so a lexicographic sort of the
|
|
71
|
-
* combined lines reconstructs chronological order.
|
|
72
|
-
*/
|
|
73
|
-
export declare function mergeTimestampedLogLines(stdout: string, stderr: string): string;
|
|
74
|
-
/** Docker container IDs/names are alphanumeric plus `_.-`; reject anything else. */
|
|
75
|
-
export declare function validateContainerId(id: string): void;
|