@codeam/shared 2.61.43 → 2.61.44

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 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' | 'github_issues' | 'github' | 'gitlab';
354
+ type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'github_issues' | 'github' | 'gitlab';
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
@@ -421,6 +421,12 @@ interface IntegrationDefinition {
421
421
  icon: string;
422
422
  category: IntegrationCategory;
423
423
  enabled: boolean;
424
+ /** A `comms` integration that only SENDS (e.g. Resend email) — it has no
425
+ * readable threads, so it is EXCLUDED from From-Conversation's source list
426
+ * (which needs `listRecentThreads`/`getThread`/`postReply`) while still being
427
+ * a linkable comms tool the agent uses via its MCP delivery. Absent/false for
428
+ * conversational comms (Slack, Discord). */
429
+ sendOnly?: boolean;
424
430
  auth: {
425
431
  kind: IntegrationAuthKind;
426
432
  scopes?: string[];
@@ -525,7 +531,7 @@ interface IntegrationBranding {
525
531
  logoSvg: string;
526
532
  }
527
533
  declare const INTEGRATION_BRANDING: Record<string, IntegrationBranding>;
528
- declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "posthog", "clickup", "figma", "trello", "resend", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude", "datadog"];
534
+ declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "posthog", "clickup", "figma", "trello", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude", "datadog"];
529
535
  declare function getIntegrationBranding(id: string): IntegrationBranding | null;
530
536
 
531
537
  /**
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' | 'github_issues' | 'github' | 'gitlab';
354
+ type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma' | 'microsoft_teams' | 'google_chat' | 'discord' | 'resend' | 'github_issues' | 'github' | 'gitlab';
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
@@ -421,6 +421,12 @@ interface IntegrationDefinition {
421
421
  icon: string;
422
422
  category: IntegrationCategory;
423
423
  enabled: boolean;
424
+ /** A `comms` integration that only SENDS (e.g. Resend email) — it has no
425
+ * readable threads, so it is EXCLUDED from From-Conversation's source list
426
+ * (which needs `listRecentThreads`/`getThread`/`postReply`) while still being
427
+ * a linkable comms tool the agent uses via its MCP delivery. Absent/false for
428
+ * conversational comms (Slack, Discord). */
429
+ sendOnly?: boolean;
424
430
  auth: {
425
431
  kind: IntegrationAuthKind;
426
432
  scopes?: string[];
@@ -525,7 +531,7 @@ interface IntegrationBranding {
525
531
  logoSvg: string;
526
532
  }
527
533
  declare const INTEGRATION_BRANDING: Record<string, IntegrationBranding>;
528
- declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "posthog", "clickup", "figma", "trello", "resend", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude", "datadog"];
534
+ declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "posthog", "clickup", "figma", "trello", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude", "datadog"];
529
535
  declare function getIntegrationBranding(id: string): IntegrationBranding | null;
530
536
 
531
537
  /**
package/dist/index.js CHANGED
@@ -870,6 +870,45 @@ var INTEGRATION_REGISTRY = {
870
870
  }
871
871
  }
872
872
  },
873
+ resend: {
874
+ id: "resend",
875
+ name: "Resend",
876
+ icon: "resend",
877
+ category: "comms",
878
+ // LIVE — api_key (like Azure DevOps): the user pastes a Resend API key
879
+ // (`re_…`); Resend has NO OAuth, so there's no OAuth app / GSM secret /
880
+ // config-gated 503 — a backend VALIDATOR proves the key against the Resend
881
+ // API and vaults it. ⚠️ SEND-ONLY email → `sendOnly: true` keeps it OUT of
882
+ // From-Conversation (comms conversation sources need readable threads; Resend
883
+ // has none) while still being a linkable comms tool the agent uses via MCP.
884
+ enabled: true,
885
+ sendOnly: true,
886
+ auth: {
887
+ kind: "api_key",
888
+ fields: [
889
+ {
890
+ key: "accessToken",
891
+ label: "API Key",
892
+ placeholder: "re_xxxxxxxxxxxxxxxx",
893
+ secret: true,
894
+ help: 'Create in Resend \u2192 API Keys (https://resend.com/api-keys). "Sending access" is enough.'
895
+ }
896
+ ]
897
+ },
898
+ delivery: {
899
+ mcp: {
900
+ // The OFFICIAL resend-mcp (Node) in BYO-token mode: the API key is fed
901
+ // via RESEND_API_KEY (env only, never argv). Version PINNED; bump only
902
+ // after re-verifying headless. Tools: send email + contacts/broadcasts/
903
+ // domains.
904
+ command: "npx",
905
+ args: ["-y", "resend-mcp@2.6.1"],
906
+ envMapping: {
907
+ RESEND_API_KEY: "accessToken"
908
+ }
909
+ }
910
+ }
911
+ },
873
912
  notion: {
874
913
  id: "notion",
875
914
  name: "Notion",
@@ -1278,7 +1317,6 @@ var UPCOMING_INTEGRATION_IDS = [
1278
1317
  "clickup",
1279
1318
  "figma",
1280
1319
  "trello",
1281
- "resend",
1282
1320
  "vercel",
1283
1321
  "supabase",
1284
1322
  "asana",