@integrity-labs/agt-cli 0.28.902 → 0.28.903
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-BSFQVMNO.js → chunk-2LV6SJ7W.js} +2 -2
- package/dist/{chunk-5MATVCQ3.js → chunk-Q2GQY64J.js} +34 -34
- package/dist/chunk-Q2GQY64J.js.map +1 -0
- package/dist/{chunk-JULXOS6K.js → chunk-WL2PIPOM.js} +4 -4
- package/dist/{claude-pair-runtime-RSQD6NA4.js → claude-pair-runtime-UZPPOEIB.js} +2 -2
- package/dist/lib/manager-worker.js +14 -14
- package/dist/mcp/direct-chat-channel.js +33 -33
- package/dist/mcp/index.js +33 -33
- package/dist/mcp/origami.js +33 -33
- package/dist/mcp/slack-channel.js +33 -33
- package/dist/mcp/telegram-channel.js +33 -33
- package/dist/{persistent-session-4N3JK3P6.js → persistent-session-TPADZX4C.js} +3 -3
- package/dist/{responsiveness-probe-M67GFG47.js → responsiveness-probe-P2L74AKB.js} +3 -3
- package/dist/{session-auth-dead-Z7I2KPES.js → session-auth-dead-YKD22CHZ.js} +2 -2
- package/package.json +1 -1
- package/dist/chunk-5MATVCQ3.js.map +0 -1
- /package/dist/{chunk-BSFQVMNO.js.map → chunk-2LV6SJ7W.js.map} +0 -0
- /package/dist/{chunk-JULXOS6K.js.map → chunk-WL2PIPOM.js.map} +0 -0
- /package/dist/{claude-pair-runtime-RSQD6NA4.js.map → claude-pair-runtime-UZPPOEIB.js.map} +0 -0
- /package/dist/{persistent-session-4N3JK3P6.js.map → persistent-session-TPADZX4C.js.map} +0 -0
- /package/dist/{responsiveness-probe-M67GFG47.js.map → responsiveness-probe-P2L74AKB.js.map} +0 -0
- /package/dist/{session-auth-dead-Z7I2KPES.js.map → session-auth-dead-YKD22CHZ.js.map} +0 -0
|
@@ -34155,18 +34155,18 @@ var INTEGRATION_REGISTRY = [
|
|
|
34155
34155
|
// and migrations). "Deck Browser" makes the computer-use purpose obvious.
|
|
34156
34156
|
name: "Deck Browser",
|
|
34157
34157
|
category: "workspace-productivity",
|
|
34158
|
-
description: "Computer-use agents that operate any software through its real interface (no API required) and return schema-validated results. A higher-level alternative to Anchor Browser: Deck owns the auth lifecycle (encrypted credential vault, login, MFA, CAPTCHA) and provisions isolated desktop sessions on demand.
|
|
34158
|
+
description: "Computer-use agents that operate any software through its real interface (no API required) and return schema-validated results. A higher-level alternative to Anchor Browser: Deck owns the auth lifecycle (encrypted credential vault, login, MFA, CAPTCHA) and provisions isolated desktop sessions on demand. Ninjafy manages Deck access for you and gives each agent its own isolated Deck workspace, so there is no credential to enter.",
|
|
34159
34159
|
// Deck is REST-only (base https://api.deck.co/v2, Bearer `sk_live_` account
|
|
34160
34160
|
// key) — it ships NO MCP server, so unlike anchor-browser there is no
|
|
34161
34161
|
// `remoteMcp`/`nativeMcp` drop-in; the agent-facing tools are brokered
|
|
34162
34162
|
// server-side (deck-broker.ts). Deck is the first PREMIUM integration:
|
|
34163
|
-
//
|
|
34163
|
+
// Ninjafy owns ONE Deck account that every customer agent's runs bill back
|
|
34164
34164
|
// to (per-org charging is tracked in ENG-6920, not yet live), so the account
|
|
34165
34165
|
// key is a single platform-held secret (`DECK_ACCOUNT_KEY`), NOT a per-agent
|
|
34166
34166
|
// credential. Auth type is therefore `none` — customers never enter a key.
|
|
34167
34167
|
// Per-agent isolation is modelled on Deck's first-class resources: that one
|
|
34168
34168
|
// key provisions one Deck agent (`agt_`) + vault credential (`cred_`) per
|
|
34169
|
-
//
|
|
34169
|
+
// Ninjafy agent via POST /:id/provision-deck; the ids land in
|
|
34170
34170
|
// `agent_integrations.config` (deck_agent_id / deck_credential_id), so
|
|
34171
34171
|
// revocation + audit happen at the per-agent Deck-resource level without a
|
|
34172
34172
|
// distinct API key per agent (Deck exposes no key-minting admin API).
|
|
@@ -34179,7 +34179,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34179
34179
|
docs_url: "https://docs.deck.co/",
|
|
34180
34180
|
beta: true,
|
|
34181
34181
|
// ENG-6920: Deck is the first PREMIUM integration. Unlike the customer-auth
|
|
34182
|
-
// integrations, every Deck run bills back to
|
|
34182
|
+
// integrations, every Deck run bills back to Ninjafy's single account
|
|
34183
34183
|
// key, and Deck is usage-priced, so it is gated on a per-org opt-in and
|
|
34184
34184
|
// metered. ENG-7032: `meters` declares the billable operations; the priced
|
|
34185
34185
|
// rate card (integration_rate_cards) holds the amounts. Each event_type must
|
|
@@ -34202,11 +34202,11 @@ var INTEGRATION_REGISTRY = [
|
|
|
34202
34202
|
id: "browserbase",
|
|
34203
34203
|
name: "Browserbase",
|
|
34204
34204
|
category: "workspace-productivity",
|
|
34205
|
-
description: "A hosted browser your agents drive to operate real websites, behind residential proxies and staying signed in via a per-agent encrypted login profile. An operator logs an agent into a site once through a secure live view; every later session reuses that authenticated profile - no credential to enter and the agent never handles the login. A lower-level, self-driven alternative to Deck Browser:
|
|
34205
|
+
description: "A hosted browser your agents drive to operate real websites, behind residential proxies and staying signed in via a per-agent encrypted login profile. An operator logs an agent into a site once through a secure live view; every later session reuses that authenticated profile - no credential to enter and the agent never handles the login. A lower-level, self-driven alternative to Deck Browser: Ninjafy manages the Browserbase account for you and gives each agent its own isolated login profile.",
|
|
34206
34206
|
// Browserbase is REST-only (base https://api.browserbase.com/v1, `X-BB-API-Key`
|
|
34207
34207
|
// header - NOT Bearer) and ships NO MCP server, so the agent-facing tools are
|
|
34208
34208
|
// brokered server-side (browserbase-broker.ts). It is a PREMIUM integration on
|
|
34209
|
-
// the Deck model (ENG-7947):
|
|
34209
|
+
// the Deck model (ENG-7947): Ninjafy owns ONE Browserbase account that every
|
|
34210
34210
|
// customer agent's sessions bill back to, so the account key is a single
|
|
34211
34211
|
// platform-held secret (`BROWSERBASE_ACCOUNT_KEY`), NOT a per-agent credential.
|
|
34212
34212
|
// Auth type is `none` - customers never enter a key. Per-agent isolation is a
|
|
@@ -34225,7 +34225,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34225
34225
|
],
|
|
34226
34226
|
docs_url: "https://docs.browserbase.com/",
|
|
34227
34227
|
beta: true,
|
|
34228
|
-
// ENG-7947: PREMIUM, usage-priced. Every session bills back to
|
|
34228
|
+
// ENG-7947: PREMIUM, usage-priced. Every session bills back to Ninjafy's
|
|
34229
34229
|
// single account key as proxy data + session time, so it is gated on a per-org
|
|
34230
34230
|
// opt-in and metered. `meters` declares the billable operations; the priced
|
|
34231
34231
|
// rate card (integration_rate_cards) holds the amounts. Each event_type must
|
|
@@ -34263,11 +34263,11 @@ var INTEGRATION_REGISTRY = [
|
|
|
34263
34263
|
id: "elevenlabs",
|
|
34264
34264
|
name: "ElevenLabs",
|
|
34265
34265
|
category: "media",
|
|
34266
|
-
description: "Speech-to-text for inbound voice notes. When a teammate sends an agent a voice message (Slack, Telegram, etc.), the agent uploads the audio and gets back an accurate transcript via ElevenLabs Scribe, so a voice note is no longer a black box.
|
|
34266
|
+
description: "Speech-to-text for inbound voice notes. When a teammate sends an agent a voice message (Slack, Telegram, etc.), the agent uploads the audio and gets back an accurate transcript via ElevenLabs Scribe, so a voice note is no longer a black box. Ninjafy manages ElevenLabs access for you - there is no key to enter.",
|
|
34267
34267
|
// ElevenLabs is REST-only for our use (POST /v1/speech-to-text, `xi-api-key`
|
|
34268
34268
|
// header, NOT Bearer) — it ships no MCP server, so the agent-facing tools are
|
|
34269
34269
|
// brokered server-side (scribe-broker.ts). It is a PREMIUM integration on the
|
|
34270
|
-
// Deck model (ADR-0031, epic ENG-6920):
|
|
34270
|
+
// Deck model (ADR-0031, epic ENG-6920): Ninjafy owns ONE ElevenLabs account
|
|
34271
34271
|
// that every customer agent's transcriptions bill back to, so the account key
|
|
34272
34272
|
// is a single platform-held secret (`ELEVENLABS_ACCOUNT_KEY`), NOT a per-agent
|
|
34273
34273
|
// credential. Auth type is therefore `none` — customers never enter a key.
|
|
@@ -34316,7 +34316,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34316
34316
|
tts: { meterEventType: "tts" }
|
|
34317
34317
|
},
|
|
34318
34318
|
// ENG-7005 / ENG-7048: premium (billable). Both surfaces bill back to
|
|
34319
|
-
//
|
|
34319
|
+
// Ninjafy's single account key and are usage-priced, so the integration is
|
|
34320
34320
|
// gated on a per-org opt-in and metered. The two surfaces share the one
|
|
34321
34321
|
// `elevenlabs` definition (and so the one per-org monthly budget). Pricing
|
|
34322
34322
|
// amounts live in integration_rate_cards; this only declares the model.
|
|
@@ -34341,9 +34341,9 @@ var INTEGRATION_REGISTRY = [
|
|
|
34341
34341
|
id: "grok-voice",
|
|
34342
34342
|
name: "Grok Voice",
|
|
34343
34343
|
category: "media",
|
|
34344
|
-
description: "Real-time two-way voice for your agent, powered by xAI Grok. Speak to the agent and hear it reply.
|
|
34344
|
+
description: "Real-time two-way voice for your agent, powered by xAI Grok. Speak to the agent and hear it reply. Ninjafy manages Grok Voice access for you - there is no key to enter.",
|
|
34345
34345
|
// Grok Voice is a PREMIUM integration on the platform-key model (mirrors
|
|
34346
|
-
// ElevenLabs / ADR-0031):
|
|
34346
|
+
// ElevenLabs / ADR-0031): Ninjafy holds one xAI account key and every
|
|
34347
34347
|
// customer agent's voice minutes bill back to it, so auth_type is `none` -
|
|
34348
34348
|
// customers never enter a key. Enabling this integration (resolved via the
|
|
34349
34349
|
// agent/team/org scope chain) is what unlocks voice in Direct Chat; it
|
|
@@ -34366,7 +34366,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34366
34366
|
realtime: { meterEventType: "voice_session", listVoices: true },
|
|
34367
34367
|
stt: { meterEventType: "transcription" }
|
|
34368
34368
|
},
|
|
34369
|
-
// Premium (billable): voice minutes bill back to
|
|
34369
|
+
// Premium (billable): voice minutes bill back to Ninjafy's xAI account key,
|
|
34370
34370
|
// usage-priced and gated on a per-org opt-in. Pricing amounts live in
|
|
34371
34371
|
// integration_rate_cards; this only declares the model + meter.
|
|
34372
34372
|
premium: {
|
|
@@ -34417,8 +34417,8 @@ var INTEGRATION_REGISTRY = [
|
|
|
34417
34417
|
id: "image-gen",
|
|
34418
34418
|
name: "Image Generation",
|
|
34419
34419
|
category: "media",
|
|
34420
|
-
description: "AI image generation from a text prompt. An agent passes a prompt to generate_image and gets back a generated raster image, which it can deliver to a chat channel or embed on an Augmented Live page (ENG-7535).
|
|
34421
|
-
// No vendor key to enter:
|
|
34420
|
+
description: "AI image generation from a text prompt. An agent passes a prompt to generate_image and gets back a generated raster image, which it can deliver to a chat channel or embed on an Augmented Live page (ENG-7535). Ninjafy manages the model access for you - there is no key to enter. Generation runs through the Vercel AI Gateway (OpenAI gpt-image-2 today). It is a PREMIUM, usage-billed capability: gated on a per-org opt-in and a monthly USD budget, and metered per generated image.",
|
|
34421
|
+
// No vendor key to enter: Ninjafy owns the shared Vercel AI Gateway virtual
|
|
34422
34422
|
// key (AI_GATEWAY_API_KEY) that fronts the image providers, so auth is `none`
|
|
34423
34423
|
// (customers never enter a key), same as ElevenLabs.
|
|
34424
34424
|
supported_auth_types: ["none"],
|
|
@@ -34427,7 +34427,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34427
34427
|
],
|
|
34428
34428
|
docs_url: "https://platform.openai.com/docs/guides/images",
|
|
34429
34429
|
beta: true,
|
|
34430
|
-
// ENG-7472: premium (billable). Image gen bills back to
|
|
34430
|
+
// ENG-7472: premium (billable). Image gen bills back to Ninjafy's shared
|
|
34431
34431
|
// Vercel AI Gateway key and is usage-priced per generated image, so it is gated
|
|
34432
34432
|
// on a per-org opt-in (isOrgEntitledToPremium) + a per-org monthly USD budget,
|
|
34433
34433
|
// and metered on integration_usage_events. This budget is PER-ORG, distinct
|
|
@@ -34451,8 +34451,8 @@ var INTEGRATION_REGISTRY = [
|
|
|
34451
34451
|
id: "video-gen",
|
|
34452
34452
|
name: "Video Generation",
|
|
34453
34453
|
category: "media",
|
|
34454
|
-
description: "AI video generation from a text prompt or an input image. An agent passes a prompt (plus optionally image_url) to generate_video and gets back a short generated video with audio, which it can deliver to a chat channel.
|
|
34455
|
-
// Platform-key model (mirrors Grok Voice / ADR-0031):
|
|
34454
|
+
description: "AI video generation from a text prompt or an input image. An agent passes a prompt (plus optionally image_url) to generate_video and gets back a short generated video with audio, which it can deliver to a chat channel. Ninjafy manages the model access for you - there is no key to enter. Generation runs direct against xAI Grok Imagine: text-to-video on the base grok-imagine-video model, image-to-video on grok-imagine-video-1.5. It is a PREMIUM, usage-billed capability: gated on a per-org opt-in and a monthly USD budget, and metered per second of generated video.",
|
|
34455
|
+
// Platform-key model (mirrors Grok Voice / ADR-0031): Ninjafy holds one xAI
|
|
34456
34456
|
// account key (XAI_API_KEY) and every customer render bills back to it, so
|
|
34457
34457
|
// auth is `none` - customers never enter a key.
|
|
34458
34458
|
supported_auth_types: ["none"],
|
|
@@ -34461,7 +34461,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34461
34461
|
],
|
|
34462
34462
|
docs_url: "https://docs.x.ai/developers/model-capabilities/video/generation",
|
|
34463
34463
|
beta: true,
|
|
34464
|
-
// Premium (billable): renders bill back to
|
|
34464
|
+
// Premium (billable): renders bill back to Ninjafy's xAI account key,
|
|
34465
34465
|
// usage-priced per second of output video, so it is gated on a per-org opt-in
|
|
34466
34466
|
// (isOrgEntitledToPremium) + a per-org monthly USD budget, and metered on
|
|
34467
34467
|
// integration_usage_events. Pricing lives in integration_rate_cards; this only
|
|
@@ -34539,7 +34539,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34539
34539
|
// under the MCP.
|
|
34540
34540
|
//
|
|
34541
34541
|
// Bring-your-own-key: generations bill to the customer's own Higgsfield
|
|
34542
|
-
// account, so an install is never metered by
|
|
34542
|
+
// account, so an install is never metered by Ninjafy.
|
|
34543
34543
|
//
|
|
34544
34544
|
// NOTE: this entry carries no `remoteMcp`, so it contributes nothing to
|
|
34545
34545
|
// `registryRemoteMcpKeys` and cannot prune the `higgsfield` key an older
|
|
@@ -34979,12 +34979,12 @@ var INTEGRATION_REGISTRY = [
|
|
|
34979
34979
|
beta: true,
|
|
34980
34980
|
capabilities: [
|
|
34981
34981
|
{ id: "augmented-support:read-diagnostics", name: "Read Diagnostics", description: "Read your own org's agents, hosts, integrations, alerts, flags, and audit log (projection only - never credentials or transcripts).", access: "read" },
|
|
34982
|
-
{ id: "augmented-support:file-requests", name: "File Requests", description: "File bug / feature / integration requests to
|
|
34982
|
+
{ id: "augmented-support:file-requests", name: "File Requests", description: "File bug / feature / integration requests to Ninjafy support.", access: "write" },
|
|
34983
34983
|
{ id: "augmented-support:propose-writes", name: "Propose Self-Remediation", description: "Propose creating an agent in your own org; executed only after a human approves a server-rendered diff.", access: "write" }
|
|
34984
34984
|
]
|
|
34985
34985
|
},
|
|
34986
34986
|
{
|
|
34987
|
-
// ENG-8332: the
|
|
34987
|
+
// ENG-8332: the Ninjafy HELP knowledge base, split out of
|
|
34988
34988
|
// `augmented-support` so an agent can be given the docs WITHOUT also being
|
|
34989
34989
|
// given a ticket-filing button, an agent-proposal button, and org-wide read
|
|
34990
34990
|
// of agents, hosts, integrations, alerts, flags and the audit log. That
|
|
@@ -35012,14 +35012,14 @@ var INTEGRATION_REGISTRY = [
|
|
|
35012
35012
|
// ENG-8804: Granted centrally (ENG-8542 auto-grant), never connected by a human.
|
|
35013
35013
|
platform_internal: true,
|
|
35014
35014
|
category: "knowledge",
|
|
35015
|
-
description: "The
|
|
35015
|
+
description: "The Ninjafy help knowledge base: search and read the shared, published product documentation (how-tos, common fixes, FAQs). Identical for every organization and org-neutral by design - it grants no view of your org's own state, and cannot file tickets or propose changes. Distinct from your organization's own knowledge store.",
|
|
35016
35016
|
supported_auth_types: ["none"],
|
|
35017
35017
|
beta: true,
|
|
35018
35018
|
capabilities: [
|
|
35019
35019
|
{
|
|
35020
35020
|
id: "augmented-help-kb:read",
|
|
35021
35021
|
name: "Read Help Docs",
|
|
35022
|
-
description: "Search and read published
|
|
35022
|
+
description: "Search and read published Ninjafy help articles (org-neutral product documentation). Read-only; no ticket filing, no agent proposals, no org-state reads.",
|
|
35023
35023
|
access: "read"
|
|
35024
35024
|
}
|
|
35025
35025
|
]
|
|
@@ -35032,7 +35032,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35032
35032
|
// ENG-7217: Firecrawl migrates from a customer-API-key stdio MCP
|
|
35033
35033
|
// (`npx firecrawl-mcp`, FIRECRAWL_API_KEY) to a PREMIUM, platform-managed
|
|
35034
35034
|
// integration on the Deck / ElevenLabs model (ADR-0031, epic ENG-6920):
|
|
35035
|
-
//
|
|
35035
|
+
// Ninjafy holds ONE Firecrawl account key (`FIRECRAWL_ACCOUNT_KEY`) that
|
|
35036
35036
|
// every customer agent's web-data calls bill back to. The agent-facing tools
|
|
35037
35037
|
// are brokered server-side (firecrawl-broker.ts, reusing the official
|
|
35038
35038
|
// @mendable/firecrawl-js SDK) rather than via the stdio MCP, so managed usage
|
|
@@ -35191,9 +35191,9 @@ var INTEGRATION_REGISTRY = [
|
|
|
35191
35191
|
id: "ayrshare",
|
|
35192
35192
|
name: "Ayrshare",
|
|
35193
35193
|
category: "social",
|
|
35194
|
-
description: "Read and report on your social media - post history, analytics, and connected-account status - across LinkedIn, Instagram, Facebook, TikTok, YouTube, Pinterest, and more.
|
|
35194
|
+
description: "Read and report on your social media - post history, analytics, and connected-account status - across LinkedIn, Instagram, Facebook, TikTok, YouTube, Pinterest, and more. Ninjafy manages Ayrshare access for you - there is no key to enter; connect your social accounts once. Publishing on your behalf ships in a later release.",
|
|
35195
35195
|
// ENG-7722 / ADR-0046: Ayrshare is a PREMIUM, platform-managed integration on
|
|
35196
|
-
// the Deck / Firecrawl model (ADR-0031, epic ENG-6920):
|
|
35196
|
+
// the Deck / Firecrawl model (ADR-0031, epic ENG-6920): Ninjafy owns ONE
|
|
35197
35197
|
// Business Plan account (`AYRSHARE_API_KEY`) and every customer agent's profile
|
|
35198
35198
|
// + posts bill back to it, so the key is a single platform-held secret, NOT a
|
|
35199
35199
|
// per-agent credential. Auth type is therefore `none` - customers never enter a
|
|
@@ -35228,7 +35228,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35228
35228
|
},
|
|
35229
35229
|
{
|
|
35230
35230
|
// ENG-7439: X Search is a PREMIUM, platform-managed integration on the
|
|
35231
|
-
// Deck / Firecrawl / ElevenLabs model (ADR-0031, epic ENG-6920):
|
|
35231
|
+
// Deck / Firecrawl / ElevenLabs model (ADR-0031, epic ENG-6920): Ninjafy
|
|
35232
35232
|
// holds ONE X (Twitter) developer app whose OAuth2 app-only bearer
|
|
35233
35233
|
// (X_APP_BEARER_TOKEN) every customer agent's search bills back to, so the
|
|
35234
35234
|
// key is a single platform-held secret, NOT a per-agent credential. Auth
|
|
@@ -35246,7 +35246,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35246
35246
|
id: "x-search",
|
|
35247
35247
|
name: "X Search",
|
|
35248
35248
|
category: "social",
|
|
35249
|
-
description: "Read-only X (Twitter) search: recent public posts by keyword, hashtag, author, or any X search operator - for sentiment sweeps, topic monitoring, and trend research.
|
|
35249
|
+
description: "Read-only X (Twitter) search: recent public posts by keyword, hashtag, author, or any X search operator - for sentiment sweeps, topic monitoring, and trend research. Ninjafy manages X access for you - there is no key to enter.",
|
|
35250
35250
|
supported_auth_types: ["none"],
|
|
35251
35251
|
capabilities: [
|
|
35252
35252
|
{ id: "x-search:read", name: "Search Posts", description: "Search recent public X posts (last ~7 days) via x_search_recent.", access: "read" }
|
|
@@ -35278,7 +35278,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35278
35278
|
// per definition, so an org can take Local Business Data without taking the
|
|
35279
35279
|
// pricier, more ToS-sensitive social scraping.
|
|
35280
35280
|
//
|
|
35281
|
-
//
|
|
35281
|
+
// Ninjafy holds ONE Apify account whose token (APIFY_API_TOKEN, read
|
|
35282
35282
|
// from SSM - the API Lambda env is at the 4KB cap) every customer run bills
|
|
35283
35283
|
// back to, so the key is a single platform-held secret, NOT a per-agent
|
|
35284
35284
|
// credential. Auth type is `none` - customers never enter a key. Tools run on
|
|
@@ -35300,7 +35300,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35300
35300
|
id: "social-scraping",
|
|
35301
35301
|
name: "Social Scraping",
|
|
35302
35302
|
category: "social",
|
|
35303
|
-
description: "Pull public posts and videos from TikTok, Instagram and YouTube - captions, media, engagement counts and URLs - for brand, competitor and campaign research.
|
|
35303
|
+
description: "Pull public posts and videos from TikTok, Instagram and YouTube - captions, media, engagement counts and URLs - for brand, competitor and campaign research. Ninjafy manages the scraping account for you; there is no key to enter.",
|
|
35304
35304
|
supported_auth_types: ["none"],
|
|
35305
35305
|
capabilities: [
|
|
35306
35306
|
{ id: "social-scraping:scrape", name: "Scrape Social Posts", description: "Scrape public TikTok, Instagram and YouTube content (social_scrape_tiktok, social_scrape_instagram, social_scrape_youtube).", access: "write" },
|
|
@@ -35346,7 +35346,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35346
35346
|
id: "local-business-data",
|
|
35347
35347
|
name: "Local Business Data",
|
|
35348
35348
|
category: "knowledge",
|
|
35349
|
-
description: "Find local businesses on Google Maps and pull their public listing details - name, address, phone, website, category, rating and review count - for local market research, competitor lists and lead research.
|
|
35349
|
+
description: "Find local businesses on Google Maps and pull their public listing details - name, address, phone, website, category, rating and review count - for local market research, competitor lists and lead research. Ninjafy manages the data account for you; there is no key to enter.",
|
|
35350
35350
|
supported_auth_types: ["none"],
|
|
35351
35351
|
capabilities: [
|
|
35352
35352
|
{ id: "local-business-data:search", name: "Search Local Businesses", description: "Search Google Maps for businesses and return their public listing details (local_business_search).", access: "write" },
|
|
@@ -35446,7 +35446,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35446
35446
|
// here rather than read from the rate card, which is a real drift
|
|
35447
35447
|
// hazard — so it is held by a test that reprices both from the migration
|
|
35448
35448
|
// and fails if they disagree, rather than by anyone remembering.
|
|
35449
|
-
description: "Let an agent advise on a meeting while it is happening. Audio is transcribed on the Mac as usual; short passages are then checked by
|
|
35449
|
+
description: "Let an agent advise on a meeting while it is happening. Audio is transcribed on the Mac as usual; short passages are then checked by Ninjafy to decide when the agent should speak up, and the agent sees those moments in real time. Off until you turn it on. Billed per minute the advisor is armed \u2014 about $0.90 for a half-hour advised meeting (A$1.50 in Australian dollars); a meeting you record without arming the advisor costs nothing.",
|
|
35450
35450
|
access: "write",
|
|
35451
35451
|
requires_org_opt_in: true
|
|
35452
35452
|
}
|
|
@@ -34205,18 +34205,18 @@ var INTEGRATION_REGISTRY = [
|
|
|
34205
34205
|
// and migrations). "Deck Browser" makes the computer-use purpose obvious.
|
|
34206
34206
|
name: "Deck Browser",
|
|
34207
34207
|
category: "workspace-productivity",
|
|
34208
|
-
description: "Computer-use agents that operate any software through its real interface (no API required) and return schema-validated results. A higher-level alternative to Anchor Browser: Deck owns the auth lifecycle (encrypted credential vault, login, MFA, CAPTCHA) and provisions isolated desktop sessions on demand.
|
|
34208
|
+
description: "Computer-use agents that operate any software through its real interface (no API required) and return schema-validated results. A higher-level alternative to Anchor Browser: Deck owns the auth lifecycle (encrypted credential vault, login, MFA, CAPTCHA) and provisions isolated desktop sessions on demand. Ninjafy manages Deck access for you and gives each agent its own isolated Deck workspace, so there is no credential to enter.",
|
|
34209
34209
|
// Deck is REST-only (base https://api.deck.co/v2, Bearer `sk_live_` account
|
|
34210
34210
|
// key) — it ships NO MCP server, so unlike anchor-browser there is no
|
|
34211
34211
|
// `remoteMcp`/`nativeMcp` drop-in; the agent-facing tools are brokered
|
|
34212
34212
|
// server-side (deck-broker.ts). Deck is the first PREMIUM integration:
|
|
34213
|
-
//
|
|
34213
|
+
// Ninjafy owns ONE Deck account that every customer agent's runs bill back
|
|
34214
34214
|
// to (per-org charging is tracked in ENG-6920, not yet live), so the account
|
|
34215
34215
|
// key is a single platform-held secret (`DECK_ACCOUNT_KEY`), NOT a per-agent
|
|
34216
34216
|
// credential. Auth type is therefore `none` — customers never enter a key.
|
|
34217
34217
|
// Per-agent isolation is modelled on Deck's first-class resources: that one
|
|
34218
34218
|
// key provisions one Deck agent (`agt_`) + vault credential (`cred_`) per
|
|
34219
|
-
//
|
|
34219
|
+
// Ninjafy agent via POST /:id/provision-deck; the ids land in
|
|
34220
34220
|
// `agent_integrations.config` (deck_agent_id / deck_credential_id), so
|
|
34221
34221
|
// revocation + audit happen at the per-agent Deck-resource level without a
|
|
34222
34222
|
// distinct API key per agent (Deck exposes no key-minting admin API).
|
|
@@ -34229,7 +34229,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34229
34229
|
docs_url: "https://docs.deck.co/",
|
|
34230
34230
|
beta: true,
|
|
34231
34231
|
// ENG-6920: Deck is the first PREMIUM integration. Unlike the customer-auth
|
|
34232
|
-
// integrations, every Deck run bills back to
|
|
34232
|
+
// integrations, every Deck run bills back to Ninjafy's single account
|
|
34233
34233
|
// key, and Deck is usage-priced, so it is gated on a per-org opt-in and
|
|
34234
34234
|
// metered. ENG-7032: `meters` declares the billable operations; the priced
|
|
34235
34235
|
// rate card (integration_rate_cards) holds the amounts. Each event_type must
|
|
@@ -34252,11 +34252,11 @@ var INTEGRATION_REGISTRY = [
|
|
|
34252
34252
|
id: "browserbase",
|
|
34253
34253
|
name: "Browserbase",
|
|
34254
34254
|
category: "workspace-productivity",
|
|
34255
|
-
description: "A hosted browser your agents drive to operate real websites, behind residential proxies and staying signed in via a per-agent encrypted login profile. An operator logs an agent into a site once through a secure live view; every later session reuses that authenticated profile - no credential to enter and the agent never handles the login. A lower-level, self-driven alternative to Deck Browser:
|
|
34255
|
+
description: "A hosted browser your agents drive to operate real websites, behind residential proxies and staying signed in via a per-agent encrypted login profile. An operator logs an agent into a site once through a secure live view; every later session reuses that authenticated profile - no credential to enter and the agent never handles the login. A lower-level, self-driven alternative to Deck Browser: Ninjafy manages the Browserbase account for you and gives each agent its own isolated login profile.",
|
|
34256
34256
|
// Browserbase is REST-only (base https://api.browserbase.com/v1, `X-BB-API-Key`
|
|
34257
34257
|
// header - NOT Bearer) and ships NO MCP server, so the agent-facing tools are
|
|
34258
34258
|
// brokered server-side (browserbase-broker.ts). It is a PREMIUM integration on
|
|
34259
|
-
// the Deck model (ENG-7947):
|
|
34259
|
+
// the Deck model (ENG-7947): Ninjafy owns ONE Browserbase account that every
|
|
34260
34260
|
// customer agent's sessions bill back to, so the account key is a single
|
|
34261
34261
|
// platform-held secret (`BROWSERBASE_ACCOUNT_KEY`), NOT a per-agent credential.
|
|
34262
34262
|
// Auth type is `none` - customers never enter a key. Per-agent isolation is a
|
|
@@ -34275,7 +34275,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34275
34275
|
],
|
|
34276
34276
|
docs_url: "https://docs.browserbase.com/",
|
|
34277
34277
|
beta: true,
|
|
34278
|
-
// ENG-7947: PREMIUM, usage-priced. Every session bills back to
|
|
34278
|
+
// ENG-7947: PREMIUM, usage-priced. Every session bills back to Ninjafy's
|
|
34279
34279
|
// single account key as proxy data + session time, so it is gated on a per-org
|
|
34280
34280
|
// opt-in and metered. `meters` declares the billable operations; the priced
|
|
34281
34281
|
// rate card (integration_rate_cards) holds the amounts. Each event_type must
|
|
@@ -34313,11 +34313,11 @@ var INTEGRATION_REGISTRY = [
|
|
|
34313
34313
|
id: "elevenlabs",
|
|
34314
34314
|
name: "ElevenLabs",
|
|
34315
34315
|
category: "media",
|
|
34316
|
-
description: "Speech-to-text for inbound voice notes. When a teammate sends an agent a voice message (Slack, Telegram, etc.), the agent uploads the audio and gets back an accurate transcript via ElevenLabs Scribe, so a voice note is no longer a black box.
|
|
34316
|
+
description: "Speech-to-text for inbound voice notes. When a teammate sends an agent a voice message (Slack, Telegram, etc.), the agent uploads the audio and gets back an accurate transcript via ElevenLabs Scribe, so a voice note is no longer a black box. Ninjafy manages ElevenLabs access for you - there is no key to enter.",
|
|
34317
34317
|
// ElevenLabs is REST-only for our use (POST /v1/speech-to-text, `xi-api-key`
|
|
34318
34318
|
// header, NOT Bearer) — it ships no MCP server, so the agent-facing tools are
|
|
34319
34319
|
// brokered server-side (scribe-broker.ts). It is a PREMIUM integration on the
|
|
34320
|
-
// Deck model (ADR-0031, epic ENG-6920):
|
|
34320
|
+
// Deck model (ADR-0031, epic ENG-6920): Ninjafy owns ONE ElevenLabs account
|
|
34321
34321
|
// that every customer agent's transcriptions bill back to, so the account key
|
|
34322
34322
|
// is a single platform-held secret (`ELEVENLABS_ACCOUNT_KEY`), NOT a per-agent
|
|
34323
34323
|
// credential. Auth type is therefore `none` — customers never enter a key.
|
|
@@ -34366,7 +34366,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34366
34366
|
tts: { meterEventType: "tts" }
|
|
34367
34367
|
},
|
|
34368
34368
|
// ENG-7005 / ENG-7048: premium (billable). Both surfaces bill back to
|
|
34369
|
-
//
|
|
34369
|
+
// Ninjafy's single account key and are usage-priced, so the integration is
|
|
34370
34370
|
// gated on a per-org opt-in and metered. The two surfaces share the one
|
|
34371
34371
|
// `elevenlabs` definition (and so the one per-org monthly budget). Pricing
|
|
34372
34372
|
// amounts live in integration_rate_cards; this only declares the model.
|
|
@@ -34391,9 +34391,9 @@ var INTEGRATION_REGISTRY = [
|
|
|
34391
34391
|
id: "grok-voice",
|
|
34392
34392
|
name: "Grok Voice",
|
|
34393
34393
|
category: "media",
|
|
34394
|
-
description: "Real-time two-way voice for your agent, powered by xAI Grok. Speak to the agent and hear it reply.
|
|
34394
|
+
description: "Real-time two-way voice for your agent, powered by xAI Grok. Speak to the agent and hear it reply. Ninjafy manages Grok Voice access for you - there is no key to enter.",
|
|
34395
34395
|
// Grok Voice is a PREMIUM integration on the platform-key model (mirrors
|
|
34396
|
-
// ElevenLabs / ADR-0031):
|
|
34396
|
+
// ElevenLabs / ADR-0031): Ninjafy holds one xAI account key and every
|
|
34397
34397
|
// customer agent's voice minutes bill back to it, so auth_type is `none` -
|
|
34398
34398
|
// customers never enter a key. Enabling this integration (resolved via the
|
|
34399
34399
|
// agent/team/org scope chain) is what unlocks voice in Direct Chat; it
|
|
@@ -34416,7 +34416,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34416
34416
|
realtime: { meterEventType: "voice_session", listVoices: true },
|
|
34417
34417
|
stt: { meterEventType: "transcription" }
|
|
34418
34418
|
},
|
|
34419
|
-
// Premium (billable): voice minutes bill back to
|
|
34419
|
+
// Premium (billable): voice minutes bill back to Ninjafy's xAI account key,
|
|
34420
34420
|
// usage-priced and gated on a per-org opt-in. Pricing amounts live in
|
|
34421
34421
|
// integration_rate_cards; this only declares the model + meter.
|
|
34422
34422
|
premium: {
|
|
@@ -34467,8 +34467,8 @@ var INTEGRATION_REGISTRY = [
|
|
|
34467
34467
|
id: "image-gen",
|
|
34468
34468
|
name: "Image Generation",
|
|
34469
34469
|
category: "media",
|
|
34470
|
-
description: "AI image generation from a text prompt. An agent passes a prompt to generate_image and gets back a generated raster image, which it can deliver to a chat channel or embed on an Augmented Live page (ENG-7535).
|
|
34471
|
-
// No vendor key to enter:
|
|
34470
|
+
description: "AI image generation from a text prompt. An agent passes a prompt to generate_image and gets back a generated raster image, which it can deliver to a chat channel or embed on an Augmented Live page (ENG-7535). Ninjafy manages the model access for you - there is no key to enter. Generation runs through the Vercel AI Gateway (OpenAI gpt-image-2 today). It is a PREMIUM, usage-billed capability: gated on a per-org opt-in and a monthly USD budget, and metered per generated image.",
|
|
34471
|
+
// No vendor key to enter: Ninjafy owns the shared Vercel AI Gateway virtual
|
|
34472
34472
|
// key (AI_GATEWAY_API_KEY) that fronts the image providers, so auth is `none`
|
|
34473
34473
|
// (customers never enter a key), same as ElevenLabs.
|
|
34474
34474
|
supported_auth_types: ["none"],
|
|
@@ -34477,7 +34477,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34477
34477
|
],
|
|
34478
34478
|
docs_url: "https://platform.openai.com/docs/guides/images",
|
|
34479
34479
|
beta: true,
|
|
34480
|
-
// ENG-7472: premium (billable). Image gen bills back to
|
|
34480
|
+
// ENG-7472: premium (billable). Image gen bills back to Ninjafy's shared
|
|
34481
34481
|
// Vercel AI Gateway key and is usage-priced per generated image, so it is gated
|
|
34482
34482
|
// on a per-org opt-in (isOrgEntitledToPremium) + a per-org monthly USD budget,
|
|
34483
34483
|
// and metered on integration_usage_events. This budget is PER-ORG, distinct
|
|
@@ -34501,8 +34501,8 @@ var INTEGRATION_REGISTRY = [
|
|
|
34501
34501
|
id: "video-gen",
|
|
34502
34502
|
name: "Video Generation",
|
|
34503
34503
|
category: "media",
|
|
34504
|
-
description: "AI video generation from a text prompt or an input image. An agent passes a prompt (plus optionally image_url) to generate_video and gets back a short generated video with audio, which it can deliver to a chat channel.
|
|
34505
|
-
// Platform-key model (mirrors Grok Voice / ADR-0031):
|
|
34504
|
+
description: "AI video generation from a text prompt or an input image. An agent passes a prompt (plus optionally image_url) to generate_video and gets back a short generated video with audio, which it can deliver to a chat channel. Ninjafy manages the model access for you - there is no key to enter. Generation runs direct against xAI Grok Imagine: text-to-video on the base grok-imagine-video model, image-to-video on grok-imagine-video-1.5. It is a PREMIUM, usage-billed capability: gated on a per-org opt-in and a monthly USD budget, and metered per second of generated video.",
|
|
34505
|
+
// Platform-key model (mirrors Grok Voice / ADR-0031): Ninjafy holds one xAI
|
|
34506
34506
|
// account key (XAI_API_KEY) and every customer render bills back to it, so
|
|
34507
34507
|
// auth is `none` - customers never enter a key.
|
|
34508
34508
|
supported_auth_types: ["none"],
|
|
@@ -34511,7 +34511,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34511
34511
|
],
|
|
34512
34512
|
docs_url: "https://docs.x.ai/developers/model-capabilities/video/generation",
|
|
34513
34513
|
beta: true,
|
|
34514
|
-
// Premium (billable): renders bill back to
|
|
34514
|
+
// Premium (billable): renders bill back to Ninjafy's xAI account key,
|
|
34515
34515
|
// usage-priced per second of output video, so it is gated on a per-org opt-in
|
|
34516
34516
|
// (isOrgEntitledToPremium) + a per-org monthly USD budget, and metered on
|
|
34517
34517
|
// integration_usage_events. Pricing lives in integration_rate_cards; this only
|
|
@@ -34589,7 +34589,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
34589
34589
|
// under the MCP.
|
|
34590
34590
|
//
|
|
34591
34591
|
// Bring-your-own-key: generations bill to the customer's own Higgsfield
|
|
34592
|
-
// account, so an install is never metered by
|
|
34592
|
+
// account, so an install is never metered by Ninjafy.
|
|
34593
34593
|
//
|
|
34594
34594
|
// NOTE: this entry carries no `remoteMcp`, so it contributes nothing to
|
|
34595
34595
|
// `registryRemoteMcpKeys` and cannot prune the `higgsfield` key an older
|
|
@@ -35029,12 +35029,12 @@ var INTEGRATION_REGISTRY = [
|
|
|
35029
35029
|
beta: true,
|
|
35030
35030
|
capabilities: [
|
|
35031
35031
|
{ id: "augmented-support:read-diagnostics", name: "Read Diagnostics", description: "Read your own org's agents, hosts, integrations, alerts, flags, and audit log (projection only - never credentials or transcripts).", access: "read" },
|
|
35032
|
-
{ id: "augmented-support:file-requests", name: "File Requests", description: "File bug / feature / integration requests to
|
|
35032
|
+
{ id: "augmented-support:file-requests", name: "File Requests", description: "File bug / feature / integration requests to Ninjafy support.", access: "write" },
|
|
35033
35033
|
{ id: "augmented-support:propose-writes", name: "Propose Self-Remediation", description: "Propose creating an agent in your own org; executed only after a human approves a server-rendered diff.", access: "write" }
|
|
35034
35034
|
]
|
|
35035
35035
|
},
|
|
35036
35036
|
{
|
|
35037
|
-
// ENG-8332: the
|
|
35037
|
+
// ENG-8332: the Ninjafy HELP knowledge base, split out of
|
|
35038
35038
|
// `augmented-support` so an agent can be given the docs WITHOUT also being
|
|
35039
35039
|
// given a ticket-filing button, an agent-proposal button, and org-wide read
|
|
35040
35040
|
// of agents, hosts, integrations, alerts, flags and the audit log. That
|
|
@@ -35062,14 +35062,14 @@ var INTEGRATION_REGISTRY = [
|
|
|
35062
35062
|
// ENG-8804: Granted centrally (ENG-8542 auto-grant), never connected by a human.
|
|
35063
35063
|
platform_internal: true,
|
|
35064
35064
|
category: "knowledge",
|
|
35065
|
-
description: "The
|
|
35065
|
+
description: "The Ninjafy help knowledge base: search and read the shared, published product documentation (how-tos, common fixes, FAQs). Identical for every organization and org-neutral by design - it grants no view of your org's own state, and cannot file tickets or propose changes. Distinct from your organization's own knowledge store.",
|
|
35066
35066
|
supported_auth_types: ["none"],
|
|
35067
35067
|
beta: true,
|
|
35068
35068
|
capabilities: [
|
|
35069
35069
|
{
|
|
35070
35070
|
id: "augmented-help-kb:read",
|
|
35071
35071
|
name: "Read Help Docs",
|
|
35072
|
-
description: "Search and read published
|
|
35072
|
+
description: "Search and read published Ninjafy help articles (org-neutral product documentation). Read-only; no ticket filing, no agent proposals, no org-state reads.",
|
|
35073
35073
|
access: "read"
|
|
35074
35074
|
}
|
|
35075
35075
|
]
|
|
@@ -35082,7 +35082,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35082
35082
|
// ENG-7217: Firecrawl migrates from a customer-API-key stdio MCP
|
|
35083
35083
|
// (`npx firecrawl-mcp`, FIRECRAWL_API_KEY) to a PREMIUM, platform-managed
|
|
35084
35084
|
// integration on the Deck / ElevenLabs model (ADR-0031, epic ENG-6920):
|
|
35085
|
-
//
|
|
35085
|
+
// Ninjafy holds ONE Firecrawl account key (`FIRECRAWL_ACCOUNT_KEY`) that
|
|
35086
35086
|
// every customer agent's web-data calls bill back to. The agent-facing tools
|
|
35087
35087
|
// are brokered server-side (firecrawl-broker.ts, reusing the official
|
|
35088
35088
|
// @mendable/firecrawl-js SDK) rather than via the stdio MCP, so managed usage
|
|
@@ -35241,9 +35241,9 @@ var INTEGRATION_REGISTRY = [
|
|
|
35241
35241
|
id: "ayrshare",
|
|
35242
35242
|
name: "Ayrshare",
|
|
35243
35243
|
category: "social",
|
|
35244
|
-
description: "Read and report on your social media - post history, analytics, and connected-account status - across LinkedIn, Instagram, Facebook, TikTok, YouTube, Pinterest, and more.
|
|
35244
|
+
description: "Read and report on your social media - post history, analytics, and connected-account status - across LinkedIn, Instagram, Facebook, TikTok, YouTube, Pinterest, and more. Ninjafy manages Ayrshare access for you - there is no key to enter; connect your social accounts once. Publishing on your behalf ships in a later release.",
|
|
35245
35245
|
// ENG-7722 / ADR-0046: Ayrshare is a PREMIUM, platform-managed integration on
|
|
35246
|
-
// the Deck / Firecrawl model (ADR-0031, epic ENG-6920):
|
|
35246
|
+
// the Deck / Firecrawl model (ADR-0031, epic ENG-6920): Ninjafy owns ONE
|
|
35247
35247
|
// Business Plan account (`AYRSHARE_API_KEY`) and every customer agent's profile
|
|
35248
35248
|
// + posts bill back to it, so the key is a single platform-held secret, NOT a
|
|
35249
35249
|
// per-agent credential. Auth type is therefore `none` - customers never enter a
|
|
@@ -35278,7 +35278,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35278
35278
|
},
|
|
35279
35279
|
{
|
|
35280
35280
|
// ENG-7439: X Search is a PREMIUM, platform-managed integration on the
|
|
35281
|
-
// Deck / Firecrawl / ElevenLabs model (ADR-0031, epic ENG-6920):
|
|
35281
|
+
// Deck / Firecrawl / ElevenLabs model (ADR-0031, epic ENG-6920): Ninjafy
|
|
35282
35282
|
// holds ONE X (Twitter) developer app whose OAuth2 app-only bearer
|
|
35283
35283
|
// (X_APP_BEARER_TOKEN) every customer agent's search bills back to, so the
|
|
35284
35284
|
// key is a single platform-held secret, NOT a per-agent credential. Auth
|
|
@@ -35296,7 +35296,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35296
35296
|
id: "x-search",
|
|
35297
35297
|
name: "X Search",
|
|
35298
35298
|
category: "social",
|
|
35299
|
-
description: "Read-only X (Twitter) search: recent public posts by keyword, hashtag, author, or any X search operator - for sentiment sweeps, topic monitoring, and trend research.
|
|
35299
|
+
description: "Read-only X (Twitter) search: recent public posts by keyword, hashtag, author, or any X search operator - for sentiment sweeps, topic monitoring, and trend research. Ninjafy manages X access for you - there is no key to enter.",
|
|
35300
35300
|
supported_auth_types: ["none"],
|
|
35301
35301
|
capabilities: [
|
|
35302
35302
|
{ id: "x-search:read", name: "Search Posts", description: "Search recent public X posts (last ~7 days) via x_search_recent.", access: "read" }
|
|
@@ -35328,7 +35328,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35328
35328
|
// per definition, so an org can take Local Business Data without taking the
|
|
35329
35329
|
// pricier, more ToS-sensitive social scraping.
|
|
35330
35330
|
//
|
|
35331
|
-
//
|
|
35331
|
+
// Ninjafy holds ONE Apify account whose token (APIFY_API_TOKEN, read
|
|
35332
35332
|
// from SSM - the API Lambda env is at the 4KB cap) every customer run bills
|
|
35333
35333
|
// back to, so the key is a single platform-held secret, NOT a per-agent
|
|
35334
35334
|
// credential. Auth type is `none` - customers never enter a key. Tools run on
|
|
@@ -35350,7 +35350,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35350
35350
|
id: "social-scraping",
|
|
35351
35351
|
name: "Social Scraping",
|
|
35352
35352
|
category: "social",
|
|
35353
|
-
description: "Pull public posts and videos from TikTok, Instagram and YouTube - captions, media, engagement counts and URLs - for brand, competitor and campaign research.
|
|
35353
|
+
description: "Pull public posts and videos from TikTok, Instagram and YouTube - captions, media, engagement counts and URLs - for brand, competitor and campaign research. Ninjafy manages the scraping account for you; there is no key to enter.",
|
|
35354
35354
|
supported_auth_types: ["none"],
|
|
35355
35355
|
capabilities: [
|
|
35356
35356
|
{ id: "social-scraping:scrape", name: "Scrape Social Posts", description: "Scrape public TikTok, Instagram and YouTube content (social_scrape_tiktok, social_scrape_instagram, social_scrape_youtube).", access: "write" },
|
|
@@ -35396,7 +35396,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35396
35396
|
id: "local-business-data",
|
|
35397
35397
|
name: "Local Business Data",
|
|
35398
35398
|
category: "knowledge",
|
|
35399
|
-
description: "Find local businesses on Google Maps and pull their public listing details - name, address, phone, website, category, rating and review count - for local market research, competitor lists and lead research.
|
|
35399
|
+
description: "Find local businesses on Google Maps and pull their public listing details - name, address, phone, website, category, rating and review count - for local market research, competitor lists and lead research. Ninjafy manages the data account for you; there is no key to enter.",
|
|
35400
35400
|
supported_auth_types: ["none"],
|
|
35401
35401
|
capabilities: [
|
|
35402
35402
|
{ id: "local-business-data:search", name: "Search Local Businesses", description: "Search Google Maps for businesses and return their public listing details (local_business_search).", access: "write" },
|
|
@@ -35496,7 +35496,7 @@ var INTEGRATION_REGISTRY = [
|
|
|
35496
35496
|
// here rather than read from the rate card, which is a real drift
|
|
35497
35497
|
// hazard — so it is held by a test that reprices both from the migration
|
|
35498
35498
|
// and fails if they disagree, rather than by anyone remembering.
|
|
35499
|
-
description: "Let an agent advise on a meeting while it is happening. Audio is transcribed on the Mac as usual; short passages are then checked by
|
|
35499
|
+
description: "Let an agent advise on a meeting while it is happening. Audio is transcribed on the Mac as usual; short passages are then checked by Ninjafy to decide when the agent should speak up, and the agent sees those moments in real time. Off until you turn it on. Billed per minute the advisor is armed \u2014 about $0.90 for a half-hour advised meeting (A$1.50 in Australian dollars); a meeting you record without arming the advisor costs nothing.",
|
|
35500
35500
|
access: "write",
|
|
35501
35501
|
requires_org_opt_in: true
|
|
35502
35502
|
}
|
|
@@ -62,8 +62,8 @@ import {
|
|
|
62
62
|
writeDirectChatSessionState,
|
|
63
63
|
writeEgressAllowlist,
|
|
64
64
|
writePersistentClaudeWrapper
|
|
65
|
-
} from "./chunk-
|
|
66
|
-
import "./chunk-
|
|
65
|
+
} from "./chunk-2LV6SJ7W.js";
|
|
66
|
+
import "./chunk-Q2GQY64J.js";
|
|
67
67
|
import "./chunk-XWVM4KPK.js";
|
|
68
68
|
export {
|
|
69
69
|
CLAUDE_HOST_WIDE,
|
|
@@ -130,4 +130,4 @@ export {
|
|
|
130
130
|
writeEgressAllowlist,
|
|
131
131
|
writePersistentClaudeWrapper
|
|
132
132
|
};
|
|
133
|
-
//# sourceMappingURL=persistent-session-
|
|
133
|
+
//# sourceMappingURL=persistent-session-TPADZX4C.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
paneLogPath
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-2LV6SJ7W.js";
|
|
4
|
+
import "./chunk-Q2GQY64J.js";
|
|
5
5
|
import "./chunk-XWVM4KPK.js";
|
|
6
6
|
|
|
7
7
|
// src/lib/responsiveness-probe.ts
|
|
@@ -799,4 +799,4 @@ export {
|
|
|
799
799
|
readAndResetSlackReplyBindingClassifications,
|
|
800
800
|
readAndResetSlackReplyTargetClassifications
|
|
801
801
|
};
|
|
802
|
-
//# sourceMappingURL=responsiveness-probe-
|
|
802
|
+
//# sourceMappingURL=responsiveness-probe-P2L74AKB.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
sessionTranscriptDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Q2GQY64J.js";
|
|
4
4
|
|
|
5
5
|
// src/lib/session-auth-dead.ts
|
|
6
6
|
import { closeSync, openSync, readSync, readdirSync, statSync } from "fs";
|
|
@@ -203,4 +203,4 @@ export {
|
|
|
203
203
|
decideSessionAuthState,
|
|
204
204
|
probeSessionAuth
|
|
205
205
|
};
|
|
206
|
-
//# sourceMappingURL=session-auth-dead-
|
|
206
|
+
//# sourceMappingURL=session-auth-dead-YKD22CHZ.js.map
|