@integrity-labs/agt-cli 0.28.359 → 0.28.361

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.
@@ -32922,7 +32922,7 @@ var INTEGRATION_REGISTRY = [
32922
32922
  id: "brand-ninja",
32923
32923
  name: "Brand Ninja",
32924
32924
  category: "social",
32925
- description: "Brand-aligned content generation: submit async content requests, track them, and discover publishing channels. Wired as the hosted Brand Ninja External-Content MCP at https://ext-api.app.brandninja.ai/v1/mcp.",
32925
+ description: "Brand-aligned content generation: submit async content requests and track them, search transcripts and assemble ranked timelines from source clips, and discover the account catalog (channels, brands, topics, templates, content types, skills). Wired as the hosted Brand Ninja External-Content MCP at https://ext-api.app.brandninja.ai/v1/mcp.",
32926
32926
  // ENG-6820: same remote streamable-HTTP MCP + OAuth pattern as Granola.
32927
32927
  // Brand Ninja's server implements the full MCP discovery chain (RFC
32928
32928
  // 9728/8414/7591); auth is OAuth 2.0 authorization-code with PKCE (S256)
@@ -32937,6 +32937,9 @@ var INTEGRATION_REGISTRY = [
32937
32937
  capabilities: [
32938
32938
  { id: "brand-ninja:generate-content", name: "Generate Content", description: "Submit async brand-aligned content-generation requests and poll their status (submit_content_request, get_content_status, list_content_requests)", access: "write" },
32939
32939
  { id: "brand-ninja:list-channels", name: "List Channels", description: "Discover the publishing channels available to the account, metadata only (list_channels)", access: "read" },
32940
+ { id: "brand-ninja:list-catalog", name: "List Catalog", description: "Discover account catalog metadata: brands, topics, timeline templates, content types, and source, output and conversion skills (list_brands, list_topics, list_timeline_templates, list_content_types, list_source_skills, list_output_skills, list_conversion_skills)", access: "read" },
32941
+ { id: "brand-ninja:search-transcripts", name: "Search Transcripts", description: "Search the transcripts available to the account to source or reference when generating content, text and metadata (search_transcripts)", access: "read" },
32942
+ { id: "brand-ninja:assemble-timeline", name: "Assemble Timeline", description: "Turn transcript spans into topic-tagged source clips and rank a topic's clips into a ranked timeline via an async LLM job (create_source_clips, create_timeline_ranking)", access: "write" },
32940
32943
  { id: "brand-ninja:read-credentials", name: "Read Credentials", description: "Read-only External-API credential metadata, secrets stripped. Requires the elevated external-api/admin scope (list_credentials)", access: "admin" }
32941
32944
  ],
32942
32945
  docs_url: "https://ext-api.app.brandninja.ai/v1/mcp",
@@ -34781,6 +34784,19 @@ var FLAG_REGISTRY = [
34781
34784
  // deliberate, audited per-org flip (ADR-0022 §4).
34782
34785
  sensitive: true
34783
34786
  },
34787
+ {
34788
+ key: "email-guard-require-approval-enabled",
34789
+ description: "Platform enable-gate for the email-domain guardrail REQUIRE_APPROVAL stage (ENG-7939). When ON for an org, a scope at email_guard_stage=require_approval routes a send to a non-allowed domain into Human Approval (an Approve/Deny card) instead of a hard block: the rollout UI unlocks the option and the write routes accept require_approval. When OFF (default) the write routes reject require_approval and the UI shows it as not yet available, so no scope can select it. Structurally also depends on hitl-approval-routing being on (the approval broker fails closed to a hard block when routing is off). Evaluated per-org. Ships dark.",
34790
+ flagType: "boolean",
34791
+ // Declared safe value is `false` (require_approval is unselectable / inert). A flag-DB read
34792
+ // error degrades here, so a flags outage can never start routing customer email through a
34793
+ // half-wired approval path - the fail-closed direction. No envVar: net-new control with no
34794
+ // pre-flags env gate to migrate (ADR-0022).
34795
+ defaultValue: false,
34796
+ // Ungates a stage that changes how real customer email is handled (block becomes approval),
34797
+ // so it is a deliberate, audited per-org flip (ADR-0022 §4).
34798
+ sensitive: true
34799
+ },
34784
34800
  {
34785
34801
  key: "slack-reply-binding",
34786
34802
  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.",
@@ -38721,7 +38721,7 @@ var INTEGRATION_REGISTRY = [
38721
38721
  id: "brand-ninja",
38722
38722
  name: "Brand Ninja",
38723
38723
  category: "social",
38724
- description: "Brand-aligned content generation: submit async content requests, track them, and discover publishing channels. Wired as the hosted Brand Ninja External-Content MCP at https://ext-api.app.brandninja.ai/v1/mcp.",
38724
+ description: "Brand-aligned content generation: submit async content requests and track them, search transcripts and assemble ranked timelines from source clips, and discover the account catalog (channels, brands, topics, templates, content types, skills). Wired as the hosted Brand Ninja External-Content MCP at https://ext-api.app.brandninja.ai/v1/mcp.",
38725
38725
  // ENG-6820: same remote streamable-HTTP MCP + OAuth pattern as Granola.
38726
38726
  // Brand Ninja's server implements the full MCP discovery chain (RFC
38727
38727
  // 9728/8414/7591); auth is OAuth 2.0 authorization-code with PKCE (S256)
@@ -38736,6 +38736,9 @@ var INTEGRATION_REGISTRY = [
38736
38736
  capabilities: [
38737
38737
  { id: "brand-ninja:generate-content", name: "Generate Content", description: "Submit async brand-aligned content-generation requests and poll their status (submit_content_request, get_content_status, list_content_requests)", access: "write" },
38738
38738
  { id: "brand-ninja:list-channels", name: "List Channels", description: "Discover the publishing channels available to the account, metadata only (list_channels)", access: "read" },
38739
+ { id: "brand-ninja:list-catalog", name: "List Catalog", description: "Discover account catalog metadata: brands, topics, timeline templates, content types, and source, output and conversion skills (list_brands, list_topics, list_timeline_templates, list_content_types, list_source_skills, list_output_skills, list_conversion_skills)", access: "read" },
38740
+ { id: "brand-ninja:search-transcripts", name: "Search Transcripts", description: "Search the transcripts available to the account to source or reference when generating content, text and metadata (search_transcripts)", access: "read" },
38741
+ { id: "brand-ninja:assemble-timeline", name: "Assemble Timeline", description: "Turn transcript spans into topic-tagged source clips and rank a topic's clips into a ranked timeline via an async LLM job (create_source_clips, create_timeline_ranking)", access: "write" },
38739
38742
  { id: "brand-ninja:read-credentials", name: "Read Credentials", description: "Read-only External-API credential metadata, secrets stripped. Requires the elevated external-api/admin scope (list_credentials)", access: "admin" }
38740
38743
  ],
38741
38744
  docs_url: "https://ext-api.app.brandninja.ai/v1/mcp",
@@ -40544,6 +40547,19 @@ var FLAG_REGISTRY = [
40544
40547
  // deliberate, audited per-org flip (ADR-0022 §4).
40545
40548
  sensitive: true
40546
40549
  },
40550
+ {
40551
+ key: "email-guard-require-approval-enabled",
40552
+ description: "Platform enable-gate for the email-domain guardrail REQUIRE_APPROVAL stage (ENG-7939). When ON for an org, a scope at email_guard_stage=require_approval routes a send to a non-allowed domain into Human Approval (an Approve/Deny card) instead of a hard block: the rollout UI unlocks the option and the write routes accept require_approval. When OFF (default) the write routes reject require_approval and the UI shows it as not yet available, so no scope can select it. Structurally also depends on hitl-approval-routing being on (the approval broker fails closed to a hard block when routing is off). Evaluated per-org. Ships dark.",
40553
+ flagType: "boolean",
40554
+ // Declared safe value is `false` (require_approval is unselectable / inert). A flag-DB read
40555
+ // error degrades here, so a flags outage can never start routing customer email through a
40556
+ // half-wired approval path - the fail-closed direction. No envVar: net-new control with no
40557
+ // pre-flags env gate to migrate (ADR-0022).
40558
+ defaultValue: false,
40559
+ // Ungates a stage that changes how real customer email is handled (block becomes approval),
40560
+ // so it is a deliberate, audited per-org flip (ADR-0022 §4).
40561
+ sensitive: true
40562
+ },
40547
40563
  {
40548
40564
  key: "slack-reply-binding",
40549
40565
  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.",
@@ -32604,7 +32604,7 @@ var INTEGRATION_REGISTRY = [
32604
32604
  id: "brand-ninja",
32605
32605
  name: "Brand Ninja",
32606
32606
  category: "social",
32607
- description: "Brand-aligned content generation: submit async content requests, track them, and discover publishing channels. Wired as the hosted Brand Ninja External-Content MCP at https://ext-api.app.brandninja.ai/v1/mcp.",
32607
+ description: "Brand-aligned content generation: submit async content requests and track them, search transcripts and assemble ranked timelines from source clips, and discover the account catalog (channels, brands, topics, templates, content types, skills). Wired as the hosted Brand Ninja External-Content MCP at https://ext-api.app.brandninja.ai/v1/mcp.",
32608
32608
  // ENG-6820: same remote streamable-HTTP MCP + OAuth pattern as Granola.
32609
32609
  // Brand Ninja's server implements the full MCP discovery chain (RFC
32610
32610
  // 9728/8414/7591); auth is OAuth 2.0 authorization-code with PKCE (S256)
@@ -32619,6 +32619,9 @@ var INTEGRATION_REGISTRY = [
32619
32619
  capabilities: [
32620
32620
  { id: "brand-ninja:generate-content", name: "Generate Content", description: "Submit async brand-aligned content-generation requests and poll their status (submit_content_request, get_content_status, list_content_requests)", access: "write" },
32621
32621
  { id: "brand-ninja:list-channels", name: "List Channels", description: "Discover the publishing channels available to the account, metadata only (list_channels)", access: "read" },
32622
+ { id: "brand-ninja:list-catalog", name: "List Catalog", description: "Discover account catalog metadata: brands, topics, timeline templates, content types, and source, output and conversion skills (list_brands, list_topics, list_timeline_templates, list_content_types, list_source_skills, list_output_skills, list_conversion_skills)", access: "read" },
32623
+ { id: "brand-ninja:search-transcripts", name: "Search Transcripts", description: "Search the transcripts available to the account to source or reference when generating content, text and metadata (search_transcripts)", access: "read" },
32624
+ { id: "brand-ninja:assemble-timeline", name: "Assemble Timeline", description: "Turn transcript spans into topic-tagged source clips and rank a topic's clips into a ranked timeline via an async LLM job (create_source_clips, create_timeline_ranking)", access: "write" },
32622
32625
  { id: "brand-ninja:read-credentials", name: "Read Credentials", description: "Read-only External-API credential metadata, secrets stripped. Requires the elevated external-api/admin scope (list_credentials)", access: "admin" }
32623
32626
  ],
32624
32627
  docs_url: "https://ext-api.app.brandninja.ai/v1/mcp",
@@ -34463,6 +34466,19 @@ var FLAG_REGISTRY = [
34463
34466
  // deliberate, audited per-org flip (ADR-0022 §4).
34464
34467
  sensitive: true
34465
34468
  },
34469
+ {
34470
+ key: "email-guard-require-approval-enabled",
34471
+ description: "Platform enable-gate for the email-domain guardrail REQUIRE_APPROVAL stage (ENG-7939). When ON for an org, a scope at email_guard_stage=require_approval routes a send to a non-allowed domain into Human Approval (an Approve/Deny card) instead of a hard block: the rollout UI unlocks the option and the write routes accept require_approval. When OFF (default) the write routes reject require_approval and the UI shows it as not yet available, so no scope can select it. Structurally also depends on hitl-approval-routing being on (the approval broker fails closed to a hard block when routing is off). Evaluated per-org. Ships dark.",
34472
+ flagType: "boolean",
34473
+ // Declared safe value is `false` (require_approval is unselectable / inert). A flag-DB read
34474
+ // error degrades here, so a flags outage can never start routing customer email through a
34475
+ // half-wired approval path - the fail-closed direction. No envVar: net-new control with no
34476
+ // pre-flags env gate to migrate (ADR-0022).
34477
+ defaultValue: false,
34478
+ // Ungates a stage that changes how real customer email is handled (block becomes approval),
34479
+ // so it is a deliberate, audited per-org flip (ADR-0022 §4).
34480
+ sensitive: true
34481
+ },
34466
34482
  {
34467
34483
  key: "slack-reply-binding",
34468
34484
  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.",
@@ -32954,7 +32954,7 @@ var INTEGRATION_REGISTRY = [
32954
32954
  id: "brand-ninja",
32955
32955
  name: "Brand Ninja",
32956
32956
  category: "social",
32957
- description: "Brand-aligned content generation: submit async content requests, track them, and discover publishing channels. Wired as the hosted Brand Ninja External-Content MCP at https://ext-api.app.brandninja.ai/v1/mcp.",
32957
+ description: "Brand-aligned content generation: submit async content requests and track them, search transcripts and assemble ranked timelines from source clips, and discover the account catalog (channels, brands, topics, templates, content types, skills). Wired as the hosted Brand Ninja External-Content MCP at https://ext-api.app.brandninja.ai/v1/mcp.",
32958
32958
  // ENG-6820: same remote streamable-HTTP MCP + OAuth pattern as Granola.
32959
32959
  // Brand Ninja's server implements the full MCP discovery chain (RFC
32960
32960
  // 9728/8414/7591); auth is OAuth 2.0 authorization-code with PKCE (S256)
@@ -32969,6 +32969,9 @@ var INTEGRATION_REGISTRY = [
32969
32969
  capabilities: [
32970
32970
  { id: "brand-ninja:generate-content", name: "Generate Content", description: "Submit async brand-aligned content-generation requests and poll their status (submit_content_request, get_content_status, list_content_requests)", access: "write" },
32971
32971
  { id: "brand-ninja:list-channels", name: "List Channels", description: "Discover the publishing channels available to the account, metadata only (list_channels)", access: "read" },
32972
+ { id: "brand-ninja:list-catalog", name: "List Catalog", description: "Discover account catalog metadata: brands, topics, timeline templates, content types, and source, output and conversion skills (list_brands, list_topics, list_timeline_templates, list_content_types, list_source_skills, list_output_skills, list_conversion_skills)", access: "read" },
32973
+ { id: "brand-ninja:search-transcripts", name: "Search Transcripts", description: "Search the transcripts available to the account to source or reference when generating content, text and metadata (search_transcripts)", access: "read" },
32974
+ { id: "brand-ninja:assemble-timeline", name: "Assemble Timeline", description: "Turn transcript spans into topic-tagged source clips and rank a topic's clips into a ranked timeline via an async LLM job (create_source_clips, create_timeline_ranking)", access: "write" },
32972
32975
  { id: "brand-ninja:read-credentials", name: "Read Credentials", description: "Read-only External-API credential metadata, secrets stripped. Requires the elevated external-api/admin scope (list_credentials)", access: "admin" }
32973
32976
  ],
32974
32977
  docs_url: "https://ext-api.app.brandninja.ai/v1/mcp",
@@ -34813,6 +34816,19 @@ var FLAG_REGISTRY = [
34813
34816
  // deliberate, audited per-org flip (ADR-0022 §4).
34814
34817
  sensitive: true
34815
34818
  },
34819
+ {
34820
+ key: "email-guard-require-approval-enabled",
34821
+ description: "Platform enable-gate for the email-domain guardrail REQUIRE_APPROVAL stage (ENG-7939). When ON for an org, a scope at email_guard_stage=require_approval routes a send to a non-allowed domain into Human Approval (an Approve/Deny card) instead of a hard block: the rollout UI unlocks the option and the write routes accept require_approval. When OFF (default) the write routes reject require_approval and the UI shows it as not yet available, so no scope can select it. Structurally also depends on hitl-approval-routing being on (the approval broker fails closed to a hard block when routing is off). Evaluated per-org. Ships dark.",
34822
+ flagType: "boolean",
34823
+ // Declared safe value is `false` (require_approval is unselectable / inert). A flag-DB read
34824
+ // error degrades here, so a flags outage can never start routing customer email through a
34825
+ // half-wired approval path - the fail-closed direction. No envVar: net-new control with no
34826
+ // pre-flags env gate to migrate (ADR-0022).
34827
+ defaultValue: false,
34828
+ // Ungates a stage that changes how real customer email is handled (block becomes approval),
34829
+ // so it is a deliberate, audited per-org flip (ADR-0022 §4).
34830
+ sensitive: true
34831
+ },
34816
34832
  {
34817
34833
  key: "slack-reply-binding",
34818
34834
  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-FAGXXKWZ.js";
39
+ } from "./chunk-3D7IBJYZ.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-R7JOZNIC.js.map
80
+ //# sourceMappingURL=persistent-session-7VMIE4G4.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-FAGXXKWZ.js";
3
+ } from "./chunk-3D7IBJYZ.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-7SUERVWL.js.map
440
+ //# sourceMappingURL=responsiveness-probe-XJ7DQX4M.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.359",
3
+ "version": "0.28.361",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {