@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.
Files changed (228) hide show
  1. package/PROMPT.md +10 -28
  2. package/README.md +39 -6
  3. package/TOOL_LIST.md +542 -407
  4. package/dist/config/constants.d.ts +28 -0
  5. package/dist/config/constants.d.ts.map +1 -1
  6. package/dist/config/constants.js +34 -0
  7. package/dist/config/constants.js.map +1 -1
  8. package/dist/config/loader.d.ts.map +1 -1
  9. package/dist/config/loader.js +12 -2
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/config/types.d.ts +49 -6
  12. package/dist/config/types.d.ts.map +1 -1
  13. package/dist/config/types.js +18 -0
  14. package/dist/config/types.js.map +1 -1
  15. package/dist/confluence/client.d.ts.map +1 -1
  16. package/dist/confluence/client.js +7 -2
  17. package/dist/confluence/client.js.map +1 -1
  18. package/dist/confluence/formatters.d.ts +20 -0
  19. package/dist/confluence/formatters.d.ts.map +1 -1
  20. package/dist/confluence/formatters.js +74 -8
  21. package/dist/confluence/formatters.js.map +1 -1
  22. package/dist/confluence/tools.d.ts +16 -20
  23. package/dist/confluence/tools.d.ts.map +1 -1
  24. package/dist/confluence/tools.js +71 -68
  25. package/dist/confluence/tools.js.map +1 -1
  26. package/dist/credentials/extractor.d.ts +15 -5
  27. package/dist/credentials/extractor.d.ts.map +1 -1
  28. package/dist/credentials/extractor.js +99 -12
  29. package/dist/credentials/extractor.js.map +1 -1
  30. package/dist/credentials/index.d.ts +4 -3
  31. package/dist/credentials/index.d.ts.map +1 -1
  32. package/dist/credentials/index.js +3 -2
  33. package/dist/credentials/index.js.map +1 -1
  34. package/dist/credentials/types.d.ts +22 -0
  35. package/dist/credentials/types.d.ts.map +1 -1
  36. package/dist/credentials/types.js.map +1 -1
  37. package/dist/index.js +211 -176
  38. package/dist/index.js.map +1 -1
  39. package/dist/jira/activity-tools.d.ts +8 -15
  40. package/dist/jira/activity-tools.d.ts.map +1 -1
  41. package/dist/jira/activity-tools.js +131 -90
  42. package/dist/jira/activity-tools.js.map +1 -1
  43. package/dist/jira/client.d.ts +24 -0
  44. package/dist/jira/client.d.ts.map +1 -1
  45. package/dist/jira/client.js +65 -6
  46. package/dist/jira/client.js.map +1 -1
  47. package/dist/jira/formatters.d.ts +61 -0
  48. package/dist/jira/formatters.d.ts.map +1 -1
  49. package/dist/jira/formatters.js +83 -11
  50. package/dist/jira/formatters.js.map +1 -1
  51. package/dist/jira/tools.d.ts +78 -26
  52. package/dist/jira/tools.d.ts.map +1 -1
  53. package/dist/jira/tools.js +293 -130
  54. package/dist/jira/tools.js.map +1 -1
  55. package/dist/permissions/filter.d.ts.map +1 -1
  56. package/dist/permissions/filter.js +8 -4
  57. package/dist/permissions/filter.js.map +1 -1
  58. package/dist/permissions/tool-registry.d.ts +15 -13
  59. package/dist/permissions/tool-registry.d.ts.map +1 -1
  60. package/dist/permissions/tool-registry.js +19 -10
  61. package/dist/permissions/tool-registry.js.map +1 -1
  62. package/dist/session/context.d.ts +81 -0
  63. package/dist/session/context.d.ts.map +1 -0
  64. package/dist/session/context.js +107 -0
  65. package/dist/session/context.js.map +1 -0
  66. package/dist/session/index.d.ts +12 -0
  67. package/dist/session/index.d.ts.map +1 -0
  68. package/dist/session/index.js +22 -0
  69. package/dist/session/index.js.map +1 -0
  70. package/dist/session/manager.d.ts +186 -0
  71. package/dist/session/manager.d.ts.map +1 -0
  72. package/dist/session/manager.js +383 -0
  73. package/dist/session/manager.js.map +1 -0
  74. package/dist/tempo/client.d.ts +14 -0
  75. package/dist/tempo/client.d.ts.map +1 -1
  76. package/dist/tempo/client.js +57 -0
  77. package/dist/tempo/client.js.map +1 -1
  78. package/dist/tempo/formatters.d.ts +13 -0
  79. package/dist/tempo/formatters.d.ts.map +1 -1
  80. package/dist/tempo/formatters.js +106 -20
  81. package/dist/tempo/formatters.js.map +1 -1
  82. package/dist/tempo/tools.d.ts +14 -13
  83. package/dist/tempo/tools.d.ts.map +1 -1
  84. package/dist/tempo/tools.js +203 -33
  85. package/dist/tempo/tools.js.map +1 -1
  86. package/dist/tempo/types.d.ts +20 -6
  87. package/dist/tempo/types.d.ts.map +1 -1
  88. package/dist/transport/http.d.ts +21 -5
  89. package/dist/transport/http.d.ts.map +1 -1
  90. package/dist/transport/http.js +193 -22
  91. package/dist/transport/http.js.map +1 -1
  92. package/dist/transport/index.d.ts +7 -2
  93. package/dist/transport/index.d.ts.map +1 -1
  94. package/dist/transport/index.js +10 -4
  95. package/dist/transport/index.js.map +1 -1
  96. package/dist/utils/buffer-tools.d.ts +48 -724
  97. package/dist/utils/buffer-tools.d.ts.map +1 -1
  98. package/dist/utils/buffer-tools.js +337 -170
  99. package/dist/utils/buffer-tools.js.map +1 -1
  100. package/dist/utils/content-buffer.d.ts +10 -31
  101. package/dist/utils/content-buffer.d.ts.map +1 -1
  102. package/dist/utils/content-buffer.js +12 -86
  103. package/dist/utils/content-buffer.js.map +1 -1
  104. package/dist/utils/http-client.d.ts.map +1 -1
  105. package/dist/utils/http-client.js +99 -2
  106. package/dist/utils/http-client.js.map +1 -1
  107. package/dist/utils/jicon-help.d.ts +3 -3
  108. package/dist/utils/jicon-help.d.ts.map +1 -1
  109. package/dist/utils/jicon-help.js +164 -312
  110. package/dist/utils/jicon-help.js.map +1 -1
  111. package/dist/utils/logger.d.ts +43 -0
  112. package/dist/utils/logger.d.ts.map +1 -0
  113. package/dist/utils/logger.js +102 -0
  114. package/dist/utils/logger.js.map +1 -0
  115. package/dist/utils/plantuml/tools.d.ts.map +1 -1
  116. package/dist/utils/plantuml/tools.js +10 -9
  117. package/dist/utils/plantuml/tools.js.map +1 -1
  118. package/dist/utils/response-formatter.d.ts +20 -2
  119. package/dist/utils/response-formatter.d.ts.map +1 -1
  120. package/dist/utils/response-formatter.js +147 -17
  121. package/dist/utils/response-formatter.js.map +1 -1
  122. package/dist/utils/sandbox/formatters.d.ts +25 -0
  123. package/dist/utils/sandbox/formatters.d.ts.map +1 -0
  124. package/dist/utils/sandbox/formatters.js +690 -0
  125. package/dist/utils/sandbox/formatters.js.map +1 -0
  126. package/dist/utils/sandbox/helpers.d.ts +16 -0
  127. package/dist/utils/sandbox/helpers.d.ts.map +1 -0
  128. package/dist/utils/sandbox/helpers.js +252 -0
  129. package/dist/utils/sandbox/helpers.js.map +1 -0
  130. package/dist/utils/sandbox/index.d.ts +19 -0
  131. package/dist/utils/sandbox/index.d.ts.map +1 -0
  132. package/dist/utils/sandbox/index.js +269 -0
  133. package/dist/utils/sandbox/index.js.map +1 -0
  134. package/dist/utils/sandbox/schema.d.ts +55 -0
  135. package/dist/utils/sandbox/schema.d.ts.map +1 -0
  136. package/dist/utils/sandbox/schema.js +39 -0
  137. package/dist/utils/sandbox/schema.js.map +1 -0
  138. package/dist/utils/sandbox/types.d.ts +179 -0
  139. package/dist/utils/sandbox/types.d.ts.map +1 -0
  140. package/dist/utils/sandbox/types.js +8 -0
  141. package/dist/utils/sandbox/types.js.map +1 -0
  142. package/dist/utils/schemas/confluence.d.ts +41 -0
  143. package/dist/utils/schemas/confluence.d.ts.map +1 -0
  144. package/dist/utils/schemas/confluence.js +105 -0
  145. package/dist/utils/schemas/confluence.js.map +1 -0
  146. package/dist/utils/schemas/index.d.ts +77 -0
  147. package/dist/utils/schemas/index.d.ts.map +1 -0
  148. package/dist/utils/schemas/index.js +107 -0
  149. package/dist/utils/schemas/index.js.map +1 -0
  150. package/dist/utils/schemas/jira.d.ts +49 -0
  151. package/dist/utils/schemas/jira.d.ts.map +1 -0
  152. package/dist/utils/schemas/jira.js +153 -0
  153. package/dist/utils/schemas/jira.js.map +1 -0
  154. package/dist/utils/schemas/tempo.d.ts +29 -0
  155. package/dist/utils/schemas/tempo.d.ts.map +1 -0
  156. package/dist/utils/schemas/tempo.js +72 -0
  157. package/dist/utils/schemas/tempo.js.map +1 -0
  158. package/dist/utils/whoami-tools.d.ts +17 -0
  159. package/dist/utils/whoami-tools.d.ts.map +1 -0
  160. package/dist/utils/whoami-tools.js +90 -0
  161. package/dist/utils/whoami-tools.js.map +1 -0
  162. package/dist/utils/xhtml/error-locator.js +5 -5
  163. package/dist/utils/xhtml/error-locator.js.map +1 -1
  164. package/package.json +10 -9
  165. package/dist/credentials/client-factory.d.ts +0 -64
  166. package/dist/credentials/client-factory.d.ts.map +0 -1
  167. package/dist/credentials/client-factory.js +0 -110
  168. package/dist/credentials/client-factory.js.map +0 -1
  169. package/dist/credentials/context.d.ts +0 -25
  170. package/dist/credentials/context.d.ts.map +0 -1
  171. package/dist/credentials/context.js +0 -35
  172. package/dist/credentials/context.js.map +0 -1
  173. package/dist/utils/buffer-pipeline/index.d.ts +0 -30
  174. package/dist/utils/buffer-pipeline/index.d.ts.map +0 -1
  175. package/dist/utils/buffer-pipeline/index.js +0 -317
  176. package/dist/utils/buffer-pipeline/index.js.map +0 -1
  177. package/dist/utils/buffer-pipeline/output/csv.d.ts +0 -20
  178. package/dist/utils/buffer-pipeline/output/csv.d.ts.map +0 -1
  179. package/dist/utils/buffer-pipeline/output/csv.js +0 -117
  180. package/dist/utils/buffer-pipeline/output/csv.js.map +0 -1
  181. package/dist/utils/buffer-pipeline/output/json.d.ts +0 -16
  182. package/dist/utils/buffer-pipeline/output/json.d.ts.map +0 -1
  183. package/dist/utils/buffer-pipeline/output/json.js +0 -48
  184. package/dist/utils/buffer-pipeline/output/json.js.map +0 -1
  185. package/dist/utils/buffer-pipeline/output/markdown.d.ts +0 -15
  186. package/dist/utils/buffer-pipeline/output/markdown.d.ts.map +0 -1
  187. package/dist/utils/buffer-pipeline/output/markdown.js +0 -105
  188. package/dist/utils/buffer-pipeline/output/markdown.js.map +0 -1
  189. package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts +0 -16
  190. package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts.map +0 -1
  191. package/dist/utils/buffer-pipeline/output/xhtml-list.js +0 -81
  192. package/dist/utils/buffer-pipeline/output/xhtml-list.js.map +0 -1
  193. package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts +0 -15
  194. package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts.map +0 -1
  195. package/dist/utils/buffer-pipeline/output/xhtml-table.js +0 -176
  196. package/dist/utils/buffer-pipeline/output/xhtml-table.js.map +0 -1
  197. package/dist/utils/buffer-pipeline/schema.d.ts +0 -1878
  198. package/dist/utils/buffer-pipeline/schema.d.ts.map +0 -1
  199. package/dist/utils/buffer-pipeline/schema.js +0 -168
  200. package/dist/utils/buffer-pipeline/schema.js.map +0 -1
  201. package/dist/utils/buffer-pipeline/stages/filter.d.ts +0 -32
  202. package/dist/utils/buffer-pipeline/stages/filter.d.ts.map +0 -1
  203. package/dist/utils/buffer-pipeline/stages/filter.js +0 -208
  204. package/dist/utils/buffer-pipeline/stages/filter.js.map +0 -1
  205. package/dist/utils/buffer-pipeline/stages/format.d.ts +0 -45
  206. package/dist/utils/buffer-pipeline/stages/format.d.ts.map +0 -1
  207. package/dist/utils/buffer-pipeline/stages/format.js +0 -160
  208. package/dist/utils/buffer-pipeline/stages/format.js.map +0 -1
  209. package/dist/utils/buffer-pipeline/stages/group-by.d.ts +0 -25
  210. package/dist/utils/buffer-pipeline/stages/group-by.d.ts.map +0 -1
  211. package/dist/utils/buffer-pipeline/stages/group-by.js +0 -190
  212. package/dist/utils/buffer-pipeline/stages/group-by.js.map +0 -1
  213. package/dist/utils/buffer-pipeline/stages/select.d.ts +0 -54
  214. package/dist/utils/buffer-pipeline/stages/select.d.ts.map +0 -1
  215. package/dist/utils/buffer-pipeline/stages/select.js +0 -228
  216. package/dist/utils/buffer-pipeline/stages/select.js.map +0 -1
  217. package/dist/utils/buffer-pipeline/stages/sort.d.ts +0 -20
  218. package/dist/utils/buffer-pipeline/stages/sort.d.ts.map +0 -1
  219. package/dist/utils/buffer-pipeline/stages/sort.js +0 -96
  220. package/dist/utils/buffer-pipeline/stages/sort.js.map +0 -1
  221. package/dist/utils/buffer-pipeline/types.d.ts +0 -277
  222. package/dist/utils/buffer-pipeline/types.d.ts.map +0 -1
  223. package/dist/utils/buffer-pipeline/types.js +0 -8
  224. package/dist/utils/buffer-pipeline/types.js.map +0 -1
  225. package/dist/utils/plantuml/docker-manager.d.ts +0 -37
  226. package/dist/utils/plantuml/docker-manager.d.ts.map +0 -1
  227. package/dist/utils/plantuml/docker-manager.js +0 -284
  228. 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":"AAAA;;;;;GAKG;AAWH,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,iBAAiB;AACjB,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAYjF,oBAAoB;AACpB,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAExE;;GAEG;AACH,SAAS,WAAW,CAClB,OAAe,EACf,UAAkB,EAClB,KAAc,EACd,OAAkC;IAElC,OAAO;QACL,KAAK,EAAE,IAAI;QACX,OAAO;QACP,UAAU;QACV,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACvC,IAAe,EACf,QAA4B,EAC5B,OAAwB;IAExB,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;IAE/B,oCAAoC;IACpC,IAAI,KAAK,GAA8B,EAAE,CAAC;IAE1C,qCAAqC;IACrC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAC9C,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC,CAAC,CAAC;YACH,OAAO;gBACL,KAAK,EAAE,WAAW,CAChB,6BAA6B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC3D,GAAG,EACH,QAAQ,EACR;oBACE,eAAe,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;oBAClE,UAAU,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;iBACxE,CACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC7C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5B,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,wBAAwB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO;gBACL,KAAK,EAAE,WAAW,CAChB,6BAA6B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC3D,GAAG,EACH,QAAQ,EACR;oBACE,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAA4B,CAAC,CAAC,CAAC,CAAC,EAAE;iBAC1F,CACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC9C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,oBAAoB;IACpB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO;gBACL,KAAK,EAAE,WAAW,CAChB,8BAA8B,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC5D,GAAG,EACH,SAAS,EACT;oBACE,eAAe,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;iBAC/D,CACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChD,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,gBAAgB;IAChB,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC1C,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,iBAAiB;IACjB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IACjC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1E,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,cAAc,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;IAClD,CAAC;IAED,kBAAkB;IAClB,IAAI,cAA+B,CAAC;IACpC,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,cAAc,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvD,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB;IAClB,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;IACxC,IAAI,MAAc,CAAC;IACnB,IAAI,OAAe,CAAC;IAEpB,iEAAiE;IACjE,MAAM,oBAAoB,GAAG,CAAC,OAA4C,EAAwB,EAAE;QAClG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,8BAA8B;QAEnE,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,iEAAiE;YACjE,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrF,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC9B,qCAAqC;gBACrC,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACzC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;oBACrD,aAAa,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CACtD,CAAC;gBACF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,WAAW,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,cAAc,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM;gBAC1B,CAAC,CAAC,0FAA0F;gBAC5F,CAAC,CAAC,SAAS,CAAC;YACd,OAAO,WAAW,CAChB,kCAAkC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC5D,GAAG,EACH,QAAQ,EACR;gBACE,aAAa;gBACb,eAAe;gBACf,WAAW,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;gBAC7D,IAAI;aACL,CACF,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC3B,OAAO;oBACL,KAAK,EAAE,WAAW,CAAC,qDAAqD,EAAE,GAAG,EAAE,QAAQ,CAAC;iBACzF,CAAC;YACJ,CAAC;YACD,uCAAuC;YACvC,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAChC,CAAC;YACD,MAAM,GAAG,kBAAkB,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5E,OAAO,GAAG,oBAAoB,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/E,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAC3C,MAAM;QACR,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBAC1B,OAAO;oBACL,KAAK,EAAE,WAAW,CAAC,mDAAmD,EAAE,GAAG,EAAE,QAAQ,CAAC;iBACvF,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,iBAAiB,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC1E,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC7E,cAAc,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAC1C,MAAM;QACR,CAAC;QAED,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,GAAG,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvD,OAAO,GAAG,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC/D,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACpC,MAAM;QACR,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACvF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO;oBACL,KAAK,EAAE,WAAW,CAAC,2BAA2B,EAAE,GAAG,EAAE,QAAQ,CAAC;iBAC/D,CAAC;YACJ,CAAC;YACD,gDAAgD;YAChD,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;gBAClD,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,MAAM,SAAS,GAAG,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACxD,MAAM,GAAG,WAAW,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAChD,OAAO,GAAG,kBAAkB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YACxD,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACnC,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,IAAI,oBAAoB,CAAC,cAAc,CAAC,CAAC;YACzF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO;oBACL,KAAK,EAAE,WAAW,CAAC,gCAAgC,EAAE,GAAG,EAAE,QAAQ,CAAC;iBACpE,CAAC;YACJ,CAAC;YACD,gDAAgD;YAChD,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;gBACnC,MAAM,WAAW,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACpD,IAAI,WAAW,EAAE,CAAC;oBAChB,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,MAAM,QAAQ,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAClE,MAAM,GAAG,gBAAgB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YACpD,OAAO,GAAG,uBAAuB,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAC5D,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACxC,MAAM;QACR,CAAC;QAED;YACE,OAAO;gBACL,KAAK,EAAE,WAAW,CAAC,wBAAwB,UAAU,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC;aACxE,CAAC;IACN,CAAC;IAED,OAAO;QACL,MAAM,EAAE;YACN,QAAQ,EAAE,EAAE,EAAE,gBAAgB;YAC9B,UAAU,EAAE,UAAU;YACtB,WAAW,EAAE,WAAW;YACxB,cAAc,EAAE,cAAc;YAC9B,UAAU;YACV,OAAO;YACP,eAAe,EAAE,MAAM,CAAC,MAAM;YAC9B,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;SAC1B;QACD,MAAM;KACP,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,UAAsB;IACrC,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY;YACf,OAAO,0FAA0F,CAAC;QACpG,KAAK,MAAM;YACT,OAAO,qFAAqF,CAAC;QAC/F,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACb,OAAO,mCAAmC,CAAC;QAC7C;YACE,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAe,EACf,QAA4B;IAE5B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE1E,kBAAkB;IAClB,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,sDAAsD;QACtD,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACzD,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM;iBACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;gBACZ,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBACnD,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC;YACvC,CAAC,CAAC;iBACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAEzC,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,IAAI,CACX,6BAA6B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,2EAA2E,CACjI,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,mBAAmB;IACnB,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,UAAU,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3D,QAAQ,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,kBAAkB;IAClB,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;QACN,QAAQ;QACR,eAAe;KAChB,CAAC;AACJ,CAAC"}
@@ -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"}