@codeam/shared 2.61.59 → 2.61.61
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/index.d.mts +7 -4
- package/dist/index.d.ts +7 -4
- package/dist/index.js +46 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +46 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -351,7 +351,7 @@ declare function isHeadroomWrappable(agentId: string): boolean;
|
|
|
351
351
|
* ubiquitous CLI for the tool → `cliEnv`; otherwise → `mcp`. A tool may
|
|
352
352
|
* declare both.
|
|
353
353
|
*/
|
|
354
|
-
type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'posthog' | 'datadog' | 'stitch' | 'github_issues' | 'github' | 'gitlab' | 'vercel' | 'trello' | 'clickup';
|
|
354
|
+
type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'posthog' | 'datadog' | 'stitch' | 'github_issues' | 'github' | 'gitlab' | 'vercel' | 'trello' | 'clickup' | 'n8n';
|
|
355
355
|
/**
|
|
356
356
|
* `derived` = no link flow of its own: the credential is BORROWED live from a
|
|
357
357
|
* connection the user already made elsewhere (see `derivedFrom`). The backend
|
|
@@ -380,7 +380,7 @@ type DerivedCredentialSource = 'github';
|
|
|
380
380
|
/** Grouping used by category-driven surfaces (Start-from-Work-Item picker,
|
|
381
381
|
* catalog sections). A future tracker integration joins those features with
|
|
382
382
|
* ZERO feature code — they resolve sources from the registry by category. */
|
|
383
|
-
type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' | 'docs' | 'observability' | 'deployment';
|
|
383
|
+
type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' | 'docs' | 'observability' | 'deployment' | 'automation';
|
|
384
384
|
/**
|
|
385
385
|
* One user-entered field for an `api_key` integration (no browser OAuth — the
|
|
386
386
|
* user pastes credentials directly, e.g. a PAT + an org URL). The mobile form
|
|
@@ -390,7 +390,7 @@ type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' |
|
|
|
390
390
|
interface IntegrationApiKeyField {
|
|
391
391
|
/** Maps to a BrokeredIntegrationToken field (`accessToken`, `orgUrl`,
|
|
392
392
|
* `appKey`, `host`, …). */
|
|
393
|
-
key: 'accessToken' | 'orgUrl' | 'appKey' | 'host' | 'apiKey';
|
|
393
|
+
key: 'accessToken' | 'orgUrl' | 'appKey' | 'host' | 'apiKey' | 'instanceUrl';
|
|
394
394
|
/** Form label. */
|
|
395
395
|
label: string;
|
|
396
396
|
/** Example / placeholder. */
|
|
@@ -513,6 +513,9 @@ interface BrokeredIntegrationToken {
|
|
|
513
513
|
* alongside the user token (`TRELLO_API_KEY` + `TRELLO_TOKEN`=`accessToken`).
|
|
514
514
|
* Absent for non-Trello integrations. */
|
|
515
515
|
apiKey?: string;
|
|
516
|
+
/** n8n instance base URL (self-hosted or n8n.cloud) — the MCP server needs it
|
|
517
|
+
* alongside the API key (N8N_API_URL + N8N_API_KEY). Absent for non-n8n. */
|
|
518
|
+
instanceUrl?: string;
|
|
516
519
|
}
|
|
517
520
|
|
|
518
521
|
/**
|
|
@@ -560,7 +563,7 @@ interface IntegrationBranding {
|
|
|
560
563
|
logoSvg: string;
|
|
561
564
|
}
|
|
562
565
|
declare const INTEGRATION_BRANDING: Record<string, IntegrationBranding>;
|
|
563
|
-
declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "figma", "supabase", "asana", "postman", "
|
|
566
|
+
declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "figma", "supabase", "asana", "postman", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude"];
|
|
564
567
|
declare function getIntegrationBranding(id: string): IntegrationBranding | null;
|
|
565
568
|
|
|
566
569
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -351,7 +351,7 @@ declare function isHeadroomWrappable(agentId: string): boolean;
|
|
|
351
351
|
* ubiquitous CLI for the tool → `cliEnv`; otherwise → `mcp`. A tool may
|
|
352
352
|
* declare both.
|
|
353
353
|
*/
|
|
354
|
-
type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'posthog' | 'datadog' | 'stitch' | 'github_issues' | 'github' | 'gitlab' | 'vercel' | 'trello' | 'clickup';
|
|
354
|
+
type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'posthog' | 'datadog' | 'stitch' | 'github_issues' | 'github' | 'gitlab' | 'vercel' | 'trello' | 'clickup' | 'n8n';
|
|
355
355
|
/**
|
|
356
356
|
* `derived` = no link flow of its own: the credential is BORROWED live from a
|
|
357
357
|
* connection the user already made elsewhere (see `derivedFrom`). The backend
|
|
@@ -380,7 +380,7 @@ type DerivedCredentialSource = 'github';
|
|
|
380
380
|
/** Grouping used by category-driven surfaces (Start-from-Work-Item picker,
|
|
381
381
|
* catalog sections). A future tracker integration joins those features with
|
|
382
382
|
* ZERO feature code — they resolve sources from the registry by category. */
|
|
383
|
-
type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' | 'docs' | 'observability' | 'deployment';
|
|
383
|
+
type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' | 'docs' | 'observability' | 'deployment' | 'automation';
|
|
384
384
|
/**
|
|
385
385
|
* One user-entered field for an `api_key` integration (no browser OAuth — the
|
|
386
386
|
* user pastes credentials directly, e.g. a PAT + an org URL). The mobile form
|
|
@@ -390,7 +390,7 @@ type IntegrationCategory = 'version_control' | 'tracker' | 'design' | 'comms' |
|
|
|
390
390
|
interface IntegrationApiKeyField {
|
|
391
391
|
/** Maps to a BrokeredIntegrationToken field (`accessToken`, `orgUrl`,
|
|
392
392
|
* `appKey`, `host`, …). */
|
|
393
|
-
key: 'accessToken' | 'orgUrl' | 'appKey' | 'host' | 'apiKey';
|
|
393
|
+
key: 'accessToken' | 'orgUrl' | 'appKey' | 'host' | 'apiKey' | 'instanceUrl';
|
|
394
394
|
/** Form label. */
|
|
395
395
|
label: string;
|
|
396
396
|
/** Example / placeholder. */
|
|
@@ -513,6 +513,9 @@ interface BrokeredIntegrationToken {
|
|
|
513
513
|
* alongside the user token (`TRELLO_API_KEY` + `TRELLO_TOKEN`=`accessToken`).
|
|
514
514
|
* Absent for non-Trello integrations. */
|
|
515
515
|
apiKey?: string;
|
|
516
|
+
/** n8n instance base URL (self-hosted or n8n.cloud) — the MCP server needs it
|
|
517
|
+
* alongside the API key (N8N_API_URL + N8N_API_KEY). Absent for non-n8n. */
|
|
518
|
+
instanceUrl?: string;
|
|
516
519
|
}
|
|
517
520
|
|
|
518
521
|
/**
|
|
@@ -560,7 +563,7 @@ interface IntegrationBranding {
|
|
|
560
563
|
logoSvg: string;
|
|
561
564
|
}
|
|
562
565
|
declare const INTEGRATION_BRANDING: Record<string, IntegrationBranding>;
|
|
563
|
-
declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "figma", "supabase", "asana", "postman", "
|
|
566
|
+
declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "figma", "supabase", "asana", "postman", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude"];
|
|
564
567
|
declare function getIntegrationBranding(id: string): IntegrationBranding | null;
|
|
565
568
|
|
|
566
569
|
/**
|
package/dist/index.js
CHANGED
|
@@ -1294,6 +1294,52 @@ var INTEGRATION_REGISTRY = {
|
|
|
1294
1294
|
}
|
|
1295
1295
|
}
|
|
1296
1296
|
}
|
|
1297
|
+
},
|
|
1298
|
+
n8n: {
|
|
1299
|
+
id: "n8n",
|
|
1300
|
+
name: "n8n",
|
|
1301
|
+
icon: "n8n",
|
|
1302
|
+
category: "automation",
|
|
1303
|
+
// LIVE — api_key rail (like Trello / Azure DevOps). n8n auth is an API key
|
|
1304
|
+
// (Settings → n8n API) + the instance URL (n8n.cloud or self-hosted). The
|
|
1305
|
+
// user pastes both; the backend validates against the n8n REST API + vaults
|
|
1306
|
+
// them. No OAuth app, no GSM secrets, no config-gated 503.
|
|
1307
|
+
// ⚠️ The instance MUST be PUBLICLY reachable (n8n.cloud or a public self-host)
|
|
1308
|
+
// — a localhost/private n8n can't be reached from the deploy box.
|
|
1309
|
+
enabled: true,
|
|
1310
|
+
auth: {
|
|
1311
|
+
kind: "api_key",
|
|
1312
|
+
fields: [
|
|
1313
|
+
{
|
|
1314
|
+
key: "instanceUrl",
|
|
1315
|
+
label: "Instance URL",
|
|
1316
|
+
placeholder: "https://your-workspace.app.n8n.cloud",
|
|
1317
|
+
secret: false,
|
|
1318
|
+
help: "Your n8n base URL \u2014 n8n.cloud or your public self-hosted instance."
|
|
1319
|
+
},
|
|
1320
|
+
{
|
|
1321
|
+
key: "accessToken",
|
|
1322
|
+
label: "API Key",
|
|
1323
|
+
placeholder: "n8n_api_\u2026",
|
|
1324
|
+
secret: true,
|
|
1325
|
+
help: "Create in n8n \u2192 Settings \u2192 n8n API \u2192 Create an API key."
|
|
1326
|
+
}
|
|
1327
|
+
]
|
|
1328
|
+
},
|
|
1329
|
+
delivery: {
|
|
1330
|
+
mcp: {
|
|
1331
|
+
// n8n-mcp (Node): N8N_API_URL + N8N_API_KEY via env only, never argv.
|
|
1332
|
+
// Version PINNED; bump only after re-verifying headless.
|
|
1333
|
+
command: "npx",
|
|
1334
|
+
args: ["-y", "n8n-mcp@2.66.2"],
|
|
1335
|
+
envMapping: {
|
|
1336
|
+
N8N_API_URL: "instanceUrl",
|
|
1337
|
+
N8N_API_KEY: "accessToken"
|
|
1338
|
+
},
|
|
1339
|
+
// stdio transport (the CLI mcp-shim spawns it over stdio, not HTTP).
|
|
1340
|
+
staticEnv: { MCP_MODE: "stdio" }
|
|
1341
|
+
}
|
|
1342
|
+
}
|
|
1297
1343
|
}
|
|
1298
1344
|
};
|
|
1299
1345
|
function getEnabledIntegrations() {
|
|
@@ -1589,7 +1635,6 @@ var UPCOMING_INTEGRATION_IDS = [
|
|
|
1589
1635
|
"supabase",
|
|
1590
1636
|
"asana",
|
|
1591
1637
|
"postman",
|
|
1592
|
-
"n8n",
|
|
1593
1638
|
"stripe",
|
|
1594
1639
|
"mixpanel",
|
|
1595
1640
|
"pendo",
|