@integrity-labs/agt-cli 0.28.874 → 0.28.876

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-UG2N5V4P.js → chunk-4FPSI5P4.js} +4 -4
  3. package/dist/{chunk-SQ7PB5A6.js → chunk-CA46EUVN.js} +2 -2
  4. package/dist/{chunk-Q2OVEMUG.js → chunk-EARM456T.js} +92 -1
  5. package/dist/chunk-EARM456T.js.map +1 -0
  6. package/dist/{claude-pair-runtime-GRZ2EHHR.js → claude-pair-runtime-G3SEYGH6.js} +2 -2
  7. package/dist/lib/manager-worker.js +21 -15
  8. package/dist/lib/manager-worker.js.map +1 -1
  9. package/dist/mcp/direct-chat-channel.js +91 -0
  10. package/dist/mcp/index.js +91 -0
  11. package/dist/mcp/origami.js +91 -0
  12. package/dist/mcp/slack-channel.js +188 -5
  13. package/dist/mcp/telegram-channel.js +91 -0
  14. package/dist/{persistent-session-MG6FEYRY.js → persistent-session-XQG5H4KI.js} +3 -3
  15. package/dist/{responsiveness-probe-2OGWHDXE.js → responsiveness-probe-LA4VGH5W.js} +3 -3
  16. package/dist/{session-auth-dead-AHL6D3CM.js → session-auth-dead-DFLSWVAQ.js} +2 -2
  17. package/package.json +1 -1
  18. package/dist/chunk-Q2OVEMUG.js.map +0 -1
  19. /package/dist/{chunk-UG2N5V4P.js.map → chunk-4FPSI5P4.js.map} +0 -0
  20. /package/dist/{chunk-SQ7PB5A6.js.map → chunk-CA46EUVN.js.map} +0 -0
  21. /package/dist/{claude-pair-runtime-GRZ2EHHR.js.map → claude-pair-runtime-G3SEYGH6.js.map} +0 -0
  22. /package/dist/{persistent-session-MG6FEYRY.js.map → persistent-session-XQG5H4KI.js.map} +0 -0
  23. /package/dist/{responsiveness-probe-2OGWHDXE.js.map → responsiveness-probe-LA4VGH5W.js.map} +0 -0
  24. /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-UG2N5V4P.js";
43
+ } from "../chunk-4FPSI5P4.js";
44
44
  import {
45
45
  getProjectDir,
46
46
  isSessionResumeDisabled,
47
47
  readDirectChatSessionState
48
- } from "../chunk-SQ7PB5A6.js";
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-Q2OVEMUG.js";
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.874" : "dev";
5470
+ var cliVersion = true ? "0.28.876" : "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.874" : "dev";
6661
+ var cliVersion2 = true ? "0.28.876" : "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) => {
@@ -16,7 +16,7 @@ import {
16
16
  parseEnvIntegrations,
17
17
  shellQuote,
18
18
  summarizeUnanswerablePane
19
- } from "./chunk-SQ7PB5A6.js";
19
+ } from "./chunk-CA46EUVN.js";
20
20
  import {
21
21
  BIND_FAILURE_QUARANTINE_THRESHOLD,
22
22
  INTEGRATIONS_SECTION_END,
@@ -76,7 +76,7 @@ import {
76
76
  sessionTranscriptDir,
77
77
  worseConnectivityOutcome,
78
78
  wrapScheduledTaskPrompt
79
- } from "./chunk-Q2OVEMUG.js";
79
+ } from "./chunk-EARM456T.js";
80
80
  import {
81
81
  parsePsRows
82
82
  } from "./chunk-XWVM4KPK.js";
@@ -6771,7 +6771,7 @@ function exchangeFailureKind(err) {
6771
6771
  }
6772
6772
 
6773
6773
  // src/lib/api-client.ts
6774
- var agtCliVersion = true ? "0.28.874" : "dev";
6774
+ var agtCliVersion = true ? "0.28.876" : "dev";
6775
6775
  var lastConfigHash = null;
6776
6776
  function setConfigHash(hash) {
6777
6777
  lastConfigHash = hash && hash.length > 0 ? hash : null;
@@ -11381,4 +11381,4 @@ export {
11381
11381
  managerInstallSystemUnitCommand,
11382
11382
  managerUninstallSystemUnitCommand
11383
11383
  };
11384
- //# sourceMappingURL=chunk-UG2N5V4P.js.map
11384
+ //# sourceMappingURL=chunk-4FPSI5P4.js.map
@@ -18,7 +18,7 @@ import {
18
18
  rotateDailySession,
19
19
  sessionFileExists,
20
20
  todayLocalIso
21
- } from "./chunk-Q2OVEMUG.js";
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-SQ7PB5A6.js.map
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-Q2OVEMUG.js.map
14397
+ //# sourceMappingURL=chunk-EARM456T.js.map