@integrity-labs/agt-cli 0.28.1112 → 0.28.1114
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-5EYINOIW.js → chunk-2XQPQOJX.js} +2 -2
- package/dist/chunk-2XQPQOJX.js.map +1 -0
- package/dist/{chunk-TJUDOE53.js → chunk-J3L66T65.js} +194 -22
- package/dist/{chunk-TJUDOE53.js.map → chunk-J3L66T65.js.map} +1 -1
- package/dist/{chunk-NO57I56V.js → chunk-OBZB6MUE.js} +74 -1
- package/dist/chunk-OBZB6MUE.js.map +1 -0
- package/dist/{claude-pair-runtime-CKWLQMAC.js → claude-pair-runtime-2LVLURUE.js} +2 -2
- package/dist/lib/manager-worker.js +17 -16
- package/dist/lib/manager-worker.js.map +1 -1
- package/dist/mcp/direct-chat-channel.js +107 -4
- package/dist/mcp/index.js +106 -3
- package/dist/mcp/origami.js +73 -0
- package/dist/mcp/slack-channel.js +110 -7
- package/dist/mcp/teams-channel.js +34 -4
- package/dist/mcp/telegram-channel.js +108 -5
- package/dist/{persistent-session-SDYY75X7.js → persistent-session-TDPGTHTG.js} +3 -3
- package/dist/{responsiveness-probe-NEBHDSMI.js → responsiveness-probe-6P7TB4QA.js} +3 -3
- package/dist/{session-auth-dead-CNV4O7RF.js → session-auth-dead-LMCPZJ4K.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-5EYINOIW.js.map +0 -1
- package/dist/chunk-NO57I56V.js.map +0 -1
- /package/dist/{claude-pair-runtime-CKWLQMAC.js.map → claude-pair-runtime-2LVLURUE.js.map} +0 -0
- /package/dist/{persistent-session-SDYY75X7.js.map → persistent-session-TDPGTHTG.js.map} +0 -0
- /package/dist/{responsiveness-probe-NEBHDSMI.js.map → responsiveness-probe-6P7TB4QA.js.map} +0 -0
- /package/dist/{session-auth-dead-CNV4O7RF.js.map → session-auth-dead-LMCPZJ4K.js.map} +0 -0
|
@@ -2049,6 +2049,34 @@ var INTEGRATION_REGISTRY = [
|
|
|
2049
2049
|
docs_url: "https://help.kajabi.com/articles/api-integrations/connect-kajabi-to-claude-or-chatgpt",
|
|
2050
2050
|
beta: true
|
|
2051
2051
|
},
|
|
2052
|
+
{
|
|
2053
|
+
id: "otter",
|
|
2054
|
+
name: "Otter.ai",
|
|
2055
|
+
category: "knowledge",
|
|
2056
|
+
description: "Read Otter.ai meetings: search recordings by date, attendee or topic, and read summaries, action items and full speaker-attributed transcripts.",
|
|
2057
|
+
// CS-2029: same remote streamable-HTTP MCP + OAuth pattern as Granola/Kajabi.
|
|
2058
|
+
// Otter's server implements the MCP discovery chain (RFC 9728 protected-
|
|
2059
|
+
// resource metadata at mcp.otter.ai → RFC 8414 AS metadata at otter.ai →
|
|
2060
|
+
// RFC 7591 registration); auth is OAuth 2.0 authorization-code with PKCE
|
|
2061
|
+
// (S256) and a public client registered via one-time Dynamic Client
|
|
2062
|
+
// Registration (scripts/dcr-register.ts against https://otter.ai/oauth/register
|
|
2063
|
+
// → OAUTH_OTTER_CLIENT_ID, --scope 'profile:read conversations:read').
|
|
2064
|
+
// Consent is brokered by the webapp through the shared
|
|
2065
|
+
// /integrations/oauth/authorize → /callback path, and the access_token
|
|
2066
|
+
// reaches the host via the generic remote-oauth-proxy
|
|
2067
|
+
// (OAUTH_PROVIDERS.otter.mcpUrl). Read-only by construction: Otter
|
|
2068
|
+
// advertises no write scope.
|
|
2069
|
+
supported_auth_types: ["oauth2"],
|
|
2070
|
+
capabilities: [
|
|
2071
|
+
{ id: "otter:read", name: "Read Meetings & Transcripts", description: "Find recorded meetings by date, attendee, topic or title, and read their summaries, action items, outlines and full transcripts (otter_get_user_info, otter_search, otter_fetch)", access: "read" }
|
|
2072
|
+
],
|
|
2073
|
+
// Otter's own Help Center article for the MCP server (CodeRabbit, #6906). It
|
|
2074
|
+
// exists even though help.otter.ai answers 403 to non-browser clients; the
|
|
2075
|
+
// help-centre API confirmed it (title "Otter MCP Server"). The MCP endpoint
|
|
2076
|
+
// itself is a JSON-RPC URL, not a page (Obi Wan 8305072d5414).
|
|
2077
|
+
docs_url: "https://help.otter.ai/hc/en-us/articles/35287607569687-Otter-MCP-Server",
|
|
2078
|
+
beta: true
|
|
2079
|
+
},
|
|
2052
2080
|
{
|
|
2053
2081
|
id: "anchor-browser",
|
|
2054
2082
|
name: "Anchor Browser",
|
|
@@ -11725,6 +11753,51 @@ var OAUTH_PROVIDERS = {
|
|
|
11725
11753
|
}
|
|
11726
11754
|
]
|
|
11727
11755
|
},
|
|
11756
|
+
"otter": {
|
|
11757
|
+
// CS-2029: Otter.ai's official MCP — remote streamable-HTTP at
|
|
11758
|
+
// https://mcp.otter.ai/mcp. Same Granola/Kajabi shape: OAuth 2.0
|
|
11759
|
+
// authorization-code with PKCE (S256) and a public client
|
|
11760
|
+
// (token_endpoint_auth_method 'none') issued via Dynamic Client
|
|
11761
|
+
// Registration (RFC 7591). Values below are taken verbatim from the
|
|
11762
|
+
// metadata, not inferred:
|
|
11763
|
+
// - https://mcp.otter.ai/.well-known/oauth-protected-resource names the
|
|
11764
|
+
// AS as https://otter.ai/ and advertises scopes profile:read,
|
|
11765
|
+
// conversations:read;
|
|
11766
|
+
// - https://otter.ai/.well-known/oauth-authorization-server gives
|
|
11767
|
+
// authorize /oauth2/authorize, token /oauth/token, revoke
|
|
11768
|
+
// /oauth/revoke_token, register /oauth/register, PKCE S256, `none`,
|
|
11769
|
+
// and the refresh_token grant.
|
|
11770
|
+
// NOTE the authorize path is /oauth2/authorize while token/revoke live
|
|
11771
|
+
// under /oauth/ — that is Otter's own split, do not "normalise" it.
|
|
11772
|
+
// The prod client was registered 2026-10-10 against /oauth/register with
|
|
11773
|
+
// scope 'profile:read conversations:read' and BOTH API callbacks,
|
|
11774
|
+
// https://api.augmented.team/... and https://api.ninjafy.com/integrations/oauth/callback,
|
|
11775
|
+
// because redirect_uri follows API_PUBLIC_URL and the ENG-11060 flip makes
|
|
11776
|
+
// the ninjafy name canonical; Otter returns no RFC 7592 handle, so a redirect
|
|
11777
|
+
// cannot be added later without a new client and a re-consent per connection.
|
|
11778
|
+
// OAUTH_OTTER_CLIENT_ID is set from its output (docs/runbooks/otter-dogfood.md). Otter advertises ONLY
|
|
11779
|
+
// read scopes, so this integration is read-only by construction: there is
|
|
11780
|
+
// no write scope to request even by mistake.
|
|
11781
|
+
definitionId: "otter",
|
|
11782
|
+
authorizeUrl: "https://otter.ai/oauth2/authorize",
|
|
11783
|
+
tokenUrl: "https://otter.ai/oauth/token",
|
|
11784
|
+
revokeUrl: "https://otter.ai/oauth/revoke_token",
|
|
11785
|
+
defaultScopes: ["profile:read", "conversations:read"],
|
|
11786
|
+
supportsRefresh: true,
|
|
11787
|
+
extraAuthorizeParams: {},
|
|
11788
|
+
clientAuthMethod: "body",
|
|
11789
|
+
pkce: "S256",
|
|
11790
|
+
publicClient: true,
|
|
11791
|
+
mcpUrl: "https://mcp.otter.ai/mcp",
|
|
11792
|
+
// Curated surface (matches the catalog seed's defined_scopes[].tools).
|
|
11793
|
+
// These are the server's three tools, all read-only. The names are
|
|
11794
|
+
// Otter's own, quoted from the tools' descriptions ("use `otter_search`
|
|
11795
|
+
// first", "call otter_get_user_info() first"), not Composio's wrapped
|
|
11796
|
+
// OTTER_AI_MCP_* slugs. An allowlisted name the server does not advertise
|
|
11797
|
+
// is logged and SKIPPED by the proxy, so confirm against the first live
|
|
11798
|
+
// tools/list after a real consent (runbook Step 3).
|
|
11799
|
+
toolAllowlist: ["otter_get_user_info", "otter_search", "otter_fetch"]
|
|
11800
|
+
},
|
|
11728
11801
|
"notion-cli": {
|
|
11729
11802
|
// Notion's public OAuth app. Tokens are workspace-scoped and long-lived —
|
|
11730
11803
|
// Notion does not issue refresh_tokens, so `supportsRefresh: false` and
|
|
@@ -16626,4 +16699,4 @@ export {
|
|
|
16626
16699
|
peekCurrentSession,
|
|
16627
16700
|
readDailySessionPin
|
|
16628
16701
|
};
|
|
16629
|
-
//# sourceMappingURL=chunk-
|
|
16702
|
+
//# sourceMappingURL=chunk-OBZB6MUE.js.map
|