@integrity-labs/agt-cli 0.28.291 → 0.28.293

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.
@@ -13907,7 +13907,8 @@ function createInboundContextClient(args) {
13907
13907
  agent_id: agentId,
13908
13908
  source_integration: args2.sourceIntegration,
13909
13909
  source_external_id: args2.sourceExternalId,
13910
- ...args2.sourceUrl ? { source_url: args2.sourceUrl } : {}
13910
+ ...args2.sourceUrl ? { source_url: args2.sourceUrl } : {},
13911
+ ...args2.senderId ? { sender_id: args2.senderId } : {}
13911
13912
  };
13912
13913
  try {
13913
13914
  let resp = await postOnce(body);
@@ -15351,7 +15352,9 @@ async function pollForMessages(sinceMs) {
15351
15352
  }
15352
15353
  inboundContextClient?.recordInbound({
15353
15354
  sourceIntegration: "direct-chat",
15354
- sourceExternalId: msg.session_id
15355
+ sourceExternalId: msg.session_id,
15356
+ // ENG-7643 (P4a): the D16 verified sender uuid (requester identity).
15357
+ ...msg.sender_id ? { senderId: msg.sender_id } : {}
15355
15358
  });
15356
15359
  process.stderr.write(
15357
15360
  `direct-chat-channel: Injected message ${msg.id} (session=${msg.session_id})
@@ -39644,6 +39644,20 @@ var FLAG_REGISTRY = [
39644
39644
  // sensitive.
39645
39645
  public: true
39646
39646
  },
39647
+ {
39648
+ key: "integration-cap-enforcement",
39649
+ description: "Enforce the per-agent integration cap (ENG-7180 / ENG-7639). When ON for an org, adding an integration to an agent already at its plan cap (plans.max_integrations_per_agent, default 10) is refused with a 409 across all three attach paths (POST /integrations, the OAuth callback, and the GitHub App manifest-init), and GET /integrations/agent-cap reports at_limit so the webapp Add control blocks. When OFF (default) the cap is not enforced - an agent can add integrations without limit and agent-cap reports at_limit=false. Evaluated per-org API-side via getEvaluatedFlags; the authoritative BEFORE INSERT DB trigger was removed in ENG-7639, so the flag-gated app-level pre-flights are the sole enforcement point. Boolean gate; ships OFF (enforcement disabled) - flip ON per org from the admin Feature Flags page to re-arm the cap.",
39650
+ flagType: "boolean",
39651
+ // Declared safe value is `false` = NOT enforced. This is both the ENG-7639
39652
+ // intent (disable the cap for now) and the fail-safe direction for the route
39653
+ // read: a flag-DB error degrades to "don't enforce", so a flags outage never
39654
+ // blocks a customer's integration add. Flip on per org to re-arm enforcement.
39655
+ defaultValue: false,
39656
+ // Enforcement gate: leaving it OFF relaxes a plan-capacity control and turning
39657
+ // it ON blocks customer adds - either way it is a deliberate, audited decision,
39658
+ // so mutations require explicit confirmation (ADR-0022 §4).
39659
+ sensitive: true
39660
+ },
39647
39661
  {
39648
39662
  key: "augmented-live-stream-producer",
39649
39663
  description: "Augmented Live live-preview streaming producer (ENG-7210). The receiver (codec, artifact-draft channel, stream route, console Live Preview tab) shipped under ENG-6234 but never engages because nothing writes the working file the manager scanner watches. When ON for an org, a host-side PostToolUse hook mirrors agt-live.publish/editing content to ~/.augmented/{codeName}/artifacts/<slug>/index.html, so the scanner mints a draft and streams a keyframe to the console Live Preview tab. Additive, best-effort. Boolean gate; ships dark. Materialized to the host flags-cache; the bash hook reads it (operator/canary override AGT_LIVE_STREAM_PRODUCER_ENABLED).",
@@ -17766,7 +17766,8 @@ function createInboundContextClient(args) {
17766
17766
  agent_id: agentId,
17767
17767
  source_integration: args2.sourceIntegration,
17768
17768
  source_external_id: args2.sourceExternalId,
17769
- ...args2.sourceUrl ? { source_url: args2.sourceUrl } : {}
17769
+ ...args2.sourceUrl ? { source_url: args2.sourceUrl } : {},
17770
+ ...args2.senderId ? { sender_id: args2.senderId } : {}
17770
17771
  };
17771
17772
  try {
17772
17773
  let resp = await postOnce(body);
@@ -22402,7 +22403,9 @@ ${forwarded.text}` : forwarded.text;
22402
22403
  if (!isFromBot && threadTs) {
22403
22404
  inboundContextClient?.recordInbound({
22404
22405
  sourceIntegration: "slack",
22405
- sourceExternalId: `${channel}:${threadTs}`
22406
+ sourceExternalId: `${channel}:${threadTs}`,
22407
+ // ENG-7643 (P4a): the platform-verified Slack sender (requester id).
22408
+ ...evt.user ? { senderId: evt.user } : {}
22406
22409
  });
22407
22410
  }
22408
22411
  }
@@ -14672,7 +14672,8 @@ function createInboundContextClient(args) {
14672
14672
  agent_id: agentId,
14673
14673
  source_integration: args2.sourceIntegration,
14674
14674
  source_external_id: args2.sourceExternalId,
14675
- ...args2.sourceUrl ? { source_url: args2.sourceUrl } : {}
14675
+ ...args2.sourceUrl ? { source_url: args2.sourceUrl } : {},
14676
+ ...args2.senderId ? { sender_id: args2.senderId } : {}
14676
14677
  };
14677
14678
  try {
14678
14679
  let resp = await postOnce(body);
@@ -15485,7 +15486,9 @@ async function processPendingFile(filename) {
15485
15486
  inboundContextClient?.recordInbound({
15486
15487
  sourceIntegration: "msteams",
15487
15488
  sourceExternalId: `${activity.conversation.id}#${rootActivityId}`,
15488
- sourceUrl: activity.serviceUrl
15489
+ sourceUrl: activity.serviceUrl,
15490
+ // ENG-7643 (P4a): the Teams AAD object id of the sender (requester id).
15491
+ ...activity.from?.aadObjectId ? { senderId: activity.from.aadObjectId } : {}
15489
15492
  });
15490
15493
  }
15491
15494
  }
@@ -16471,7 +16471,8 @@ function createInboundContextClient(args) {
16471
16471
  agent_id: agentId,
16472
16472
  source_integration: args2.sourceIntegration,
16473
16473
  source_external_id: args2.sourceExternalId,
16474
- ...args2.sourceUrl ? { source_url: args2.sourceUrl } : {}
16474
+ ...args2.sourceUrl ? { source_url: args2.sourceUrl } : {},
16475
+ ...args2.senderId ? { sender_id: args2.senderId } : {}
16475
16476
  };
16476
16477
  try {
16477
16478
  let resp = await postOnce(body);
@@ -20960,7 +20961,10 @@ async function pollLoop() {
20960
20961
  if (!isFromBot && !peerAgentMeta) {
20961
20962
  inboundContextClient?.recordInbound({
20962
20963
  sourceIntegration: "telegram",
20963
- sourceExternalId: String(chatId)
20964
+ sourceExternalId: String(chatId),
20965
+ // ENG-7643 (P4a): the verified Telegram from-id (requester id);
20966
+ // 'unknown' means from.id was absent, so don't record it.
20967
+ ...userId && userId !== "unknown" ? { senderId: String(userId) } : {}
20964
20968
  });
20965
20969
  }
20966
20970
  }
@@ -36,7 +36,7 @@ import {
36
36
  writeDirectChatSessionState,
37
37
  writeEgressAllowlist,
38
38
  writePersistentClaudeWrapper
39
- } from "./chunk-BNQPLUUB.js";
39
+ } from "./chunk-IGADZDYT.js";
40
40
  import "./chunk-XWVM4KPK.js";
41
41
  export {
42
42
  EGRESS_BASELINE_DOMAINS,
@@ -77,4 +77,4 @@ export {
77
77
  writeEgressAllowlist,
78
78
  writePersistentClaudeWrapper
79
79
  };
80
- //# sourceMappingURL=persistent-session-WVLFEQPW.js.map
80
+ //# sourceMappingURL=persistent-session-7Z33SV2X.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-BNQPLUUB.js";
3
+ } from "./chunk-IGADZDYT.js";
4
4
  import "./chunk-XWVM4KPK.js";
5
5
 
6
6
  // src/lib/responsiveness-probe.ts
@@ -418,4 +418,4 @@ export {
418
418
  readAndResetSlackReplyBindingClassifications,
419
419
  readAndResetSlackReplyTargetClassifications
420
420
  };
421
- //# sourceMappingURL=responsiveness-probe-VCOYMMIT.js.map
421
+ //# sourceMappingURL=responsiveness-probe-RPX63Y5S.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.291",
3
+ "version": "0.28.293",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {