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,74 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export interface AppSettings {
|
|
3
|
-
version: 1;
|
|
4
|
-
terminal: {
|
|
5
|
-
fontSize: number;
|
|
6
|
-
cursorStyle: "block" | "underline" | "bar";
|
|
7
|
-
scrollback: number;
|
|
8
|
-
copyOnSelect: boolean;
|
|
9
|
-
confirmTerminate: boolean;
|
|
10
|
-
smoothScroll: boolean;
|
|
11
|
-
externalTerminal: ExternalTerminalPreference;
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
export type ExternalTerminalPreference = "automatic" | "ghostty" | "iterm2" | "terminal";
|
|
15
|
-
export declare const DEFAULT_APP_SETTINGS: AppSettings;
|
|
16
|
-
export declare const appSettingsPatchSchema: z.ZodObject<{
|
|
17
|
-
terminal: z.ZodOptional<z.ZodObject<{
|
|
18
|
-
fontSize: z.ZodOptional<z.ZodNumber>;
|
|
19
|
-
cursorStyle: z.ZodOptional<z.ZodEnum<["block", "underline", "bar"]>>;
|
|
20
|
-
scrollback: z.ZodOptional<z.ZodNumber>;
|
|
21
|
-
copyOnSelect: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
-
confirmTerminate: z.ZodOptional<z.ZodBoolean>;
|
|
23
|
-
smoothScroll: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
|
|
24
|
-
externalTerminal: z.ZodOptional<z.ZodDefault<z.ZodEnum<["automatic", "ghostty", "iterm2", "terminal"]>>>;
|
|
25
|
-
}, "strict", z.ZodTypeAny, {
|
|
26
|
-
fontSize?: number | undefined;
|
|
27
|
-
cursorStyle?: "block" | "underline" | "bar" | undefined;
|
|
28
|
-
scrollback?: number | undefined;
|
|
29
|
-
copyOnSelect?: boolean | undefined;
|
|
30
|
-
confirmTerminate?: boolean | undefined;
|
|
31
|
-
smoothScroll?: boolean | undefined;
|
|
32
|
-
externalTerminal?: "automatic" | "ghostty" | "iterm2" | "terminal" | undefined;
|
|
33
|
-
}, {
|
|
34
|
-
fontSize?: number | undefined;
|
|
35
|
-
cursorStyle?: "block" | "underline" | "bar" | undefined;
|
|
36
|
-
scrollback?: number | undefined;
|
|
37
|
-
copyOnSelect?: boolean | undefined;
|
|
38
|
-
confirmTerminate?: boolean | undefined;
|
|
39
|
-
smoothScroll?: boolean | undefined;
|
|
40
|
-
externalTerminal?: "automatic" | "ghostty" | "iterm2" | "terminal" | undefined;
|
|
41
|
-
}>>;
|
|
42
|
-
}, "strict", z.ZodTypeAny, {
|
|
43
|
-
terminal?: {
|
|
44
|
-
fontSize?: number | undefined;
|
|
45
|
-
cursorStyle?: "block" | "underline" | "bar" | undefined;
|
|
46
|
-
scrollback?: number | undefined;
|
|
47
|
-
copyOnSelect?: boolean | undefined;
|
|
48
|
-
confirmTerminate?: boolean | undefined;
|
|
49
|
-
smoothScroll?: boolean | undefined;
|
|
50
|
-
externalTerminal?: "automatic" | "ghostty" | "iterm2" | "terminal" | undefined;
|
|
51
|
-
} | undefined;
|
|
52
|
-
}, {
|
|
53
|
-
terminal?: {
|
|
54
|
-
fontSize?: number | undefined;
|
|
55
|
-
cursorStyle?: "block" | "underline" | "bar" | undefined;
|
|
56
|
-
scrollback?: number | undefined;
|
|
57
|
-
copyOnSelect?: boolean | undefined;
|
|
58
|
-
confirmTerminate?: boolean | undefined;
|
|
59
|
-
smoothScroll?: boolean | undefined;
|
|
60
|
-
externalTerminal?: "automatic" | "ghostty" | "iterm2" | "terminal" | undefined;
|
|
61
|
-
} | undefined;
|
|
62
|
-
}>;
|
|
63
|
-
export type AppSettingsPatch = z.infer<typeof appSettingsPatchSchema>;
|
|
64
|
-
export declare function defaultAppSettingsPath(): string;
|
|
65
|
-
export declare class AppSettingsStore {
|
|
66
|
-
private readonly settingsPath;
|
|
67
|
-
private mutationQueue;
|
|
68
|
-
constructor(settingsPath?: string);
|
|
69
|
-
load(): Promise<AppSettings>;
|
|
70
|
-
update(patch: AppSettingsPatch): Promise<AppSettings>;
|
|
71
|
-
reset(): Promise<AppSettings>;
|
|
72
|
-
private enqueueMutation;
|
|
73
|
-
private persist;
|
|
74
|
-
}
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { mkdir, readFile, rename, unlink, writeFile } from "node:fs/promises";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import { basename, dirname, join } from "node:path";
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
export const DEFAULT_APP_SETTINGS = Object.freeze({
|
|
7
|
-
version: 1,
|
|
8
|
-
terminal: Object.freeze({
|
|
9
|
-
fontSize: 13,
|
|
10
|
-
cursorStyle: "block",
|
|
11
|
-
scrollback: 5_000,
|
|
12
|
-
copyOnSelect: false,
|
|
13
|
-
confirmTerminate: true,
|
|
14
|
-
smoothScroll: true,
|
|
15
|
-
externalTerminal: "automatic",
|
|
16
|
-
}),
|
|
17
|
-
});
|
|
18
|
-
const terminalSettingsShape = {
|
|
19
|
-
fontSize: z.number().int().min(10).max(24),
|
|
20
|
-
cursorStyle: z.enum(["block", "underline", "bar"]),
|
|
21
|
-
scrollback: z.number().int().min(500).max(100_000),
|
|
22
|
-
copyOnSelect: z.boolean(),
|
|
23
|
-
confirmTerminate: z.boolean(),
|
|
24
|
-
// Defaulted rather than required: settings.json files written before this
|
|
25
|
-
// setting existed still have to load, and `load()` only forgives ENOENT.
|
|
26
|
-
smoothScroll: z.boolean().default(true),
|
|
27
|
-
// Defaulted for settings.json files written before external terminal
|
|
28
|
-
// selection was configurable.
|
|
29
|
-
externalTerminal: z
|
|
30
|
-
.enum(["automatic", "ghostty", "iterm2", "terminal"])
|
|
31
|
-
.default("automatic"),
|
|
32
|
-
};
|
|
33
|
-
// Input is `unknown` because this parses JSON off disk, where the defaulted
|
|
34
|
-
// field above makes the accepted shape wider than `AppSettings`.
|
|
35
|
-
const appSettingsSchema = z.object({
|
|
36
|
-
version: z.literal(1),
|
|
37
|
-
terminal: z.object(terminalSettingsShape),
|
|
38
|
-
});
|
|
39
|
-
export const appSettingsPatchSchema = z
|
|
40
|
-
.object({
|
|
41
|
-
terminal: z.object(terminalSettingsShape).partial().strict().optional(),
|
|
42
|
-
})
|
|
43
|
-
.strict();
|
|
44
|
-
export function defaultAppSettingsPath() {
|
|
45
|
-
const configuredRoot = process.env.XDG_CONFIG_HOME?.trim();
|
|
46
|
-
const configRoot = configuredRoot || join(homedir(), ".config");
|
|
47
|
-
return join(configRoot, "nomoreide", "settings.json");
|
|
48
|
-
}
|
|
49
|
-
export class AppSettingsStore {
|
|
50
|
-
settingsPath;
|
|
51
|
-
mutationQueue = Promise.resolve();
|
|
52
|
-
constructor(settingsPath = defaultAppSettingsPath()) {
|
|
53
|
-
this.settingsPath = settingsPath;
|
|
54
|
-
}
|
|
55
|
-
async load() {
|
|
56
|
-
try {
|
|
57
|
-
const contents = await readFile(this.settingsPath, "utf8");
|
|
58
|
-
return cloneSettings(appSettingsSchema.parse(JSON.parse(contents)));
|
|
59
|
-
}
|
|
60
|
-
catch (error) {
|
|
61
|
-
if (isMissingFileError(error)) {
|
|
62
|
-
return cloneSettings(DEFAULT_APP_SETTINGS);
|
|
63
|
-
}
|
|
64
|
-
throw error;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async update(patch) {
|
|
68
|
-
return this.enqueueMutation(async () => {
|
|
69
|
-
const current = await this.load();
|
|
70
|
-
const next = appSettingsSchema.parse({
|
|
71
|
-
...current,
|
|
72
|
-
...patch,
|
|
73
|
-
terminal: {
|
|
74
|
-
...current.terminal,
|
|
75
|
-
...patch.terminal,
|
|
76
|
-
},
|
|
77
|
-
});
|
|
78
|
-
await this.persist(next);
|
|
79
|
-
return cloneSettings(next);
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
async reset() {
|
|
83
|
-
return this.enqueueMutation(async () => {
|
|
84
|
-
const defaults = cloneSettings(DEFAULT_APP_SETTINGS);
|
|
85
|
-
await this.persist(defaults);
|
|
86
|
-
return cloneSettings(defaults);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
enqueueMutation(operation) {
|
|
90
|
-
const result = this.mutationQueue.then(operation);
|
|
91
|
-
this.mutationQueue = result.then(() => undefined, () => undefined);
|
|
92
|
-
return result;
|
|
93
|
-
}
|
|
94
|
-
async persist(settings) {
|
|
95
|
-
const validated = appSettingsSchema.parse(settings);
|
|
96
|
-
const parentDirectory = dirname(this.settingsPath);
|
|
97
|
-
const temporaryPath = join(parentDirectory, `.${basename(this.settingsPath)}.${process.pid}.${randomUUID()}.tmp`);
|
|
98
|
-
await mkdir(parentDirectory, { recursive: true });
|
|
99
|
-
try {
|
|
100
|
-
await writeFile(temporaryPath, `${JSON.stringify(validated, null, 2)}\n`, { flag: "wx" });
|
|
101
|
-
await rename(temporaryPath, this.settingsPath);
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
await unlink(temporaryPath).catch(() => undefined);
|
|
105
|
-
throw error;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
function cloneSettings(settings) {
|
|
110
|
-
return structuredClone(settings);
|
|
111
|
-
}
|
|
112
|
-
function isMissingFileError(error) {
|
|
113
|
-
return (typeof error === "object" &&
|
|
114
|
-
error !== null &&
|
|
115
|
-
"code" in error &&
|
|
116
|
-
error.code === "ENOENT");
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=app-settings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-settings.js","sourceRoot":"","sources":["../../src/core/app-settings.ts"],"names":[],"mappings":"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"}
|
package/dist/core/app-version.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
2
|
-
let cached;
|
|
3
|
-
/** The installed nomoreide package version (from package.json, cached). */
|
|
4
|
-
export function appVersion() {
|
|
5
|
-
if (cached === undefined) {
|
|
6
|
-
try {
|
|
7
|
-
const raw = readFileSync(new URL("../../package.json", import.meta.url), "utf8");
|
|
8
|
-
cached = String(JSON.parse(raw).version ?? "0.0.0");
|
|
9
|
-
}
|
|
10
|
-
catch {
|
|
11
|
-
cached = "0.0.0";
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
return cached;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=app-version.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app-version.js","sourceRoot":"","sources":["../../src/core/app-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,IAAI,MAA0B,CAAC;AAE/B,2EAA2E;AAC3E,MAAM,UAAU,UAAU;IACxB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CACtB,IAAI,GAAG,CAAC,oBAAoB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAC9C,MAAM,CACP,CAAC;YACF,MAAM,GAAG,MAAM,CAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAA2B,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC;QACjF,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,OAAO,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bridges Claude Code's PreToolUse permission hook to the web UI. The hook
|
|
3
|
-
* (a child process of the spawned `claude`) POSTs an approval request and
|
|
4
|
-
* blocks; the broker emits it onto the active chat SSE stream and parks a
|
|
5
|
-
* resolver until the browser POSTs the user's decision back.
|
|
6
|
-
*
|
|
7
|
-
* Keyed by Claude Code session id, which both the SSE stream (from the init
|
|
8
|
-
* event) and the hook (from its stdin payload) know.
|
|
9
|
-
*/
|
|
10
|
-
export interface ApprovalRequest {
|
|
11
|
-
requestId: string;
|
|
12
|
-
name: string;
|
|
13
|
-
input: unknown;
|
|
14
|
-
}
|
|
15
|
-
export interface ApprovalDecision {
|
|
16
|
-
decision: "allow" | "deny";
|
|
17
|
-
reason?: string;
|
|
18
|
-
}
|
|
19
|
-
export declare class ApprovalBroker {
|
|
20
|
-
private readonly channels;
|
|
21
|
-
/** Register the SSE emitter for a session so approvals can reach the browser. */
|
|
22
|
-
openRun(sessionId: string, emit: (request: ApprovalRequest) => void): void;
|
|
23
|
-
/** Tear down a session, auto-denying anything still awaiting a decision. */
|
|
24
|
-
closeRun(sessionId: string): void;
|
|
25
|
-
/** Called by the hook endpoint. Resolves once the user decides (or no channel). */
|
|
26
|
-
requestApproval(sessionId: string | undefined, requestId: string, name: string, input: unknown): Promise<ApprovalDecision>;
|
|
27
|
-
/** Called by the browser. Returns false if the request is unknown/expired. */
|
|
28
|
-
resolve(sessionId: string, requestId: string, decision: ApprovalDecision): boolean;
|
|
29
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bridges Claude Code's PreToolUse permission hook to the web UI. The hook
|
|
3
|
-
* (a child process of the spawned `claude`) POSTs an approval request and
|
|
4
|
-
* blocks; the broker emits it onto the active chat SSE stream and parks a
|
|
5
|
-
* resolver until the browser POSTs the user's decision back.
|
|
6
|
-
*
|
|
7
|
-
* Keyed by Claude Code session id, which both the SSE stream (from the init
|
|
8
|
-
* event) and the hook (from its stdin payload) know.
|
|
9
|
-
*/
|
|
10
|
-
export class ApprovalBroker {
|
|
11
|
-
channels = new Map();
|
|
12
|
-
/** Register the SSE emitter for a session so approvals can reach the browser. */
|
|
13
|
-
openRun(sessionId, emit) {
|
|
14
|
-
this.channels.set(sessionId, { emit, pending: new Map() });
|
|
15
|
-
}
|
|
16
|
-
/** Tear down a session, auto-denying anything still awaiting a decision. */
|
|
17
|
-
closeRun(sessionId) {
|
|
18
|
-
const channel = this.channels.get(sessionId);
|
|
19
|
-
if (!channel)
|
|
20
|
-
return;
|
|
21
|
-
for (const resolve of channel.pending.values()) {
|
|
22
|
-
resolve({ decision: "deny", reason: "The agent session ended before you responded." });
|
|
23
|
-
}
|
|
24
|
-
this.channels.delete(sessionId);
|
|
25
|
-
}
|
|
26
|
-
/** Called by the hook endpoint. Resolves once the user decides (or no channel). */
|
|
27
|
-
requestApproval(sessionId, requestId, name, input) {
|
|
28
|
-
const channel = sessionId ? this.channels.get(sessionId) : undefined;
|
|
29
|
-
if (!channel) {
|
|
30
|
-
return Promise.resolve({ decision: "deny", reason: "No active agent session to approve." });
|
|
31
|
-
}
|
|
32
|
-
return new Promise((resolve) => {
|
|
33
|
-
channel.pending.set(requestId, resolve);
|
|
34
|
-
channel.emit({ requestId, name, input });
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
/** Called by the browser. Returns false if the request is unknown/expired. */
|
|
38
|
-
resolve(sessionId, requestId, decision) {
|
|
39
|
-
const channel = this.channels.get(sessionId);
|
|
40
|
-
const resolver = channel?.pending.get(requestId);
|
|
41
|
-
if (!channel || !resolver)
|
|
42
|
-
return false;
|
|
43
|
-
channel.pending.delete(requestId);
|
|
44
|
-
resolver(decision);
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=approval-broker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"approval-broker.js","sourceRoot":"","sources":["../../src/core/approval-broker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH,MAAM,OAAO,cAAc;IACR,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEvD,iFAAiF;IACjF,OAAO,CAAC,SAAiB,EAAE,IAAwC;QACjE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,4EAA4E;IAC5E,QAAQ,CAAC,SAAiB;QACxB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC/C,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,+CAA+C,EAAE,CAAC,CAAC;QACzF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,mFAAmF;IACnF,eAAe,CACb,SAA6B,EAC7B,SAAiB,EACjB,IAAY,EACZ,KAAc;QAEd,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,qCAAqC,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,OAAO,CAAC,SAAiB,EAAE,SAAiB,EAAE,QAA0B;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QACxC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Read/write a single setting in the user-global `~/.claude/settings.json`.
|
|
3
|
-
* Keep this narrow — we only touch the keys the UI exposes, and preserve the
|
|
4
|
-
* rest of the file verbatim so users who hand-edit it don't lose data.
|
|
5
|
-
*/
|
|
6
|
-
export interface ClaudeAttribution {
|
|
7
|
-
/** Trailer Claude Code appends to commits (empty = no trailer). */
|
|
8
|
-
commit?: string;
|
|
9
|
-
/** Trailer Claude Code appends to PR bodies (empty = no trailer). */
|
|
10
|
-
pr?: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Claude Code defaults to including the co-author trailer, so a missing file
|
|
14
|
-
* or missing `attribution` key reads as "on". Only an explicit
|
|
15
|
-
* `{ commit: "", pr: "" }` (or both blank) counts as opted-out.
|
|
16
|
-
*/
|
|
17
|
-
export declare function getCoAuthorWithClaude(): Promise<boolean>;
|
|
18
|
-
export declare function setCoAuthorWithClaude(enabled: boolean): Promise<boolean>;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
|
-
import { homedir } from "node:os";
|
|
3
|
-
import { dirname, join } from "node:path";
|
|
4
|
-
function settingsPath() {
|
|
5
|
-
return join(homedir(), ".claude", "settings.json");
|
|
6
|
-
}
|
|
7
|
-
async function readSettings() {
|
|
8
|
-
try {
|
|
9
|
-
const raw = await readFile(settingsPath(), "utf8");
|
|
10
|
-
const parsed = JSON.parse(raw);
|
|
11
|
-
return parsed && typeof parsed === "object" ? parsed : {};
|
|
12
|
-
}
|
|
13
|
-
catch (error) {
|
|
14
|
-
if (error.code === "ENOENT")
|
|
15
|
-
return {};
|
|
16
|
-
throw error;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
async function writeSettings(settings) {
|
|
20
|
-
const path = settingsPath();
|
|
21
|
-
await mkdir(dirname(path), { recursive: true });
|
|
22
|
-
await writeFile(path, `${JSON.stringify(settings, null, 2)}\n`);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Claude Code defaults to including the co-author trailer, so a missing file
|
|
26
|
-
* or missing `attribution` key reads as "on". Only an explicit
|
|
27
|
-
* `{ commit: "", pr: "" }` (or both blank) counts as opted-out.
|
|
28
|
-
*/
|
|
29
|
-
export async function getCoAuthorWithClaude() {
|
|
30
|
-
const { attribution } = await readSettings();
|
|
31
|
-
if (!attribution)
|
|
32
|
-
return true;
|
|
33
|
-
const commit = attribution.commit ?? "";
|
|
34
|
-
const pr = attribution.pr ?? "";
|
|
35
|
-
return !(commit === "" && pr === "");
|
|
36
|
-
}
|
|
37
|
-
export async function setCoAuthorWithClaude(enabled) {
|
|
38
|
-
const settings = await readSettings();
|
|
39
|
-
if (enabled) {
|
|
40
|
-
delete settings.attribution;
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
settings.attribution = { commit: "", pr: "" };
|
|
44
|
-
}
|
|
45
|
-
await writeSettings(settings);
|
|
46
|
-
return enabled;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=claude-settings.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"claude-settings.js","sourceRoot":"","sources":["../../src/core/claude-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAoB1C,SAAS,YAAY;IACnB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;AACrD,CAAC;AAED,KAAK,UAAU,YAAY;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;QACnD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACxC,OAAO,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAClE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAuB;IAClD,MAAM,IAAI,GAAG,YAAY,EAAE,CAAC;IAC5B,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB;IACzC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,YAAY,EAAE,CAAC;IAC7C,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC;IACxC,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,IAAI,EAAE,CAAC;IAChC,OAAO,CAAC,CAAC,MAAM,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACvC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,OAAgB;IAC1D,MAAM,QAAQ,GAAG,MAAM,YAAY,EAAE,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,WAAW,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChD,CAAC;IACD,MAAM,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { type CloudflareEnvVar, type CloudflareRequestAuth } from "./cloudflare-manager.js";
|
|
2
|
-
/**
|
|
3
|
-
* Write-capable Cloudflare Pages operations, deliberately separate from the
|
|
4
|
-
* read-safe {@link ./cloudflare-manager.js CloudflareManager} — the same split
|
|
5
|
-
* as `git-manager` / `git-actions` and `db-peek` / `db-write`.
|
|
6
|
-
*
|
|
7
|
-
* Everything here changes what the internet is serving, so none of it is
|
|
8
|
-
* exposed as an MCP tool: these are reached only from the dashboard's own
|
|
9
|
-
* routes, where a human clicked the button.
|
|
10
|
-
*
|
|
11
|
-
* Still intentionally excludes the irreversible ones — Cloudflare's
|
|
12
|
-
* `DELETE .../deployments/{id}` and project deletion — which would need their
|
|
13
|
-
* own guarded surface.
|
|
14
|
-
*/
|
|
15
|
-
/** The only two environments Pages has. A third would be silently created by a PATCH. */
|
|
16
|
-
export declare const CLOUDFLARE_ENVIRONMENTS: readonly ["production", "preview"];
|
|
17
|
-
export type CloudflareEnvironment = (typeof CLOUDFLARE_ENVIRONMENTS)[number];
|
|
18
|
-
export declare class CloudflareActions {
|
|
19
|
-
private readonly auth;
|
|
20
|
-
private readonly accountId;
|
|
21
|
-
constructor(auth: CloudflareRequestAuth, accountId: string);
|
|
22
|
-
/**
|
|
23
|
-
* Rebuild an existing deployment.
|
|
24
|
-
*
|
|
25
|
-
* Cloudflare calls this "retry" and mints a new deployment id, inheriting the
|
|
26
|
-
* original's branch, commit and environment — so, unlike Vercel's redeploy,
|
|
27
|
-
* nothing has to be carried through by the caller to keep a production retry
|
|
28
|
-
* in production.
|
|
29
|
-
*/
|
|
30
|
-
retry(projectName: string, deploymentId: string): Promise<{
|
|
31
|
-
id: string;
|
|
32
|
-
url: string | null;
|
|
33
|
-
}>;
|
|
34
|
-
/**
|
|
35
|
-
* Point the project's production alias at an earlier deployment without
|
|
36
|
-
* rebuilding it. Cloudflare records this as a rollback, and it takes effect
|
|
37
|
-
* immediately.
|
|
38
|
-
*/
|
|
39
|
-
rollback(projectName: string, deploymentId: string): Promise<{
|
|
40
|
-
id: string;
|
|
41
|
-
url: string | null;
|
|
42
|
-
}>;
|
|
43
|
-
/**
|
|
44
|
-
* Add a variable. `secret` (Vercel's "encrypted") is the default, and its
|
|
45
|
-
* value never reads back over the API afterwards.
|
|
46
|
-
*/
|
|
47
|
-
createEnv(projectName: string, input: {
|
|
48
|
-
key: string;
|
|
49
|
-
value: string;
|
|
50
|
-
environments: string[];
|
|
51
|
-
secret?: boolean;
|
|
52
|
-
}): Promise<CloudflareEnvVar>;
|
|
53
|
-
/**
|
|
54
|
-
* Change a variable's value and/or the environments it applies to.
|
|
55
|
-
*
|
|
56
|
-
* Adding an environment needs a value: Cloudflare stores the variable
|
|
57
|
-
* separately per environment and never hands back a secret's value, so there
|
|
58
|
-
* is nothing to copy across. Saying that is better than writing an empty
|
|
59
|
-
* string into the new environment.
|
|
60
|
-
*/
|
|
61
|
-
updateEnv(projectName: string, key: string, input: {
|
|
62
|
-
value?: string;
|
|
63
|
-
environments?: string[];
|
|
64
|
-
}): Promise<CloudflareEnvVar>;
|
|
65
|
-
/** Remove a variable from every environment it is set in. */
|
|
66
|
-
deleteEnv(projectName: string, key: string): Promise<void>;
|
|
67
|
-
/**
|
|
68
|
-
* The one write to a project's variables.
|
|
69
|
-
*
|
|
70
|
-
* Cloudflare merges the `env_vars` map it is sent — a key set to `null` is
|
|
71
|
-
* deleted, and keys the patch does not mention are untouched — so this never
|
|
72
|
-
* has to read-modify-write the whole map and cannot clobber a variable added
|
|
73
|
-
* between the read and the write.
|
|
74
|
-
*/
|
|
75
|
-
private patchEnv;
|
|
76
|
-
private patchProject;
|
|
77
|
-
private currentEnv;
|
|
78
|
-
private projectPath;
|
|
79
|
-
private request;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Cloudflare's action vocabulary, mapped onto the names the shared UI already
|
|
83
|
-
* knows. "retry" is Cloudflare's word for what Vercel calls a redeploy, and
|
|
84
|
-
* there is no cancel endpoint for a Pages build at all — so the manifest is
|
|
85
|
-
* two actions, not four, and the deployment row hides what it cannot do.
|
|
86
|
-
*/
|
|
87
|
-
export declare const CLOUDFLARE_ACTIONS: readonly ["redeploy", "rollback"];
|
|
88
|
-
export type CloudflareActionName = (typeof CLOUDFLARE_ACTIONS)[number];
|
|
89
|
-
/** Actions that change what production serves — the UI confirms these first. */
|
|
90
|
-
export declare const PRODUCTION_AFFECTING_ACTIONS: ReadonlySet<CloudflareActionName>;
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import { cloudflareRequest, } from "./cloudflare-manager.js";
|
|
2
|
-
/**
|
|
3
|
-
* Write-capable Cloudflare Pages operations, deliberately separate from the
|
|
4
|
-
* read-safe {@link ./cloudflare-manager.js CloudflareManager} — the same split
|
|
5
|
-
* as `git-manager` / `git-actions` and `db-peek` / `db-write`.
|
|
6
|
-
*
|
|
7
|
-
* Everything here changes what the internet is serving, so none of it is
|
|
8
|
-
* exposed as an MCP tool: these are reached only from the dashboard's own
|
|
9
|
-
* routes, where a human clicked the button.
|
|
10
|
-
*
|
|
11
|
-
* Still intentionally excludes the irreversible ones — Cloudflare's
|
|
12
|
-
* `DELETE .../deployments/{id}` and project deletion — which would need their
|
|
13
|
-
* own guarded surface.
|
|
14
|
-
*/
|
|
15
|
-
/** The only two environments Pages has. A third would be silently created by a PATCH. */
|
|
16
|
-
export const CLOUDFLARE_ENVIRONMENTS = ["production", "preview"];
|
|
17
|
-
export class CloudflareActions {
|
|
18
|
-
auth;
|
|
19
|
-
accountId;
|
|
20
|
-
constructor(auth, accountId) {
|
|
21
|
-
this.auth = auth;
|
|
22
|
-
this.accountId = accountId;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Rebuild an existing deployment.
|
|
26
|
-
*
|
|
27
|
-
* Cloudflare calls this "retry" and mints a new deployment id, inheriting the
|
|
28
|
-
* original's branch, commit and environment — so, unlike Vercel's redeploy,
|
|
29
|
-
* nothing has to be carried through by the caller to keep a production retry
|
|
30
|
-
* in production.
|
|
31
|
-
*/
|
|
32
|
-
async retry(projectName, deploymentId) {
|
|
33
|
-
const created = await this.request(`${this.projectPath(projectName)}/deployments/${encodeURIComponent(deploymentId)}/retry`, { method: "POST" });
|
|
34
|
-
return { id: created.id ?? "", url: created.url ?? null };
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Point the project's production alias at an earlier deployment without
|
|
38
|
-
* rebuilding it. Cloudflare records this as a rollback, and it takes effect
|
|
39
|
-
* immediately.
|
|
40
|
-
*/
|
|
41
|
-
async rollback(projectName, deploymentId) {
|
|
42
|
-
const rolled = await this.request(`${this.projectPath(projectName)}/deployments/${encodeURIComponent(deploymentId)}/rollback`, { method: "POST" });
|
|
43
|
-
return { id: rolled.id ?? deploymentId, url: rolled.url ?? null };
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Add a variable. `secret` (Vercel's "encrypted") is the default, and its
|
|
47
|
-
* value never reads back over the API afterwards.
|
|
48
|
-
*/
|
|
49
|
-
createEnv(projectName, input) {
|
|
50
|
-
const type = input.secret === false ? "plain_text" : "secret_text";
|
|
51
|
-
const patch = {};
|
|
52
|
-
for (const environment of requireEnvironments(input.environments)) {
|
|
53
|
-
patch[environment] = { [input.key]: { type, value: input.value } };
|
|
54
|
-
}
|
|
55
|
-
return this.patchEnv(projectName, input.key, patch);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Change a variable's value and/or the environments it applies to.
|
|
59
|
-
*
|
|
60
|
-
* Adding an environment needs a value: Cloudflare stores the variable
|
|
61
|
-
* separately per environment and never hands back a secret's value, so there
|
|
62
|
-
* is nothing to copy across. Saying that is better than writing an empty
|
|
63
|
-
* string into the new environment.
|
|
64
|
-
*/
|
|
65
|
-
async updateEnv(projectName, key, input) {
|
|
66
|
-
const current = await this.currentEnv(projectName, key);
|
|
67
|
-
const wanted = input.environments
|
|
68
|
-
? requireEnvironments(input.environments)
|
|
69
|
-
: current.environments;
|
|
70
|
-
const patch = {};
|
|
71
|
-
for (const environment of wanted) {
|
|
72
|
-
if (input.value !== undefined) {
|
|
73
|
-
patch[environment] = { [key]: { type: current.type, value: input.value } };
|
|
74
|
-
}
|
|
75
|
-
else if (!current.environments.includes(environment)) {
|
|
76
|
-
throw new Error(`Adding "${key}" to ${environment} needs a value — Cloudflare stores it separately per environment.`);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
for (const environment of current.environments) {
|
|
80
|
-
if (!wanted.includes(environment)) {
|
|
81
|
-
patch[environment] = { [key]: null };
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
return this.patchEnv(projectName, key, patch);
|
|
85
|
-
}
|
|
86
|
-
/** Remove a variable from every environment it is set in. */
|
|
87
|
-
async deleteEnv(projectName, key) {
|
|
88
|
-
const current = await this.currentEnv(projectName, key);
|
|
89
|
-
const patch = {};
|
|
90
|
-
for (const environment of current.environments)
|
|
91
|
-
patch[environment] = { [key]: null };
|
|
92
|
-
await this.patchProject(projectName, patch);
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* The one write to a project's variables.
|
|
96
|
-
*
|
|
97
|
-
* Cloudflare merges the `env_vars` map it is sent — a key set to `null` is
|
|
98
|
-
* deleted, and keys the patch does not mention are untouched — so this never
|
|
99
|
-
* has to read-modify-write the whole map and cannot clobber a variable added
|
|
100
|
-
* between the read and the write.
|
|
101
|
-
*/
|
|
102
|
-
async patchEnv(projectName, key, patch) {
|
|
103
|
-
const updated = await this.patchProject(projectName, patch);
|
|
104
|
-
const found = updated.find((entry) => entry.key === key);
|
|
105
|
-
if (!found)
|
|
106
|
-
throw new Error(`Cloudflare did not report "${key}" after the update.`);
|
|
107
|
-
return found;
|
|
108
|
-
}
|
|
109
|
-
async patchProject(projectName, patch) {
|
|
110
|
-
const deploymentConfigs = {};
|
|
111
|
-
for (const [environment, envVars] of Object.entries(patch)) {
|
|
112
|
-
if (envVars)
|
|
113
|
-
deploymentConfigs[environment] = { env_vars: envVars };
|
|
114
|
-
}
|
|
115
|
-
const project = await this.request(this.projectPath(projectName), {
|
|
116
|
-
method: "PATCH",
|
|
117
|
-
body: { deployment_configs: deploymentConfigs },
|
|
118
|
-
});
|
|
119
|
-
return mergeEnvVars(project.deployment_configs);
|
|
120
|
-
}
|
|
121
|
-
async currentEnv(projectName, key) {
|
|
122
|
-
const project = await this.request(this.projectPath(projectName));
|
|
123
|
-
const found = mergeEnvVars(project.deployment_configs).find((entry) => entry.key === key);
|
|
124
|
-
if (!found)
|
|
125
|
-
throw new Error(`No variable named "${key}" on this project.`);
|
|
126
|
-
return found;
|
|
127
|
-
}
|
|
128
|
-
projectPath(projectName) {
|
|
129
|
-
return `/accounts/${this.accountId}/pages/projects/${encodeURIComponent(projectName)}`;
|
|
130
|
-
}
|
|
131
|
-
request(path, opts) {
|
|
132
|
-
return cloudflareRequest(this.auth, path, opts);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Rejects anything that is not one of Pages' two environments. Vercel's env
|
|
137
|
-
* dialog offers `development` as well, and a PATCH naming it would quietly
|
|
138
|
-
* create a third deployment config that nothing ever reads.
|
|
139
|
-
*/
|
|
140
|
-
function requireEnvironments(environments) {
|
|
141
|
-
const invalid = environments.filter((entry) => !CLOUDFLARE_ENVIRONMENTS.includes(entry));
|
|
142
|
-
if (invalid.length > 0) {
|
|
143
|
-
throw new Error(`Cloudflare Pages only has ${CLOUDFLARE_ENVIRONMENTS.join(" and ")} environments, not ${invalid.join(", ")}.`);
|
|
144
|
-
}
|
|
145
|
-
return environments;
|
|
146
|
-
}
|
|
147
|
-
/** The read side's flattening, applied to whatever a write handed back. */
|
|
148
|
-
function mergeEnvVars(configs) {
|
|
149
|
-
const merged = new Map();
|
|
150
|
-
for (const [environment, config] of Object.entries(configs ?? {})) {
|
|
151
|
-
for (const [key, entry] of Object.entries(config?.env_vars ?? {})) {
|
|
152
|
-
if (!entry)
|
|
153
|
-
continue;
|
|
154
|
-
const type = entry.type === "plain_text" ? "plain_text" : "secret_text";
|
|
155
|
-
const existing = merged.get(key);
|
|
156
|
-
if (existing) {
|
|
157
|
-
existing.environments.push(environment);
|
|
158
|
-
if (type === "secret_text")
|
|
159
|
-
existing.type = "secret_text";
|
|
160
|
-
continue;
|
|
161
|
-
}
|
|
162
|
-
merged.set(key, { key, environments: [environment], type, value: entry.value });
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return [...merged.values()].sort((a, b) => a.key.localeCompare(b.key));
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Cloudflare's action vocabulary, mapped onto the names the shared UI already
|
|
169
|
-
* knows. "retry" is Cloudflare's word for what Vercel calls a redeploy, and
|
|
170
|
-
* there is no cancel endpoint for a Pages build at all — so the manifest is
|
|
171
|
-
* two actions, not four, and the deployment row hides what it cannot do.
|
|
172
|
-
*/
|
|
173
|
-
export const CLOUDFLARE_ACTIONS = ["redeploy", "rollback"];
|
|
174
|
-
/** Actions that change what production serves — the UI confirms these first. */
|
|
175
|
-
export const PRODUCTION_AFFECTING_ACTIONS = new Set([
|
|
176
|
-
"rollback",
|
|
177
|
-
]);
|
|
178
|
-
//# sourceMappingURL=cloudflare-actions.js.map
|