@integrity-labs/agt-cli 0.28.156 → 0.28.158
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 +4 -4
- package/dist/{chunk-OINH6USQ.js → chunk-3OLFOA4F.js} +55 -7
- package/dist/chunk-3OLFOA4F.js.map +1 -0
- package/dist/{chunk-AYN7K3DY.js → chunk-E6ABR63O.js} +2 -2
- package/dist/{chunk-SKANUWSB.js → chunk-TLX6ORJ5.js} +35 -1
- package/dist/{chunk-SKANUWSB.js.map → chunk-TLX6ORJ5.js.map} +1 -1
- package/dist/{claude-pair-runtime-YEJA2OWZ.js → claude-pair-runtime-SXO5Q5R6.js} +2 -2
- package/dist/lib/manager-worker.js +8 -8
- package/dist/{persistent-session-42JGH4TP.js → persistent-session-N7WFONZC.js} +3 -3
- package/dist/{responsiveness-probe-P3H7BWPZ.js → responsiveness-probe-UXJY4YRL.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-OINH6USQ.js.map +0 -1
- /package/dist/{chunk-AYN7K3DY.js.map → chunk-E6ABR63O.js.map} +0 -0
- /package/dist/{claude-pair-runtime-YEJA2OWZ.js.map → claude-pair-runtime-SXO5Q5R6.js.map} +0 -0
- /package/dist/{persistent-session-42JGH4TP.js.map → persistent-session-N7WFONZC.js.map} +0 -0
- /package/dist/{responsiveness-probe-P3H7BWPZ.js.map → responsiveness-probe-UXJY4YRL.js.map} +0 -0
package/dist/bin/agt.js
CHANGED
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
success,
|
|
38
38
|
table,
|
|
39
39
|
warn
|
|
40
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-3OLFOA4F.js";
|
|
41
41
|
import {
|
|
42
42
|
CHANNEL_REGISTRY,
|
|
43
43
|
DEPLOYMENT_TEMPLATES,
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
renderTemplate,
|
|
65
65
|
resolveChannels,
|
|
66
66
|
serializeManifestForSlackCli
|
|
67
|
-
} from "../chunk-
|
|
67
|
+
} from "../chunk-TLX6ORJ5.js";
|
|
68
68
|
|
|
69
69
|
// src/bin/agt.ts
|
|
70
70
|
import { join as join22 } from "path";
|
|
@@ -4777,7 +4777,7 @@ import { execFileSync, execSync } from "child_process";
|
|
|
4777
4777
|
import { existsSync as existsSync10, realpathSync as realpathSync2 } from "fs";
|
|
4778
4778
|
import chalk18 from "chalk";
|
|
4779
4779
|
import ora16 from "ora";
|
|
4780
|
-
var cliVersion = true ? "0.28.
|
|
4780
|
+
var cliVersion = true ? "0.28.158" : "dev";
|
|
4781
4781
|
async function fetchLatestVersion() {
|
|
4782
4782
|
const host2 = getHost();
|
|
4783
4783
|
if (!host2) return null;
|
|
@@ -5791,7 +5791,7 @@ function handleError(err) {
|
|
|
5791
5791
|
}
|
|
5792
5792
|
|
|
5793
5793
|
// src/bin/agt.ts
|
|
5794
|
-
var cliVersion2 = true ? "0.28.
|
|
5794
|
+
var cliVersion2 = true ? "0.28.158" : "dev";
|
|
5795
5795
|
var program = new Command();
|
|
5796
5796
|
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");
|
|
5797
5797
|
program.hook("preAction", async (thisCommand, actionCommand) => {
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
resolveConnectivityProbe,
|
|
23
23
|
worseConnectivityOutcome,
|
|
24
24
|
wrapScheduledTaskPrompt
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-TLX6ORJ5.js";
|
|
26
26
|
|
|
27
27
|
// ../../packages/core/dist/integrations/registry.js
|
|
28
28
|
var INTEGRATION_REGISTRY = [
|
|
@@ -179,6 +179,33 @@ var INTEGRATION_REGISTRY = [
|
|
|
179
179
|
docs_url: "https://ext-api.app.brandninja.ai/v1/mcp",
|
|
180
180
|
beta: true
|
|
181
181
|
},
|
|
182
|
+
{
|
|
183
|
+
id: "kajabi",
|
|
184
|
+
name: "Kajabi",
|
|
185
|
+
category: "crm",
|
|
186
|
+
description: "Run a Kajabi creator business from chat \u2014 read contacts, products, offers, and analytics, manage contact tags & segments, and draft email broadcasts & sequences. Wired as the hosted Kajabi MCP at https://mcp.kajabi.com/mcp.",
|
|
187
|
+
// Same remote streamable-HTTP MCP + OAuth pattern as Granola/Brand Ninja.
|
|
188
|
+
// Kajabi's Doorkeeper AS implements the MCP discovery chain (RFC
|
|
189
|
+
// 9728/8414/7591); auth is OAuth 2.0 authorization-code with PKCE (S256)
|
|
190
|
+
// and a public client registered via one-time Dynamic Client Registration
|
|
191
|
+
// (scripts/dcr-register.ts against https://mcp.kajabi.com/mcp/oauth/register
|
|
192
|
+
// → OAUTH_KAJABI_CLIENT_ID; register with --scope 'read write:contacts
|
|
193
|
+
// write:emails' since Doorkeeper caps a dynamic client to its registered
|
|
194
|
+
// scopes). End-user consent is brokered by the webapp through the shared
|
|
195
|
+
// /integrations/oauth/authorize → /callback path, and the access_token is
|
|
196
|
+
// injected into .mcp.json via the generic bearer-header path
|
|
197
|
+
// (OAUTH_PROVIDERS.kajabi.mcpUrl). Every Kajabi tool is site-scoped — agents
|
|
198
|
+
// call list_sites/select_site first. No host-side action beyond the
|
|
199
|
+
// deploy-time DCR registration.
|
|
200
|
+
supported_auth_types: ["oauth2"],
|
|
201
|
+
capabilities: [
|
|
202
|
+
{ id: "kajabi:read", name: "Read & Discover", description: "List sites and read contacts, products, offers, purchases, and revenue/contacts analytics (list_sites, select_site, search_contacts, get_contact, list_offers, get_offer, search_products, get_revenue_analytics, \u2026)", access: "read" },
|
|
203
|
+
{ id: "kajabi:contacts", name: "Manage Contacts", description: "Create and apply contact tags, and create/update saved contact segments (create_tag, tag_contact, untag_contact, create_segment, update_segment)", access: "write" },
|
|
204
|
+
{ id: "kajabi:emails", name: "Manage Emails", description: "Read and draft email broadcasts and sequences \u2014 drafts only, sending stays a human action in Kajabi (create_broadcast, create_sequence, list_broadcasts, get_sequence)", access: "write" }
|
|
205
|
+
],
|
|
206
|
+
docs_url: "https://help.kajabi.com/articles/api-integrations/connect-kajabi-to-claude-or-chatgpt",
|
|
207
|
+
beta: true
|
|
208
|
+
},
|
|
182
209
|
{
|
|
183
210
|
id: "anchor-browser",
|
|
184
211
|
name: "Anchor Browser",
|
|
@@ -3449,6 +3476,19 @@ the user; it goes only to your local session log. So always reply on the channel
|
|
|
3449
3476
|
the message arrived on, and never answer a channel message with plain text
|
|
3450
3477
|
alone: if you did not call a reply tool, the user received nothing.
|
|
3451
3478
|
|
|
3479
|
+
**The one exception, and why standing down must be truly silent:** a
|
|
3480
|
+
reply-recovery safety net runs when your turn ends. If an inbound on a thread is
|
|
3481
|
+
still pending and you did not call its reply tool, the net may deliver your
|
|
3482
|
+
end-of-turn plain text to that thread to rescue a reply you composed but forgot
|
|
3483
|
+
to send. So when you deliberately decide NOT to reply to a message (it is not
|
|
3484
|
+
addressed to you, it is a conversation between others, it arrived via
|
|
3485
|
+
auto-follow, or it otherwise needs no answer), do not write a closing line
|
|
3486
|
+
narrating that decision ("not for me, staying silent", "stood down on this one",
|
|
3487
|
+
"staying quiet unless pulled back in", and the like). Make the call internally
|
|
3488
|
+
and end the turn with no channel-facing text. Otherwise the net posts your
|
|
3489
|
+
stand-down narration as if it were your reply, which is the exact channel noise
|
|
3490
|
+
you were trying to avoid.
|
|
3491
|
+
|
|
3452
3492
|
This is the highest-priority instruction in this document. Before anything
|
|
3453
3493
|
else when you receive an inbound \`<channel>\` tag (Slack/Telegram/Direct
|
|
3454
3494
|
Chat), decide:
|
|
@@ -3606,10 +3646,18 @@ to add it yourself. After working, prefer a text reply via slack.reply over a re
|
|
|
3606
3646
|
|
|
3607
3647
|
**When a thread message is not for you, do nothing.** If a message in a thread
|
|
3608
3648
|
is addressed to a different user (different @-mention), is part of a conversation
|
|
3609
|
-
between others, or arrives via auto-follow with no relevance to you \u2014
|
|
3610
|
-
|
|
3611
|
-
|
|
3612
|
-
|
|
3649
|
+
between others, or arrives via auto-follow with no relevance to you \u2014 skip it
|
|
3650
|
+
and do not post a text reply. Whether you also mark it with a "seen, skipping"
|
|
3651
|
+
reaction is governed by your Slack MCP server's own instructions, which reflect
|
|
3652
|
+
the current channel policy: if it tells you to react when you skip, do that; if
|
|
3653
|
+
it doesn't, skip with no reaction at all. Follow that guidance rather than
|
|
3654
|
+
assuming either way here. The one reaction that is always wrong in this case is
|
|
3655
|
+
\u274C: it tells the user "execution failed" when in fact you correctly identified
|
|
3656
|
+
the message wasn't yours to handle. Skipping also means writing nothing: do not
|
|
3657
|
+
end your turn with a line narrating that you're standing down or staying silent.
|
|
3658
|
+
Per the delivery rule above, the reply-recovery net can post that trailing text
|
|
3659
|
+
to the thread as if it were your reply, so a stand-down narration becomes the
|
|
3660
|
+
very noise you were avoiding. Decide internally and leave no channel-facing text.
|
|
3613
3661
|
` : ""}
|
|
3614
3662
|
## Governance
|
|
3615
3663
|
|
|
@@ -7850,7 +7898,7 @@ function requireHost() {
|
|
|
7850
7898
|
}
|
|
7851
7899
|
|
|
7852
7900
|
// src/lib/api-client.ts
|
|
7853
|
-
var agtCliVersion = true ? "0.28.
|
|
7901
|
+
var agtCliVersion = true ? "0.28.158" : "dev";
|
|
7854
7902
|
var lastConfigHash = null;
|
|
7855
7903
|
function setConfigHash(hash) {
|
|
7856
7904
|
lastConfigHash = hash && hash.length > 0 ? hash : null;
|
|
@@ -9155,4 +9203,4 @@ export {
|
|
|
9155
9203
|
managerInstallSystemUnitCommand,
|
|
9156
9204
|
managerUninstallSystemUnitCommand
|
|
9157
9205
|
};
|
|
9158
|
-
//# sourceMappingURL=chunk-
|
|
9206
|
+
//# sourceMappingURL=chunk-3OLFOA4F.js.map
|