@integrity-labs/agt-cli 0.28.1083 → 0.28.1085

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.
Files changed (24) hide show
  1. package/dist/bin/agt.js +5 -5
  2. package/dist/{chunk-ELRALWJ7.js → chunk-36PNRFZD.js} +168 -27
  3. package/dist/chunk-36PNRFZD.js.map +1 -0
  4. package/dist/{chunk-44254DEU.js → chunk-672WJ7K3.js} +2 -2
  5. package/dist/{chunk-BIR5WVM4.js → chunk-QJHOJMYV.js} +4 -4
  6. package/dist/{claude-pair-runtime-U6LVU5CI.js → claude-pair-runtime-P5RI3SNT.js} +2 -2
  7. package/dist/lib/manager-worker.js +25 -17
  8. package/dist/lib/manager-worker.js.map +1 -1
  9. package/dist/mcp/direct-chat-channel.js +135 -1
  10. package/dist/mcp/index.js +135 -1
  11. package/dist/mcp/origami.js +135 -1
  12. package/dist/mcp/slack-channel.js +135 -1
  13. package/dist/mcp/telegram-channel.js +135 -1
  14. package/dist/{persistent-session-UHSU52GZ.js → persistent-session-V2TJ6HPL.js} +3 -3
  15. package/dist/{responsiveness-probe-PKMKC2VS.js → responsiveness-probe-2JSH5Y3H.js} +3 -3
  16. package/dist/{session-auth-dead-KOZOXQOP.js → session-auth-dead-WUMWF4GK.js} +2 -2
  17. package/package.json +1 -1
  18. package/dist/chunk-ELRALWJ7.js.map +0 -1
  19. /package/dist/{chunk-44254DEU.js.map → chunk-672WJ7K3.js.map} +0 -0
  20. /package/dist/{chunk-BIR5WVM4.js.map → chunk-QJHOJMYV.js.map} +0 -0
  21. /package/dist/{claude-pair-runtime-U6LVU5CI.js.map → claude-pair-runtime-P5RI3SNT.js.map} +0 -0
  22. /package/dist/{persistent-session-UHSU52GZ.js.map → persistent-session-V2TJ6HPL.js.map} +0 -0
  23. /package/dist/{responsiveness-probe-PKMKC2VS.js.map → responsiveness-probe-2JSH5Y3H.js.map} +0 -0
  24. /package/dist/{session-auth-dead-KOZOXQOP.js.map → session-auth-dead-WUMWF4GK.js.map} +0 -0
@@ -35139,6 +35139,136 @@ var INTEGRATION_REGISTRY = [
35139
35139
  // `registryRemoteMcpKeys`, which would strand the `.mcp.json` entry on
35140
35140
  // every host that installed the MCP variant.
35141
35141
  },
