@integrity-labs/agt-cli 0.28.613 → 0.28.615

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.
@@ -34089,6 +34089,17 @@ var CONDITIONAL_DELIVERY_BODY = [
34089
34089
  var FRESH_HEARTBEAT_THRESHOLD_MS = 2 * 60 * 1e3;
34090
34090
 
34091
34091
  // ../core/dist/claude-code-usage/banner-parser.js
34092
+ var SESSION_QUALIFIER = /^(?:session|\d{1,2}\s*-?\s*hours?|\d{1,2}h)$/i;
34093
+ function classifyLimitScope(qualifier) {
34094
+ const q = (qualifier ?? "").trim();
34095
+ if (!q)
34096
+ return "weekly";
34097
+ if (SESSION_QUALIFIER.test(q))
34098
+ return "session";
34099
+ if (/^weekly$/i.test(q))
34100
+ return "weekly";
34101
+ return "unknown";
34102
+ }
34092
34103
  var SEP = /[\s·\-–—]+/.source;
34093
34104
  var SUBJECT = /(?:You(?:['’]ve|\s+have)?\s+)?/.source;
34094
34105
  var TIME_OF_DAY = /\d{1,2}(?::\d{2})?\s*(?:am|pm)(?:\s*\(?UTC\)?)?/.source;
@@ -34102,7 +34113,27 @@ var BANNER_PATTERNS = [
34102
34113
  // Wrapped to keep the per-pattern shape consistent with the percentage form:
34103
34114
  // the parser checks group 1 for a digit string and treats a missing one as
34104
34115
  // pct=100.
34105
- new RegExp(`${SUBJECT}hit\\s+your\\s+(?:[a-z0-9-]+\\s+)?limit${SEP}resets\\s+(${RESET_DATE})`, "i")
34116
+ // ENG-9007: the qualifier is CAPTURED now, by name. It used to be
34117
+ // `(?:[a-z0-9-]+\s+)?` - permissive and non-capturing - so the parser
34118
+ // recognised "session" and "5-hour", matched on them, and threw the word away.
34119
+ // Named groups keep the numbered capture indices stable for the percentage
34120
+ // form above, which still reads groups 1 and 2 positionally.
34121
+ new RegExp(
34122
+ // CodeRabbit on #4621: the qualifier was ONE token, so `classifyLimitScope`
34123
+ // accepted "5 hours" while this pattern could never deliver it — the whole
34124
+ // banner failed to match, no observation was recorded, and the agent went
34125
+ // dark rather than merely being misclassified. Multi-token qualifiers now
34126
+ // match the duration shapes SESSION_QUALIFIER already accepts.
34127
+ //
34128
+ // Deliberately NOT the naive `[a-z0-9]+(?:\s*-?\s*[a-z0-9]+)*`: the
34129
+ // separator there can match empty, which reduces to `(a+)+` and backtracks
34130
+ // catastrophically on a long alphanumeric run that is never followed by
34131
+ // "limit". This parser runs over agent-produced pane.log tails, so that is
34132
+ // reachable input. Requiring at least one separator per extra token, and
34133
+ // bounding the count, keeps it linear.
34134
+ `${SUBJECT}hit\\s+your\\s+(?<qualifier>[a-z0-9]+(?:[\\s-]+[a-z0-9]+){0,3}\\s+)?limit${SEP}resets\\s+(?<reset>${RESET_DATE})`,
34135
+ "i"
34136
+ )
34106
34137
  ];
34107
34138
  function parseUsageBanner(text, now = /* @__PURE__ */ new Date()) {
34108
34139
  let bestIndex = -1;
@@ -34115,24 +34146,33 @@ function parseUsageBanner(text, now = /* @__PURE__ */ new Date()) {
34115
34146
  pattern.lastIndex++;
34116
34147
  let pct;
34117
34148
  let resetStr;
34149
+ let qualifier;
34118
34150
  if (i === 0) {
34119
34151
  pct = Number.parseInt(match[1], 10);
34120
34152
  resetStr = match[2];
34153
+ qualifier = "weekly";
34121
34154
  } else {
34122
34155
  pct = 100;
34123
- resetStr = match[1];
34156
+ resetStr = match.groups?.["reset"] ?? "";
34157
+ qualifier = match.groups?.["qualifier"]?.trim() || null;
34124
34158
  }
34125
34159
  if (!Number.isFinite(pct) || pct < 0 || pct > 100)
34126
34160
  continue;
34127
34161
  const nextChar = text[match.index + match[0].length];
34128
34162
  if (nextChar !== void 0 && /[A-Za-z0-9]/.test(nextChar))
34129
34163
  continue;
34130
- const weekResetsAt = parseResetDateTime(resetStr, now);
34131
- if (!weekResetsAt)
34164
+ const reset = parseResetDateTime(resetStr, now);
34165
+ if (!reset)
34132
34166
  continue;
34133
34167
  if (match.index >= bestIndex) {
34134
34168
  bestIndex = match.index;
34135
- best = { pct, weekResetsAt };
34169
+ best = {
34170
+ pct,
34171
+ weekResetsAt: reset.at,
34172
+ resetPrecision: reset.precision,
34173
+ limitScope: classifyLimitScope(qualifier),
34174
+ limitQualifier: qualifier
34175
+ };
34136
34176
  }
34137
34177
  }
34138
34178
  }
@@ -34176,7 +34216,10 @@ function parseResetDateTime(humanDate, now) {
34176
34216
  if (!hm)
34177
34217
  return null;
34178
34218
  const todayAt = Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), hm.hour, hm.minute);
34179
- return new Date(todayAt <= now.getTime() ? todayAt + MS_PER_DAY : todayAt);
34219
+ return {
34220
+ at: new Date(todayAt <= now.getTime() ? todayAt + MS_PER_DAY : todayAt),
34221
+ precision: "hour_only"
34222
+ };
34180
34223
  }
34181
34224
  const timeMatch = trimmed.match(TIME_TAIL);
34182
34225
  const dateOnly = timeMatch ? trimmed.slice(0, timeMatch.index).trim() : trimmed;
@@ -34209,7 +34252,7 @@ function parseResetDateTime(humanDate, now) {
34209
34252
  resolved = candidate;
34210
34253
  }
34211
34254
  }
34212
- return resolved;
34255
+ return resolved ? { at: resolved, precision: "dated" } : null;
34213
34256
  }
