@integrity-labs/agt-cli 0.28.377 → 0.28.379

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.
@@ -32422,12 +32422,18 @@ var compiledMetaSchema = ajv2.compile(context_meta_schema_default);
32422
32422
  // ../core/dist/integrations/tool-tier-heuristic.js
32423
32423
  var READ_VERBS = "GET|LIST|FIND|FETCH|RETRIEVE|SEARCH|QUERY|DESCRIBE|INSPECT|SCAN|SHOW|VIEW|READ|EXPORT|DOWNLOAD";
32424
32424
  var NO_READ_VERB_ACTION = `(?!(?:^|.*[_-])(${READ_VERBS})[_-])`;
32425
+ var DRAFT_COMPOSE_VERBS = "CREATE|COMPOSE|SAVE|UPDATE|ADD";
32426
+ var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|REPLY|FORWARD|DISPATCH|SUBMIT";
32427
+ var NO_DRAFT_COMPOSE_ACTION = `(?!(?=.*(?:^|[_-])(?:${DRAFT_COMPOSE_VERBS})[_-])(?!.*(?:^|[_-])(?:${DRAFT_DISPATCH_VERBS})[_-]).*_DRAFT(?:_|$))`;
32425
32428
  var NO_READ_VERB_INCL_SUFFIX = `(?!(?:^|.*[_-])(${READ_VERBS})(?:[_-]|$))`;
32426
32429
  function p(re) {
32427
32430
  return { re, label: re.source };
32428
32431
  }
32429
32432
  function highRisk(core) {
32430
- return { re: new RegExp(`^${NO_READ_VERB_ACTION}.*${core.source}`, "i"), label: core.source };
32433
+ return {
32434
+ re: new RegExp(`^${NO_READ_VERB_ACTION}${NO_DRAFT_COMPOSE_ACTION}.*${core.source}`, "i"),
32435
+ label: core.source
32436
+ };
32431
32437
  }
