codesesh 1.0.4 → 1.0.5
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 +4 -4
- package/dist/{chunk-MBZ4VV4C.js → chunk-FCYCBGEL.js} +3 -3
- package/dist/{chunk-W4PZHL2C.js → chunk-NBJJGH5P.js} +57 -39
- package/dist/chunk-NBJJGH5P.js.map +1 -0
- package/dist/chunk-PAP2Q3WV.js +1271 -0
- package/dist/chunk-PAP2Q3WV.js.map +1 -0
- package/dist/{chunk-BYB77UAJ.js → chunk-TS3IWH5U.js} +115 -72
- package/dist/chunk-TS3IWH5U.js.map +1 -0
- package/dist/{chunk-YCUN52HA.js → chunk-WUYSZAYR.js} +75 -114
- package/dist/chunk-WUYSZAYR.js.map +1 -0
- package/dist/{chunk-3SXCTDD6.js → chunk-XKZSX5BM.js} +4 -3
- package/dist/chunk-YQFEGFWD.js +89 -0
- package/dist/chunk-YQFEGFWD.js.map +1 -0
- package/dist/{discovery-K3GLISI6.js → discovery-D23RV7FY.js} +11 -5
- package/dist/index.js +1415 -948
- package/dist/index.js.map +1 -1
- package/dist/project-identity-worker.js +4 -4
- package/dist/scan-refresh-worker.js +17 -7
- package/dist/scan-refresh-worker.js.map +1 -1
- package/dist/search-index-worker.js +16 -8
- package/dist/search-index-worker.js.map +1 -1
- package/dist/session-detail-worker.js +79 -0
- package/dist/session-detail-worker.js.map +1 -0
- package/dist/smart-tag-worker.js +3 -3
- package/dist/web/assets/CustomTimeWindowDialog-C9XTZRm0.js +1 -0
- package/dist/web/assets/{InteractiveReceipt-Dk50TBsH.js → InteractiveReceipt-Sca1smpv.js} +1 -1
- package/dist/web/assets/OverviewScreen-Vq6BQR9_.js +1 -0
- package/dist/web/assets/{PrismHighlighter-B1a2dPJO.js → PrismHighlighter-LWITDffT.js} +1 -1
- package/dist/web/assets/Projects-CwicV3Dk.js +1 -0
- package/dist/web/assets/{SearchResultsPanel-DfheEwpz.js → SearchResultsPanel-DCO0Ak0c.js} +1 -1
- package/dist/web/assets/SessionDetail-mdmTQgo1.js +53 -0
- package/dist/web/assets/api-CXVT9XcZ.js +1 -0
- package/dist/web/assets/contract-BS78VBCV.js +2 -0
- package/dist/web/assets/{index-Bd-YkWkZ.css → index-C5cyw58A.css} +1 -1
- package/dist/web/assets/index-H2cT-6c6.js +1423 -0
- package/dist/web/assets/{session-indexes-BsgjUoc1.js → session-indexes-yyyWpKLf.js} +2 -2
- package/dist/web/index.html +6 -6
- package/package.json +1 -1
- package/dist/chunk-BYB77UAJ.js.map +0 -1
- package/dist/chunk-G4HRD3AR.js +0 -246
- package/dist/chunk-G4HRD3AR.js.map +0 -1
- package/dist/chunk-W4PZHL2C.js.map +0 -1
- package/dist/chunk-YCUN52HA.js.map +0 -1
- package/dist/web/assets/OverviewScreen-5hvQVp4H.js +0 -1
- package/dist/web/assets/Projects-Cy_v2yep.js +0 -1
- package/dist/web/assets/SessionDetail-DRI8R3st.js +0 -53
- package/dist/web/assets/api-GP9UCedC.js +0 -1
- package/dist/web/assets/contract-xJyW5u7a.js +0 -2
- package/dist/web/assets/index-DEjvzumm.js +0 -1410
- package/dist/web/assets/panel-ND0J63d3.js +0 -1
- /package/dist/{chunk-MBZ4VV4C.js.map → chunk-FCYCBGEL.js.map} +0 -0
- /package/dist/{chunk-3SXCTDD6.js.map → chunk-XKZSX5BM.js.map} +0 -0
- /package/dist/{discovery-K3GLISI6.js.map → discovery-D23RV7FY.js.map} +0 -0
|
@@ -4,9 +4,9 @@ import {
|
|
|
4
4
|
getProjectIdentityKey,
|
|
5
5
|
getSessionAgentKey,
|
|
6
6
|
matchesProjectIdentity
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-NBJJGH5P.js";
|
|
8
8
|
|
|
9
|
-
// ../core/dist/chunk-
|
|
9
|
+
// ../core/dist/chunk-SULHDCDQ.mjs
|
|
10
10
|
import * as os from "os";
|
|
11
11
|
import * as path from "path";
|
|
12
12
|
import { createHash } from "crypto";
|
|
@@ -317,10 +317,11 @@ export {
|
|
|
317
317
|
computeIdentity,
|
|
318
318
|
normalizeProjectDirectory,
|
|
319
319
|
computeIdentityProjection,
|
|
320
|
+
createProjectScopeMatcher,
|
|
320
321
|
createProjectScopeMatcherFromIdentity,
|
|
321
322
|
matchesProjectScope,
|
|
322
323
|
filterSessionsByProjectScope,
|
|
323
324
|
normalizeProjectScopePath,
|
|
324
325
|
buildProjectGroups
|
|
325
326
|
};
|
|
326
|
-
//# sourceMappingURL=chunk-
|
|
327
|
+
//# sourceMappingURL=chunk-XKZSX5BM.js.map
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
appLogger
|
|
4
|
+
} from "./chunk-PAP2Q3WV.js";
|
|
5
|
+
|
|
6
|
+
// src/worker-log-drain.ts
|
|
7
|
+
import { randomUUID } from "crypto";
|
|
8
|
+
var WORKER_LOG_DRAIN_REQUEST_TYPE = "codesesh.worker-log-drain";
|
|
9
|
+
var WORKER_LOG_DRAIN_ACK_TYPE = "codesesh.worker-log-drained";
|
|
10
|
+
var WORKER_LOG_DRAIN_TIMEOUT_MS = 100;
|
|
11
|
+
var terminations = /* @__PURE__ */ new WeakMap();
|
|
12
|
+
function isRecord(value) {
|
|
13
|
+
return value != null && typeof value === "object" && !Array.isArray(value);
|
|
14
|
+
}
|
|
15
|
+
function isWorkerLogDrainRequest(message) {
|
|
16
|
+
return isRecord(message) && message.type === WORKER_LOG_DRAIN_REQUEST_TYPE && typeof message.requestId === "string";
|
|
17
|
+
}
|
|
18
|
+
function isWorkerLogDrainAck(message, requestId) {
|
|
19
|
+
return isRecord(message) && message.type === WORKER_LOG_DRAIN_ACK_TYPE && message.requestId === requestId;
|
|
20
|
+
}
|
|
21
|
+
function acknowledgeWorkerLogDrain(port, message, after = Promise.resolve()) {
|
|
22
|
+
if (!isWorkerLogDrainRequest(message)) return false;
|
|
23
|
+
const acknowledge = () => {
|
|
24
|
+
try {
|
|
25
|
+
port.postMessage({
|
|
26
|
+
type: WORKER_LOG_DRAIN_ACK_TYPE,
|
|
27
|
+
requestId: message.requestId
|
|
28
|
+
});
|
|
29
|
+
} catch {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
void Promise.resolve(after).then(acknowledge, acknowledge);
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
function reportDrainTimeout(worker) {
|
|
37
|
+
try {
|
|
38
|
+
appLogger.warn("worker.log_drain_timeout", {
|
|
39
|
+
timeout_ms: WORKER_LOG_DRAIN_TIMEOUT_MS,
|
|
40
|
+
worker_thread_id: worker.threadId
|
|
41
|
+
});
|
|
42
|
+
} catch {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function requestWorkerLogDrain(worker) {
|
|
47
|
+
return new Promise((resolve) => {
|
|
48
|
+
const requestId = randomUUID();
|
|
49
|
+
let settled = false;
|
|
50
|
+
const finish = (exitCode) => {
|
|
51
|
+
if (settled) return;
|
|
52
|
+
settled = true;
|
|
53
|
+
clearTimeout(timeout);
|
|
54
|
+
worker.off("message", onMessage);
|
|
55
|
+
worker.off("exit", onExit);
|
|
56
|
+
resolve(exitCode);
|
|
57
|
+
};
|
|
58
|
+
const onMessage = (message) => {
|
|
59
|
+
if (isWorkerLogDrainAck(message, requestId)) finish();
|
|
60
|
+
};
|
|
61
|
+
const onExit = (code) => finish(code);
|
|
62
|
+
const timeout = setTimeout(() => {
|
|
63
|
+
reportDrainTimeout(worker);
|
|
64
|
+
finish();
|
|
65
|
+
}, WORKER_LOG_DRAIN_TIMEOUT_MS);
|
|
66
|
+
worker.on("message", onMessage);
|
|
67
|
+
worker.once("exit", onExit);
|
|
68
|
+
try {
|
|
69
|
+
worker.postMessage({ type: WORKER_LOG_DRAIN_REQUEST_TYPE, requestId });
|
|
70
|
+
} catch {
|
|
71
|
+
finish(worker.threadId === -1 ? 0 : void 0);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
function terminateWorkerAfterLogDrain(worker) {
|
|
76
|
+
const existing = terminations.get(worker);
|
|
77
|
+
if (existing) return existing;
|
|
78
|
+
const termination = requestWorkerLogDrain(worker).then(
|
|
79
|
+
(exitCode) => exitCode === void 0 ? worker.terminate() : exitCode
|
|
80
|
+
);
|
|
81
|
+
terminations.set(worker, termination);
|
|
82
|
+
return termination;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export {
|
|
86
|
+
acknowledgeWorkerLogDrain,
|
|
87
|
+
terminateWorkerAfterLogDrain
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=chunk-YQFEGFWD.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/worker-log-drain.ts"],"sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport type { MessagePort, Worker } from \"node:worker_threads\";\nimport { appLogger } from \"./logging.js\";\n\nconst WORKER_LOG_DRAIN_REQUEST_TYPE = \"codesesh.worker-log-drain\";\nconst WORKER_LOG_DRAIN_ACK_TYPE = \"codesesh.worker-log-drained\";\nconst WORKER_LOG_DRAIN_TIMEOUT_MS = 100;\n\ninterface WorkerLogDrainRequest {\n type: typeof WORKER_LOG_DRAIN_REQUEST_TYPE;\n requestId: string;\n}\n\ninterface WorkerLogDrainAck {\n type: typeof WORKER_LOG_DRAIN_ACK_TYPE;\n requestId: string;\n}\n\nconst terminations = new WeakMap<Worker, Promise<number>>();\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction isWorkerLogDrainRequest(message: unknown): boolean {\n return (\n isRecord(message) &&\n message.type === WORKER_LOG_DRAIN_REQUEST_TYPE &&\n typeof message.requestId === \"string\"\n );\n}\n\nfunction isWorkerLogDrainAck(message: unknown, requestId: string): boolean {\n return (\n isRecord(message) &&\n message.type === WORKER_LOG_DRAIN_ACK_TYPE &&\n message.requestId === requestId\n );\n}\n\nexport function acknowledgeWorkerLogDrain(\n port: MessagePort,\n message: unknown,\n after: PromiseLike<unknown> = Promise.resolve(),\n): boolean {\n if (!isWorkerLogDrainRequest(message)) return false;\n const acknowledge = () => {\n try {\n port.postMessage({\n type: WORKER_LOG_DRAIN_ACK_TYPE,\n requestId: (message as WorkerLogDrainRequest).requestId,\n } satisfies WorkerLogDrainAck);\n } catch {\n return;\n }\n };\n void Promise.resolve(after).then(acknowledge, acknowledge);\n return true;\n}\n\nfunction reportDrainTimeout(worker: Worker): void {\n try {\n appLogger.warn(\"worker.log_drain_timeout\", {\n timeout_ms: WORKER_LOG_DRAIN_TIMEOUT_MS,\n worker_thread_id: worker.threadId,\n });\n } catch {\n return;\n }\n}\n\nfunction requestWorkerLogDrain(worker: Worker): Promise<number | undefined> {\n return new Promise((resolve) => {\n const requestId = randomUUID();\n let settled = false;\n const finish = (exitCode?: number) => {\n if (settled) return;\n settled = true;\n clearTimeout(timeout);\n worker.off(\"message\", onMessage);\n worker.off(\"exit\", onExit);\n resolve(exitCode);\n };\n const onMessage = (message: unknown) => {\n if (isWorkerLogDrainAck(message, requestId)) finish();\n };\n const onExit = (code: number) => finish(code);\n const timeout = setTimeout(() => {\n reportDrainTimeout(worker);\n finish();\n }, WORKER_LOG_DRAIN_TIMEOUT_MS);\n\n worker.on(\"message\", onMessage);\n worker.once(\"exit\", onExit);\n try {\n worker.postMessage({ type: WORKER_LOG_DRAIN_REQUEST_TYPE, requestId });\n } catch {\n finish(worker.threadId === -1 ? 0 : undefined);\n }\n });\n}\n\nexport function terminateWorkerAfterLogDrain(worker: Worker): Promise<number> {\n const existing = terminations.get(worker);\n if (existing) return existing;\n\n const termination = requestWorkerLogDrain(worker).then((exitCode) =>\n exitCode === undefined ? worker.terminate() : exitCode,\n );\n terminations.set(worker, termination);\n return termination;\n}\n"],"mappings":";;;;;;AAAA,SAAS,kBAAkB;AAI3B,IAAM,gCAAgC;AACtC,IAAM,4BAA4B;AAClC,IAAM,8BAA8B;AAYpC,IAAM,eAAe,oBAAI,QAAiC;AAE1D,SAAS,SAAS,OAAkD;AAClE,SAAO,SAAS,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC3E;AAEA,SAAS,wBAAwB,SAA2B;AAC1D,SACE,SAAS,OAAO,KAChB,QAAQ,SAAS,iCACjB,OAAO,QAAQ,cAAc;AAEjC;AAEA,SAAS,oBAAoB,SAAkB,WAA4B;AACzE,SACE,SAAS,OAAO,KAChB,QAAQ,SAAS,6BACjB,QAAQ,cAAc;AAE1B;AAEO,SAAS,0BACd,MACA,SACA,QAA8B,QAAQ,QAAQ,GACrC;AACT,MAAI,CAAC,wBAAwB,OAAO,EAAG,QAAO;AAC9C,QAAM,cAAc,MAAM;AACxB,QAAI;AACF,WAAK,YAAY;AAAA,QACf,MAAM;AAAA,QACN,WAAY,QAAkC;AAAA,MAChD,CAA6B;AAAA,IAC/B,QAAQ;AACN;AAAA,IACF;AAAA,EACF;AACA,OAAK,QAAQ,QAAQ,KAAK,EAAE,KAAK,aAAa,WAAW;AACzD,SAAO;AACT;AAEA,SAAS,mBAAmB,QAAsB;AAChD,MAAI;AACF,cAAU,KAAK,4BAA4B;AAAA,MACzC,YAAY;AAAA,MACZ,kBAAkB,OAAO;AAAA,IAC3B,CAAC;AAAA,EACH,QAAQ;AACN;AAAA,EACF;AACF;AAEA,SAAS,sBAAsB,QAA6C;AAC1E,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAM,YAAY,WAAW;AAC7B,QAAI,UAAU;AACd,UAAM,SAAS,CAAC,aAAsB;AACpC,UAAI,QAAS;AACb,gBAAU;AACV,mBAAa,OAAO;AACpB,aAAO,IAAI,WAAW,SAAS;AAC/B,aAAO,IAAI,QAAQ,MAAM;AACzB,cAAQ,QAAQ;AAAA,IAClB;AACA,UAAM,YAAY,CAAC,YAAqB;AACtC,UAAI,oBAAoB,SAAS,SAAS,EAAG,QAAO;AAAA,IACtD;AACA,UAAM,SAAS,CAAC,SAAiB,OAAO,IAAI;AAC5C,UAAM,UAAU,WAAW,MAAM;AAC/B,yBAAmB,MAAM;AACzB,aAAO;AAAA,IACT,GAAG,2BAA2B;AAE9B,WAAO,GAAG,WAAW,SAAS;AAC9B,WAAO,KAAK,QAAQ,MAAM;AAC1B,QAAI;AACF,aAAO,YAAY,EAAE,MAAM,+BAA+B,UAAU,CAAC;AAAA,IACvE,QAAQ;AACN,aAAO,OAAO,aAAa,KAAK,IAAI,MAAS;AAAA,IAC/C;AAAA,EACF,CAAC;AACH;AAEO,SAAS,6BAA6B,QAAiC;AAC5E,QAAM,WAAW,aAAa,IAAI,MAAM;AACxC,MAAI,SAAU,QAAO;AAErB,QAAM,cAAc,sBAAsB,MAAM,EAAE;AAAA,IAAK,CAAC,aACtD,aAAa,SAAY,OAAO,UAAU,IAAI;AAAA,EAChD;AACA,eAAa,IAAI,QAAQ,WAAW;AACpC,SAAO;AACT;","names":[]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
attachMissingProjectIdentities,
|
|
4
|
+
beginAgentRefresh,
|
|
4
5
|
buildAgentCacheMeta,
|
|
5
6
|
buildSessionPersistenceDiff,
|
|
6
7
|
clearCache,
|
|
@@ -25,6 +26,8 @@ import {
|
|
|
25
26
|
markAgentFullSyncCompleted,
|
|
26
27
|
markAgentFullSyncProgress,
|
|
27
28
|
markAgentFullSyncStarted,
|
|
29
|
+
matchesSessionQueryScope,
|
|
30
|
+
materializeCachedSessionDetailResponse,
|
|
28
31
|
materializeSessionDetailResponse,
|
|
29
32
|
mergeSearchQueryOptions,
|
|
30
33
|
planAgentScan,
|
|
@@ -42,18 +45,19 @@ import {
|
|
|
42
45
|
sortSessions,
|
|
43
46
|
syncSessionSearchIndex,
|
|
44
47
|
syncSessionSearchIndexChanges
|
|
45
|
-
} from "./chunk-
|
|
46
|
-
import "./chunk-
|
|
47
|
-
import "./chunk-
|
|
48
|
+
} from "./chunk-TS3IWH5U.js";
|
|
49
|
+
import "./chunk-XKZSX5BM.js";
|
|
50
|
+
import "./chunk-WUYSZAYR.js";
|
|
48
51
|
import {
|
|
49
52
|
SMART_TAGS,
|
|
50
53
|
filterSessionTreeByActivityWindow,
|
|
51
54
|
isSmartTag,
|
|
52
55
|
mergeSortedSessions
|
|
53
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-NBJJGH5P.js";
|
|
54
57
|
export {
|
|
55
58
|
SMART_TAGS,
|
|
56
59
|
attachMissingProjectIdentities,
|
|
60
|
+
beginAgentRefresh,
|
|
57
61
|
buildAgentCacheMeta,
|
|
58
62
|
buildSessionPersistenceDiff,
|
|
59
63
|
clearCache,
|
|
@@ -80,6 +84,8 @@ export {
|
|
|
80
84
|
markAgentFullSyncCompleted,
|
|
81
85
|
markAgentFullSyncProgress,
|
|
82
86
|
markAgentFullSyncStarted,
|
|
87
|
+
matchesSessionQueryScope,
|
|
88
|
+
materializeCachedSessionDetailResponse,
|
|
83
89
|
materializeSessionDetailResponse,
|
|
84
90
|
mergeSearchQueryOptions,
|
|
85
91
|
mergeSortedSessions,
|
|
@@ -99,4 +105,4 @@ export {
|
|
|
99
105
|
syncSessionSearchIndex,
|
|
100
106
|
syncSessionSearchIndexChanges
|
|
101
107
|
};
|
|
102
|
-
//# sourceMappingURL=discovery-
|
|
108
|
+
//# sourceMappingURL=discovery-D23RV7FY.js.map
|