34214
34257
 
34215
34258
  // ../core/dist/claude-code-usage/run-marker.js
@@ -40380,7 +40380,27 @@ var BANNER_PATTERNS = [
40380
40380
  // Wrapped to keep the per-pattern shape consistent with the percentage form:
40381
40381
  // the parser checks group 1 for a digit string and treats a missing one as
40382
40382
  // pct=100.
40383
- new RegExp(`${SUBJECT}hit\\s+your\\s+(?:[a-z0-9-]+\\s+)?limit${SEP}resets\\s+(${RESET_DATE})`, "i")
40383
+ // ENG-9007: the qualifier is CAPTURED now, by name. It used to be
40384
+ // `(?:[a-z0-9-]+\s+)?` - permissive and non-capturing - so the parser
40385
+ // recognised "session" and "5-hour", matched on them, and threw the word away.
40386
+ // Named groups keep the numbered capture indices stable for the percentage
40387
+ // form above, which still reads groups 1 and 2 positionally.
40388
+ new RegExp(
40389
+ // CodeRabbit on #4621: the qualifier was ONE token, so `classifyLimitScope`
40390
+ // accepted "5 hours" while this pattern could never deliver it — the whole
40391
+ // banner failed to match, no observation was recorded, and the agent went
40392
+ // dark rather than merely being misclassified. Multi-token qualifiers now
40393
+ // match the duration shapes SESSION_QUALIFIER already accepts.
40394
+ //
40395
+ // Deliberately NOT the naive `[a-z0-9]+(?:\s*-?\s*[a-z0-9]+)*`: the
40396
+ // separator there can match empty, which reduces to `(a+)+` and backtracks
40397
+ // catastrophically on a long alphanumeric run that is never followed by
40398
+ // "limit". This parser runs over agent-produced pane.log tails, so that is
40399
+ // reachable input. Requiring at least one separator per extra token, and
40400
+ // bounding the count, keeps it linear.
40401
+ `${SUBJECT}hit\\s+your\\s+(?<qualifier>[a-z0-9]+(?:[\\s-]+[a-z0-9]+){0,3}\\s+)?limit${SEP}resets\\s+(?<reset>${RESET_DATE})`,
40402
+ "i"
40403
+ )
40384
40404
  ];
