@integrity-labs/agt-cli 0.28.1131 → 0.28.1133

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.
@@ -34377,6 +34377,61 @@ var OAUTH_PROVIDERS = {
34377
34377
  // tools/list after a real consent (runbook Step 3).
34378
34378
  toolAllowlist: ["otter_get_user_info", "otter_search", "otter_fetch"]
34379
34379
  },
34380
+ "plaud": {
34381
+ // ENG-11543 (CS-2134): Plaud's hosted MCP - remote streamable-HTTP at
34382
+ // https://mcp.plaud.ai/mcp. Same Granola/Kajabi/Otter shape: OAuth 2.0
34383
+ // authorization-code with PKCE (S256) and a public client
34384
+ // (token_endpoint_auth_method 'none') issued via Dynamic Client
34385
+ // Registration (RFC 7591). NOT the stdio `npx @plaud-ai/mcp` package,
34386
+ // which runs its own local browser sign-in and token file. Values below
34387
+ // are taken verbatim from the metadata (re-read 2026-10-16), not inferred:
34388
+ // - https://mcp.plaud.ai/.well-known/oauth-protected-resource (and the
34389
+ // path-suffixed /.well-known/oauth-protected-resource/mcp the server's
34390
+ // 401 points at) give resource https://mcp.plaud.ai/mcp, AS
34391
+ // https://mcp.plaud.ai/, bearer in the header;
34392
+ // - https://mcp.plaud.ai/.well-known/oauth-authorization-server (and
34393
+ // the identical openid-configuration) give authorize /authorize, token
34394
+ // /token, register /register, PKCE S256 only, `none` among the token
34395
+ // auth methods, and the authorization_code + refresh_token grants.
34396
+ // NOT advertised: `scopes_supported` (so defaultScopes is empty, the
34397
+ // notion-cli precedent, and the authorize URL carries `scope=`) and
34398
+ // `revocation_endpoint` (so there is no revokeUrl: disconnecting here
34399
+ // deletes our copy of the token but cannot revoke Plaud's grant; the user
34400
+ // revokes it in their Plaud account).
34401
+ //
34402
+ // DCR (operator step, NOT done as of this commit): POST the registration
34403
+ // body by hand to https://mcp.plaud.ai/register with client_name
34404
+ // `Ninjafy`, token_endpoint_auth_method `none`, grant_types
34405
+ // authorization_code + refresh_token, and BOTH API callbacks in
34406
+ // redirect_uris (https://api.augmented.team/integrations/oauth/callback
34407
+ // and https://api.ninjafy.com/integrations/oauth/callback). Do not use
34408
+ // scripts/dcr-register.ts: it takes a single --redirect-uri. Store the
34409
+ // returned client id as OAUTH_PLAUD_CLIENT_ID; unset, Connect soft-fails
34410
+ // "not configured". Full procedure: docs/runbooks/plaud-dogfood.md.
34411
+ definitionId: "plaud",
34412
+ authorizeUrl: "https://mcp.plaud.ai/authorize",
34413
+ tokenUrl: "https://mcp.plaud.ai/token",
34414
+ defaultScopes: [],
34415
+ supportsRefresh: true,
34416
+ extraAuthorizeParams: {},
34417
+ clientAuthMethod: "body",
34418
+ pkce: "S256",
34419
+ publicClient: true,
34420
+ mcpUrl: "https://mcp.plaud.ai/mcp",
34421
+ // Curated surface (matches the catalog seed's defined_scopes[].tools).
34422
+ // Plaud advertises NO scopes, so the token is not scope-limited: the
34423
+ // read-only property of this integration rests ENTIRELY on this
34424
+ // allowlist, which the remote-oauth-proxy enforces on tools/list and
34425
+ // tools/call. The five names are Plaud's documented read tools
34426
+ // (https://docs.plaud.ai/plaud-mcp-cli/mcp). `login` and `logout` are
34427
+ // deliberately excluded: sign-in is our OAuth broker's job, and `logout`
34428
+ // revokes the user's authorization, which an agent must never do. The
34429
+ // names come from the docs, not from an authenticated tools/list (that
34430
+ // needs a consented token), and the proxy SKIPS an allowlisted name the
34431
+ // server does not serve, so confirm against the first live tools/list
34432
+ // (runbook Step 3, a gate before customer use).
34433
+ toolAllowlist: ["get_current_user", "list_files", "get_file", "get_note", "get_transcript"]
34434
+ },
34380
34435
  "notion-cli": {
34381
34436
  // Notion's public OAuth app. Tokens are workspace-scoped and long-lived —
34382
34437
  // Notion does not issue refresh_tokens, so `supportsRefresh: false` and
@@ -34833,6 +34888,36 @@ var INTEGRATION_REGISTRY = [
34833
34888
  docs_url: "https://help.otter.ai/hc/en-us/articles/35287607569687-Otter-MCP-Server",
34834
34889
  beta: true
34835
34890
  },
34891
+ {
34892
+ id: "plaud",
34893
+ name: "Plaud",
34894
+ category: "knowledge",
34895
+ 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.",
34896
+ // ENG-11543 (CS-2134): same remote streamable-HTTP MCP + OAuth pattern as
34897
+ // Granola/Kajabi/Otter, against Plaud's HOSTED server (https://mcp.plaud.ai/mcp),
34898
+ // not the stdio `npx @plaud-ai/mcp` package. Discovery chain: RFC 9728
34899
+ // protected-resource metadata at mcp.plaud.ai -> RFC 8414 AS metadata on the
34900
+ // same host -> RFC 7591 registration at /register. Auth is OAuth 2.0
34901
+ // authorization-code with PKCE (S256) and a public client registered once by
34902
+ // an operator (docs/runbooks/plaud-dogfood.md -> OAUTH_PLAUD_CLIENT_ID).
34903
+ // Consent is brokered through the shared /integrations/oauth/authorize ->
34904
+ // /callback path, and the token reaches the host via the generic
34905
+ // remote-oauth-proxy (OAUTH_PROVIDERS.plaud.mcpUrl).
34906
+ //
34907
+ // READ-ONLY RESTS ENTIRELY ON THE TOOL ALLOWLIST. Unlike Otter, Plaud
34908
+ // advertises NO scopes_supported, so there is no read scope to request and
34909
+ // the granted token is not scope-limited. What keeps this integration
34910
+ // read-only is OAUTH_PROVIDERS.plaud.toolAllowlist (the five documented
34911
+ // reads), which the proxy enforces on tools/list and tools/call. `login` and
34912
+ // `logout` are excluded; `logout` would revoke the user's authorization.
34913
+ // Anything that widens the allowlist widens what the token can do.
34914
+ supported_auth_types: ["oauth2"],
34915
+ capabilities: [
34916
+ { 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" }
34917
+ ],
34918
+ docs_url: "https://docs.plaud.ai/plaud-mcp-cli/mcp",
34919
+ beta: true
34920
+ },
34836
34921
  {
34837
34922
  id: "anchor-browser",
34838
34923
  name: "Anchor Browser",
@@ -68,8 +68,8 @@ import {
68
68
  writeDirectChatSessionState,
69
69
  writeEgressAllowlist,
70
70
  writePersistentClaudeWrapper
71
- } from "./chunk-KG4IEJEF.js";
72
- import "./chunk-TKBGHAN3.js";
71
+ } from "./chunk-NIKSQHNB.js";
72
+ import "./chunk-TPUS37QC.js";
73
73
  import "./chunk-B6UYVEMD.js";
74
74
  import "./chunk-XWVM4KPK.js";
75
75
  import "./chunk-EL5MWGGH.js";
@@ -145,4 +145,4 @@ export {
145
145
  writeEgressAllowlist,
146
146
  writePersistentClaudeWrapper
147
147
  };
148
- //# sourceMappingURL=persistent-session-F2LRKDFL.js.map
148
+ //# sourceMappingURL=persistent-session-JUPKKQMI.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  paneLogPath
3
- } from "./chunk-KG4IEJEF.js";
4
- import "./chunk-TKBGHAN3.js";
3
+ } from "./chunk-NIKSQHNB.js";
4
+ import "./chunk-TPUS37QC.js";
5
5
  import "./chunk-B6UYVEMD.js";
