@integrity-labs/agt-cli 0.28.875 → 0.28.877
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-SQ7PB5A6.js → chunk-CA46EUVN.js} +2 -2
- package/dist/{chunk-Q2OVEMUG.js → chunk-EARM456T.js} +92 -1
- package/dist/chunk-EARM456T.js.map +1 -0
- package/dist/{chunk-6MGKXGCE.js → chunk-GYCS2NTY.js} +4 -4
- package/dist/{claude-pair-runtime-GRZ2EHHR.js → claude-pair-runtime-G3SEYGH6.js} +2 -2
- package/dist/lib/manager-worker.js +14 -14
- package/dist/mcp/direct-chat-channel.js +91 -0
- package/dist/mcp/index.js +91 -0
- package/dist/mcp/origami.js +91 -0
- package/dist/mcp/slack-channel.js +91 -0
- package/dist/mcp/telegram-channel.js +91 -0
- package/dist/{persistent-session-MG6FEYRY.js → persistent-session-XQG5H4KI.js} +3 -3
- package/dist/{responsiveness-probe-2OGWHDXE.js → responsiveness-probe-LA4VGH5W.js} +3 -3
- package/dist/{session-auth-dead-AHL6D3CM.js → session-auth-dead-DFLSWVAQ.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-Q2OVEMUG.js.map +0 -1
- /package/dist/{chunk-SQ7PB5A6.js.map → chunk-CA46EUVN.js.map} +0 -0
- /package/dist/{chunk-6MGKXGCE.js.map → chunk-GYCS2NTY.js.map} +0 -0
- /package/dist/{claude-pair-runtime-GRZ2EHHR.js.map → claude-pair-runtime-G3SEYGH6.js.map} +0 -0
- /package/dist/{persistent-session-MG6FEYRY.js.map → persistent-session-XQG5H4KI.js.map} +0 -0
- /package/dist/{responsiveness-probe-2OGWHDXE.js.map → responsiveness-probe-LA4VGH5W.js.map} +0 -0
- /package/dist/{session-auth-dead-AHL6D3CM.js.map → session-auth-dead-DFLSWVAQ.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-GYCS2NTY.js";
|
|
44
44
|
import {
|
|
45
45
|
getProjectDir,
|
|
46
46
|
isSessionResumeDisabled,
|
|
47
47
|
readDirectChatSessionState
|
|
48
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-CA46EUVN.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-EARM456T.js";
|
|
83
83
|
import "../chunk-XWVM4KPK.js";
|
|
84
84
|
|
|
85
85
|
// src/bin/agt.ts
|
|
@@ -5467,7 +5467,7 @@ import { execFileSync, execSync } from "child_process";
|
|
|
5467
5467
|
import { existsSync as existsSync11, realpathSync as realpathSync2 } from "fs";
|
|
5468
5468
|
import chalk18 from "chalk";
|
|
5469
5469
|
import ora16 from "ora";
|
|
5470
|
-
var cliVersion = true ? "0.28.
|
|
5470
|
+
var cliVersion = true ? "0.28.877" : "dev";
|
|
5471
5471
|
async function fetchLatestVersion() {
|
|
5472
5472
|
const host2 = getHost();
|
|
5473
5473
|
if (!host2) return null;
|
|
@@ -6658,7 +6658,7 @@ function handleError(err) {
|
|
|
6658
6658
|
}
|
|
6659
6659
|
|
|
6660
6660
|
// src/bin/agt.ts
|
|
6661
|
-
var cliVersion2 = true ? "0.28.
|
|
6661
|
+
var cliVersion2 = true ? "0.28.877" : "dev";
|
|
6662
6662
|
var program = new Command();
|
|
6663
6663
|
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");
|
|
6664
6664
|
program.hook("preAction", async (thisCommand, actionCommand) => {
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
rotateDailySession,
|
|
19
19
|
sessionFileExists,
|
|
20
20
|
todayLocalIso
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-EARM456T.js";
|
|
22
22
|
import {
|
|
23
23
|
reapOrphanChannelMcps
|
|
24
24
|
} from "./chunk-XWVM4KPK.js";
|
|
@@ -5431,4 +5431,4 @@ export {
|
|
|
5431
5431
|
stopAllSessionsAndWait,
|
|
5432
5432
|
getProjectDir
|
|
5433
5433
|
};
|
|
5434
|
-
//# sourceMappingURL=chunk-
|
|
5434
|
+
//# sourceMappingURL=chunk-CA46EUVN.js.map
|
|
@@ -2853,6 +2853,97 @@ var INTEGRATION_REGISTRY = [
|
|
|
2853
2853
|
]
|
|
2854
2854
|
}
|
|
2855
2855
|
},
|
|
2856
|
+
{
|
|
2857
|
+
id: "origami",
|
|
2858
|
+
name: "origami.chat",
|
|
2859
|
+
category: "crm",
|
|
2860
|
+
description: "Lead data + outbound: build and enrich lead lists, drive origami's AI worker from a natural-language brief, and read the tables it builds. Available on the platform-managed account, or with your own origami key.",
|
|
2861
|
+
// ENG-7423: origami migrates from a customer-key-only integration to a
|
|
2862
|
+
// PREMIUM one that ALSO keeps BYO — the Firecrawl / ADR-0055 model, with one
|
|
2863
|
+
// structural difference that drives most of the design.
|
|
2864
|
+
//
|
|
2865
|
+
// Firecrawl's premium tier is a single platform account key that every
|
|
2866
|
+
// customer's calls bill back to, and isolation is not a concern because a
|
|
2867
|
+
// scrape has no tenancy. origami is the opposite: it stores the customer's
|
|
2868
|
+
// LEAD LISTS, tables, chats and campaigns. Putting every customer on one
|
|
2869
|
+
// parent org would make every customer's data mutually readable, so the
|
|
2870
|
+
// managed tier gives each ORGANIZATION its own origami project (child org)
|
|
2871
|
+
// and mints a key BOUND to that project (`POST /account/keys` with
|
|
2872
|
+
// `project_id`, v3). See `packages/core/src/origami/provision.ts` for why a
|
|
2873
|
+
// bound key rather than the `x-origami-project` header — in short, the
|
|
2874
|
+
// header is a per-call assertion and the tool argument is deliberately
|
|
2875
|
+
// nullable, so under a shared parent an ordinary tool call could reach it.
|
|
2876
|
+
//
|
|
2877
|
+
// ── auth types, and the ENG-9235 trap this deliberately re-enters ─────────
|
|
2878
|
+
// Both are offered, unlike Firecrawl, which PARKED `api_key` down to
|
|
2879
|
+
// `['none']` because a 2+-auth-type wizard renders a picker that is not
|
|
2880
|
+
// entitlement-aware: a customer picks BYO, goes and fetches a vendor key,
|
|
2881
|
+
// and is then rejected with `byo_not_entitled_by_plan` (BYO on a premium def
|
|
2882
|
+
// needs `plans.byo_credentials`, enterprise-only today).
|
|
2883
|
+
//
|
|
2884
|
+
// origami cannot take that exit. BYO is the INCUMBENT here — every existing
|
|
2885
|
+
// install is a customer's own key — so dropping `api_key` would remove the
|
|
2886
|
+
// only mode its current customers use. The known gap is therefore accepted
|
|
2887
|
+
// and pointed at its owner: the picker will still let a non-entitled org
|
|
2888
|
+
// choose BYO and reject it afterwards. ENG-9236 (entitlement-aware wizard)
|
|
2889
|
+
// is the fix; until it lands the rejection is at least loud, specific, and
|
|
2890
|
+
// ahead of any charge.
|
|
2891
|
+
//
|
|
2892
|
+
// EXISTING installs are unaffected by that gate: the premium migration
|
|
2893
|
+
// backfills them to `credential_source='byo'` AND stamps
|
|
2894
|
+
// `config.byo_grandfathered_at`, which the call-time resolver honours in
|
|
2895
|
+
// place of the plan check. Grandfathering is per-install and set only by
|
|
2896
|
+
// that one migration — a NEW BYO install still needs the entitlement.
|
|
2897
|
+
//
|
|
2898
|
+
// KEEP IN LOCKSTEP with the `origami` rows in
|
|
2899
|
+
// packages/supabase/seeds/integration-definitions.json and
|
|
2900
|
+
// toolkit-definitions.json: those seeds carry their own auth types and are
|
|
2901
|
+
// what `db:catalog:seed` upserts on every prod deploy, so editing this array
|
|
2902
|
+
// alone changes nothing a customer can see.
|
|
2903
|
+
supported_auth_types: ["none", "api_key"],
|
|
2904
|
+
capabilities: [
|
|
2905
|
+
{ id: "origami:read", name: "Read Lists & Runs", description: "Discover projects and tables, read built tables and rows, poll runs/batches, and check credit balance. Credit-free.", access: "read" },
|
|
2906
|
+
{ id: "origami:write", name: "Enrich Leads", description: "Insert raw rows into an enrichment table (submit_enrichment). Consumes credits.", access: "write" },
|
|
2907
|
+
{ id: "origami:agent", name: "Drive the AI Worker", description: "Create an origami agent, send follow-up runs, cancel a run, archive an agent. Consumes credits.", access: "write" }
|
|
2908
|
+
],
|
|
2909
|
+
docs_url: "https://docs.origami.chat/v3/overview",
|
|
2910
|
+
// ENG-7423: premium (billable). origami bills internally in CREDITS, so the
|
|
2911
|
+
// integration is usage-priced on one meter whose unit is the vendor's own
|
|
2912
|
+
// billing unit. Priced at 2.0 c USD / 3.5 c AUD per credit by
|
|
2913
|
+
// `20260907000050_origami_credits_rate_card.sql`, against a retail cost of
|
|
2914
|
+
// 1.29-1.43 c/credit depending on which origami tier we hold.
|
|
2915
|
+
//
|
|
2916
|
+
// The note deliberately does NOT say "at cost". origami sells a
|
|
2917
|
+
// SUBSCRIPTION WITH AN INCLUDED BUNDLE while this meters PER CREDIT
|
|
2918
|
+
// CONSUMED, so a per-credit price recovers the subscription only at full
|
|
2919
|
+
// utilisation — around 72% of the bundle at this rate. Calling that "at
|
|
2920
|
+
// cost" in a customer-facing pricing string would be a claim about our
|
|
2921
|
+
// margin that is only true at one utilisation level we do not control.
|
|
2922
|
+
//
|
|
2923
|
+
// ONE meter, not one per tool, because of where the number comes from. Every
|
|
2924
|
+
// other premium integration meters at a server-side broker chokepoint, which
|
|
2925
|
+
// sees each call and can attribute it. origami's agent surface is a
|
|
2926
|
+
// host-resident stdio MCP server (ADR-0040) that calls origami.chat DIRECTLY
|
|
2927
|
+
// — the control plane never sees the tool call, so there is no per-operation
|
|
2928
|
+
// quantity to meter. What the control plane CAN see is the project's own
|
|
2929
|
+
// spend (`GET /account/projects/{id}` → `usage.spent`), which the credit
|
|
2930
|
+
// reconciler polls and meters as a delta. That is a per-project total, so it
|
|
2931
|
+
// can only ever be one meter; splitting it per tool would require the vendor
|
|
2932
|
+
// to break spend down by operation, which v3 does not expose.
|
|
2933
|
+
//
|
|
2934
|
+
// `unit_label` is set because the machine unit is the vendor's internal
|
|
2935
|
+
// billing unit rather than a thing the customer asked for — "(per credit)"
|
|
2936
|
+
// is the honest rendering, in the ADR-0053 cost-pass-through spirit.
|
|
2937
|
+
//
|
|
2938
|
+
// Only a MANAGED install is metered. A BYO install spends the customer's own
|
|
2939
|
+
// origami credits on their own bill (`isBilledInstall` → false), which is why
|
|
2940
|
+
// the reconciler polls only projects it provisioned.
|
|
2941
|
+
premium: {
|
|
2942
|
+
pricing: "usage",
|
|
2943
|
+
note: "Billed per origami credit the agent consumes. Bring your own origami key instead and usage is billed to you by origami directly.",
|
|
2944
|
+
meters: [{ event_type: "credits", unit: "credit", label: "origami credits", unit_label: "credit" }]
|
|
2945
|
+
}
|
|
2946
|
+
},
|
|
2856
2947
|
{
|
|
2857
2948
|
id: "ayrshare",
|
|
2858
2949
|
name: "Ayrshare",
|
|
@@ -14303,4 +14394,4 @@ export {
|
|
|
14303
14394
|
peekCurrentSession,
|
|
14304
14395
|
readDailySessionPin
|
|
14305
14396
|
};
|
|
14306
|
-
//# sourceMappingURL=chunk-
|
|
14397
|
+
//# sourceMappingURL=chunk-EARM456T.js.map
|