35142
+ {
35143
+ // Quiver (api.quiver.ai) — AI vector graphics: draw an SVG from a prompt,
35144
+ // redraw one from an instruction, trace a raster, add animation.
35145
+ //
35146
+ // PREMIUM (ADR-0031, epic ENG-6920). Ninjafy holds ONE Quiver account whose
35147
+ // key (`QUIVER_ACCOUNT_KEY`) every customer's drawing bills back to, so the
35148
+ // credential is a single platform-held secret and never a per-install one.
35149
+ // `auth_type: 'none'` on the catalog row and `credential_source:
35150
+ // 'platform_env'` on every runtime scope, so `resolveBrokerToken` reads the
35151
+ // env var and skips the install-row lookup entirely.
35152
+ //
35153
+ // Ships DARK: until the secret is set the resolver fails closed with
35154
+ // `platform_credential_missing` and every drawing errors clearly.
35155
+ // Installable but inert, by design — the same posture x-search shipped with.
35156
+ //
35157
+ // WHY IT STOPPED BEING BYO. It launched bring-your-own-key. Premium means WE
35158
+ // pay the vendor, so a customer key would defeat the point: there would be
35159
+ // nothing to meter and nothing to bill. The flip cost nothing because Quiver
35160
+ // had never deployed — zero installs, so none of the origami free→premium
35161
+ // grandfathering applies (there is no cohort whose `credential_source`
35162
+ // default would misclassify them as billed and take the integration dark).
35163
+ // A later BYO tier is possible (ADR-0055, the Firecrawl shape) and would
35164
+ // need its own entitlement gate; it is deliberately not offered now, because
35165
+ // offering two auth types renders a connect picker that does not check
35166
+ // `plans.byo_credentials` (ENG-9236).
35167
+ //
35168
+ // WHY TWO METERS, when the vendor bills in one unit. `credits` is Quiver's
35169
+ // own billing unit and the response carries it per call, so metering it
35170
+ // makes our margin a constant multiple no matter which model an agent picks
35171
+ // — `arrow-1.1-max` costs materially more than `arrow-1.1`, which a flat
35172
+ // per-call price would silently eat. But `credits` is documented as
35173
+ // "omitted for token-priced models, whose measured totals are returned in
35174
+ // `usage`", so a credits-only meter bills those calls at ZERO: free to the
35175
+ // customer, invisible to the budget gate, and with nothing in the ledger to
35176
+ // notice it by. `svg_operation` is the floor that closes that hole — it
35177
+ // fires ONLY when `credits` is absent, so the two can never double-bill the
35178
+ // same call. See `lib/quiver-metering.ts`.
35179
+ id: "quiver",
35180
+ name: "Quiver",
35181
+ category: "media",
35182
+ description: "AI vector graphics \u2014 draw an SVG from a description, redraw an existing one, trace a photo or screenshot into vector shapes, and add animation. Ninjafy manages the Quiver account for you; there is no key to enter.",
35183
+ supported_auth_types: ["none"],
35184
+ docs_url: "https://docs.quiver.ai/developers",
35185
+ capabilities: [
35186
+ {
35187
+ id: "quiver:create",
35188
+ name: "Create and change vector graphics",
35189
+ description: "Draw, redraw, trace and animate SVG artwork. Billed per Quiver credit consumed.",
35190
+ access: "write"
35191
+ },
35192
+ {
35193
+ id: "quiver:read",
35194
+ name: "Read models",
35195
+ description: "List the available drawing models and their per-call credit cost. Free.",
35196
+ access: "read"
35197
+ }
35198
+ ],
35199
+ beta: true,
35200
+ // No `installable` on purpose: quiver is a seed integration
35201
+ // (integration-definitions.json), so the seed catalog already makes it
35202
+ // picker-visible. This entry exists to carry the `premium` descriptor that
35203
+ // `isPremiumDefinition` reads — which arms the per-org opt-in gate, the
35204
+ // priced acknowledgement modal and the admin pricing tab. Same reasoning as
35205
+ // social-scraping above.
35206
+ premium: {
35207
+ pricing: "usage",
35208
+ note: "Billed per Quiver credit consumed. Listing models is free; drawing, editing, tracing and animating each debit credits.",
35209
+ meters: [
35210
+ { event_type: "svg_credits", unit: "credit" },
35211
+ { event_type: "svg_operation", unit: "operation" }
35212
+ ]
35213
+ }
35214
+ },
35215
+ {
35216
+ // theSVG (thesvg.org) — 6,500+ REAL brand marks as SVG, so an agent building
35217
+ // a page can use the actual Stripe/Slack/AWS logo instead of asking a
35218
+ // drawing model for one. That distinction is the whole point of the
35219
+ // integration: an AI-generated "Stripe logo" is a plausible fake, wrong in
35220
+ // the way a customer notices and a trademark owner minds. Original artwork
35221
+ // is Quiver's job; existing marks are this one's.
35222
+ //
35223
+ // WHY A LOCAL STDIO MCP AND NOT THE DIRECT-HTTP LANE. thesvg.org is a
35224
+ // STATIC SITE — its own CLI says so in as many words ("there is no dynamic
35225
+ // API"). The only two endpoints are `/api/registry.json`, the entire
35226
+ // 2.97 MB / 6,523-entry manifest, and `/icons/{slug}/{variant}.svg`. Search
35227
+ // is client-side filtering over that manifest, which the Direct-HTTP broker
35228
+ // cannot do: it forwards the vendor's whole response body to the agent, so
35229
+ // a `search_icons` descriptor would put 2.97 MB of registry into the
35230
+ // agent's context on every call. The vendor's own MCP server bundles the
35231
+ // registry and searches it in-process, which is precisely the shape the
35232
+ // missing API leaves you needing.
35233
+ //
35234
+ // WHY THE VERSION IS PINNED and AWS's is `@latest`: this server's registry
35235
+ // is baked in at BUILD time, so the pin is what decides which icons exist
35236
+ // AND what markup lands on a customer's published page. Bumping it is a
35237
+ // deliberate act that also refreshes the icon set — not a silent
35238
+ // third-party update to artwork we are about to publish under a customer's
35239
+ // domain.
35240
+ //
35241
+ // No credential anywhere: the registry and the jsDelivr CDN the server
35242
+ // fetches SVG from are both public, so `auth_types: ['none']` is the honest
35243
+ // classification rather than the ENG-8440 kind of lie Hard Rule 17 warns
35244
+ // about — there genuinely is no key to enter and the install IS live
35245
+ // immediately.
35246
+ id: "thesvg",
35247
+ name: "theSVG",
35248
+ category: "media",
35249
+ description: "Brand logos and icons as real SVG \u2014 search 6,500+ marks by name and pull the exact artwork, in mono, colour, light, dark or wordmark variants",
35250
+ supported_auth_types: ["none"],
35251
+ docs_url: "https://thesvg.org",
35252
+ capabilities: [
35253
+ {
35254
+ id: "thesvg:read",
35255
+ name: "Find and fetch brand icons",
35256
+ description: "Search the icon library, list an icon's variants and categories, and fetch its SVG markup or CDN URL",
35257
+ access: "read"
35258
+ }
35259
+ ],
35260
+ installable: { category: "Media", authTypes: ["none"] },
35261
+ beta: true,
35262
+ // ENG-5815 data-driven path — no buildMcpJson edit, same as AWS.
35263
+ nativeMcp: {
35264
+ command: "npx",
35265
+ args: ["-y", "@thesvg/mcp-server@0.8.2"],
35266
+ env: {
35267
+ PATH: "{{process_env.PATH}}",
35268
+ HOME: "{{process_env.HOME}}"
35269
+ }
35270
+ }
35271
+ },
35142
35272
  {
35143
35273
  id: "qmd",
35144
35274
  name: "QMD Memory Search",
@@ -36267,6 +36397,10 @@ var NOTICE_KIND_AUDIENCE = {
36267
36397
  // "Your `<verb>` approval request (`<uuid>`) EXPIRED at …" — in the report,
36268
36398
  // uuid and all.
36269
36399
  approval_expired: "agent",
36400
+ // ENG-11334: canvas.publish_public approved / denied / approved-but-not-applied.
36401
+ // Second-person instructions to the agent ("Tell the user...", "do not
36402
+ // republish"); the user learns the outcome from the agent, not this row.
36403
+ canvas_public_approval_resolved: "agent",
36270
36404
  // A routine fired; the agent picks the work up.
36271
36405
  routine_firing_result: "agent",
36272
36406
  // Live-advisor wake: "Call `live_read` with escalation_id …" — a literal tool
@@ -39003,7 +39137,7 @@ var FLAG_REGISTRY = [
39003
39137
  },
39004
39138
  {
39005
39139
  key: "approval-unified-authority",
39006
- description: "One authority check for every approval ingress (ENG-11207, ADR-0124 Phase 0b): canDecide() runs inside tryDispatchApprovalCore for console, Slack (channel, alerts, Socket Mode, which also carries Telegram) and Direct Chat taps alike. off = not computed. shadow = compute the verdict and log approval_authority_would_reject (ingress, verb, org, reason) for every tap it would refuse, then decide exactly as today. enforce = reserved for the per-(org, verb) allowlist slice; until that ships it behaves as shadow. Evaluated per-org. Ships dark.",
39140
+ description: "One authority check for every approval ingress (ENG-11207, ADR-0124 Phase 0b): canDecide() runs inside tryDispatchApprovalCore for console, Slack (channel, alerts, Socket Mode, which also carries Telegram) and Direct Chat taps alike. off = not computed. shadow = compute the verdict, including the verb's declared approver boundary (ENG-11337), and log approval_authority_would_reject (ingress, verb, org, reason, boundary) for every tap it would refuse and approval_authority_would_admit (ingress, verb, org, basis, boundary) for every tap it would admit, then decide exactly as today. enforce = reserved for the per-(org, verb) allowlist slice; until that ships it behaves as shadow. Evaluated per-org. Ships dark.",
39007
39141
  flagType: "enum",
39008
39142
  allowedValues: ["off", "shadow", "enforce"],
39009
39143
  // Safe/default value is `off` (no computation, no extra reads on the tap path). A flag-DB read
@@ -68,8 +68,8 @@ import {
68
68
  writeDirectChatSessionState,
69
69
  writeEgressAllowlist,
70
70
  writePersistentClaudeWrapper
71
- } from "./chunk-44254DEU.js";
72
- import "./chunk-ELRALWJ7.js";
71
+ } from "./chunk-672WJ7K3.js";
72
+ import "./chunk-36PNRFZD.js";
73
73
  import "./chunk-OCMJ5E6J.js";
74
74
  import "./chunk-XWVM4KPK.js";
75
75
  import "./chunk-EL5MWGGH.js";
@@ -145,4 +145,4 @@ export {
145
145
  writeEgressAllowlist,
146
146
  writePersistentClaudeWrapper
147
147
  };
148
- //# sourceMappingURL=persistent-session-UHSU52GZ.js.map
148
+ //# sourceMappingURL=persistent-session-V2TJ6HPL.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-44254DEU.js";
4
- import "./chunk-ELRALWJ7.js";
3
+ } from "./chunk-672WJ7K3.js";
4
+ import "./chunk-36PNRFZD.js";
5
5
  import "./chunk-OCMJ5E6J.js";
6
6
  import "./chunk-XWVM4KPK.js";
7
7
  import "./chunk-EL5MWGGH.js";
@@ -802,4 +802,4 @@ export {
802
802
  readAndResetSlackReplyBindingClassifications,
803
803
  readAndResetSlackReplyTargetClassifications
804
804
  };
805
- //# sourceMappingURL=responsiveness-probe-PKMKC2VS.js.map
805
+ //# sourceMappingURL=responsiveness-probe-2JSH5Y3H.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-ELRALWJ7.js";
3
+ } from "./chunk-36PNRFZD.js";
4
4
  import "./chunk-DGUM43GV.js";
5
5
 
6
6
  // src/lib/session-auth-dead.ts
@@ -204,4 +204,4 @@ export {
204
204
  decideSessionAuthState,
205
205
  probeSessionAuth
206
206
  };
207
- //# sourceMappingURL=session-auth-dead-KOZOXQOP.js.map
207
+ //# sourceMappingURL=session-auth-dead-WUMWF4GK.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.1083",
3
+ "version": "0.28.1085",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {