@probelabs/visor 0.1.126 → 0.1.128
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/dist/ai-review-service.d.ts +2 -0
- package/dist/ai-review-service.d.ts.map +1 -1
- package/dist/docs/ai-configuration.md +23 -0
- package/dist/docs/commands.md +1 -1
- package/dist/docs/timeouts.md +1 -1
- package/dist/docs/workflows.md +30 -1
- package/dist/failure-condition-evaluator.d.ts.map +1 -1
- package/dist/generated/config-schema.d.ts +63 -9
- package/dist/generated/config-schema.d.ts.map +1 -1
- package/dist/generated/config-schema.json +67 -11
- package/dist/index.js +11476 -6945
- package/dist/liquid-extensions.d.ts.map +1 -1
- package/dist/output/traces/{run-2026-01-31T16-37-22-321Z.ndjson → run-2026-02-05T13-36-03-279Z.ndjson} +84 -84
- package/dist/output/traces/{run-2026-01-31T16-38-06-031Z.ndjson → run-2026-02-05T13-36-48-767Z.ndjson} +839 -1059
- package/dist/output/traces/run-2026-02-05T13-36-58-960Z.ndjson +17 -0
- package/dist/output/traces/run-2026-02-05T13-37-00-184Z.ndjson +205 -0
- package/dist/providers/ai-check-provider.d.ts +16 -0
- package/dist/providers/ai-check-provider.d.ts.map +1 -1
- package/dist/providers/command-check-provider.d.ts.map +1 -1
- package/dist/providers/custom-tool-executor.d.ts.map +1 -1
- package/dist/providers/http-client-provider.d.ts.map +1 -1
- package/dist/providers/mcp-check-provider.d.ts +3 -0
- package/dist/providers/mcp-check-provider.d.ts.map +1 -1
- package/dist/providers/mcp-custom-sse-server.d.ts +22 -2
- package/dist/providers/mcp-custom-sse-server.d.ts.map +1 -1
- package/dist/providers/memory-check-provider.d.ts.map +1 -1
- package/dist/providers/workflow-check-provider.d.ts.map +1 -1
- package/dist/providers/workflow-tool-executor.d.ts +2 -0
- package/dist/providers/workflow-tool-executor.d.ts.map +1 -1
- package/dist/sdk/check-provider-registry-OB5FEBJU.mjs +28 -0
- package/dist/sdk/check-provider-registry-UC2LPSB4.mjs +28 -0
- package/dist/sdk/{chunk-CNX7V5JK.mjs → chunk-25IC7KXZ.mjs} +2 -2
- package/dist/sdk/{chunk-YSN4G6CI.mjs → chunk-4HVFUUNB.mjs} +2 -2
- package/dist/sdk/{chunk-3OMWVM6J.mjs → chunk-B7BVQM5K.mjs} +2 -2
- package/dist/sdk/{chunk-5LI6T4O3.mjs → chunk-D55IQCUP.mjs} +71 -17
- package/dist/sdk/chunk-D55IQCUP.mjs.map +1 -0
- package/dist/sdk/{chunk-BOVFH3LI.mjs → chunk-EJN6Q4D3.mjs} +16 -7
- package/dist/sdk/chunk-EJN6Q4D3.mjs.map +1 -0
- package/dist/sdk/{chunk-WMJKH4XE.mjs → chunk-J7LXIPZS.mjs} +16 -1
- package/dist/sdk/{chunk-EXFGO4FX.mjs → chunk-KFKHU6CM.mjs} +2 -2
- package/dist/sdk/{chunk-7GUAFV6L.mjs → chunk-LMJSJQPP.mjs} +18 -13
- package/dist/sdk/chunk-LMJSJQPP.mjs.map +1 -0
- package/dist/sdk/{chunk-VW2GBXQT.mjs → chunk-N7IVCCGH.mjs} +3 -3
- package/dist/sdk/{chunk-O5EZDNYL.mjs → chunk-NCWIZVOT.mjs} +2 -2
- package/dist/sdk/{chunk-3NMLT3YS.mjs → chunk-P6YFV6N2.mjs} +3 -3
- package/dist/sdk/{chunk-HQL734ZI.mjs → chunk-QRXSDDYN.mjs} +3 -3
- package/dist/sdk/{chunk-J2QWVDXK.mjs → chunk-SIMCSNXO.mjs} +3 -3
- package/dist/sdk/{chunk-IHZOSIF4.mjs → chunk-UEWXVJ6C.mjs} +3 -3
- package/dist/sdk/{chunk-SWEEZ5D5.mjs → chunk-UKG5UP5U.mjs} +17 -83
- package/dist/sdk/chunk-UKG5UP5U.mjs.map +1 -0
- package/dist/sdk/chunk-UPKHRMUA.mjs +35108 -0
- package/dist/sdk/chunk-UPKHRMUA.mjs.map +1 -0
- package/dist/sdk/chunk-V7RIRPO7.mjs +35108 -0
- package/dist/sdk/chunk-V7RIRPO7.mjs.map +1 -0
- package/dist/sdk/{chunk-2CPMMNIX.mjs → chunk-VEROLBCD.mjs} +21 -65
- package/dist/sdk/{chunk-2CPMMNIX.mjs.map → chunk-VEROLBCD.mjs.map} +1 -1
- package/dist/sdk/{chunk-ZYAUYXSW.mjs → chunk-WVNQ56DO.mjs} +3 -3
- package/dist/sdk/{chunk-NAW3DB3I.mjs → chunk-XXAEN5KU.mjs} +3 -3
- package/dist/sdk/{chunk-S2RUE2RG.mjs → chunk-YCUWMIV5.mjs} +3 -3
- package/dist/sdk/command-executor-C4DGIQ4Q.mjs +14 -0
- package/dist/sdk/config-GYTBTHRZ.mjs +16 -0
- package/dist/sdk/config-merger-RKCZJQ44.mjs +10 -0
- package/dist/sdk/{event-bus-5BEVPQ6T.mjs → event-bus-XV2TOQFU.mjs} +2 -2
- package/dist/sdk/failure-condition-evaluator-KRFY4OLQ.mjs +17 -0
- package/dist/sdk/{git-repository-analyzer-HJC4MYW4.mjs → git-repository-analyzer-VO7OZMTM.mjs} +2 -2
- package/dist/sdk/{github-frontend-BZ4N3BFZ.mjs → github-frontend-UC326PMS.mjs} +11 -11
- package/dist/sdk/{host-NYWXLIFC.mjs → host-H7MKML2H.mjs} +5 -5
- package/dist/sdk/{liquid-extensions-DFDEBMUI.mjs → liquid-extensions-WJAC7QKG.mjs} +8 -7
- package/dist/sdk/memory-store-LPOZWQ5E.mjs +12 -0
- package/dist/sdk/{metrics-7PP3EJUH.mjs → metrics-CSBGJEWW.mjs} +4 -4
- package/dist/sdk/{ndjson-sink-B4V4NTAQ.mjs → ndjson-sink-JQ2INHTS.mjs} +2 -2
- package/dist/sdk/{prompt-state-EZYOUG75.mjs → prompt-state-X2WDGSEM.mjs} +5 -5
- package/dist/sdk/{renderer-schema-CKFB5NDB.mjs → renderer-schema-FRCLA6KH.mjs} +4 -4
- package/dist/sdk/routing-745DOEKR.mjs +24 -0
- package/dist/sdk/sdk.d.mts +65 -3
- package/dist/sdk/sdk.d.ts +65 -3
- package/dist/sdk/sdk.js +17945 -540
- package/dist/sdk/sdk.js.map +1 -1
- package/dist/sdk/sdk.mjs +107 -34
- package/dist/sdk/sdk.mjs.map +1 -1
- package/dist/sdk/session-registry-6PV6SGEJ.mjs +10 -0
- package/dist/sdk/{slack-frontend-JUT3TYVC.mjs → slack-frontend-UPYUYCUQ.mjs} +5 -5
- package/dist/sdk/{trace-helpers-VP6QYVBX.mjs → trace-helpers-LUCR52GY.mjs} +4 -4
- package/dist/sdk/tracer-init-XPRWKMZT.mjs +10 -0
- package/dist/sdk/workflow-check-provider-AA3VNYUY.mjs +28 -0
- package/dist/sdk/workflow-check-provider-LQNQZUN5.mjs +28 -0
- package/dist/sdk/workflow-registry-W7IEH7GK.mjs +12 -0
- package/dist/state-machine/states/routing.d.ts.map +1 -1
- package/dist/test-runner/index.d.ts +5 -0
- package/dist/test-runner/index.d.ts.map +1 -1
- package/dist/test-runner/validator.d.ts.map +1 -1
- package/dist/traces/{run-2026-01-31T16-37-22-321Z.ndjson → run-2026-02-05T13-36-03-279Z.ndjson} +84 -84
- package/dist/traces/{run-2026-01-31T16-38-06-031Z.ndjson → run-2026-02-05T13-36-48-767Z.ndjson} +839 -1059
- package/dist/traces/run-2026-02-05T13-36-58-960Z.ndjson +17 -0
- package/dist/traces/run-2026-02-05T13-37-00-184Z.ndjson +205 -0
- package/dist/types/config.d.ts +65 -3
- package/dist/types/config.d.ts.map +1 -1
- package/dist/utils/sandbox.d.ts.map +1 -1
- package/dist/utils/workspace-manager.d.ts +22 -2
- package/dist/utils/workspace-manager.d.ts.map +1 -1
- package/dist/utils/worktree-manager.d.ts +2 -1
- package/dist/utils/worktree-manager.d.ts.map +1 -1
- package/package.json +6 -7
- package/dist/sdk/check-provider-registry-3KI5RKXT.mjs +0 -28
- package/dist/sdk/check-provider-registry-IYILYY35.mjs +0 -28
- package/dist/sdk/chunk-5LI6T4O3.mjs.map +0 -1
- package/dist/sdk/chunk-7GUAFV6L.mjs.map +0 -1
- package/dist/sdk/chunk-A4PGHURG.mjs +0 -17667
- package/dist/sdk/chunk-A4PGHURG.mjs.map +0 -1
- package/dist/sdk/chunk-BOVFH3LI.mjs.map +0 -1
- package/dist/sdk/chunk-J6EVEXC2.mjs +0 -558
- package/dist/sdk/chunk-J6EVEXC2.mjs.map +0 -1
- package/dist/sdk/chunk-PJ7K5UFC.mjs +0 -17732
- package/dist/sdk/chunk-PJ7K5UFC.mjs.map +0 -1
- package/dist/sdk/chunk-PXFIALUH.mjs +0 -1458
- package/dist/sdk/chunk-PXFIALUH.mjs.map +0 -1
- package/dist/sdk/chunk-RTKJXNZS.mjs +0 -3591
- package/dist/sdk/chunk-RTKJXNZS.mjs.map +0 -1
- package/dist/sdk/chunk-SWEEZ5D5.mjs.map +0 -1
- package/dist/sdk/command-executor-Q7MHJKZJ.mjs +0 -14
- package/dist/sdk/config-5AUYQFHE.mjs +0 -16
- package/dist/sdk/config-6CUVEH7H.mjs +0 -16
- package/dist/sdk/config-merger-PX3WIT57.mjs +0 -10
- package/dist/sdk/failure-condition-evaluator-HB35XRLZ.mjs +0 -17
- package/dist/sdk/host-4MT3EW2I.mjs +0 -52
- package/dist/sdk/host-NYWXLIFC.mjs.map +0 -1
- package/dist/sdk/memory-store-RW5N2NGJ.mjs +0 -12
- package/dist/sdk/routing-6R42GXUO.mjs +0 -24
- package/dist/sdk/routing-7FXPULTO.mjs +0 -24
- package/dist/sdk/session-registry-4E6YRQ77.mjs +0 -10
- package/dist/sdk/slack-frontend-J442FJWZ.mjs +0 -793
- package/dist/sdk/slack-frontend-J442FJWZ.mjs.map +0 -1
- package/dist/sdk/tracer-init-GSLPPLCD.mjs +0 -10
- package/dist/sdk/workflow-check-provider-H3CUOLUD.mjs +0 -28
- package/dist/sdk/workflow-check-provider-YUNNF4KC.mjs +0 -28
- package/dist/sdk/workflow-check-provider-YUNNF4KC.mjs.map +0 -1
- package/dist/sdk/workflow-registry-6LZKCWHP.mjs +0 -12
- package/dist/sdk/workflow-registry-6LZKCWHP.mjs.map +0 -1
- package/dist/sdk/workflow-registry-KFWSDSLM.mjs +0 -12
- package/dist/sdk/workflow-registry-KFWSDSLM.mjs.map +0 -1
- /package/dist/sdk/{check-provider-registry-3KI5RKXT.mjs.map → check-provider-registry-OB5FEBJU.mjs.map} +0 -0
- /package/dist/sdk/{check-provider-registry-IYILYY35.mjs.map → check-provider-registry-UC2LPSB4.mjs.map} +0 -0
- /package/dist/sdk/{chunk-CNX7V5JK.mjs.map → chunk-25IC7KXZ.mjs.map} +0 -0
- /package/dist/sdk/{chunk-YSN4G6CI.mjs.map → chunk-4HVFUUNB.mjs.map} +0 -0
- /package/dist/sdk/{chunk-3OMWVM6J.mjs.map → chunk-B7BVQM5K.mjs.map} +0 -0
- /package/dist/sdk/{chunk-WMJKH4XE.mjs.map → chunk-J7LXIPZS.mjs.map} +0 -0
- /package/dist/sdk/{chunk-EXFGO4FX.mjs.map → chunk-KFKHU6CM.mjs.map} +0 -0
- /package/dist/sdk/{chunk-VW2GBXQT.mjs.map → chunk-N7IVCCGH.mjs.map} +0 -0
- /package/dist/sdk/{chunk-O5EZDNYL.mjs.map → chunk-NCWIZVOT.mjs.map} +0 -0
- /package/dist/sdk/{chunk-3NMLT3YS.mjs.map → chunk-P6YFV6N2.mjs.map} +0 -0
- /package/dist/sdk/{chunk-HQL734ZI.mjs.map → chunk-QRXSDDYN.mjs.map} +0 -0
- /package/dist/sdk/{chunk-J2QWVDXK.mjs.map → chunk-SIMCSNXO.mjs.map} +0 -0
- /package/dist/sdk/{chunk-IHZOSIF4.mjs.map → chunk-UEWXVJ6C.mjs.map} +0 -0
- /package/dist/sdk/{chunk-ZYAUYXSW.mjs.map → chunk-WVNQ56DO.mjs.map} +0 -0
- /package/dist/sdk/{chunk-NAW3DB3I.mjs.map → chunk-XXAEN5KU.mjs.map} +0 -0
- /package/dist/sdk/{chunk-S2RUE2RG.mjs.map → chunk-YCUWMIV5.mjs.map} +0 -0
- /package/dist/sdk/{command-executor-Q7MHJKZJ.mjs.map → command-executor-C4DGIQ4Q.mjs.map} +0 -0
- /package/dist/sdk/{config-5AUYQFHE.mjs.map → config-GYTBTHRZ.mjs.map} +0 -0
- /package/dist/sdk/{config-6CUVEH7H.mjs.map → config-merger-RKCZJQ44.mjs.map} +0 -0
- /package/dist/sdk/{event-bus-5BEVPQ6T.mjs.map → event-bus-XV2TOQFU.mjs.map} +0 -0
- /package/dist/sdk/{config-merger-PX3WIT57.mjs.map → failure-condition-evaluator-KRFY4OLQ.mjs.map} +0 -0
- /package/dist/sdk/{git-repository-analyzer-HJC4MYW4.mjs.map → git-repository-analyzer-VO7OZMTM.mjs.map} +0 -0
- /package/dist/sdk/{github-frontend-BZ4N3BFZ.mjs.map → github-frontend-UC326PMS.mjs.map} +0 -0
- /package/dist/sdk/{host-4MT3EW2I.mjs.map → host-H7MKML2H.mjs.map} +0 -0
- /package/dist/sdk/{failure-condition-evaluator-HB35XRLZ.mjs.map → liquid-extensions-WJAC7QKG.mjs.map} +0 -0
- /package/dist/sdk/{liquid-extensions-DFDEBMUI.mjs.map → memory-store-LPOZWQ5E.mjs.map} +0 -0
- /package/dist/sdk/{memory-store-RW5N2NGJ.mjs.map → metrics-CSBGJEWW.mjs.map} +0 -0
- /package/dist/sdk/{ndjson-sink-B4V4NTAQ.mjs.map → ndjson-sink-JQ2INHTS.mjs.map} +0 -0
- /package/dist/sdk/{metrics-7PP3EJUH.mjs.map → prompt-state-X2WDGSEM.mjs.map} +0 -0
- /package/dist/sdk/{renderer-schema-CKFB5NDB.mjs.map → renderer-schema-FRCLA6KH.mjs.map} +0 -0
- /package/dist/sdk/{prompt-state-EZYOUG75.mjs.map → routing-745DOEKR.mjs.map} +0 -0
- /package/dist/sdk/{routing-6R42GXUO.mjs.map → session-registry-6PV6SGEJ.mjs.map} +0 -0
- /package/dist/sdk/{slack-frontend-JUT3TYVC.mjs.map → slack-frontend-UPYUYCUQ.mjs.map} +0 -0
- /package/dist/sdk/{routing-7FXPULTO.mjs.map → trace-helpers-LUCR52GY.mjs.map} +0 -0
- /package/dist/sdk/{session-registry-4E6YRQ77.mjs.map → tracer-init-XPRWKMZT.mjs.map} +0 -0
- /package/dist/sdk/{trace-helpers-VP6QYVBX.mjs.map → workflow-check-provider-AA3VNYUY.mjs.map} +0 -0
- /package/dist/sdk/{tracer-init-GSLPPLCD.mjs.map → workflow-check-provider-LQNQZUN5.mjs.map} +0 -0
- /package/dist/sdk/{workflow-check-provider-H3CUOLUD.mjs.map → workflow-registry-W7IEH7GK.mjs.map} +0 -0
package/dist/sdk/sdk.mjs
CHANGED
|
@@ -3,48 +3,48 @@ import {
|
|
|
3
3
|
check_provider_registry_exports,
|
|
4
4
|
init_check_provider_registry,
|
|
5
5
|
init_runner
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-V7RIRPO7.mjs";
|
|
7
7
|
import {
|
|
8
8
|
generateHumanId,
|
|
9
9
|
init_human_id
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-KFKHU6CM.mjs";
|
|
11
|
+
import "./chunk-XXAEN5KU.mjs";
|
|
12
12
|
import {
|
|
13
13
|
commandExecutor,
|
|
14
14
|
init_command_executor
|
|
15
|
-
} from "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
} from "./chunk-SIMCSNXO.mjs";
|
|
16
|
+
import "./chunk-N7IVCCGH.mjs";
|
|
17
17
|
import {
|
|
18
18
|
ConfigManager,
|
|
19
19
|
init_config
|
|
20
|
-
} from "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
20
|
+
} from "./chunk-D55IQCUP.mjs";
|
|
21
|
+
import "./chunk-NCWIZVOT.mjs";
|
|
22
|
+
import "./chunk-QRXSDDYN.mjs";
|
|
23
23
|
import {
|
|
24
24
|
ExecutionJournal,
|
|
25
25
|
init_snapshot_store
|
|
26
|
-
} from "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
26
|
+
} from "./chunk-VEROLBCD.mjs";
|
|
27
|
+
import "./chunk-UKG5UP5U.mjs";
|
|
28
|
+
import "./chunk-WVNQ56DO.mjs";
|
|
29
|
+
import "./chunk-YCUWMIV5.mjs";
|
|
30
|
+
import "./chunk-LMJSJQPP.mjs";
|
|
31
|
+
import "./chunk-25IC7KXZ.mjs";
|
|
32
|
+
import "./chunk-EJN6Q4D3.mjs";
|
|
33
33
|
import {
|
|
34
34
|
MemoryStore,
|
|
35
35
|
init_memory_store
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-UEWXVJ6C.mjs";
|
|
37
37
|
import {
|
|
38
38
|
init_logger,
|
|
39
39
|
logger
|
|
40
|
-
} from "./chunk-
|
|
41
|
-
import "./chunk-
|
|
42
|
-
import "./chunk-
|
|
40
|
+
} from "./chunk-P6YFV6N2.mjs";
|
|
41
|
+
import "./chunk-4HVFUUNB.mjs";
|
|
42
|
+
import "./chunk-B7BVQM5K.mjs";
|
|
43
43
|
import {
|
|
44
44
|
__esm,
|
|
45
45
|
__export,
|
|
46
46
|
__toCommonJS
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-J7LXIPZS.mjs";
|
|
48
48
|
|
|
49
49
|
// src/utils/workspace-manager.ts
|
|
50
50
|
import * as fsp from "fs/promises";
|
|
@@ -73,6 +73,10 @@ var init_workspace_manager = __esm({
|
|
|
73
73
|
projects = /* @__PURE__ */ new Map();
|
|
74
74
|
cleanupHandlersRegistered = false;
|
|
75
75
|
usedNames = /* @__PURE__ */ new Set();
|
|
76
|
+
// Reference counting to prevent premature cleanup
|
|
77
|
+
activeOperations = 0;
|
|
78
|
+
cleanupRequested = false;
|
|
79
|
+
cleanupResolvers = [];
|
|
76
80
|
constructor(sessionId, originalPath, config) {
|
|
77
81
|
this.sessionId = sessionId;
|
|
78
82
|
this.originalPath = originalPath;
|
|
@@ -114,6 +118,39 @@ var init_workspace_manager = __esm({
|
|
|
114
118
|
isEnabled() {
|
|
115
119
|
return this.config.enabled;
|
|
116
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Acquire a reference to the workspace (prevents cleanup while held)
|
|
123
|
+
* Call release() when done with the operation.
|
|
124
|
+
*/
|
|
125
|
+
acquire() {
|
|
126
|
+
this.activeOperations++;
|
|
127
|
+
logger.debug(
|
|
128
|
+
`[Workspace] Acquired reference (active: ${this.activeOperations}) for ${this.workspacePath}`
|
|
129
|
+
);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Release a reference to the workspace.
|
|
133
|
+
* If cleanup was requested and this was the last reference, cleanup will proceed.
|
|
134
|
+
*/
|
|
135
|
+
release() {
|
|
136
|
+
this.activeOperations = Math.max(0, this.activeOperations - 1);
|
|
137
|
+
logger.debug(
|
|
138
|
+
`[Workspace] Released reference (active: ${this.activeOperations}) for ${this.workspacePath}`
|
|
139
|
+
);
|
|
140
|
+
if (this.cleanupRequested && this.activeOperations === 0) {
|
|
141
|
+
logger.debug(`[Workspace] All references released, proceeding with deferred cleanup`);
|
|
142
|
+
for (const resolve2 of this.cleanupResolvers) {
|
|
143
|
+
resolve2();
|
|
144
|
+
}
|
|
145
|
+
this.cleanupResolvers = [];
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Get the number of active operations
|
|
150
|
+
*/
|
|
151
|
+
getActiveOperations() {
|
|
152
|
+
return this.activeOperations;
|
|
153
|
+
}
|
|
117
154
|
/**
|
|
118
155
|
* Get the workspace path
|
|
119
156
|
*/
|
|
@@ -176,11 +213,18 @@ var init_workspace_manager = __esm({
|
|
|
176
213
|
}
|
|
177
214
|
/**
|
|
178
215
|
* Add a project to the workspace (creates symlink to worktree)
|
|
216
|
+
* If the same repository + worktreePath combination already exists, returns the existing path.
|
|
179
217
|
*/
|
|
180
218
|
async addProject(repository, worktreePath, description) {
|
|
181
219
|
if (!this.initialized) {
|
|
182
220
|
throw new Error("Workspace not initialized. Call initialize() first.");
|
|
183
221
|
}
|
|
222
|
+
for (const [existingName, existingProject] of this.projects.entries()) {
|
|
223
|
+
if (existingProject.repository === repository && existingProject.worktreePath === worktreePath) {
|
|
224
|
+
logger.debug(`Reusing existing project: ${existingName} (${repository})`);
|
|
225
|
+
return existingProject.path;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
184
228
|
let projectName = sanitizePathComponent(description || this.extractRepoName(repository));
|
|
185
229
|
projectName = this.getUniqueName(projectName);
|
|
186
230
|
this.usedNames.add(projectName);
|
|
@@ -207,10 +251,37 @@ var init_workspace_manager = __esm({
|
|
|
207
251
|
return Array.from(this.projects.values());
|
|
208
252
|
}
|
|
209
253
|
/**
|
|
210
|
-
* Cleanup the workspace
|
|
254
|
+
* Cleanup the workspace.
|
|
255
|
+
* If there are active operations, waits for them to complete before cleaning up.
|
|
256
|
+
* @param timeout Maximum time to wait for active operations (default: 60s)
|
|
211
257
|
*/
|
|
212
|
-
async cleanup() {
|
|
213
|
-
logger.info(
|
|
258
|
+
async cleanup(timeout = 6e4) {
|
|
259
|
+
logger.info(
|
|
260
|
+
`Cleaning up workspace: ${this.workspacePath} (active operations: ${this.activeOperations})`
|
|
261
|
+
);
|
|
262
|
+
if (this.activeOperations > 0) {
|
|
263
|
+
logger.info(
|
|
264
|
+
`[Workspace] Waiting for ${this.activeOperations} active operations to complete before cleanup`
|
|
265
|
+
);
|
|
266
|
+
this.cleanupRequested = true;
|
|
267
|
+
await Promise.race([
|
|
268
|
+
new Promise((resolve2) => {
|
|
269
|
+
if (this.activeOperations === 0) {
|
|
270
|
+
resolve2();
|
|
271
|
+
} else {
|
|
272
|
+
this.cleanupResolvers.push(resolve2);
|
|
273
|
+
}
|
|
274
|
+
}),
|
|
275
|
+
new Promise((resolve2) => {
|
|
276
|
+
setTimeout(() => {
|
|
277
|
+
logger.warn(
|
|
278
|
+
`[Workspace] Cleanup timeout after ${timeout}ms, proceeding anyway (${this.activeOperations} operations still active)`
|
|
279
|
+
);
|
|
280
|
+
resolve2();
|
|
281
|
+
}, timeout);
|
|
282
|
+
})
|
|
283
|
+
]);
|
|
284
|
+
}
|
|
214
285
|
try {
|
|
215
286
|
if (this.mainProjectInfo) {
|
|
216
287
|
const mainProjectPath = this.mainProjectInfo.mainProjectPath;
|
|
@@ -229,6 +300,8 @@ var init_workspace_manager = __esm({
|
|
|
229
300
|
this.mainProjectInfo = null;
|
|
230
301
|
this.projects.clear();
|
|
231
302
|
this.usedNames.clear();
|
|
303
|
+
this.cleanupRequested = false;
|
|
304
|
+
this.cleanupResolvers = [];
|
|
232
305
|
logger.info(`Workspace cleanup completed: ${this.sessionId}`);
|
|
233
306
|
} catch (error) {
|
|
234
307
|
logger.warn(`Failed to cleanup workspace: ${error}`);
|
|
@@ -528,12 +601,12 @@ var StateMachineExecutionEngine = class _StateMachineExecutionEngine {
|
|
|
528
601
|
const timestamp = (/* @__PURE__ */ new Date()).toISOString();
|
|
529
602
|
try {
|
|
530
603
|
if (options.config?.memory) {
|
|
531
|
-
const { MemoryStore: MemoryStore2 } = await import("./memory-store-
|
|
604
|
+
const { MemoryStore: MemoryStore2 } = await import("./memory-store-LPOZWQ5E.mjs");
|
|
532
605
|
const memoryStore = MemoryStore2.getInstance(options.config.memory);
|
|
533
606
|
await memoryStore.initialize();
|
|
534
607
|
logger.debug("Memory store initialized");
|
|
535
608
|
}
|
|
536
|
-
const { GitRepositoryAnalyzer } = await import("./git-repository-analyzer-
|
|
609
|
+
const { GitRepositoryAnalyzer } = await import("./git-repository-analyzer-VO7OZMTM.mjs");
|
|
537
610
|
const gitAnalyzer = new GitRepositoryAnalyzer(options.workingDirectory);
|
|
538
611
|
logger.info("Analyzing local git repository...");
|
|
539
612
|
const repositoryInfo = await gitAnalyzer.analyzeRepository();
|
|
@@ -570,7 +643,7 @@ var StateMachineExecutionEngine = class _StateMachineExecutionEngine {
|
|
|
570
643
|
try {
|
|
571
644
|
const map = options?.webhookContext?.webhookData;
|
|
572
645
|
if (map) {
|
|
573
|
-
const { CheckProviderRegistry } = await import("./check-provider-registry-
|
|
646
|
+
const { CheckProviderRegistry } = await import("./check-provider-registry-UC2LPSB4.mjs");
|
|
574
647
|
const reg = CheckProviderRegistry.getInstance();
|
|
575
648
|
const p = reg.getProvider("http_input");
|
|
576
649
|
if (p && typeof p.setWebhookContext === "function") p.setWebhookContext(map);
|
|
@@ -683,7 +756,7 @@ var StateMachineExecutionEngine = class _StateMachineExecutionEngine {
|
|
|
683
756
|
logger.info("[StateMachine] Using state machine engine");
|
|
684
757
|
}
|
|
685
758
|
if (!config) {
|
|
686
|
-
const { ConfigManager: ConfigManager2 } = await import("./config-
|
|
759
|
+
const { ConfigManager: ConfigManager2 } = await import("./config-GYTBTHRZ.mjs");
|
|
687
760
|
const configManager = new ConfigManager2();
|
|
688
761
|
config = await configManager.getDefaultConfig();
|
|
689
762
|
logger.debug("[StateMachine] Using default configuration (no config provided)");
|
|
@@ -708,8 +781,8 @@ var StateMachineExecutionEngine = class _StateMachineExecutionEngine {
|
|
|
708
781
|
let frontendsHost;
|
|
709
782
|
if (Array.isArray(configWithTagFilter.frontends) && configWithTagFilter.frontends.length > 0) {
|
|
710
783
|
try {
|
|
711
|
-
const { EventBus } = await import("./event-bus-
|
|
712
|
-
const { FrontendsHost } = await import("./host-
|
|
784
|
+
const { EventBus } = await import("./event-bus-XV2TOQFU.mjs");
|
|
785
|
+
const { FrontendsHost } = await import("./host-H7MKML2H.mjs");
|
|
713
786
|
const bus = new EventBus();
|
|
714
787
|
context.eventBus = bus;
|
|
715
788
|
frontendsHost = new FrontendsHost(bus, logger);
|
|
@@ -845,7 +918,7 @@ var StateMachineExecutionEngine = class _StateMachineExecutionEngine {
|
|
|
845
918
|
logger.info("[StateMachine] Execution complete");
|
|
846
919
|
}
|
|
847
920
|
try {
|
|
848
|
-
const { SessionRegistry } = await import("./session-registry-
|
|
921
|
+
const { SessionRegistry } = await import("./session-registry-6PV6SGEJ.mjs");
|
|
849
922
|
const sessionRegistry = SessionRegistry.getInstance();
|
|
850
923
|
sessionRegistry.clearAllSessions();
|
|
851
924
|
} catch (error) {
|
|
@@ -1035,10 +1108,10 @@ var StateMachineExecutionEngine = class _StateMachineExecutionEngine {
|
|
|
1035
1108
|
* @returns Array of failure condition evaluation results
|
|
1036
1109
|
*/
|
|
1037
1110
|
async evaluateFailureConditions(checkName, reviewSummary, config, previousOutputs, authorAssociation) {
|
|
1038
|
-
const { FailureConditionEvaluator } = await import("./failure-condition-evaluator-
|
|
1111
|
+
const { FailureConditionEvaluator } = await import("./failure-condition-evaluator-KRFY4OLQ.mjs");
|
|
1039
1112
|
const evaluator = new FailureConditionEvaluator();
|
|
1040
|
-
const { addEvent } = await import("./trace-helpers-
|
|
1041
|
-
const { addFailIfTriggered } = await import("./metrics-
|
|
1113
|
+
const { addEvent } = await import("./trace-helpers-LUCR52GY.mjs");
|
|
1114
|
+
const { addFailIfTriggered } = await import("./metrics-CSBGJEWW.mjs");
|
|
1042
1115
|
const checkConfig = config.checks?.[checkName];
|
|
1043
1116
|
if (!checkConfig) {
|
|
1044
1117
|
return [];
|
|
@@ -1140,7 +1213,7 @@ var StateMachineExecutionEngine = class _StateMachineExecutionEngine {
|
|
|
1140
1213
|
*/
|
|
1141
1214
|
async getRepositoryStatus() {
|
|
1142
1215
|
try {
|
|
1143
|
-
const { GitRepositoryAnalyzer } = await import("./git-repository-analyzer-
|
|
1216
|
+
const { GitRepositoryAnalyzer } = await import("./git-repository-analyzer-VO7OZMTM.mjs");
|
|
1144
1217
|
const analyzer = new GitRepositoryAnalyzer(this.workingDirectory);
|
|
1145
1218
|
const info = await analyzer.analyzeRepository();
|
|
1146
1219
|
return {
|