@integrity-labs/agt-cli 0.28.1130 → 0.28.1132
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-KN4GAY5Z.js → chunk-CA4OFLW4.js} +86 -1
- package/dist/chunk-CA4OFLW4.js.map +1 -0
- package/dist/{chunk-EEBMAG52.js → chunk-K2V6JUIQ.js} +4 -4
- package/dist/{chunk-TRZ4SG77.js → chunk-LIWZ3QER.js} +2 -2
- package/dist/{claude-pair-runtime-WSUD7FHJ.js → claude-pair-runtime-D7FVFPCJ.js} +2 -2
- package/dist/lib/manager-worker.js +16 -16
- package/dist/mcp/direct-chat-channel.js +14399 -2739
- package/dist/mcp/index.js +85 -0
- package/dist/mcp/origami.js +85 -0
- package/dist/mcp/slack-channel.js +85 -0
- package/dist/mcp/telegram-channel.js +85 -0
- package/dist/{persistent-session-YDKIHRCX.js → persistent-session-WE42P4HU.js} +3 -3
- package/dist/{responsiveness-probe-5LEQ4ZFE.js → responsiveness-probe-6AG6PYW7.js} +3 -3
- package/dist/{session-auth-dead-C3GYATAO.js → session-auth-dead-H7UDGEIS.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-KN4GAY5Z.js.map +0 -1
- /package/dist/{chunk-EEBMAG52.js.map → chunk-K2V6JUIQ.js.map} +0 -0
- /package/dist/{chunk-TRZ4SG77.js.map → chunk-LIWZ3QER.js.map} +0 -0
- /package/dist/{claude-pair-runtime-WSUD7FHJ.js.map → claude-pair-runtime-D7FVFPCJ.js.map} +0 -0
- /package/dist/{persistent-session-YDKIHRCX.js.map → persistent-session-WE42P4HU.js.map} +0 -0
- /package/dist/{responsiveness-probe-5LEQ4ZFE.js.map → responsiveness-probe-6AG6PYW7.js.map} +0 -0
- /package/dist/{session-auth-dead-C3GYATAO.js.map → session-auth-dead-H7UDGEIS.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-K2V6JUIQ.js";
|
|
44
44
|
import {
|
|
45
45
|
getProjectDir,
|
|
46
46
|
isSessionResumeDisabled,
|
|
47
47
|
readDirectChatSessionState
|
|
48
|
-
} from "../chunk-
|
|
48
|
+
} from "../chunk-LIWZ3QER.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-CA4OFLW4.js";
|
|
83
83
|
import "../chunk-B6UYVEMD.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.1132" : "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.1132" : "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) => {
|
|
@@ -2085,6 +2085,36 @@ var INTEGRATION_REGISTRY = [
|
|
|
2085
2085
|
docs_url: "https://help.otter.ai/hc/en-us/articles/35287607569687-Otter-MCP-Server",
|
|
2086
2086
|
beta: true
|
|
2087
2087
|
},
|
|
2088
|
+
{
|
|
2089
|
+
id: "plaud",
|
|
2090
|
+
name: "Plaud",
|
|
2091
|
+
category: "knowledge",
|
|
2092
|
+
description: "Read Plaud recordings: list and search recordings by name or date, and read their AI notes (summary, action items, key topics) and full speaker-labelled transcripts.",
|
|
2093
|
+
// ENG-11543 (CS-2134): same remote streamable-HTTP MCP + OAuth pattern as
|
|
2094
|
+
// Granola/Kajabi/Otter, against Plaud's HOSTED server (https://mcp.plaud.ai/mcp),
|
|
2095
|
+
// not the stdio `npx @plaud-ai/mcp` package. Discovery chain: RFC 9728
|
|
2096
|
+
// protected-resource metadata at mcp.plaud.ai -> RFC 8414 AS metadata on the
|
|
2097
|
+
// same host -> RFC 7591 registration at /register. Auth is OAuth 2.0
|
|
2098
|
+
// authorization-code with PKCE (S256) and a public client registered once by
|
|
2099
|
+
// an operator (docs/runbooks/plaud-dogfood.md -> OAUTH_PLAUD_CLIENT_ID).
|
|
2100
|
+
// Consent is brokered through the shared /integrations/oauth/authorize ->
|
|
2101
|
+
// /callback path, and the token reaches the host via the generic
|
|
2102
|
+
// remote-oauth-proxy (OAUTH_PROVIDERS.plaud.mcpUrl).
|
|
2103
|
+
//
|
|
2104
|
+
// READ-ONLY RESTS ENTIRELY ON THE TOOL ALLOWLIST. Unlike Otter, Plaud
|
|
2105
|
+
// advertises NO scopes_supported, so there is no read scope to request and
|
|
2106
|
+
// the granted token is not scope-limited. What keeps this integration
|
|
2107
|
+
// read-only is OAUTH_PROVIDERS.plaud.toolAllowlist (the five documented
|
|
2108
|
+
// reads), which the proxy enforces on tools/list and tools/call. `login` and
|
|
2109
|
+
// `logout` are excluded; `logout` would revoke the user's authorization.
|
|
2110
|
+
// Anything that widens the allowlist widens what the token can do.
|
|
2111
|
+
supported_auth_types: ["oauth2"],
|
|
2112
|
+
capabilities: [
|
|
2113
|
+
{ id: "plaud:read", name: "Read Recordings & Transcripts", description: "List and search recordings by name or date, and read their details, AI notes (summary, action items, key topics) and full transcripts with speaker labels (get_current_user, list_files, get_file, get_note, get_transcript)", access: "read" }
|
|
2114
|
+
],
|
|
2115
|
+
docs_url: "https://docs.plaud.ai/plaud-mcp-cli/mcp",
|
|
2116
|
+
beta: true
|
|
2117
|
+
},
|
|
2088
2118
|
{
|
|
2089
2119
|
id: "anchor-browser",
|
|
2090
2120
|
name: "Anchor Browser",
|
|
@@ -11981,6 +12011,61 @@ var OAUTH_PROVIDERS = {
|
|
|
11981
12011
|
// tools/list after a real consent (runbook Step 3).
|
|
11982
12012
|
toolAllowlist: ["otter_get_user_info", "otter_search", "otter_fetch"]
|
|
11983
12013
|
},
|
|
12014
|
+
"plaud": {
|
|
12015
|
+
// ENG-11543 (CS-2134): Plaud's hosted MCP - remote streamable-HTTP at
|
|
12016
|
+
// https://mcp.plaud.ai/mcp. Same Granola/Kajabi/Otter shape: OAuth 2.0
|
|
12017
|
+
// authorization-code with PKCE (S256) and a public client
|
|
12018
|
+
// (token_endpoint_auth_method 'none') issued via Dynamic Client
|
|
12019
|
+
// Registration (RFC 7591). NOT the stdio `npx @plaud-ai/mcp` package,
|
|
12020
|
+
// which runs its own local browser sign-in and token file. Values below
|
|
12021
|
+
// are taken verbatim from the metadata (re-read 2026-10-16), not inferred:
|
|
12022
|
+
// - https://mcp.plaud.ai/.well-known/oauth-protected-resource (and the
|
|
12023
|
+
// path-suffixed /.well-known/oauth-protected-resource/mcp the server's
|
|
12024
|
+
// 401 points at) give resource https://mcp.plaud.ai/mcp, AS
|
|
12025
|
+
// https://mcp.plaud.ai/, bearer in the header;
|
|
12026
|
+
// - https://mcp.plaud.ai/.well-known/oauth-authorization-server (and
|
|
12027
|
+
// the identical openid-configuration) give authorize /authorize, token
|
|
12028
|
+
// /token, register /register, PKCE S256 only, `none` among the token
|
|
12029
|
+
// auth methods, and the authorization_code + refresh_token grants.
|
|
12030
|
+
// NOT advertised: `scopes_supported` (so defaultScopes is empty, the
|
|
12031
|
+
// notion-cli precedent, and the authorize URL carries `scope=`) and
|
|
12032
|
+
// `revocation_endpoint` (so there is no revokeUrl: disconnecting here
|
|
12033
|
+
// deletes our copy of the token but cannot revoke Plaud's grant; the user
|
|
12034
|
+
// revokes it in their Plaud account).
|
|
12035
|
+
//
|
|
12036
|
+
// DCR (operator step, NOT done as of this commit): POST the registration
|
|
12037
|
+
// body by hand to https://mcp.plaud.ai/register with client_name
|
|
12038
|
+
// `Ninjafy`, token_endpoint_auth_method `none`, grant_types
|
|
12039
|
+
// authorization_code + refresh_token, and BOTH API callbacks in
|
|
12040
|
+
// redirect_uris (https://api.augmented.team/integrations/oauth/callback
|
|
12041
|
+
// and https://api.ninjafy.com/integrations/oauth/callback). Do not use
|
|
12042
|
+
// scripts/dcr-register.ts: it takes a single --redirect-uri. Store the
|
|
12043
|
+
// returned client id as OAUTH_PLAUD_CLIENT_ID; unset, Connect soft-fails
|
|
12044
|
+
// "not configured". Full procedure: docs/runbooks/plaud-dogfood.md.
|
|
12045
|
+
definitionId: "plaud",
|
|
12046
|
+
authorizeUrl: "https://mcp.plaud.ai/authorize",
|
|
12047
|
+
tokenUrl: "https://mcp.plaud.ai/token",
|
|
12048
|
+
defaultScopes: [],
|
|
12049
|
+
supportsRefresh: true,
|
|
12050
|
+
extraAuthorizeParams: {},
|
|
12051
|
+
clientAuthMethod: "body",
|
|
12052
|
+
pkce: "S256",
|
|
12053
|
+
publicClient: true,
|
|
12054
|
+
mcpUrl: "https://mcp.plaud.ai/mcp",
|
|
12055
|
+
// Curated surface (matches the catalog seed's defined_scopes[].tools).
|
|
12056
|
+
// Plaud advertises NO scopes, so the token is not scope-limited: the
|
|
12057
|
+
// read-only property of this integration rests ENTIRELY on this
|
|
12058
|
+
// allowlist, which the remote-oauth-proxy enforces on tools/list and
|
|
12059
|
+
// tools/call. The five names are Plaud's documented read tools
|
|
12060
|
+
// (https://docs.plaud.ai/plaud-mcp-cli/mcp). `login` and `logout` are
|
|
12061
|
+
// deliberately excluded: sign-in is our OAuth broker's job, and `logout`
|
|
12062
|
+
// revokes the user's authorization, which an agent must never do. The
|
|
12063
|
+
// names come from the docs, not from an authenticated tools/list (that
|
|
12064
|
+
// needs a consented token), and the proxy SKIPS an allowlisted name the
|
|
12065
|
+
// server does not serve, so confirm against the first live tools/list
|
|
12066
|
+
// (runbook Step 3, a gate before customer use).
|
|
12067
|
+
toolAllowlist: ["get_current_user", "list_files", "get_file", "get_note", "get_transcript"]
|
|
12068
|
+
},
|
|
11984
12069
|
"notion-cli": {
|
|
11985
12070
|
// Notion's public OAuth app. Tokens are workspace-scoped and long-lived —
|
|
11986
12071
|
// Notion does not issue refresh_tokens, so `supportsRefresh: false` and
|
|
@@ -17010,4 +17095,4 @@ export {
|
|
|
17010
17095
|
peekCurrentSession,
|
|
17011
17096
|
readDailySessionPin
|
|
17012
17097
|
};
|
|
17013
|
-
//# sourceMappingURL=chunk-
|
|
17098
|
+
//# sourceMappingURL=chunk-CA4OFLW4.js.map
|