40385
40405
  var MS_PER_DAY = 24 * 60 * 60 * 1e3;
40386
40406
 
@@ -34418,6 +34418,17 @@ var CONDITIONAL_DELIVERY_BODY = [
34418
34418
  var FRESH_HEARTBEAT_THRESHOLD_MS = 2 * 60 * 1e3;
34419
34419
 
34420
34420
  // ../core/dist/claude-code-usage/banner-parser.js
34421
+ var SESSION_QUALIFIER = /^(?:session|\d{1,2}\s*-?\s*hours?|\d{1,2}h)$/i;
34422
+ function classifyLimitScope(qualifier) {
34423
+ const q = (qualifier ?? "").trim();
34424
+ if (!q)
34425
+ return "weekly";
34426
+ if (SESSION_QUALIFIER.test(q))
34427
+ return "session";
34428
+ if (/^weekly$/i.test(q))
34429
+ return "weekly";
34430
+ return "unknown";
34431
+ }
34421
34432
  var SEP = /[\s·\-–—]+/.source;
34422
34433
  var SUBJECT = /(?:You(?:['’]ve|\s+have)?\s+)?/.source;
34423
34434
  var TIME_OF_DAY = /\d{1,2}(?::\d{2})?\s*(?:am|pm)(?:\s*\(?UTC\)?)?/.source;
@@ -34431,7 +34442,27 @@ var BANNER_PATTERNS = [
34431
34442
  // Wrapped to keep the per-pattern shape consistent with the percentage form:
34432
34443
  // the parser checks group 1 for a digit string and treats a missing one as
34433
34444
  // pct=100.
34434
- new RegExp(`${SUBJECT}hit\\s+your\\s+(?:[a-z0-9-]+\\s+)?limit${SEP}resets\\s+(${RESET_DATE})`, "i")
34445
+ // ENG-9007: the qualifier is CAPTURED now, by name. It used to be
34446
+ // `(?:[a-z0-9-]+\s+)?` - permissive and non-capturing - so the parser
34447
+ // recognised "session" and "5-hour", matched on them, and threw the word away.
34448
+ // Named groups keep the numbered capture indices stable for the percentage
34449
+ // form above, which still reads groups 1 and 2 positionally.
34450
+ new RegExp(
34451
+ // CodeRabbit on #4621: the qualifier was ONE token, so `classifyLimitScope`
34452
+ // accepted "5 hours" while this pattern could never deliver it — the whole
34453
+ // banner failed to match, no observation was recorded, and the agent went
34454
+ // dark rather than merely being misclassified. Multi-token qualifiers now
34455
+ // match the duration shapes SESSION_QUALIFIER already accepts.
34456
+ //
34457
+ // Deliberately NOT the naive `[a-z0-9]+(?:\s*-?\s*[a-z0-9]+)*`: the
34458
+ // separator there can match empty, which reduces to `(a+)+` and backtracks
34459
+ // catastrophically on a long alphanumeric run that is never followed by
34460
+ // "limit". This parser runs over agent-produced pane.log tails, so that is
34461
+ // reachable input. Requiring at least one separator per extra token, and
34462
+ // bounding the count, keeps it linear.
34463
+ `${SUBJECT}hit\\s+your\\s+(?<qualifier>[a-z0-9]+(?:[\\s-]+[a-z0-9]+){0,3}\\s+)?limit${SEP}resets\\s+(?<reset>${RESET_DATE})`,
34464
+ "i"
34465
+ )
34435
34466
  ];
34436
34467
  function parseUsageBanner(text, now = /* @__PURE__ */ new Date()) {
34437
34468
  let bestIndex = -1;
@@ -34444,24 +34475,33 @@ function parseUsageBanner(text, now = /* @__PURE__ */ new Date()) {
34444
34475
  pattern.lastIndex++;
34445
34476
  let pct;
34446
34477
  let resetStr;
34478
+ let qualifier;
34447
34479
  if (i === 0) {
34448
34480
  pct = Number.parseInt(match[1], 10);
34449
34481
  resetStr = match[2];
34482
+ qualifier = "weekly";
34450
34483
  } else {
34451
34484
  pct = 100;
34452
- resetStr = match[1];
34485
+ resetStr = match.groups?.["reset"] ?? "";
34486
+ qualifier = match.groups?.["qualifier"]?.trim() || null;
34453
34487
  }
34454
34488
  if (!Number.isFinite(pct) || pct < 0 || pct > 100)
34455
34489
  continue;
34456
34490
  const nextChar = text[match.index + match[0].length];
34457
34491
  if (nextChar !== void 0 && /[A-Za-z0-9]/.test(nextChar))
34458
34492
  continue;
34459
- const weekResetsAt = parseResetDateTime(resetStr, now);
34460
- if (!weekResetsAt)
34493
+ const reset = parseResetDateTime(resetStr, now);
34494
+ if (!reset)
34461
34495
  continue;
34462
34496
  if (match.index >= bestIndex) {
34463
34497
  bestIndex = match.index;
34464
- best = { pct, weekResetsAt };
34498
+ best = {
34499
+ pct,
34500
+ weekResetsAt: reset.at,
34501
+ resetPrecision: reset.precision,
34502
+ limitScope: classifyLimitScope(qualifier),
34503
+ limitQualifier: qualifier
34504
+ };
34465
34505
  }
34466
34506
  }
34467
34507
  }
@@ -34505,7 +34545,10 @@ function parseResetDateTime(humanDate, now) {
34505
34545
  if (!hm)
34506
34546
  return null;
34507
34547
  const todayAt = Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), hm.hour, hm.minute);
34508
- return new Date(todayAt <= now.getTime() ? todayAt + MS_PER_DAY : todayAt);
34548
+ return {
34549
+ at: new Date(todayAt <= now.getTime() ? todayAt + MS_PER_DAY : todayAt),
34550
+ precision: "hour_only"
34551
+ };
34509
34552
  }
34510
34553
  const timeMatch = trimmed.match(TIME_TAIL);
34511
34554
  const dateOnly = timeMatch ? trimmed.slice(0, timeMatch.index).trim() : trimmed;
@@ -34538,7 +34581,7 @@ function parseResetDateTime(humanDate, now) {
34538
34581
  resolved = candidate;
34539
34582
  }
34540
34583
  }
34541
- return resolved;
34584
+ return resolved ? { at: resolved, precision: "dated" } : null;
34542
34585
  }
