@crypto512/jicon-mcp 2.2.1 → 2.3.19
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/PROMPT.md +10 -28
- package/README.md +39 -6
- package/TOOL_LIST.md +542 -407
- package/dist/config/constants.d.ts +28 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +34 -0
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +12 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +49 -6
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +18 -0
- package/dist/config/types.js.map +1 -1
- package/dist/confluence/client.d.ts.map +1 -1
- package/dist/confluence/client.js +7 -2
- package/dist/confluence/client.js.map +1 -1
- package/dist/confluence/formatters.d.ts +20 -0
- package/dist/confluence/formatters.d.ts.map +1 -1
- package/dist/confluence/formatters.js +74 -8
- package/dist/confluence/formatters.js.map +1 -1
- package/dist/confluence/tools.d.ts +16 -20
- package/dist/confluence/tools.d.ts.map +1 -1
- package/dist/confluence/tools.js +71 -68
- package/dist/confluence/tools.js.map +1 -1
- package/dist/credentials/extractor.d.ts +15 -5
- package/dist/credentials/extractor.d.ts.map +1 -1
- package/dist/credentials/extractor.js +99 -12
- package/dist/credentials/extractor.js.map +1 -1
- package/dist/credentials/index.d.ts +4 -3
- package/dist/credentials/index.d.ts.map +1 -1
- package/dist/credentials/index.js +3 -2
- package/dist/credentials/index.js.map +1 -1
- package/dist/credentials/types.d.ts +22 -0
- package/dist/credentials/types.d.ts.map +1 -1
- package/dist/credentials/types.js.map +1 -1
- package/dist/index.js +211 -176
- package/dist/index.js.map +1 -1
- package/dist/jira/activity-tools.d.ts +8 -15
- package/dist/jira/activity-tools.d.ts.map +1 -1
- package/dist/jira/activity-tools.js +131 -90
- package/dist/jira/activity-tools.js.map +1 -1
- package/dist/jira/client.d.ts +24 -0
- package/dist/jira/client.d.ts.map +1 -1
- package/dist/jira/client.js +65 -6
- package/dist/jira/client.js.map +1 -1
- package/dist/jira/formatters.d.ts +61 -0
- package/dist/jira/formatters.d.ts.map +1 -1
- package/dist/jira/formatters.js +83 -11
- package/dist/jira/formatters.js.map +1 -1
- package/dist/jira/tools.d.ts +78 -26
- package/dist/jira/tools.d.ts.map +1 -1
- package/dist/jira/tools.js +293 -130
- package/dist/jira/tools.js.map +1 -1
- package/dist/permissions/filter.d.ts.map +1 -1
- package/dist/permissions/filter.js +8 -4
- package/dist/permissions/filter.js.map +1 -1
- package/dist/permissions/tool-registry.d.ts +15 -13
- package/dist/permissions/tool-registry.d.ts.map +1 -1
- package/dist/permissions/tool-registry.js +19 -10
- package/dist/permissions/tool-registry.js.map +1 -1
- package/dist/session/context.d.ts +81 -0
- package/dist/session/context.d.ts.map +1 -0
- package/dist/session/context.js +107 -0
- package/dist/session/context.js.map +1 -0
- package/dist/session/index.d.ts +12 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +22 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/manager.d.ts +186 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +383 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/tempo/client.d.ts +14 -0
- package/dist/tempo/client.d.ts.map +1 -1
- package/dist/tempo/client.js +57 -0
- package/dist/tempo/client.js.map +1 -1
- package/dist/tempo/formatters.d.ts +13 -0
- package/dist/tempo/formatters.d.ts.map +1 -1
- package/dist/tempo/formatters.js +106 -20
- package/dist/tempo/formatters.js.map +1 -1
- package/dist/tempo/tools.d.ts +14 -13
- package/dist/tempo/tools.d.ts.map +1 -1
- package/dist/tempo/tools.js +203 -33
- package/dist/tempo/tools.js.map +1 -1
- package/dist/tempo/types.d.ts +20 -6
- package/dist/tempo/types.d.ts.map +1 -1
- package/dist/transport/http.d.ts +21 -5
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +193 -22
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/index.d.ts +7 -2
- package/dist/transport/index.d.ts.map +1 -1
- package/dist/transport/index.js +10 -4
- package/dist/transport/index.js.map +1 -1
- package/dist/utils/buffer-tools.d.ts +48 -724
- package/dist/utils/buffer-tools.d.ts.map +1 -1
- package/dist/utils/buffer-tools.js +337 -170
- package/dist/utils/buffer-tools.js.map +1 -1
- package/dist/utils/content-buffer.d.ts +10 -31
- package/dist/utils/content-buffer.d.ts.map +1 -1
- package/dist/utils/content-buffer.js +12 -86
- package/dist/utils/content-buffer.js.map +1 -1
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/http-client.js +99 -2
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/jicon-help.d.ts +3 -3
- package/dist/utils/jicon-help.d.ts.map +1 -1
- package/dist/utils/jicon-help.js +164 -312
- package/dist/utils/jicon-help.js.map +1 -1
- package/dist/utils/logger.d.ts +43 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +102 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/plantuml/tools.d.ts.map +1 -1
- package/dist/utils/plantuml/tools.js +10 -9
- package/dist/utils/plantuml/tools.js.map +1 -1
- package/dist/utils/response-formatter.d.ts +20 -2
- package/dist/utils/response-formatter.d.ts.map +1 -1
- package/dist/utils/response-formatter.js +147 -17
- package/dist/utils/response-formatter.js.map +1 -1
- package/dist/utils/sandbox/formatters.d.ts +25 -0
- package/dist/utils/sandbox/formatters.d.ts.map +1 -0
- package/dist/utils/sandbox/formatters.js +690 -0
- package/dist/utils/sandbox/formatters.js.map +1 -0
- package/dist/utils/sandbox/helpers.d.ts +16 -0
- package/dist/utils/sandbox/helpers.d.ts.map +1 -0
- package/dist/utils/sandbox/helpers.js +252 -0
- package/dist/utils/sandbox/helpers.js.map +1 -0
- package/dist/utils/sandbox/index.d.ts +19 -0
- package/dist/utils/sandbox/index.d.ts.map +1 -0
- package/dist/utils/sandbox/index.js +269 -0
- package/dist/utils/sandbox/index.js.map +1 -0
- package/dist/utils/sandbox/schema.d.ts +55 -0
- package/dist/utils/sandbox/schema.d.ts.map +1 -0
- package/dist/utils/sandbox/schema.js +39 -0
- package/dist/utils/sandbox/schema.js.map +1 -0
- package/dist/utils/sandbox/types.d.ts +179 -0
- package/dist/utils/sandbox/types.d.ts.map +1 -0
- package/dist/utils/sandbox/types.js +8 -0
- package/dist/utils/sandbox/types.js.map +1 -0
- package/dist/utils/schemas/confluence.d.ts +41 -0
- package/dist/utils/schemas/confluence.d.ts.map +1 -0
- package/dist/utils/schemas/confluence.js +105 -0
- package/dist/utils/schemas/confluence.js.map +1 -0
- package/dist/utils/schemas/index.d.ts +77 -0
- package/dist/utils/schemas/index.d.ts.map +1 -0
- package/dist/utils/schemas/index.js +107 -0
- package/dist/utils/schemas/index.js.map +1 -0
- package/dist/utils/schemas/jira.d.ts +49 -0
- package/dist/utils/schemas/jira.d.ts.map +1 -0
- package/dist/utils/schemas/jira.js +153 -0
- package/dist/utils/schemas/jira.js.map +1 -0
- package/dist/utils/schemas/tempo.d.ts +29 -0
- package/dist/utils/schemas/tempo.d.ts.map +1 -0
- package/dist/utils/schemas/tempo.js +72 -0
- package/dist/utils/schemas/tempo.js.map +1 -0
- package/dist/utils/whoami-tools.d.ts +17 -0
- package/dist/utils/whoami-tools.d.ts.map +1 -0
- package/dist/utils/whoami-tools.js +90 -0
- package/dist/utils/whoami-tools.js.map +1 -0
- package/dist/utils/xhtml/error-locator.js +5 -5
- package/dist/utils/xhtml/error-locator.js.map +1 -1
- package/package.json +10 -9
- package/dist/credentials/client-factory.d.ts +0 -64
- package/dist/credentials/client-factory.d.ts.map +0 -1
- package/dist/credentials/client-factory.js +0 -110
- package/dist/credentials/client-factory.js.map +0 -1
- package/dist/credentials/context.d.ts +0 -25
- package/dist/credentials/context.d.ts.map +0 -1
- package/dist/credentials/context.js +0 -35
- package/dist/credentials/context.js.map +0 -1
- package/dist/utils/buffer-pipeline/index.d.ts +0 -30
- package/dist/utils/buffer-pipeline/index.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/index.js +0 -317
- package/dist/utils/buffer-pipeline/index.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/csv.d.ts +0 -20
- package/dist/utils/buffer-pipeline/output/csv.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/csv.js +0 -117
- package/dist/utils/buffer-pipeline/output/csv.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/json.d.ts +0 -16
- package/dist/utils/buffer-pipeline/output/json.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/json.js +0 -48
- package/dist/utils/buffer-pipeline/output/json.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/markdown.d.ts +0 -15
- package/dist/utils/buffer-pipeline/output/markdown.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/markdown.js +0 -105
- package/dist/utils/buffer-pipeline/output/markdown.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts +0 -16
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-list.js +0 -81
- package/dist/utils/buffer-pipeline/output/xhtml-list.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts +0 -15
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-table.js +0 -176
- package/dist/utils/buffer-pipeline/output/xhtml-table.js.map +0 -1
- package/dist/utils/buffer-pipeline/schema.d.ts +0 -1878
- package/dist/utils/buffer-pipeline/schema.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/schema.js +0 -168
- package/dist/utils/buffer-pipeline/schema.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/filter.d.ts +0 -32
- package/dist/utils/buffer-pipeline/stages/filter.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/filter.js +0 -208
- package/dist/utils/buffer-pipeline/stages/filter.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/format.d.ts +0 -45
- package/dist/utils/buffer-pipeline/stages/format.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/format.js +0 -160
- package/dist/utils/buffer-pipeline/stages/format.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts +0 -25
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/group-by.js +0 -190
- package/dist/utils/buffer-pipeline/stages/group-by.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/select.d.ts +0 -54
- package/dist/utils/buffer-pipeline/stages/select.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/select.js +0 -228
- package/dist/utils/buffer-pipeline/stages/select.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/sort.d.ts +0 -20
- package/dist/utils/buffer-pipeline/stages/sort.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/sort.js +0 -96
- package/dist/utils/buffer-pipeline/stages/sort.js.map +0 -1
- package/dist/utils/buffer-pipeline/types.d.ts +0 -277
- package/dist/utils/buffer-pipeline/types.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/types.js +0 -8
- package/dist/utils/buffer-pipeline/types.js.map +0 -1
- package/dist/utils/plantuml/docker-manager.d.ts +0 -37
- package/dist/utils/plantuml/docker-manager.d.ts.map +0 -1
- package/dist/utils/plantuml/docker-manager.js +0 -284
- package/dist/utils/plantuml/docker-manager.js.map +0 -1
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Client factory for creating API clients with per-request or default credentials
|
|
3
|
-
*/
|
|
4
|
-
import { JiraClient } from "../jira/client.js";
|
|
5
|
-
import { ConfluenceClient } from "../confluence/client.js";
|
|
6
|
-
import { TempoClient } from "../tempo/client.js";
|
|
7
|
-
import { getRequestCredentials } from "./context.js";
|
|
8
|
-
/**
|
|
9
|
-
* Factory for creating API clients
|
|
10
|
-
*
|
|
11
|
-
* - Checks AsyncLocalStorage for per-request credentials
|
|
12
|
-
* - Falls back to default credentials from environment
|
|
13
|
-
* - Caches default clients for reuse (when no per-request credentials)
|
|
14
|
-
*/
|
|
15
|
-
export class ClientFactory {
|
|
16
|
-
defaultClients;
|
|
17
|
-
config;
|
|
18
|
-
constructor(config) {
|
|
19
|
-
this.config = config;
|
|
20
|
-
// Create default clients from environment credentials
|
|
21
|
-
this.defaultClients = {
|
|
22
|
-
jira: config.defaultJiraConfig ? new JiraClient(config.defaultJiraConfig) : null,
|
|
23
|
-
confluence: config.defaultConfluenceConfig
|
|
24
|
-
? new ConfluenceClient(config.defaultConfluenceConfig)
|
|
25
|
-
: null,
|
|
26
|
-
tempo: config.defaultJiraConfig ? new TempoClient(config.defaultJiraConfig) : null,
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Get Jira client for current request
|
|
31
|
-
*
|
|
32
|
-
* Checks for per-request credentials in AsyncLocalStorage context,
|
|
33
|
-
* falls back to default client if none provided.
|
|
34
|
-
*/
|
|
35
|
-
getJiraClient() {
|
|
36
|
-
const requestCreds = getRequestCredentials();
|
|
37
|
-
if (requestCreds?.jira) {
|
|
38
|
-
// Create client with per-request credentials
|
|
39
|
-
return new JiraClient(this.toApiConfig(requestCreds.jira));
|
|
40
|
-
}
|
|
41
|
-
// Use default client
|
|
42
|
-
return this.defaultClients.jira;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Get Confluence client for current request
|
|
46
|
-
*/
|
|
47
|
-
getConfluenceClient() {
|
|
48
|
-
const requestCreds = getRequestCredentials();
|
|
49
|
-
if (requestCreds?.confluence) {
|
|
50
|
-
// Create client with per-request credentials
|
|
51
|
-
return new ConfluenceClient(this.toApiConfig(requestCreds.confluence));
|
|
52
|
-
}
|
|
53
|
-
// Use default client
|
|
54
|
-
return this.defaultClients.confluence;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Get Tempo client for current request (uses Jira credentials)
|
|
58
|
-
*/
|
|
59
|
-
getTempoClient() {
|
|
60
|
-
const requestCreds = getRequestCredentials();
|
|
61
|
-
if (requestCreds?.jira) {
|
|
62
|
-
// Create client with per-request Jira credentials
|
|
63
|
-
return new TempoClient(this.toApiConfig(requestCreds.jira));
|
|
64
|
-
}
|
|
65
|
-
// Use default client
|
|
66
|
-
return this.defaultClients.tempo;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Get all clients for current request
|
|
70
|
-
*/
|
|
71
|
-
getClients() {
|
|
72
|
-
return {
|
|
73
|
-
jira: this.getJiraClient(),
|
|
74
|
-
confluence: this.getConfluenceClient(),
|
|
75
|
-
tempo: this.getTempoClient(),
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Get default clients (ignores per-request credentials)
|
|
80
|
-
*/
|
|
81
|
-
getDefaultClients() {
|
|
82
|
-
return this.defaultClients;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Check if Jira is configured (either default or per-request)
|
|
86
|
-
*/
|
|
87
|
-
hasJira() {
|
|
88
|
-
const requestCreds = getRequestCredentials();
|
|
89
|
-
return !!(requestCreds?.jira || this.config.defaultJiraConfig);
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Check if Confluence is configured (either default or per-request)
|
|
93
|
-
*/
|
|
94
|
-
hasConfluence() {
|
|
95
|
-
const requestCreds = getRequestCredentials();
|
|
96
|
-
return !!(requestCreds?.confluence || this.config.defaultConfluenceConfig);
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Convert service credentials to ApiConfig
|
|
100
|
-
*/
|
|
101
|
-
toApiConfig(creds) {
|
|
102
|
-
return {
|
|
103
|
-
url: creds.url,
|
|
104
|
-
token: creds.token,
|
|
105
|
-
// Per-request credentials use bearer auth (PAT style)
|
|
106
|
-
authType: "bearer",
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=client-factory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client-factory.js","sourceRoot":"","sources":["../../src/credentials/client-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Request context for per-user credentials using AsyncLocalStorage
|
|
3
|
-
*
|
|
4
|
-
* This allows tool handlers to access per-request credentials without
|
|
5
|
-
* needing to modify their function signatures.
|
|
6
|
-
*/
|
|
7
|
-
import type { RequestCredentials } from "./types.js";
|
|
8
|
-
/**
|
|
9
|
-
* Run a function with per-request credentials in context
|
|
10
|
-
*
|
|
11
|
-
* @param credentials - Per-request credentials from HTTP headers
|
|
12
|
-
* @param fn - Function to run with credentials in context
|
|
13
|
-
*/
|
|
14
|
-
export declare function runWithCredentials<T>(credentials: RequestCredentials, fn: () => T | Promise<T>): T | Promise<T>;
|
|
15
|
-
/**
|
|
16
|
-
* Get credentials from the current request context
|
|
17
|
-
*
|
|
18
|
-
* @returns Per-request credentials if available, undefined otherwise
|
|
19
|
-
*/
|
|
20
|
-
export declare function getRequestCredentials(): RequestCredentials | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* Check if we're running in a request context with credentials
|
|
23
|
-
*/
|
|
24
|
-
export declare function hasRequestContext(): boolean;
|
|
25
|
-
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/credentials/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAOrD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,WAAW,EAAE,kBAAkB,EAC/B,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GACvB,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,GAAG,SAAS,CAEtE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Request context for per-user credentials using AsyncLocalStorage
|
|
3
|
-
*
|
|
4
|
-
* This allows tool handlers to access per-request credentials without
|
|
5
|
-
* needing to modify their function signatures.
|
|
6
|
-
*/
|
|
7
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
8
|
-
/**
|
|
9
|
-
* AsyncLocalStorage instance for request credentials
|
|
10
|
-
*/
|
|
11
|
-
const credentialStorage = new AsyncLocalStorage();
|
|
12
|
-
/**
|
|
13
|
-
* Run a function with per-request credentials in context
|
|
14
|
-
*
|
|
15
|
-
* @param credentials - Per-request credentials from HTTP headers
|
|
16
|
-
* @param fn - Function to run with credentials in context
|
|
17
|
-
*/
|
|
18
|
-
export function runWithCredentials(credentials, fn) {
|
|
19
|
-
return credentialStorage.run(credentials, fn);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Get credentials from the current request context
|
|
23
|
-
*
|
|
24
|
-
* @returns Per-request credentials if available, undefined otherwise
|
|
25
|
-
*/
|
|
26
|
-
export function getRequestCredentials() {
|
|
27
|
-
return credentialStorage.getStore();
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Check if we're running in a request context with credentials
|
|
31
|
-
*/
|
|
32
|
-
export function hasRequestContext() {
|
|
33
|
-
return credentialStorage.getStore() !== undefined;
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=context.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/credentials/context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD;;GAEG;AACH,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAsB,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAA+B,EAC/B,EAAwB;IAExB,OAAO,iBAAiB,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,iBAAiB,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC;AACpD,CAAC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Buffer Pipeline Executor
|
|
3
|
-
*
|
|
4
|
-
* Main entry point for executing data transformation pipelines.
|
|
5
|
-
* Orchestrates all stages: select → filter → groupBy → sort → limit → format → output
|
|
6
|
-
*/
|
|
7
|
-
import type { PipelineContext, PipelineDefinition, PipelineError, PipelineResult } from "./types.js";
|
|
8
|
-
export type { PipelineDefinition, PipelineContext, PipelineResult, PipelineError, FormattedItem, OutputType, } from "./types.js";
|
|
9
|
-
export { BufferPipelineInputSchema, PipelineSchema } from "./schema.js";
|
|
10
|
-
/**
|
|
11
|
-
* Execute pipeline and return raw output string
|
|
12
|
-
* Used by the tool handler to get content for buffer storage
|
|
13
|
-
*/
|
|
14
|
-
export declare function executePipelineWithOutput(data: unknown[], pipeline: PipelineDefinition, context: PipelineContext): {
|
|
15
|
-
result: PipelineResult;
|
|
16
|
-
output: string;
|
|
17
|
-
} | {
|
|
18
|
-
error: PipelineError;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* Validate a pipeline definition without executing it
|
|
22
|
-
* Returns validation errors and available fields
|
|
23
|
-
*/
|
|
24
|
-
export declare function validatePipeline(data: unknown[], pipeline: PipelineDefinition): {
|
|
25
|
-
valid: boolean;
|
|
26
|
-
errors: string[];
|
|
27
|
-
warnings: string[];
|
|
28
|
-
availableFields: string[];
|
|
29
|
-
};
|
|
30
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/buffer-pipeline/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAGV,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAiBpB,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAoBxE;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,OAAO,EAAE,EACf,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,eAAe,GACvB;IAAE,MAAM,EAAE,cAAc,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,CAgPvE;AAoBD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,OAAO,EAAE,EACf,QAAQ,EAAE,kBAAkB,GAC3B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,eAAe,EAAE,MAAM,EAAE,CAAA;CAAE,CAiErF"}
|
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Buffer Pipeline Executor
|
|
3
|
-
*
|
|
4
|
-
* Main entry point for executing data transformation pipelines.
|
|
5
|
-
* Orchestrates all stages: select → filter → groupBy → sort → limit → format → output
|
|
6
|
-
*/
|
|
7
|
-
// Stage imports
|
|
8
|
-
import { executeSelect, extractFieldPaths, validateSelectConfig } from "./stages/select.js";
|
|
9
|
-
import { executeFilter, validateFilterConditions } from "./stages/filter.js";
|
|
10
|
-
import { executeGroupBy, validateGroupByConfig } from "./stages/group-by.js";
|
|
11
|
-
import { executeSort, validateSortConfig } from "./stages/sort.js";
|
|
12
|
-
import { executeFormat } from "./stages/format.js";
|
|
13
|
-
// Output imports
|
|
14
|
-
import { generateXhtmlTable, generateTablePreview } from "./output/xhtml-table.js";
|
|
15
|
-
import { generateXhtmlList, generateListPreview } from "./output/xhtml-list.js";
|
|
16
|
-
import { generateJson, generateJsonPreview } from "./output/json.js";
|
|
17
|
-
import { generateCsv, generateCsvPreview, inferColumnsFromData } from "./output/csv.js";
|
|
18
|
-
import { generateMarkdown, generateMarkdownPreview } from "./output/markdown.js";
|
|
19
|
-
// Re-export schemas
|
|
20
|
-
export { BufferPipelineInputSchema, PipelineSchema } from "./schema.js";
|
|
21
|
-
/**
|
|
22
|
-
* Create a pipeline error with context
|
|
23
|
-
*/
|
|
24
|
-
function createError(message, statusCode, stage, details) {
|
|
25
|
-
return {
|
|
26
|
-
error: true,
|
|
27
|
-
message,
|
|
28
|
-
statusCode,
|
|
29
|
-
stage,
|
|
30
|
-
details,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Execute pipeline and return raw output string
|
|
35
|
-
* Used by the tool handler to get content for buffer storage
|
|
36
|
-
*/
|
|
37
|
-
export function executePipelineWithOutput(data, pipeline, context) {
|
|
38
|
-
const executedStages = [];
|
|
39
|
-
const inputCount = data.length;
|
|
40
|
-
// Track current data through stages
|
|
41
|
-
let items = [];
|
|
42
|
-
// Stage 1: Select (field extraction)
|
|
43
|
-
if (pipeline.select) {
|
|
44
|
-
const validation = validateSelectConfig(data, pipeline.select);
|
|
45
|
-
if (!validation.valid) {
|
|
46
|
-
const suggestions = [];
|
|
47
|
-
validation.suggestions.forEach((suggs, field) => {
|
|
48
|
-
suggestions.push(`${field} -> maybe: ${suggs.join(", ")}`);
|
|
49
|
-
});
|
|
50
|
-
return {
|
|
51
|
-
error: createError(`Select validation failed: ${validation.errors.join("; ")}`, 400, "select", {
|
|
52
|
-
availableFields: data.length > 0 ? extractFieldPaths(data[0]) : [],
|
|
53
|
-
suggestion: suggestions.length > 0 ? suggestions.join("; ") : undefined,
|
|
54
|
-
}),
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
items = executeSelect(data, pipeline.select);
|
|
58
|
-
executedStages.push("select");
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
items = executeSelect(data);
|
|
62
|
-
executedStages.push("select (passthrough)");
|
|
63
|
-
}
|
|
64
|
-
// Stage 2: Filter
|
|
65
|
-
if (pipeline.filter && pipeline.filter.length > 0) {
|
|
66
|
-
const validation = validateFilterConditions(items, pipeline.filter);
|
|
67
|
-
if (!validation.valid) {
|
|
68
|
-
return {
|
|
69
|
-
error: createError(`Filter validation failed: ${validation.errors.join("; ")}`, 400, "filter", {
|
|
70
|
-
availableFields: items.length > 0 ? Object.keys(items[0]) : [],
|
|
71
|
-
}),
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
items = executeFilter(items, pipeline.filter);
|
|
75
|
-
executedStages.push("filter");
|
|
76
|
-
}
|
|
77
|
-
// Stage 3: Group By
|
|
78
|
-
if (pipeline.groupBy) {
|
|
79
|
-
const validation = validateGroupByConfig(items, pipeline.groupBy);
|
|
80
|
-
if (!validation.valid) {
|
|
81
|
-
return {
|
|
82
|
-
error: createError(`GroupBy validation failed: ${validation.errors.join("; ")}`, 400, "groupBy", {
|
|
83
|
-
availableFields: items.length > 0 ? Object.keys(items[0]) : [],
|
|
84
|
-
}),
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
items = executeGroupBy(items, pipeline.groupBy);
|
|
88
|
-
executedStages.push("groupBy");
|
|
89
|
-
}
|
|
90
|
-
// Stage 4: Sort
|
|
91
|
-
if (pipeline.sort && pipeline.sort.length > 0) {
|
|
92
|
-
items = executeSort(items, pipeline.sort);
|
|
93
|
-
executedStages.push("sort");
|
|
94
|
-
}
|
|
95
|
-
// Stage 5: Limit
|
|
96
|
-
const outputCount = items.length;
|
|
97
|
-
if (pipeline.limit && pipeline.limit > 0 && items.length > pipeline.limit) {
|
|
98
|
-
items = items.slice(0, pipeline.limit);
|
|
99
|
-
executedStages.push(`limit(${pipeline.limit})`);
|
|
100
|
-
}
|
|
101
|
-
// Stage 6: Format
|
|
102
|
-
let formattedItems;
|
|
103
|
-
if (pipeline.format && pipeline.format.length > 0) {
|
|
104
|
-
formattedItems = executeFormat(items, pipeline.format);
|
|
105
|
-
executedStages.push("format");
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
formattedItems = executeFormat(items);
|
|
109
|
-
}
|
|
110
|
-
// Stage 7: Output
|
|
111
|
-
const outputType = pipeline.output.type;
|
|
112
|
-
let output;
|
|
113
|
-
let preview;
|
|
114
|
-
// Helper: validate table column fields exist in post-select data
|
|
115
|
-
const validateTableColumns = (columns) => {
|
|
116
|
-
if (items.length === 0)
|
|
117
|
-
return null; // No data to validate against
|
|
118
|
-
const availableFields = Object.keys(items[0]);
|
|
119
|
-
const missingFields = [];
|
|
120
|
-
const suggestions = [];
|
|
121
|
-
for (const col of columns) {
|
|
122
|
-
// Check if field exists (support dot notation for nested access)
|
|
123
|
-
const topLevelField = col.field.split(".")[0];
|
|
124
|
-
if (!availableFields.includes(topLevelField) && !availableFields.includes(col.field)) {
|
|
125
|
-
missingFields.push(col.field);
|
|
126
|
-
// Find similar fields for suggestion
|
|
127
|
-
const similar = availableFields.filter(f => f.toLowerCase().includes(topLevelField.toLowerCase()) ||
|
|
128
|
-
topLevelField.toLowerCase().includes(f.toLowerCase()));
|
|
129
|
-
if (similar.length > 0) {
|
|
130
|
-
suggestions.push(`"${col.field}" → maybe "${similar[0]}"`);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
if (missingFields.length > 0) {
|
|
135
|
-
const hint = pipeline.select
|
|
136
|
-
? "After select stage renames fields, use the NEW names (the 'as' values) in table columns."
|
|
137
|
-
: undefined;
|
|
138
|
-
return createError(`Table column fields not found: ${missingFields.join(", ")}`, 400, "output", {
|
|
139
|
-
missingFields,
|
|
140
|
-
availableFields,
|
|
141
|
-
suggestions: suggestions.length > 0 ? suggestions : undefined,
|
|
142
|
-
hint,
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
return null;
|
|
146
|
-
};
|
|
147
|
-
switch (outputType) {
|
|
148
|
-
case "xhtml_table": {
|
|
149
|
-
if (!pipeline.output.table) {
|
|
150
|
-
return {
|
|
151
|
-
error: createError("Table configuration required for xhtml_table output", 400, "output"),
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
// Validate column fields exist in data
|
|
155
|
-
const columnError = validateTableColumns(pipeline.output.table.columns);
|
|
156
|
-
if (columnError) {
|
|
157
|
-
return { error: columnError };
|
|
158
|
-
}
|
|
159
|
-
output = generateXhtmlTable(formattedItems, pipeline.output.table, context);
|
|
160
|
-
preview = generateTablePreview(formattedItems, pipeline.output.table, context);
|
|
161
|
-
executedStages.push("output(xhtml_table)");
|
|
162
|
-
break;
|
|
163
|
-
}
|
|
164
|
-
case "xhtml_list": {
|
|
165
|
-
if (!pipeline.output.list) {
|
|
166
|
-
return {
|
|
167
|
-
error: createError("List configuration required for xhtml_list output", 400, "output"),
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
output = generateXhtmlList(formattedItems, pipeline.output.list, context);
|
|
171
|
-
preview = generateListPreview(formattedItems, pipeline.output.list, context);
|
|
172
|
-
executedStages.push("output(xhtml_list)");
|
|
173
|
-
break;
|
|
174
|
-
}
|
|
175
|
-
case "json": {
|
|
176
|
-
output = generateJson(formattedItems, pipeline.output);
|
|
177
|
-
preview = generateJsonPreview(formattedItems, pipeline.output);
|
|
178
|
-
executedStages.push("output(json)");
|
|
179
|
-
break;
|
|
180
|
-
}
|
|
181
|
-
case "csv": {
|
|
182
|
-
const columns = pipeline.output.table?.columns ?? inferColumnsFromData(formattedItems);
|
|
183
|
-
if (columns.length === 0) {
|
|
184
|
-
return {
|
|
185
|
-
error: createError("No columns for CSV output", 400, "output"),
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
|
-
// Validate column fields if explicitly provided
|
|
189
|
-
if (pipeline.output.table?.columns) {
|
|
190
|
-
const columnError = validateTableColumns(columns);
|
|
191
|
-
if (columnError) {
|
|
192
|
-
return { error: columnError };
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
const csvConfig = { columns, ...pipeline.output.table };
|
|
196
|
-
output = generateCsv(formattedItems, csvConfig);
|
|
197
|
-
preview = generateCsvPreview(formattedItems, csvConfig);
|
|
198
|
-
executedStages.push("output(csv)");
|
|
199
|
-
break;
|
|
200
|
-
}
|
|
201
|
-
case "markdown": {
|
|
202
|
-
const mdColumns = pipeline.output.table?.columns ?? inferColumnsFromData(formattedItems);
|
|
203
|
-
if (mdColumns.length === 0) {
|
|
204
|
-
return {
|
|
205
|
-
error: createError("No columns for Markdown output", 400, "output"),
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
// Validate column fields if explicitly provided
|
|
209
|
-
if (pipeline.output.table?.columns) {
|
|
210
|
-
const columnError = validateTableColumns(mdColumns);
|
|
211
|
-
if (columnError) {
|
|
212
|
-
return { error: columnError };
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
const mdConfig = { columns: mdColumns, ...pipeline.output.table };
|
|
216
|
-
output = generateMarkdown(formattedItems, mdConfig);
|
|
217
|
-
preview = generateMarkdownPreview(formattedItems, mdConfig);
|
|
218
|
-
executedStages.push("output(markdown)");
|
|
219
|
-
break;
|
|
220
|
-
}
|
|
221
|
-
default:
|
|
222
|
-
return {
|
|
223
|
-
error: createError(`Unknown output type: ${outputType}`, 400, "output"),
|
|
224
|
-
};
|
|
225
|
-
}
|
|
226
|
-
return {
|
|
227
|
-
result: {
|
|
228
|
-
bufferId: "", // Set by caller
|
|
229
|
-
inputItems: inputCount,
|
|
230
|
-
outputItems: outputCount,
|
|
231
|
-
pipelineStages: executedStages,
|
|
232
|
-
outputType,
|
|
233
|
-
preview,
|
|
234
|
-
bufferSizeBytes: output.length,
|
|
235
|
-
hint: getHint(outputType),
|
|
236
|
-
},
|
|
237
|
-
output,
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
/**
|
|
241
|
-
* Get contextual hint based on output type
|
|
242
|
-
*/
|
|
243
|
-
function getHint(outputType) {
|
|
244
|
-
switch (outputType) {
|
|
245
|
-
case "xhtml_table":
|
|
246
|
-
case "xhtml_list":
|
|
247
|
-
return "Use confluence_draft_create(bufferId) to publish to Confluence, or buffer_edit to modify";
|
|
248
|
-
case "json":
|
|
249
|
-
return "Use buffer_pipeline again with this buffer as source, or buffer_get_items to access";
|
|
250
|
-
case "csv":
|
|
251
|
-
case "markdown":
|
|
252
|
-
return "Use buffer_grep to search content";
|
|
253
|
-
default:
|
|
254
|
-
return "";
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Validate a pipeline definition without executing it
|
|
259
|
-
* Returns validation errors and available fields
|
|
260
|
-
*/
|
|
261
|
-
export function validatePipeline(data, pipeline) {
|
|
262
|
-
const errors = [];
|
|
263
|
-
const warnings = [];
|
|
264
|
-
const availableFields = data.length > 0 ? extractFieldPaths(data[0]) : [];
|
|
265
|
-
// Validate select
|
|
266
|
-
if (pipeline.select) {
|
|
267
|
-
const validation = validateSelectConfig(data, pipeline.select);
|
|
268
|
-
if (!validation.valid) {
|
|
269
|
-
errors.push(...validation.errors);
|
|
270
|
-
}
|
|
271
|
-
// Warn about field renames if subsequent stages exist
|
|
272
|
-
if (pipeline.groupBy || pipeline.sort || pipeline.filter) {
|
|
273
|
-
const renamedFields = pipeline.select.fields
|
|
274
|
-
.filter((f) => {
|
|
275
|
-
const originalName = f.from.split(".").pop() || "";
|
|
276
|
-
return f.as && f.as !== originalName;
|
|
277
|
-
})
|
|
278
|
-
.map((f) => `"${f.from}" → "${f.as}"`);
|
|
279
|
-
if (renamedFields.length > 0) {
|
|
280
|
-
warnings.push(`Fields renamed by select: ${renamedFields.join(", ")}. Use NEW names (after "→") in subsequent stages (groupBy, sort, filter).`);
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
// Validate filter
|
|
285
|
-
if (pipeline.filter && pipeline.filter.length > 0) {
|
|
286
|
-
const validation = validateFilterConditions(data, pipeline.filter);
|
|
287
|
-
if (!validation.valid) {
|
|
288
|
-
errors.push(...validation.errors);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
291
|
-
// Validate groupBy
|
|
292
|
-
if (pipeline.groupBy) {
|
|
293
|
-
const validation = validateGroupByConfig(data, pipeline.groupBy);
|
|
294
|
-
if (!validation.valid) {
|
|
295
|
-
errors.push(...validation.errors);
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
// Validate sort
|
|
299
|
-
if (pipeline.sort && pipeline.sort.length > 0) {
|
|
300
|
-
const validation = validateSortConfig(data, pipeline.sort);
|
|
301
|
-
warnings.push(...validation.warnings);
|
|
302
|
-
}
|
|
303
|
-
// Validate output
|
|
304
|
-
if (pipeline.output.type === "xhtml_table" && !pipeline.output.table) {
|
|
305
|
-
errors.push("Table configuration required for xhtml_table output");
|
|
306
|
-
}
|
|
307
|
-
if (pipeline.output.type === "xhtml_list" && !pipeline.output.list) {
|
|
308
|
-
errors.push("List configuration required for xhtml_list output");
|
|
309
|
-
}
|
|
310
|
-
return {
|
|
311
|
-
valid: errors.length === 0,
|
|
312
|
-
errors,
|
|
313
|
-
warnings,
|
|
314
|
-
availableFields,
|
|
315
|
-
};
|
|
316
|
-
}
|
|
317
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/buffer-pipeline/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CSV Output Generator
|
|
3
|
-
*
|
|
4
|
-
* Outputs pipeline results as CSV with proper escaping.
|
|
5
|
-
*/
|
|
6
|
-
import type { FormattedItem, TableColumn, TableOutputConfig } from "../types.js";
|
|
7
|
-
/**
|
|
8
|
-
* Generate CSV output
|
|
9
|
-
* Requires table configuration for column definitions
|
|
10
|
-
*/
|
|
11
|
-
export declare function generateCsv(items: FormattedItem[], config: TableOutputConfig): string;
|
|
12
|
-
/**
|
|
13
|
-
* Generate a preview of the CSV output
|
|
14
|
-
*/
|
|
15
|
-
export declare function generateCsvPreview(items: FormattedItem[], config: TableOutputConfig, maxRows?: number): string;
|
|
16
|
-
/**
|
|
17
|
-
* Infer column definitions from data if not provided
|
|
18
|
-
*/
|
|
19
|
-
export declare function inferColumnsFromData(items: FormattedItem[]): TableColumn[];
|
|
20
|
-
//# sourceMappingURL=csv.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"csv.d.ts","sourceRoot":"","sources":["../../../../src/utils/buffer-pipeline/output/csv.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAuDjF;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,aAAa,EAAE,EACtB,MAAM,EAAE,iBAAiB,GACxB,MAAM,CAYR;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,aAAa,EAAE,EACtB,MAAM,EAAE,iBAAiB,EACzB,OAAO,GAAE,MAAU,GAClB,MAAM,CAiBR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,aAAa,EAAE,GACrB,WAAW,EAAE,CAmBf"}
|