@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.
- package/dist/bin/agt.js +5 -5
- package/dist/{chunk-ELRALWJ7.js → chunk-36PNRFZD.js} +168 -27
- package/dist/chunk-36PNRFZD.js.map +1 -0
- package/dist/{chunk-44254DEU.js → chunk-672WJ7K3.js} +2 -2
- package/dist/{chunk-BIR5WVM4.js → chunk-QJHOJMYV.js} +4 -4
- package/dist/{claude-pair-runtime-U6LVU5CI.js → claude-pair-runtime-P5RI3SNT.js} +2 -2
- package/dist/lib/manager-worker.js +25 -17
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +135 -1
- package/dist/mcp/index.js +135 -1
- package/dist/mcp/origami.js +135 -1
- package/dist/mcp/slack-channel.js +135 -1
- package/dist/mcp/telegram-channel.js +135 -1
- package/dist/{persistent-session-UHSU52GZ.js → persistent-session-V2TJ6HPL.js} +3 -3
- package/dist/{responsiveness-probe-PKMKC2VS.js → responsiveness-probe-2JSH5Y3H.js} +3 -3
- package/dist/{session-auth-dead-KOZOXQOP.js → session-auth-dead-WUMWF4GK.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-ELRALWJ7.js.map +0 -1
- /package/dist/{chunk-44254DEU.js.map → chunk-672WJ7K3.js.map} +0 -0
- /package/dist/{chunk-BIR5WVM4.js.map → chunk-QJHOJMYV.js.map} +0 -0
- /package/dist/{claude-pair-runtime-U6LVU5CI.js.map → claude-pair-runtime-P5RI3SNT.js.map} +0 -0
- /package/dist/{persistent-session-UHSU52GZ.js.map → persistent-session-V2TJ6HPL.js.map} +0 -0
- /package/dist/{responsiveness-probe-PKMKC2VS.js.map → responsiveness-probe-2JSH5Y3H.js.map} +0 -0
- /package/dist/{session-auth-dead-KOZOXQOP.js.map → session-auth-dead-WUMWF4GK.js.map} +0 -0
package/dist/bin/agt.js
CHANGED
|
@@ -40,12 +40,12 @@ import {
|
|
|
40
40
|
success,
|
|
41
41
|
table,
|
|
42
42
|
warn
|
|
43
|
-
} from "../chunk-
|
|
43
|
+
} from "../chunk-QJHOJMYV.js";
|
|
44
44
|
import {
|
|
45
45
|
getProjectDir,
|
|
46
46
|
isSessionResumeDisabled,
|
|
47
47
|
readDirectChatSessionState
|
|
48
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-672WJ7K3.js";
|
|
49
49
|
import {
|
|
50
50
|
AnchorSessionClient,
|
|
51
51
|
CHANNEL_REGISTRY,
|
|
@@ -79,7 +79,7 @@ import {
|
|
|
79
79
|
serializeManifestForSlackCli,
|
|
80
80
|
sessionFileExists,
|
|
81
81
|
sessionTranscriptDir
|
|
82
|
-
} from "../chunk-
|
|
82
|
+
} from "../chunk-36PNRFZD.js";
|
|
83
83
|
import "../chunk-OCMJ5E6J.js";
|
|
84
84
|
import "../chunk-XWVM4KPK.js";
|
|
85
85
|
import "../chunk-EL5MWGGH.js";
|
|
@@ -5474,7 +5474,7 @@ import { execFileSync, execSync } from "child_process";
|
|
|
5474
5474
|
import { existsSync as existsSync11, realpathSync as realpathSync2 } from "fs";
|
|
5475
5475
|
import chalk18 from "chalk";
|
|
5476
5476
|
import ora16 from "ora";
|
|
5477
|
-
var cliVersion = true ? "0.28.
|
|
5477
|
+
var cliVersion = true ? "0.28.1085" : "dev";
|
|
5478
5478
|
async function fetchLatestVersion() {
|
|
5479
5479
|
const host2 = getHost();
|
|
5480
5480
|
if (!host2) return null;
|
|
@@ -6734,7 +6734,7 @@ function handleError(err) {
|
|
|
6734
6734
|
}
|
|
6735
6735
|
|
|
6736
6736
|
// src/bin/agt.ts
|
|
6737
|
-
var cliVersion2 = true ? "0.28.
|
|
6737
|
+
var cliVersion2 = true ? "0.28.1085" : "dev";
|
|
6738
6738
|
var program = new Command();
|
|
6739
6739
|
program.name("agt").description("Augmented CLI \u2014 agent provisioning and management").version(cliVersion2).option("--json", "Emit machine-readable JSON output (suppress spinners and colors)").option("--skip-update-check", "Skip the automatic update check on startup");
|
|
6740
6740
|
program.hook("preAction", async (thisCommand, actionCommand) => {
|
|
@@ -2545,6 +2545,136 @@ var INTEGRATION_REGISTRY = [
|
|
|
2545
2545
|
// `registryRemoteMcpKeys`, which would strand the `.mcp.json` entry on
|
|
2546
2546
|
// every host that installed the MCP variant.
|
|
2547
2547
|
},
|
|
2548
|
+
{
|
|
2549
|
+
// Quiver (api.quiver.ai) — AI vector graphics: draw an SVG from a prompt,
|
|
2550
|
+
// redraw one from an instruction, trace a raster, add animation.
|
|
2551
|
+
//
|
|
2552
|
+
// PREMIUM (ADR-0031, epic ENG-6920). Ninjafy holds ONE Quiver account whose
|
|
2553
|
+
// key (`QUIVER_ACCOUNT_KEY`) every customer's drawing bills back to, so the
|
|
2554
|
+
// credential is a single platform-held secret and never a per-install one.
|
|
2555
|
+
// `auth_type: 'none'` on the catalog row and `credential_source:
|
|
2556
|
+
// 'platform_env'` on every runtime scope, so `resolveBrokerToken` reads the
|
|
2557
|
+
// env var and skips the install-row lookup entirely.
|
|
2558
|
+
//
|
|
2559
|
+
// Ships DARK: until the secret is set the resolver fails closed with
|
|
2560
|
+
// `platform_credential_missing` and every drawing errors clearly.
|
|
2561
|
+
// Installable but inert, by design — the same posture x-search shipped with.
|
|
2562
|
+
//
|
|
2563
|
+
// WHY IT STOPPED BEING BYO. It launched bring-your-own-key. Premium means WE
|
|
2564
|
+
// pay the vendor, so a customer key would defeat the point: there would be
|
|
2565
|
+
// nothing to meter and nothing to bill. The flip cost nothing because Quiver
|
|
2566
|
+
// had never deployed — zero installs, so none of the origami free→premium
|
|
2567
|
+
// grandfathering applies (there is no cohort whose `credential_source`
|
|
2568
|
+
// default would misclassify them as billed and take the integration dark).
|
|
2569
|
+
// A later BYO tier is possible (ADR-0055, the Firecrawl shape) and would
|
|
2570
|
+
// need its own entitlement gate; it is deliberately not offered now, because
|
|
2571
|
+
// offering two auth types renders a connect picker that does not check
|
|
2572
|
+
// `plans.byo_credentials` (ENG-9236).
|
|
2573
|
+
//
|
|
2574
|
+
// WHY TWO METERS, when the vendor bills in one unit. `credits` is Quiver's
|
|
2575
|
+
// own billing unit and the response carries it per call, so metering it
|
|
2576
|
+
// makes our margin a constant multiple no matter which model an agent picks
|
|
2577
|
+
// — `arrow-1.1-max` costs materially more than `arrow-1.1`, which a flat
|
|
2578
|
+
// per-call price would silently eat. But `credits` is documented as
|
|
2579
|
+
// "omitted for token-priced models, whose measured totals are returned in
|
|
2580
|
+
// `usage`", so a credits-only meter bills those calls at ZERO: free to the
|
|
2581
|
+
// customer, invisible to the budget gate, and with nothing in the ledger to
|
|
2582
|
+
// notice it by. `svg_operation` is the floor that closes that hole — it
|
|
2583
|
+
// fires ONLY when `credits` is absent, so the two can never double-bill the
|
|
2584
|
+
// same call. See `lib/quiver-metering.ts`.
|
|
2585
|
+
id: "quiver",
|
|
2586
|
+
name: "Quiver",
|
|
2587
|
+
category: "media",
|
|
2588
|
+
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.",
|
|
2589
|
+
supported_auth_types: ["none"],
|
|
2590
|
+
docs_url: "https://docs.quiver.ai/developers",
|
|
2591
|
+
capabilities: [
|
|
2592
|
+
{
|
|
2593
|
+
id: "quiver:create",
|
|
2594
|
+
name: "Create and change vector graphics",
|
|
2595
|
+
description: "Draw, redraw, trace and animate SVG artwork. Billed per Quiver credit consumed.",
|
|
2596
|
+
access: "write"
|
|
2597
|
+
},
|
|
2598
|
+
{
|
|
2599
|
+
id: "quiver:read",
|
|
2600
|
+
name: "Read models",
|
|
2601
|
+
description: "List the available drawing models and their per-call credit cost. Free.",
|
|
2602
|
+
access: "read"
|
|
2603
|
+
}
|
|
2604
|
+
],
|
|
2605
|
+
beta: true,
|
|
2606
|
+
// No `installable` on purpose: quiver is a seed integration
|
|
2607
|
+
// (integration-definitions.json), so the seed catalog already makes it
|
|
2608
|
+
// picker-visible. This entry exists to carry the `premium` descriptor that
|
|
2609
|
+
// `isPremiumDefinition` reads — which arms the per-org opt-in gate, the
|
|
2610
|
+
// priced acknowledgement modal and the admin pricing tab. Same reasoning as
|
|
2611
|
+
// social-scraping above.
|
|
2612
|
+
premium: {
|
|
2613
|
+
pricing: "usage",
|
|
2614
|
+
note: "Billed per Quiver credit consumed. Listing models is free; drawing, editing, tracing and animating each debit credits.",
|
|
2615
|
+
meters: [
|
|
2616
|
+
{ event_type: "svg_credits", unit: "credit" },
|
|
2617
|
+
{ event_type: "svg_operation", unit: "operation" }
|
|
2618
|
+
]
|
|
2619
|
+
}
|
|
2620
|
+
},
|
|
2621
|
+
{
|
|
2622
|
+
// theSVG (thesvg.org) — 6,500+ REAL brand marks as SVG, so an agent building
|
|
2623
|
+
// a page can use the actual Stripe/Slack/AWS logo instead of asking a
|
|
2624
|
+
// drawing model for one. That distinction is the whole point of the
|
|
2625
|
+
// integration: an AI-generated "Stripe logo" is a plausible fake, wrong in
|
|
2626
|
+
// the way a customer notices and a trademark owner minds. Original artwork
|
|
2627
|
+
// is Quiver's job; existing marks are this one's.
|
|
2628
|
+
//
|
|
2629
|
+
// WHY A LOCAL STDIO MCP AND NOT THE DIRECT-HTTP LANE. thesvg.org is a
|
|
2630
|
+
// STATIC SITE — its own CLI says so in as many words ("there is no dynamic
|
|
2631
|
+
// API"). The only two endpoints are `/api/registry.json`, the entire
|
|
2632
|
+
// 2.97 MB / 6,523-entry manifest, and `/icons/{slug}/{variant}.svg`. Search
|
|
2633
|
+
// is client-side filtering over that manifest, which the Direct-HTTP broker
|
|
2634
|
+
// cannot do: it forwards the vendor's whole response body to the agent, so
|
|
2635
|
+
// a `search_icons` descriptor would put 2.97 MB of registry into the
|
|
2636
|
+
// agent's context on every call. The vendor's own MCP server bundles the
|
|
2637
|
+
// registry and searches it in-process, which is precisely the shape the
|
|
2638
|
+
// missing API leaves you needing.
|
|
2639
|
+
//
|
|
2640
|
+
// WHY THE VERSION IS PINNED and AWS's is `@latest`: this server's registry
|
|
2641
|
+
// is baked in at BUILD time, so the pin is what decides which icons exist
|
|
2642
|
+
// AND what markup lands on a customer's published page. Bumping it is a
|
|
2643
|
+
// deliberate act that also refreshes the icon set — not a silent
|
|
2644
|
+
// third-party update to artwork we are about to publish under a customer's
|
|
2645
|
+
// domain.
|
|
2646
|
+
//
|
|
2647
|
+
// No credential anywhere: the registry and the jsDelivr CDN the server
|
|
2648
|
+
// fetches SVG from are both public, so `auth_types: ['none']` is the honest
|
|
2649
|
+
// classification rather than the ENG-8440 kind of lie Hard Rule 17 warns
|
|
2650
|
+
// about — there genuinely is no key to enter and the install IS live
|
|
2651
|
+
// immediately.
|
|
2652
|
+
id: "thesvg",
|
|
2653
|
+
name: "theSVG",
|
|
2654
|
+
category: "media",
|
|
2655
|
+
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",
|
|
2656
|
+
supported_auth_types: ["none"],
|
|
2657
|
+
docs_url: "https://thesvg.org",
|
|
2658
|
+
capabilities: [
|
|
2659
|
+
{
|
|
2660
|
+
id: "thesvg:read",
|
|
2661
|
+
name: "Find and fetch brand icons",
|
|
2662
|
+
description: "Search the icon library, list an icon's variants and categories, and fetch its SVG markup or CDN URL",
|
|
2663
|
+
access: "read"
|
|
2664
|
+
}
|
|
2665
|
+
],
|
|
2666
|
+
installable: { category: "Media", authTypes: ["none"] },
|
|
2667
|
+
beta: true,
|
|
2668
|
+
// ENG-5815 data-driven path — no buildMcpJson edit, same as AWS.
|
|
2669
|
+
nativeMcp: {
|
|
2670
|
+
command: "npx",
|
|
2671
|
+
args: ["-y", "@thesvg/mcp-server@0.8.2"],
|
|
2672
|
+
env: {
|
|
2673
|
+
PATH: "{{process_env.PATH}}",
|
|
2674
|
+
HOME: "{{process_env.HOME}}"
|
|
2675
|
+
}
|
|
2676
|
+
}
|
|
2677
|
+
},
|
|
2548
2678
|
{
|
|
2549
2679
|
id: "qmd",
|
|
2550
2680
|
name: "QMD Memory Search",
|
|
@@ -5060,6 +5190,10 @@ var NOTICE_KIND_AUDIENCE = {
|
|
|
5060
5190
|
// "Your `<verb>` approval request (`<uuid>`) EXPIRED at …" — in the report,
|
|
5061
5191
|
// uuid and all.
|
|
5062
5192
|
approval_expired: "agent",
|
|
5193
|
+
// ENG-11334: canvas.publish_public approved / denied / approved-but-not-applied.
|
|
5194
|
+
// Second-person instructions to the agent ("Tell the user...", "do not
|
|
5195
|
+
// republish"); the user learns the outcome from the agent, not this row.
|
|
5196
|
+
canvas_public_approval_resolved: "agent",
|
|
5063
5197
|
// A routine fired; the agent picks the work up.
|
|
5064
5198
|
routine_firing_result: "agent",
|
|
5065
5199
|
// Live-advisor wake: "Call `live_read` with escalation_id …" — a literal tool
|
|
@@ -5624,6 +5758,37 @@ function encodeClaudeProjectPath(projectDir) {
|
|
|
5624
5758
|
var KANBAN_CHECK_COMMAND = "kanban_list \u2014 pick up any actionable items if you are free.";
|
|
5625
5759
|
var KANBAN_NUDGE_ACTIONABLE_STATUSES = ["todo", "in_progress"];
|
|
5626
5760
|
|
|
5761
|
+
// ../../packages/core/dist/kanban/assign-gate.js
|
|
5762
|
+
var DEFAULT_CROSS_TEAM_PEER_INTRA_ORG = "consent_required";
|
|
5763
|
+
function resolveCrossTeamPeerIntraOrg(raw) {
|
|
5764
|
+
return raw === "unrestricted" || raw === "consent_required" ? raw : DEFAULT_CROSS_TEAM_PEER_INTRA_ORG;
|
|
5765
|
+
}
|
|
5766
|
+
|
|
5767
|
+
// ../../packages/core/dist/kanban/state-machine.js
|
|
5768
|
+
var KANBAN_STATUSES = [
|
|
5769
|
+
"backlog",
|
|
5770
|
+
"todo",
|
|
5771
|
+
"in_progress",
|
|
5772
|
+
"done",
|
|
5773
|
+
"failed",
|
|
5774
|
+
"cancelled",
|
|
5775
|
+
"needs_attention",
|
|
5776
|
+
"waiting"
|
|
5777
|
+
];
|
|
5778
|
+
var KANBAN_STATUS_SET = new Set(KANBAN_STATUSES);
|
|
5779
|
+
|
|
5780
|
+
// ../../packages/core/dist/kanban/waiting.js
|
|
5781
|
+
var WAITING_KINDS = [
|
|
5782
|
+
"pr-review",
|
|
5783
|
+
"pr-merged",
|
|
5784
|
+
"human",
|
|
5785
|
+
"external",
|
|
5786
|
+
"other",
|
|
5787
|
+
"approval",
|
|
5788
|
+
"agent"
|
|
5789
|
+
];
|
|
5790
|
+
var WAITING_KIND_SET = new Set(WAITING_KINDS);
|
|
5791
|
+
|
|
5627
5792
|
// ../../packages/core/dist/feature-flags/registry.js
|
|
5628
5793
|
var FLAG_REGISTRY = [
|
|
5629
5794
|
{
|
|
@@ -7213,7 +7378,7 @@ var FLAG_REGISTRY = [
|
|
|
7213
7378
|
},
|
|
7214
7379
|
{
|
|
7215
7380
|
key: "approval-unified-authority",
|
|
7216
|
-
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.",
|
|
7381
|
+
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.",
|
|
7217
7382
|
flagType: "enum",
|
|
7218
7383
|
allowedValues: ["off", "shadow", "enforce"],
|
|
7219
7384
|
// Safe/default value is `off` (no computation, no extra reads on the tap path). A flag-DB read
|
|
@@ -15402,31 +15567,6 @@ function serializeAccountEnforcementMarker(level, text) {
|
|
|
15402
15567
|
return JSON.stringify(marker);
|
|
15403
15568
|
}
|
|
15404
15569
|
|
|
15405
|
-
// ../../packages/core/dist/kanban/state-machine.js
|
|
15406
|
-
var KANBAN_STATUSES = [
|
|
15407
|
-
"backlog",
|
|
15408
|
-
"todo",
|
|
15409
|
-
"in_progress",
|
|
15410
|
-
"done",
|
|
15411
|
-
"failed",
|
|
15412
|
-
"cancelled",
|
|
15413
|
-
"needs_attention",
|
|
15414
|
-
"waiting"
|
|
15415
|
-
];
|
|
15416
|
-
var KANBAN_STATUS_SET = new Set(KANBAN_STATUSES);
|
|
15417
|
-
|
|
15418
|
-
// ../../packages/core/dist/kanban/waiting.js
|
|
15419
|
-
var WAITING_KINDS = [
|
|
15420
|
-
"pr-review",
|
|
15421
|
-
"pr-merged",
|
|
15422
|
-
"human",
|
|
15423
|
-
"external",
|
|
15424
|
-
"other",
|
|
15425
|
-
"approval",
|
|
15426
|
-
"agent"
|
|
15427
|
-
];
|
|
15428
|
-
var WAITING_KIND_SET = new Set(WAITING_KINDS);
|
|
15429
|
-
|
|
15430
15570
|
// ../../packages/core/dist/alerts/age.js
|
|
15431
15571
|
var MINUTE_MS = 6e4;
|
|
15432
15572
|
var HOUR_MS = 60 * MINUTE_MS;
|
|
@@ -16196,6 +16336,7 @@ export {
|
|
|
16196
16336
|
serializeAccountEnforcementMarker,
|
|
16197
16337
|
KANBAN_CHECK_COMMAND,
|
|
16198
16338
|
KANBAN_NUDGE_ACTIONABLE_STATUSES,
|
|
16339
|
+
resolveCrossTeamPeerIntraOrg,
|
|
16199
16340
|
isSystemInjectedContent,
|
|
16200
16341
|
isBareAck,
|
|
16201
16342
|
CONVERSATION_FAILURE_CATEGORIES,
|
|
@@ -16236,4 +16377,4 @@ export {
|
|
|
16236
16377
|
peekCurrentSession,
|
|
16237
16378
|
readDailySessionPin
|
|
16238
16379
|
};
|
|
16239
|
-
//# sourceMappingURL=chunk-
|
|
16380
|
+
//# sourceMappingURL=chunk-36PNRFZD.js.map
|