34543
34586
 
34544
34587
  // ../core/dist/claude-code-usage/run-marker.js
@@ -40393,7 +40436,8 @@ function notifyStatusMessage(muted, mode) {
40393
40436
  if (mode === "addressed") {
40394
40437
  return muted ? ":mute: This channel is *muted* \u2014 I won\u2019t wake on its messages, including ones that name me (a direct @-mention still reaches me). `/notify on` to resume." : ":bell: This channel is *active* \u2014 I wake on messages that address me by name, not on every message here (an @-mention always reaches me). `/notify off` to mute.";
40395
40438
  }
40396
- return muted ? ":grey_question: Your *mute* for this channel is *saved but not in effect* \u2014 I\u2019m not in a per-channel dispatch mode right now, so it isn\u2019t changing what wakes me. It applies as soon as an operator enables one." : ":grey_question: *No mute saved* for this channel \u2014 though it wouldn\u2019t apply yet either way: I\u2019m not in a per-channel dispatch mode right now. `/notify off` saves one for when an operator enables it.";
40439
+ const unblock = "This is the `notify-dispatch` flag: an operator turns it on, and a session already running only picks it up after a restart \u2014 so if it has just been enabled, ask for me to be restarted.";
40440
+ return muted ? `:grey_question: Your *mute* for this channel is *saved but not in effect* \u2014 I\u2019m not in a per-channel dispatch mode right now, so it isn\u2019t changing what wakes me. It applies as soon as one is live. ${unblock}` : `:grey_question: *No mute saved* for this channel \u2014 though it wouldn\u2019t apply yet either way: I\u2019m not in a per-channel dispatch mode right now. \`/notify off\` saves one for when it is live. ${unblock}`;
40397
40441
  }
40398
40442
 
40399
40443
  // src/slack-list-channels.ts
