@cat-factory/integrations 0.24.0 → 0.25.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 +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/documents/ConfluenceProvider.d.ts +1 -1
- package/dist/modules/documents/GitHubDocsProvider.d.ts +1 -1
- package/dist/modules/documents/LinearDocumentProvider.d.ts +24 -0
- package/dist/modules/documents/LinearDocumentProvider.d.ts.map +1 -0
- package/dist/modules/documents/LinearDocumentProvider.js +38 -0
- package/dist/modules/documents/LinearDocumentProvider.js.map +1 -0
- package/dist/modules/documents/NotionProvider.d.ts +1 -1
- package/dist/modules/documents/linear-docs.logic.d.ts +35 -0
- package/dist/modules/documents/linear-docs.logic.d.ts.map +1 -0
- package/dist/modules/documents/linear-docs.logic.js +110 -0
- package/dist/modules/documents/linear-docs.logic.js.map +1 -0
- package/dist/modules/shared/linear.client.d.ts +75 -0
- package/dist/modules/shared/linear.client.d.ts.map +1 -0
- package/dist/modules/shared/linear.client.js +192 -0
- package/dist/modules/shared/linear.client.js.map +1 -0
- package/dist/modules/tasks/GitHubIssuesProvider.d.ts +1 -1
- package/dist/modules/tasks/JiraProvider.d.ts +1 -1
- package/dist/modules/tasks/LinearTaskProvider.d.ts +33 -0
- package/dist/modules/tasks/LinearTaskProvider.d.ts.map +1 -0
- package/dist/modules/tasks/LinearTaskProvider.js +99 -0
- package/dist/modules/tasks/LinearTaskProvider.js.map +1 -0
- package/dist/modules/tasks/linear.logic.d.ts +105 -0
- package/dist/modules/tasks/linear.logic.d.ts.map +1 -0
- package/dist/modules/tasks/linear.logic.js +176 -0
- package/dist/modules/tasks/linear.logic.js.map +1 -0
- package/dist/modules/tracker/TicketTrackerService.d.ts +13 -2
- package/dist/modules/tracker/TicketTrackerService.d.ts.map +1 -1
- package/dist/modules/tracker/TicketTrackerService.js +18 -0
- package/dist/modules/tracker/TicketTrackerService.js.map +1 -1
- package/dist/modules/tracker/linear.create.logic.d.ts +16 -0
- package/dist/modules/tracker/linear.create.logic.d.ts.map +1 -0
- package/dist/modules/tracker/linear.create.logic.js +34 -0
- package/dist/modules/tracker/linear.create.logic.js.map +1 -0
- package/dist/modules/tracker/linear.writeback.logic.d.ts +29 -0
- package/dist/modules/tracker/linear.writeback.logic.d.ts.map +1 -0
- package/dist/modules/tracker/linear.writeback.logic.js +47 -0
- package/dist/modules/tracker/linear.writeback.logic.js.map +1 -0
- package/dist/modules/writeback/IssueWritebackService.d.ts +24 -2
- package/dist/modules/writeback/IssueWritebackService.d.ts.map +1 -1
- package/dist/modules/writeback/IssueWritebackService.js +52 -0
- package/dist/modules/writeback/IssueWritebackService.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,10 @@ export { GITHUB_DOCS_DESCRIPTOR } from './modules/documents/github-docs.logic.js
|
|
|
21
21
|
export { ConfluenceProvider, ConfluenceApiError } from './modules/documents/ConfluenceProvider.js';
|
|
22
22
|
export { NotionProvider, NotionApiError } from './modules/documents/NotionProvider.js';
|
|
23
23
|
export { GitHubDocsProvider } from './modules/documents/GitHubDocsProvider.js';
|
|
24
|
+
export { LinearDocumentProvider } from './modules/documents/LinearDocumentProvider.js';
|
|
25
|
+
export * as linearDocsLogic from './modules/documents/linear-docs.logic.js';
|
|
26
|
+
export { LINEAR_DOCS_DESCRIPTOR } from './modules/documents/linear-docs.logic.js';
|
|
27
|
+
export { LinearGraphqlClient, LinearApiError, LINEAR_GRAPHQL_URL, linearAuthHeader, unwrapLinearData, type LinearAuth, type LinearFetchLike, } from './modules/shared/linear.client.js';
|
|
24
28
|
export { TaskConnectionService, type TaskConnectionServiceDependencies, } from './modules/tasks/TaskConnectionService.js';
|
|
25
29
|
export { TaskImportService, type TaskImportServiceDependencies, toSourceTask, } from './modules/tasks/TaskImportService.js';
|
|
26
30
|
export { TaskLinkService, type TaskLinkServiceDependencies, } from './modules/tasks/TaskLinkService.js';
|
|
@@ -28,9 +32,14 @@ export { MapTaskSourceRegistry, type TaskContextView, renderTaskContext, buildTa
|
|
|
28
32
|
export * as tasksLogic from './modules/tasks/tasks.logic.js';
|
|
29
33
|
export * as jiraLogic from './modules/tasks/jira.logic.js';
|
|
30
34
|
export { JIRA_DESCRIPTOR } from './modules/tasks/jira.logic.js';
|
|
31
|
-
export
|
|
35
|
+
export * as linearTasksLogic from './modules/tasks/linear.logic.js';
|
|
36
|
+
export { LINEAR_TASK_DESCRIPTOR } from './modules/tasks/linear.logic.js';
|
|
37
|
+
export { LinearTaskProvider } from './modules/tasks/LinearTaskProvider.js';
|
|
38
|
+
export { TicketTrackerService, type TicketTrackerServiceDependencies, type JiraConnection, type LinearConnection, type FetchLike, } from './modules/tracker/TicketTrackerService.js';
|
|
32
39
|
export * as jiraCreateLogic from './modules/tracker/jira.create.logic.js';
|
|
33
40
|
export * as jiraWritebackLogic from './modules/tracker/jira.writeback.logic.js';
|
|
41
|
+
export * as linearCreateLogic from './modules/tracker/linear.create.logic.js';
|
|
42
|
+
export * as linearWritebackLogic from './modules/tracker/linear.writeback.logic.js';
|
|
34
43
|
export { extractReferences, type ExtractedReferences } from './modules/corpus/references.logic.js';
|
|
35
44
|
export { IssueWritebackService, type IssueWritebackServiceDependencies, } from './modules/writeback/IssueWritebackService.js';
|
|
36
45
|
export { createGitHubIssueViaToken, type GitHubIssueTokenRequest, } from './modules/tracker/github.create.logic.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,KAAK,qCAAqC,GAC3C,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,KAAK,yBAAyB,EAAE,MAAM,mCAAmC,CAAA;AACjG,OAAO,EACL,iBAAiB,EACjB,KAAK,6BAA6B,GACnC,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,KAAK,0BAA0B,EAAE,MAAM,oCAAoC,CAAA;AACpG,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAA;AACxE,OAAO,EACL,uBAAuB,EACvB,KAAK,mCAAmC,EACxC,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAEtE,OAAO,EACL,yBAAyB,EACzB,KAAK,qCAAqC,GAC3C,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACL,8BAA8B,EAC9B,KAAK,0CAA0C,GAChD,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EACL,qBAAqB,EACrB,KAAK,iCAAiC,EACtC,gBAAgB,GACjB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,sBAAsB,EACtB,KAAK,kCAAkC,GACxC,MAAM,+CAA+C,CAAA;AACtD,OAAO,EACL,mBAAmB,EACnB,KAAK,+BAA+B,EACpC,KAAK,WAAW,GACjB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AACxE,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAClE,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AAGjF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -24,6 +24,12 @@ export { GITHUB_DOCS_DESCRIPTOR } from './modules/documents/github-docs.logic.js
|
|
|
24
24
|
export { ConfluenceProvider, ConfluenceApiError } from './modules/documents/ConfluenceProvider.js';
|
|
25
25
|
export { NotionProvider, NotionApiError } from './modules/documents/NotionProvider.js';
|
|
26
26
|
export { GitHubDocsProvider } from './modules/documents/GitHubDocsProvider.js';
|
|
27
|
+
export { LinearDocumentProvider } from './modules/documents/LinearDocumentProvider.js';
|
|
28
|
+
export * as linearDocsLogic from './modules/documents/linear-docs.logic.js';
|
|
29
|
+
export { LINEAR_DOCS_DESCRIPTOR } from './modules/documents/linear-docs.logic.js';
|
|
30
|
+
// The shared Linear GraphQL transport (host-pinned, OAuth-ready) every Linear
|
|
31
|
+
// consumer — the document + task sources, ticket filing and PR writeback — uses.
|
|
32
|
+
export { LinearGraphqlClient, LinearApiError, LINEAR_GRAPHQL_URL, linearAuthHeader, unwrapLinearData, } from './modules/shared/linear.client.js';
|
|
27
33
|
export { TaskConnectionService, } from './modules/tasks/TaskConnectionService.js';
|
|
28
34
|
export { TaskImportService, toSourceTask, } from './modules/tasks/TaskImportService.js';
|
|
29
35
|
export { TaskLinkService, } from './modules/tasks/TaskLinkService.js';
|
|
@@ -31,9 +37,14 @@ export { MapTaskSourceRegistry, renderTaskContext, buildTaskExcerpt, } from './m
|
|
|
31
37
|
export * as tasksLogic from './modules/tasks/tasks.logic.js';
|
|
32
38
|
export * as jiraLogic from './modules/tasks/jira.logic.js';
|
|
33
39
|
export { JIRA_DESCRIPTOR } from './modules/tasks/jira.logic.js';
|
|
40
|
+
export * as linearTasksLogic from './modules/tasks/linear.logic.js';
|
|
41
|
+
export { LINEAR_TASK_DESCRIPTOR } from './modules/tasks/linear.logic.js';
|
|
42
|
+
export { LinearTaskProvider } from './modules/tasks/LinearTaskProvider.js';
|
|
34
43
|
export { TicketTrackerService, } from './modules/tracker/TicketTrackerService.js';
|
|
35
44
|
export * as jiraCreateLogic from './modules/tracker/jira.create.logic.js';
|
|
36
45
|
export * as jiraWritebackLogic from './modules/tracker/jira.writeback.logic.js';
|
|
46
|
+
export * as linearCreateLogic from './modules/tracker/linear.create.logic.js';
|
|
47
|
+
export * as linearWritebackLogic from './modules/tracker/linear.writeback.logic.js';
|
|
37
48
|
export { extractReferences } from './modules/corpus/references.logic.js';
|
|
38
49
|
export { IssueWritebackService, } from './modules/writeback/IssueWritebackService.js';
|
|
39
50
|
export { createGitHubIssueViaToken, } from './modules/tracker/github.create.logic.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAE3D,OAAO,EACL,yBAAyB,GAE1B,MAAM,+CAA+C,CAAA;AACtD,OAAO,EAAE,aAAa,EAAkC,MAAM,mCAAmC,CAAA;AACjG,OAAO,EACL,iBAAiB,GAElB,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAmC,MAAM,oCAAoC,CAAA;AACpG,OAAO,KAAK,gBAAgB,MAAM,sCAAsC,CAAA;AACxE,OAAO,EACL,uBAAuB,GAIxB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AAEtE,OAAO,EACL,yBAAyB,GAE1B,MAAM,kDAAkD,CAAA;AACzD,OAAO,EACL,8BAA8B,GAE/B,MAAM,uDAAuD,CAAA;AAC9D,OAAO,EACL,qBAAqB,EAErB,gBAAgB,GACjB,MAAM,8CAA8C,CAAA;AACrD,OAAO,EACL,sBAAsB,GAEvB,MAAM,+CAA+C,CAAA;AACtD,OAAO,EACL,mBAAmB,GAGpB,MAAM,4CAA4C,CAAA;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,cAAc,MAAM,wCAAwC,CAAA;AACxE,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,WAAW,MAAM,qCAAqC,CAAA;AAClE,OAAO,KAAK,eAAe,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAA;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAA;AACjF,iFAAiF;AACjF,8EAA8E;AAC9E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAClG,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ export declare class ConfluenceApiError extends Error {
|
|
|
7
7
|
export declare class ConfluenceProvider implements DocumentSourceProvider {
|
|
8
8
|
readonly kind: 'confluence';
|
|
9
9
|
readonly descriptor: {
|
|
10
|
-
source: "confluence" | "github" | "notion";
|
|
10
|
+
source: "confluence" | "github" | "linear" | "notion";
|
|
11
11
|
label: string;
|
|
12
12
|
icon: string;
|
|
13
13
|
credentialFields: {
|
|
@@ -8,7 +8,7 @@ export declare class GitHubDocsProvider implements DocumentSourceProvider {
|
|
|
8
8
|
private readonly deps;
|
|
9
9
|
readonly kind: 'github';
|
|
10
10
|
readonly descriptor: {
|
|
11
|
-
source: "confluence" | "github" | "notion";
|
|
11
|
+
source: "confluence" | "github" | "linear" | "notion";
|
|
12
12
|
label: string;
|
|
13
13
|
icon: string;
|
|
14
14
|
credentialFields: {
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type DocumentContent, type DocumentCredentials, type DocumentSearchResult, type DocumentSourceProvider, type NormalizedConnection } from '@cat-factory/kernel';
|
|
2
|
+
export declare class LinearDocumentProvider implements DocumentSourceProvider {
|
|
3
|
+
readonly kind: 'linear';
|
|
4
|
+
readonly descriptor: {
|
|
5
|
+
source: "confluence" | "github" | "linear" | "notion";
|
|
6
|
+
label: string;
|
|
7
|
+
icon: string;
|
|
8
|
+
credentialFields: {
|
|
9
|
+
key: string;
|
|
10
|
+
label: string;
|
|
11
|
+
help?: string | undefined;
|
|
12
|
+
placeholder?: string | undefined;
|
|
13
|
+
secret?: boolean | undefined;
|
|
14
|
+
}[];
|
|
15
|
+
refLabel: string;
|
|
16
|
+
refPlaceholder: string;
|
|
17
|
+
searchable?: boolean | undefined;
|
|
18
|
+
};
|
|
19
|
+
normalizeConnection(input: DocumentCredentials): NormalizedConnection;
|
|
20
|
+
parseRef(input: string): string | null;
|
|
21
|
+
fetchDocument(credentials: DocumentCredentials, externalId: string): Promise<DocumentContent>;
|
|
22
|
+
search(credentials: DocumentCredentials, query: string): Promise<DocumentSearchResult[]>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=LinearDocumentProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinearDocumentProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/LinearDocumentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAA;AAsB5B,qBAAa,sBAAuB,YAAW,sBAAsB;IACnE,QAAQ,CAAC,IAAI,EAAG,QAAQ,CAAS;IACjC,QAAQ,CAAC,UAAU;;;;;;;;;;;;;;MAAyB;IAE5C,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAMpE;IAED,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAErC;IAEK,aAAa,CACjB,WAAW,EAAE,mBAAmB,EAChC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CAM1B;IAEK,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAO7F;CACF"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ValidationError, } from '@cat-factory/kernel';
|
|
2
|
+
import { LinearGraphqlClient } from '../shared/linear.client.js';
|
|
3
|
+
import { LINEAR_DOCS_DESCRIPTOR, LINEAR_DOCUMENT_QUERY, LINEAR_DOCUMENTS_SEARCH_QUERY, mapLinearDocument, mapLinearDocumentSearch, parseLinearDocRef, } from './linear-docs.logic.js';
|
|
4
|
+
// LinearDocumentProvider: the document-source provider for Linear **Docs**. It
|
|
5
|
+
// authenticates with a personal API key against Linear's single GraphQL endpoint
|
|
6
|
+
// (via the shared host-pinned, redirect-safe client) and maps a document onto the
|
|
7
|
+
// generic Markdown {@link DocumentContent} the planner consumes. All Linear-specific
|
|
8
|
+
// pure logic (ref parsing, response mapping, the GraphQL documents) lives in
|
|
9
|
+
// `linear-docs.logic` so it is unit-testable; this class is the thin transport.
|
|
10
|
+
//
|
|
11
|
+
// Runtime-neutral: it depends only on the kernel ports + the shared client (global
|
|
12
|
+
// `fetch`, present on both runtimes), so the Cloudflare and Node facades compose
|
|
13
|
+
// the SAME class (see CLAUDE.md "Keep the runtimes symmetric").
|
|
14
|
+
export class LinearDocumentProvider {
|
|
15
|
+
kind = 'linear';
|
|
16
|
+
descriptor = LINEAR_DOCS_DESCRIPTOR;
|
|
17
|
+
normalizeConnection(input) {
|
|
18
|
+
const apiKey = input.apiKey?.trim();
|
|
19
|
+
if (!apiKey) {
|
|
20
|
+
throw new ValidationError('Linear requires a personal API key');
|
|
21
|
+
}
|
|
22
|
+
return { credentials: { apiKey }, label: 'Linear workspace' };
|
|
23
|
+
}
|
|
24
|
+
parseRef(input) {
|
|
25
|
+
return parseLinearDocRef(input);
|
|
26
|
+
}
|
|
27
|
+
async fetchDocument(credentials, externalId) {
|
|
28
|
+
const client = new LinearGraphqlClient({ apiKey: credentials.apiKey });
|
|
29
|
+
const data = await client.query(LINEAR_DOCUMENT_QUERY, { id: externalId });
|
|
30
|
+
return mapLinearDocument(data);
|
|
31
|
+
}
|
|
32
|
+
async search(credentials, query) {
|
|
33
|
+
const client = new LinearGraphqlClient({ apiKey: credentials.apiKey });
|
|
34
|
+
const data = await client.query(LINEAR_DOCUMENTS_SEARCH_QUERY, { term: query });
|
|
35
|
+
return mapLinearDocumentSearch(data);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=LinearDocumentProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinearDocumentProvider.js","sourceRoot":"","sources":["../../../src/modules/documents/LinearDocumentProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,GAMhB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAChE,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,6BAA6B,EAC7B,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,wBAAwB,CAAA;AAE/B,+EAA+E;AAC/E,iFAAiF;AACjF,kFAAkF;AAClF,qFAAqF;AACrF,6EAA6E;AAC7E,gFAAgF;AAChF,EAAE;AACF,mFAAmF;AACnF,iFAAiF;AACjF,gEAAgE;AAEhE,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,QAAiB,CAAA;IACxB,UAAU,GAAG,sBAAsB,CAAA;IAE5C,mBAAmB,CAAC,KAA0B;QAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,eAAe,CAAC,oCAAoC,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAA;IAC/D,CAAC;IAED,QAAQ,CAAC,KAAa;QACpB,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,WAAgC,EAChC,UAAkB;QAElB,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAO,EAAE,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAE5B,qBAAqB,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA;QAC7C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,WAAgC,EAAE,KAAa;QAC1D,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAO,EAAE,CAAC,CAAA;QACvE,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,KAAK,CAC7B,6BAA6B,EAC7B,EAAE,IAAI,EAAE,KAAK,EAAE,CAChB,CAAA;QACD,OAAO,uBAAuB,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;CACF"}
|
|
@@ -7,7 +7,7 @@ export declare class NotionApiError extends Error {
|
|
|
7
7
|
export declare class NotionProvider implements DocumentSourceProvider {
|
|
8
8
|
readonly kind: 'notion';
|
|
9
9
|
readonly descriptor: {
|
|
10
|
-
source: "confluence" | "github" | "notion";
|
|
10
|
+
source: "confluence" | "github" | "linear" | "notion";
|
|
11
11
|
label: string;
|
|
12
12
|
icon: string;
|
|
13
13
|
credentialFields: {
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { DocumentContent, DocumentSearchResult, DocumentSourceDescriptor } from '@cat-factory/kernel';
|
|
2
|
+
/** What the connect UI renders, and which credentials the provider needs. */
|
|
3
|
+
export declare const LINEAR_DOCS_DESCRIPTOR: DocumentSourceDescriptor;
|
|
4
|
+
/** Fetch a single document's title, URL and Markdown content. */
|
|
5
|
+
export declare const LINEAR_DOCUMENT_QUERY = "query Document($id: String!) {\n document(id: $id) { id title url content }\n}";
|
|
6
|
+
/** Search documents by title (used to populate the import picker). */
|
|
7
|
+
export declare const LINEAR_DOCUMENTS_SEARCH_QUERY = "query Documents($term: String!) {\n documents(first: 20, filter: { title: { containsIgnoreCase: $term } }) {\n nodes { id title url }\n }\n}";
|
|
8
|
+
interface LinearDocumentNode {
|
|
9
|
+
id?: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
url?: string;
|
|
12
|
+
content?: string | null;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Resolve a Linear document id from raw user input: a bare id, or a
|
|
16
|
+
* `…/document/<slugId>` URL whose final path segment is the document's slug id
|
|
17
|
+
* (Linear embeds the document's slugId as the trailing segment — the value its
|
|
18
|
+
* `document(id:)` query accepts alongside the raw UUID). Returns the id, or null
|
|
19
|
+
* when nothing parses. Kept lenient (like Notion's ref parsing) — the
|
|
20
|
+
* `document(id:)` query is the final arbiter of whether the id resolves, so a
|
|
21
|
+
* bare UUID and a copied document URL both work.
|
|
22
|
+
*/
|
|
23
|
+
export declare function parseLinearDocRef(input: string): string | null;
|
|
24
|
+
/** Map a `document` GraphQL payload onto the generic {@link DocumentContent}. */
|
|
25
|
+
export declare function mapLinearDocument(data: {
|
|
26
|
+
document?: LinearDocumentNode | null;
|
|
27
|
+
}): DocumentContent;
|
|
28
|
+
/** Map a `documents` search payload onto lean {@link DocumentSearchResult} hits. */
|
|
29
|
+
export declare function mapLinearDocumentSearch(data: {
|
|
30
|
+
documents?: {
|
|
31
|
+
nodes?: LinearDocumentNode[];
|
|
32
|
+
};
|
|
33
|
+
}): DocumentSearchResult[];
|
|
34
|
+
export {};
|
|
35
|
+
//# sourceMappingURL=linear-docs.logic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear-docs.logic.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/linear-docs.logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,wBAAwB,EACzB,MAAM,qBAAqB,CAAA;AAY5B,6EAA6E;AAC7E,eAAO,MAAM,sBAAsB,EAAE,wBAkBpC,CAAA;AAID,iEAAiE;AACjE,eAAO,MAAM,qBAAqB,oFAEhC,CAAA;AAEF,sEAAsE;AACtE,eAAO,MAAM,6BAA6B,sJAIxC,CAAA;AAEF,UAAU,kBAAkB;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmB9D;AAUD,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,QAAQ,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAA;CAAE,GAAG,eAAe,CASjG;AAED,oFAAoF;AACpF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,SAAS,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAA;KAAE,CAAA;CAC7C,GAAG,oBAAoB,EAAE,CAczB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
// Linear-document pure logic, kept out of the provider so it is unit-testable
|
|
2
|
+
// without a live API: the connect-form descriptor, parsing a document id out of
|
|
3
|
+
// user input, and mapping the GraphQL responses onto the generic shapes. Linear
|
|
4
|
+
// document `content` is already Markdown, so the only normalization is collapsing
|
|
5
|
+
// runaway blank lines — no block→Markdown conversion (unlike Notion/Confluence).
|
|
6
|
+
//
|
|
7
|
+
// Scope: the document source covers Linear **Docs** only (project + standalone
|
|
8
|
+
// documents). Issue descriptions are surfaced through the Linear **task** source
|
|
9
|
+
// instead, so the same content is never double-imported.
|
|
10
|
+
/** What the connect UI renders, and which credentials the provider needs. */
|
|
11
|
+
export const LINEAR_DOCS_DESCRIPTOR = {
|
|
12
|
+
source: 'linear',
|
|
13
|
+
label: 'Linear',
|
|
14
|
+
// Same Linear glyph the task source + tracker UI use, so the brand is consistent
|
|
15
|
+
// wherever Linear surfaces (the document picker, the task picker, the tracker).
|
|
16
|
+
icon: 'i-lucide-square-kanban',
|
|
17
|
+
credentialFields: [
|
|
18
|
+
{
|
|
19
|
+
key: 'apiKey',
|
|
20
|
+
label: 'Personal API key',
|
|
21
|
+
secret: true,
|
|
22
|
+
placeholder: 'lin_api_…',
|
|
23
|
+
help: 'Create one at linear.app → Settings → Security & access → Personal API keys',
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
refLabel: 'Document URL or ID',
|
|
27
|
+
refPlaceholder: 'https://linear.app/acme/document/… or a document id',
|
|
28
|
+
searchable: true,
|
|
29
|
+
};
|
|
30
|
+
// ---- GraphQL operations (the provider is a thin transport around these) -----
|
|
31
|
+
/** Fetch a single document's title, URL and Markdown content. */
|
|
32
|
+
export const LINEAR_DOCUMENT_QUERY = `query Document($id: String!) {
|
|
33
|
+
document(id: $id) { id title url content }
|
|
34
|
+
}`;
|
|
35
|
+
/** Search documents by title (used to populate the import picker). */
|
|
36
|
+
export const LINEAR_DOCUMENTS_SEARCH_QUERY = `query Documents($term: String!) {
|
|
37
|
+
documents(first: 20, filter: { title: { containsIgnoreCase: $term } }) {
|
|
38
|
+
nodes { id title url }
|
|
39
|
+
}
|
|
40
|
+
}`;
|
|
41
|
+
/**
|
|
42
|
+
* Resolve a Linear document id from raw user input: a bare id, or a
|
|
43
|
+
* `…/document/<slugId>` URL whose final path segment is the document's slug id
|
|
44
|
+
* (Linear embeds the document's slugId as the trailing segment — the value its
|
|
45
|
+
* `document(id:)` query accepts alongside the raw UUID). Returns the id, or null
|
|
46
|
+
* when nothing parses. Kept lenient (like Notion's ref parsing) — the
|
|
47
|
+
* `document(id:)` query is the final arbiter of whether the id resolves, so a
|
|
48
|
+
* bare UUID and a copied document URL both work.
|
|
49
|
+
*/
|
|
50
|
+
export function parseLinearDocRef(input) {
|
|
51
|
+
const trimmed = input.trim();
|
|
52
|
+
if (!trimmed)
|
|
53
|
+
return null;
|
|
54
|
+
const url = (() => {
|
|
55
|
+
try {
|
|
56
|
+
return new URL(trimmed);
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
})();
|
|
62
|
+
if (!url) {
|
|
63
|
+
// A bare id: anything without whitespace or a path separator.
|
|
64
|
+
return /^[^\s/]+$/.test(trimmed) ? trimmed : null;
|
|
65
|
+
}
|
|
66
|
+
if (url.hostname.toLowerCase() !== 'linear.app')
|
|
67
|
+
return null;
|
|
68
|
+
const segments = url.pathname.split('/').filter(Boolean);
|
|
69
|
+
const docIdx = segments.indexOf('document');
|
|
70
|
+
if (docIdx === -1 || docIdx + 1 >= segments.length)
|
|
71
|
+
return null;
|
|
72
|
+
return segments[docIdx + 1] || null;
|
|
73
|
+
}
|
|
74
|
+
/** Collapse runaway blank lines in already-Markdown content. */
|
|
75
|
+
function normalizeMarkdown(content) {
|
|
76
|
+
return content
|
|
77
|
+
.replace(/\r\n/g, '\n')
|
|
78
|
+
.replace(/\n{3,}/g, '\n\n')
|
|
79
|
+
.trim();
|
|
80
|
+
}
|
|
81
|
+
/** Map a `document` GraphQL payload onto the generic {@link DocumentContent}. */
|
|
82
|
+
export function mapLinearDocument(data) {
|
|
83
|
+
const doc = data.document;
|
|
84
|
+
if (!doc?.id)
|
|
85
|
+
throw new Error('Linear returned no document for the requested id');
|
|
86
|
+
return {
|
|
87
|
+
externalId: doc.id,
|
|
88
|
+
title: doc.title?.trim() || '(untitled)',
|
|
89
|
+
url: doc.url ?? `https://linear.app/document/${doc.id}`,
|
|
90
|
+
body: normalizeMarkdown(doc.content ?? ''),
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/** Map a `documents` search payload onto lean {@link DocumentSearchResult} hits. */
|
|
94
|
+
export function mapLinearDocumentSearch(data) {
|
|
95
|
+
const nodes = data.documents?.nodes ?? [];
|
|
96
|
+
const out = [];
|
|
97
|
+
for (const node of nodes) {
|
|
98
|
+
if (!node.id)
|
|
99
|
+
continue;
|
|
100
|
+
out.push({
|
|
101
|
+
source: 'linear',
|
|
102
|
+
externalId: node.id,
|
|
103
|
+
title: node.title?.trim() || '(untitled)',
|
|
104
|
+
url: node.url ?? `https://linear.app/document/${node.id}`,
|
|
105
|
+
excerpt: '',
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
return out;
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=linear-docs.logic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear-docs.logic.js","sourceRoot":"","sources":["../../../src/modules/documents/linear-docs.logic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export declare const LINEAR_GRAPHQL_URL = "https://api.linear.app/graphql";
|
|
2
|
+
/**
|
|
3
|
+
* How a Linear request authenticates. A personal API key is sent as the raw
|
|
4
|
+
* `authorization` header value (Linear's documented scheme for personal keys); a
|
|
5
|
+
* future OAuth access token is sent as a `Bearer` token. Modelled as a union so
|
|
6
|
+
* adding OAuth is a new variant, not a caller change.
|
|
7
|
+
*/
|
|
8
|
+
export type LinearAuth = {
|
|
9
|
+
apiKey: string;
|
|
10
|
+
} | {
|
|
11
|
+
token: string;
|
|
12
|
+
};
|
|
13
|
+
/** Build the `authorization` header for a Linear request (API key raw, OAuth `Bearer`). */
|
|
14
|
+
export declare function linearAuthHeader(auth: LinearAuth): string;
|
|
15
|
+
/** Carries the HTTP status so callers can surface a meaningful error. */
|
|
16
|
+
export declare class LinearApiError extends Error {
|
|
17
|
+
readonly status: number;
|
|
18
|
+
constructor(status: number, message: string);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The minimal slice of the Fetch API the GraphQL POST needs (no DOM lib). Matches
|
|
22
|
+
* the `FetchLike` the tracker/writeback services inject, so a fake `fetch` drives
|
|
23
|
+
* both. `body` is always set (GraphQL is POST-only), so it is required here.
|
|
24
|
+
*/
|
|
25
|
+
export type LinearFetchLike = (url: string, init: {
|
|
26
|
+
method: string;
|
|
27
|
+
headers: Record<string, string>;
|
|
28
|
+
body: string;
|
|
29
|
+
}) => Promise<{
|
|
30
|
+
ok: boolean;
|
|
31
|
+
status: number;
|
|
32
|
+
text(): Promise<string>;
|
|
33
|
+
json(): Promise<unknown>;
|
|
34
|
+
}>;
|
|
35
|
+
/**
|
|
36
|
+
* Validate a parsed GraphQL envelope and return its `data`. Pure (no I/O) so both
|
|
37
|
+
* the safe global-fetch client below and the FetchLike-driven tracker/writeback
|
|
38
|
+
* services share one error policy. Throws {@link LinearApiError} on a non-OK
|
|
39
|
+
* status, a top-level `errors[]`, or a missing `data`.
|
|
40
|
+
*/
|
|
41
|
+
export declare function unwrapLinearData<T>(status: number, ok: boolean, parsed: unknown): T;
|
|
42
|
+
/** The header set every Linear GraphQL POST sends (API key raw, OAuth `Bearer`). */
|
|
43
|
+
export declare function linearRequestHeaders(auth: LinearAuth): Record<string, string>;
|
|
44
|
+
/**
|
|
45
|
+
* Run a Linear GraphQL operation through a caller-injected `fetch` (the write path:
|
|
46
|
+
* ticket filing + PR writeback), returning the validated `data`. This is the single
|
|
47
|
+
* place those services build the request + apply the {@link unwrapLinearData} error
|
|
48
|
+
* policy, so the header set and error handling can't drift between call sites. The
|
|
49
|
+
* read/import path uses {@link LinearGraphqlClient} instead (it additionally pins
|
|
50
|
+
* the host + caps the body on the real `fetch`). `fetchImpl` is injected so the
|
|
51
|
+
* services stay unit-testable with a fake transport (mirrors the Jira pattern).
|
|
52
|
+
*/
|
|
53
|
+
export declare function postLinearGraphql<T>(fetchImpl: (url: string, init: {
|
|
54
|
+
method: string;
|
|
55
|
+
headers: Record<string, string>;
|
|
56
|
+
body?: string;
|
|
57
|
+
}) => Promise<{
|
|
58
|
+
ok: boolean;
|
|
59
|
+
status: number;
|
|
60
|
+
json(): Promise<unknown>;
|
|
61
|
+
}>, auth: LinearAuth, document: string, variables: Record<string, unknown>): Promise<T>;
|
|
62
|
+
/**
|
|
63
|
+
* A thin, safe Linear GraphQL client used by the document + task providers (the
|
|
64
|
+
* read/import path). It runs the host-pinned redirect guard + capped read on the
|
|
65
|
+
* real `fetch`. The ticket-filing / writeback services do NOT use this class: they
|
|
66
|
+
* post through their own injected `FetchLike` (for testability, matching the Jira
|
|
67
|
+
* pattern) and share only the pure `unwrapLinearData` / `linearAuthHeader` helpers.
|
|
68
|
+
*/
|
|
69
|
+
export declare class LinearGraphqlClient {
|
|
70
|
+
private readonly auth;
|
|
71
|
+
constructor(auth: LinearAuth);
|
|
72
|
+
/** Run a GraphQL document and return its validated `data`. */
|
|
73
|
+
query<T>(document: string, variables?: Record<string, unknown>): Promise<T>;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=linear.client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"linear.client.d.ts","sourceRoot":"","sources":["../../../src/modules/shared/linear.client.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,kBAAkB,mCAAmC,CAAA;AAQlE;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/D,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAEzD;AAED,yEAAyE;AACzE,qBAAa,cAAe,SAAQ,KAAK;IAErC,QAAQ,CAAC,MAAM,EAAE,MAAM;IADzB,YACW,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EAIhB;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,KACpE,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,CAAA;AAQhG;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,CAcnF;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO7E;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CAAC,CAAC,EACvC,SAAS,EAAE,CACT,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KACrE,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC,EACvE,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,CAAC,CAAC,CAOZ;AA0ED;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,UAAU,EAAI;IAEjD,8DAA8D;IACxD,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAoBpF;CACF"}
|