@cat-factory/integrations 0.147.0 → 0.148.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/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/documents/DocumentConnectionService.d.ts +41 -4
- package/dist/modules/documents/DocumentConnectionService.d.ts.map +1 -1
- package/dist/modules/documents/DocumentConnectionService.js +56 -19
- package/dist/modules/documents/DocumentConnectionService.js.map +1 -1
- package/dist/modules/documents/LinkedDocumentRefreshService.d.ts +14 -5
- package/dist/modules/documents/LinkedDocumentRefreshService.d.ts.map +1 -1
- package/dist/modules/documents/LinkedDocumentRefreshService.js +39 -22
- package/dist/modules/documents/LinkedDocumentRefreshService.js.map +1 -1
- package/dist/modules/documents/documentConnectionStore.d.ts +19 -0
- package/dist/modules/documents/documentConnectionStore.d.ts.map +1 -0
- package/dist/modules/documents/documentConnectionStore.js +17 -0
- package/dist/modules/documents/documentConnectionStore.js.map +1 -0
- package/dist/modules/github/GitHubInstallationService.d.ts +8 -1
- package/dist/modules/github/GitHubInstallationService.d.ts.map +1 -1
- package/dist/modules/github/GitHubInstallationService.js +4 -3
- package/dist/modules/github/GitHubInstallationService.js.map +1 -1
- package/dist/modules/shared/sealedConnectionStore.d.ts +100 -0
- package/dist/modules/shared/sealedConnectionStore.d.ts.map +1 -0
- package/dist/modules/shared/sealedConnectionStore.js +118 -0
- package/dist/modules/shared/sealedConnectionStore.js.map +1 -0
- package/dist/modules/tasks/BugHuntService.d.ts +2 -2
- package/dist/modules/tasks/BugHuntService.d.ts.map +1 -1
- package/dist/modules/tasks/BugHuntService.js +1 -1
- package/dist/modules/tasks/BugHuntService.js.map +1 -1
- package/dist/modules/tasks/BugIntakeService.d.ts +2 -2
- package/dist/modules/tasks/BugIntakeService.d.ts.map +1 -1
- package/dist/modules/tasks/BugIntakeService.js +1 -1
- package/dist/modules/tasks/BugIntakeService.js.map +1 -1
- package/dist/modules/tasks/TaskConnectionService.d.ts +43 -4
- package/dist/modules/tasks/TaskConnectionService.d.ts.map +1 -1
- package/dist/modules/tasks/TaskConnectionService.js +122 -22
- package/dist/modules/tasks/TaskConnectionService.js.map +1 -1
- package/dist/modules/tasks/TrackerWebhookService.d.ts +2 -2
- package/dist/modules/tasks/TrackerWebhookService.d.ts.map +1 -1
- package/dist/modules/tasks/TrackerWebhookService.js +1 -1
- package/dist/modules/tasks/TrackerWebhookService.js.map +1 -1
- package/dist/modules/tasks/taskConnectionStore.d.ts +18 -0
- package/dist/modules/tasks/taskConnectionStore.d.ts.map +1 -0
- package/dist/modules/tasks/taskConnectionStore.js +17 -0
- package/dist/modules/tasks/taskConnectionStore.js.map +1 -0
- package/dist/modules/vcs/VcsPatConnectionService.d.ts +9 -1
- package/dist/modules/vcs/VcsPatConnectionService.d.ts.map +1 -1
- package/dist/modules/vcs/VcsPatConnectionService.js +4 -3
- package/dist/modules/vcs/VcsPatConnectionService.js.map +1 -1
- package/dist/modules/writeback/IssueWritebackService.d.ts +7 -2
- package/dist/modules/writeback/IssueWritebackService.d.ts.map +1 -1
- package/dist/modules/writeback/IssueWritebackService.js +31 -11
- package/dist/modules/writeback/IssueWritebackService.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkedDocumentRefreshService.js","sourceRoot":"","sources":["../../../src/modules/documents/LinkedDocumentRefreshService.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACvF,OAAO,EAAE,mBAAmB,EAA8B,MAAM,wBAAwB,CAAA;AACxF,OAAO,IAAI,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"LinkedDocumentRefreshService.js","sourceRoot":"","sources":["../../../src/modules/documents/LinkedDocumentRefreshService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { DocumentConnectionRepository, DocumentConnectionStore, SecretCipher, SecretDelegate } from '@cat-factory/kernel';
|
|
2
|
+
export interface DocumentConnectionStoreDependencies {
|
|
3
|
+
documentConnectionRepository: DocumentConnectionRepository;
|
|
4
|
+
/** The deployment's `cat-factory:documents` cipher. */
|
|
5
|
+
secretCipher: SecretCipher;
|
|
6
|
+
/**
|
|
7
|
+
* Present ONLY on a mothership-mode node, where the row was sealed under the MOTHERSHIP's key
|
|
8
|
+
* and this process holds none. Without it a mothership-mode deployment could store a document
|
|
9
|
+
* connection and never authenticate with it, which is the shape this whole integration was
|
|
10
|
+
* parked on until the row started carrying its envelope.
|
|
11
|
+
*/
|
|
12
|
+
secretDelegate?: SecretDelegate;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* The one place a document-source credential bag is sealed or opened, over the
|
|
16
|
+
* `document_source_connection` entry of the mothership's org-secret table.
|
|
17
|
+
*/
|
|
18
|
+
export declare function createDocumentConnectionStore(deps: DocumentConnectionStoreDependencies): DocumentConnectionStore;
|
|
19
|
+
//# sourceMappingURL=documentConnectionStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentConnectionStore.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/documentConnectionStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,uBAAuB,EAEvB,YAAY,EACZ,cAAc,EACf,MAAM,qBAAqB,CAAA;AAI5B,MAAM,WAAW,mCAAmC;IAClD,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,uDAAuD;IACvD,YAAY,EAAE,YAAY,CAAA;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAA;CAChC;AAED;;;GAGG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,mCAAmC,GACxC,uBAAuB,CASzB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createOrgSecretCipher } from '@cat-factory/kernel';
|
|
2
|
+
import { createSealedConnectionStore } from '../shared/sealedConnectionStore.js';
|
|
3
|
+
/**
|
|
4
|
+
* The one place a document-source credential bag is sealed or opened, over the
|
|
5
|
+
* `document_source_connection` entry of the mothership's org-secret table.
|
|
6
|
+
*/
|
|
7
|
+
export function createDocumentConnectionStore(deps) {
|
|
8
|
+
return createSealedConnectionStore({
|
|
9
|
+
repository: deps.documentConnectionRepository,
|
|
10
|
+
orgSecrets: createOrgSecretCipher({
|
|
11
|
+
cipher: deps.secretCipher,
|
|
12
|
+
...(deps.secretDelegate ? { delegate: deps.secretDelegate } : {}),
|
|
13
|
+
}),
|
|
14
|
+
secretSource: 'document_source_connection',
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=documentConnectionStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentConnectionStore.js","sourceRoot":"","sources":["../../../src/modules/documents/documentConnectionStore.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAC3D,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAA;AAehF;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAyC;IAEzC,OAAO,2BAA2B,CAAqB;QACrD,UAAU,EAAE,IAAI,CAAC,4BAA4B;QAC7C,UAAU,EAAE,qBAAqB,CAAC;YAChC,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClE,CAAC;QACF,YAAY,EAAE,4BAA4B;KAC3C,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Clock } from '@cat-factory/kernel';
|
|
2
2
|
import type { GitHubClient } from '@cat-factory/kernel';
|
|
3
3
|
import type { GitHubInstallation, GitHubInstallationRepository } from '@cat-factory/kernel';
|
|
4
|
-
import type { GitHubConnection, GitHubInstallationOption } from '@cat-factory/kernel';
|
|
4
|
+
import type { GitHubConnection, GitHubInstallationOption, VcsWebUrls } from '@cat-factory/kernel';
|
|
5
5
|
import type { WorkspaceRepository } from '@cat-factory/kernel';
|
|
6
6
|
export interface GitHubInstallationServiceDependencies {
|
|
7
7
|
githubClient: GitHubClient;
|
|
@@ -20,6 +20,13 @@ export interface GitHubInstallationServiceDependencies {
|
|
|
20
20
|
* `.github/workflows/*` would be rejected. Absent (or throwing) → false.
|
|
21
21
|
*/
|
|
22
22
|
workflowsGranted?: (installation: GitHubInstallation) => Promise<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* The browser-facing host of each provider's configured instance, so a connection states where
|
|
25
|
+
* its repositories can be opened. Keyed by provider because this service reads back rows every
|
|
26
|
+
* connect path wrote, local mode's GitLab-provider one included. Absent (or absent for the
|
|
27
|
+
* row's provider) ⇒ the connection reports a null host and its readers withhold the link.
|
|
28
|
+
*/
|
|
29
|
+
webUrls?: VcsWebUrls;
|
|
23
30
|
}
|
|
24
31
|
export declare class GitHubInstallationService {
|
|
25
32
|
private readonly deps;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubInstallationService.d.ts","sourceRoot":"","sources":["../../../src/modules/github/GitHubInstallationService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"GitHubInstallationService.d.ts","sourceRoot":"","sources":["../../../src/modules/github/GitHubInstallationService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAA;AAC3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGjG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAU9D,MAAM,WAAW,qCAAqC;IACpD,YAAY,EAAE,YAAY,CAAA;IAC1B,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,KAAK,EAAE,KAAK,CAAA;IACZ;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,OAAO,CAAA;IAC9D;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,kBAAkB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IACzE;;;;;OAKG;IACH,OAAO,CAAC,EAAE,UAAU,CAAA;CACrB;AA8BD,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,qCAAqC,EAAI;IAE5E;;;OAGG;IACG,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoDpF;IAED,yFAAyF;IACzF,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;YACW,YAAY;IAS1B;;;;;;;;OAQG;IACG,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,EAAE,CAAC,CAyBzF;IAED;;;;;;;OAOG;IACG,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAK1E;IAED,oEAAoE;IAC9D,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CASzE;IAED,gFAAgF;IAC1E,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAM1E;IAED,mEAAmE;IAC7D,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOnD;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ConflictError } from '@cat-factory/kernel';
|
|
2
2
|
import { requireWorkspace } from '@cat-factory/kernel';
|
|
3
|
-
function toConnection(installation, canCreateRepos, canManageWorkflows) {
|
|
3
|
+
function toConnection(installation, canCreateRepos, canManageWorkflows, webUrls) {
|
|
4
4
|
return {
|
|
5
5
|
installationId: installation.installationId,
|
|
6
6
|
accountLogin: installation.accountLogin,
|
|
@@ -17,6 +17,7 @@ function toConnection(installation, canCreateRepos, canManageWorkflows) {
|
|
|
17
17
|
// the grant-access link until it reconnects — stale internal state re-created, not a
|
|
18
18
|
// compatibility shim.
|
|
19
19
|
method: installation.appId !== null ? 'app' : 'pat',
|
|
20
|
+
webUrl: webUrls[installation.provider] ?? null,
|
|
20
21
|
canCreateRepos,
|
|
21
22
|
canManageWorkflows,
|
|
22
23
|
};
|
|
@@ -69,7 +70,7 @@ export class GitHubInstallationService {
|
|
|
69
70
|
deletedAt: null,
|
|
70
71
|
};
|
|
71
72
|
await this.deps.githubInstallationRepository.upsert(installation);
|
|
72
|
-
return toConnection(installation, this.canCreate(installation), await this.canWorkflows(installation));
|
|
73
|
+
return toConnection(installation, this.canCreate(installation), await this.canWorkflows(installation), this.deps.webUrls ?? {});
|
|
73
74
|
}
|
|
74
75
|
/** Whether the privileged App tier can create repos for this installation (ADR 0005). */
|
|
75
76
|
canCreate(installation) {
|
|
@@ -143,7 +144,7 @@ export class GitHubInstallationService {
|
|
|
143
144
|
const installation = await this.deps.githubInstallationRepository.getByWorkspace(workspaceId);
|
|
144
145
|
if (!installation || installation.deletedAt)
|
|
145
146
|
return null;
|
|
146
|
-
return toConnection(installation, this.canCreate(installation), await this.canWorkflows(installation));
|
|
147
|
+
return toConnection(installation, this.canCreate(installation), await this.canWorkflows(installation), this.deps.webUrls ?? {});
|
|
147
148
|
}
|
|
148
149
|
/** Resolve the live installation for a workspace, or throw if not connected. */
|
|
149
150
|
async requireInstallation(workspaceId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitHubInstallationService.js","sourceRoot":"","sources":["../../../src/modules/github/GitHubInstallationService.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"GitHubInstallationService.js","sourceRoot":"","sources":["../../../src/modules/github/GitHubInstallationService.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { OrgSecretCipher, OrgSecretSourceOfArity, SealedConnectionOpenResult } from '@cat-factory/kernel';
|
|
2
|
+
import { UnavailableError } from '@cat-factory/kernel';
|
|
3
|
+
/** The stored row, generic over the integration's source vocabulary. */
|
|
4
|
+
export interface SealedConnectionRow<Kind extends string> {
|
|
5
|
+
workspaceId: string;
|
|
6
|
+
source: Kind;
|
|
7
|
+
credentialsCipher: string;
|
|
8
|
+
label: string;
|
|
9
|
+
createdAt: number;
|
|
10
|
+
deletedAt: number | null;
|
|
11
|
+
}
|
|
12
|
+
/** The same row with its bag opened. */
|
|
13
|
+
export interface OpenedConnection<Kind extends string> {
|
|
14
|
+
workspaceId: string;
|
|
15
|
+
source: Kind;
|
|
16
|
+
credentials: Record<string, string>;
|
|
17
|
+
label: string;
|
|
18
|
+
createdAt: number;
|
|
19
|
+
deletedAt: number | null;
|
|
20
|
+
}
|
|
21
|
+
/** The non-secret half, which `listSummaries` answers without opening anything. */
|
|
22
|
+
export interface ConnectionSummary<Kind extends string> {
|
|
23
|
+
workspaceId: string;
|
|
24
|
+
source: Kind;
|
|
25
|
+
label: string;
|
|
26
|
+
createdAt: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* What one named source's open produced (kernel's shared vocabulary, specialised here).
|
|
30
|
+
*
|
|
31
|
+
* `listBySources` answers PER SOURCE rather than rejecting as a batch, because the sources in one
|
|
32
|
+
* call are independent facts about independent vendors: a corrupt Linear envelope says nothing
|
|
33
|
+
* about the workspace's Jira connection, and a single rejection made every caller report the
|
|
34
|
+
* healthy ones as broken too (a block's whole reply-channel map, a run's whole document corpus).
|
|
35
|
+
* The point read {@link SealedConnectionStore.getByWorkspace} still THROWS, which is the honest
|
|
36
|
+
* disposition where the caller asked about exactly one source and there is nothing else to answer.
|
|
37
|
+
*/
|
|
38
|
+
export type OpenedConnectionResult<Kind extends string> = SealedConnectionOpenResult<Kind, OpenedConnection<Kind>>;
|
|
39
|
+
/** The persistence port both integrations expose for their sealed connection rows. */
|
|
40
|
+
export interface SealedConnectionRepository<Kind extends string> {
|
|
41
|
+
getByWorkspace(workspaceId: string, source: Kind): Promise<SealedConnectionRow<Kind> | null>;
|
|
42
|
+
listByWorkspace(workspaceId: string): Promise<SealedConnectionRow<Kind>[]>;
|
|
43
|
+
upsert(record: SealedConnectionRow<Kind>): Promise<void>;
|
|
44
|
+
softDelete(workspaceId: string, source: Kind, at: number): Promise<void>;
|
|
45
|
+
}
|
|
46
|
+
export interface SealedConnectionStore<Kind extends string> {
|
|
47
|
+
getByWorkspace(workspaceId: string, source: Kind): Promise<OpenedConnection<Kind> | null>;
|
|
48
|
+
listBySources(workspaceId: string, sources: readonly Kind[]): Promise<OpenedConnectionResult<Kind>[]>;
|
|
49
|
+
listSummaries(workspaceId: string): Promise<ConnectionSummary<Kind>[]>;
|
|
50
|
+
upsert(record: OpenedConnection<Kind>): Promise<void>;
|
|
51
|
+
softDelete(workspaceId: string, source: Kind, at: number): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
export interface SealedConnectionStoreDependencies<Kind extends string> {
|
|
54
|
+
repository: SealedConnectionRepository<Kind>;
|
|
55
|
+
/**
|
|
56
|
+
* The deployment's cipher for this integration's HKDF domain, composed with a mothership
|
|
57
|
+
* delegate where one is wired (`createOrgSecretCipher`). With no delegate this is the local
|
|
58
|
+
* key, byte-for-byte the prior behaviour.
|
|
59
|
+
*/
|
|
60
|
+
orgSecrets: OrgSecretCipher;
|
|
61
|
+
/**
|
|
62
|
+
* Which `ORG_SECRET_SOURCES` member addresses these rows on a mothership.
|
|
63
|
+
*
|
|
64
|
+
* Constrained to the ARITY-1 sources rather than the whole vocabulary, because every row this
|
|
65
|
+
* store serves is addressed `(workspaceId, source)` and this generic factory never names a
|
|
66
|
+
* member it could be checked against. That constraint is what lets {@link orgSecretRef} verify
|
|
67
|
+
* the key below at build time: the earlier `OrgSecretSource` accepted a ref carrying no key at
|
|
68
|
+
* all, which every hosted deployment tolerates (the cipher is local and the ref inert) and a
|
|
69
|
+
* mothership-mode node refuses with a 422 on every open of every connection.
|
|
70
|
+
*/
|
|
71
|
+
secretSource: OrgSecretSourceOfArity<1>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* A stored connection row exists but its sealed bag could not be opened.
|
|
75
|
+
*
|
|
76
|
+
* A `DomainError` rather than a bare `Error` so a controller answers 503 with a machine-readable
|
|
77
|
+
* reason instead of a 500: the SPA maps the reason to copy that names the two real remedies (fix
|
|
78
|
+
* the deployment's reach to its key, or re-connect the source), where a 500 names nothing. 503
|
|
79
|
+
* rather than 409 because the two causes are indistinguishable from here on purpose — the
|
|
80
|
+
* mothership collapses "no such row", "out of scope" and "nothing sealed there" into one uniform
|
|
81
|
+
* 404 — and claiming a definite state we cannot see would be the same guess this seam removes.
|
|
82
|
+
*/
|
|
83
|
+
export declare class ConnectionCredentialsUnreadableError extends UnavailableError {
|
|
84
|
+
readonly source: string;
|
|
85
|
+
constructor(source: string, options?: {
|
|
86
|
+
cause?: unknown;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Build the opening view of a sealed connection repository.
|
|
91
|
+
*
|
|
92
|
+
* A bag that cannot be opened THROWS, and that is a change from the repositories this replaces,
|
|
93
|
+
* which answered a failed decrypt with an empty bag so "the import path fails closed". An empty
|
|
94
|
+
* bag is indistinguishable from a connection saved with no credentials, so every caller had to
|
|
95
|
+
* re-derive the difference from whatever the provider said next: the refusal arrived as a vendor
|
|
96
|
+
* 401. Throwing is what lets one caller report `credentials_unreadable` and another report the
|
|
97
|
+
* source as unreachable, which are two different fixes.
|
|
98
|
+
*/
|
|
99
|
+
export declare function createSealedConnectionStore<Kind extends string>(deps: SealedConnectionStoreDependencies<Kind>): SealedConnectionStore<Kind>;
|
|
100
|
+
//# sourceMappingURL=sealedConnectionStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sealedConnectionStore.d.ts","sourceRoot":"","sources":["../../../src/modules/shared/sealedConnectionStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { UnavailableError, orgSecretRef } from '@cat-factory/kernel';
|
|
2
|
+
/**
|
|
3
|
+
* A stored connection row exists but its sealed bag could not be opened.
|
|
4
|
+
*
|
|
5
|
+
* A `DomainError` rather than a bare `Error` so a controller answers 503 with a machine-readable
|
|
6
|
+
* reason instead of a 500: the SPA maps the reason to copy that names the two real remedies (fix
|
|
7
|
+
* the deployment's reach to its key, or re-connect the source), where a 500 names nothing. 503
|
|
8
|
+
* rather than 409 because the two causes are indistinguishable from here on purpose — the
|
|
9
|
+
* mothership collapses "no such row", "out of scope" and "nothing sealed there" into one uniform
|
|
10
|
+
* 404 — and claiming a definite state we cannot see would be the same guess this seam removes.
|
|
11
|
+
*/
|
|
12
|
+
export class ConnectionCredentialsUnreadableError extends UnavailableError {
|
|
13
|
+
source;
|
|
14
|
+
constructor(source, options) {
|
|
15
|
+
super(`The stored ${source} connection credentials could not be read`, 'connection_credentials_unreadable', { source });
|
|
16
|
+
this.source = source;
|
|
17
|
+
this.name = 'ConnectionCredentialsUnreadableError';
|
|
18
|
+
if (options && 'cause' in options)
|
|
19
|
+
this.cause = options.cause;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Build the opening view of a sealed connection repository.
|
|
24
|
+
*
|
|
25
|
+
* A bag that cannot be opened THROWS, and that is a change from the repositories this replaces,
|
|
26
|
+
* which answered a failed decrypt with an empty bag so "the import path fails closed". An empty
|
|
27
|
+
* bag is indistinguishable from a connection saved with no credentials, so every caller had to
|
|
28
|
+
* re-derive the difference from whatever the provider said next: the refusal arrived as a vendor
|
|
29
|
+
* 401. Throwing is what lets one caller report `credentials_unreadable` and another report the
|
|
30
|
+
* source as unreachable, which are two different fixes.
|
|
31
|
+
*/
|
|
32
|
+
export function createSealedConnectionStore(deps) {
|
|
33
|
+
const { repository, orgSecrets, secretSource } = deps;
|
|
34
|
+
const open = async (row) => {
|
|
35
|
+
let plaintext;
|
|
36
|
+
try {
|
|
37
|
+
// The row's OWN identity, not just its workspace: these rows are keyed `(workspace, source)`
|
|
38
|
+
// and a mothership re-reads the authoritative row from the key it is handed. Built through
|
|
39
|
+
// `orgSecretRef` so the arity is the compiler's problem rather than a table in another
|
|
40
|
+
// package that this call site cannot see.
|
|
41
|
+
plaintext = await orgSecrets.decryptFor(orgSecretRef(secretSource, row.workspaceId, row.source), row.credentialsCipher);
|
|
42
|
+
}
|
|
43
|
+
catch (cause) {
|
|
44
|
+
// Re-bound rather than propagated raw: a decrypt/transport failure here routinely quotes the
|
|
45
|
+
// request URL or the value it choked on, and only the typed refusal carries the source a
|
|
46
|
+
// caller has to attribute the gap to.
|
|
47
|
+
throw new ConnectionCredentialsUnreadableError(row.source, { cause });
|
|
48
|
+
}
|
|
49
|
+
const { credentialsCipher: _sealed, ...rest } = row;
|
|
50
|
+
return { ...rest, credentials: parseCredentials(plaintext, row.source) };
|
|
51
|
+
};
|
|
52
|
+
return {
|
|
53
|
+
async getByWorkspace(workspaceId, source) {
|
|
54
|
+
const row = await repository.getByWorkspace(workspaceId, source);
|
|
55
|
+
return row ? open(row) : null;
|
|
56
|
+
},
|
|
57
|
+
async listBySources(workspaceId, sources) {
|
|
58
|
+
if (sources.length === 0)
|
|
59
|
+
return [];
|
|
60
|
+
const wanted = new Set(sources);
|
|
61
|
+
// ONE stored-row read, then an open per source the caller named — never per stored row.
|
|
62
|
+
// A workspace's shelf legitimately holds sources a given corpus says nothing about, and on
|
|
63
|
+
// a mothership-mode node each open is a round trip.
|
|
64
|
+
const rows = (await repository.listByWorkspace(workspaceId)).filter((row) => wanted.has(row.source));
|
|
65
|
+
// Settled per row, never `Promise.all`: one unopenable bag is one source's fact, and letting
|
|
66
|
+
// it reject the batch is what made a single corrupt row read to every caller as though the
|
|
67
|
+
// workspace had no working connection at all.
|
|
68
|
+
return Promise.all(rows.map(async (row) => {
|
|
69
|
+
try {
|
|
70
|
+
return { source: row.source, status: 'opened', connection: await open(row) };
|
|
71
|
+
}
|
|
72
|
+
catch (cause) {
|
|
73
|
+
return { source: row.source, status: 'unreadable', cause };
|
|
74
|
+
}
|
|
75
|
+
}));
|
|
76
|
+
},
|
|
77
|
+
async listSummaries(workspaceId) {
|
|
78
|
+
const rows = await repository.listByWorkspace(workspaceId);
|
|
79
|
+
return rows.map(({ workspaceId: ws, source, label, createdAt }) => ({
|
|
80
|
+
workspaceId: ws,
|
|
81
|
+
source,
|
|
82
|
+
label,
|
|
83
|
+
createdAt,
|
|
84
|
+
}));
|
|
85
|
+
},
|
|
86
|
+
async upsert(record) {
|
|
87
|
+
const { credentials, ...rest } = record;
|
|
88
|
+
const credentialsCipher = await orgSecrets.encryptFor({ source: secretSource, workspaceId: record.workspaceId }, JSON.stringify(credentials));
|
|
89
|
+
await repository.upsert({ ...rest, credentialsCipher });
|
|
90
|
+
},
|
|
91
|
+
softDelete(workspaceId, source, at) {
|
|
92
|
+
return repository.softDelete(workspaceId, source, at);
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* The opened plaintext as a credential bag.
|
|
98
|
+
*
|
|
99
|
+
* A bag that decrypted but does not parse is a corrupt row rather than an absent credential, so
|
|
100
|
+
* it throws for the same reason a failed decrypt does: the empty object it used to become read
|
|
101
|
+
* downstream as "connected, with nothing in it".
|
|
102
|
+
*/
|
|
103
|
+
function parseCredentials(plaintext, source) {
|
|
104
|
+
let parsed;
|
|
105
|
+
try {
|
|
106
|
+
parsed = JSON.parse(plaintext);
|
|
107
|
+
}
|
|
108
|
+
catch (cause) {
|
|
109
|
+
throw new ConnectionCredentialsUnreadableError(source, { cause });
|
|
110
|
+
}
|
|
111
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
112
|
+
throw new ConnectionCredentialsUnreadableError(source, {
|
|
113
|
+
cause: new Error('the opened value is not a credential bag'),
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
return parsed;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=sealedConnectionStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sealedConnectionStore.js","sourceRoot":"","sources":["../../../src/modules/shared/sealedConnectionStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { BlockEditAuthority } from '@cat-factory/contracts';
|
|
2
|
-
import type { BugHuntAssessor, BugHuntResult, RunBugHuntInput,
|
|
2
|
+
import type { BugHuntAssessor, BugHuntResult, RunBugHuntInput, TaskConnectionStore, TaskRepository, TaskSourceKind, TaskSourceRegistry, TrackerBoard } from '@cat-factory/kernel';
|
|
3
3
|
import type { TaskImportService } from './TaskImportService.js';
|
|
4
4
|
import type { TaskFromIssue, TaskLinkService } from './TaskLinkService.js';
|
|
5
5
|
export interface BugHuntServiceDependencies {
|
|
6
6
|
taskSourceRegistry: TaskSourceRegistry;
|
|
7
|
-
|
|
7
|
+
taskConnectionStore: TaskConnectionStore;
|
|
8
8
|
taskRepository: TaskRepository;
|
|
9
9
|
importService: TaskImportService;
|
|
10
10
|
linkService: TaskLinkService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BugHuntService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/BugHuntService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAIV,eAAe,EAEf,aAAa,EAEb,eAAe,EACf,
|
|
1
|
+
{"version":3,"file":"BugHuntService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/BugHuntService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAChE,OAAO,KAAK,EAIV,eAAe,EAEf,aAAa,EAEb,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,YAAY,EACb,MAAM,qBAAqB,CAAA;AAQ5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAkB1E,MAAM,WAAW,0BAA0B;IACzC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;IAC9B,aAAa,EAAE,iBAAiB,CAAA;IAChC,WAAW,EAAE,eAAe,CAAA;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAC1B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CACzD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,KAAK,CAAA;AAKrC,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,0BAA0B,EAAI;IAEjE;;;;OAIG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAarF;IAED;;;;;;;;OAQG;IACG,IAAI,CACR,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,cAAc,EACtB,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,aAAa,CAAC,CA0CxB;IAED;;;;;;;;;;;;OAYG;IACG,KAAK,CAAC,KAAK,EAAE;QACjB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,cAAc,CAAA;QACtB,UAAU,EAAE,MAAM,CAAA;QAClB,WAAW,EAAE,MAAM,CAAA;QACnB,MAAM,EAAE,kBAAkB,CAAA;QAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;QACxB,UAAU,EAAE,MAAM,CAAA;KACnB,GAAG,OAAO,CAAC,aAAa,CAAC,CAezB;IAED;;;;OAIG;YACW,IAAI;IAgDlB,gGAAgG;YAClF,cAAc;CAO7B"}
|
|
@@ -159,7 +159,7 @@ export class BugHuntService {
|
|
|
159
159
|
}
|
|
160
160
|
/** Resolve a source's stored credentials, or an empty bag for a credentialless one (GitHub). */
|
|
161
161
|
async credentialsFor(workspaceId, source) {
|
|
162
|
-
const connection = await this.deps.
|
|
162
|
+
const connection = await this.deps.taskConnectionStore.getByWorkspace(workspaceId, source);
|
|
163
163
|
return connection?.credentials ?? {};
|
|
164
164
|
}
|
|
165
165
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BugHuntService.js","sourceRoot":"","sources":["../../../src/modules/tasks/BugHuntService.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BugHuntService.js","sourceRoot":"","sources":["../../../src/modules/tasks/BugHuntService.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,aAAa,GACd,MAAM,qBAAqB,CAAA;AA8C5B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,CAAA;AAErC,0FAA0F;AAC1F,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAEhC,MAAM,OAAO,cAAc;IACI,IAAI;IAAjC,YAA6B,IAAgC;oBAAhC,IAAI;IAA+B,CAAC;IAEjE;;;;OAIG;IACH,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,MAAsB;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzD,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;YAC1B,sFAAsF;YACtF,uFAAuF;YACvF,yFAAyF;YACzF,oFAAoF;YACpF,MAAM,IAAI,eAAe,CAAC,QAAQ,MAAM,iDAAiD,EAAE;gBACzF,MAAM,EAAE,oBAAmD;aAC5D,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAClE,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAA;IACtD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CACR,WAAmB,EACnB,MAAsB,EACtB,KAAsB;QAEtB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzD,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;YACjC,MAAM,IAAI,eAAe,CAAC,QAAQ,MAAM,qDAAqD,CAAC,CAAA;QAChG,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAElE,2FAA2F;QAC3F,yFAAyF;QACzF,uFAAuF;QACvF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QAC7E,MAAM,kBAAkB,GAAG,SAAS;aACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC;aACrD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAE3B,MAAM,KAAK,GAAqB;YAC9B,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC;YACzC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,kBAAkB;YAChD,cAAc,EAAE,IAAI;YACpB,kBAAkB;YAClB,uFAAuF;YACvF,yFAAyF;YACzF,uFAAuF;YACvF,kDAAkD;YAClD,KAAK,EAAE,mBAAmB,GAAG,CAAC;SAC/B,CAAA;QACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,CAAA;QAC/E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAA;QACpD,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QAE1E,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;QAClF,OAAO;YACL,MAAM;YACN,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,cAAc;YACd,KAAK;YACL,UAAU,EAAE,MAAM;YAClB,OAAO,EAAE,UAAU,CAAC,MAAM;YAC1B,SAAS;SACV,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,KAAK,CAAC,KAQX;QACC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;QAC7F,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,CAAA;QACrE,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC;YAC/C,WAAW;YACX,WAAW;YACX,MAAM;YACN,UAAU;YACV,MAAM;YACN,SAAS;YACT,uFAAuF;YACvF,mFAAmF;YACnF,0EAA0E;YAC1E,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE;SACvC,CAAC,CAAA;IACJ,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,IAAI,CAChB,WAAmB,EACnB,UAA0B;QAM1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACzD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QACnE,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;QACnC,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YACvB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QACzE,CAAC;QACD,IAAI,CAAC;YACH,kFAAkF;YAClF,yFAAyF;YACzF,iEAAiE;YACjE,EAAE;YACF,wFAAwF;YACxF,kFAAkF;YAClF,yFAAyF;YACzF,iEAAiE;YACjE,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;YACzE,CAAC;YACD,uFAAuF;YACvF,mFAAmF;YACnF,mEAAmE;YACnE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;gBAChD,WAAW;gBACX,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC;aAC3C,CAAC,CAAA;YACF,OAAO;gBACL,MAAM,EAAE,iBAAiB,CAAC,UAAU,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;gBACrE,cAAc,EAAE,QAAQ;gBACxB,KAAK;aACN,CAAA;QACH,CAAC;QAAC,MAAM,CAAC;YACP,uFAAuF;YACvF,uFAAuF;YACvF,uFAAuF;YACvF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QACpE,CAAC;IACH,CAAC;IAED,gGAAgG;IACxF,KAAK,CAAC,cAAc,CAC1B,WAAmB,EACnB,MAAsB;QAEtB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;QAC1F,OAAO,UAAU,EAAE,WAAW,IAAI,EAAE,CAAA;IACtC,CAAC;CACF;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,kBAAkB,GAAmE;IACzF,IAAI,EAAE,gBAAgB;IACtB,MAAM,EAAE,cAAc;IACtB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,eAAe;CACxB,CAAA;AAED;;;;;;GAMG;AACH,SAAS,aAAa,CAAC,MAAsB,EAAE,KAAa;IAC1D,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAA+B,CAEjD,CAAA;IACb,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;AACpD,CAAC;AAED,uFAAuF;AACvF,SAAS,cAAc,CAAC,SAAuB;IAC7C,OAAO;QACL,GAAG,SAAS;QACZ,KAAK,EAAE,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE;QAC3C,WAAW,EAAE,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE;KACxD,CAAA;AACH,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import type { PipelineScheduleRepository,
|
|
1
|
+
import type { PipelineScheduleRepository, TaskConnectionStore, TaskRepository, TaskSourceKind, TaskSourceRegistry } from '@cat-factory/kernel';
|
|
2
2
|
import type { TaskImportService } from './TaskImportService.js';
|
|
3
3
|
import type { TaskLinkService } from './TaskLinkService.js';
|
|
4
4
|
export interface BugIntakeServiceDependencies {
|
|
5
5
|
pipelineScheduleRepository: PipelineScheduleRepository;
|
|
6
6
|
taskSourceRegistry: TaskSourceRegistry;
|
|
7
|
-
|
|
7
|
+
taskConnectionStore: TaskConnectionStore;
|
|
8
8
|
importService: TaskImportService;
|
|
9
9
|
linkService: TaskLinkService;
|
|
10
10
|
taskRepository: TaskRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BugIntakeService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/BugIntakeService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,0BAA0B,EAC1B,
|
|
1
|
+
{"version":3,"file":"BugIntakeService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/BugIntakeService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,0BAA0B,EAC1B,mBAAmB,EACnB,cAAc,EAEd,cAAc,EACd,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAiB3D,MAAM,WAAW,4BAA4B;IAC3C,0BAA0B,EAAE,0BAA0B,CAAA;IACtD,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,aAAa,EAAE,iBAAiB,CAAA;IAChC,WAAW,EAAE,eAAe,CAAA;IAC5B,cAAc,EAAE,cAAc,CAAA;CAC/B;AAED,oGAAoG;AACpG,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,cAAc,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;IACX,8FAA8F;IAC9F,SAAS,EAAE,MAAM,CAAA;IACjB,oFAAoF;IACpF,eAAe,EAAE,MAAM,CAAA;IACvB,2FAA2F;IAC3F,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,2FAA2F;IAC3F,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAO9F,qBAAa,gBAAgB;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,4BAA4B,EAAI;IAEnE;;;;;;OAMG;IACG,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAgGlF;CACF"}
|
|
@@ -58,7 +58,7 @@ export class BugIntakeService {
|
|
|
58
58
|
};
|
|
59
59
|
let hit;
|
|
60
60
|
try {
|
|
61
|
-
const credentials = (await this.deps.
|
|
61
|
+
const credentials = (await this.deps.taskConnectionStore.getByWorkspace(workspaceId, config.source))
|
|
62
62
|
?.credentials ?? {};
|
|
63
63
|
const hits = await provider.searchIssues(credentials, query, workspaceId);
|
|
64
64
|
hit = hits[0];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BugIntakeService.js","sourceRoot":"","sources":["../../../src/modules/tasks/BugIntakeService.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAgD3E,uFAAuF;AACvF,MAAM,YAAY,GAAG,CAAC,CAAA;AACtB,kFAAkF;AAClF,MAAM,kBAAkB,GAAG,KAAK,CAAA;AAEhC,MAAM,OAAO,gBAAgB;IACE,IAAI;IAAjC,YAA6B,IAAkC;oBAAlC,IAAI;IAAiC,CAAC;IAEnE;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAAC,WAAmB,EAAE,OAAe;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAC5F,MAAM,MAAM,GAAG,QAAQ,EAAE,WAAW,CAAA;QACpC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAA;QACrF,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAChE,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAC;YAC5B,OAAO;gBACL,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,QAAQ,MAAM,CAAC,MAAM,uDAAuD;aACtF,CAAA;QACH,CAAC;QAED,8FAA8F;QAC9F,gGAAgG;QAChG,+FAA+F;QAC/F,8FAA8F;QAC9F,mDAAmD;QACnD,EAAE;QACF,uFAAuF;QACvF,4FAA4F;QAC5F,4FAA4F;QAC5F,+FAA+F;QAC/F,0FAA0F;QAC1F,2FAA2F;QAC3F,cAAc;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;QAC1E,MAAM,kBAAkB,GAAG,MAAM;aAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC;aAC5D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QAE3B,MAAM,KAAK,GAAqB;YAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa;gBACjC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE;gBACpD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjF,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,kBAAkB;YAC5D,kBAAkB;YAClB,KAAK,EAAE,YAAY;SACpB,CAAA;QAED,IAAI,GAAiC,CAAA;QACrC,IAAI,CAAC;YACH,MAAM,WAAW,GACf,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"BugIntakeService.js","sourceRoot":"","sources":["../../../src/modules/tasks/BugIntakeService.ts"],"names":[],"mappings":"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"}
|