6
6
  import "./chunk-XWVM4KPK.js";
7
7
  import "./chunk-EL5MWGGH.js";
@@ -802,4 +802,4 @@ export {
802
802
  readAndResetSlackReplyBindingClassifications,
803
803
  readAndResetSlackReplyTargetClassifications
804
804
  };
805
- //# sourceMappingURL=responsiveness-probe-SM6XFJJ6.js.map
805
+ //# sourceMappingURL=responsiveness-probe-IOJU24OH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  sessionTranscriptDir
3
- } from "./chunk-TKBGHAN3.js";
3
+ } from "./chunk-TPUS37QC.js";
4
4
  import "./chunk-DGUM43GV.js";
5
5
 
6
6
  // src/lib/session-auth-dead.ts
@@ -204,4 +204,4 @@ export {
204
204
  decideSessionAuthState,
205
205
  probeSessionAuth
206
206
  };
207
- //# sourceMappingURL=session-auth-dead-KNTFHDWV.js.map
207
+ //# sourceMappingURL=session-auth-dead-5QPG3HCJ.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@integrity-labs/agt-cli",
3
- "version": "0.28.1131",
3
+ "version": "0.28.1133",
4
4
  "description": "Augmented Team CLI — agent provisioning and management",
5
5
  "type": "module",
6
6
  "engines": {