@cat-factory/integrations 0.146.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.
Files changed (90) hide show
  1. package/dist/index.d.ts +6 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +7 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/modules/accountSettings/AccountSettingsService.d.ts.map +1 -1
  6. package/dist/modules/accountSettings/AccountSettingsService.js +4 -2
  7. package/dist/modules/accountSettings/AccountSettingsService.js.map +1 -1
  8. package/dist/modules/documents/ConfluenceProvider.d.ts +3 -0
  9. package/dist/modules/documents/ConfluenceProvider.d.ts.map +1 -1
  10. package/dist/modules/documents/DocumentConnectionService.d.ts +86 -5
  11. package/dist/modules/documents/DocumentConnectionService.d.ts.map +1 -1
  12. package/dist/modules/documents/DocumentConnectionService.js +103 -14
  13. package/dist/modules/documents/DocumentConnectionService.js.map +1 -1
  14. package/dist/modules/documents/DocumentLinkService.d.ts +28 -1
  15. package/dist/modules/documents/DocumentLinkService.d.ts.map +1 -1
  16. package/dist/modules/documents/DocumentLinkService.js +78 -10
  17. package/dist/modules/documents/DocumentLinkService.js.map +1 -1
  18. package/dist/modules/documents/DocumentPlannerService.d.ts +11 -2
  19. package/dist/modules/documents/DocumentPlannerService.d.ts.map +1 -1
  20. package/dist/modules/documents/DocumentPlannerService.js +95 -12
  21. package/dist/modules/documents/DocumentPlannerService.js.map +1 -1
  22. package/dist/modules/documents/DocumentSourceOAuthService.d.ts +88 -0
  23. package/dist/modules/documents/DocumentSourceOAuthService.d.ts.map +1 -0
  24. package/dist/modules/documents/DocumentSourceOAuthService.js +197 -0
  25. package/dist/modules/documents/DocumentSourceOAuthService.js.map +1 -0
  26. package/dist/modules/documents/FigmaProvider.d.ts +10 -0
  27. package/dist/modules/documents/FigmaProvider.d.ts.map +1 -1
  28. package/dist/modules/documents/FigmaProvider.js +17 -6
  29. package/dist/modules/documents/FigmaProvider.js.map +1 -1
  30. package/dist/modules/documents/GitHubDocsProvider.d.ts +3 -0
  31. package/dist/modules/documents/GitHubDocsProvider.d.ts.map +1 -1
  32. package/dist/modules/documents/LinearDocumentProvider.d.ts +3 -0
  33. package/dist/modules/documents/LinearDocumentProvider.d.ts.map +1 -1
  34. package/dist/modules/documents/LinkedDocumentRefreshService.d.ts +14 -5
  35. package/dist/modules/documents/LinkedDocumentRefreshService.d.ts.map +1 -1
  36. package/dist/modules/documents/LinkedDocumentRefreshService.js +39 -22
  37. package/dist/modules/documents/LinkedDocumentRefreshService.js.map +1 -1
  38. package/dist/modules/documents/NotionProvider.d.ts +3 -0
  39. package/dist/modules/documents/NotionProvider.d.ts.map +1 -1
  40. package/dist/modules/documents/ZeplinProvider.d.ts +3 -0
  41. package/dist/modules/documents/ZeplinProvider.d.ts.map +1 -1
  42. package/dist/modules/documents/documentConnectionStore.d.ts +19 -0
  43. package/dist/modules/documents/documentConnectionStore.d.ts.map +1 -0
  44. package/dist/modules/documents/documentConnectionStore.js +17 -0
  45. package/dist/modules/documents/documentConnectionStore.js.map +1 -0
  46. package/dist/modules/documents/documents.logic.d.ts +44 -3
  47. package/dist/modules/documents/documents.logic.d.ts.map +1 -1
  48. package/dist/modules/documents/documents.logic.js +90 -5
  49. package/dist/modules/documents/documents.logic.js.map +1 -1
  50. package/dist/modules/documents/figma.logic.d.ts +10 -2
  51. package/dist/modules/documents/figma.logic.d.ts.map +1 -1
  52. package/dist/modules/documents/figma.logic.js +30 -2
  53. package/dist/modules/documents/figma.logic.js.map +1 -1
  54. package/dist/modules/github/GitHubInstallationService.d.ts +8 -1
  55. package/dist/modules/github/GitHubInstallationService.d.ts.map +1 -1
  56. package/dist/modules/github/GitHubInstallationService.js +4 -3
  57. package/dist/modules/github/GitHubInstallationService.js.map +1 -1
  58. package/dist/modules/shared/sealedConnectionStore.d.ts +100 -0
  59. package/dist/modules/shared/sealedConnectionStore.d.ts.map +1 -0
  60. package/dist/modules/shared/sealedConnectionStore.js +118 -0
  61. package/dist/modules/shared/sealedConnectionStore.js.map +1 -0
  62. package/dist/modules/tasks/BugHuntService.d.ts +2 -2
  63. package/dist/modules/tasks/BugHuntService.d.ts.map +1 -1
  64. package/dist/modules/tasks/BugHuntService.js +1 -1
  65. package/dist/modules/tasks/BugHuntService.js.map +1 -1
  66. package/dist/modules/tasks/BugIntakeService.d.ts +2 -2
  67. package/dist/modules/tasks/BugIntakeService.d.ts.map +1 -1
  68. package/dist/modules/tasks/BugIntakeService.js +1 -1
  69. package/dist/modules/tasks/BugIntakeService.js.map +1 -1
  70. package/dist/modules/tasks/TaskConnectionService.d.ts +43 -4
  71. package/dist/modules/tasks/TaskConnectionService.d.ts.map +1 -1
  72. package/dist/modules/tasks/TaskConnectionService.js +122 -22
  73. package/dist/modules/tasks/TaskConnectionService.js.map +1 -1
  74. package/dist/modules/tasks/TrackerWebhookService.d.ts +2 -2
  75. package/dist/modules/tasks/TrackerWebhookService.d.ts.map +1 -1
  76. package/dist/modules/tasks/TrackerWebhookService.js +1 -1
  77. package/dist/modules/tasks/TrackerWebhookService.js.map +1 -1
  78. package/dist/modules/tasks/taskConnectionStore.d.ts +18 -0
  79. package/dist/modules/tasks/taskConnectionStore.d.ts.map +1 -0
  80. package/dist/modules/tasks/taskConnectionStore.js +17 -0
  81. package/dist/modules/tasks/taskConnectionStore.js.map +1 -0
  82. package/dist/modules/vcs/VcsPatConnectionService.d.ts +9 -1
  83. package/dist/modules/vcs/VcsPatConnectionService.d.ts.map +1 -1
  84. package/dist/modules/vcs/VcsPatConnectionService.js +4 -3
  85. package/dist/modules/vcs/VcsPatConnectionService.js.map +1 -1
  86. package/dist/modules/writeback/IssueWritebackService.d.ts +7 -2
  87. package/dist/modules/writeback/IssueWritebackService.d.ts.map +1 -1
  88. package/dist/modules/writeback/IssueWritebackService.js +31 -11
  89. package/dist/modules/writeback/IssueWritebackService.js.map +1 -1
  90. package/package.json +4 -4
