@integrity-labs/agt-cli 0.28.567 → 0.28.569

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.
@@ -35211,6 +35211,21 @@ var FLAG_REGISTRY = [
35211
35211
  defaultValue: false,
35212
35212
  public: true
35213
35213
  },
35214
+ {
35215
+ key: "direct-chat-per-user",
35216
+ description: "Scope a STANDARD agent's Direct Chat to the user who had the conversation (ENG-8712). Today two teammates who open the same agent land in the same thread and read each other's messages: the /recent and per-session reads carry no user predicate unless the agent is the per-org system_support concierge. When on, both reads return only sessions the requester authored in PLUS sessions no user has authored in \u2014 the second arm is load-bearing, since every server-originated row (kanban and scheduled-task nudges, integration failures, HITL approvals, degradation alerts) is written as role=user with no user_id and would otherwise vanish from every console (ENG-8431). Does NOT make the thread private in the live direction: assistant replies still fan out on the per-TEAM realtime topic direct-chat-agent:{agentId}, so a teammate holding the drawer open still receives them. Narrowing that topic is follow-up work.",
35217
+ flagType: "boolean",
35218
+ // Declared safe value is `false` — today's team-wide thread. Server-side only
35219
+ // (the two reads in routes/agents.ts); the browser needs no knowledge of it,
35220
+ // so NOT public. No envVar either: this is an org/team-scoped rollout gate
35221
+ // with no host-side consumer, and a declared envVar pinned in sst.config.ts
35222
+ // would make every admin-UI override unreachable (ENG-8303).
35223
+ //
35224
+ // A rollout device, not an undo. Flipping it back off restores the wider read,
35225
+ // but any message written while it was on was still written — and the legacy
35226
+ // backfill in migration 20260812000006 is not reversed by the flag.
35227
+ defaultValue: false
35228
+ },
35214
35229
  {
35215
35230
  key: "onboarding-auto-deploy",
35216
35231
  description: `Auto-deploy the first agent during onboarding (ENG-7378): the agent edit page's Deploy & Test tab fires the existing deploy (draft -> active) automatically once the agent's host is fully deployed (active + manager heartbeating, not provisioning) AND Claude-authenticated (claude_auth_status=valid), replacing the manual "Deploy Agent" click in the recruit funnel. Only draft, non-system_support agents; a failed or timed-out attempt falls back to the manual button (no auto-retry loop).`,
@@ -35371,21 +35386,20 @@ var FLAG_REGISTRY = [
35371
35386
  // by a hand-written process.env gate — so check-new-env-gates.sh stays quiet
35372
35387
  // and the escape hatch still exists for a per-host canary.
35373
35388
  envVar: "AGT_TOOL_CALL_AUDIT_ENABLED",
35374
- // PLACEHOLDER, deliberately unreachable see the identical treatment on
35375
- // `github-broker-credentials` below for the full reasoning. `since` is
35376
- // advisory: it is read only by computeFlagReach behind GET /admin/reach, so
35377
- // it changes what an operator is TOLD and does not itself stop a flip.
35378
- //
35379
- // The host-side reader ships in whichever agt-cli patch the auto-publish
35380
- // cuts after this merges, and that number cannot be known while writing
35381
- // this line. Omitting `since` is NOT the safe default here: it resolves to
35382
- // `honors`, reporting every host as honouring the flip — including hosts
35383
- // whose agt-cli has no reader at all. An unreachable value reports `stale`
35384
- // instead: conservative, and visibly wrong rather than invisibly wrong.
35389
+ // The real published version, replacing the deliberately-unreachable
35390
+ // placeholder this flag shipped with. `since` is advisory: it is read only
35391
+ // by computeFlagReach behind GET /flags/admin/reach?key=…, so it changes what an
35392
+ // operator is TOLD and does not itself stop a flip. Omitting it is NOT the
35393
+ // safe default — it resolves to `honors`, reporting every host as honouring
35394
+ // the flip, including hosts whose agt-cli has no reader at all.
35385
35395
  //
35386
- // BEFORE THIS FLAG IS FLIPPED ANYWHERE: replace this with the first
35387
- // published agt-cli version containing `maybeScanToolCalls`.
35388
- since: "0.29.0"
35396
+ // 0.28.566 is the auto-publish cut from the ENG-8575 merge (583cef8d9,
35397
+ // published 2026-08-12T08:32Z). Verified against the published tarball
35398
+ // rather than inferred from the merge: `maybeScanToolCalls`,
35399
+ // `tool-call-audit` and `tool-call-path-salt` are all present in
35400
+ // package/dist/lib/manager-worker.js — the manager, which is the actual
35401
+ // reader. The dist/mcp/* occurrences are bundling artifacts, not readers.
35402
+ since: "0.28.566"
35389
35403
  },
35390
35404
  {
35391
35405
  key: "conversation-eval-backend",
@@ -35981,7 +35995,7 @@ var FLAG_REGISTRY = [
35981
35995
  // has no basis for. That is the intended pre-bisect state.
35982
35996
  //
35983
35997
  // BUT `since` IS ADVISORY, NOT A GUARD. It is read in exactly one place -
35984
- // `computeFlagReach` behind GET /admin/reach, which renders the flip-reach
35998
+ // `computeFlagReach` behind GET /flags/admin/reach?key=…, which renders the flip-reach
35985
35999
  // modal. `evaluate.ts` never reads it and neither does the override write
35986
36000
  // path. The placeholder therefore changes what an operator is TOLD; it does
35987
36001
  // not stop a flip on an under-`since` host. What actually holds the line
@@ -41102,6 +41102,21 @@ var FLAG_REGISTRY = [
41102
41102
  defaultValue: false,
41103
41103
  public: true
41104
41104
  },
41105
+ {
41106
+ key: "direct-chat-per-user",
41107
+ description: "Scope a STANDARD agent's Direct Chat to the user who had the conversation (ENG-8712). Today two teammates who open the same agent land in the same thread and read each other's messages: the /recent and per-session reads carry no user predicate unless the agent is the per-org system_support concierge. When on, both reads return only sessions the requester authored in PLUS sessions no user has authored in \u2014 the second arm is load-bearing, since every server-originated row (kanban and scheduled-task nudges, integration failures, HITL approvals, degradation alerts) is written as role=user with no user_id and would otherwise vanish from every console (ENG-8431). Does NOT make the thread private in the live direction: assistant replies still fan out on the per-TEAM realtime topic direct-chat-agent:{agentId}, so a teammate holding the drawer open still receives them. Narrowing that topic is follow-up work.",
41108
+ flagType: "boolean",
41109
+ // Declared safe value is `false` — today's team-wide thread. Server-side only
41110
+ // (the two reads in routes/agents.ts); the browser needs no knowledge of it,
41111
+ // so NOT public. No envVar either: this is an org/team-scoped rollout gate
41112
+ // with no host-side consumer, and a declared envVar pinned in sst.config.ts
41113
+ // would make every admin-UI override unreachable (ENG-8303).
41114
+ //
41115
+ // A rollout device, not an undo. Flipping it back off restores the wider read,
41116
+ // but any message written while it was on was still written — and the legacy
41117
+ // backfill in migration 20260812000006 is not reversed by the flag.
41118
+ defaultValue: false
41119
+ },
41105
41120
  {
41106
41121
  key: "onboarding-auto-deploy",
41107
41122
  description: `Auto-deploy the first agent during onboarding (ENG-7378): the agent edit page's Deploy & Test tab fires the existing deploy (draft -> active) automatically once the agent's host is fully deployed (active + manager heartbeating, not provisioning) AND Claude-authenticated (claude_auth_status=valid), replacing the manual "Deploy Agent" click in the recruit funnel. Only draft, non-system_support agents; a failed or timed-out attempt falls back to the manual button (no auto-retry loop).`,
@@ -41262,21 +41277,20 @@ var FLAG_REGISTRY = [
41262
41277
  // by a hand-written process.env gate — so check-new-env-gates.sh stays quiet
41263
41278
  // and the escape hatch still exists for a per-host canary.
41264
41279
  envVar: "AGT_TOOL_CALL_AUDIT_ENABLED",
41265
- // PLACEHOLDER, deliberately unreachable see the identical treatment on
41266
- // `github-broker-credentials` below for the full reasoning. `since` is
41267
- // advisory: it is read only by computeFlagReach behind GET /admin/reach, so
41268
- // it changes what an operator is TOLD and does not itself stop a flip.
41269
- //
41270
- // The host-side reader ships in whichever agt-cli patch the auto-publish
41271
- // cuts after this merges, and that number cannot be known while writing
41272
- // this line. Omitting `since` is NOT the safe default here: it resolves to
41273
- // `honors`, reporting every host as honouring the flip — including hosts
41274
- // whose agt-cli has no reader at all. An unreachable value reports `stale`
41275
- // instead: conservative, and visibly wrong rather than invisibly wrong.
41280
+ // The real published version, replacing the deliberately-unreachable
41281
+ // placeholder this flag shipped with. `since` is advisory: it is read only
41282
+ // by computeFlagReach behind GET /flags/admin/reach?key=…, so it changes what an
41283
+ // operator is TOLD and does not itself stop a flip. Omitting it is NOT the
41284
+ // safe default — it resolves to `honors`, reporting every host as honouring
41285
+ // the flip, including hosts whose agt-cli has no reader at all.
41276
41286
  //
41277
- // BEFORE THIS FLAG IS FLIPPED ANYWHERE: replace this with the first
41278
- // published agt-cli version containing `maybeScanToolCalls`.
41279
- since: "0.29.0"
41287
+ // 0.28.566 is the auto-publish cut from the ENG-8575 merge (583cef8d9,
41288
+ // published 2026-08-12T08:32Z). Verified against the published tarball
41289
+ // rather than inferred from the merge: `maybeScanToolCalls`,
41290
+ // `tool-call-audit` and `tool-call-path-salt` are all present in
41291
+ // package/dist/lib/manager-worker.js — the manager, which is the actual
41292
+ // reader. The dist/mcp/* occurrences are bundling artifacts, not readers.
41293
+ since: "0.28.566"
41280
41294
  },
41281
41295
  {
41282
41296
  key: "conversation-eval-backend",
@@ -41872,7 +41886,7 @@ var FLAG_REGISTRY = [
41872
41886
  // has no basis for. That is the intended pre-bisect state.
41873
41887
  //
41874
41888
  // BUT `since` IS ADVISORY, NOT A GUARD. It is read in exactly one place -
41875
- // `computeFlagReach` behind GET /admin/reach, which renders the flip-reach
41889
+ // `computeFlagReach` behind GET /flags/admin/reach?key=…, which renders the flip-reach
41876
41890
  // modal. `evaluate.ts` never reads it and neither does the override write
41877
41891
  // path. The placeholder therefore changes what an operator is TOLD; it does
41878
41892
  // not stop a flip on an under-`since` host. What actually holds the line
@@ -35547,6 +35547,21 @@ var FLAG_REGISTRY = [
35547
35547
  defaultValue: false,
35548
35548
  public: true
35549
35549
  },
35550
+ {
35551
+ key: "direct-chat-per-user",
35552
+ description: "Scope a STANDARD agent's Direct Chat to the user who had the conversation (ENG-8712). Today two teammates who open the same agent land in the same thread and read each other's messages: the /recent and per-session reads carry no user predicate unless the agent is the per-org system_support concierge. When on, both reads return only sessions the requester authored in PLUS sessions no user has authored in \u2014 the second arm is load-bearing, since every server-originated row (kanban and scheduled-task nudges, integration failures, HITL approvals, degradation alerts) is written as role=user with no user_id and would otherwise vanish from every console (ENG-8431). Does NOT make the thread private in the live direction: assistant replies still fan out on the per-TEAM realtime topic direct-chat-agent:{agentId}, so a teammate holding the drawer open still receives them. Narrowing that topic is follow-up work.",
35553
+ flagType: "boolean",
35554
+ // Declared safe value is `false` — today's team-wide thread. Server-side only
35555
+ // (the two reads in routes/agents.ts); the browser needs no knowledge of it,
35556
+ // so NOT public. No envVar either: this is an org/team-scoped rollout gate
35557
+ // with no host-side consumer, and a declared envVar pinned in sst.config.ts
35558
+ // would make every admin-UI override unreachable (ENG-8303).
35559
+ //
35560
+ // A rollout device, not an undo. Flipping it back off restores the wider read,
35561
+ // but any message written while it was on was still written — and the legacy
35562
+ // backfill in migration 20260812000006 is not reversed by the flag.
35563
+ defaultValue: false
35564
+ },
35550
35565
  {
35551
35566
  key: "onboarding-auto-deploy",
35552
35567
  description: `Auto-deploy the first agent during onboarding (ENG-7378): the agent edit page's Deploy & Test tab fires the existing deploy (draft -> active) automatically once the agent's host is fully deployed (active + manager heartbeating, not provisioning) AND Claude-authenticated (claude_auth_status=valid), replacing the manual "Deploy Agent" click in the recruit funnel. Only draft, non-system_support agents; a failed or timed-out attempt falls back to the manual button (no auto-retry loop).`,
@@ -35707,21 +35722,20 @@ var FLAG_REGISTRY = [
35707
35722
  // by a hand-written process.env gate — so check-new-env-gates.sh stays quiet
35708
35723
  // and the escape hatch still exists for a per-host canary.
35709
35724
  envVar: "AGT_TOOL_CALL_AUDIT_ENABLED",
35710
- // PLACEHOLDER, deliberately unreachable see the identical treatment on
35711
- // `github-broker-credentials` below for the full reasoning. `since` is
35712
- // advisory: it is read only by computeFlagReach behind GET /admin/reach, so
35713
- // it changes what an operator is TOLD and does not itself stop a flip.
35714
- //
35715
- // The host-side reader ships in whichever agt-cli patch the auto-publish
35716
- // cuts after this merges, and that number cannot be known while writing
35717
- // this line. Omitting `since` is NOT the safe default here: it resolves to
35718
- // `honors`, reporting every host as honouring the flip — including hosts
35719
- // whose agt-cli has no reader at all. An unreachable value reports `stale`
35720
- // instead: conservative, and visibly wrong rather than invisibly wrong.
35725
+ // The real published version, replacing the deliberately-unreachable
35726
+ // placeholder this flag shipped with. `since` is advisory: it is read only
35727
+ // by computeFlagReach behind GET /flags/admin/reach?key=…, so it changes what an
35728
+ // operator is TOLD and does not itself stop a flip. Omitting it is NOT the
35729
+ // safe default — it resolves to `honors`, reporting every host as honouring
35730
+ // the flip, including hosts whose agt-cli has no reader at all.
35721
35731
  //
35722
- // BEFORE THIS FLAG IS FLIPPED ANYWHERE: replace this with the first
35723
- // published agt-cli version containing `maybeScanToolCalls`.
35724
- since: "0.29.0"
35732
+ // 0.28.566 is the auto-publish cut from the ENG-8575 merge (583cef8d9,
35733
+ // published 2026-08-12T08:32Z). Verified against the published tarball
35734
+ // rather than inferred from the merge: `maybeScanToolCalls`,
35735
+ // `tool-call-audit` and `tool-call-path-salt` are all present in
35736
+ // package/dist/lib/manager-worker.js — the manager, which is the actual
35737
+ // reader. The dist/mcp/* occurrences are bundling artifacts, not readers.
35738
+ since: "0.28.566"
35725
35739
  },
35726
35740
  {
35727
35741
  key: "conversation-eval-backend",
@@ -36317,7 +36331,7 @@ var FLAG_REGISTRY = [
36317
36331
  // has no basis for. That is the intended pre-bisect state.
36318
36332
  //
36319
36333
  // BUT `since` IS ADVISORY, NOT A GUARD. It is read in exactly one place -
36320
- // `computeFlagReach` behind GET /admin/reach, which renders the flip-reach
36334
+ // `computeFlagReach` behind GET /flags/admin/reach?key=…, which renders the flip-reach
36321
36335
  // modal. `evaluate.ts` never reads it and neither does the override write
36322
36336
  // path. The placeholder therefore changes what an operator is TOLD; it does
36323
36337
  // not stop a flip on an under-`since` host. What actually holds the line
@@ -35706,6 +35706,21 @@ var FLAG_REGISTRY = [
35706
35706
  defaultValue: false,
35707
35707
  public: true
35708
35708
  },
35709
+ {
35710
+ key: "direct-chat-per-user",
35711
+ description: "Scope a STANDARD agent's Direct Chat to the user who had the conversation (ENG-8712). Today two teammates who open the same agent land in the same thread and read each other's messages: the /recent and per-session reads carry no user predicate unless the agent is the per-org system_support concierge. When on, both reads return only sessions the requester authored in PLUS sessions no user has authored in \u2014 the second arm is load-bearing, since every server-originated row (kanban and scheduled-task nudges, integration failures, HITL approvals, degradation alerts) is written as role=user with no user_id and would otherwise vanish from every console (ENG-8431). Does NOT make the thread private in the live direction: assistant replies still fan out on the per-TEAM realtime topic direct-chat-agent:{agentId}, so a teammate holding the drawer open still receives them. Narrowing that topic is follow-up work.",
35712
+ flagType: "boolean",
35713
+ // Declared safe value is `false` — today's team-wide thread. Server-side only
35714
+ // (the two reads in routes/agents.ts); the browser needs no knowledge of it,
35715
+ // so NOT public. No envVar either: this is an org/team-scoped rollout gate
35716
+ // with no host-side consumer, and a declared envVar pinned in sst.config.ts
35717
+ // would make every admin-UI override unreachable (ENG-8303).
35718
+ //
35719
+ // A rollout device, not an undo. Flipping it back off restores the wider read,
35720
+ // but any message written while it was on was still written — and the legacy
35721
+ // backfill in migration 20260812000006 is not reversed by the flag.
35722
+ defaultValue: false
35723
+ },
35709
35724
  {
35710
35725
  key: "onboarding-auto-deploy",
35711
35726
  description: `Auto-deploy the first agent during onboarding (ENG-7378): the agent edit page's Deploy & Test tab fires the existing deploy (draft -> active) automatically once the agent's host is fully deployed (active + manager heartbeating, not provisioning) AND Claude-authenticated (claude_auth_status=valid), replacing the manual "Deploy Agent" click in the recruit funnel. Only draft, non-system_support agents; a failed or timed-out attempt falls back to the manual button (no auto-retry loop).`,
@@ -35866,21 +35881,20 @@ var FLAG_REGISTRY = [
35866
35881
  // by a hand-written process.env gate — so check-new-env-gates.sh stays quiet
35867
35882
  // and the escape hatch still exists for a per-host canary.
35868
35883
  envVar: "AGT_TOOL_CALL_AUDIT_ENABLED",
35869
- // PLACEHOLDER, deliberately unreachable see the identical treatment on
35870
- // `github-broker-credentials` below for the full reasoning. `since` is
35871
- // advisory: it is read only by computeFlagReach behind GET /admin/reach, so
35872
- // it changes what an operator is TOLD and does not itself stop a flip.
35873
- //
35874
- // The host-side reader ships in whichever agt-cli patch the auto-publish
35875
- // cuts after this merges, and that number cannot be known while writing
35876
- // this line. Omitting `since` is NOT the safe default here: it resolves to
35877
- // `honors`, reporting every host as honouring the flip — including hosts
35878
- // whose agt-cli has no reader at all. An unreachable value reports `stale`
35879
- // instead: conservative, and visibly wrong rather than invisibly wrong.
35884
+ // The real published version, replacing the deliberately-unreachable
35885
+ // placeholder this flag shipped with. `since` is advisory: it is read only
35886
+ // by computeFlagReach behind GET /flags/admin/reach?key=…, so it changes what an
35887
+ // operator is TOLD and does not itself stop a flip. Omitting it is NOT the
35888
+ // safe default — it resolves to `honors`, reporting every host as honouring
35889
+ // the flip, including hosts whose agt-cli has no reader at all.
35880
35890
  //
35881
- // BEFORE THIS FLAG IS FLIPPED ANYWHERE: replace this with the first
35882
- // published agt-cli version containing `maybeScanToolCalls`.
35883
- since: "0.29.0"
35891
+ // 0.28.566 is the auto-publish cut from the ENG-8575 merge (583cef8d9,
35892
+ // published 2026-08-12T08:32Z). Verified against the published tarball
35893
+ // rather than inferred from the merge: `maybeScanToolCalls`,
35894
+ // `tool-call-audit` and `tool-call-path-salt` are all present in
35895
+ // package/dist/lib/manager-worker.js — the manager, which is the actual
35896
+ // reader. The dist/mcp/* occurrences are bundling artifacts, not readers.
35897
+ since: "0.28.566"
35884
35898
  },
35885
35899
  {
35886
35900
  key: "conversation-eval-backend",
@@ -36476,7 +36490,7 @@ var FLAG_REGISTRY = [
36476
36490
  // has no basis for. That is the intended pre-bisect state.
36477
36491
  //
36478
36492
  // BUT `since` IS ADVISORY, NOT A GUARD. It is read in exactly one place -
36479
- // `computeFlagReach` behind GET /admin/reach, which renders the flip-reach
36493
+ // `computeFlagReach` behind GET /flags/admin/reach?key=…, which renders the flip-reach
36480
36494
  // modal. `evaluate.ts` never reads it and neither does the override write
36481
36495
  // path. The placeholder therefore changes what an operator is TOLD; it does
36482
36496
  // not stop a flip on an under-`since` host. What actually holds the line
@@ -41,7 +41,7 @@ import {
41
41
  writeDirectChatSessionState,
42
42
  writeEgressAllowlist,
43
43
  writePersistentClaudeWrapper
44
- } from "./chunk-FSWAPB5J.js";
44
+ } from "./chunk-7O2TXBWR.js";
45
45
  import "./chunk-XWVM4KPK.js";
46
46
  export {
47
47
  EGRESS_BASELINE_DOMAINS,
@@ -87,4 +87,4 @@ export {
87
87
  writeEgressAllowlist,
88
88
  writePersistentClaudeWrapper
89
89
  };
90
- //# sourceMappingURL=persistent-session-DVTSZAPE.js.map
90
+ //# sourceMappingURL=persistent-session-WUNZJXCI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-FSWAPB5J.js";
3
+ } from "./chunk-7O2TXBWR.js";
4
4
  import "./chunk-XWVM4KPK.js";
5
5
 
6
6
  // src/lib/responsiveness-probe.ts
@@ -689,4 +689,4 @@ export {
689
689
  readAndResetSlackReplyBindingClassifications,
690
690
  readAndResetSlackReplyTargetClassifications
691
691
  };
692
- //# sourceMappingURL=responsiveness-probe-KEFPJXQ6.js.map
692
+ //# sourceMappingURL=responsiveness-probe-V3P5TGBH.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.567",
3
+ "version": "0.28.569",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {