@shipfox/api-integration-jira 12.5.0 → 14.0.0
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/.turbo/turbo-build.log +4 -4
- package/CHANGELOG.md +14 -0
- package/dist/index.d.ts +34 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/tsconfig.test.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/index.test.ts +2 -0
- package/src/index.ts +2 -1
- package/tsconfig.build.tsbuildinfo +1 -1
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
$ shipfox-swc && shipfox-temporal-bundle dist/temporal/workflows/index.js
|
|
2
|
-
Successfully compiled: 35 files with swc (
|
|
3
|
-
2026-08-
|
|
2
|
+
Successfully compiled: 35 files with swc (414.29ms)
|
|
3
|
+
2026-08-23T20:26:25.791Z [INFO] asset workflow-bundle-0005de700a374d33c72a.js 3.17 MiB [emitted] [immutable] (name: main)
|
|
4
4
|
orphan modules 33.5 KiB [orphan] 21 modules
|
|
5
5
|
runtime modules 1.13 KiB 5 modules
|
|
6
6
|
modules by path ../../../../node_modules/.pnpm/ 970 KiB 196 modules
|
|
@@ -13,6 +13,6 @@ optional modules 30 bytes [optional]
|
|
|
13
13
|
__temporal_custom_payload_converter (ignored) 15 bytes [optional] [built] [code generated]
|
|
14
14
|
__temporal_custom_failure_converter (ignored) 15 bytes [optional] [built] [code generated]
|
|
15
15
|
../../../shared/node/temporal/dist/workflow-error-interceptor.js 1.21 KiB [built] [code generated]
|
|
16
|
-
webpack 5.107.2 compiled successfully in
|
|
17
|
-
2026-08-
|
|
16
|
+
webpack 5.107.2 compiled successfully in 7172 ms
|
|
17
|
+
2026-08-23T20:26:25.819Z [INFO] Workflow bundle created { size: '3.17MB' }
|
|
18
18
|
/home/runner/work/shipfox/shipfox/libs/api/integration/jira/dist/temporal/workflows/index.js: 3327328 bytes
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @shipfox/api-integration-jira
|
|
2
2
|
|
|
3
|
+
## 14.0.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 1b71a66: Exposes each provider's event catalog and the fixed-event providers on the integration validation context. Every provider now refuses the reserved `manual` and `cron` connection slugs.
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [18e9bad]
|
|
12
|
+
- Updated dependencies [2323e2e]
|
|
13
|
+
- Updated dependencies [1b71a66]
|
|
14
|
+
- @shipfox/api-integration-spi@2.0.0
|
|
15
|
+
- @shipfox/api-integration-jira-dto@14.0.0
|
|
16
|
+
|
|
3
17
|
## 12.5.0
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -81,6 +81,40 @@ export declare function createJiraIntegrationProvider(options?: CreateJiraIntegr
|
|
|
81
81
|
}) => Promise<void>;
|
|
82
82
|
provider: string;
|
|
83
83
|
displayName: string;
|
|
84
|
+
eventCatalog: {
|
|
85
|
+
readonly provider: 'Jira';
|
|
86
|
+
readonly events: ({
|
|
87
|
+
summary: 'A Jira issue is created.';
|
|
88
|
+
emittedWhen: 'Jira sends an issue-created webhook.';
|
|
89
|
+
name: "comment_created" | "comment_deleted" | "comment_updated" | "jira:issue_created" | "jira:issue_deleted" | "jira:issue_updated";
|
|
90
|
+
payloadKind: 'shipfox-normalized';
|
|
91
|
+
} | {
|
|
92
|
+
summary: 'A Jira issue changes.';
|
|
93
|
+
emittedWhen: 'Jira sends an issue-updated webhook.';
|
|
94
|
+
name: "comment_created" | "comment_deleted" | "comment_updated" | "jira:issue_created" | "jira:issue_deleted" | "jira:issue_updated";
|
|
95
|
+
payloadKind: 'shipfox-normalized';
|
|
96
|
+
} | {
|
|
97
|
+
summary: 'A Jira issue is deleted.';
|
|
98
|
+
emittedWhen: 'Jira sends an issue-deleted webhook.';
|
|
99
|
+
name: "comment_created" | "comment_deleted" | "comment_updated" | "jira:issue_created" | "jira:issue_deleted" | "jira:issue_updated";
|
|
100
|
+
payloadKind: 'shipfox-normalized';
|
|
101
|
+
} | {
|
|
102
|
+
summary: 'A comment is added to a Jira issue.';
|
|
103
|
+
emittedWhen: 'Jira sends a comment-created webhook.';
|
|
104
|
+
name: "comment_created" | "comment_deleted" | "comment_updated" | "jira:issue_created" | "jira:issue_deleted" | "jira:issue_updated";
|
|
105
|
+
payloadKind: 'shipfox-normalized';
|
|
106
|
+
} | {
|
|
107
|
+
summary: 'A comment on a Jira issue changes.';
|
|
108
|
+
emittedWhen: 'Jira sends a comment-updated webhook.';
|
|
109
|
+
name: "comment_created" | "comment_deleted" | "comment_updated" | "jira:issue_created" | "jira:issue_deleted" | "jira:issue_updated";
|
|
110
|
+
payloadKind: 'shipfox-normalized';
|
|
111
|
+
} | {
|
|
112
|
+
summary: 'A comment is deleted from a Jira issue.';
|
|
113
|
+
emittedWhen: 'Jira sends a comment-deleted webhook.';
|
|
114
|
+
name: "comment_created" | "comment_deleted" | "comment_updated" | "jira:issue_created" | "jira:issue_deleted" | "jira:issue_updated";
|
|
115
|
+
payloadKind: 'shipfox-normalized';
|
|
116
|
+
})[];
|
|
117
|
+
};
|
|
84
118
|
adapters: {
|
|
85
119
|
agent_tools: JiraAgentToolsProvider;
|
|
86
120
|
} | {
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { JIRA_PROVIDER } from '@shipfox/api-integration-jira-dto';
|
|
1
|
+
import { JIRA_PROVIDER, jiraEventCatalog } from '@shipfox/api-integration-jira-dto';
|
|
2
2
|
import { createJiraAgentToolsClient, createJiraApiClient } from '#api/client.js';
|
|
3
3
|
import { config } from '#config.js';
|
|
4
4
|
import { JiraAgentToolsProvider } from '#core/agent-tools-provider.js';
|
|
@@ -76,6 +76,7 @@ export function createJiraIntegrationProvider(options = {}) {
|
|
|
76
76
|
return {
|
|
77
77
|
provider: JIRA_PROVIDER,
|
|
78
78
|
displayName: 'Jira',
|
|
79
|
+
eventCatalog: jiraEventCatalog,
|
|
79
80
|
adapters,
|
|
80
81
|
async connectionExternalUrl (connection) {
|
|
81
82
|
return (await getInstallationByConnectionId(connection.id))?.siteUrl;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {JIRA_PROVIDER} from '@shipfox/api-integration-jira-dto';\nimport {\n createJiraAgentToolsClient,\n createJiraApiClient,\n type JiraAgentToolsClient,\n type JiraApiClient,\n} from '#api/client.js';\nimport {config} from '#config.js';\nimport {JiraAgentToolsProvider} from '#core/agent-tools-provider.js';\nimport type {JiraTokenStore} from '#core/tokens.js';\nimport {createJiraWebhookProcessor} from '#core/webhook-processor.js';\nimport {registerJiraWebhook} from '#core/webhook-registration.js';\nimport {jiraWebhookUrl} from '#core/webhook-url.js';\nimport {closeDb, db} from '#db/db.js';\nimport {getJiraInstallationByConnectionId} from '#db/installations.js';\nimport {migrationsPath} from '#db/migrations.js';\nimport {\n type CreateJiraIntegrationRoutesOptions,\n createJiraIntegrationRoutes,\n} from '#presentation/routes/install.js';\nimport {\n type CreateJiraWebhookRoutesOptions,\n createJiraWebhookRoutes,\n} from '#presentation/routes/webhooks.js';\n\nexport type {JiraProvider} from '@shipfox/api-integration-jira-dto';\nexport type {\n JiraAccessibleResource,\n JiraAgentToolHttpMethod,\n JiraAgentToolQueryValue,\n JiraAgentToolRequest,\n JiraAgentToolResponse,\n JiraAgentToolsClient,\n JiraApiClient,\n JiraAuthorization,\n JiraDynamicWebhookRegistration,\n JiraIdentity,\n} from '#api/client.js';\nexport {\n createJiraAgentToolsClient,\n createJiraApiClient,\n JIRA_DYNAMIC_WEBHOOK_EVENTS,\n JIRA_DYNAMIC_WEBHOOK_JQL,\n mapJiraError,\n} from '#api/client.js';\nexport type {\n JiraAgentToolCatalogEntry,\n JiraAgentToolId,\n JiraAgentToolRequiredScope,\n} from '#core/agent-tools.js';\nexport {\n jiraAgentToolCatalog,\n jiraAgentToolSelectionCatalog,\n jiraPlainTextToAdf,\n} from '#core/agent-tools.js';\nexport type {\n JiraAgentToolsProviderOptions,\n JiraToolCallResult,\n} from '#core/agent-tools-provider.js';\nexport {JiraAgentToolsProvider} from '#core/agent-tools-provider.js';\nexport type {\n DeregisterJiraWebhooksParams,\n DisconnectJiraInstallationParams,\n} from '#core/disconnect.js';\nexport {\n deregisterJiraWebhooks,\n disconnectJiraInstallation,\n prepareJiraWebhookDeregistration,\n} from '#core/disconnect.js';\nexport {\n JiraAccessTokenMissingError,\n JiraAuthorizationScopeMismatchError,\n JiraConnectionAlreadyLinkedError,\n JiraConnectionNotFoundError,\n JiraInstallationAlreadyLinkedError,\n JiraInstallationSiteMismatchError,\n JiraInstallStateActorMismatchError,\n JiraInstallStateError,\n JiraIntegrationProviderError,\n JiraOAuthCallbackError,\n JiraOfflineAccessNotGrantedError,\n JiraPendingSelectionNotFoundError,\n JiraSiteSelectionMismatchError,\n JiraTokenUnrefreshableError,\n} from '#core/errors.js';\nexport type {ConnectJiraInstallationInput, HandleJiraCallbackParams} from '#core/install.js';\nexport {\n handleJiraCallback,\n handleJiraOAuthCallbackError,\n handleJiraSiteSelection,\n} from '#core/install.js';\nexport type {JiraPendingSelectionSecretsStore, JiraPendingSelectionStore} from '#core/pending.js';\nexport {createJiraPendingSelectionStore, jiraPendingSecretsNamespace} from '#core/pending.js';\nexport {\n assertJiraAuthorizationScopes,\n formatJiraOAuthScopes,\n JIRA_OAUTH_SCOPES,\n} from '#core/scopes.js';\nexport {signJiraInstallState, verifyJiraInstallState} from '#core/state.js';\nexport type {\n CreateJiraTokenStoreParams,\n GetJiraAccessTokenParams,\n JiraConnectionResolverResult,\n JiraSecretsStore,\n JiraTokenStore,\n StoreJiraTokensParams,\n} from '#core/tokens.js';\nexport {createJiraTokenStore, jiraSecretsNamespace} from '#core/tokens.js';\nexport type {\n CreateJiraWebhookProcessorOptions,\n JiraWebhookProcessor,\n} from '#core/webhook-processor.js';\nexport {createJiraWebhookProcessor} from '#core/webhook-processor.js';\nexport type {RegisterJiraWebhookParams} from '#core/webhook-registration.js';\nexport {JIRA_WEBHOOK_TTL_MS, registerJiraWebhook} from '#core/webhook-registration.js';\nexport {JIRA_WEBHOOK_ROUTE_PREFIX, jiraWebhookUrl} from '#core/webhook-url.js';\nexport type {\n JiraInstallation,\n JiraInstallationLock,\n JiraInstallationStatus,\n UpdateJiraInstallationWebhookIfUnchangedParams,\n UpdateJiraInstallationWebhookParams,\n UpsertJiraInstallationParams,\n} from '#db/installations.js';\nexport {\n deleteJiraInstallationByConnectionId,\n getJiraInstallationByCloudId,\n getJiraInstallationByConnectionId,\n getJiraInstallationByWebhookId,\n listJiraInstallationsDueForTokenRefresh,\n listJiraInstallationsDueForWebhookRenewal,\n markJiraInstallationRevoked,\n updateJiraInstallationTokenExpiry,\n updateJiraInstallationWebhook,\n updateJiraInstallationWebhookIfUnchanged,\n upsertJiraInstallation,\n withJiraRefreshLock,\n withJiraRefreshLockAndWait,\n withJiraWebhookRegistrationLock,\n} from '#db/installations.js';\nexport type {CreateJiraWebhookRoutesOptions} from '#presentation/routes/webhooks.js';\nexport {createJiraWebhookRoutes} from '#presentation/routes/webhooks.js';\nexport {createJiraMaintenanceWorker} from '#temporal/worker.js';\nexport {closeDb, config, db, migrationsPath};\n\nexport interface CreateJiraIntegrationProviderOptions {\n jira?: JiraApiClient | undefined;\n agentTools?:\n | {\n tokenStore: Pick<JiraTokenStore, 'getAccessToken'>;\n jira?: JiraAgentToolsClient | undefined;\n }\n | undefined;\n getJiraInstallationByConnectionId?: typeof getJiraInstallationByConnectionId | undefined;\n cleanup?:\n | {\n deleteConnectionRemoteResources?: (connection: {\n id: string;\n }) => Promise<(() => Promise<void>) | undefined>;\n withConnectionDeletionLock?: (\n connection: {id: string},\n fn: () => Promise<void>,\n ) => Promise<void>;\n deleteConnectionRecords?: (\n connection: {id: string},\n options: {tx: unknown},\n ) => Promise<void>;\n deleteConnectionSecrets?: (connection: {id: string; workspaceId: string}) => Promise<void>;\n }\n | undefined;\n routes?: JiraIntegrationProviderRoutesOptions | undefined;\n}\n\ntype JiraIntegrationProviderRoutesOptions = Omit<\n CreateJiraIntegrationRoutesOptions,\n 'jira' | 'connectionCapabilities' | 'registerJiraWebhook'\n> &\n Omit<CreateJiraWebhookRoutesOptions, 'processor'>;\n\nexport function createJiraIntegrationProvider(options: CreateJiraIntegrationProviderOptions = {}) {\n const jira = options.jira ?? createJiraApiClient();\n const getInstallationByConnectionId =\n options.getJiraInstallationByConnectionId ?? getJiraInstallationByConnectionId;\n const adapters = options.agentTools\n ? {\n agent_tools: new JiraAgentToolsProvider({\n jira: options.agentTools.jira ?? createJiraAgentToolsClient(),\n tokenStore: options.agentTools.tokenStore,\n }),\n }\n : {};\n const webhookOptions = toJiraWebhookOptions(options.routes);\n const webhookProcessor = webhookOptions ? createJiraWebhookProcessor(webhookOptions) : undefined;\n const webhookRoutes = webhookOptions\n ? [\n createJiraWebhookRoutes({\n coreDb: webhookOptions.coreDb,\n publishIntegrationEventReceived: webhookOptions.publishIntegrationEventReceived,\n recordDeliveryOnly: webhookOptions.recordDeliveryOnly,\n getIntegrationConnectionById: webhookOptions.getIntegrationConnectionById,\n processor: webhookProcessor,\n }),\n ]\n : [];\n const routes = options.routes\n ? [\n createJiraIntegrationRoutes({\n jira,\n connectionCapabilities: adapters.agent_tools ? ['agent_tools'] : [],\n ...options.routes,\n registerJiraWebhook: (input) =>\n registerJiraWebhook({\n jira,\n connectionId: input.connectionId,\n cloudId: input.cloudId,\n accessToken: input.accessToken,\n webhookUrl: jiraWebhookUrl(input.connectionId),\n ...(input.withRegistrationLock\n ? {withRegistrationLock: input.withRegistrationLock}\n : {}),\n ...(input.onRegistrationSuccess\n ? {onRegistrationSuccess: input.onRegistrationSuccess}\n : {}),\n ...(input.onRegistrationFailure\n ? {onRegistrationFailure: input.onRegistrationFailure}\n : {}),\n }).then(() => undefined),\n }),\n ...webhookRoutes,\n ]\n : [];\n return {\n provider: JIRA_PROVIDER,\n displayName: 'Jira',\n adapters,\n async connectionExternalUrl(connection: {id: string}): Promise<string | undefined> {\n return (await getInstallationByConnectionId(connection.id))?.siteUrl;\n },\n ...options.cleanup,\n routes,\n webhookProcessors: webhookProcessor\n ? [{routeIds: ['jira'] as const, processor: webhookProcessor}]\n : undefined,\n };\n}\n\nfunction toJiraWebhookOptions(\n routes: CreateJiraIntegrationProviderOptions['routes'],\n): CreateJiraWebhookRoutesOptions | undefined {\n if (!routes) return undefined;\n if (\n routes.coreDb === undefined ||\n routes.publishIntegrationEventReceived === undefined ||\n routes.recordDeliveryOnly === undefined ||\n routes.getIntegrationConnectionById === undefined\n )\n throw new Error(\n 'Jira integration provider requires all webhook receiver dependencies: coreDb, publishIntegrationEventReceived, recordDeliveryOnly, and getIntegrationConnectionById',\n );\n return {\n coreDb: routes.coreDb,\n publishIntegrationEventReceived: routes.publishIntegrationEventReceived,\n recordDeliveryOnly: routes.recordDeliveryOnly,\n getIntegrationConnectionById: routes.getIntegrationConnectionById,\n };\n}\n"],"names":["JIRA_PROVIDER","createJiraAgentToolsClient","createJiraApiClient","config","JiraAgentToolsProvider","createJiraWebhookProcessor","registerJiraWebhook","jiraWebhookUrl","closeDb","db","getJiraInstallationByConnectionId","migrationsPath","createJiraIntegrationRoutes","createJiraWebhookRoutes","JIRA_DYNAMIC_WEBHOOK_EVENTS","JIRA_DYNAMIC_WEBHOOK_JQL","mapJiraError","jiraAgentToolCatalog","jiraAgentToolSelectionCatalog","jiraPlainTextToAdf","deregisterJiraWebhooks","disconnectJiraInstallation","prepareJiraWebhookDeregistration","JiraAccessTokenMissingError","JiraAuthorizationScopeMismatchError","JiraConnectionAlreadyLinkedError","JiraConnectionNotFoundError","JiraInstallationAlreadyLinkedError","JiraInstallationSiteMismatchError","JiraInstallStateActorMismatchError","JiraInstallStateError","JiraIntegrationProviderError","JiraOAuthCallbackError","JiraOfflineAccessNotGrantedError","JiraPendingSelectionNotFoundError","JiraSiteSelectionMismatchError","JiraTokenUnrefreshableError","handleJiraCallback","handleJiraOAuthCallbackError","handleJiraSiteSelection","createJiraPendingSelectionStore","jiraPendingSecretsNamespace","assertJiraAuthorizationScopes","formatJiraOAuthScopes","JIRA_OAUTH_SCOPES","signJiraInstallState","verifyJiraInstallState","createJiraTokenStore","jiraSecretsNamespace","JIRA_WEBHOOK_TTL_MS","JIRA_WEBHOOK_ROUTE_PREFIX","deleteJiraInstallationByConnectionId","getJiraInstallationByCloudId","getJiraInstallationByWebhookId","listJiraInstallationsDueForTokenRefresh","listJiraInstallationsDueForWebhookRenewal","markJiraInstallationRevoked","updateJiraInstallationTokenExpiry","updateJiraInstallationWebhook","updateJiraInstallationWebhookIfUnchanged","upsertJiraInstallation","withJiraRefreshLock","withJiraRefreshLockAndWait","withJiraWebhookRegistrationLock","createJiraMaintenanceWorker","createJiraIntegrationProvider","options","jira","getInstallationByConnectionId","adapters","agentTools","agent_tools","tokenStore","webhookOptions","toJiraWebhookOptions","routes","webhookProcessor","undefined","webhookRoutes","coreDb","publishIntegrationEventReceived","recordDeliveryOnly","getIntegrationConnectionById","processor","connectionCapabilities","input","connectionId","cloudId","accessToken","webhookUrl","withRegistrationLock","onRegistrationSuccess","onRegistrationFailure","then","provider","displayName","connectionExternalUrl","connection","id","siteUrl","cleanup","webhookProcessors","routeIds","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"sourcesContent":["import {JIRA_PROVIDER, jiraEventCatalog} from '@shipfox/api-integration-jira-dto';\nimport {\n createJiraAgentToolsClient,\n createJiraApiClient,\n type JiraAgentToolsClient,\n type JiraApiClient,\n} from '#api/client.js';\nimport {config} from '#config.js';\nimport {JiraAgentToolsProvider} from '#core/agent-tools-provider.js';\nimport type {JiraTokenStore} from '#core/tokens.js';\nimport {createJiraWebhookProcessor} from '#core/webhook-processor.js';\nimport {registerJiraWebhook} from '#core/webhook-registration.js';\nimport {jiraWebhookUrl} from '#core/webhook-url.js';\nimport {closeDb, db} from '#db/db.js';\nimport {getJiraInstallationByConnectionId} from '#db/installations.js';\nimport {migrationsPath} from '#db/migrations.js';\nimport {\n type CreateJiraIntegrationRoutesOptions,\n createJiraIntegrationRoutes,\n} from '#presentation/routes/install.js';\nimport {\n type CreateJiraWebhookRoutesOptions,\n createJiraWebhookRoutes,\n} from '#presentation/routes/webhooks.js';\n\nexport type {JiraProvider} from '@shipfox/api-integration-jira-dto';\nexport type {\n JiraAccessibleResource,\n JiraAgentToolHttpMethod,\n JiraAgentToolQueryValue,\n JiraAgentToolRequest,\n JiraAgentToolResponse,\n JiraAgentToolsClient,\n JiraApiClient,\n JiraAuthorization,\n JiraDynamicWebhookRegistration,\n JiraIdentity,\n} from '#api/client.js';\nexport {\n createJiraAgentToolsClient,\n createJiraApiClient,\n JIRA_DYNAMIC_WEBHOOK_EVENTS,\n JIRA_DYNAMIC_WEBHOOK_JQL,\n mapJiraError,\n} from '#api/client.js';\nexport type {\n JiraAgentToolCatalogEntry,\n JiraAgentToolId,\n JiraAgentToolRequiredScope,\n} from '#core/agent-tools.js';\nexport {\n jiraAgentToolCatalog,\n jiraAgentToolSelectionCatalog,\n jiraPlainTextToAdf,\n} from '#core/agent-tools.js';\nexport type {\n JiraAgentToolsProviderOptions,\n JiraToolCallResult,\n} from '#core/agent-tools-provider.js';\nexport {JiraAgentToolsProvider} from '#core/agent-tools-provider.js';\nexport type {\n DeregisterJiraWebhooksParams,\n DisconnectJiraInstallationParams,\n} from '#core/disconnect.js';\nexport {\n deregisterJiraWebhooks,\n disconnectJiraInstallation,\n prepareJiraWebhookDeregistration,\n} from '#core/disconnect.js';\nexport {\n JiraAccessTokenMissingError,\n JiraAuthorizationScopeMismatchError,\n JiraConnectionAlreadyLinkedError,\n JiraConnectionNotFoundError,\n JiraInstallationAlreadyLinkedError,\n JiraInstallationSiteMismatchError,\n JiraInstallStateActorMismatchError,\n JiraInstallStateError,\n JiraIntegrationProviderError,\n JiraOAuthCallbackError,\n JiraOfflineAccessNotGrantedError,\n JiraPendingSelectionNotFoundError,\n JiraSiteSelectionMismatchError,\n JiraTokenUnrefreshableError,\n} from '#core/errors.js';\nexport type {ConnectJiraInstallationInput, HandleJiraCallbackParams} from '#core/install.js';\nexport {\n handleJiraCallback,\n handleJiraOAuthCallbackError,\n handleJiraSiteSelection,\n} from '#core/install.js';\nexport type {JiraPendingSelectionSecretsStore, JiraPendingSelectionStore} from '#core/pending.js';\nexport {createJiraPendingSelectionStore, jiraPendingSecretsNamespace} from '#core/pending.js';\nexport {\n assertJiraAuthorizationScopes,\n formatJiraOAuthScopes,\n JIRA_OAUTH_SCOPES,\n} from '#core/scopes.js';\nexport {signJiraInstallState, verifyJiraInstallState} from '#core/state.js';\nexport type {\n CreateJiraTokenStoreParams,\n GetJiraAccessTokenParams,\n JiraConnectionResolverResult,\n JiraSecretsStore,\n JiraTokenStore,\n StoreJiraTokensParams,\n} from '#core/tokens.js';\nexport {createJiraTokenStore, jiraSecretsNamespace} from '#core/tokens.js';\nexport type {\n CreateJiraWebhookProcessorOptions,\n JiraWebhookProcessor,\n} from '#core/webhook-processor.js';\nexport {createJiraWebhookProcessor} from '#core/webhook-processor.js';\nexport type {RegisterJiraWebhookParams} from '#core/webhook-registration.js';\nexport {JIRA_WEBHOOK_TTL_MS, registerJiraWebhook} from '#core/webhook-registration.js';\nexport {JIRA_WEBHOOK_ROUTE_PREFIX, jiraWebhookUrl} from '#core/webhook-url.js';\nexport type {\n JiraInstallation,\n JiraInstallationLock,\n JiraInstallationStatus,\n UpdateJiraInstallationWebhookIfUnchangedParams,\n UpdateJiraInstallationWebhookParams,\n UpsertJiraInstallationParams,\n} from '#db/installations.js';\nexport {\n deleteJiraInstallationByConnectionId,\n getJiraInstallationByCloudId,\n getJiraInstallationByConnectionId,\n getJiraInstallationByWebhookId,\n listJiraInstallationsDueForTokenRefresh,\n listJiraInstallationsDueForWebhookRenewal,\n markJiraInstallationRevoked,\n updateJiraInstallationTokenExpiry,\n updateJiraInstallationWebhook,\n updateJiraInstallationWebhookIfUnchanged,\n upsertJiraInstallation,\n withJiraRefreshLock,\n withJiraRefreshLockAndWait,\n withJiraWebhookRegistrationLock,\n} from '#db/installations.js';\nexport type {CreateJiraWebhookRoutesOptions} from '#presentation/routes/webhooks.js';\nexport {createJiraWebhookRoutes} from '#presentation/routes/webhooks.js';\nexport {createJiraMaintenanceWorker} from '#temporal/worker.js';\nexport {closeDb, config, db, migrationsPath};\n\nexport interface CreateJiraIntegrationProviderOptions {\n jira?: JiraApiClient | undefined;\n agentTools?:\n | {\n tokenStore: Pick<JiraTokenStore, 'getAccessToken'>;\n jira?: JiraAgentToolsClient | undefined;\n }\n | undefined;\n getJiraInstallationByConnectionId?: typeof getJiraInstallationByConnectionId | undefined;\n cleanup?:\n | {\n deleteConnectionRemoteResources?: (connection: {\n id: string;\n }) => Promise<(() => Promise<void>) | undefined>;\n withConnectionDeletionLock?: (\n connection: {id: string},\n fn: () => Promise<void>,\n ) => Promise<void>;\n deleteConnectionRecords?: (\n connection: {id: string},\n options: {tx: unknown},\n ) => Promise<void>;\n deleteConnectionSecrets?: (connection: {id: string; workspaceId: string}) => Promise<void>;\n }\n | undefined;\n routes?: JiraIntegrationProviderRoutesOptions | undefined;\n}\n\ntype JiraIntegrationProviderRoutesOptions = Omit<\n CreateJiraIntegrationRoutesOptions,\n 'jira' | 'connectionCapabilities' | 'registerJiraWebhook'\n> &\n Omit<CreateJiraWebhookRoutesOptions, 'processor'>;\n\nexport function createJiraIntegrationProvider(options: CreateJiraIntegrationProviderOptions = {}) {\n const jira = options.jira ?? createJiraApiClient();\n const getInstallationByConnectionId =\n options.getJiraInstallationByConnectionId ?? getJiraInstallationByConnectionId;\n const adapters = options.agentTools\n ? {\n agent_tools: new JiraAgentToolsProvider({\n jira: options.agentTools.jira ?? createJiraAgentToolsClient(),\n tokenStore: options.agentTools.tokenStore,\n }),\n }\n : {};\n const webhookOptions = toJiraWebhookOptions(options.routes);\n const webhookProcessor = webhookOptions ? createJiraWebhookProcessor(webhookOptions) : undefined;\n const webhookRoutes = webhookOptions\n ? [\n createJiraWebhookRoutes({\n coreDb: webhookOptions.coreDb,\n publishIntegrationEventReceived: webhookOptions.publishIntegrationEventReceived,\n recordDeliveryOnly: webhookOptions.recordDeliveryOnly,\n getIntegrationConnectionById: webhookOptions.getIntegrationConnectionById,\n processor: webhookProcessor,\n }),\n ]\n : [];\n const routes = options.routes\n ? [\n createJiraIntegrationRoutes({\n jira,\n connectionCapabilities: adapters.agent_tools ? ['agent_tools'] : [],\n ...options.routes,\n registerJiraWebhook: (input) =>\n registerJiraWebhook({\n jira,\n connectionId: input.connectionId,\n cloudId: input.cloudId,\n accessToken: input.accessToken,\n webhookUrl: jiraWebhookUrl(input.connectionId),\n ...(input.withRegistrationLock\n ? {withRegistrationLock: input.withRegistrationLock}\n : {}),\n ...(input.onRegistrationSuccess\n ? {onRegistrationSuccess: input.onRegistrationSuccess}\n : {}),\n ...(input.onRegistrationFailure\n ? {onRegistrationFailure: input.onRegistrationFailure}\n : {}),\n }).then(() => undefined),\n }),\n ...webhookRoutes,\n ]\n : [];\n return {\n provider: JIRA_PROVIDER,\n displayName: 'Jira',\n eventCatalog: jiraEventCatalog,\n adapters,\n async connectionExternalUrl(connection: {id: string}): Promise<string | undefined> {\n return (await getInstallationByConnectionId(connection.id))?.siteUrl;\n },\n ...options.cleanup,\n routes,\n webhookProcessors: webhookProcessor\n ? [{routeIds: ['jira'] as const, processor: webhookProcessor}]\n : undefined,\n };\n}\n\nfunction toJiraWebhookOptions(\n routes: CreateJiraIntegrationProviderOptions['routes'],\n): CreateJiraWebhookRoutesOptions | undefined {\n if (!routes) return undefined;\n if (\n routes.coreDb === undefined ||\n routes.publishIntegrationEventReceived === undefined ||\n routes.recordDeliveryOnly === undefined ||\n routes.getIntegrationConnectionById === undefined\n )\n throw new Error(\n 'Jira integration provider requires all webhook receiver dependencies: coreDb, publishIntegrationEventReceived, recordDeliveryOnly, and getIntegrationConnectionById',\n );\n return {\n coreDb: routes.coreDb,\n publishIntegrationEventReceived: routes.publishIntegrationEventReceived,\n recordDeliveryOnly: routes.recordDeliveryOnly,\n getIntegrationConnectionById: routes.getIntegrationConnectionById,\n };\n}\n"],"names":["JIRA_PROVIDER","jiraEventCatalog","createJiraAgentToolsClient","createJiraApiClient","config","JiraAgentToolsProvider","createJiraWebhookProcessor","registerJiraWebhook","jiraWebhookUrl","closeDb","db","getJiraInstallationByConnectionId","migrationsPath","createJiraIntegrationRoutes","createJiraWebhookRoutes","JIRA_DYNAMIC_WEBHOOK_EVENTS","JIRA_DYNAMIC_WEBHOOK_JQL","mapJiraError","jiraAgentToolCatalog","jiraAgentToolSelectionCatalog","jiraPlainTextToAdf","deregisterJiraWebhooks","disconnectJiraInstallation","prepareJiraWebhookDeregistration","JiraAccessTokenMissingError","JiraAuthorizationScopeMismatchError","JiraConnectionAlreadyLinkedError","JiraConnectionNotFoundError","JiraInstallationAlreadyLinkedError","JiraInstallationSiteMismatchError","JiraInstallStateActorMismatchError","JiraInstallStateError","JiraIntegrationProviderError","JiraOAuthCallbackError","JiraOfflineAccessNotGrantedError","JiraPendingSelectionNotFoundError","JiraSiteSelectionMismatchError","JiraTokenUnrefreshableError","handleJiraCallback","handleJiraOAuthCallbackError","handleJiraSiteSelection","createJiraPendingSelectionStore","jiraPendingSecretsNamespace","assertJiraAuthorizationScopes","formatJiraOAuthScopes","JIRA_OAUTH_SCOPES","signJiraInstallState","verifyJiraInstallState","createJiraTokenStore","jiraSecretsNamespace","JIRA_WEBHOOK_TTL_MS","JIRA_WEBHOOK_ROUTE_PREFIX","deleteJiraInstallationByConnectionId","getJiraInstallationByCloudId","getJiraInstallationByWebhookId","listJiraInstallationsDueForTokenRefresh","listJiraInstallationsDueForWebhookRenewal","markJiraInstallationRevoked","updateJiraInstallationTokenExpiry","updateJiraInstallationWebhook","updateJiraInstallationWebhookIfUnchanged","upsertJiraInstallation","withJiraRefreshLock","withJiraRefreshLockAndWait","withJiraWebhookRegistrationLock","createJiraMaintenanceWorker","createJiraIntegrationProvider","options","jira","getInstallationByConnectionId","adapters","agentTools","agent_tools","tokenStore","webhookOptions","toJiraWebhookOptions","routes","webhookProcessor","undefined","webhookRoutes","coreDb","publishIntegrationEventReceived","recordDeliveryOnly","getIntegrationConnectionById","processor","connectionCapabilities","input","connectionId","cloudId","accessToken","webhookUrl","withRegistrationLock","onRegistrationSuccess","onRegistrationFailure","then","provider","displayName","eventCatalog","connectionExternalUrl","connection","id","siteUrl","cleanup","webhookProcessors","routeIds","Error"],"mappings":"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"}
|