@@ -34577,6 +34577,17 @@ var CONDITIONAL_DELIVERY_BODY = [
34577
34577
  var FRESH_HEARTBEAT_THRESHOLD_MS = 2 * 60 * 1e3;
34578
34578
 
34579
34579
  // ../core/dist/claude-code-usage/banner-parser.js
34580
+ var SESSION_QUALIFIER = /^(?:session|\d{1,2}\s*-?\s*hours?|\d{1,2}h)$/i;
34581
+ function classifyLimitScope(qualifier) {
34582
+ const q = (qualifier ?? "").trim();
34583
+ if (!q)
34584
+ return "weekly";
34585
+ if (SESSION_QUALIFIER.test(q))
34586
+ return "session";
34587
+ if (/^weekly$/i.test(q))
34588
+ return "weekly";
34589
+ return "unknown";
34590
+ }
34580
34591
  var SEP = /[\s·\-–—]+/.source;
34581
34592
  var SUBJECT = /(?:You(?:['’]ve|\s+have)?\s+)?/.source;
34582
34593
  var TIME_OF_DAY = /\d{1,2}(?::\d{2})?\s*(?:am|pm)(?:\s*\(?UTC\)?)?/.source;
@@ -34590,7 +34601,27 @@ var BANNER_PATTERNS = [
34590
34601
  // Wrapped to keep the per-pattern shape consistent with the percentage form:
34591
34602
  // the parser checks group 1 for a digit string and treats a missing one as
34592
34603
  // pct=100.
34593
- new RegExp(`${SUBJECT}hit\\s+your\\s+(?:[a-z0-9-]+\\s+)?limit${SEP}resets\\s+(${RESET_DATE})`, "i")
34604
+ // ENG-9007: the qualifier is CAPTURED now, by name. It used to be
34605
+ // `(?:[a-z0-9-]+\s+)?` - permissive and non-capturing - so the parser
34606
+ // recognised "session" and "5-hour", matched on them, and threw the word away.
34607
+ // Named groups keep the numbered capture indices stable for the percentage
34608
+ // form above, which still reads groups 1 and 2 positionally.
34609
+ new RegExp(
34610
+ // CodeRabbit on #4621: the qualifier was ONE token, so `classifyLimitScope`
34611
+ // accepted "5 hours" while this pattern could never deliver it — the whole
34612
+ // banner failed to match, no observation was recorded, and the agent went
34613
+ // dark rather than merely being misclassified. Multi-token qualifiers now
34614
+ // match the duration shapes SESSION_QUALIFIER already accepts.
34615
+ //
34616
+ // Deliberately NOT the naive `[a-z0-9]+(?:\s*-?\s*[a-z0-9]+)*`: the
34617
+ // separator there can match empty, which reduces to `(a+)+` and backtracks
34618
+ // catastrophically on a long alphanumeric run that is never followed by
34619
+ // "limit". This parser runs over agent-produced pane.log tails, so that is
34620
+ // reachable input. Requiring at least one separator per extra token, and
34621
+ // bounding the count, keeps it linear.
34622
+ `${SUBJECT}hit\\s+your\\s+(?<qualifier>[a-z0-9]+(?:[\\s-]+[a-z0-9]+){0,3}\\s+)?limit${SEP}resets\\s+(?<reset>${RESET_DATE})`,
34623
+ "i"
34624
+ )
34594
34625
  ];
34595
34626
  function parseUsageBanner(text, now = /* @__PURE__ */ new Date()) {
34596
34627
  let bestIndex = -1;
@@ -34603,24 +34634,33 @@ function parseUsageBanner(text, now = /* @__PURE__ */ new Date()) {
34603
34634
  pattern.lastIndex++;
34604
34635
  let pct;
34605
34636
  let resetStr;
34637
+ let qualifier;
34606
34638
  if (i === 0) {
34607
34639
  pct = Number.parseInt(match[1], 10);
34608
34640
  resetStr = match[2];
34641
+ qualifier = "weekly";
34609
34642
  } else {
34610
34643
  pct = 100;
34611
- resetStr = match[1];
34644
+ resetStr = match.groups?.["reset"] ?? "";
34645
+ qualifier = match.groups?.["qualifier"]?.trim() || null;
34612
34646
  }
34613
34647
  if (!Number.isFinite(pct) || pct < 0 || pct > 100)
34614
34648
  continue;
34615
34649
  const nextChar = text[match.index + match[0].length];
34616
34650
  if (nextChar !== void 0 && /[A-Za-z0-9]/.test(nextChar))
34617
34651
  continue;
34618
- const weekResetsAt = parseResetDateTime(resetStr, now);
34619
- if (!weekResetsAt)
34652
+ const reset = parseResetDateTime(resetStr, now);
34653
+ if (!reset)
34620
34654
  continue;
34621
34655
  if (match.index >= bestIndex) {
34622
34656
  bestIndex = match.index;
34623
- best = { pct, weekResetsAt };
34657
+ best = {
34658
+ pct,
34659
+ weekResetsAt: reset.at,
34660
+ resetPrecision: reset.precision,
34661
+ limitScope: classifyLimitScope(qualifier),
34662
+ limitQualifier: qualifier
34663
+ };
34624
34664
  }
34625
34665
  }
34626
34666
  }
@@ -34664,7 +34704,10 @@ function parseResetDateTime(humanDate, now) {
34664
34704
  if (!hm)
34665
34705
  return null;
34666
34706
  const todayAt = Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate(), hm.hour, hm.minute);
34667
- return new Date(todayAt <= now.getTime() ? todayAt + MS_PER_DAY : todayAt);
34707
+ return {
34708
+ at: new Date(todayAt <= now.getTime() ? todayAt + MS_PER_DAY : todayAt),
34709
+ precision: "hour_only"
34710
+ };
34668
34711
  }
34669
34712
  const timeMatch = trimmed.match(TIME_TAIL);
34670
34713
  const dateOnly = timeMatch ? trimmed.slice(0, timeMatch.index).trim() : trimmed;
@@ -34697,7 +34740,7 @@ function parseResetDateTime(humanDate, now) {
34697
34740
  resolved = candidate;
34698
34741
  }
34699
34742
  }
34700
- return resolved;
34743
+ return resolved ? { at: resolved, precision: "dated" } : null;
34701
34744
  }
34702
34745
 
34703
34746
  // ../core/dist/claude-code-usage/run-marker.js
@@ -43,8 +43,8 @@ import {
43
43
  writeDirectChatSessionState,
44
44
  writeEgressAllowlist,
45
45
  writePersistentClaudeWrapper
46
- } from "./chunk-JRL7754L.js";
47
- import "./chunk-ZQXXK7JC.js";
46
+ } from "./chunk-6SJJM4FT.js";
47
+ import "./chunk-TYVQNCBU.js";
48
48
  import "./chunk-XWVM4KPK.js";