32432
32438
  var TIER_PATTERNS = [
32433
32439
  {
@@ -34953,6 +34959,17 @@ var FLAG_REGISTRY = [
34953
34959
  // so it is a deliberate, audited per-org flip (ADR-0022 §4).
34954
34960
  sensitive: true
34955
34961
  },
34962
+ {
34963
+ key: "approval-notify-auto-resolve",
34964
+ description: `Approval-notification "Auto" dispatch resolution (ENG-7985). When ON for an org, an approver whose approval_notify_channel is "Auto" (unset) has their approval card resolved to the best LINKED chat surface at dispatch time - Slack DM first, else Telegram DM - instead of silently falling through to the team channel / agent-watched direct-chat thread (where the approver never sees it). Explicit slack/telegram/email/msteams preferences are unchanged, and an explicit-but-unsatisfiable pref is never silently rerouted. Default OFF is behaviour-preserving, so existing orgs' approvers do not suddenly start receiving DMs without opt-in. Evaluated per-org. Ships dark.`,
34965
+ flagType: "boolean",
34966
+ // Safe/default value is `false` (today's resolution: Auto falls to team/direct-chat). A flag-DB
34967
+ // read error degrades to this, so an outage can never flip approval routing for an org.
34968
+ defaultValue: false,
34969
+ // A routing/visibility change (which surface an approval card is DM'd to), not a control that
34970
+ // blocks customer email - so not `sensitive`, unlike the email-guard enable gates above.
34971
+ sensitive: false
34972
+ },
34956
34973
  {
34957
34974
  key: "slack-reply-binding",
34958
34975
  description: "Slack reply-target binding (ENG-7396 / WS2, cross-thread reply routing): the model names which inbound it answers (inbound_id) and the server resolves the destination from its own verified record. shadow = classify + count only, routing unchanged; warn = same routing plus a tool-result note so the model self-corrects; enforce = route a bound reply to the registry thread and REJECT a reply whose target matches no inbound this process delivered. The channel server can't evaluate flags, so the manager materializes the resolved value into the AGT_SLACK_REPLY_BINDING spawn env (the operator/canary override, ADR-0022). Ships shadow.",
@@ -38122,12 +38122,18 @@ var compiledMetaSchema = ajv2.compile(context_meta_schema_default);
38122
38122
  // ../core/dist/integrations/tool-tier-heuristic.js
38123
38123
  var READ_VERBS = "GET|LIST|FIND|FETCH|RETRIEVE|SEARCH|QUERY|DESCRIBE|INSPECT|SCAN|SHOW|VIEW|READ|EXPORT|DOWNLOAD";
38124
38124
  var NO_READ_VERB_ACTION = `(?!(?:^|.*[_-])(${READ_VERBS})[_-])`;
38125
+ var DRAFT_COMPOSE_VERBS = "CREATE|COMPOSE|SAVE|UPDATE|ADD";
38126
+ var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|REPLY|FORWARD|DISPATCH|SUBMIT";
38127
+ var NO_DRAFT_COMPOSE_ACTION = `(?!(?=.*(?:^|[_-])(?:${DRAFT_COMPOSE_VERBS})[_-])(?!.*(?:^|[_-])(?:${DRAFT_DISPATCH_VERBS})[_-]).*_DRAFT(?:_|$))`;
38125
38128
  var NO_READ_VERB_INCL_SUFFIX = `(?!(?:^|.*[_-])(${READ_VERBS})(?:[_-]|$))`;
38126
38129
  function p(re) {
38127
38130
  return { re, label: re.source };
38128
38131
  }
38129
38132
  function highRisk(core) {
38130
- return { re: new RegExp(`^${NO_READ_VERB_ACTION}.*${core.source}`, "i"), label: core.source };
38133
+ return {
38134
+ re: new RegExp(`^${NO_READ_VERB_ACTION}${NO_DRAFT_COMPOSE_ACTION}.*${core.source}`, "i"),
38135
+ label: core.source
38136
+ };
38131
38137
  }
38132
38138
  var TIER_PATTERNS = [
38133
38139
  {
@@ -40617,6 +40623,17 @@ var FLAG_REGISTRY = [
40617
40623
  // so it is a deliberate, audited per-org flip (ADR-0022 §4).
40618
40624
  sensitive: true
40619
40625
  },
40626
+ {
40627
+ key: "approval-notify-auto-resolve",
40628
+ description: `Approval-notification "Auto" dispatch resolution (ENG-7985). When ON for an org, an approver whose approval_notify_channel is "Auto" (unset) has their approval card resolved to the best LINKED chat surface at dispatch time - Slack DM first, else Telegram DM - instead of silently falling through to the team channel / agent-watched direct-chat thread (where the approver never sees it). Explicit slack/telegram/email/msteams preferences are unchanged, and an explicit-but-unsatisfiable pref is never silently rerouted. Default OFF is behaviour-preserving, so existing orgs' approvers do not suddenly start receiving DMs without opt-in. Evaluated per-org. Ships dark.`,
40629
+ flagType: "boolean",
40630
+ // Safe/default value is `false` (today's resolution: Auto falls to team/direct-chat). A flag-DB
40631
+ // read error degrades to this, so an outage can never flip approval routing for an org.
40632
+ defaultValue: false,
40633
+ // A routing/visibility change (which surface an approval card is DM'd to), not a control that
40634
+ // blocks customer email - so not `sensitive`, unlike the email-guard enable gates above.
40635
+ sensitive: false
40636
+ },
40620
40637
  {
40621
40638
  key: "slack-reply-binding",
40622
40639
  description: "Slack reply-target binding (ENG-7396 / WS2, cross-thread reply routing): the model names which inbound it answers (inbound_id) and the server resolves the destination from its own verified record. shadow = classify + count only, routing unchanged; warn = same routing plus a tool-result note so the model self-corrects; enforce = route a bound reply to the registry thread and REJECT a reply whose target matches no inbound this process delivered. The channel server can't evaluate flags, so the manager materializes the resolved value into the AGT_SLACK_REPLY_BINDING spawn env (the operator/canary override, ADR-0022). Ships shadow.",
@@ -32005,12 +32005,18 @@ var compiledMetaSchema = ajv2.compile(context_meta_schema_default);
32005
32005
  // ../core/dist/integrations/tool-tier-heuristic.js
32006
32006
  var READ_VERBS = "GET|LIST|FIND|FETCH|RETRIEVE|SEARCH|QUERY|DESCRIBE|INSPECT|SCAN|SHOW|VIEW|READ|EXPORT|DOWNLOAD";
32007
32007
  var NO_READ_VERB_ACTION = `(?!(?:^|.*[_-])(${READ_VERBS})[_-])`;
32008
+ var DRAFT_COMPOSE_VERBS = "CREATE|COMPOSE|SAVE|UPDATE|ADD";
32009
+ var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|REPLY|FORWARD|DISPATCH|SUBMIT";
32010
+ var NO_DRAFT_COMPOSE_ACTION = `(?!(?=.*(?:^|[_-])(?:${DRAFT_COMPOSE_VERBS})[_-])(?!.*(?:^|[_-])(?:${DRAFT_DISPATCH_VERBS})[_-]).*_DRAFT(?:_|$))`;
32008
32011
  var NO_READ_VERB_INCL_SUFFIX = `(?!(?:^|.*[_-])(${READ_VERBS})(?:[_-]|$))`;
32009
32012
  function p(re) {
32010
32013
  return { re, label: re.source };
32011
32014
  }
32012
32015
  function highRisk(core) {
32013
- return { re: new RegExp(`^${NO_READ_VERB_ACTION}.*${core.source}`, "i"), label: core.source };
32016
+ return {
32017
+ re: new RegExp(`^${NO_READ_VERB_ACTION}${NO_DRAFT_COMPOSE_ACTION}.*${core.source}`, "i"),
32018
+ label: core.source
32019
+ };
32014
32020
  }
32015
32021
  var TIER_PATTERNS = [
32016
32022
  {
@@ -34536,6 +34542,17 @@ var FLAG_REGISTRY = [
34536
34542
  // so it is a deliberate, audited per-org flip (ADR-0022 §4).
34537
34543
  sensitive: true
34538
34544
  },
34545
+ {
34546
+ key: "approval-notify-auto-resolve",
34547
+ description: `Approval-notification "Auto" dispatch resolution (ENG-7985). When ON for an org, an approver whose approval_notify_channel is "Auto" (unset) has their approval card resolved to the best LINKED chat surface at dispatch time - Slack DM first, else Telegram DM - instead of silently falling through to the team channel / agent-watched direct-chat thread (where the approver never sees it). Explicit slack/telegram/email/msteams preferences are unchanged, and an explicit-but-unsatisfiable pref is never silently rerouted. Default OFF is behaviour-preserving, so existing orgs' approvers do not suddenly start receiving DMs without opt-in. Evaluated per-org. Ships dark.`,
34548
+ flagType: "boolean",
34549
+ // Safe/default value is `false` (today's resolution: Auto falls to team/direct-chat). A flag-DB
34550
+ // read error degrades to this, so an outage can never flip approval routing for an org.
34551
+ defaultValue: false,
34552
+ // A routing/visibility change (which surface an approval card is DM'd to), not a control that
34553
+ // blocks customer email - so not `sensitive`, unlike the email-guard enable gates above.
34554
+ sensitive: false
34555
+ },
34539
34556
  {
34540
34557
  key: "slack-reply-binding",
34541
34558
  description: "Slack reply-target binding (ENG-7396 / WS2, cross-thread reply routing): the model names which inbound it answers (inbound_id) and the server resolves the destination from its own verified record. shadow = classify + count only, routing unchanged; warn = same routing plus a tool-result note so the model self-corrects; enforce = route a bound reply to the registry thread and REJECT a reply whose target matches no inbound this process delivered. The channel server can't evaluate flags, so the manager materializes the resolved value into the AGT_SLACK_REPLY_BINDING spawn env (the operator/canary override, ADR-0022). Ships shadow.",
@@ -32355,12 +32355,18 @@ var compiledMetaSchema = ajv2.compile(context_meta_schema_default);
32355
32355
  // ../core/dist/integrations/tool-tier-heuristic.js
32356
32356
  var READ_VERBS = "GET|LIST|FIND|FETCH|RETRIEVE|SEARCH|QUERY|DESCRIBE|INSPECT|SCAN|SHOW|VIEW|READ|EXPORT|DOWNLOAD";
32357
32357
  var NO_READ_VERB_ACTION = `(?!(?:^|.*[_-])(${READ_VERBS})[_-])`;
32358
+ var DRAFT_COMPOSE_VERBS = "CREATE|COMPOSE|SAVE|UPDATE|ADD";
32359
+ var DRAFT_DISPATCH_VERBS = "SEND|POST|PUBLISH|REPLY|FORWARD|DISPATCH|SUBMIT";
32360
+ var NO_DRAFT_COMPOSE_ACTION = `(?!(?=.*(?:^|[_-])(?:${DRAFT_COMPOSE_VERBS})[_-])(?!.*(?:^|[_-])(?:${DRAFT_DISPATCH_VERBS})[_-]).*_DRAFT(?:_|$))`;
32358
32361
  var NO_READ_VERB_INCL_SUFFIX = `(?!(?:^|.*[_-])(${READ_VERBS})(?:[_-]|$))`;
32359
32362
  function p(re) {
32360
32363
  return { re, label: re.source };
32361
32364
  }
32362
32365
  function highRisk(core) {
32363
- return { re: new RegExp(`^${NO_READ_VERB_ACTION}.*${core.source}`, "i"), label: core.source };
32366
+ return {
32367
+ re: new RegExp(`^${NO_READ_VERB_ACTION}${NO_DRAFT_COMPOSE_ACTION}.*${core.source}`, "i"),
32368
+ label: core.source
32369
+ };
32364
32370
  }
32365
32371
  var TIER_PATTERNS = [
32366
32372
  {
@@ -34886,6 +34892,17 @@ var FLAG_REGISTRY = [
34886
34892
  // so it is a deliberate, audited per-org flip (ADR-0022 §4).
34887
34893
  sensitive: true
34888
34894
  },
34895
+ {
34896
+ key: "approval-notify-auto-resolve",
34897
+ description: `Approval-notification "Auto" dispatch resolution (ENG-7985). When ON for an org, an approver whose approval_notify_channel is "Auto" (unset) has their approval card resolved to the best LINKED chat surface at dispatch time - Slack DM first, else Telegram DM - instead of silently falling through to the team channel / agent-watched direct-chat thread (where the approver never sees it). Explicit slack/telegram/email/msteams preferences are unchanged, and an explicit-but-unsatisfiable pref is never silently rerouted. Default OFF is behaviour-preserving, so existing orgs' approvers do not suddenly start receiving DMs without opt-in. Evaluated per-org. Ships dark.`,
34898
+ flagType: "boolean",
34899
+ // Safe/default value is `false` (today's resolution: Auto falls to team/direct-chat). A flag-DB
34900
+ // read error degrades to this, so an outage can never flip approval routing for an org.
34901
+ defaultValue: false,
34902
+ // A routing/visibility change (which surface an approval card is DM'd to), not a control that
34903
+ // blocks customer email - so not `sensitive`, unlike the email-guard enable gates above.
34904
+ sensitive: false
34905
+ },
34889
34906
  {
34890
34907
  key: "slack-reply-binding",
34891
34908
  description: "Slack reply-target binding (ENG-7396 / WS2, cross-thread reply routing): the model names which inbound it answers (inbound_id) and the server resolves the destination from its own verified record. shadow = classify + count only, routing unchanged; warn = same routing plus a tool-result note so the model self-corrects; enforce = route a bound reply to the registry thread and REJECT a reply whose target matches no inbound this process delivered. The channel server can't evaluate flags, so the manager materializes the resolved value into the AGT_SLACK_REPLY_BINDING spawn env (the operator/canary override, ADR-0022). Ships shadow.",
@@ -36,7 +36,7 @@ import {
36
36
  writeDirectChatSessionState,
37
37
  writeEgressAllowlist,
38
38
  writePersistentClaudeWrapper
39
- } from "./chunk-EZ5DJZ6Q.js";
39
+ } from "./chunk-REVQSDNX.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-YEGKJ6D2.js.map
80
+ //# sourceMappingURL=persistent-session-PGKQK5VU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-EZ5DJZ6Q.js";
3
+ } from "./chunk-REVQSDNX.js";
4
4
  import "./chunk-XWVM4KPK.js";
5
5
 
6
6
  // src/lib/responsiveness-probe.ts
@@ -437,4 +437,4 @@ export {
437
437
  readAndResetSlackReplyBindingClassifications,
438
438
  readAndResetSlackReplyTargetClassifications
439
439
  };
440
- //# sourceMappingURL=responsiveness-probe-N2JSVMRN.js.map
440
+ //# sourceMappingURL=responsiveness-probe-T2VF5SVF.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.377",
3
+ "version": "0.28.379",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {