@gowelle/stint-agent 1.2.3 → 1.2.4
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 -4
- package/dist/{StatusDashboard-63AGKYJB.js → StatusDashboard-3OVDAOMH.js} +2 -2
- package/dist/api-DWEOHMQO.js +7 -0
- package/dist/{chunk-E5B6S5EK.js → chunk-G63H6RU4.js} +12 -12
- package/dist/{chunk-4KNUG3GA.js → chunk-MEK4CIRY.js} +2 -2
- package/dist/{chunk-RLW3QCR7.js → chunk-QT6T5CAF.js} +1 -1
- package/dist/{chunk-J27QHXXT.js → chunk-XWCW6VSC.js} +1 -1
- package/dist/daemon/runner.js +17 -4
- package/dist/index.js +6 -6
- package/package.json +1 -1
- package/dist/api-PEHB3UYL.js +0 -7
package/README.md
CHANGED
|
@@ -92,10 +92,18 @@ stint daemon status
|
|
|
92
92
|
|
|
93
93
|
### Commit Operations
|
|
94
94
|
|
|
95
|
-
| Command
|
|
96
|
-
|
|
|
97
|
-
| `stint commits`
|
|
98
|
-
| `stint commit <id>`
|
|
95
|
+
| Command | Description |
|
|
96
|
+
| -------------------------- | ------------------------------------------------------ |
|
|
97
|
+
| `stint commits` | List pending commits for this repository |
|
|
98
|
+
| `stint commit <id>` | Execute a specific pending commit (supports partial ID)|
|
|
99
|
+
|
|
100
|
+
**`stint commit` Options:**
|
|
101
|
+
|
|
102
|
+
| Option | Description |
|
|
103
|
+
| -------------- | --------------------------------------------------- |
|
|
104
|
+
| `--auto-stage` | Automatically stage files specified in the commit |
|
|
105
|
+
| `--push` | Push changes to remote after committing |
|
|
106
|
+
| `--force` | Skip file validation warnings |
|
|
99
107
|
|
|
100
108
|
## Complete Workflow
|
|
101
109
|
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
gitService,
|
|
3
3
|
projectService,
|
|
4
4
|
validatePidFile
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-QT6T5CAF.js";
|
|
6
6
|
import {
|
|
7
7
|
authService
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-XWCW6VSC.js";
|
|
9
9
|
|
|
10
10
|
// src/components/StatusDashboard.tsx
|
|
11
11
|
import { useState, useEffect } from "react";
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import {
|
|
2
2
|
apiService
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MEK4CIRY.js";
|
|
4
4
|
import {
|
|
5
5
|
gitService,
|
|
6
6
|
projectService
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-QT6T5CAF.js";
|
|
8
8
|
import {
|
|
9
9
|
authService,
|
|
10
10
|
config,
|
|
11
11
|
logger
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-XWCW6VSC.js";
|
|
13
13
|
|
|
14
14
|
// src/utils/notify.ts
|
|
15
15
|
import notifier from "node-notifier";
|
|
@@ -353,9 +353,9 @@ var WebSocketServiceImpl = class {
|
|
|
353
353
|
return;
|
|
354
354
|
}
|
|
355
355
|
if (message.event === "commit.approved") {
|
|
356
|
-
const {
|
|
357
|
-
logger.info("websocket", `Commit approved: ${
|
|
358
|
-
this.commitApprovedHandlers.forEach((handler) => handler(
|
|
356
|
+
const { pendingCommit } = message.data;
|
|
357
|
+
logger.info("websocket", `Commit approved: ${pendingCommit.id}`);
|
|
358
|
+
this.commitApprovedHandlers.forEach((handler) => handler(pendingCommit, pendingCommit.project));
|
|
359
359
|
return;
|
|
360
360
|
}
|
|
361
361
|
if (message.event === "commit.pending") {
|
|
@@ -377,15 +377,15 @@ var WebSocketServiceImpl = class {
|
|
|
377
377
|
return;
|
|
378
378
|
}
|
|
379
379
|
if (message.event === "sync.requested") {
|
|
380
|
-
const {
|
|
381
|
-
logger.info("websocket", `Sync requested for project: ${
|
|
382
|
-
this.syncRequestedHandlers.forEach((handler) => handler(
|
|
380
|
+
const { project } = message.data;
|
|
381
|
+
logger.info("websocket", `Sync requested for project: ${project.id}`);
|
|
382
|
+
this.syncRequestedHandlers.forEach((handler) => handler(project.id));
|
|
383
383
|
return;
|
|
384
384
|
}
|
|
385
385
|
if (message.event === "agent.disconnected") {
|
|
386
|
-
const reason = message.data
|
|
387
|
-
logger.warn("websocket", `Agent disconnected by server: ${reason}`);
|
|
388
|
-
this.agentDisconnectedHandlers.forEach((handler) => handler(reason));
|
|
386
|
+
const { reason } = message.data;
|
|
387
|
+
logger.warn("websocket", `Agent disconnected by server: ${reason ?? "Server requested disconnect"}`);
|
|
388
|
+
this.agentDisconnectedHandlers.forEach((handler) => handler(reason ?? "Server requested disconnect"));
|
|
389
389
|
return;
|
|
390
390
|
}
|
|
391
391
|
logger.debug("websocket", `Unhandled event: ${message.event}`);
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
authService,
|
|
3
3
|
config,
|
|
4
4
|
logger
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-XWCW6VSC.js";
|
|
6
6
|
|
|
7
7
|
// src/utils/circuit-breaker.ts
|
|
8
8
|
var CircuitBreaker = class {
|
|
@@ -98,7 +98,7 @@ var CircuitBreaker = class {
|
|
|
98
98
|
};
|
|
99
99
|
|
|
100
100
|
// src/services/api.ts
|
|
101
|
-
var AGENT_VERSION = "1.2.
|
|
101
|
+
var AGENT_VERSION = "1.2.4";
|
|
102
102
|
var ApiServiceImpl = class {
|
|
103
103
|
sessionId = null;
|
|
104
104
|
circuitBreaker = new CircuitBreaker({
|
|
@@ -271,7 +271,7 @@ var AuthServiceImpl = class {
|
|
|
271
271
|
return null;
|
|
272
272
|
}
|
|
273
273
|
try {
|
|
274
|
-
const { apiService } = await import("./api-
|
|
274
|
+
const { apiService } = await import("./api-DWEOHMQO.js");
|
|
275
275
|
const user = await apiService.getCurrentUser();
|
|
276
276
|
logger.info("auth", `Token validated for user: ${user.email}`);
|
|
277
277
|
return user;
|
package/dist/daemon/runner.js
CHANGED
|
@@ -3,20 +3,20 @@ import {
|
|
|
3
3
|
commitQueue,
|
|
4
4
|
notify,
|
|
5
5
|
websocketService
|
|
6
|
-
} from "../chunk-
|
|
6
|
+
} from "../chunk-G63H6RU4.js";
|
|
7
7
|
import {
|
|
8
8
|
apiService
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-MEK4CIRY.js";
|
|
10
10
|
import {
|
|
11
11
|
gitService,
|
|
12
12
|
projectService,
|
|
13
13
|
removePidFile,
|
|
14
14
|
writePidFile
|
|
15
|
-
} from "../chunk-
|
|
15
|
+
} from "../chunk-QT6T5CAF.js";
|
|
16
16
|
import {
|
|
17
17
|
authService,
|
|
18
18
|
logger
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-XWCW6VSC.js";
|
|
20
20
|
|
|
21
21
|
// src/daemon/runner.ts
|
|
22
22
|
import "dotenv/config";
|
|
@@ -285,6 +285,19 @@ Priority: ${suggestion.priority}`,
|
|
|
285
285
|
setupSignalHandlers();
|
|
286
286
|
startHeartbeat();
|
|
287
287
|
fileWatcher.start();
|
|
288
|
+
const linkedProjects = projectService.getAllLinkedProjects();
|
|
289
|
+
const projectEntries = Object.entries(linkedProjects);
|
|
290
|
+
if (projectEntries.length > 0) {
|
|
291
|
+
logger.info("daemon", `Syncing ${projectEntries.length} linked project(s) on startup...`);
|
|
292
|
+
for (const [, linkedProject] of projectEntries) {
|
|
293
|
+
try {
|
|
294
|
+
await fileWatcher.syncProjectById(linkedProject.projectId);
|
|
295
|
+
} catch (error) {
|
|
296
|
+
logger.error("daemon", `Failed to sync project ${linkedProject.projectId} on startup`, error);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
logger.success("daemon", "Initial project sync complete");
|
|
300
|
+
}
|
|
288
301
|
logger.success("daemon", "Daemon started successfully");
|
|
289
302
|
await new Promise(() => {
|
|
290
303
|
});
|
package/dist/index.js
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
import {
|
|
3
3
|
commitQueue,
|
|
4
4
|
websocketService
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-G63H6RU4.js";
|
|
6
6
|
import {
|
|
7
7
|
apiService
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-MEK4CIRY.js";
|
|
9
9
|
import {
|
|
10
10
|
getPidFilePath,
|
|
11
11
|
gitService,
|
|
@@ -14,12 +14,12 @@ import {
|
|
|
14
14
|
projectService,
|
|
15
15
|
spawnDetached,
|
|
16
16
|
validatePidFile
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-QT6T5CAF.js";
|
|
18
18
|
import {
|
|
19
19
|
authService,
|
|
20
20
|
config,
|
|
21
21
|
logger
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-XWCW6VSC.js";
|
|
23
23
|
|
|
24
24
|
// src/index.ts
|
|
25
25
|
import "dotenv/config";
|
|
@@ -620,7 +620,7 @@ function registerStatusCommand(program2) {
|
|
|
620
620
|
try {
|
|
621
621
|
const { render } = await import("ink");
|
|
622
622
|
const { createElement } = await import("react");
|
|
623
|
-
const { StatusDashboard } = await import("./StatusDashboard-
|
|
623
|
+
const { StatusDashboard } = await import("./StatusDashboard-3OVDAOMH.js");
|
|
624
624
|
render(createElement(StatusDashboard, { cwd }));
|
|
625
625
|
return;
|
|
626
626
|
} catch (error) {
|
|
@@ -1994,7 +1994,7 @@ function registerDoctorCommand(program2) {
|
|
|
1994
1994
|
}
|
|
1995
1995
|
|
|
1996
1996
|
// src/index.ts
|
|
1997
|
-
var AGENT_VERSION = "1.2.
|
|
1997
|
+
var AGENT_VERSION = "1.2.4";
|
|
1998
1998
|
var program = new Command();
|
|
1999
1999
|
program.name("stint").description("Stint Agent - Local daemon for Stint Project Assistant").version(AGENT_VERSION, "-v, --version", "output the current version").addHelpText("after", `
|
|
2000
2000
|
${chalk13.bold("Examples:")}
|
package/package.json
CHANGED