49
49
  export {
50
50
  EGRESS_BASELINE_DOMAINS,
@@ -92,4 +92,4 @@ export {
92
92
  writeEgressAllowlist,
93
93
  writePersistentClaudeWrapper
94
94
  };
95
- //# sourceMappingURL=persistent-session-U7PE7ZDB.js.map
95
+ //# sourceMappingURL=persistent-session-GM3EH2ZU.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-JRL7754L.js";
4
- import "./chunk-ZQXXK7JC.js";
3
+ } from "./chunk-6SJJM4FT.js";
4
+ import "./chunk-TYVQNCBU.js";
5
5
  import "./chunk-XWVM4KPK.js";
6
6
 
7
7
  // src/lib/responsiveness-probe.ts
@@ -710,4 +710,4 @@ export {
710
710
  readAndResetSlackReplyBindingClassifications,
711
711
  readAndResetSlackReplyTargetClassifications
712
712
  };
713
- //# sourceMappingURL=responsiveness-probe-K6DGNTXA.js.map
713
+ //# sourceMappingURL=responsiveness-probe-VSSJC3MN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-ZQXXK7JC.js";
3
+ } from "./chunk-TYVQNCBU.js";
4
4
 
5
5
  // src/lib/session-auth-dead.ts
6
6
  import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
@@ -203,4 +203,4 @@ export {
203
203
  decideSessionAuthState,
204
204
  probeSessionAuth
205
205
  };
206
- //# sourceMappingURL=session-auth-dead-RPMWBVBH.js.map
206
+ //# sourceMappingURL=session-auth-dead-KOKVXPPQ.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.613",
3
+ "version": "0.28.615",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {