@ascenda-one/gemini-hooks 0.1.22 → 0.1.24
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/cli.js +22 -3
- package/dist/mapGeminiEvent.js +6 -2
- package/dist/mapGeminiEvent.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -429,6 +429,16 @@ var require_metricKeys = __commonJS({
|
|
|
429
429
|
linesChangedBucket: { readBy: ["backend"], backendAliases: ["linesChangedBucket", "lines_changed_bucket"] },
|
|
430
430
|
// ── Read by the local handoff only ──────────────────────────────────────
|
|
431
431
|
activeMinutes: { readBy: ["handoff"], unit: "minutes" },
|
|
432
|
+
syntheticPromptLines: {
|
|
433
|
+
readBy: ["handoff"],
|
|
434
|
+
unit: "lines",
|
|
435
|
+
note: "Main-thread user lines the runtime wrote on the person's behalf (notifications, its own bookkeeping, slash-command wrappers, interrupt markers) and promptCount left out. Claude Code only; the receipt for the handoff's promptBasis: typed."
|
|
436
|
+
},
|
|
437
|
+
interruptedRuns: {
|
|
438
|
+
readBy: ["handoff"],
|
|
439
|
+
unit: "runs",
|
|
440
|
+
note: "Agent turns the person cut short with an interrupt while the turn was still going. A count per session, never a rate. Claude Code only; a handoff that counted them says so with interruptedRunsCounted, and absent means not counted, never zero."
|
|
441
|
+
},
|
|
432
442
|
/**
|
|
433
443
|
* The two halves of `activeMinutes`, and deliberately two keys.
|
|
434
444
|
*
|
|
@@ -715,6 +725,11 @@ var require_out = __commonJS({
|
|
|
715
725
|
context_compression_manual: "neutral",
|
|
716
726
|
context_compression_auto: "neutral",
|
|
717
727
|
editor_activity: "neutral",
|
|
728
|
+
// The agent finished a turn and handed back to the person. A boundary, not
|
|
729
|
+
// work: it closes the agent's stretch and opens the person's, which the next
|
|
730
|
+
// `ai_prompt_submitted` closes. Neutral so a marker sent once per turn
|
|
731
|
+
// doesn't weigh on any workload leg.
|
|
732
|
+
ai_turn_completed: "neutral",
|
|
718
733
|
// Semantic (agent-observed) — see SEMANTIC_WORK_SIGNAL_EVENT_TYPES.
|
|
719
734
|
approach_churn_detected: "risk",
|
|
720
735
|
goal_drift_detected: "risk",
|
|
@@ -1388,7 +1403,9 @@ var require_outbox = __commonJS({
|
|
|
1388
1403
|
var CLAIM_SUFFIX = ".draining";
|
|
1389
1404
|
function outboxDrainEnabled(env = process.env) {
|
|
1390
1405
|
const value = env[exports.OUTBOX_DRAIN_ENV_VAR]?.trim().toLowerCase();
|
|
1391
|
-
|
|
1406
|
+
if (value === void 0 || value === "")
|
|
1407
|
+
return true;
|
|
1408
|
+
return !(value === "0" || value === "false" || value === "no" || value === "off");
|
|
1392
1409
|
}
|
|
1393
1410
|
function defaultOutboxFilePath(toolInstallationId) {
|
|
1394
1411
|
const dir = path2.dirname((0, stateStore_1.defaultStateFilePath)(toolInstallationId));
|
|
@@ -3786,10 +3803,12 @@ function mapBeforeAgent(input) {
|
|
|
3786
3803
|
}
|
|
3787
3804
|
function mapAfterAgent(turnDurationMs) {
|
|
3788
3805
|
const durationBucket = (0, import_tool_kit.bucketDurationMs)(turnDurationMs);
|
|
3806
|
+
const events = [];
|
|
3789
3807
|
if (durationBucket === "30-60m" || durationBucket === "60m+") {
|
|
3790
|
-
|
|
3808
|
+
events.push({ eventType: "agent_loop_long", severity: durationBucket === "60m+" ? "high" : "medium", metadata: withHost({ durationBucket, reason: "long_session", trigger: "inferred" }) });
|
|
3791
3809
|
}
|
|
3792
|
-
|
|
3810
|
+
events.push({ eventType: "ai_turn_completed", severity: "low", metadata: withHost(durationBucket ? { durationBucket } : {}) });
|
|
3811
|
+
return events;
|
|
3793
3812
|
}
|
|
3794
3813
|
function mapAfterTool(input) {
|
|
3795
3814
|
const toolName = getToolName(input);
|
package/dist/mapGeminiEvent.js
CHANGED
|
@@ -31,10 +31,14 @@ function mapBeforeAgent(input) {
|
|
|
31
31
|
}
|
|
32
32
|
function mapAfterAgent(turnDurationMs) {
|
|
33
33
|
const durationBucket = bucketDurationMs(turnDurationMs);
|
|
34
|
+
const events = [];
|
|
34
35
|
if (durationBucket === "30-60m" || durationBucket === "60m+") {
|
|
35
|
-
|
|
36
|
+
events.push({ eventType: "agent_loop_long", severity: durationBucket === "60m+" ? "high" : "medium", metadata: withHost({ durationBucket, reason: "long_session", trigger: "inferred" }) });
|
|
36
37
|
}
|
|
37
|
-
|
|
38
|
+
// Every turn ends here, long or short. Pushed last so a send that isn't
|
|
39
|
+
// accepted can't cost the long-loop signal ahead of it.
|
|
40
|
+
events.push({ eventType: "ai_turn_completed", severity: "low", metadata: withHost(durationBucket ? { durationBucket } : {}) });
|
|
41
|
+
return events;
|
|
38
42
|
}
|
|
39
43
|
function mapAfterTool(input) {
|
|
40
44
|
const toolName = getToolName(input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapGeminiEvent.js","sourceRoot":"","sources":["../src/mapGeminiEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAA2D,MAAM,YAAY,CAAC;AAElG;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,QAA6B,EAAE,KAAsB,EAAE,cAAuB;IAC3G,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,cAAc,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1I,KAAK,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;QACzI,KAAK,aAAa,CAAC,CAAC,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;QACjD,KAAK,YAAY,CAAC,CAAC,OAAO,aAAa,CAAC,cAAc,CAAC,CAAC;QACxD,KAAK,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,gBAAgB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3J,KAAK,WAAW,CAAC,CAAC,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7C,KAAK,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,0BAA0B,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;QAE3J,2EAA2E;QAC3E,2EAA2E;QAC3E,yEAAyE;QACzE,yBAAyB;QACzB,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAsB;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAwB,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5I,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,sBAAsB,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IACtJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,aAAa,CAAC,cAAkC;IACvD,MAAM,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IACxD,IAAI,cAAc,KAAK,QAAQ,IAAI,cAAc,KAAK,MAAM,EAAE,CAAC;QAC7D,
|
|
1
|
+
{"version":3,"file":"mapGeminiEvent.js","sourceRoot":"","sources":["../src/mapGeminiEvent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED