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/docker.js
DELETED
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Read-mostly Docker introspection: lists whatever containers are running on
|
|
3
|
-
* the host (registered as a nomoreide service or not) and offers basic
|
|
4
|
-
* lifecycle actions. Mirrors `docker-service-runner.ts`'s approach (shell out
|
|
5
|
-
* via `execFile`, no shell interpolation) but is not tied to a specific
|
|
6
|
-
* compose target — this is "what's on my machine", not "run this service".
|
|
7
|
-
*/
|
|
8
|
-
import { execFile } from "node:child_process";
|
|
9
|
-
import { promisify } from "node:util";
|
|
10
|
-
import { assertReadOnlyPath, FILE_PREVIEW_BYTES, FILE_READ_TIMEOUT_MS, parseReadOnlyDirectory, parseReadOnlyFile, READ_DIRECTORY_SCRIPT, READ_FILE_SCRIPT, } from "./read-only-files.js";
|
|
11
|
-
const execFileAsync = promisify(execFile);
|
|
12
|
-
/**
|
|
13
|
-
* Single entry point for every `docker` invocation in this feature. Sibling
|
|
14
|
-
* modules (stats/resources/inspect) go through here so argument handling and
|
|
15
|
-
* the no-shell-interpolation guarantee stay in one place.
|
|
16
|
-
*/
|
|
17
|
-
export async function execDocker(args) {
|
|
18
|
-
// Docker can emit a lot on `inspect`/`logs`; the default 1MB buffer truncates.
|
|
19
|
-
const { stdout } = await execFileAsync("docker", args, { maxBuffer: 32 * 1024 * 1024 });
|
|
20
|
-
return stdout;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Most `docker ... --format "{{json .}}"` commands emit one JSON object per
|
|
24
|
-
* line. Parse leniently: a single malformed line shouldn't blank the view.
|
|
25
|
-
*/
|
|
26
|
-
export function parseDockerJsonLines(stdout, map) {
|
|
27
|
-
const rows = [];
|
|
28
|
-
for (const line of stdout.split(/\r?\n/)) {
|
|
29
|
-
const trimmed = line.trim();
|
|
30
|
-
if (!trimmed)
|
|
31
|
-
continue;
|
|
32
|
-
let raw;
|
|
33
|
-
try {
|
|
34
|
-
raw = JSON.parse(trimmed);
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
continue;
|
|
38
|
-
}
|
|
39
|
-
const mapped = map(raw);
|
|
40
|
-
if (mapped !== null)
|
|
41
|
-
rows.push(mapped);
|
|
42
|
-
}
|
|
43
|
-
return rows;
|
|
44
|
-
}
|
|
45
|
-
/** Read a string field off a `docker ... --format "{{json .}}"` row. */
|
|
46
|
-
export function readString(raw, key) {
|
|
47
|
-
return typeof raw[key] === "string" ? raw[key] : "";
|
|
48
|
-
}
|
|
49
|
-
/** Whether the `docker` CLI/daemon is reachable at all, for the page's empty state. */
|
|
50
|
-
export async function getDockerStatus() {
|
|
51
|
-
const canStart = await isDockerDesktopInstalled();
|
|
52
|
-
const installUrl = canStart ? undefined : dockerDesktopInstallUrl();
|
|
53
|
-
try {
|
|
54
|
-
const { stdout } = await execFileAsync("docker", [
|
|
55
|
-
"version",
|
|
56
|
-
"--format",
|
|
57
|
-
"{{.Server.Version}}",
|
|
58
|
-
]);
|
|
59
|
-
return { available: true, canStart, installUrl, version: stdout.trim() };
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
return { available: false, canStart, installUrl, error: errorMessage(error) };
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/** A fixed, platform-owned launch command—never derived from request input. */
|
|
66
|
-
export function dockerDesktopStartCommand(platform = process.platform) {
|
|
67
|
-
if (platform === "darwin")
|
|
68
|
-
return { file: "open", args: ["-a", "Docker"] };
|
|
69
|
-
return null;
|
|
70
|
-
}
|
|
71
|
-
export function dockerDesktopLookupCommand(platform = process.platform) {
|
|
72
|
-
if (platform === "darwin")
|
|
73
|
-
return { file: "open", args: ["-Ra", "Docker"] };
|
|
74
|
-
return null;
|
|
75
|
-
}
|
|
76
|
-
export function dockerDesktopInstallUrl(platform = process.platform) {
|
|
77
|
-
return platform === "darwin"
|
|
78
|
-
? "https://docs.docker.com/desktop/setup/install/mac-install/"
|
|
79
|
-
: undefined;
|
|
80
|
-
}
|
|
81
|
-
export async function isDockerDesktopInstalled(platform = process.platform) {
|
|
82
|
-
const command = dockerDesktopLookupCommand(platform);
|
|
83
|
-
if (!command)
|
|
84
|
-
return false;
|
|
85
|
-
try {
|
|
86
|
-
await execFileAsync(command.file, command.args, { timeout: 5_000 });
|
|
87
|
-
return true;
|
|
88
|
-
}
|
|
89
|
-
catch {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
export async function startDockerDesktop() {
|
|
94
|
-
if (!(await isDockerDesktopInstalled())) {
|
|
95
|
-
throw new Error("Docker Desktop is not installed.");
|
|
96
|
-
}
|
|
97
|
-
const command = dockerDesktopStartCommand();
|
|
98
|
-
if (!command) {
|
|
99
|
-
throw new Error("Starting Docker automatically is currently supported on macOS only.");
|
|
100
|
-
}
|
|
101
|
-
await execFileAsync(command.file, command.args, { timeout: 10_000 });
|
|
102
|
-
}
|
|
103
|
-
export async function listDockerContainers() {
|
|
104
|
-
const { stdout } = await execFileAsync("docker", ["ps", "-a", "--format", "{{json .}}"]);
|
|
105
|
-
return parseDockerPsLines(stdout);
|
|
106
|
-
}
|
|
107
|
-
export function parseDockerPsLines(stdout) {
|
|
108
|
-
return stdout
|
|
109
|
-
.split(/\r?\n/)
|
|
110
|
-
.map((line) => line.trim())
|
|
111
|
-
.filter((line) => line.length > 0)
|
|
112
|
-
.map(parseDockerPsLine)
|
|
113
|
-
.filter((container) => container !== null);
|
|
114
|
-
}
|
|
115
|
-
function parseDockerPsLine(line) {
|
|
116
|
-
let raw;
|
|
117
|
-
try {
|
|
118
|
-
raw = JSON.parse(line);
|
|
119
|
-
}
|
|
120
|
-
catch {
|
|
121
|
-
return null;
|
|
122
|
-
}
|
|
123
|
-
const id = typeof raw.ID === "string" ? raw.ID : undefined;
|
|
124
|
-
if (!id)
|
|
125
|
-
return null;
|
|
126
|
-
const labels = parseDockerLabels(typeof raw.Labels === "string" ? raw.Labels : "");
|
|
127
|
-
return {
|
|
128
|
-
id,
|
|
129
|
-
name: typeof raw.Names === "string" && raw.Names ? raw.Names : id,
|
|
130
|
-
image: typeof raw.Image === "string" ? raw.Image : "",
|
|
131
|
-
state: typeof raw.State === "string" && raw.State ? raw.State : "unknown",
|
|
132
|
-
status: typeof raw.Status === "string" ? raw.Status : "",
|
|
133
|
-
ports: typeof raw.Ports === "string" ? raw.Ports : "",
|
|
134
|
-
createdAt: typeof raw.CreatedAt === "string" ? raw.CreatedAt : undefined,
|
|
135
|
-
project: labels["com.docker.compose.project"],
|
|
136
|
-
service: labels["com.docker.compose.service"],
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
/** `docker ps`'s Labels field is a flat `key=value,key=value` string. */
|
|
140
|
-
function parseDockerLabels(raw) {
|
|
141
|
-
const labels = {};
|
|
142
|
-
for (const pair of raw.split(",")) {
|
|
143
|
-
const separator = pair.indexOf("=");
|
|
144
|
-
if (separator === -1)
|
|
145
|
-
continue;
|
|
146
|
-
const key = pair.slice(0, separator).trim();
|
|
147
|
-
if (key)
|
|
148
|
-
labels[key] = pair.slice(separator + 1).trim();
|
|
149
|
-
}
|
|
150
|
-
return labels;
|
|
151
|
-
}
|
|
152
|
-
export async function performDockerContainerAction(id, action) {
|
|
153
|
-
validateContainerId(id);
|
|
154
|
-
await execFileAsync("docker", [action, id]);
|
|
155
|
-
}
|
|
156
|
-
export async function readDockerContainerLogs(id, tail = 200) {
|
|
157
|
-
validateContainerId(id);
|
|
158
|
-
const clampedTail = Math.min(Math.max(Math.trunc(tail) || 200, 1), 2000);
|
|
159
|
-
const { stdout, stderr } = await execFileAsync("docker", [
|
|
160
|
-
"logs",
|
|
161
|
-
"--tail",
|
|
162
|
-
String(clampedTail),
|
|
163
|
-
"--timestamps",
|
|
164
|
-
id,
|
|
165
|
-
]);
|
|
166
|
-
return mergeTimestampedLogLines(stdout, stderr);
|
|
167
|
-
}
|
|
168
|
-
/** Lazy, read-only listing rooted at the container's configured working directory. */
|
|
169
|
-
export async function readDockerContainerDirectory(id, path = ".", includeHidden = false) {
|
|
170
|
-
const { stdout } = await execFileAsync("docker", dockerReadDirectoryArgs(id, path), {
|
|
171
|
-
encoding: "buffer",
|
|
172
|
-
timeout: FILE_READ_TIMEOUT_MS,
|
|
173
|
-
maxBuffer: 4 * 1024 * 1024,
|
|
174
|
-
});
|
|
175
|
-
return { containerId: id, ...parseReadOnlyDirectory(stdout, includeHidden) };
|
|
176
|
-
}
|
|
177
|
-
export async function readDockerContainerFile(id, path) {
|
|
178
|
-
const { stdout } = await execFileAsync("docker", dockerReadFileArgs(id, path), {
|
|
179
|
-
encoding: "buffer",
|
|
180
|
-
timeout: FILE_READ_TIMEOUT_MS,
|
|
181
|
-
maxBuffer: FILE_PREVIEW_BYTES + 64 * 1024,
|
|
182
|
-
});
|
|
183
|
-
return { containerId: id, ...parseReadOnlyFile(path, stdout) };
|
|
184
|
-
}
|
|
185
|
-
/** Exact argv boundary used by the read-only explorer; paths never become shell source. */
|
|
186
|
-
export function dockerReadDirectoryArgs(id, path) {
|
|
187
|
-
validateContainerId(id);
|
|
188
|
-
assertReadOnlyPath(path);
|
|
189
|
-
return ["exec", id, "sh", "-c", READ_DIRECTORY_SCRIPT, "nomoreide", path];
|
|
190
|
-
}
|
|
191
|
-
export function dockerReadFileArgs(id, path) {
|
|
192
|
-
validateContainerId(id);
|
|
193
|
-
assertReadOnlyPath(path, true);
|
|
194
|
-
return ["exec", id, "sh", "-c", READ_FILE_SCRIPT, "nomoreide", path];
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* `docker logs` writes container stdout/stderr as two separate streams, so
|
|
198
|
-
* `execFile` hands them back unordered relative to each other. `--timestamps`
|
|
199
|
-
* prefixes every line with an RFC3339 time, so a lexicographic sort of the
|
|
200
|
-
* combined lines reconstructs chronological order.
|
|
201
|
-
*/
|
|
202
|
-
export function mergeTimestampedLogLines(stdout, stderr) {
|
|
203
|
-
const lines = [...splitNonEmptyLines(stdout), ...splitNonEmptyLines(stderr)];
|
|
204
|
-
lines.sort((a, b) => a.localeCompare(b));
|
|
205
|
-
return lines.join("\n");
|
|
206
|
-
}
|
|
207
|
-
function splitNonEmptyLines(text) {
|
|
208
|
-
return text.split(/\r?\n/).filter((line) => line.length > 0);
|
|
209
|
-
}
|
|
210
|
-
/** Docker container IDs/names are alphanumeric plus `_.-`; reject anything else. */
|
|
211
|
-
export function validateContainerId(id) {
|
|
212
|
-
if (!/^[a-zA-Z0-9][a-zA-Z0-9_.-]*$/.test(id)) {
|
|
213
|
-
throw new Error(`Invalid container id: "${id}"`);
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
function errorMessage(error) {
|
|
217
|
-
return error instanceof Error ? error.message : String(error);
|
|
218
|
-
}
|
|
219
|
-
//# sourceMappingURL=docker.js.map
|
package/dist/core/docker.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"docker.js","sourceRoot":"","sources":["../../src/core/docker.ts"],"names":[],"mappings":"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"}
|
package/dist/core/env-file.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export interface EnvEntry {
|
|
2
|
-
key: string;
|
|
3
|
-
value: string;
|
|
4
|
-
}
|
|
5
|
-
export type EnvLine = {
|
|
6
|
-
kind: "kv";
|
|
7
|
-
key: string;
|
|
8
|
-
value: string;
|
|
9
|
-
quote: "" | "'" | '"';
|
|
10
|
-
} | {
|
|
11
|
-
kind: "raw";
|
|
12
|
-
text: string;
|
|
13
|
-
};
|
|
14
|
-
export declare function envFilePath(serviceCwd: string): string;
|
|
15
|
-
export declare function parseEnvFile(content: string): EnvLine[];
|
|
16
|
-
export declare function serializeEnvLines(lines: EnvLine[]): string;
|
|
17
|
-
export declare function mergeEntries(existing: EnvLine[], entries: EnvEntry[]): EnvLine[];
|
|
18
|
-
export declare function entriesFromLines(lines: EnvLine[]): EnvEntry[];
|
|
19
|
-
export declare function readEnvFile(path: string): Promise<{
|
|
20
|
-
exists: boolean;
|
|
21
|
-
lines: EnvLine[];
|
|
22
|
-
}>;
|
|
23
|
-
export declare function writeEnvFile(path: string, lines: EnvLine[]): Promise<void>;
|
|
24
|
-
export declare function looksSecret(key: string): boolean;
|
package/dist/core/env-file.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { readFile, writeFile, mkdir } from "node:fs/promises";
|
|
2
|
-
import { dirname, join } from "node:path";
|
|
3
|
-
const KV_RE = /^([A-Za-z_][A-Za-z0-9_.]*)=(.*)$/;
|
|
4
|
-
export function envFilePath(serviceCwd) {
|
|
5
|
-
return join(serviceCwd, ".env");
|
|
6
|
-
}
|
|
7
|
-
export function parseEnvFile(content) {
|
|
8
|
-
const lines = content.split(/\r?\n/);
|
|
9
|
-
if (lines.length > 0 && lines[lines.length - 1] === "") {
|
|
10
|
-
lines.pop();
|
|
11
|
-
}
|
|
12
|
-
return lines.map((line) => {
|
|
13
|
-
const trimmed = line.trimStart();
|
|
14
|
-
if (trimmed === "" || trimmed.startsWith("#")) {
|
|
15
|
-
return { kind: "raw", text: line };
|
|
16
|
-
}
|
|
17
|
-
const match = KV_RE.exec(line);
|
|
18
|
-
if (!match) {
|
|
19
|
-
return { kind: "raw", text: line };
|
|
20
|
-
}
|
|
21
|
-
const key = match[1];
|
|
22
|
-
const rawValue = match[2];
|
|
23
|
-
const { value, quote } = unquote(rawValue);
|
|
24
|
-
return { kind: "kv", key, value, quote };
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
export function serializeEnvLines(lines) {
|
|
28
|
-
const body = lines
|
|
29
|
-
.map((line) => {
|
|
30
|
-
if (line.kind === "raw")
|
|
31
|
-
return line.text;
|
|
32
|
-
return `${line.key}=${quote(line.value, line.quote)}`;
|
|
33
|
-
})
|
|
34
|
-
.join("\n");
|
|
35
|
-
return `${body}\n`;
|
|
36
|
-
}
|
|
37
|
-
export function mergeEntries(existing, entries) {
|
|
38
|
-
const keep = new Set(entries.map((entry) => entry.key));
|
|
39
|
-
const byKey = new Map(entries.map((entry) => [entry.key, entry.value]));
|
|
40
|
-
const seen = new Set();
|
|
41
|
-
const result = [];
|
|
42
|
-
for (const line of existing) {
|
|
43
|
-
if (line.kind === "raw") {
|
|
44
|
-
result.push(line);
|
|
45
|
-
continue;
|
|
46
|
-
}
|
|
47
|
-
if (!keep.has(line.key))
|
|
48
|
-
continue;
|
|
49
|
-
seen.add(line.key);
|
|
50
|
-
const value = byKey.get(line.key) ?? "";
|
|
51
|
-
result.push({
|
|
52
|
-
kind: "kv",
|
|
53
|
-
key: line.key,
|
|
54
|
-
value,
|
|
55
|
-
quote: pickQuote(value, line.quote),
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
for (const entry of entries) {
|
|
59
|
-
if (seen.has(entry.key))
|
|
60
|
-
continue;
|
|
61
|
-
result.push({
|
|
62
|
-
kind: "kv",
|
|
63
|
-
key: entry.key,
|
|
64
|
-
value: entry.value,
|
|
65
|
-
quote: pickQuote(entry.value, ""),
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
return result;
|
|
69
|
-
}
|
|
70
|
-
export function entriesFromLines(lines) {
|
|
71
|
-
return lines
|
|
72
|
-
.filter((line) => line.kind === "kv")
|
|
73
|
-
.map((line) => ({ key: line.key, value: line.value }));
|
|
74
|
-
}
|
|
75
|
-
export async function readEnvFile(path) {
|
|
76
|
-
try {
|
|
77
|
-
const content = await readFile(path, "utf8");
|
|
78
|
-
return { exists: true, lines: parseEnvFile(content) };
|
|
79
|
-
}
|
|
80
|
-
catch (error) {
|
|
81
|
-
if (error.code === "ENOENT") {
|
|
82
|
-
return { exists: false, lines: [] };
|
|
83
|
-
}
|
|
84
|
-
throw error;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
export async function writeEnvFile(path, lines) {
|
|
88
|
-
await mkdir(dirname(path), { recursive: true });
|
|
89
|
-
await writeFile(path, serializeEnvLines(lines));
|
|
90
|
-
}
|
|
91
|
-
function unquote(raw) {
|
|
92
|
-
if (raw.length >= 2) {
|
|
93
|
-
const first = raw[0];
|
|
94
|
-
const last = raw[raw.length - 1];
|
|
95
|
-
if (first === '"' && last === '"') {
|
|
96
|
-
return { value: raw.slice(1, -1).replace(/\\"/g, '"').replace(/\\n/g, "\n"), quote: '"' };
|
|
97
|
-
}
|
|
98
|
-
if (first === "'" && last === "'") {
|
|
99
|
-
return { value: raw.slice(1, -1), quote: "'" };
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return { value: raw, quote: "" };
|
|
103
|
-
}
|
|
104
|
-
function quote(value, preferred) {
|
|
105
|
-
const needsQuoting = /[\s#"']/.test(value) || value === "";
|
|
106
|
-
if (!needsQuoting && preferred === "")
|
|
107
|
-
return value;
|
|
108
|
-
if (preferred === "'" && !value.includes("'"))
|
|
109
|
-
return `'${value}'`;
|
|
110
|
-
const escaped = value.replace(/\\/g, "\\\\").replace(/"/g, '\\"').replace(/\n/g, "\\n");
|
|
111
|
-
return `"${escaped}"`;
|
|
112
|
-
}
|
|
113
|
-
function pickQuote(value, current) {
|
|
114
|
-
if (current !== "")
|
|
115
|
-
return current;
|
|
116
|
-
return /[\s#"']/.test(value) || value === "" ? '"' : "";
|
|
117
|
-
}
|
|
118
|
-
const SECRET_HINTS = ["secret", "token", "key", "password", "passwd", "auth", "credential"];
|
|
119
|
-
export function looksSecret(key) {
|
|
120
|
-
const lower = key.toLowerCase();
|
|
121
|
-
return SECRET_HINTS.some((hint) => lower.includes(hint));
|
|
122
|
-
}
|
|
123
|
-
//# sourceMappingURL=env-file.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env-file.js","sourceRoot":"","sources":["../../src/core/env-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAW1C,MAAM,KAAK,GAAG,kCAAkC,CAAC;AAEjD,MAAM,UAAU,WAAW,CAAC,UAAkB;IAC5C,OAAO,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACvD,KAAK,CAAC,GAAG,EAAE,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACjC,IAAI,OAAO,KAAK,EAAE,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAa,CAAC;QAChD,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAa,CAAC;QAChD,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,KAAgB;IAChD,MAAM,IAAI,GAAG,KAAK;SACf,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACZ,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QAC1C,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;IACxD,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAmB,EAAE,OAAmB;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,KAAK;YACL,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAgB;IAC/C,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,IAAI,EAA4C,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;SAC9E,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY;IAI5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACtC,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY,EAAE,KAAgB;IAC/D,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QAC5F,CAAC;QACD,IAAI,KAAK,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YAClC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,KAAK,CAAC,KAAa,EAAE,SAAyB;IACrD,MAAM,YAAY,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;IAC3D,IAAI,CAAC,YAAY,IAAI,SAAS,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IACpD,IAAI,SAAS,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,KAAK,GAAG,CAAC;IACnE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxF,OAAO,IAAI,OAAO,GAAG,CAAC;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,OAAuB;IACvD,IAAI,OAAO,KAAK,EAAE;QAAE,OAAO,OAAO,CAAC;IACnC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAE5F,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;IAChC,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { type ConfigFileFormat } from "./config-files.js";
|
|
2
|
-
/**
|
|
3
|
-
* A config file (`.env`, `appsettings.json`, `application.yml`) that was edited
|
|
4
|
-
* after the service process started — so the live process is running with the
|
|
5
|
-
* old values baked in.
|
|
6
|
-
*/
|
|
7
|
-
export interface StaleConfigFile {
|
|
8
|
-
relativePath: string;
|
|
9
|
-
path: string;
|
|
10
|
-
format: ConfigFileFormat;
|
|
11
|
-
modifiedAt: string;
|
|
12
|
-
}
|
|
13
|
-
export interface RuntimeEnvStatus {
|
|
14
|
-
running: boolean;
|
|
15
|
-
startedAt?: string;
|
|
16
|
-
/** Config files modified after `startedAt` (most-recent first). */
|
|
17
|
-
staleFiles: StaleConfigFile[];
|
|
18
|
-
/** True when a running process is using an out-of-date configuration. */
|
|
19
|
-
stale: boolean;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* A running process bakes in its environment at exec time — the OS gives no way
|
|
23
|
-
* to mutate it in place, so a `.env` edit only takes effect on the next launch.
|
|
24
|
-
* This compares each detected config file's mtime against when the service
|
|
25
|
-
* started so the UI can flag "running stale" and offer a one-click reload,
|
|
26
|
-
* instead of leaving the user to restart-and-pray.
|
|
27
|
-
*/
|
|
28
|
-
export declare function computeRuntimeEnvStatus(input: {
|
|
29
|
-
cwd: string;
|
|
30
|
-
running: boolean;
|
|
31
|
-
startedAt?: string;
|
|
32
|
-
}): Promise<RuntimeEnvStatus>;
|
package/dist/core/env-runtime.js
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { stat } from "node:fs/promises";
|
|
2
|
-
import { detectConfigFiles } from "./config-files.js";
|
|
3
|
-
/**
|
|
4
|
-
* A running process bakes in its environment at exec time — the OS gives no way
|
|
5
|
-
* to mutate it in place, so a `.env` edit only takes effect on the next launch.
|
|
6
|
-
* This compares each detected config file's mtime against when the service
|
|
7
|
-
* started so the UI can flag "running stale" and offer a one-click reload,
|
|
8
|
-
* instead of leaving the user to restart-and-pray.
|
|
9
|
-
*/
|
|
10
|
-
export async function computeRuntimeEnvStatus(input) {
|
|
11
|
-
const { cwd, running, startedAt } = input;
|
|
12
|
-
if (!running || !startedAt) {
|
|
13
|
-
return { running, startedAt, staleFiles: [], stale: false };
|
|
14
|
-
}
|
|
15
|
-
const startedMs = Date.parse(startedAt);
|
|
16
|
-
if (Number.isNaN(startedMs)) {
|
|
17
|
-
return { running, startedAt, staleFiles: [], stale: false };
|
|
18
|
-
}
|
|
19
|
-
const files = await detectConfigFiles(cwd);
|
|
20
|
-
const staleFiles = [];
|
|
21
|
-
for (const file of files) {
|
|
22
|
-
let mtimeMs;
|
|
23
|
-
try {
|
|
24
|
-
mtimeMs = (await stat(file.path)).mtimeMs;
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
continue; // vanished between detection and stat — ignore
|
|
28
|
-
}
|
|
29
|
-
// 1s skew guard so a save that races the spawn isn't a false positive.
|
|
30
|
-
if (mtimeMs > startedMs + 1000) {
|
|
31
|
-
staleFiles.push({
|
|
32
|
-
relativePath: file.relativePath,
|
|
33
|
-
path: file.path,
|
|
34
|
-
format: file.format,
|
|
35
|
-
modifiedAt: new Date(mtimeMs).toISOString(),
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
staleFiles.sort((a, b) => b.modifiedAt.localeCompare(a.modifiedAt));
|
|
40
|
-
return { running, startedAt, staleFiles, stale: staleFiles.length > 0 };
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=env-runtime.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"env-runtime.js","sourceRoot":"","sources":["../../src/core/env-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAyB,MAAM,mBAAmB,CAAC;AAuB7E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,KAI7C;IACC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC1C,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;QAC3B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC9D,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACP,SAAS,CAAC,+CAA+C;QAC3D,CAAC;QACD,uEAAuE;QACvE,IAAI,OAAO,GAAG,SAAS,GAAG,IAAI,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC;gBACd,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE;aAC5C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACpE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;AAC1E,CAAC"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import type { ConfigStore } from "./config-store.js";
|
|
2
|
-
import type { LogStore } from "./log-store.js";
|
|
3
|
-
import type { LogEntry } from "./types.js";
|
|
4
|
-
export type IncidentLevel = "error" | "warning";
|
|
5
|
-
export interface ErrorIncident {
|
|
6
|
-
id: number;
|
|
7
|
-
service: string;
|
|
8
|
-
level: IncidentLevel;
|
|
9
|
-
/** Stable dedupe key derived from the trigger line. */
|
|
10
|
-
signature: string;
|
|
11
|
-
/** The trigger line, trimmed. */
|
|
12
|
-
title: string;
|
|
13
|
-
/** Top stack frame, if one was found near the trigger. */
|
|
14
|
-
file?: string;
|
|
15
|
-
line?: number;
|
|
16
|
-
firstSeen: string;
|
|
17
|
-
lastSeen: string;
|
|
18
|
-
count: number;
|
|
19
|
-
/** The trigger line plus the surrounding log context. */
|
|
20
|
-
logExcerpt: string[];
|
|
21
|
-
}
|
|
22
|
-
export interface ErrorInboxPrompt {
|
|
23
|
-
incident: ErrorIncident;
|
|
24
|
-
/** Resolved file path used for the diff, if any. */
|
|
25
|
-
file?: string;
|
|
26
|
-
/** Markdown payload ready to paste into an agent. */
|
|
27
|
-
prompt: string;
|
|
28
|
-
}
|
|
29
|
-
/** The raw building blocks behind an incident's prompt — reused by the repro bundle. */
|
|
30
|
-
export interface ErrorInboxContext {
|
|
31
|
-
incident: ErrorIncident;
|
|
32
|
-
/** Base service name (any `:test` suffix stripped). */
|
|
33
|
-
service: string;
|
|
34
|
-
/** Working directory used for diff/env resolution. */
|
|
35
|
-
serviceCwd: string;
|
|
36
|
-
/** Resolved absolute file path used for the diff, if any. */
|
|
37
|
-
file?: string;
|
|
38
|
-
/** Git diff of the affected file (empty when none/unavailable). */
|
|
39
|
-
diff: string;
|
|
40
|
-
/** Recent log lines from the service. */
|
|
41
|
-
recentLogs: string[];
|
|
42
|
-
}
|
|
43
|
-
interface ErrorInboxOptions {
|
|
44
|
-
logStore: LogStore;
|
|
45
|
-
configStore: ConfigStore;
|
|
46
|
-
/** Repo/workspace root used when a service has no own cwd. */
|
|
47
|
-
cwd?: string;
|
|
48
|
-
/** Max distinct incidents kept in the ring buffer. */
|
|
49
|
-
capacity?: number;
|
|
50
|
-
}
|
|
51
|
-
type IncidentListener = (incident: ErrorIncident) => void;
|
|
52
|
-
/**
|
|
53
|
-
* Watches every log line via {@link LogStore.subscribe}, distils error and
|
|
54
|
-
* stack-trace lines into deduped incidents, and assembles a copy-to-agent
|
|
55
|
-
* prompt (incident + affected-file diff + recent logs) on demand.
|
|
56
|
-
*/
|
|
57
|
-
export declare class ErrorInbox {
|
|
58
|
-
private readonly logStore;
|
|
59
|
-
private readonly configStore;
|
|
60
|
-
private readonly cwd;
|
|
61
|
-
private readonly capacity;
|
|
62
|
-
private readonly incidents;
|
|
63
|
-
private readonly byId;
|
|
64
|
-
private readonly bySignature;
|
|
65
|
-
private readonly stateByService;
|
|
66
|
-
private readonly listeners;
|
|
67
|
-
private nextId;
|
|
68
|
-
private readonly unsubscribe;
|
|
69
|
-
constructor(options: ErrorInboxOptions);
|
|
70
|
-
/** Stop observing the log store. */
|
|
71
|
-
dispose(): void;
|
|
72
|
-
list(limit?: number): ErrorIncident[];
|
|
73
|
-
get(id: number): ErrorIncident | undefined;
|
|
74
|
-
subscribe(listener: IncidentListener): () => void;
|
|
75
|
-
/** Feed one log line through the detectors. Returns a touched incident, if any. */
|
|
76
|
-
ingest(entry: LogEntry): ErrorIncident | null;
|
|
77
|
-
private recordIncident;
|
|
78
|
-
/** Assemble the copy-to-agent payload for an incident. */
|
|
79
|
-
buildPrompt(id: number): Promise<ErrorInboxPrompt | null>;
|
|
80
|
-
/**
|
|
81
|
-
* Gather the raw context for an incident — the affected file, its diff, and
|
|
82
|
-
* recent service logs — so callers (the prompt, the repro bundle) render their
|
|
83
|
-
* own markdown without duplicating the gathering logic.
|
|
84
|
-
*/
|
|
85
|
-
context(id: number): Promise<ErrorInboxContext | null>;
|
|
86
|
-
private serviceCwd;
|
|
87
|
-
private stateFor;
|
|
88
|
-
private evictOverflow;
|
|
89
|
-
private emit;
|
|
90
|
-
}
|
|
91
|
-
export {};
|