@edgedive/cli 0.1.5 → 0.1.7
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/.env +2 -0
- package/.env.local +2 -0
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-clean.log +4 -0
- package/.turbo/turbo-dev.log +8 -0
- package/.turbo/turbo-typecheck.log +4 -0
- package/AGENTS.md +135 -0
- package/CLAUDE.md +2 -134
- package/README.md +69 -0
- package/dist/api/client.d.ts +2 -0
- package/dist/api/client.d.ts.map +1 -1
- package/dist/api/client.js +23 -1
- package/dist/api/client.js.map +1 -1
- package/dist/auth/oauth-flow.d.ts +5 -0
- package/dist/auth/oauth-flow.d.ts.map +1 -1
- package/dist/auth/oauth-flow.js +41 -0
- package/dist/auth/oauth-flow.js.map +1 -1
- package/dist/auth/pkce.js +1 -5
- package/dist/auth/pkce.js.map +1 -1
- package/dist/commands/local.d.ts.map +1 -1
- package/dist/commands/local.js.map +1 -1
- package/dist/commands/takeover.d.ts +10 -0
- package/dist/commands/takeover.d.ts.map +1 -0
- package/dist/commands/takeover.js +108 -0
- package/dist/commands/takeover.js.map +1 -0
- package/dist/config/config-manager.d.ts +10 -1
- package/dist/config/config-manager.d.ts.map +1 -1
- package/dist/config/config-manager.js +25 -11
- package/dist/config/config-manager.js.map +1 -1
- package/dist/constants.d.ts +3 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +0 -12
- package/dist/constants.js.map +1 -1
- package/dist/utils/claude-launcher.js +1 -1
- package/dist/utils/claude-launcher.js.map +1 -1
- package/dist/utils/git-utils.d.ts.map +1 -1
- package/dist/utils/git-utils.js +1 -3
- package/dist/utils/git-utils.js.map +1 -1
- package/dist/utils/session-downloader.d.ts.map +1 -1
- package/dist/utils/session-downloader.js.map +1 -1
- package/package.json +3 -2
- package/src/api/client.ts +26 -10
- package/src/auth/oauth-flow.ts +53 -0
- package/src/auth/pkce.ts +1 -5
- package/src/commands/local.ts +17 -7
- package/src/config/config-manager.ts +29 -17
- package/src/constants.ts +0 -13
- package/src/utils/claude-launcher.ts +1 -1
- package/src/utils/git-utils.ts +2 -8
- package/src/utils/session-downloader.ts +1 -6
- package/.claude/settings.local.json +0 -9
package/.env
ADDED
package/.env.local
ADDED
package/.turbo/turbo-build.log
CHANGED
package/AGENTS.md
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Edgedive CLI
|
|
2
|
+
|
|
3
|
+
Command-line tool for working on Edgedive agent sessions locally and continuing development with Claude Code.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
The CLI enables developers to:
|
|
8
|
+
- Authenticate with Edgedive using OAuth
|
|
9
|
+
- Pull down agent sessions from Edgedive
|
|
10
|
+
- Restore Claude Code session files locally
|
|
11
|
+
- Check out PR branches for continued development
|
|
12
|
+
- Resume Claude Code sessions from where the agent left off
|
|
13
|
+
|
|
14
|
+
## Available Commands
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
# Authenticate with Edgedive
|
|
18
|
+
dive login --pr-url <github-pr-url>
|
|
19
|
+
dive login --issue-url <linear-issue-url>
|
|
20
|
+
|
|
21
|
+
# Prepare agent session locally
|
|
22
|
+
dive local --pr-url <github-pr-url>
|
|
23
|
+
dive local --issue-url <linear-issue-url>
|
|
24
|
+
|
|
25
|
+
# Remove stored credentials
|
|
26
|
+
dive logout
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Both `dive` and `edgedive` commands are available.
|
|
30
|
+
|
|
31
|
+
## Development Commands
|
|
32
|
+
|
|
33
|
+
From the monorepo root:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# Build the CLI
|
|
37
|
+
pnpm --filter edgedive-cli run build
|
|
38
|
+
|
|
39
|
+
# Clean build artifacts
|
|
40
|
+
pnpm --filter edgedive-cli run clean
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
From this directory:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Link for local testing
|
|
47
|
+
npm link
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Project Structure
|
|
51
|
+
|
|
52
|
+
- `src/` - TypeScript source code
|
|
53
|
+
- `commands/` - Command implementations (login, local, logout)
|
|
54
|
+
- `services/` - OAuth, API client, session management
|
|
55
|
+
- `utils/` - Helper utilities
|
|
56
|
+
- `index.ts` - CLI entry point
|
|
57
|
+
- `dist/` - Compiled JavaScript (gitignored)
|
|
58
|
+
|
|
59
|
+
## Development Guidelines
|
|
60
|
+
|
|
61
|
+
### Authentication
|
|
62
|
+
|
|
63
|
+
The CLI uses OAuth 2.0 with PKCE for secure authentication:
|
|
64
|
+
- Tokens are stored in `~/.edgedive/config.json` with restricted permissions (0600)
|
|
65
|
+
- Tokens are valid for 30 days
|
|
66
|
+
- Uses authorization code flow with PKCE for security
|
|
67
|
+
|
|
68
|
+
### Session Management
|
|
69
|
+
|
|
70
|
+
The `dive local` command:
|
|
71
|
+
1. Validates you're in the correct repository
|
|
72
|
+
2. Fetches session info from Edgedive API
|
|
73
|
+
3. Downloads and restores Claude session file
|
|
74
|
+
4. Checks out the PR branch
|
|
75
|
+
5. Launches Claude CLI with the resumed session
|
|
76
|
+
|
|
77
|
+
### Configuration
|
|
78
|
+
|
|
79
|
+
Configuration is stored in `~/.edgedive/config.json`:
|
|
80
|
+
- OAuth access token
|
|
81
|
+
- Token expiration time
|
|
82
|
+
- OAuth scope
|
|
83
|
+
|
|
84
|
+
### Environment Variables
|
|
85
|
+
|
|
86
|
+
Override defaults with:
|
|
87
|
+
- `EDGEDIVE_API_URL` - API base URL (default: `https://api.edgedive.com`)
|
|
88
|
+
- `EDGEDIVE_CLIENT_ID` - OAuth client ID
|
|
89
|
+
|
|
90
|
+
## Building for Distribution
|
|
91
|
+
|
|
92
|
+
To build the CLI for npm:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
pnpm build
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
This compiles TypeScript to JavaScript in the `dist/` directory.
|
|
99
|
+
|
|
100
|
+
## Testing
|
|
101
|
+
|
|
102
|
+
For local testing:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Link the CLI globally
|
|
106
|
+
npm link
|
|
107
|
+
|
|
108
|
+
# Test commands
|
|
109
|
+
dive login --pr-url https://github.com/owner/repo/pull/123
|
|
110
|
+
dive local --pr-url https://github.com/owner/repo/pull/123
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Security
|
|
114
|
+
|
|
115
|
+
- OAuth tokens stored with restricted file permissions
|
|
116
|
+
- PKCE prevents authorization code interception
|
|
117
|
+
- Presigned S3 URLs expire after 1 hour
|
|
118
|
+
- Local callback server only accepts localhost connections
|
|
119
|
+
|
|
120
|
+
## Troubleshooting
|
|
121
|
+
|
|
122
|
+
Common issues:
|
|
123
|
+
- **Not logged in**: Run `dive login` first
|
|
124
|
+
- **Session expired**: Tokens expire after 30 days, run `dive login` again
|
|
125
|
+
- **No agent session found**: PR may not be from an Edgedive agent
|
|
126
|
+
- **Failed to download file**: Presigned URLs expire after 1 hour, run command again
|
|
127
|
+
|
|
128
|
+
## Documentation
|
|
129
|
+
|
|
130
|
+
For comprehensive usage documentation, see [README.md](./README.md).
|
|
131
|
+
|
|
132
|
+
## Related Documentation
|
|
133
|
+
|
|
134
|
+
- [edgedive-server](../../apps/edgedive-server/CLAUDE.md) - API backend that CLI connects to
|
|
135
|
+
- [Root monorepo documentation](../../CLAUDE.md) - Monorepo overview
|
package/CLAUDE.md
CHANGED
|
@@ -1,135 +1,3 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Development Guidelines
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Purpose
|
|
6
|
-
|
|
7
|
-
The CLI enables developers to:
|
|
8
|
-
- Authenticate with Edgedive using OAuth
|
|
9
|
-
- Pull down agent sessions from Edgedive
|
|
10
|
-
- Restore Claude Code session files locally
|
|
11
|
-
- Check out PR branches for continued development
|
|
12
|
-
- Resume Claude Code sessions from where the agent left off
|
|
13
|
-
|
|
14
|
-
## Available Commands
|
|
15
|
-
|
|
16
|
-
```bash
|
|
17
|
-
# Authenticate with Edgedive
|
|
18
|
-
dive login --pr-url <github-pr-url>
|
|
19
|
-
dive login --issue-url <linear-issue-url>
|
|
20
|
-
|
|
21
|
-
# Prepare agent session locally
|
|
22
|
-
dive local --pr-url <github-pr-url>
|
|
23
|
-
dive local --issue-url <linear-issue-url>
|
|
24
|
-
|
|
25
|
-
# Remove stored credentials
|
|
26
|
-
dive logout
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Both `dive` and `edgedive` commands are available.
|
|
30
|
-
|
|
31
|
-
## Development Commands
|
|
32
|
-
|
|
33
|
-
From the monorepo root:
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
# Build the CLI
|
|
37
|
-
pnpm --filter edgedive-cli run build
|
|
38
|
-
|
|
39
|
-
# Clean build artifacts
|
|
40
|
-
pnpm --filter edgedive-cli run clean
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
From this directory:
|
|
44
|
-
|
|
45
|
-
```bash
|
|
46
|
-
# Link for local testing
|
|
47
|
-
npm link
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
## Project Structure
|
|
51
|
-
|
|
52
|
-
- `src/` - TypeScript source code
|
|
53
|
-
- `commands/` - Command implementations (login, local, logout)
|
|
54
|
-
- `services/` - OAuth, API client, session management
|
|
55
|
-
- `utils/` - Helper utilities
|
|
56
|
-
- `index.ts` - CLI entry point
|
|
57
|
-
- `dist/` - Compiled JavaScript (gitignored)
|
|
58
|
-
|
|
59
|
-
## Development Guidelines
|
|
60
|
-
|
|
61
|
-
### Authentication
|
|
62
|
-
|
|
63
|
-
The CLI uses OAuth 2.0 with PKCE for secure authentication:
|
|
64
|
-
- Tokens are stored in `~/.edgedive/config.json` with restricted permissions (0600)
|
|
65
|
-
- Tokens are valid for 30 days
|
|
66
|
-
- Uses authorization code flow with PKCE for security
|
|
67
|
-
|
|
68
|
-
### Session Management
|
|
69
|
-
|
|
70
|
-
The `dive local` command:
|
|
71
|
-
1. Validates you're in the correct repository
|
|
72
|
-
2. Fetches session info from Edgedive API
|
|
73
|
-
3. Downloads and restores Claude session file
|
|
74
|
-
4. Checks out the PR branch
|
|
75
|
-
5. Launches Claude CLI with the resumed session
|
|
76
|
-
|
|
77
|
-
### Configuration
|
|
78
|
-
|
|
79
|
-
Configuration is stored in `~/.edgedive/config.json`:
|
|
80
|
-
- OAuth access token
|
|
81
|
-
- Token expiration time
|
|
82
|
-
- OAuth scope
|
|
83
|
-
|
|
84
|
-
### Environment Variables
|
|
85
|
-
|
|
86
|
-
Override defaults with:
|
|
87
|
-
- `EDGEDIVE_API_URL` - API base URL (default: `https://api.edgedive.com`)
|
|
88
|
-
- `EDGEDIVE_CLIENT_ID` - OAuth client ID
|
|
89
|
-
|
|
90
|
-
## Building for Distribution
|
|
91
|
-
|
|
92
|
-
To build the CLI for npm:
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
pnpm build
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
This compiles TypeScript to JavaScript in the `dist/` directory.
|
|
99
|
-
|
|
100
|
-
## Testing
|
|
101
|
-
|
|
102
|
-
For local testing:
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
# Link the CLI globally
|
|
106
|
-
npm link
|
|
107
|
-
|
|
108
|
-
# Test commands
|
|
109
|
-
dive login --pr-url https://github.com/owner/repo/pull/123
|
|
110
|
-
dive local --pr-url https://github.com/owner/repo/pull/123
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Security
|
|
114
|
-
|
|
115
|
-
- OAuth tokens stored with restricted file permissions
|
|
116
|
-
- PKCE prevents authorization code interception
|
|
117
|
-
- Presigned S3 URLs expire after 1 hour
|
|
118
|
-
- Local callback server only accepts localhost connections
|
|
119
|
-
|
|
120
|
-
## Troubleshooting
|
|
121
|
-
|
|
122
|
-
Common issues:
|
|
123
|
-
- **Not logged in**: Run `dive login` first
|
|
124
|
-
- **Session expired**: Tokens expire after 30 days, run `dive login` again
|
|
125
|
-
- **No agent session found**: PR may not be from an Edgedive agent
|
|
126
|
-
- **Failed to download file**: Presigned URLs expire after 1 hour, run command again
|
|
127
|
-
|
|
128
|
-
## Documentation
|
|
129
|
-
|
|
130
|
-
For comprehensive usage documentation, see [README.md](./README.md).
|
|
131
|
-
|
|
132
|
-
## Related Documentation
|
|
133
|
-
|
|
134
|
-
- [edgedive-server](../../apps/edgedive-server/CLAUDE.md) - API backend that CLI connects to
|
|
135
|
-
- [Root monorepo documentation](../../CLAUDE.md) - Monorepo overview
|
|
3
|
+
For all development guidelines for this package/app, please see **[AGENTS.md](./AGENTS.md)**.
|
package/README.md
CHANGED
|
@@ -141,6 +141,75 @@ pnpm build
|
|
|
141
141
|
|
|
142
142
|
Compiles TypeScript to JavaScript in the `dist/` directory.
|
|
143
143
|
|
|
144
|
+
## Building and Publishing
|
|
145
|
+
|
|
146
|
+
### Build Process
|
|
147
|
+
|
|
148
|
+
The CLI is built using TypeScript and compiled to CommonJS modules in the `dist/` directory:
|
|
149
|
+
|
|
150
|
+
1. **TypeScript Compilation**: `pnpm build` runs `tsc` which:
|
|
151
|
+
- Compiles all TypeScript files from `src/` to `dist/`
|
|
152
|
+
- Generates type declarations (`.d.ts` files)
|
|
153
|
+
- Creates source maps for debugging
|
|
154
|
+
- Outputs ES2022-compatible JavaScript modules
|
|
155
|
+
|
|
156
|
+
2. **What Gets Published**:
|
|
157
|
+
- `dist/` directory (compiled JavaScript + type declarations)
|
|
158
|
+
- `package.json`
|
|
159
|
+
- `README.md`
|
|
160
|
+
- The `bin` field in `package.json` points to `dist/index.js` for both `edgedive` and `dive` commands
|
|
161
|
+
|
|
162
|
+
### Publishing to npm
|
|
163
|
+
|
|
164
|
+
The package is published to npm under the `@edgedive/cli` scope.
|
|
165
|
+
|
|
166
|
+
#### Prerequisites
|
|
167
|
+
|
|
168
|
+
1. npm account with access to the `@edgedive` organization
|
|
169
|
+
2. Logged in to npm: `npm login`
|
|
170
|
+
3. Clean build: `pnpm clean && pnpm build`
|
|
171
|
+
|
|
172
|
+
#### Publishing Steps
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# From the packages/edgedive-cli directory
|
|
176
|
+
|
|
177
|
+
# 1. Ensure you're on main and up to date
|
|
178
|
+
git checkout main
|
|
179
|
+
git pull origin main
|
|
180
|
+
|
|
181
|
+
# 2. Clean and build
|
|
182
|
+
pnpm clean
|
|
183
|
+
pnpm build
|
|
184
|
+
|
|
185
|
+
# 3. Test the built CLI
|
|
186
|
+
node dist/index.js --help
|
|
187
|
+
|
|
188
|
+
# 4. Update version (choose one)
|
|
189
|
+
npm version patch # 0.1.6 -> 0.1.7
|
|
190
|
+
npm version minor # 0.1.6 -> 0.2.0
|
|
191
|
+
npm version major # 0.1.6 -> 1.0.0
|
|
192
|
+
|
|
193
|
+
# 5. Publish to npm
|
|
194
|
+
npm publish --access public
|
|
195
|
+
|
|
196
|
+
# 6. Push the version tag
|
|
197
|
+
git push origin main --tags
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
#### Current Published Version
|
|
201
|
+
|
|
202
|
+
Latest: `0.1.6` (published 2025-11-07)
|
|
203
|
+
|
|
204
|
+
#### Continuous Integration
|
|
205
|
+
|
|
206
|
+
The CI pipeline (`.github/workflows/ci.yml`) automatically:
|
|
207
|
+
- Detects changes to `packages/edgedive-cli/**`
|
|
208
|
+
- Runs `pnpm build --filter @edgedive/cli`
|
|
209
|
+
- Tests the built CLI with `node dist/index.js --help`
|
|
210
|
+
|
|
211
|
+
**Note**: Publishing to npm is currently a manual process. Consider setting up automated releases via GitHub Actions when appropriate.
|
|
212
|
+
|
|
144
213
|
## OAuth Flow
|
|
145
214
|
|
|
146
215
|
The CLI uses OAuth 2.0 with PKCE (Proof Key for Code Exchange) for secure authentication:
|
package/dist/api/client.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ export interface TakeoverResponse {
|
|
|
36
36
|
export declare class EdgediveApiClient {
|
|
37
37
|
private client;
|
|
38
38
|
private configManager;
|
|
39
|
+
private oauthFlow;
|
|
40
|
+
private isRefreshing;
|
|
39
41
|
constructor(configManager: ConfigManager);
|
|
40
42
|
/**
|
|
41
43
|
* Get session takeover information by PR URL
|
package/dist/api/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,UAAU,EAAE,MAAM,CAAC;QACnB,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE;QACb,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,YAAY,CAAkB;gBAE1B,aAAa,EAAE,aAAa;IAoCxC;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAe5D,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAiBpF;;OAEG;IACG,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAgBjF"}
|
package/dist/api/client.js
CHANGED
|
@@ -3,17 +3,39 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import axios from 'axios';
|
|
5
5
|
import { API_CONFIG, TIMEOUTS } from '../constants.js';
|
|
6
|
+
import { OAuthFlow } from '../auth/oauth-flow.js';
|
|
6
7
|
export class EdgediveApiClient {
|
|
7
8
|
client;
|
|
8
9
|
configManager;
|
|
10
|
+
oauthFlow;
|
|
11
|
+
isRefreshing = false;
|
|
9
12
|
constructor(configManager) {
|
|
10
13
|
this.configManager = configManager;
|
|
14
|
+
this.oauthFlow = new OAuthFlow(configManager);
|
|
11
15
|
this.client = axios.create({
|
|
12
16
|
baseURL: API_CONFIG.BASE_URL,
|
|
13
17
|
timeout: TIMEOUTS.DEFAULT_REQUEST_MS,
|
|
14
18
|
});
|
|
15
|
-
// Add request interceptor to inject auth token
|
|
19
|
+
// Add request interceptor to inject auth token and handle refresh
|
|
16
20
|
this.client.interceptors.request.use(async (config) => {
|
|
21
|
+
// Check if token needs refresh
|
|
22
|
+
const currentConfig = await this.configManager.load();
|
|
23
|
+
if (this.configManager.isTokenExpiringSoon(currentConfig) && !this.isRefreshing) {
|
|
24
|
+
this.isRefreshing = true;
|
|
25
|
+
try {
|
|
26
|
+
console.log('🔄 Access token expiring soon, refreshing...');
|
|
27
|
+
await this.oauthFlow.refreshAccessToken();
|
|
28
|
+
console.log('✅ Token refreshed successfully');
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
console.error('❌ Failed to refresh token:', error.message);
|
|
32
|
+
console.log('Please run "dive login" to re-authenticate');
|
|
33
|
+
throw error;
|
|
34
|
+
}
|
|
35
|
+
finally {
|
|
36
|
+
this.isRefreshing = false;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
17
39
|
const token = await this.configManager.getAccessToken();
|
|
18
40
|
if (token) {
|
|
19
41
|
config.headers.Authorization = `Bearer ${token}`;
|
package/dist/api/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAkClD,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAgB;IACtB,aAAa,CAAgB;IAC7B,SAAS,CAAY;IACrB,YAAY,GAAY,KAAK,CAAC;IAEtC,YAAY,aAA4B;QACtC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YACzB,OAAO,EAAE,UAAU,CAAC,QAAQ;YAC5B,OAAO,EAAE,QAAQ,CAAC,kBAAkB;SACrC,CAAC,CAAC;QAEH,kEAAkE;QAClE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACpD,+BAA+B;YAC/B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;YAEtD,IAAI,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzB,IAAI,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;oBAC5D,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,CAAC;oBAC1C,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;gBAChD,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;oBAC1D,MAAM,KAAK,CAAC;gBACd,CAAC;wBAAS,CAAC;oBACT,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC5B,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;YACxD,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,KAAK,EAAE,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,KAAa;QACpC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAmB,UAAU,CAAC,aAAa,EAAE;gBACjF,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;aAC1B,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,KAAK,IAAI,uBAAuB,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,2BAA2B,CAAC,cAAsB;QACtD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAmB,UAAU,CAAC,aAAa,EAAE;gBACjF,MAAM,EAAE;oBACN,gBAAgB,EAAE,cAAc;iBACjC;aACF,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,KAAK,IAAI,uBAAuB,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,WAAmB;QAC9D,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,8BAA8B,SAAS,iBAAiB,CAAC;YAC5E,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,WAAW,EAAE;gBAC7C,OAAO,EAAE;oBACP,cAAc,EAAE,0BAA0B;iBAC3C;aACF,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,KAAK,IAAI,kBAAkB,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -7,6 +7,7 @@ export interface OAuthTokenResponse {
|
|
|
7
7
|
token_type: string;
|
|
8
8
|
expires_in: number;
|
|
9
9
|
scope: string;
|
|
10
|
+
refresh_token: string;
|
|
10
11
|
}
|
|
11
12
|
export declare class OAuthFlow {
|
|
12
13
|
private configManager;
|
|
@@ -23,5 +24,9 @@ export declare class OAuthFlow {
|
|
|
23
24
|
* Exchange authorization code for access token
|
|
24
25
|
*/
|
|
25
26
|
private exchangeCodeForToken;
|
|
27
|
+
/**
|
|
28
|
+
* Refresh access token using refresh token
|
|
29
|
+
*/
|
|
30
|
+
refreshAccessToken(): Promise<OAuthTokenResponse | null>;
|
|
26
31
|
}
|
|
27
32
|
//# sourceMappingURL=oauth-flow.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-flow.d.ts","sourceRoot":"","sources":["../../src/auth/oauth-flow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-flow.d.ts","sourceRoot":"","sources":["../../src/auth/oauth-flow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,aAAa,CAAgB;gBAEzB,aAAa,EAAE,aAAa;IAIxC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC;IAsC9C;;OAEG;YACW,mBAAmB;IAyHjC;;OAEG;YACW,oBAAoB;IAiClC;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;CA8C/D"}
|
package/dist/auth/oauth-flow.js
CHANGED
|
@@ -42,6 +42,7 @@ export class OAuthFlow {
|
|
|
42
42
|
tokenType: tokenResponse.token_type,
|
|
43
43
|
expiresAt,
|
|
44
44
|
scope: tokenResponse.scope,
|
|
45
|
+
refreshToken: tokenResponse.refresh_token,
|
|
45
46
|
});
|
|
46
47
|
return tokenResponse;
|
|
47
48
|
}
|
|
@@ -166,6 +167,7 @@ export class OAuthFlow {
|
|
|
166
167
|
try {
|
|
167
168
|
const tokenUrl = new URL(API_CONFIG.TOKEN_PATH, API_CONFIG.BASE_URL);
|
|
168
169
|
const response = await axios.post(tokenUrl.toString(), new URLSearchParams({
|
|
170
|
+
grant_type: 'authorization_code',
|
|
169
171
|
code,
|
|
170
172
|
code_verifier: codeVerifier,
|
|
171
173
|
}), {
|
|
@@ -183,5 +185,44 @@ export class OAuthFlow {
|
|
|
183
185
|
throw new Error(`Failed to exchange code for token: ${error.message}`);
|
|
184
186
|
}
|
|
185
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Refresh access token using refresh token
|
|
190
|
+
*/
|
|
191
|
+
async refreshAccessToken() {
|
|
192
|
+
try {
|
|
193
|
+
const refreshToken = await this.configManager.getRefreshToken();
|
|
194
|
+
if (!refreshToken) {
|
|
195
|
+
return null;
|
|
196
|
+
}
|
|
197
|
+
const tokenUrl = new URL(API_CONFIG.TOKEN_PATH, API_CONFIG.BASE_URL);
|
|
198
|
+
const response = await axios.post(tokenUrl.toString(), new URLSearchParams({
|
|
199
|
+
grant_type: 'refresh_token',
|
|
200
|
+
refresh_token: refreshToken,
|
|
201
|
+
}), {
|
|
202
|
+
headers: {
|
|
203
|
+
'Content-Type': 'application/x-www-form-urlencoded',
|
|
204
|
+
},
|
|
205
|
+
timeout: TIMEOUTS.DEFAULT_REQUEST_MS,
|
|
206
|
+
});
|
|
207
|
+
// Save new tokens to config
|
|
208
|
+
const expiresAt = Date.now() + response.data.expires_in * 1000;
|
|
209
|
+
await this.configManager.save({
|
|
210
|
+
accessToken: response.data.access_token,
|
|
211
|
+
tokenType: response.data.token_type,
|
|
212
|
+
expiresAt,
|
|
213
|
+
scope: response.data.scope,
|
|
214
|
+
refreshToken: response.data.refresh_token,
|
|
215
|
+
});
|
|
216
|
+
return response.data;
|
|
217
|
+
}
|
|
218
|
+
catch (error) {
|
|
219
|
+
// If refresh fails, clear the config so user needs to login again
|
|
220
|
+
await this.configManager.delete();
|
|
221
|
+
if (error.response) {
|
|
222
|
+
throw new Error(`Failed to refresh token: ${error.response.data?.error || error.message}`);
|
|
223
|
+
}
|
|
224
|
+
throw new Error(`Failed to refresh token: ${error.message}`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
186
227
|
}
|
|
187
228
|
//# sourceMappingURL=oauth-flow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-flow.js","sourceRoot":"","sources":["../../src/auth/oauth-flow.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-flow.js","sourceRoot":"","sources":["../../src/auth/oauth-flow.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/pkce.js
CHANGED
|
@@ -19,10 +19,6 @@ export function generateCodeChallenge(verifier) {
|
|
|
19
19
|
* Base64 URL encode (without padding)
|
|
20
20
|
*/
|
|
21
21
|
function base64URLEncode(buffer) {
|
|
22
|
-
return buffer
|
|
23
|
-
.toString('base64')
|
|
24
|
-
.replace(/\+/g, '-')
|
|
25
|
-
.replace(/\//g, '_')
|
|
26
|
-
.replace(/=/g, '');
|
|
22
|
+
return buffer.toString('base64').replace(/\+/g, '-').replace(/\//g, '_').replace(/=/g, '');
|
|
27
23
|
}
|
|
28
24
|
//# sourceMappingURL=pkce.js.map
|
package/dist/auth/pkce.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkce.js","sourceRoot":"","sources":["../../src/auth/pkce.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IACnE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,MAAM
|
|
1
|
+
{"version":3,"file":"pkce.js","sourceRoot":"","sources":["../../src/auth/pkce.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IACnE,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,MAAc;IACrC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAC7F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/commands/local.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"local.d.ts","sourceRoot":"","sources":["../../src/commands/local.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,UAAU,YAAY;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6InF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/commands/local.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAyB,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAOlE,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAgB;IAClE,MAAM,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;IAC1C,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAE3C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;QAE/D,6BAA6B;QAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,yBAAyB;QACzB,IAAI,CAAC,CAAC,MAAM,aAAa,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,qHAAqH,CACtH,CACF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,WAAW,CAAC;QAEhB,IAAI,KAAK,EAAE,CAAC;YACV,yBAAyB;YACzB,MAAM,YAAY,GAAG,0DAA0D,CAAC;YAChF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,2DAA2D,CAAC,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,WAAW,GAAG,MAAM,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,QAAQ,IAAI,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YACpD,WAAW,GAAG,MAAM,SAAS,CAAC,2BAA2B,CAAC,QAAS,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACrD,IAAI,WAAW,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/commands/local.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Takeover command - download agent session for local development
|
|
3
|
+
*/
|
|
4
|
+
interface TakeoverOptions {
|
|
5
|
+
prUrl?: string;
|
|
6
|
+
issueUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function takeoverCommand({ prUrl, issueUrl }: TakeoverOptions): Promise<void>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=takeover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"takeover.d.ts","sourceRoot":"","sources":["../../src/commands/takeover.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA6HzF"}
|