@codeam/shared 2.61.13 → 2.61.15
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 +8 -2
- package/dist/index.d.ts +8 -2
- package/dist/index.js +20 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +19 -6
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -329,6 +329,10 @@ declare function isHeadroomWrappable(agentId: string): boolean;
|
|
|
329
329
|
*/
|
|
330
330
|
type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma';
|
|
331
331
|
type IntegrationAuthKind = 'oauth_redirect' | 'oauth_device' | 'api_key';
|
|
332
|
+
/** Grouping used by category-driven surfaces (Start-from-Work-Item picker,
|
|
333
|
+
* catalog sections). A future tracker integration joins those features with
|
|
334
|
+
* ZERO feature code — they resolve sources from the registry by category. */
|
|
335
|
+
type IntegrationCategory = 'tracker' | 'design' | 'comms' | 'docs' | 'observability';
|
|
332
336
|
/**
|
|
333
337
|
* One user-entered field for an `api_key` integration (no browser OAuth — the
|
|
334
338
|
* user pastes credentials directly, e.g. a PAT + an org URL). The mobile form
|
|
@@ -367,6 +371,7 @@ interface IntegrationDefinition {
|
|
|
367
371
|
id: IntegrationId;
|
|
368
372
|
name: string;
|
|
369
373
|
icon: string;
|
|
374
|
+
category: IntegrationCategory;
|
|
370
375
|
enabled: boolean;
|
|
371
376
|
auth: {
|
|
372
377
|
kind: IntegrationAuthKind;
|
|
@@ -422,6 +427,7 @@ declare const INTEGRATION_REGISTRY: Record<IntegrationId, IntegrationDefinition>
|
|
|
422
427
|
declare function getEnabledIntegrations(): IntegrationDefinition[];
|
|
423
428
|
declare function getIntegration(id: IntegrationId): IntegrationDefinition;
|
|
424
429
|
declare function isKnownIntegrationId(id: string): id is IntegrationId;
|
|
430
|
+
declare function getIntegrationsByCategory(category: IntegrationCategory): IntegrationDefinition[];
|
|
425
431
|
|
|
426
432
|
/**
|
|
427
433
|
* Agent Toolkits — centralized integration branding catalog.
|
|
@@ -456,7 +462,7 @@ interface IntegrationBranding {
|
|
|
456
462
|
logoSvg: string;
|
|
457
463
|
}
|
|
458
464
|
declare const INTEGRATION_BRANDING: Record<string, IntegrationBranding>;
|
|
459
|
-
declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "posthog", "clickup", "trello", "resend", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude", "datadog"];
|
|
465
|
+
declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "posthog", "clickup", "figma", "trello", "resend", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude", "datadog"];
|
|
460
466
|
declare function getIntegrationBranding(id: string): IntegrationBranding | null;
|
|
461
467
|
|
|
462
468
|
/**
|
|
@@ -1284,4 +1290,4 @@ type UserEventName = (typeof USER_EVENTS)[keyof typeof USER_EVENTS];
|
|
|
1284
1290
|
*/
|
|
1285
1291
|
declare const PREVIEW_DETECT_PROMPT: string;
|
|
1286
1292
|
|
|
1287
|
-
export { AGENT_REGISTRY, type AgentAuth, type AgentAuthKind, type AgentId, type AgentMetadata, type AgentModel, type AnswerResolvedEvent, type AwaitingAnswerEvent, type BeadsActionCommand, type BeadsActionKind, type BeadsActionPayload, type BeadsActionRequest, type BeadsActionType, type BeadsConfigureAction, type BeadsDependencyDto, type BeadsDependencyKind, type BeadsIngestPayload, type BeadsIssueDto, type BeadsIssueStatus, type BeadsMemoryDto, type BeadsProjectDto, type BeadsProvisioningPayload, type BeadsProvisioningStatus, type BeadsSnapshotDto, type BeadsStatus, type BeadsStatusState, type BeadsStatusSummary, type BlameLineWire, type BrokeredIntegrationToken, type ChromeStep, type ChromeToolType, type CommitEntryWire, DEFAULT_API_BASE_URL, DEV_API_BASE_URL, type EnvVar, type FileBlameEvent, type FileChangeStatus, type FileChangedEvent, type FileHistoryEvent, type FileReviewStatus, HEADROOM_BACKEND_ENV, HEADROOM_EXTRAS_BY_SURFACE, HEADROOM_MODELS, HEADROOM_PIP_COMPANIONS, HEADROOM_PROXY_PORT, HEARTBEAT_INTERVAL_MS_DEFAULT, HOUSE_AGENT_ID, HOUSE_AGENT_NAME, HOUSE_AGENT_PROVIDER, HOUSE_AGENT_SUBTITLE, HOUSE_AGENT_VENDOR, type HeadroomBudgetCommand, type HeadroomBudgetPeriod, type HeadroomBudgetUsage, type HeadroomKind, type HeadroomModelSpec, type HeadroomPythonRenderOpts, type HeadroomStatus, type HeadroomStep, type HeadroomSurface, type HunkLineType, INTEGRATION_BRANDING, INTEGRATION_REGISTRY, INTERNAL_TO_PUBLIC, type InputSuggestionChunk, type IntegrationApiKeyField, type IntegrationAuthKind, type IntegrationBranding, type IntegrationDefinition, type IntegrationDelivery, type IntegrationHealth, type IntegrationId, type IntegrationMcpDelivery, type IntegrationStatus, type IntegrationsManifest, type IntegrationsManifestEntry, LINKED_AGENT_IDS, type LinkedAgentId, MODEL_CONTEXT_WINDOW, MODEL_PRICING, type ModelPricing, type NormalizedMessage, OBSERVER_BRIDGE_PORT, PREVIEW_DETECT_PROMPT, PROTOCOL_VERSION, PUBLIC_TO_INTERNAL, type PendingReviewHunkEvent, type PendingReviewHunkLine, type PreviewDetection, type PreviewErrorStage, type PreviewState, type PreviewStatus, type RemoteCommand, SSE_SOCKET_TIMEOUT_MS, type SelectPrompt, type StreamingChunkEvent, type StreamingChunkKind, TERMINAL_AGENT_PREFIX, UNKNOWN_MODEL_PRICING, UPCOMING_INTEGRATION_IDS, USER_EVENTS, type UserEventName, getAgent, getContextWindow, getEnabledAgents, getEnabledIntegrations, getIntegration, getIntegrationBranding, getPricing, headroomKindFor, headroomModelPredownloadScript, headroomPipPackage, headroomSnapshotDownloadLine, internalToPublic, isHeadroomWrappable, isKnownAgentId, isKnownIntegrationId, isKnownModel, isLinkedAgentId, normalizeAgentId, publicToInternal, renderToLines, resolveApiBaseUrl, toRemoteCommand };
|
|
1293
|
+
export { AGENT_REGISTRY, type AgentAuth, type AgentAuthKind, type AgentId, type AgentMetadata, type AgentModel, type AnswerResolvedEvent, type AwaitingAnswerEvent, type BeadsActionCommand, type BeadsActionKind, type BeadsActionPayload, type BeadsActionRequest, type BeadsActionType, type BeadsConfigureAction, type BeadsDependencyDto, type BeadsDependencyKind, type BeadsIngestPayload, type BeadsIssueDto, type BeadsIssueStatus, type BeadsMemoryDto, type BeadsProjectDto, type BeadsProvisioningPayload, type BeadsProvisioningStatus, type BeadsSnapshotDto, type BeadsStatus, type BeadsStatusState, type BeadsStatusSummary, type BlameLineWire, type BrokeredIntegrationToken, type ChromeStep, type ChromeToolType, type CommitEntryWire, DEFAULT_API_BASE_URL, DEV_API_BASE_URL, type EnvVar, type FileBlameEvent, type FileChangeStatus, type FileChangedEvent, type FileHistoryEvent, type FileReviewStatus, HEADROOM_BACKEND_ENV, HEADROOM_EXTRAS_BY_SURFACE, HEADROOM_MODELS, HEADROOM_PIP_COMPANIONS, HEADROOM_PROXY_PORT, HEARTBEAT_INTERVAL_MS_DEFAULT, HOUSE_AGENT_ID, HOUSE_AGENT_NAME, HOUSE_AGENT_PROVIDER, HOUSE_AGENT_SUBTITLE, HOUSE_AGENT_VENDOR, type HeadroomBudgetCommand, type HeadroomBudgetPeriod, type HeadroomBudgetUsage, type HeadroomKind, type HeadroomModelSpec, type HeadroomPythonRenderOpts, type HeadroomStatus, type HeadroomStep, type HeadroomSurface, type HunkLineType, INTEGRATION_BRANDING, INTEGRATION_REGISTRY, INTERNAL_TO_PUBLIC, type InputSuggestionChunk, type IntegrationApiKeyField, type IntegrationAuthKind, type IntegrationBranding, type IntegrationCategory, type IntegrationDefinition, type IntegrationDelivery, type IntegrationHealth, type IntegrationId, type IntegrationMcpDelivery, type IntegrationStatus, type IntegrationsManifest, type IntegrationsManifestEntry, LINKED_AGENT_IDS, type LinkedAgentId, MODEL_CONTEXT_WINDOW, MODEL_PRICING, type ModelPricing, type NormalizedMessage, OBSERVER_BRIDGE_PORT, PREVIEW_DETECT_PROMPT, PROTOCOL_VERSION, PUBLIC_TO_INTERNAL, type PendingReviewHunkEvent, type PendingReviewHunkLine, type PreviewDetection, type PreviewErrorStage, type PreviewState, type PreviewStatus, type RemoteCommand, SSE_SOCKET_TIMEOUT_MS, type SelectPrompt, type StreamingChunkEvent, type StreamingChunkKind, TERMINAL_AGENT_PREFIX, UNKNOWN_MODEL_PRICING, UPCOMING_INTEGRATION_IDS, USER_EVENTS, type UserEventName, getAgent, getContextWindow, getEnabledAgents, getEnabledIntegrations, getIntegration, getIntegrationBranding, getIntegrationsByCategory, getPricing, headroomKindFor, headroomModelPredownloadScript, headroomPipPackage, headroomSnapshotDownloadLine, internalToPublic, isHeadroomWrappable, isKnownAgentId, isKnownIntegrationId, isKnownModel, isLinkedAgentId, normalizeAgentId, publicToInternal, renderToLines, resolveApiBaseUrl, toRemoteCommand };
|
package/dist/index.d.ts
CHANGED
|
@@ -329,6 +329,10 @@ declare function isHeadroomWrappable(agentId: string): boolean;
|
|
|
329
329
|
*/
|
|
330
330
|
type IntegrationId = 'jira' | 'sentry' | 'linear' | 'slack' | 'notion' | 'azure_devops' | 'figma';
|
|
331
331
|
type IntegrationAuthKind = 'oauth_redirect' | 'oauth_device' | 'api_key';
|
|
332
|
+
/** Grouping used by category-driven surfaces (Start-from-Work-Item picker,
|
|
333
|
+
* catalog sections). A future tracker integration joins those features with
|
|
334
|
+
* ZERO feature code — they resolve sources from the registry by category. */
|
|
335
|
+
type IntegrationCategory = 'tracker' | 'design' | 'comms' | 'docs' | 'observability';
|
|
332
336
|
/**
|
|
333
337
|
* One user-entered field for an `api_key` integration (no browser OAuth — the
|
|
334
338
|
* user pastes credentials directly, e.g. a PAT + an org URL). The mobile form
|
|
@@ -367,6 +371,7 @@ interface IntegrationDefinition {
|
|
|
367
371
|
id: IntegrationId;
|
|
368
372
|
name: string;
|
|
369
373
|
icon: string;
|
|
374
|
+
category: IntegrationCategory;
|
|
370
375
|
enabled: boolean;
|
|
371
376
|
auth: {
|
|
372
377
|
kind: IntegrationAuthKind;
|
|
@@ -422,6 +427,7 @@ declare const INTEGRATION_REGISTRY: Record<IntegrationId, IntegrationDefinition>
|
|
|
422
427
|
declare function getEnabledIntegrations(): IntegrationDefinition[];
|
|
423
428
|
declare function getIntegration(id: IntegrationId): IntegrationDefinition;
|
|
424
429
|
declare function isKnownIntegrationId(id: string): id is IntegrationId;
|
|
430
|
+
declare function getIntegrationsByCategory(category: IntegrationCategory): IntegrationDefinition[];
|
|
425
431
|
|
|
426
432
|
/**
|
|
427
433
|
* Agent Toolkits — centralized integration branding catalog.
|
|
@@ -456,7 +462,7 @@ interface IntegrationBranding {
|
|
|
456
462
|
logoSvg: string;
|
|
457
463
|
}
|
|
458
464
|
declare const INTEGRATION_BRANDING: Record<string, IntegrationBranding>;
|
|
459
|
-
declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "posthog", "clickup", "trello", "resend", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude", "datadog"];
|
|
465
|
+
declare const UPCOMING_INTEGRATION_IDS: readonly ["gmail", "posthog", "clickup", "figma", "trello", "resend", "vercel", "supabase", "asana", "postman", "n8n", "stripe", "mixpanel", "pendo", "pagerduty", "amplitude", "datadog"];
|
|
460
466
|
declare function getIntegrationBranding(id: string): IntegrationBranding | null;
|
|
461
467
|
|
|
462
468
|
/**
|
|
@@ -1284,4 +1290,4 @@ type UserEventName = (typeof USER_EVENTS)[keyof typeof USER_EVENTS];
|
|
|
1284
1290
|
*/
|
|
1285
1291
|
declare const PREVIEW_DETECT_PROMPT: string;
|
|
1286
1292
|
|
|
1287
|
-
export { AGENT_REGISTRY, type AgentAuth, type AgentAuthKind, type AgentId, type AgentMetadata, type AgentModel, type AnswerResolvedEvent, type AwaitingAnswerEvent, type BeadsActionCommand, type BeadsActionKind, type BeadsActionPayload, type BeadsActionRequest, type BeadsActionType, type BeadsConfigureAction, type BeadsDependencyDto, type BeadsDependencyKind, type BeadsIngestPayload, type BeadsIssueDto, type BeadsIssueStatus, type BeadsMemoryDto, type BeadsProjectDto, type BeadsProvisioningPayload, type BeadsProvisioningStatus, type BeadsSnapshotDto, type BeadsStatus, type BeadsStatusState, type BeadsStatusSummary, type BlameLineWire, type BrokeredIntegrationToken, type ChromeStep, type ChromeToolType, type CommitEntryWire, DEFAULT_API_BASE_URL, DEV_API_BASE_URL, type EnvVar, type FileBlameEvent, type FileChangeStatus, type FileChangedEvent, type FileHistoryEvent, type FileReviewStatus, HEADROOM_BACKEND_ENV, HEADROOM_EXTRAS_BY_SURFACE, HEADROOM_MODELS, HEADROOM_PIP_COMPANIONS, HEADROOM_PROXY_PORT, HEARTBEAT_INTERVAL_MS_DEFAULT, HOUSE_AGENT_ID, HOUSE_AGENT_NAME, HOUSE_AGENT_PROVIDER, HOUSE_AGENT_SUBTITLE, HOUSE_AGENT_VENDOR, type HeadroomBudgetCommand, type HeadroomBudgetPeriod, type HeadroomBudgetUsage, type HeadroomKind, type HeadroomModelSpec, type HeadroomPythonRenderOpts, type HeadroomStatus, type HeadroomStep, type HeadroomSurface, type HunkLineType, INTEGRATION_BRANDING, INTEGRATION_REGISTRY, INTERNAL_TO_PUBLIC, type InputSuggestionChunk, type IntegrationApiKeyField, type IntegrationAuthKind, type IntegrationBranding, type IntegrationDefinition, type IntegrationDelivery, type IntegrationHealth, type IntegrationId, type IntegrationMcpDelivery, type IntegrationStatus, type IntegrationsManifest, type IntegrationsManifestEntry, LINKED_AGENT_IDS, type LinkedAgentId, MODEL_CONTEXT_WINDOW, MODEL_PRICING, type ModelPricing, type NormalizedMessage, OBSERVER_BRIDGE_PORT, PREVIEW_DETECT_PROMPT, PROTOCOL_VERSION, PUBLIC_TO_INTERNAL, type PendingReviewHunkEvent, type PendingReviewHunkLine, type PreviewDetection, type PreviewErrorStage, type PreviewState, type PreviewStatus, type RemoteCommand, SSE_SOCKET_TIMEOUT_MS, type SelectPrompt, type StreamingChunkEvent, type StreamingChunkKind, TERMINAL_AGENT_PREFIX, UNKNOWN_MODEL_PRICING, UPCOMING_INTEGRATION_IDS, USER_EVENTS, type UserEventName, getAgent, getContextWindow, getEnabledAgents, getEnabledIntegrations, getIntegration, getIntegrationBranding, getPricing, headroomKindFor, headroomModelPredownloadScript, headroomPipPackage, headroomSnapshotDownloadLine, internalToPublic, isHeadroomWrappable, isKnownAgentId, isKnownIntegrationId, isKnownModel, isLinkedAgentId, normalizeAgentId, publicToInternal, renderToLines, resolveApiBaseUrl, toRemoteCommand };
|
|
1293
|
+
export { AGENT_REGISTRY, type AgentAuth, type AgentAuthKind, type AgentId, type AgentMetadata, type AgentModel, type AnswerResolvedEvent, type AwaitingAnswerEvent, type BeadsActionCommand, type BeadsActionKind, type BeadsActionPayload, type BeadsActionRequest, type BeadsActionType, type BeadsConfigureAction, type BeadsDependencyDto, type BeadsDependencyKind, type BeadsIngestPayload, type BeadsIssueDto, type BeadsIssueStatus, type BeadsMemoryDto, type BeadsProjectDto, type BeadsProvisioningPayload, type BeadsProvisioningStatus, type BeadsSnapshotDto, type BeadsStatus, type BeadsStatusState, type BeadsStatusSummary, type BlameLineWire, type BrokeredIntegrationToken, type ChromeStep, type ChromeToolType, type CommitEntryWire, DEFAULT_API_BASE_URL, DEV_API_BASE_URL, type EnvVar, type FileBlameEvent, type FileChangeStatus, type FileChangedEvent, type FileHistoryEvent, type FileReviewStatus, HEADROOM_BACKEND_ENV, HEADROOM_EXTRAS_BY_SURFACE, HEADROOM_MODELS, HEADROOM_PIP_COMPANIONS, HEADROOM_PROXY_PORT, HEARTBEAT_INTERVAL_MS_DEFAULT, HOUSE_AGENT_ID, HOUSE_AGENT_NAME, HOUSE_AGENT_PROVIDER, HOUSE_AGENT_SUBTITLE, HOUSE_AGENT_VENDOR, type HeadroomBudgetCommand, type HeadroomBudgetPeriod, type HeadroomBudgetUsage, type HeadroomKind, type HeadroomModelSpec, type HeadroomPythonRenderOpts, type HeadroomStatus, type HeadroomStep, type HeadroomSurface, type HunkLineType, INTEGRATION_BRANDING, INTEGRATION_REGISTRY, INTERNAL_TO_PUBLIC, type InputSuggestionChunk, type IntegrationApiKeyField, type IntegrationAuthKind, type IntegrationBranding, type IntegrationCategory, type IntegrationDefinition, type IntegrationDelivery, type IntegrationHealth, type IntegrationId, type IntegrationMcpDelivery, type IntegrationStatus, type IntegrationsManifest, type IntegrationsManifestEntry, LINKED_AGENT_IDS, type LinkedAgentId, MODEL_CONTEXT_WINDOW, MODEL_PRICING, type ModelPricing, type NormalizedMessage, OBSERVER_BRIDGE_PORT, PREVIEW_DETECT_PROMPT, PROTOCOL_VERSION, PUBLIC_TO_INTERNAL, type PendingReviewHunkEvent, type PendingReviewHunkLine, type PreviewDetection, type PreviewErrorStage, type PreviewState, type PreviewStatus, type RemoteCommand, SSE_SOCKET_TIMEOUT_MS, type SelectPrompt, type StreamingChunkEvent, type StreamingChunkKind, TERMINAL_AGENT_PREFIX, UNKNOWN_MODEL_PRICING, UPCOMING_INTEGRATION_IDS, USER_EVENTS, type UserEventName, getAgent, getContextWindow, getEnabledAgents, getEnabledIntegrations, getIntegration, getIntegrationBranding, getIntegrationsByCategory, getPricing, headroomKindFor, headroomModelPredownloadScript, headroomPipPackage, headroomSnapshotDownloadLine, internalToPublic, isHeadroomWrappable, isKnownAgentId, isKnownIntegrationId, isKnownModel, isLinkedAgentId, normalizeAgentId, publicToInternal, renderToLines, resolveApiBaseUrl, toRemoteCommand };
|
package/dist/index.js
CHANGED
|
@@ -55,6 +55,7 @@ __export(index_exports, {
|
|
|
55
55
|
getEnabledIntegrations: () => getEnabledIntegrations,
|
|
56
56
|
getIntegration: () => getIntegration,
|
|
57
57
|
getIntegrationBranding: () => getIntegrationBranding,
|
|
58
|
+
getIntegrationsByCategory: () => getIntegrationsByCategory,
|
|
58
59
|
getPricing: () => getPricing,
|
|
59
60
|
headroomKindFor: () => headroomKindFor,
|
|
60
61
|
headroomModelPredownloadScript: () => headroomModelPredownloadScript,
|
|
@@ -534,6 +535,7 @@ var INTEGRATION_REGISTRY = {
|
|
|
534
535
|
id: "jira",
|
|
535
536
|
name: "Atlassian",
|
|
536
537
|
icon: "jira",
|
|
538
|
+
category: "tracker",
|
|
537
539
|
enabled: true,
|
|
538
540
|
auth: {
|
|
539
541
|
kind: "oauth_redirect",
|
|
@@ -573,6 +575,7 @@ var INTEGRATION_REGISTRY = {
|
|
|
573
575
|
id: "sentry",
|
|
574
576
|
name: "Sentry",
|
|
575
577
|
icon: "sentry",
|
|
578
|
+
category: "observability",
|
|
576
579
|
// LIVE — the Sentry OAuth Application (Confidential) is registered and
|
|
577
580
|
// SENTRY_OAUTH_CLIENT_ID/SECRET/REDIRECT_URI are in Secret Manager
|
|
578
581
|
// (prod+dev). The backend SentryOAuthProvider is config-gated (503 if
|
|
@@ -626,6 +629,7 @@ var INTEGRATION_REGISTRY = {
|
|
|
626
629
|
id: "linear",
|
|
627
630
|
name: "Linear",
|
|
628
631
|
icon: "linear",
|
|
632
|
+
category: "tracker",
|
|
629
633
|
// LIVE — the Linear OAuth Application (Public + Confidential) is registered
|
|
630
634
|
// and LINEAR_OAUTH_CLIENT_ID/SECRET/REDIRECT_URI are in Secret Manager
|
|
631
635
|
// (prod+dev). The backend LinearOAuthProvider is config-gated (503 if env
|
|
@@ -663,6 +667,7 @@ var INTEGRATION_REGISTRY = {
|
|
|
663
667
|
id: "slack",
|
|
664
668
|
name: "Slack",
|
|
665
669
|
icon: "slack",
|
|
670
|
+
category: "comms",
|
|
666
671
|
// LIVE — the Slack app (OAuth v2, USER token — the agent acts AS THE USER)
|
|
667
672
|
// is registered and
|
|
668
673
|
// SLACK_OAUTH_CLIENT_ID/SECRET/REDIRECT_URI are in Secret Manager
|
|
@@ -717,6 +722,7 @@ var INTEGRATION_REGISTRY = {
|
|
|
717
722
|
id: "notion",
|
|
718
723
|
name: "Notion",
|
|
719
724
|
icon: "notion",
|
|
725
|
+
category: "docs",
|
|
720
726
|
// LIVE — the Notion public OAuth integration is registered and
|
|
721
727
|
// NOTION_OAUTH_CLIENT_ID/SECRET/REDIRECT_URI are in Secret Manager
|
|
722
728
|
// (prod+dev). The backend NotionOAuthProvider is config-gated (503 if env
|
|
@@ -749,6 +755,7 @@ var INTEGRATION_REGISTRY = {
|
|
|
749
755
|
id: "azure_devops",
|
|
750
756
|
name: "Azure DevOps",
|
|
751
757
|
icon: "azure_devops",
|
|
758
|
+
category: "tracker",
|
|
752
759
|
// LIVE — the FIRST api_key (PAT) integration. No OAuth: Azure DevOps OAuth
|
|
753
760
|
// apps are being sunset by Microsoft in favor of Entra ID, and PATs are the
|
|
754
761
|
// native, reliable ADO auth. The user pastes their org URL + a PAT; the
|
|
@@ -796,12 +803,12 @@ var INTEGRATION_REGISTRY = {
|
|
|
796
803
|
id: "figma",
|
|
797
804
|
name: "Figma",
|
|
798
805
|
icon: "figma",
|
|
799
|
-
|
|
800
|
-
//
|
|
801
|
-
//
|
|
802
|
-
//
|
|
803
|
-
//
|
|
804
|
-
enabled:
|
|
806
|
+
category: "design",
|
|
807
|
+
// DARK — pending Figma's OAuth-app review approval (submitted 2026-07-16).
|
|
808
|
+
// Figma OAuth apps do NOT exist publicly until review passes (authorize URL
|
|
809
|
+
// errors "OAuth app ... doesn't exist"). Backend provider + secrets are
|
|
810
|
+
// already deployed; flip to true once approved (bead codeagent-m4ix).
|
|
811
|
+
enabled: false,
|
|
805
812
|
auth: {
|
|
806
813
|
kind: "oauth_redirect",
|
|
807
814
|
// Granular READ-ONLY scopes (legacy `files:read` is deprecated for
|
|
@@ -847,6 +854,11 @@ function getIntegration(id) {
|
|
|
847
854
|
function isKnownIntegrationId(id) {
|
|
848
855
|
return id in INTEGRATION_REGISTRY;
|
|
849
856
|
}
|
|
857
|
+
function getIntegrationsByCategory(category) {
|
|
858
|
+
return Object.values(INTEGRATION_REGISTRY).filter(
|
|
859
|
+
(m) => m.category === category && m.enabled
|
|
860
|
+
);
|
|
861
|
+
}
|
|
850
862
|
|
|
851
863
|
// src/integrations/branding.ts
|
|
852
864
|
var INTEGRATION_BRANDING = {
|
|
@@ -1041,6 +1053,7 @@ var UPCOMING_INTEGRATION_IDS = [
|
|
|
1041
1053
|
"gmail",
|
|
1042
1054
|
"posthog",
|
|
1043
1055
|
"clickup",
|
|
1056
|
+
"figma",
|
|
1044
1057
|
"trello",
|
|
1045
1058
|
"resend",
|
|
1046
1059
|
"vercel",
|
|
@@ -1278,6 +1291,7 @@ OUTPUT JSON ONLY. NO MARKDOWN. NO COMMENTARY.
|
|
|
1278
1291
|
getEnabledIntegrations,
|
|
1279
1292
|
getIntegration,
|
|
1280
1293
|
getIntegrationBranding,
|
|
1294
|
+
getIntegrationsByCategory,
|
|
1281
1295
|
getPricing,
|
|
1282
1296
|
headroomKindFor,
|
|
1283
1297
|
headroomModelPredownloadScript,
|