@@ -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":"AAKA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAqGpE;;;;;;;;;GASG;AACH,MAAM,OAAO,oCAAqC,SAAQ,gBAAgB;IAE7D,MAAM;IADjB,YACW,MAAc,EACvB,OAA6B;QAE7B,KAAK,CACH,cAAc,MAAM,2CAA2C,EAC/D,mCAAmC,EACnC,EAAE,MAAM,EAAE,CACX,CAAA;sBAPQ,MAAM;QAQf,IAAI,CAAC,IAAI,GAAG,sCAAsC,CAAA;QAClD,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO;YAAE,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;IAC/D,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CACzC,IAA6C;IAE7C,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IAErD,MAAM,IAAI,GAAG,KAAK,EAAE,GAA8B,EAAmC,EAAE;QACrF,IAAI,SAAiB,CAAA;QACrB,IAAI,CAAC;YACH,6FAA6F;YAC7F,2FAA2F;YAC3F,uFAAuF;YACvF,0CAA0C;YAC1C,SAAS,GAAG,MAAM,UAAU,CAAC,UAAU,CACrC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,EACvD,GAAG,CAAC,iBAAiB,CACtB,CAAA;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6FAA6F;YAC7F,yFAAyF;YACzF,sCAAsC;YACtC,MAAM,IAAI,oCAAoC,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;QACvE,CAAC;QACD,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAA;QACnD,OAAO,EAAE,GAAG,IAAI,EAAE,WAAW,EAAE,gBAAgB,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAA;IAC1E,CAAC,CAAA;IAED,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM;YACtC,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;YAChE,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC/B,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE,OAAO;YACtC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,CAAA;YACnC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAO,OAAO,CAAC,CAAA;YACrC,wFAAwF;YACxF,2FAA2F;YAC3F,oDAAoD;YACpD,MAAM,IAAI,GAAG,CAAC,MAAM,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAC1E,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CACvB,CAAA;YACD,6FAA6F;YAC7F,2FAA2F;YAC3F,8CAA8C;YAC9C,OAAO,OAAO,CAAC,GAAG,CAChB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAyC,EAAE;gBAC5D,IAAI,CAAC;oBACH,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;gBAC9E,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,CAAA;gBAC5D,CAAC;YACH,CAAC,CAAC,CACH,CAAA;QACH,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,WAAW;YAC7B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAA;YAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;gBAClE,WAAW,EAAE,EAAE;gBACf,MAAM;gBACN,KAAK;gBACL,SAAS;aACV,CAAC,CAAC,CAAA;QACL,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,MAAM;YACjB,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;YACvC,MAAM,iBAAiB,GAAG,MAAM,UAAU,CAAC,UAAU,CACnD,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,EACzD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAC5B,CAAA;YACD,MAAM,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAA;QACzD,CAAC;QAED,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE;YAChC,OAAO,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;QACvD,CAAC;KACF,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,SAAiB,EAAE,MAAc;IACzD,IAAI,MAAe,CAAA;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oCAAoC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;IACnE,CAAC;IACD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,oCAAoC,CAAC,MAAM,EAAE;YACrD,KAAK,EAAE,IAAI,KAAK,CAAC,0CAA0C,CAAC;SAC7D,CAAC,CAAA;IACJ,CAAC;IACD,OAAO,MAAgC,CAAA;AACzC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { BlockEditAuthority } from '@cat-factory/contracts';
2
- import type { BugHuntAssessor, BugHuntResult, RunBugHuntInput, TaskConnectionRepository, TaskRepository, TaskSourceKind, TaskSourceRegistry, TrackerBoard } from '@cat-factory/kernel';
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
- taskConnectionRepository: TaskConnectionRepository;
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,wBAAwB,EACxB,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,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,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"}
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.taskConnectionRepository.getByWorkspace(workspaceId, source);
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":"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"}
@@ -1,10 +1,10 @@
1
- import type { PipelineScheduleRepository, TaskConnectionRepository, TaskRepository, TaskSourceKind, TaskSourceRegistry } from '@cat-factory/kernel';
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
- taskConnectionRepository: TaskConnectionRepository;
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,wBAAwB,EACxB,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,wBAAwB,EAAE,wBAAwB,CAAA;IAClD,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"}
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.taskConnectionRepository.getByWorkspace(workspaceId, config.source))
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":"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"}
1
+ {"version":3,"file":"BugIntakeService.js","sourceRoot":"","sources":["../../../src/modules/tasks/BugIntakeService.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import type { Clock } from '@cat-factory/kernel';
2
- import type { TaskConnectionRecord, TaskConnectionRepository } from '@cat-factory/kernel';
1
+ import type { Clock, Logger } from '@cat-factory/kernel';
2
+ import type { TaskConnectionRecord, TaskConnectionStore } from '@cat-factory/kernel';
3
3
  import type { TaskSourceSettingsRepository } from '@cat-factory/kernel';
4
4
  import type { GitHubInstallationRepository } from '@cat-factory/kernel';
5
5
  import type { TaskSourceProvider, TaskSourceRegistry } from '@cat-factory/kernel';
@@ -8,7 +8,7 @@ import type { WorkspaceRepository } from '@cat-factory/kernel';
8
8
  import type { LinearOAuthSecret } from '@cat-factory/contracts';
9
9
  import type { LinearTeam } from './linear.logic.js';
10
10
  export interface TaskConnectionServiceDependencies {
11
- taskConnectionRepository: TaskConnectionRepository;
11
+ taskConnectionStore: TaskConnectionStore;
12
12
  /** Per-workspace on/off toggle for each source (absent row ⇒ enabled). */
13
13
  taskSourceSettingsRepository: TaskSourceSettingsRepository;
14
14
  registry: TaskSourceRegistry;
@@ -30,9 +30,16 @@ export interface TaskConnectionServiceDependencies {
30
30
  * onboarding isn't offered (the manual personal-API-key path still works).
31
31
  */
32
32
  resolveLinearOAuth?: (accountKey: string) => Promise<LinearOAuthSecret | undefined>;
33
+ /**
34
+ * Where the paths that DEGRADE report: a connection whose sealed bag would not open, on the
35
+ * three surfaces that must keep answering anyway (re-connect, the setup check, the webhook
36
+ * panel). Absent ⇒ `noopLogger`, so the service stays unit-testable standalone.
37
+ */
38
+ logger?: Logger;
33
39
  }
34
40
  export declare class TaskConnectionService {
35
41
  private readonly deps;
42
+ private readonly log;
36
43
  constructor(deps: TaskConnectionServiceDependencies);
37
44
  /**
38
45
  * Every configured source with the workspace's live state for it (drives the
@@ -103,10 +110,22 @@ export declare class TaskConnectionService {
103
110
  private resolveAccountKey;
104
111
  /** Build + upsert a connection record (shared by the manual connect + OAuth paths). */
105
112
  private store;
113
+ /**
114
+ * The existing connection for a re-connect, or null when there is none to carry anything from.
115
+ *
116
+ * An unopenable bag answers null rather than throwing, and is REPORTED: the platform-owned
117
+ * webhook secret inside it cannot be carried across, so the connection lands with none and
118
+ * `getWebhookState` reports `configured: false` — the operator's own panel states the loss and
119
+ * offers the mint that repairs it. Losing it loudly is strictly better than the alternative this
120
+ * replaced, which was refusing the re-connect and leaving the row unopenable forever.
121
+ */
122
+ private openForReconnect;
106
123
  /** The workspace's current connection for a source, or null if not connected. */
107
124
  getConnection(workspaceId: string, source: TaskSourceKind): Promise<TaskConnection | null>;
108
125
  /** Every live connection the workspace holds, across sources. */
109
126
  listConnections(workspaceId: string): Promise<TaskConnection[]>;
127
+ /** The stored connection's non-secret half, opening nothing. */
128
+ private summaryFor;
110
129
  /** Resolve the live connection (with credentials) or throw if not connected. */
111
130
  requireConnection(workspaceId: string, source: TaskSourceKind): Promise<TaskConnectionRecord>;
112
131
  /**
@@ -124,7 +143,15 @@ export declare class TaskConnectionService {
124
143
  * receiver, reading the inbound secret.
125
144
  */
126
145
  getConnectionRecord(workspaceId: string, source: TaskSourceKind): Promise<TaskConnectionRecord | null>;
127
- /** The connection's inbound-webhook state, safe to read back at any time (never the secret). */
146
+ /**
147
+ * The connection's inbound-webhook state, safe to read back at any time (never the secret).
148
+ *
149
+ * DEGRADES rather than refuses when the bag will not open: this is the read-only panel an
150
+ * operator opens to find out what is wrong, so failing it replaces an answer with a 503 about
151
+ * the very thing they came to look at. The gap travels as `credentialsReadable: false`, which
152
+ * is what keeps the reported `configured: false` from reading as "no secret has been minted" —
153
+ * the state that would have them mint one over a bag still holding the live secret.
154
+ */
128
155
  getWebhookState(workspaceId: string, source: TaskSourceKind): Promise<TaskSourceWebhookState>;
129
156
  /**
130
157
  * Mint (or ROTATE) the connection's inbound-webhook secret, returning it exactly once.
@@ -153,6 +180,13 @@ export declare class TaskConnectionService {
153
180
  * Clear the inbound-webhook secret, so deliveries stop being accepted (they 503 at the receiver,
154
181
  * which is the honest answer: the operator turned this off). The connection itself is untouched
155
182
  * — polling intake and imports keep working exactly as before.
183
+ *
184
+ * This one must OPEN the bag, and rightly REFUSES when it cannot: clearing is a rewrite of the
185
+ * bag minus one key, so proceeding blind would replace the workspace's vendor credentials with
186
+ * an empty object and take polling intake and imports down with the webhook. The refusal is the
187
+ * store's typed 503 (`connection_credentials_unreadable`), which names the remedy — and the
188
+ * operator's actual goal is already met either way, since a receiver that cannot open the bag
189
+ * cannot verify a delivery against it.
156
190
  */
157
191
  clearWebhookSecret(workspaceId: string, source: TaskSourceKind): Promise<void>;
158
192
  /** Disconnect a workspace from a source (tombstones the binding). */
@@ -165,6 +199,11 @@ export interface TaskSourceWebhookState {
165
199
  configured: boolean;
166
200
  deliveryPath: string;
167
201
  replyAllow: string;
202
+ /**
203
+ * Whether the sealed bag could be opened to answer this. `false` ⇒ `configured` and `replyAllow`
204
+ * are their safe defaults rather than observed facts (see `taskSourceWebhookSchema`).
205
+ */
206
+ credentialsReadable: boolean;
168
207
  }
169
208
  /**
170
209
  * Where a tracker should POST its deliveries, relative to the deployment's public base URL.
@@ -1 +1 @@
1
- {"version":3,"file":"TaskConnectionService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/TaskConnectionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TaskConnectionService.d.ts","sourceRoot":"","sources":["../../../src/modules/tasks/TaskConnectionService.ts"],"names":[],"mappings":"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"}