@gowelle/stint-agent 1.2.37 → 1.2.39
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 +256 -256
- package/dist/{StatusDashboard-AMDPK7EQ.js → StatusDashboard-ROFBT73W.js} +2 -2
- package/dist/api-JGCDZSG6.js +7 -0
- package/dist/{chunk-IBGWKTT7.js → chunk-4WAUHGFS.js} +25 -5
- package/dist/{chunk-NODAAPCO.js → chunk-IFPIIRU3.js} +88 -12
- package/dist/{chunk-XRNTJYCQ.js → chunk-LU6CQVSL.js} +1 -1
- package/dist/{chunk-HPHXBSGB.js → chunk-PWOHR6IZ.js} +1 -1
- package/dist/daemon/runner.js +212 -39
- package/dist/index.js +7 -7
- package/package.json +102 -98
- package/dist/api-AFSILC7K.js +0 -7
package/README.md
CHANGED
|
@@ -1,256 +1,256 @@
|
|
|
1
|
-
# Stint Agent
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/@gowelle/stint-agent)
|
|
4
|
-
[](https://www.npmjs.com/package/@gowelle/stint-agent)
|
|
5
|
-
[](https://github.com/gowelle/stint-agent/actions/workflows/ci.yml)
|
|
6
|
-
[](https://opensource.org/licenses/MIT)
|
|
7
|
-
[](https://nodejs.org/)
|
|
8
|
-
|
|
9
|
-
The official CLI agent for [Stint](https://stint.codes) — a lightweight daemon that bridges the Stint web app and your local git repositories, enabling automatic commit execution and real-time repo syncing.
|
|
10
|
-
|
|
11
|
-
## Features
|
|
12
|
-
|
|
13
|
-
- 🔐 Secure authentication with OAuth
|
|
14
|
-
- 🔄 Real-time WebSocket connection to Stint
|
|
15
|
-
- 📦 Automatic commit execution
|
|
16
|
-
- 🔍 Repository status syncing
|
|
17
|
-
- 🖥️ Background daemon process
|
|
18
|
-
- 📝 Comprehensive logging and filtering
|
|
19
|
-
- 📊 Interactive status dashboard
|
|
20
|
-
- 🚀 Multiple release channels (stable/beta/nightly)
|
|
21
|
-
- 🔍 Built-in environment diagnostics
|
|
22
|
-
- 📈 Resource usage monitoring
|
|
23
|
-
- 📁 File selection for commits (sync changed files to web app)
|
|
24
|
-
|
|
25
|
-
For detailed feature documentation, see the **[Features Guide](docs/features.md)**.
|
|
26
|
-
|
|
27
|
-
## Installation
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
npm install -g @gowelle/stint-agent
|
|
31
|
-
# or
|
|
32
|
-
pnpm add -g @gowelle/stint-agent
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## Quick Start
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# Authenticate with Stint
|
|
39
|
-
stint login
|
|
40
|
-
|
|
41
|
-
# Check your authentication status
|
|
42
|
-
stint whoami
|
|
43
|
-
|
|
44
|
-
# Link a project (or create a new one)
|
|
45
|
-
cd /path/to/your/project
|
|
46
|
-
stint link
|
|
47
|
-
|
|
48
|
-
# Start the daemon
|
|
49
|
-
stint daemon start
|
|
50
|
-
|
|
51
|
-
# Check daemon status
|
|
52
|
-
stint daemon status
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Commands
|
|
56
|
-
|
|
57
|
-
### General
|
|
58
|
-
|
|
59
|
-
| Command | Description |
|
|
60
|
-
| ----------------------------- | ---------------------------------- |
|
|
61
|
-
| `stint --version`, `stint -V` | Show current agent version |
|
|
62
|
-
| `stint --help`, `stint -h` | Show help information |
|
|
63
|
-
| `stint update` | Update agent to the latest version |
|
|
64
|
-
|
|
65
|
-
### Authentication
|
|
66
|
-
|
|
67
|
-
| Command | Description |
|
|
68
|
-
| -------------- | ------------------------------------------------- |
|
|
69
|
-
| `stint login` | Authenticate with Stint (opens browser for OAuth) |
|
|
70
|
-
| `stint logout` | Remove stored credentials |
|
|
71
|
-
| `stint whoami` | Show current user and machine information |
|
|
72
|
-
|
|
73
|
-
### Daemon Lifecycle
|
|
74
|
-
|
|
75
|
-
| Command | Description |
|
|
76
|
-
| ------------------------------- | --------------------------------------------------------- |
|
|
77
|
-
| `stint install` | Register daemon to run on system startup (Login required) |
|
|
78
|
-
| `stint uninstall` | Remove daemon from system startup |
|
|
79
|
-
| `stint daemon start` | Start background daemon manually |
|
|
80
|
-
| `stint daemon stop` | Stop daemon gracefully |
|
|
81
|
-
| `stint daemon status` | Check if daemon is running |
|
|
82
|
-
| `stint daemon logs [--lines N]` | View daemon logs (default: 50 lines) |
|
|
83
|
-
| `stint daemon restart` | Restart the daemon |
|
|
84
|
-
|
|
85
|
-
### Project Management
|
|
86
|
-
|
|
87
|
-
| Command | Description |
|
|
88
|
-
| ---------------------------- | --------------------------------------------------------------- |
|
|
89
|
-
| `stint link` | Link current directory to a Stint project (or create a new one) |
|
|
90
|
-
| `stint unlink [--force]` | Remove project link |
|
|
91
|
-
| `stint status [--dashboard]` | Show status (use `-d` for interactive dashboard) |
|
|
92
|
-
| `stint sync` | Manually sync repository information to server |
|
|
93
|
-
|
|
94
|
-
### Commit Operations
|
|
95
|
-
|
|
96
|
-
| Command
|
|
97
|
-
|
|
|
98
|
-
| `stint commits`
|
|
99
|
-
| `stint commit <id>`
|
|
100
|
-
|
|
101
|
-
**`stint commit` Options:**
|
|
102
|
-
|
|
103
|
-
| Option | Description
|
|
104
|
-
| -------------- |
|
|
105
|
-
| `--auto-stage` | Automatically stage files specified in the commit
|
|
106
|
-
| `--push` | Push changes to remote after committing
|
|
107
|
-
| `--force` | Skip file validation warnings
|
|
108
|
-
|
|
109
|
-
### Commit Workflow Controls
|
|
110
|
-
|
|
111
|
-
Stint supports advanced commit controls configured via the web dashboard:
|
|
112
|
-
|
|
113
|
-
1. **Commit Templates**: Enforce message conventions (e.g., conventional commits).
|
|
114
|
-
2. **Pre-commit Hooks**: Automatically run local commands (linting, tests) before the agent executes a commit.
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
Configure these securely in your Project Settings on [stint.codes](https://stint.codes).
|
|
119
|
-
|
|
120
|
-
## Complete Workflow
|
|
121
|
-
|
|
122
|
-
```bash
|
|
123
|
-
# 1. Install and authenticate
|
|
124
|
-
npm install -g @gowelle/stint-agent
|
|
125
|
-
stint login
|
|
126
|
-
|
|
127
|
-
# 2. Link your project
|
|
128
|
-
cd /path/to/your/project
|
|
129
|
-
stint link
|
|
130
|
-
|
|
131
|
-
# 3. Start the daemon
|
|
132
|
-
stint daemon start
|
|
133
|
-
|
|
134
|
-
# 4. Check status
|
|
135
|
-
stint status
|
|
136
|
-
|
|
137
|
-
# Now commits approved in the web app will execute automatically!
|
|
138
|
-
```
|
|
139
|
-
|
|
140
|
-
## Configuration
|
|
141
|
-
|
|
142
|
-
### Desktop Notifications
|
|
143
|
-
|
|
144
|
-
The daemon sends desktop notifications for important events. Notifications can be controlled globally or per-category.
|
|
145
|
-
|
|
146
|
-
#### Notification Categories
|
|
147
|
-
|
|
148
|
-
| Category | Events
|
|
149
|
-
| ------------- |
|
|
150
|
-
| `commits` | Commit approved, pending, pushed, failed
|
|
151
|
-
| `sync` | Sync requested, project updated
|
|
152
|
-
| `suggestions` | New AI suggestions
|
|
153
|
-
|
|
154
|
-
> **Note:** `sync` is disabled by default because these events fire frequently during active development.
|
|
155
|
-
|
|
156
|
-
#### Toggle All Notifications
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
# Disable all notifications
|
|
160
|
-
stint config set notifications.enabled false
|
|
161
|
-
|
|
162
|
-
# Enable all notifications
|
|
163
|
-
stint config set notifications.enabled true
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
#### Toggle by Category
|
|
167
|
-
|
|
168
|
-
```bash
|
|
169
|
-
# Disable sync notifications (noisy during development)
|
|
170
|
-
stint config set notifications.sync false
|
|
171
|
-
|
|
172
|
-
# Enable commit notifications
|
|
173
|
-
stint config set notifications.commits true
|
|
174
|
-
|
|
175
|
-
# Disable suggestion notifications
|
|
176
|
-
stint config set notifications.suggestions false
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
#### View Current Settings
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
stint config list
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
> **Note:** Events are still logged even when notifications are disabled.
|
|
186
|
-
|
|
187
|
-
## Troubleshooting
|
|
188
|
-
|
|
189
|
-
For comprehensive troubleshooting help, see the **[Troubleshooting Guide](docs/TROUBLESHOOTING.md)**.
|
|
190
|
-
|
|
191
|
-
### Quick Tips
|
|
192
|
-
|
|
193
|
-
**"Not authenticated" error**
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
stint login
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
**Daemon won't start**
|
|
200
|
-
|
|
201
|
-
```bash
|
|
202
|
-
stint daemon status # Check if already running
|
|
203
|
-
stint daemon logs # Check logs for errors
|
|
204
|
-
stint daemon restart # Restart daemon
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
**For detailed solutions**, including:
|
|
208
|
-
|
|
209
|
-
- Connection issues (WebSocket, API, Circuit Breaker)
|
|
210
|
-
- Daemon problems (crashes, autostart)
|
|
211
|
-
- Authentication errors
|
|
212
|
-
- Git operation failures
|
|
213
|
-
- Platform-specific issues (Windows, macOS, Linux)
|
|
214
|
-
|
|
215
|
-
See the **[Troubleshooting Guide](docs/TROUBLESHOOTING.md)**.
|
|
216
|
-
|
|
217
|
-
## Logging
|
|
218
|
-
|
|
219
|
-
Logs are stored in your system's config directory:
|
|
220
|
-
|
|
221
|
-
| Platform | Log Location |
|
|
222
|
-
| ----------- | ----------------------------------- |
|
|
223
|
-
| **macOS** | `~/.config/stint/logs/` |
|
|
224
|
-
| **Linux** | `~/.config/stint/logs/` |
|
|
225
|
-
| **Windows** | `%USERPROFILE%\.config\stint\logs\` |
|
|
226
|
-
|
|
227
|
-
Log files:
|
|
228
|
-
|
|
229
|
-
- `agent.log` - General CLI operations
|
|
230
|
-
- `daemon.log` - Daemon process logs
|
|
231
|
-
- `error.log` - Error details
|
|
232
|
-
|
|
233
|
-
## Development
|
|
234
|
-
|
|
235
|
-
```bash
|
|
236
|
-
git clone https://github.com/gowelle/stint-agent.git
|
|
237
|
-
cd stint-agent
|
|
238
|
-
pnpm install
|
|
239
|
-
pnpm build
|
|
240
|
-
pnpm dev # Watch mode
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
## Security
|
|
244
|
-
|
|
245
|
-
- Tokens are encrypted at rest using machine-specific keys
|
|
246
|
-
- All API communication uses HTTPS
|
|
247
|
-
- WebSocket connections are authenticated
|
|
248
|
-
- Git operations are restricted to linked directories
|
|
249
|
-
|
|
250
|
-
## License
|
|
251
|
-
|
|
252
|
-
MIT © [Gowelle John](https://github.com/gowelle)
|
|
253
|
-
|
|
254
|
-
## Support
|
|
255
|
-
|
|
256
|
-
For issues and questions, please [open an issue](https://github.com/gowelle/stint-agent/issues).
|
|
1
|
+
# Stint Agent
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@gowelle/stint-agent)
|
|
4
|
+
[](https://www.npmjs.com/package/@gowelle/stint-agent)
|
|
5
|
+
[](https://github.com/gowelle/stint-agent/actions/workflows/ci.yml)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
[](https://nodejs.org/)
|
|
8
|
+
|
|
9
|
+
The official CLI agent for [Stint](https://stint.codes) — a lightweight daemon that bridges the Stint web app and your local git repositories, enabling automatic commit execution and real-time repo syncing.
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- 🔐 Secure authentication with OAuth
|
|
14
|
+
- 🔄 Real-time WebSocket connection to Stint
|
|
15
|
+
- 📦 Automatic commit execution
|
|
16
|
+
- 🔍 Repository status syncing
|
|
17
|
+
- 🖥️ Background daemon process
|
|
18
|
+
- 📝 Comprehensive logging and filtering
|
|
19
|
+
- 📊 Interactive status dashboard
|
|
20
|
+
- 🚀 Multiple release channels (stable/beta/nightly)
|
|
21
|
+
- 🔍 Built-in environment diagnostics
|
|
22
|
+
- 📈 Resource usage monitoring
|
|
23
|
+
- 📁 File selection for commits (sync changed files to web app)
|
|
24
|
+
|
|
25
|
+
For detailed feature documentation, see the **[Features Guide](docs/features.md)**.
|
|
26
|
+
|
|
27
|
+
## Installation
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
npm install -g @gowelle/stint-agent
|
|
31
|
+
# or
|
|
32
|
+
pnpm add -g @gowelle/stint-agent
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Quick Start
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Authenticate with Stint
|
|
39
|
+
stint login
|
|
40
|
+
|
|
41
|
+
# Check your authentication status
|
|
42
|
+
stint whoami
|
|
43
|
+
|
|
44
|
+
# Link a project (or create a new one)
|
|
45
|
+
cd /path/to/your/project
|
|
46
|
+
stint link
|
|
47
|
+
|
|
48
|
+
# Start the daemon
|
|
49
|
+
stint daemon start
|
|
50
|
+
|
|
51
|
+
# Check daemon status
|
|
52
|
+
stint daemon status
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Commands
|
|
56
|
+
|
|
57
|
+
### General
|
|
58
|
+
|
|
59
|
+
| Command | Description |
|
|
60
|
+
| ----------------------------- | ---------------------------------- |
|
|
61
|
+
| `stint --version`, `stint -V` | Show current agent version |
|
|
62
|
+
| `stint --help`, `stint -h` | Show help information |
|
|
63
|
+
| `stint update` | Update agent to the latest version |
|
|
64
|
+
|
|
65
|
+
### Authentication
|
|
66
|
+
|
|
67
|
+
| Command | Description |
|
|
68
|
+
| -------------- | ------------------------------------------------- |
|
|
69
|
+
| `stint login` | Authenticate with Stint (opens browser for OAuth) |
|
|
70
|
+
| `stint logout` | Remove stored credentials |
|
|
71
|
+
| `stint whoami` | Show current user and machine information |
|
|
72
|
+
|
|
73
|
+
### Daemon Lifecycle
|
|
74
|
+
|
|
75
|
+
| Command | Description |
|
|
76
|
+
| ------------------------------- | --------------------------------------------------------- |
|
|
77
|
+
| `stint install` | Register daemon to run on system startup (Login required) |
|
|
78
|
+
| `stint uninstall` | Remove daemon from system startup |
|
|
79
|
+
| `stint daemon start` | Start background daemon manually |
|
|
80
|
+
| `stint daemon stop` | Stop daemon gracefully |
|
|
81
|
+
| `stint daemon status` | Check if daemon is running |
|
|
82
|
+
| `stint daemon logs [--lines N]` | View daemon logs (default: 50 lines) |
|
|
83
|
+
| `stint daemon restart` | Restart the daemon |
|
|
84
|
+
|
|
85
|
+
### Project Management
|
|
86
|
+
|
|
87
|
+
| Command | Description |
|
|
88
|
+
| ---------------------------- | --------------------------------------------------------------- |
|
|
89
|
+
| `stint link` | Link current directory to a Stint project (or create a new one) |
|
|
90
|
+
| `stint unlink [--force]` | Remove project link |
|
|
91
|
+
| `stint status [--dashboard]` | Show status (use `-d` for interactive dashboard) |
|
|
92
|
+
| `stint sync` | Manually sync repository information to server |
|
|
93
|
+
|
|
94
|
+
### Commit Operations
|
|
95
|
+
|
|
96
|
+
| Command | Description |
|
|
97
|
+
| ------------------- | ------------------------------------------------------- |
|
|
98
|
+
| `stint commits` | List pending commits for this repository |
|
|
99
|
+
| `stint commit <id>` | Execute a specific pending commit (supports partial ID) |
|
|
100
|
+
|
|
101
|
+
**`stint commit` Options:**
|
|
102
|
+
|
|
103
|
+
| Option | Description |
|
|
104
|
+
| -------------- | ------------------------------------------------- |
|
|
105
|
+
| `--auto-stage` | Automatically stage files specified in the commit |
|
|
106
|
+
| `--push` | Push changes to remote after committing |
|
|
107
|
+
| `--force` | Skip file validation warnings |
|
|
108
|
+
|
|
109
|
+
### Commit Workflow Controls
|
|
110
|
+
|
|
111
|
+
Stint supports advanced commit controls configured via the web dashboard:
|
|
112
|
+
|
|
113
|
+
1. **Commit Templates**: Enforce message conventions (e.g., conventional commits).
|
|
114
|
+
2. **Pre-commit Hooks**: Automatically run local commands (linting, tests) before the agent executes a commit.
|
|
115
|
+
- **Blocking**: Configure hooks to prevent commit on failure.
|
|
116
|
+
- **Timeouts**: Configurable timeout execution.
|
|
117
|
+
|
|
118
|
+
Configure these securely in your Project Settings on [stint.codes](https://stint.codes).
|
|
119
|
+
|
|
120
|
+
## Complete Workflow
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
# 1. Install and authenticate
|
|
124
|
+
npm install -g @gowelle/stint-agent
|
|
125
|
+
stint login
|
|
126
|
+
|
|
127
|
+
# 2. Link your project
|
|
128
|
+
cd /path/to/your/project
|
|
129
|
+
stint link
|
|
130
|
+
|
|
131
|
+
# 3. Start the daemon
|
|
132
|
+
stint daemon start
|
|
133
|
+
|
|
134
|
+
# 4. Check status
|
|
135
|
+
stint status
|
|
136
|
+
|
|
137
|
+
# Now commits approved in the web app will execute automatically!
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
## Configuration
|
|
141
|
+
|
|
142
|
+
### Desktop Notifications
|
|
143
|
+
|
|
144
|
+
The daemon sends desktop notifications for important events. Notifications can be controlled globally or per-category.
|
|
145
|
+
|
|
146
|
+
#### Notification Categories
|
|
147
|
+
|
|
148
|
+
| Category | Events | Default |
|
|
149
|
+
| ------------- | ---------------------------------------- | ------- |
|
|
150
|
+
| `commits` | Commit approved, pending, pushed, failed | ✅ On |
|
|
151
|
+
| `sync` | Sync requested, project updated | ❌ Off |
|
|
152
|
+
| `suggestions` | New AI suggestions | ✅ On |
|
|
153
|
+
|
|
154
|
+
> **Note:** `sync` is disabled by default because these events fire frequently during active development.
|
|
155
|
+
|
|
156
|
+
#### Toggle All Notifications
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
# Disable all notifications
|
|
160
|
+
stint config set notifications.enabled false
|
|
161
|
+
|
|
162
|
+
# Enable all notifications
|
|
163
|
+
stint config set notifications.enabled true
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
#### Toggle by Category
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
# Disable sync notifications (noisy during development)
|
|
170
|
+
stint config set notifications.sync false
|
|
171
|
+
|
|
172
|
+
# Enable commit notifications
|
|
173
|
+
stint config set notifications.commits true
|
|
174
|
+
|
|
175
|
+
# Disable suggestion notifications
|
|
176
|
+
stint config set notifications.suggestions false
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
#### View Current Settings
|
|
180
|
+
|
|
181
|
+
```bash
|
|
182
|
+
stint config list
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
> **Note:** Events are still logged even when notifications are disabled.
|
|
186
|
+
|
|
187
|
+
## Troubleshooting
|
|
188
|
+
|
|
189
|
+
For comprehensive troubleshooting help, see the **[Troubleshooting Guide](docs/TROUBLESHOOTING.md)**.
|
|
190
|
+
|
|
191
|
+
### Quick Tips
|
|
192
|
+
|
|
193
|
+
**"Not authenticated" error**
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
stint login
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Daemon won't start**
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
stint daemon status # Check if already running
|
|
203
|
+
stint daemon logs # Check logs for errors
|
|
204
|
+
stint daemon restart # Restart daemon
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**For detailed solutions**, including:
|
|
208
|
+
|
|
209
|
+
- Connection issues (WebSocket, API, Circuit Breaker)
|
|
210
|
+
- Daemon problems (crashes, autostart)
|
|
211
|
+
- Authentication errors
|
|
212
|
+
- Git operation failures
|
|
213
|
+
- Platform-specific issues (Windows, macOS, Linux)
|
|
214
|
+
|
|
215
|
+
See the **[Troubleshooting Guide](docs/TROUBLESHOOTING.md)**.
|
|
216
|
+
|
|
217
|
+
## Logging
|
|
218
|
+
|
|
219
|
+
Logs are stored in your system's config directory:
|
|
220
|
+
|
|
221
|
+
| Platform | Log Location |
|
|
222
|
+
| ----------- | ----------------------------------- |
|
|
223
|
+
| **macOS** | `~/.config/stint/logs/` |
|
|
224
|
+
| **Linux** | `~/.config/stint/logs/` |
|
|
225
|
+
| **Windows** | `%USERPROFILE%\.config\stint\logs\` |
|
|
226
|
+
|
|
227
|
+
Log files:
|
|
228
|
+
|
|
229
|
+
- `agent.log` - General CLI operations
|
|
230
|
+
- `daemon.log` - Daemon process logs
|
|
231
|
+
- `error.log` - Error details
|
|
232
|
+
|
|
233
|
+
## Development
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
git clone https://github.com/gowelle/stint-agent.git
|
|
237
|
+
cd stint-agent
|
|
238
|
+
pnpm install
|
|
239
|
+
pnpm build
|
|
240
|
+
pnpm dev # Watch mode
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
## Security
|
|
244
|
+
|
|
245
|
+
- Tokens are encrypted at rest using machine-specific keys
|
|
246
|
+
- All API communication uses HTTPS
|
|
247
|
+
- WebSocket connections are authenticated
|
|
248
|
+
- Git operations are restricted to linked directories
|
|
249
|
+
|
|
250
|
+
## License
|
|
251
|
+
|
|
252
|
+
MIT © [Gowelle John](https://github.com/gowelle)
|
|
253
|
+
|
|
254
|
+
## Support
|
|
255
|
+
|
|
256
|
+
For issues and questions, please [open an issue](https://github.com/gowelle/stint-agent/issues).
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
gitService,
|
|
3
3
|
projectService,
|
|
4
4
|
validatePidFile
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-LU6CQVSL.js";
|
|
6
6
|
import {
|
|
7
7
|
authService
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PWOHR6IZ.js";
|
|
9
9
|
|
|
10
10
|
// src/components/StatusDashboard.tsx
|
|
11
11
|
import { useState, useEffect } from "react";
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
authService,
|
|
3
3
|
config,
|
|
4
4
|
logger
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-PWOHR6IZ.js";
|
|
6
6
|
|
|
7
7
|
// src/utils/circuit-breaker.ts
|
|
8
8
|
var CircuitBreaker = class {
|
|
@@ -100,7 +100,7 @@ var CircuitBreaker = class {
|
|
|
100
100
|
};
|
|
101
101
|
|
|
102
102
|
// src/services/api.ts
|
|
103
|
-
var AGENT_VERSION = "1.2.
|
|
103
|
+
var AGENT_VERSION = "1.2.39";
|
|
104
104
|
var ApiServiceImpl = class {
|
|
105
105
|
sessionId = null;
|
|
106
106
|
circuitBreaker = new CircuitBreaker({
|
|
@@ -295,8 +295,15 @@ var ApiServiceImpl = class {
|
|
|
295
295
|
id: item.id,
|
|
296
296
|
projectId: projectId2,
|
|
297
297
|
message: item.message,
|
|
298
|
+
body: item.body,
|
|
298
299
|
files: item.files,
|
|
299
|
-
createdAt
|
|
300
|
+
createdAt,
|
|
301
|
+
type: item.type,
|
|
302
|
+
scope: item.scope,
|
|
303
|
+
taskIds: item.task_ids || item.taskIds,
|
|
304
|
+
branch: item.branch,
|
|
305
|
+
status: item.status,
|
|
306
|
+
error: item.error
|
|
300
307
|
};
|
|
301
308
|
});
|
|
302
309
|
logger.info("api", `Found ${commits.length} pending commits`);
|
|
@@ -325,9 +332,16 @@ var ApiServiceImpl = class {
|
|
|
325
332
|
id: item.id,
|
|
326
333
|
projectId,
|
|
327
334
|
message: item.message,
|
|
335
|
+
body: item.body,
|
|
328
336
|
files: item.files,
|
|
329
337
|
has_large_files: hasLargeFiles,
|
|
330
|
-
createdAt
|
|
338
|
+
createdAt,
|
|
339
|
+
type: item.type,
|
|
340
|
+
scope: item.scope,
|
|
341
|
+
taskIds: item.task_ids || item.taskIds,
|
|
342
|
+
branch: item.branch,
|
|
343
|
+
status: item.status,
|
|
344
|
+
error: item.error
|
|
331
345
|
};
|
|
332
346
|
}
|
|
333
347
|
/**
|
|
@@ -363,8 +377,11 @@ var ApiServiceImpl = class {
|
|
|
363
377
|
const commit = {
|
|
364
378
|
id: data.id,
|
|
365
379
|
projectId,
|
|
380
|
+
pendingCommitId: data.pending_commit_id || data.pendingCommitId,
|
|
366
381
|
message: data.message,
|
|
382
|
+
body: data.body,
|
|
367
383
|
sha: data.sha,
|
|
384
|
+
branch: data.branch,
|
|
368
385
|
status: data.status,
|
|
369
386
|
createdAt,
|
|
370
387
|
executedAt,
|
|
@@ -478,7 +495,10 @@ var ApiServiceImpl = class {
|
|
|
478
495
|
}
|
|
479
496
|
});
|
|
480
497
|
} catch (error) {
|
|
481
|
-
logger.debug(
|
|
498
|
+
logger.debug(
|
|
499
|
+
"api",
|
|
500
|
+
`Stream failed for ${commitId}: ${error.message}`
|
|
501
|
+
);
|
|
482
502
|
}
|
|
483
503
|
}
|
|
484
504
|
};
|