@integrity-labs/agt-cli 0.28.571 → 0.28.573

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.
@@ -35213,7 +35213,7 @@ var FLAG_REGISTRY = [
35213
35213
  },
35214
35214
  {
35215
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.",
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 by itself make the thread private in the live direction: assistant replies fan out on the per-TEAM realtime topic direct-chat-agent:{agentId}, so a teammate holding the drawer open still receives them. That half is direct-chat-live-per-user (ENG-8760), which is a SEPARATE flag on purpose \u2014 turn both on for a private thread.",
35217
35217
  flagType: "boolean",
35218
35218
  // Declared safe value is `false` — today's team-wide thread. Server-side only
35219
35219
  // (the two reads in routes/agents.ts); the browser needs no knowledge of it,
@@ -35226,6 +35226,27 @@ var FLAG_REGISTRY = [
35226
35226
  // backfill in migration 20260812000006 is not reversed by the flag.
35227
35227
  defaultValue: false
35228
35228
  },
35229
+ {
35230
+ key: "direct-chat-live-per-user",
35231
+ description: "The LIVE half of per-user Direct Chat (ENG-8760). direct-chat-per-user scoped the two REST reads; assistant replies kept fanning out on the per-TEAM realtime topic direct-chat-agent:{agentId}, whose RLS (20260804000003) has no session and no user predicate \u2014 so a teammate holding the drawer open still received another member's replies live, and only a reload hid them. When on, a reply in a session a human has authored in is broadcast to direct-chat-user:{agentId}:{userId} instead, whose policy (20260812000009) pins the third segment to auth.uid(). Sessions NO human has authored in \u2014 the agent's inbound work queue: kanban and scheduled-task nudges, integration failures, HITL approvals, degradation alerts \u2014 keep going to the per-TEAM topic, matching arm 2 of the REST read, or this would repeat ENG-8431 in the live lane. Also admits the system_support concierge to the per-user topic, which the per-TEAM topic denies outright (its live delivery is additive here, never narrowed).",
35232
+ flagType: "boolean",
35233
+ // Declared safe value is `false` — today's per-TEAM fan-out, byte for byte,
35234
+ // for every agent kind including the concierge. Server-side only: the browser
35235
+ // subscribes to BOTH topics unconditionally and needs no knowledge of the
35236
+ // flag, so NOT public — which is also what keeps client and server from
35237
+ // disagreeing about it. No envVar: an org/team-scoped rollout gate with no
35238
+ // host-side consumer, and a declared envVar pinned in sst.config.ts would
35239
+ // make every admin-UI override unreachable (ENG-8303).
35240
+ //
35241
+ // DELIBERATELY INDEPENDENT of direct-chat-per-user. The two are separable in
35242
+ // both directions and neither ordering is unsafe: this one alone narrows live
35243
+ // delivery below what the REST read still serves (a teammate can load the
35244
+ // thread but stops receiving it live), and that one alone is the state
35245
+ // ENG-8712 shipped. Coupling them into one switch would have removed the
35246
+ // ability to soak the live change on an org that is already comfortable with
35247
+ // the read change.
35248
+ defaultValue: false
35249
+ },
35229
35250
  {
35230
35251
  key: "onboarding-auto-deploy",
35231
35252
  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).`,
@@ -41104,7 +41104,7 @@ var FLAG_REGISTRY = [
41104
41104
  },
41105
41105
  {
41106
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.",
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 by itself make the thread private in the live direction: assistant replies fan out on the per-TEAM realtime topic direct-chat-agent:{agentId}, so a teammate holding the drawer open still receives them. That half is direct-chat-live-per-user (ENG-8760), which is a SEPARATE flag on purpose \u2014 turn both on for a private thread.",
41108
41108
  flagType: "boolean",
41109
41109
  // Declared safe value is `false` — today's team-wide thread. Server-side only
41110
41110
  // (the two reads in routes/agents.ts); the browser needs no knowledge of it,
@@ -41117,6 +41117,27 @@ var FLAG_REGISTRY = [
41117
41117
  // backfill in migration 20260812000006 is not reversed by the flag.
41118
41118
  defaultValue: false
41119
41119
  },
41120
+ {
41121
+ key: "direct-chat-live-per-user",
41122
+ description: "The LIVE half of per-user Direct Chat (ENG-8760). direct-chat-per-user scoped the two REST reads; assistant replies kept fanning out on the per-TEAM realtime topic direct-chat-agent:{agentId}, whose RLS (20260804000003) has no session and no user predicate \u2014 so a teammate holding the drawer open still received another member's replies live, and only a reload hid them. When on, a reply in a session a human has authored in is broadcast to direct-chat-user:{agentId}:{userId} instead, whose policy (20260812000009) pins the third segment to auth.uid(). Sessions NO human has authored in \u2014 the agent's inbound work queue: kanban and scheduled-task nudges, integration failures, HITL approvals, degradation alerts \u2014 keep going to the per-TEAM topic, matching arm 2 of the REST read, or this would repeat ENG-8431 in the live lane. Also admits the system_support concierge to the per-user topic, which the per-TEAM topic denies outright (its live delivery is additive here, never narrowed).",
41123
+ flagType: "boolean",
41124
+ // Declared safe value is `false` — today's per-TEAM fan-out, byte for byte,
41125
+ // for every agent kind including the concierge. Server-side only: the browser
41126
+ // subscribes to BOTH topics unconditionally and needs no knowledge of the
41127
+ // flag, so NOT public — which is also what keeps client and server from
41128
+ // disagreeing about it. No envVar: an org/team-scoped rollout gate with no
41129
+ // host-side consumer, and a declared envVar pinned in sst.config.ts would
41130
+ // make every admin-UI override unreachable (ENG-8303).
41131
+ //
41132
+ // DELIBERATELY INDEPENDENT of direct-chat-per-user. The two are separable in
41133
+ // both directions and neither ordering is unsafe: this one alone narrows live
41134
+ // delivery below what the REST read still serves (a teammate can load the
41135
+ // thread but stops receiving it live), and that one alone is the state
41136
+ // ENG-8712 shipped. Coupling them into one switch would have removed the
41137
+ // ability to soak the live change on an org that is already comfortable with
41138
+ // the read change.
41139
+ defaultValue: false
41140
+ },
41120
41141
  {
41121
41142
  key: "onboarding-auto-deploy",
41122
41143
  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).`,
@@ -35549,7 +35549,7 @@ var FLAG_REGISTRY = [
35549
35549
  },
35550
35550
  {
35551
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.",
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 by itself make the thread private in the live direction: assistant replies fan out on the per-TEAM realtime topic direct-chat-agent:{agentId}, so a teammate holding the drawer open still receives them. That half is direct-chat-live-per-user (ENG-8760), which is a SEPARATE flag on purpose \u2014 turn both on for a private thread.",
35553
35553
  flagType: "boolean",
35554
35554
  // Declared safe value is `false` — today's team-wide thread. Server-side only
35555
35555
  // (the two reads in routes/agents.ts); the browser needs no knowledge of it,
@@ -35562,6 +35562,27 @@ var FLAG_REGISTRY = [
35562
35562
  // backfill in migration 20260812000006 is not reversed by the flag.
35563
35563
  defaultValue: false
35564
35564
  },
35565
+ {
35566
+ key: "direct-chat-live-per-user",
35567
+ description: "The LIVE half of per-user Direct Chat (ENG-8760). direct-chat-per-user scoped the two REST reads; assistant replies kept fanning out on the per-TEAM realtime topic direct-chat-agent:{agentId}, whose RLS (20260804000003) has no session and no user predicate \u2014 so a teammate holding the drawer open still received another member's replies live, and only a reload hid them. When on, a reply in a session a human has authored in is broadcast to direct-chat-user:{agentId}:{userId} instead, whose policy (20260812000009) pins the third segment to auth.uid(). Sessions NO human has authored in \u2014 the agent's inbound work queue: kanban and scheduled-task nudges, integration failures, HITL approvals, degradation alerts \u2014 keep going to the per-TEAM topic, matching arm 2 of the REST read, or this would repeat ENG-8431 in the live lane. Also admits the system_support concierge to the per-user topic, which the per-TEAM topic denies outright (its live delivery is additive here, never narrowed).",
35568
+ flagType: "boolean",
35569
+ // Declared safe value is `false` — today's per-TEAM fan-out, byte for byte,
35570
+ // for every agent kind including the concierge. Server-side only: the browser
35571
+ // subscribes to BOTH topics unconditionally and needs no knowledge of the
35572
+ // flag, so NOT public — which is also what keeps client and server from
35573
+ // disagreeing about it. No envVar: an org/team-scoped rollout gate with no
35574
+ // host-side consumer, and a declared envVar pinned in sst.config.ts would
35575
+ // make every admin-UI override unreachable (ENG-8303).
35576
+ //
35577
+ // DELIBERATELY INDEPENDENT of direct-chat-per-user. The two are separable in
35578
+ // both directions and neither ordering is unsafe: this one alone narrows live
35579
+ // delivery below what the REST read still serves (a teammate can load the
35580
+ // thread but stops receiving it live), and that one alone is the state
35581
+ // ENG-8712 shipped. Coupling them into one switch would have removed the
35582
+ // ability to soak the live change on an org that is already comfortable with
35583
+ // the read change.
35584
+ defaultValue: false
35585
+ },
35565
35586
  {
35566
35587
  key: "onboarding-auto-deploy",
35567
35588
  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).`,
@@ -35708,7 +35708,7 @@ var FLAG_REGISTRY = [
35708
35708
  },
35709
35709
  {
35710
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.",
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 by itself make the thread private in the live direction: assistant replies fan out on the per-TEAM realtime topic direct-chat-agent:{agentId}, so a teammate holding the drawer open still receives them. That half is direct-chat-live-per-user (ENG-8760), which is a SEPARATE flag on purpose \u2014 turn both on for a private thread.",
35712
35712
  flagType: "boolean",
35713
35713
  // Declared safe value is `false` — today's team-wide thread. Server-side only
35714
35714
  // (the two reads in routes/agents.ts); the browser needs no knowledge of it,
@@ -35721,6 +35721,27 @@ var FLAG_REGISTRY = [
35721
35721
  // backfill in migration 20260812000006 is not reversed by the flag.
35722
35722
  defaultValue: false
35723
35723
  },
35724
+ {
35725
+ key: "direct-chat-live-per-user",
35726
+ description: "The LIVE half of per-user Direct Chat (ENG-8760). direct-chat-per-user scoped the two REST reads; assistant replies kept fanning out on the per-TEAM realtime topic direct-chat-agent:{agentId}, whose RLS (20260804000003) has no session and no user predicate \u2014 so a teammate holding the drawer open still received another member's replies live, and only a reload hid them. When on, a reply in a session a human has authored in is broadcast to direct-chat-user:{agentId}:{userId} instead, whose policy (20260812000009) pins the third segment to auth.uid(). Sessions NO human has authored in \u2014 the agent's inbound work queue: kanban and scheduled-task nudges, integration failures, HITL approvals, degradation alerts \u2014 keep going to the per-TEAM topic, matching arm 2 of the REST read, or this would repeat ENG-8431 in the live lane. Also admits the system_support concierge to the per-user topic, which the per-TEAM topic denies outright (its live delivery is additive here, never narrowed).",
35727
+ flagType: "boolean",
35728
+ // Declared safe value is `false` — today's per-TEAM fan-out, byte for byte,
35729
+ // for every agent kind including the concierge. Server-side only: the browser
35730
+ // subscribes to BOTH topics unconditionally and needs no knowledge of the
35731
+ // flag, so NOT public — which is also what keeps client and server from
35732
+ // disagreeing about it. No envVar: an org/team-scoped rollout gate with no
35733
+ // host-side consumer, and a declared envVar pinned in sst.config.ts would
35734
+ // make every admin-UI override unreachable (ENG-8303).
35735
+ //
35736
+ // DELIBERATELY INDEPENDENT of direct-chat-per-user. The two are separable in
35737
+ // both directions and neither ordering is unsafe: this one alone narrows live
35738
+ // delivery below what the REST read still serves (a teammate can load the
35739
+ // thread but stops receiving it live), and that one alone is the state
35740
+ // ENG-8712 shipped. Coupling them into one switch would have removed the
35741
+ // ability to soak the live change on an org that is already comfortable with
35742
+ // the read change.
35743
+ defaultValue: false
35744
+ },
35724
35745
  {
35725
35746
  key: "onboarding-auto-deploy",
35726
35747
  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).`,
@@ -41,7 +41,7 @@ import {
41
41
  writeDirectChatSessionState,
42
42
  writeEgressAllowlist,
43
43
  writePersistentClaudeWrapper
44
- } from "./chunk-72K46XUZ.js";
44
+ } from "./chunk-5Z6RJ3RX.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-74MH2XTM.js.map
90
+ //# sourceMappingURL=persistent-session-6UGFGI6J.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-72K46XUZ.js";
3
+ } from "./chunk-5Z6RJ3RX.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-5VNQQZNJ.js.map
692
+ //# sourceMappingURL=responsiveness-probe-O7AVC73R.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.571",
3
+ "version": "0.28.573",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {