@cat-factory/integrations 0.25.1 → 0.26.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 +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/modules/documents/ClaudeDesignProvider.d.ts +32 -0
- package/dist/modules/documents/ClaudeDesignProvider.d.ts.map +1 -0
- package/dist/modules/documents/ClaudeDesignProvider.js +163 -0
- package/dist/modules/documents/ClaudeDesignProvider.js.map +1 -0
- package/dist/modules/documents/ConfluenceProvider.d.ts +2 -1
- package/dist/modules/documents/ConfluenceProvider.d.ts.map +1 -1
- package/dist/modules/documents/DocumentConnectionService.d.ts +28 -11
- package/dist/modules/documents/DocumentConnectionService.d.ts.map +1 -1
- package/dist/modules/documents/DocumentConnectionService.js +71 -12
- package/dist/modules/documents/DocumentConnectionService.js.map +1 -1
- package/dist/modules/documents/DocumentImportService.d.ts +9 -3
- package/dist/modules/documents/DocumentImportService.d.ts.map +1 -1
- package/dist/modules/documents/DocumentImportService.js +11 -5
- package/dist/modules/documents/DocumentImportService.js.map +1 -1
- package/dist/modules/documents/FigmaProvider.d.ts +42 -0
- package/dist/modules/documents/FigmaProvider.d.ts.map +1 -0
- package/dist/modules/documents/FigmaProvider.js +176 -0
- package/dist/modules/documents/FigmaProvider.js.map +1 -0
- package/dist/modules/documents/GitHubDocsProvider.d.ts +2 -1
- package/dist/modules/documents/GitHubDocsProvider.d.ts.map +1 -1
- package/dist/modules/documents/LinearDocumentProvider.d.ts +2 -1
- package/dist/modules/documents/LinearDocumentProvider.d.ts.map +1 -1
- package/dist/modules/documents/NotionProvider.d.ts +2 -1
- package/dist/modules/documents/NotionProvider.d.ts.map +1 -1
- package/dist/modules/documents/claudeDesign.logic.d.ts +88 -0
- package/dist/modules/documents/claudeDesign.logic.d.ts.map +1 -0
- package/dist/modules/documents/claudeDesign.logic.js +317 -0
- package/dist/modules/documents/claudeDesign.logic.js.map +1 -0
- package/dist/modules/documents/figma.logic.d.ts +98 -0
- package/dist/modules/documents/figma.logic.d.ts.map +1 -0
- package/dist/modules/documents/figma.logic.js +249 -0
- package/dist/modules/documents/figma.logic.js.map +1 -0
- package/dist/modules/documents/http.d.ts +35 -0
- package/dist/modules/documents/http.d.ts.map +1 -0
- package/dist/modules/documents/http.js +120 -0
- package/dist/modules/documents/http.js.map +1 -0
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -15,12 +15,19 @@ export * as documentsLogic from './modules/documents/documents.logic.js';
|
|
|
15
15
|
export * as confluenceLogic from './modules/documents/confluence.logic.js';
|
|
16
16
|
export * as notionLogic from './modules/documents/notion.logic.js';
|
|
17
17
|
export * as githubDocsLogic from './modules/documents/github-docs.logic.js';
|
|
18
|
+
export * as figmaLogic from './modules/documents/figma.logic.js';
|
|
19
|
+
export * as claudeDesignLogic from './modules/documents/claudeDesign.logic.js';
|
|
18
20
|
export { CONFLUENCE_DESCRIPTOR } from './modules/documents/confluence.logic.js';
|
|
19
21
|
export { NOTION_DESCRIPTOR } from './modules/documents/notion.logic.js';
|
|
20
22
|
export { GITHUB_DOCS_DESCRIPTOR } from './modules/documents/github-docs.logic.js';
|
|
23
|
+
export { FIGMA_DESCRIPTOR } from './modules/documents/figma.logic.js';
|
|
24
|
+
export { CLAUDE_DESIGN_DESCRIPTOR } from './modules/documents/claudeDesign.logic.js';
|
|
25
|
+
export { DocumentHttpError, assertHostPinned, createHostPinnedFetch, readCappedText as readCappedDocumentText, } from './modules/documents/http.js';
|
|
21
26
|
export { ConfluenceProvider, ConfluenceApiError } from './modules/documents/ConfluenceProvider.js';
|
|
22
27
|
export { NotionProvider, NotionApiError } from './modules/documents/NotionProvider.js';
|
|
23
28
|
export { GitHubDocsProvider } from './modules/documents/GitHubDocsProvider.js';
|
|
29
|
+
export { FigmaProvider, FigmaApiError } from './modules/documents/FigmaProvider.js';
|
|
30
|
+
export { ClaudeDesignProvider } from './modules/documents/ClaudeDesignProvider.js';
|
|
24
31
|
export { LinearDocumentProvider } from './modules/documents/LinearDocumentProvider.js';
|
|
25
32
|
export * as linearDocsLogic from './modules/documents/linear-docs.logic.js';
|
|
26
33
|
export { LINEAR_DOCS_DESCRIPTOR } from './modules/documents/linear-docs.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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -16,14 +16,22 @@ export * as documentsLogic from './modules/documents/documents.logic.js';
|
|
|
16
16
|
export * as confluenceLogic from './modules/documents/confluence.logic.js';
|
|
17
17
|
export * as notionLogic from './modules/documents/notion.logic.js';
|
|
18
18
|
export * as githubDocsLogic from './modules/documents/github-docs.logic.js';
|
|
19
|
+
export * as figmaLogic from './modules/documents/figma.logic.js';
|
|
20
|
+
export * as claudeDesignLogic from './modules/documents/claudeDesign.logic.js';
|
|
19
21
|
export { CONFLUENCE_DESCRIPTOR } from './modules/documents/confluence.logic.js';
|
|
20
22
|
export { NOTION_DESCRIPTOR } from './modules/documents/notion.logic.js';
|
|
21
23
|
export { GITHUB_DOCS_DESCRIPTOR } from './modules/documents/github-docs.logic.js';
|
|
24
|
+
export { FIGMA_DESCRIPTOR } from './modules/documents/figma.logic.js';
|
|
25
|
+
export { CLAUDE_DESIGN_DESCRIPTOR } from './modules/documents/claudeDesign.logic.js';
|
|
26
|
+
// Shared host-pinned HTTP helpers reused by the fixed-host document providers.
|
|
27
|
+
export { DocumentHttpError, assertHostPinned, createHostPinnedFetch, readCappedText as readCappedDocumentText, } from './modules/documents/http.js';
|
|
22
28
|
// Document-source provider classes (thin `fetch` shells around the logic above).
|
|
23
29
|
// Promoted from the Worker infra so every facade composes the same providers.
|
|
24
30
|
export { ConfluenceProvider, ConfluenceApiError } from './modules/documents/ConfluenceProvider.js';
|
|
25
31
|
export { NotionProvider, NotionApiError } from './modules/documents/NotionProvider.js';
|
|
26
32
|
export { GitHubDocsProvider } from './modules/documents/GitHubDocsProvider.js';
|
|
33
|
+
export { FigmaProvider, FigmaApiError } from './modules/documents/FigmaProvider.js';
|
|
34
|
+
export { ClaudeDesignProvider } from './modules/documents/ClaudeDesignProvider.js';
|
|
27
35
|
export { LinearDocumentProvider } from './modules/documents/LinearDocumentProvider.js';
|
|
28
36
|
export * as linearDocsLogic from './modules/documents/linear-docs.logic.js';
|
|
29
37
|
export { LINEAR_DOCS_DESCRIPTOR } from './modules/documents/linear-docs.logic.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type DocumentContent, type DocumentCredentials, type DocumentSourceProvider, type NormalizedConnection } from '@cat-factory/kernel';
|
|
2
|
+
export declare class ClaudeDesignProvider implements DocumentSourceProvider {
|
|
3
|
+
readonly kind: 'claude-design';
|
|
4
|
+
readonly descriptor: {
|
|
5
|
+
source: "claude-design" | "confluence" | "figma" | "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
|
+
credentialScope?: "user" | "workspace" | undefined;
|
|
19
|
+
};
|
|
20
|
+
normalizeConnection(input: DocumentCredentials): NormalizedConnection;
|
|
21
|
+
parseRef(input: string): string | null;
|
|
22
|
+
fetchDocument(credentials: DocumentCredentials, externalId: string): Promise<DocumentContent>;
|
|
23
|
+
/** List a project's files, then fetch the manifest + a bounded slice of HTML previews. */
|
|
24
|
+
private fetchProjectFiles;
|
|
25
|
+
/** Fetch one file's textual content (raw, or unwrapped from a `{ content }` JSON body). */
|
|
26
|
+
private fetchFile;
|
|
27
|
+
/** Name the document: the manifest's `name`, else the file path, else the project id. */
|
|
28
|
+
private deriveName;
|
|
29
|
+
private headers;
|
|
30
|
+
private get;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=ClaudeDesignProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeDesignProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/ClaudeDesignProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAA;AA8C5B,qBAAa,oBAAqB,YAAW,sBAAsB;IACjE,QAAQ,CAAC,IAAI,EAAG,eAAe,CAAS;IACxC,QAAQ,CAAC,UAAU;;;;;;;;;;;;;;;MAA2B;IAE9C,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,CAmB1B;IAED,0FAA0F;YAC5E,iBAAiB;IAoC/B,2FAA2F;YAC7E,SAAS;IA+BvB,yFAAyF;IACzF,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,OAAO;YAQD,GAAG;CAiBlB"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { ValidationError, } from '@cat-factory/kernel';
|
|
2
|
+
import { CLAUDE_DESIGN_API_HOST, CLAUDE_DESIGN_DESCRIPTOR, DS_MANIFEST_PATH, claudeDesignUrlFor, parseClaudeDesignRef, renderClaudeDesignProject, splitClaudeDesignExternalId, } from './claudeDesign.logic.js';
|
|
3
|
+
import { DocumentHttpError, createHostPinnedFetch, readCappedText } from './http.js';
|
|
4
|
+
// ClaudeDesignProvider: the document-source provider for Anthropic's Claude Design. It
|
|
5
|
+
// authenticates with a **per-user** personal access token (the credential is stored
|
|
6
|
+
// keyed by user id, not shared across the workspace — see the descriptor's
|
|
7
|
+
// `credentialScope: 'user'`), reads a design-system project's files over the REST API,
|
|
8
|
+
// and renders the component inventory + design tokens to the Markdown the planner +
|
|
9
|
+
// `.cat-context/` materialisation consume. All Claude-Design-specific *pure* logic (ref
|
|
10
|
+
// parsing, the host-pin guard, the HTML/manifest → Markdown normalizer) lives in
|
|
11
|
+
// `claudeDesign.logic.ts`; this class is the thin `fetch` shell.
|
|
12
|
+
//
|
|
13
|
+
// PROVISIONAL API SHAPE: the endpoint paths/headers below target the per-user-PAT read
|
|
14
|
+
// the product is moving toward (today the design-system read is claude.ai-login-bound).
|
|
15
|
+
// The host is pinned; re-verify the exact endpoints against the current API when the
|
|
16
|
+
// credentialed read ships — they are the intended shape, not a frozen contract. The
|
|
17
|
+
// normalizer they feed is solid and fully unit-tested regardless.
|
|
18
|
+
const API_BASE = `https://${CLAUDE_DESIGN_API_HOST}/v1`;
|
|
19
|
+
const USER_AGENT = 'cat-factory';
|
|
20
|
+
/** Hard cap on the bytes read off any response body, to protect the isolate. */
|
|
21
|
+
const MAX_RESPONSE_BYTES = 5_000_000;
|
|
22
|
+
/** Bound how many project files we pull for a whole-project import. */
|
|
23
|
+
const MAX_PROJECT_FILES = 12;
|
|
24
|
+
/**
|
|
25
|
+
* `fetch` pinned to the Claude Design host, following redirects by hand so the SSRF host
|
|
26
|
+
* guard runs against every hop (a 302 can't chase the PAT off-host). Shared transport.
|
|
27
|
+
*/
|
|
28
|
+
const safeFetch = createHostPinnedFetch({ host: CLAUDE_DESIGN_API_HOST, label: 'Claude Design' });
|
|
29
|
+
export class ClaudeDesignProvider {
|
|
30
|
+
kind = 'claude-design';
|
|
31
|
+
descriptor = CLAUDE_DESIGN_DESCRIPTOR;
|
|
32
|
+
normalizeConnection(input) {
|
|
33
|
+
const apiToken = input.apiToken?.trim();
|
|
34
|
+
if (!apiToken) {
|
|
35
|
+
throw new ValidationError('Claude Design requires a personal access token');
|
|
36
|
+
}
|
|
37
|
+
return { credentials: { apiToken }, label: 'Claude Design' };
|
|
38
|
+
}
|
|
39
|
+
parseRef(input) {
|
|
40
|
+
return parseClaudeDesignRef(input);
|
|
41
|
+
}
|
|
42
|
+
async fetchDocument(credentials, externalId) {
|
|
43
|
+
const { projectId, filePath } = splitClaudeDesignExternalId(externalId);
|
|
44
|
+
if (!projectId) {
|
|
45
|
+
throw new DocumentHttpError(400, `Claude Design ref is missing a project id: ${externalId}`);
|
|
46
|
+
}
|
|
47
|
+
const files = filePath
|
|
48
|
+
? [{ path: filePath, content: await this.fetchFile(credentials, projectId, filePath) }]
|
|
49
|
+
: await this.fetchProjectFiles(credentials, projectId);
|
|
50
|
+
const projectName = this.deriveName(projectId, filePath, files);
|
|
51
|
+
const body = renderClaudeDesignProject(projectName, files);
|
|
52
|
+
return {
|
|
53
|
+
externalId,
|
|
54
|
+
title: projectName,
|
|
55
|
+
url: claudeDesignUrlFor(externalId),
|
|
56
|
+
body,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/** List a project's files, then fetch the manifest + a bounded slice of HTML previews. */
|
|
60
|
+
async fetchProjectFiles(credentials, projectId) {
|
|
61
|
+
const listed = await this.get(credentials, `/design/projects/${encodeURIComponent(projectId)}/files`);
|
|
62
|
+
const paths = normalizePaths(listed);
|
|
63
|
+
if (paths.length === 0) {
|
|
64
|
+
throw new DocumentHttpError(404, `Claude Design project ${projectId} has no readable files`);
|
|
65
|
+
}
|
|
66
|
+
// The manifest is the authoritative index; then prefer component-preview HTML and any
|
|
67
|
+
// stylesheet (for tokens), bounded so a huge project can't stall the import.
|
|
68
|
+
const manifest = paths.filter((p) => p.endsWith(DS_MANIFEST_PATH));
|
|
69
|
+
const styles = paths.filter((p) => /\.css$/i.test(p));
|
|
70
|
+
const html = paths.filter((p) => /\.html?$/i.test(p));
|
|
71
|
+
const chosen = [...manifest, ...styles, ...html].slice(0, MAX_PROJECT_FILES);
|
|
72
|
+
const out = [];
|
|
73
|
+
for (const path of chosen) {
|
|
74
|
+
try {
|
|
75
|
+
out.push({ path, content: await this.fetchFile(credentials, projectId, path) });
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
// A single unreadable file shouldn't fail the whole import — skip it.
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
if (out.length === 0) {
|
|
82
|
+
throw new DocumentHttpError(502, `Claude Design project ${projectId} returned no file content`);
|
|
83
|
+
}
|
|
84
|
+
return out;
|
|
85
|
+
}
|
|
86
|
+
/** Fetch one file's textual content (raw, or unwrapped from a `{ content }` JSON body). */
|
|
87
|
+
async fetchFile(credentials, projectId, path) {
|
|
88
|
+
const url = `${API_BASE}/design/projects/${encodeURIComponent(projectId)}/files/${path
|
|
89
|
+
.split('/')
|
|
90
|
+
.map(encodeURIComponent)
|
|
91
|
+
.join('/')}`;
|
|
92
|
+
const res = await safeFetch(url, { method: 'GET', headers: this.headers(credentials) });
|
|
93
|
+
if (!res.ok) {
|
|
94
|
+
const text = await readCappedText(res, MAX_RESPONSE_BYTES, 'Claude Design').catch(() => '');
|
|
95
|
+
throw new DocumentHttpError(res.status, `Claude Design GET ${url} → ${res.status}: ${text.slice(0, 300)}`);
|
|
96
|
+
}
|
|
97
|
+
const text = await readCappedText(res, MAX_RESPONSE_BYTES, 'Claude Design');
|
|
98
|
+
// The files endpoint may return raw file bytes or a `{ content }` JSON envelope.
|
|
99
|
+
const contentType = res.headers.get('content-type') ?? '';
|
|
100
|
+
if (contentType.includes('application/json')) {
|
|
101
|
+
try {
|
|
102
|
+
const json = JSON.parse(text);
|
|
103
|
+
if (typeof json.content === 'string')
|
|
104
|
+
return json.content;
|
|
105
|
+
}
|
|
106
|
+
catch {
|
|
107
|
+
// Not a JSON envelope after all — fall through and use the raw text.
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return text;
|
|
111
|
+
}
|
|
112
|
+
/** Name the document: the manifest's `name`, else the file path, else the project id. */
|
|
113
|
+
deriveName(projectId, filePath, files) {
|
|
114
|
+
const manifest = files.find((f) => f.path.endsWith(DS_MANIFEST_PATH));
|
|
115
|
+
if (manifest) {
|
|
116
|
+
try {
|
|
117
|
+
const json = JSON.parse(manifest.content);
|
|
118
|
+
if (typeof json.name === 'string' && json.name.trim())
|
|
119
|
+
return json.name.trim();
|
|
120
|
+
}
|
|
121
|
+
catch {
|
|
122
|
+
// ignore — fall through
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
if (filePath)
|
|
126
|
+
return `${projectId} — ${filePath}`;
|
|
127
|
+
return projectId;
|
|
128
|
+
}
|
|
129
|
+
headers(credentials) {
|
|
130
|
+
return {
|
|
131
|
+
authorization: `Bearer ${credentials.apiToken ?? ''}`,
|
|
132
|
+
accept: 'application/json',
|
|
133
|
+
'user-agent': USER_AGENT,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
async get(credentials, path) {
|
|
137
|
+
const url = `${API_BASE}${path}`;
|
|
138
|
+
const res = await safeFetch(url, { method: 'GET', headers: this.headers(credentials) });
|
|
139
|
+
if (!res.ok) {
|
|
140
|
+
const text = await readCappedText(res, MAX_RESPONSE_BYTES, 'Claude Design').catch(() => '');
|
|
141
|
+
throw new DocumentHttpError(res.status, `Claude Design GET ${url} → ${res.status}: ${text.slice(0, 300)}`);
|
|
142
|
+
}
|
|
143
|
+
const text = await readCappedText(res, MAX_RESPONSE_BYTES, 'Claude Design');
|
|
144
|
+
try {
|
|
145
|
+
return JSON.parse(text);
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
throw new DocumentHttpError(502, `Claude Design returned an unparseable body for ${path}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
/** Flatten the file-list response into a clean string[] of paths. */
|
|
153
|
+
function normalizePaths(listed) {
|
|
154
|
+
const raw = listed.files ?? listed.paths ?? [];
|
|
155
|
+
const out = [];
|
|
156
|
+
for (const entry of raw) {
|
|
157
|
+
const path = typeof entry === 'string' ? entry : entry?.path;
|
|
158
|
+
if (typeof path === 'string' && path.trim())
|
|
159
|
+
out.push(path.trim());
|
|
160
|
+
}
|
|
161
|
+
return out;
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=ClaudeDesignProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClaudeDesignProvider.js","sourceRoot":"","sources":["../../../src/modules/documents/ClaudeDesignProvider.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" | "linear" | "notion";
|
|
10
|
+
source: "claude-design" | "confluence" | "figma" | "github" | "linear" | "notion";
|
|
11
11
|
label: string;
|
|
12
12
|
icon: string;
|
|
13
13
|
credentialFields: {
|
|
@@ -20,6 +20,7 @@ export declare class ConfluenceProvider implements DocumentSourceProvider {
|
|
|
20
20
|
refLabel: string;
|
|
21
21
|
refPlaceholder: string;
|
|
22
22
|
searchable?: boolean | undefined;
|
|
23
|
+
credentialScope?: "user" | "workspace" | undefined;
|
|
23
24
|
};
|
|
24
25
|
normalizeConnection(input: DocumentCredentials): NormalizedConnection;
|
|
25
26
|
parseRef(input: string): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfluenceProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/ConfluenceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAA;AAiB5B,yEAAyE;AACzE,qBAAa,kBAAmB,SAAQ,KAAK;IAEzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IADzB,YACW,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EAIhB;CACF;AA+ED,qBAAa,kBAAmB,YAAW,sBAAsB;IAC/D,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAS;IACrC,QAAQ,CAAC,UAAU
|
|
1
|
+
{"version":3,"file":"ConfluenceProvider.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/ConfluenceProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EAC1B,MAAM,qBAAqB,CAAA;AAiB5B,yEAAyE;AACzE,qBAAa,kBAAmB,SAAQ,KAAK;IAEzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IADzB,YACW,MAAM,EAAE,MAAM,EACvB,OAAO,EAAE,MAAM,EAIhB;CACF;AA+ED,qBAAa,kBAAmB,YAAW,sBAAsB;IAC/D,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAS;IACrC,QAAQ,CAAC,UAAU;;;;;;;;;;;;;;;MAAwB;IAE3C,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,GAAG,oBAAoB,CAepE;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,CAiD1B;IAEK,MAAM,CAAC,WAAW,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAkC7F;CACF"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { Clock } from '@cat-factory/kernel';
|
|
2
|
-
import type { DocumentConnectionRecord, DocumentConnectionRepository } from '@cat-factory/kernel';
|
|
2
|
+
import type { DocumentConnectionRecord, DocumentConnectionRepository, UserDocumentConnectionRecord, UserDocumentConnectionRepository } from '@cat-factory/kernel';
|
|
3
3
|
import type { DocumentSourceRegistry } from '@cat-factory/kernel';
|
|
4
4
|
import type { DocumentConnection, DocumentSourceDescriptor, DocumentSourceKind } from '@cat-factory/kernel';
|
|
5
5
|
import type { WorkspaceRepository } from '@cat-factory/kernel';
|
|
6
6
|
export interface DocumentConnectionServiceDependencies {
|
|
7
7
|
documentConnectionRepository: DocumentConnectionRepository;
|
|
8
|
+
/** Per-user store for personal (`credentialScope: 'user'`) sources; absent → such sources can't connect. */
|
|
9
|
+
userDocumentConnectionRepository?: UserDocumentConnectionRepository;
|
|
8
10
|
registry: DocumentSourceRegistry;
|
|
9
11
|
workspaceRepository: WorkspaceRepository;
|
|
10
12
|
clock: Clock;
|
|
@@ -16,15 +18,30 @@ export declare class DocumentConnectionService {
|
|
|
16
18
|
listSources(): DocumentSourceDescriptor[];
|
|
17
19
|
/** Resolve a provider for a source or throw if that source isn't configured. */
|
|
18
20
|
private requireProvider;
|
|
19
|
-
/**
|
|
20
|
-
|
|
21
|
-
/** The
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
21
|
+
/** Whether a source's credential is shared by the workspace or personal to a user. */
|
|
22
|
+
private scopeOf;
|
|
23
|
+
/** The per-user store, or a clear error when a personal source isn't backed by one. */
|
|
24
|
+
private requireUserRepo;
|
|
25
|
+
/**
|
|
26
|
+
* Connect (or re-connect) a source. For a workspace-scoped source the credential is
|
|
27
|
+
* shared; for a personal (`credentialScope: 'user'`) source it is stored against
|
|
28
|
+
* `ownerUserId` and never shared. `ownerUserId` is the acting user (`''` when auth is
|
|
29
|
+
* disabled, so single-user/local deployments still work) and is ignored for workspace
|
|
30
|
+
* sources.
|
|
31
|
+
*/
|
|
32
|
+
connect(workspaceId: string, source: DocumentSourceKind, credentials: Record<string, string>, ownerUserId?: string): Promise<DocumentConnection>;
|
|
33
|
+
/** The current connection for a source (scope-aware), or null if not connected. */
|
|
34
|
+
getConnection(workspaceId: string, source: DocumentSourceKind, ownerUserId?: string): Promise<DocumentConnection | null>;
|
|
35
|
+
/**
|
|
36
|
+
* Every live connection visible here: the workspace's shared connections plus the
|
|
37
|
+
* acting user's personal connections (when a user-scoped store is wired). A personal
|
|
38
|
+
* connection shows up in every workspace its owner opens — it's their credential, not
|
|
39
|
+
* the workspace's.
|
|
40
|
+
*/
|
|
41
|
+
listConnections(workspaceId: string, ownerUserId?: string): Promise<DocumentConnection[]>;
|
|
42
|
+
/** Resolve the live connection (with credentials), scope-aware, or throw if not connected. */
|
|
43
|
+
requireConnection(workspaceId: string, source: DocumentSourceKind, ownerUserId?: string): Promise<DocumentConnectionRecord | UserDocumentConnectionRecord>;
|
|
44
|
+
/** Disconnect a source (scope-aware; tombstones the binding). */
|
|
45
|
+
disconnect(workspaceId: string, source: DocumentSourceKind, ownerUserId?: string): Promise<void>;
|
|
29
46
|
}
|
|
30
47
|
//# sourceMappingURL=DocumentConnectionService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentConnectionService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentConnectionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"DocumentConnectionService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentConnectionService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EACV,wBAAwB,EACxB,4BAA4B,EAC5B,4BAA4B,EAC5B,gCAAgC,EACjC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,KAAK,EACV,kBAAkB,EAElB,wBAAwB,EACxB,kBAAkB,EACnB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAc9D,MAAM,WAAW,qCAAqC;IACpD,4BAA4B,EAAE,4BAA4B,CAAA;IAC1D,4GAA4G;IAC5G,gCAAgC,CAAC,EAAE,gCAAgC,CAAA;IACnE,QAAQ,EAAE,sBAAsB,CAAA;IAChC,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,KAAK,EAAE,KAAK,CAAA;CACb;AAYD,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,qCAAqC,EAAI;IAE5E,0EAA0E;IAC1E,WAAW,IAAI,wBAAwB,EAAE,CAExC;IAED,gFAAgF;IAChF,OAAO,CAAC,eAAe;IAMvB,sFAAsF;IACtF,OAAO,CAAC,OAAO;IAIf,uFAAuF;IACvF,OAAO,CAAC,eAAe;IAUvB;;;;;;OAMG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACnC,WAAW,SAAK,GACf,OAAO,CAAC,kBAAkB,CAAC,CAkC7B;IAED,mFAAmF;IAC7E,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,WAAW,SAAK,GACf,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAOpC;IAED;;;;;OAKG;IACG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,SAAK,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAM1F;IAED,8FAA8F;IACxF,iBAAiB,CACrB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,WAAW,SAAK,GACf,OAAO,CAAC,wBAAwB,GAAG,4BAA4B,CAAC,CAalE;IAED,iEAAiE;IAC3D,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,WAAW,SAAK,GACf,OAAO,CAAC,IAAI,CAAC,CAef;CACF"}
|
|
@@ -23,11 +23,43 @@ export class DocumentConnectionService {
|
|
|
23
23
|
throw new ValidationError(`Unknown or unconfigured document source '${source}'`);
|
|
24
24
|
return provider;
|
|
25
25
|
}
|
|
26
|
-
/**
|
|
27
|
-
|
|
26
|
+
/** Whether a source's credential is shared by the workspace or personal to a user. */
|
|
27
|
+
scopeOf(source) {
|
|
28
|
+
return this.deps.registry.get(source)?.descriptor.credentialScope ?? 'workspace';
|
|
29
|
+
}
|
|
30
|
+
/** The per-user store, or a clear error when a personal source isn't backed by one. */
|
|
31
|
+
requireUserRepo(source) {
|
|
32
|
+
const repo = this.deps.userDocumentConnectionRepository;
|
|
33
|
+
if (!repo) {
|
|
34
|
+
throw new ValidationError(`The ${source} source is personal but per-user credential storage is not configured`);
|
|
35
|
+
}
|
|
36
|
+
return repo;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Connect (or re-connect) a source. For a workspace-scoped source the credential is
|
|
40
|
+
* shared; for a personal (`credentialScope: 'user'`) source it is stored against
|
|
41
|
+
* `ownerUserId` and never shared. `ownerUserId` is the acting user (`''` when auth is
|
|
42
|
+
* disabled, so single-user/local deployments still work) and is ignored for workspace
|
|
43
|
+
* sources.
|
|
44
|
+
*/
|
|
45
|
+
async connect(workspaceId, source, credentials, ownerUserId = '') {
|
|
28
46
|
await requireWorkspace(this.deps.workspaceRepository, workspaceId);
|
|
29
47
|
const provider = this.requireProvider(source);
|
|
30
48
|
const normalized = provider.normalizeConnection(credentials);
|
|
49
|
+
if (this.scopeOf(source) === 'user') {
|
|
50
|
+
const repo = this.requireUserRepo(source);
|
|
51
|
+
const existing = await repo.getByUser(ownerUserId, source);
|
|
52
|
+
const record = {
|
|
53
|
+
userId: ownerUserId,
|
|
54
|
+
source,
|
|
55
|
+
credentials: normalized.credentials,
|
|
56
|
+
label: normalized.label,
|
|
57
|
+
createdAt: existing?.createdAt ?? this.deps.clock.now(),
|
|
58
|
+
deletedAt: null,
|
|
59
|
+
};
|
|
60
|
+
await repo.upsert(record);
|
|
61
|
+
return toConnection(record);
|
|
62
|
+
}
|
|
31
63
|
const existing = await this.deps.documentConnectionRepository.getByWorkspace(workspaceId, source);
|
|
32
64
|
const record = {
|
|
33
65
|
workspaceId,
|
|
@@ -40,26 +72,53 @@ export class DocumentConnectionService {
|
|
|
40
72
|
await this.deps.documentConnectionRepository.upsert(record);
|
|
41
73
|
return toConnection(record);
|
|
42
74
|
}
|
|
43
|
-
/** The
|
|
44
|
-
async getConnection(workspaceId, source) {
|
|
75
|
+
/** The current connection for a source (scope-aware), or null if not connected. */
|
|
76
|
+
async getConnection(workspaceId, source, ownerUserId = '') {
|
|
77
|
+
if (this.scopeOf(source) === 'user') {
|
|
78
|
+
const record = await this.requireUserRepo(source).getByUser(ownerUserId, source);
|
|
79
|
+
return record ? toConnection(record) : null;
|
|
80
|
+
}
|
|
45
81
|
const record = await this.deps.documentConnectionRepository.getByWorkspace(workspaceId, source);
|
|
46
82
|
return record ? toConnection(record) : null;
|
|
47
83
|
}
|
|
48
|
-
/**
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
84
|
+
/**
|
|
85
|
+
* Every live connection visible here: the workspace's shared connections plus the
|
|
86
|
+
* acting user's personal connections (when a user-scoped store is wired). A personal
|
|
87
|
+
* connection shows up in every workspace its owner opens — it's their credential, not
|
|
88
|
+
* the workspace's.
|
|
89
|
+
*/
|
|
90
|
+
async listConnections(workspaceId, ownerUserId = '') {
|
|
91
|
+
const workspace = await this.deps.documentConnectionRepository.listByWorkspace(workspaceId);
|
|
92
|
+
const personal = this.deps.userDocumentConnectionRepository
|
|
93
|
+
? await this.deps.userDocumentConnectionRepository.listByUser(ownerUserId)
|
|
94
|
+
: [];
|
|
95
|
+
return [...workspace, ...personal].map(toConnection);
|
|
52
96
|
}
|
|
53
|
-
/** Resolve the live connection (with credentials) or throw if not connected. */
|
|
54
|
-
async requireConnection(workspaceId, source) {
|
|
97
|
+
/** Resolve the live connection (with credentials), scope-aware, or throw if not connected. */
|
|
98
|
+
async requireConnection(workspaceId, source, ownerUserId = '') {
|
|
99
|
+
if (this.scopeOf(source) === 'user') {
|
|
100
|
+
const record = await this.requireUserRepo(source).getByUser(ownerUserId, source);
|
|
101
|
+
if (!record) {
|
|
102
|
+
throw new ConflictError(`You are not connected to ${source}`);
|
|
103
|
+
}
|
|
104
|
+
return record;
|
|
105
|
+
}
|
|
55
106
|
const record = await this.deps.documentConnectionRepository.getByWorkspace(workspaceId, source);
|
|
56
107
|
if (!record) {
|
|
57
108
|
throw new ConflictError(`Workspace '${workspaceId}' is not connected to ${source}`);
|
|
58
109
|
}
|
|
59
110
|
return record;
|
|
60
111
|
}
|
|
61
|
-
/** Disconnect a
|
|
62
|
-
async disconnect(workspaceId, source) {
|
|
112
|
+
/** Disconnect a source (scope-aware; tombstones the binding). */
|
|
113
|
+
async disconnect(workspaceId, source, ownerUserId = '') {
|
|
114
|
+
if (this.scopeOf(source) === 'user') {
|
|
115
|
+
const repo = this.requireUserRepo(source);
|
|
116
|
+
const record = await repo.getByUser(ownerUserId, source);
|
|
117
|
+
if (!record)
|
|
118
|
+
return;
|
|
119
|
+
await repo.softDelete(ownerUserId, source, this.deps.clock.now());
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
63
122
|
const record = await this.deps.documentConnectionRepository.getByWorkspace(workspaceId, source);
|
|
64
123
|
if (!record)
|
|
65
124
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentConnectionService.js","sourceRoot":"","sources":["../../../src/modules/documents/DocumentConnectionService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DocumentConnectionService.js","sourceRoot":"","sources":["../../../src/modules/documents/DocumentConnectionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,15 +17,21 @@ export declare class DocumentImportService {
|
|
|
17
17
|
private readonly deps;
|
|
18
18
|
constructor(deps: DocumentImportServiceDependencies);
|
|
19
19
|
private requireProvider;
|
|
20
|
-
/**
|
|
21
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Fetch a page (by id or URL) and upsert its projection; returns the document.
|
|
22
|
+
* `ownerUserId` resolves the credential for a personal (`credentialScope: 'user'`)
|
|
23
|
+
* source — the acting user — and is ignored for workspace sources. The cached
|
|
24
|
+
* projection is always workspace-scoped, so a personal source's imported page is
|
|
25
|
+
* shared with the workspace once fetched (only the *credential* is personal).
|
|
26
|
+
*/
|
|
27
|
+
import(workspaceId: string, source: DocumentSourceKind, ref: string, ownerUserId?: string): Promise<SourceDocument>;
|
|
22
28
|
/**
|
|
23
29
|
* Search a source's catalogue by free text, returning lean hits (not yet
|
|
24
30
|
* imported). The provider authenticates with the workspace's stored credentials
|
|
25
31
|
* and builds/parses the source-specific query. Throws if the source can't
|
|
26
32
|
* search (no provider `search`), so the controller can answer cleanly.
|
|
27
33
|
*/
|
|
28
|
-
search(workspaceId: string, source: DocumentSourceKind, query: string): Promise<DocumentSearchResult[]>;
|
|
34
|
+
search(workspaceId: string, source: DocumentSourceKind, query: string, ownerUserId?: string): Promise<DocumentSearchResult[]>;
|
|
29
35
|
/** Every document imported into the workspace, across sources, as wire shapes. */
|
|
30
36
|
listDocuments(workspaceId: string): Promise<SourceDocument[]>;
|
|
31
37
|
/** Resolve a stored document record (with body) or throw if not imported. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocumentImportService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentImportService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAGnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAS/E,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,sBAAsB,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,iBAAiB,EAAE,yBAAyB,CAAA;IAC5C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,KAAK,EAAE,KAAK,CAAA;CACb;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAUvE;AAED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,iCAAiC,EAAI;IAExE,OAAO,CAAC,eAAe;IAMvB
|
|
1
|
+
{"version":3,"file":"DocumentImportService.d.ts","sourceRoot":"","sources":["../../../src/modules/documents/DocumentImportService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAGnG,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAA;AAS/E,MAAM,WAAW,iCAAiC;IAChD,QAAQ,EAAE,sBAAsB,CAAA;IAChC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,iBAAiB,EAAE,yBAAyB,CAAA;IAC5C,mBAAmB,EAAE,mBAAmB,CAAA;IACxC,KAAK,EAAE,KAAK,CAAA;CACb;AAED,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAUvE;AAED,qBAAa,qBAAqB;IACpB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAjC,YAA6B,IAAI,EAAE,iCAAiC,EAAI;IAExE,OAAO,CAAC,eAAe;IAMvB;;;;;;OAMG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,GAAG,EAAE,MAAM,EACX,WAAW,SAAK,GACf,OAAO,CAAC,cAAc,CAAC,CA6CzB;IAED;;;;;OAKG;IACG,MAAM,CACV,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,KAAK,EAAE,MAAM,EACb,WAAW,SAAK,GACf,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAYjC;IAED,kFAAkF;IAC5E,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAGlE;IAED,6EAA6E;IACvE,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,kBAAkB,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CAMzB;CACF"}
|