@crypto512/jicon-mcp 1.2.0 → 2.0.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/README.md +73 -67
- package/TOOL_LIST.md +785 -133
- package/dist/config/constants.d.ts +18 -7
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +21 -8
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loader.d.ts +11 -11
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +53 -93
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +3 -6
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +2 -4
- package/dist/config/types.js.map +1 -1
- package/dist/confluence/formatters.js +1 -1
- package/dist/confluence/formatters.js.map +1 -1
- package/dist/confluence/tools.d.ts +8 -12
- package/dist/confluence/tools.d.ts.map +1 -1
- package/dist/confluence/tools.js +285 -233
- package/dist/confluence/tools.js.map +1 -1
- package/dist/index.js +17 -26
- package/dist/index.js.map +1 -1
- package/dist/jira/formatters.d.ts +1 -0
- package/dist/jira/formatters.d.ts.map +1 -1
- package/dist/jira/formatters.js +13 -12
- package/dist/jira/formatters.js.map +1 -1
- package/dist/jira/tools.d.ts +4 -0
- package/dist/jira/tools.d.ts.map +1 -1
- package/dist/jira/tools.js +234 -44
- package/dist/jira/tools.js.map +1 -1
- package/dist/permissions/tool-registry.d.ts +2 -2
- package/dist/permissions/tool-registry.d.ts.map +1 -1
- package/dist/permissions/tool-registry.js +4 -2
- package/dist/permissions/tool-registry.js.map +1 -1
- package/dist/permissions/write-home-validator.d.ts.map +1 -1
- package/dist/permissions/write-home-validator.js +13 -3
- package/dist/permissions/write-home-validator.js.map +1 -1
- package/dist/tempo/defaults.d.ts +17 -0
- package/dist/tempo/defaults.d.ts.map +1 -0
- package/dist/tempo/defaults.js +26 -0
- package/dist/tempo/defaults.js.map +1 -0
- package/dist/tempo/tools.d.ts +5 -0
- package/dist/tempo/tools.d.ts.map +1 -1
- package/dist/tempo/tools.js +161 -35
- package/dist/tempo/tools.js.map +1 -1
- package/dist/utils/buffer-pipeline/index.d.ts +30 -0
- package/dist/utils/buffer-pipeline/index.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/index.js +317 -0
- package/dist/utils/buffer-pipeline/index.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/csv.d.ts +20 -0
- package/dist/utils/buffer-pipeline/output/csv.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/csv.js +117 -0
- package/dist/utils/buffer-pipeline/output/csv.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/json.d.ts +16 -0
- package/dist/utils/buffer-pipeline/output/json.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/json.js +48 -0
- package/dist/utils/buffer-pipeline/output/json.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/markdown.d.ts +15 -0
- package/dist/utils/buffer-pipeline/output/markdown.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/markdown.js +105 -0
- package/dist/utils/buffer-pipeline/output/markdown.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts +16 -0
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/xhtml-list.js +81 -0
- package/dist/utils/buffer-pipeline/output/xhtml-list.js.map +1 -0
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts +15 -0
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/output/xhtml-table.js +176 -0
- package/dist/utils/buffer-pipeline/output/xhtml-table.js.map +1 -0
- package/dist/utils/buffer-pipeline/schema.d.ts +1878 -0
- package/dist/utils/buffer-pipeline/schema.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/schema.js +168 -0
- package/dist/utils/buffer-pipeline/schema.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/filter.d.ts +32 -0
- package/dist/utils/buffer-pipeline/stages/filter.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/filter.js +208 -0
- package/dist/utils/buffer-pipeline/stages/filter.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/format.d.ts +45 -0
- package/dist/utils/buffer-pipeline/stages/format.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/format.js +160 -0
- package/dist/utils/buffer-pipeline/stages/format.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts +25 -0
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/group-by.js +190 -0
- package/dist/utils/buffer-pipeline/stages/group-by.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/select.d.ts +54 -0
- package/dist/utils/buffer-pipeline/stages/select.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/select.js +228 -0
- package/dist/utils/buffer-pipeline/stages/select.js.map +1 -0
- package/dist/utils/buffer-pipeline/stages/sort.d.ts +20 -0
- package/dist/utils/buffer-pipeline/stages/sort.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/stages/sort.js +96 -0
- package/dist/utils/buffer-pipeline/stages/sort.js.map +1 -0
- package/dist/utils/buffer-pipeline/types.d.ts +277 -0
- package/dist/utils/buffer-pipeline/types.d.ts.map +1 -0
- package/dist/utils/buffer-pipeline/types.js +8 -0
- package/dist/utils/buffer-pipeline/types.js.map +1 -0
- package/dist/utils/buffer-tools.d.ts +749 -19
- package/dist/utils/buffer-tools.d.ts.map +1 -1
- package/dist/utils/buffer-tools.js +738 -491
- package/dist/utils/buffer-tools.js.map +1 -1
- package/dist/utils/content-buffer.d.ts +55 -4
- package/dist/utils/content-buffer.d.ts.map +1 -1
- package/dist/utils/content-buffer.js +107 -9
- package/dist/utils/content-buffer.js.map +1 -1
- package/dist/utils/jicon-help.d.ts +1 -1
- package/dist/utils/jicon-help.d.ts.map +1 -1
- package/dist/utils/jicon-help.js +345 -99
- package/dist/utils/jicon-help.js.map +1 -1
- package/dist/utils/json-structure.d.ts +121 -0
- package/dist/utils/json-structure.d.ts.map +1 -0
- package/dist/utils/json-structure.js +637 -0
- package/dist/utils/json-structure.js.map +1 -0
- package/dist/utils/plantuml/include-expander.d.ts +31 -30
- package/dist/utils/plantuml/include-expander.d.ts.map +1 -1
- package/dist/utils/plantuml/include-expander.js +167 -133
- package/dist/utils/plantuml/include-expander.js.map +1 -1
- package/dist/utils/plantuml/index.d.ts +3 -3
- package/dist/utils/plantuml/index.d.ts.map +1 -1
- package/dist/utils/plantuml/index.js +4 -4
- package/dist/utils/plantuml/index.js.map +1 -1
- package/dist/utils/plantuml/service.d.ts +13 -24
- package/dist/utils/plantuml/service.d.ts.map +1 -1
- package/dist/utils/plantuml/service.js +49 -99
- package/dist/utils/plantuml/service.js.map +1 -1
- package/dist/utils/plantuml/tools.d.ts.map +1 -1
- package/dist/utils/plantuml/tools.js +33 -72
- package/dist/utils/plantuml/tools.js.map +1 -1
- package/dist/utils/plantuml/types.d.ts +1 -35
- package/dist/utils/plantuml/types.d.ts.map +1 -1
- package/dist/utils/plantuml/types.js +1 -11
- package/dist/utils/plantuml/types.js.map +1 -1
- package/dist/utils/plantuml/validation-helper.d.ts +1 -1
- package/dist/utils/plantuml/validation-helper.js +12 -12
- package/dist/utils/plantuml/validation-helper.js.map +1 -1
- package/dist/utils/response-formatter.d.ts +68 -0
- package/dist/utils/response-formatter.d.ts.map +1 -1
- package/dist/utils/response-formatter.js +186 -78
- package/dist/utils/response-formatter.js.map +1 -1
- package/dist/utils/url-tools.d.ts.map +1 -1
- package/dist/utils/url-tools.js +22 -0
- package/dist/utils/url-tools.js.map +1 -1
- package/dist/utils/xhtml/error-locator.js +2 -2
- package/dist/utils/xhtml/error-locator.js.map +1 -1
- package/dist/utils/xhtml/index.d.ts +1 -1
- package/dist/utils/xhtml/index.d.ts.map +1 -1
- package/dist/utils/xhtml/index.js +1 -1
- package/dist/utils/xhtml/index.js.map +1 -1
- package/dist/utils/xhtml/parser.d.ts +34 -5
- package/dist/utils/xhtml/parser.d.ts.map +1 -1
- package/dist/utils/xhtml/parser.js +66 -11
- package/dist/utils/xhtml/parser.js.map +1 -1
- package/dist/utils/xhtml/plantuml.d.ts.map +1 -1
- package/dist/utils/xhtml/plantuml.js +5 -3
- package/dist/utils/xhtml/plantuml.js.map +1 -1
- package/dist/utils/xhtml/serializer.d.ts.map +1 -1
- package/dist/utils/xhtml/serializer.js +12 -15
- package/dist/utils/xhtml/serializer.js.map +1 -1
- package/dist/utils/xhtml/types.d.ts +1 -0
- package/dist/utils/xhtml/types.d.ts.map +1 -1
- package/package.json +12 -4
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Select Stage
|
|
3
|
+
*
|
|
4
|
+
* Extracts and transforms fields from input items.
|
|
5
|
+
* Supports dot-notation for nested fields, renaming, and value transformations.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Get a value from an object using dot notation path
|
|
9
|
+
* Handles nested objects and arrays
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* getFieldValue({ priority: { name: "High" } }, "priority.name") // "High"
|
|
13
|
+
* getFieldValue({ labels: ["bug", "ui"] }, "labels") // ["bug", "ui"]
|
|
14
|
+
* getFieldValue({ fields: { customfield_10001: "value" } }, "fields.customfield_10001") // "value"
|
|
15
|
+
*/
|
|
16
|
+
export function getFieldValue(item, path) {
|
|
17
|
+
if (item === null || item === undefined) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
const parts = path.split(".");
|
|
21
|
+
let value = item;
|
|
22
|
+
for (const part of parts) {
|
|
23
|
+
if (value === null || value === undefined) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
if (typeof value !== "object") {
|
|
27
|
+
return undefined;
|
|
28
|
+
}
|
|
29
|
+
// Handle array index notation (e.g., "items.0.name")
|
|
30
|
+
if (Array.isArray(value)) {
|
|
31
|
+
const index = parseInt(part, 10);
|
|
32
|
+
if (!isNaN(index)) {
|
|
33
|
+
value = value[index];
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
value = value[part];
|
|
38
|
+
}
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get the output field name from a field mapping
|
|
43
|
+
*/
|
|
44
|
+
export function getOutputFieldName(mapping) {
|
|
45
|
+
if (mapping.as) {
|
|
46
|
+
return mapping.as;
|
|
47
|
+
}
|
|
48
|
+
// Default: use last segment of path
|
|
49
|
+
const parts = mapping.from.split(".");
|
|
50
|
+
return parts[parts.length - 1];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Transform a value according to the specified transformation
|
|
54
|
+
*/
|
|
55
|
+
export function transformValue(value, transform) {
|
|
56
|
+
if (value === null || value === undefined) {
|
|
57
|
+
return value;
|
|
58
|
+
}
|
|
59
|
+
switch (transform) {
|
|
60
|
+
case "uppercase":
|
|
61
|
+
return typeof value === "string" ? value.toUpperCase() : String(value).toUpperCase();
|
|
62
|
+
case "lowercase":
|
|
63
|
+
return typeof value === "string" ? value.toLowerCase() : String(value).toLowerCase();
|
|
64
|
+
case "date":
|
|
65
|
+
// Parse ISO date and format as YYYY-MM-DD
|
|
66
|
+
if (typeof value === "string" || typeof value === "number") {
|
|
67
|
+
const date = new Date(value);
|
|
68
|
+
if (!isNaN(date.getTime())) {
|
|
69
|
+
return date.toISOString().split("T")[0];
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return value;
|
|
73
|
+
case "number":
|
|
74
|
+
if (typeof value === "number")
|
|
75
|
+
return value;
|
|
76
|
+
if (typeof value === "string") {
|
|
77
|
+
const num = parseFloat(value);
|
|
78
|
+
return isNaN(num) ? value : num;
|
|
79
|
+
}
|
|
80
|
+
return value;
|
|
81
|
+
case "boolean":
|
|
82
|
+
if (typeof value === "boolean")
|
|
83
|
+
return value;
|
|
84
|
+
if (typeof value === "string") {
|
|
85
|
+
const lower = value.toLowerCase();
|
|
86
|
+
if (lower === "true" || lower === "yes" || lower === "1")
|
|
87
|
+
return true;
|
|
88
|
+
if (lower === "false" || lower === "no" || lower === "0")
|
|
89
|
+
return false;
|
|
90
|
+
}
|
|
91
|
+
if (typeof value === "number")
|
|
92
|
+
return value !== 0;
|
|
93
|
+
return Boolean(value);
|
|
94
|
+
case "string":
|
|
95
|
+
if (typeof value === "string")
|
|
96
|
+
return value;
|
|
97
|
+
if (value === null)
|
|
98
|
+
return "null";
|
|
99
|
+
if (value === undefined)
|
|
100
|
+
return "undefined";
|
|
101
|
+
if (Array.isArray(value))
|
|
102
|
+
return value.join(", ");
|
|
103
|
+
if (typeof value === "object")
|
|
104
|
+
return JSON.stringify(value);
|
|
105
|
+
return String(value);
|
|
106
|
+
default:
|
|
107
|
+
return value;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Apply select stage to a single item
|
|
112
|
+
* Returns a new object with only the selected fields
|
|
113
|
+
*/
|
|
114
|
+
export function selectItem(item, config) {
|
|
115
|
+
const result = {};
|
|
116
|
+
for (const mapping of config.fields) {
|
|
117
|
+
const value = getFieldValue(item, mapping.from);
|
|
118
|
+
const outputName = getOutputFieldName(mapping);
|
|
119
|
+
const transformedValue = mapping.transform
|
|
120
|
+
? transformValue(value, mapping.transform)
|
|
121
|
+
: value;
|
|
122
|
+
result[outputName] = transformedValue;
|
|
123
|
+
}
|
|
124
|
+
return result;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Apply select stage to all items
|
|
128
|
+
* If no select config is provided, passes items through unchanged
|
|
129
|
+
*/
|
|
130
|
+
export function executeSelect(items, config) {
|
|
131
|
+
if (!config) {
|
|
132
|
+
// No select: pass through as-is (assuming items are objects)
|
|
133
|
+
return items.map((item) => {
|
|
134
|
+
if (item !== null && typeof item === "object" && !Array.isArray(item)) {
|
|
135
|
+
// Strip internal __jicon_id field
|
|
136
|
+
const { __jicon_id, ...rest } = item;
|
|
137
|
+
return rest;
|
|
138
|
+
}
|
|
139
|
+
return { value: item };
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
return items.map((item) => selectItem(item, config));
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Extract all available field paths from an item (for error suggestions)
|
|
146
|
+
* Limited to first 2 levels to avoid overwhelming output
|
|
147
|
+
*/
|
|
148
|
+
export function extractFieldPaths(item, prefix = "", depth = 0, maxDepth = 2) {
|
|
149
|
+
const paths = [];
|
|
150
|
+
if (item === null || item === undefined || typeof item !== "object") {
|
|
151
|
+
return paths;
|
|
152
|
+
}
|
|
153
|
+
if (Array.isArray(item)) {
|
|
154
|
+
// For arrays, just note it's an array
|
|
155
|
+
if (prefix) {
|
|
156
|
+
paths.push(`${prefix}[]`);
|
|
157
|
+
}
|
|
158
|
+
// Sample first element for structure
|
|
159
|
+
if (item.length > 0 && depth < maxDepth) {
|
|
160
|
+
paths.push(...extractFieldPaths(item[0], prefix ? `${prefix}[0]` : "[0]", depth + 1, maxDepth));
|
|
161
|
+
}
|
|
162
|
+
return paths;
|
|
163
|
+
}
|
|
164
|
+
const obj = item;
|
|
165
|
+
for (const key of Object.keys(obj)) {
|
|
166
|
+
// Skip internal fields
|
|
167
|
+
if (key.startsWith("__"))
|
|
168
|
+
continue;
|
|
169
|
+
const path = prefix ? `${prefix}.${key}` : key;
|
|
170
|
+
paths.push(path);
|
|
171
|
+
// Recurse into nested objects
|
|
172
|
+
if (depth < maxDepth && obj[key] !== null && typeof obj[key] === "object") {
|
|
173
|
+
paths.push(...extractFieldPaths(obj[key], path, depth + 1, maxDepth));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
return paths;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Validate select config and return errors if any fields don't exist
|
|
180
|
+
*/
|
|
181
|
+
export function validateSelectConfig(items, config) {
|
|
182
|
+
const errors = [];
|
|
183
|
+
const suggestions = new Map();
|
|
184
|
+
if (items.length === 0) {
|
|
185
|
+
return { valid: true, errors: [], suggestions };
|
|
186
|
+
}
|
|
187
|
+
// Sample first item for validation
|
|
188
|
+
const sampleItem = items[0];
|
|
189
|
+
const availablePaths = extractFieldPaths(sampleItem);
|
|
190
|
+
for (const mapping of config.fields) {
|
|
191
|
+
const value = getFieldValue(sampleItem, mapping.from);
|
|
192
|
+
if (value === undefined) {
|
|
193
|
+
// Field not found - find similar fields for suggestion
|
|
194
|
+
const similarFields = availablePaths.filter((path) => {
|
|
195
|
+
const lastPart = mapping.from.split(".").pop()?.toLowerCase() || "";
|
|
196
|
+
return path.toLowerCase().includes(lastPart) || lastPart.includes(path.split(".").pop()?.toLowerCase() || "");
|
|
197
|
+
});
|
|
198
|
+
errors.push(`Field '${mapping.from}' not found`);
|
|
199
|
+
if (similarFields.length > 0) {
|
|
200
|
+
suggestions.set(mapping.from, similarFields.slice(0, 3));
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
return {
|
|
205
|
+
valid: errors.length === 0,
|
|
206
|
+
errors,
|
|
207
|
+
suggestions,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Get the field names that will be available after executing a select stage.
|
|
212
|
+
* If no select config, returns the original field names from the data.
|
|
213
|
+
*/
|
|
214
|
+
export function getPostSelectFieldNames(items, config) {
|
|
215
|
+
if (!config) {
|
|
216
|
+
// No select: return original field names
|
|
217
|
+
if (items.length === 0)
|
|
218
|
+
return [];
|
|
219
|
+
const sampleItem = items[0];
|
|
220
|
+
if (sampleItem !== null && typeof sampleItem === "object" && !Array.isArray(sampleItem)) {
|
|
221
|
+
return Object.keys(sampleItem).filter(k => !k.startsWith("__"));
|
|
222
|
+
}
|
|
223
|
+
return ["value"];
|
|
224
|
+
}
|
|
225
|
+
// Return the output names from the select config
|
|
226
|
+
return config.fields.map((mapping) => getOutputFieldName(mapping));
|
|
227
|
+
}
|
|
228
|
+
//# sourceMappingURL=select.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../../../src/utils/buffer-pipeline/stages/select.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sort Stage
|
|
3
|
+
*
|
|
4
|
+
* Sorts items by one or more fields.
|
|
5
|
+
* Supports ascending and descending order.
|
|
6
|
+
*/
|
|
7
|
+
import type { SortConfig } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Execute sort stage
|
|
10
|
+
* Sorts items by multiple fields in order
|
|
11
|
+
*/
|
|
12
|
+
export declare function executeSort(items: Record<string, unknown>[], configs?: SortConfig[]): Record<string, unknown>[];
|
|
13
|
+
/**
|
|
14
|
+
* Validate sort config
|
|
15
|
+
*/
|
|
16
|
+
export declare function validateSortConfig(items: unknown[], configs: SortConfig[]): {
|
|
17
|
+
valid: boolean;
|
|
18
|
+
warnings: string[];
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=sort.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../../src/utils/buffer-pipeline/stages/sort.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAoD9C;;;GAGG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAChC,OAAO,CAAC,EAAE,UAAU,EAAE,GACrB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAuB3B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,EAAE,UAAU,EAAE,GACpB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAoBxC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sort Stage
|
|
3
|
+
*
|
|
4
|
+
* Sorts items by one or more fields.
|
|
5
|
+
* Supports ascending and descending order.
|
|
6
|
+
*/
|
|
7
|
+
import { getFieldValue } from "./select.js";
|
|
8
|
+
/**
|
|
9
|
+
* Compare two values for sorting
|
|
10
|
+
* Returns negative if a < b, positive if a > b, 0 if equal
|
|
11
|
+
*/
|
|
12
|
+
function compareValues(a, b) {
|
|
13
|
+
// Handle null/undefined - sort them last
|
|
14
|
+
if (a === null || a === undefined) {
|
|
15
|
+
if (b === null || b === undefined)
|
|
16
|
+
return 0;
|
|
17
|
+
return 1; // nulls last
|
|
18
|
+
}
|
|
19
|
+
if (b === null || b === undefined) {
|
|
20
|
+
return -1; // nulls last
|
|
21
|
+
}
|
|
22
|
+
// Numeric comparison
|
|
23
|
+
if (typeof a === "number" && typeof b === "number") {
|
|
24
|
+
return a - b;
|
|
25
|
+
}
|
|
26
|
+
// Try numeric comparison for strings that look like numbers
|
|
27
|
+
if (typeof a === "string" && typeof b === "string") {
|
|
28
|
+
const numA = parseFloat(a);
|
|
29
|
+
const numB = parseFloat(b);
|
|
30
|
+
if (!isNaN(numA) && !isNaN(numB)) {
|
|
31
|
+
return numA - numB;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
// Date comparison
|
|
35
|
+
if (typeof a === "string" && typeof b === "string") {
|
|
36
|
+
// Check if both look like dates
|
|
37
|
+
const dateA = Date.parse(a);
|
|
38
|
+
const dateB = Date.parse(b);
|
|
39
|
+
if (!isNaN(dateA) && !isNaN(dateB)) {
|
|
40
|
+
return dateA - dateB;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
// Boolean comparison (false < true)
|
|
44
|
+
if (typeof a === "boolean" && typeof b === "boolean") {
|
|
45
|
+
return a === b ? 0 : a ? 1 : -1;
|
|
46
|
+
}
|
|
47
|
+
// String comparison (case-insensitive)
|
|
48
|
+
const strA = String(a).toLowerCase();
|
|
49
|
+
const strB = String(b).toLowerCase();
|
|
50
|
+
return strA.localeCompare(strB);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Execute sort stage
|
|
54
|
+
* Sorts items by multiple fields in order
|
|
55
|
+
*/
|
|
56
|
+
export function executeSort(items, configs) {
|
|
57
|
+
if (!configs || configs.length === 0) {
|
|
58
|
+
return items;
|
|
59
|
+
}
|
|
60
|
+
// Create a copy to avoid mutating original
|
|
61
|
+
const sorted = [...items];
|
|
62
|
+
sorted.sort((a, b) => {
|
|
63
|
+
for (const config of configs) {
|
|
64
|
+
const valueA = getFieldValue(a, config.field);
|
|
65
|
+
const valueB = getFieldValue(b, config.field);
|
|
66
|
+
const comparison = compareValues(valueA, valueB);
|
|
67
|
+
if (comparison !== 0) {
|
|
68
|
+
// Apply direction
|
|
69
|
+
return config.direction === "desc" ? -comparison : comparison;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return 0;
|
|
73
|
+
});
|
|
74
|
+
return sorted;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Validate sort config
|
|
78
|
+
*/
|
|
79
|
+
export function validateSortConfig(items, configs) {
|
|
80
|
+
const warnings = [];
|
|
81
|
+
if (items.length === 0) {
|
|
82
|
+
return { valid: true, warnings: [] };
|
|
83
|
+
}
|
|
84
|
+
const sampleItem = items[0];
|
|
85
|
+
for (const config of configs) {
|
|
86
|
+
const value = getFieldValue(sampleItem, config.field);
|
|
87
|
+
if (value === undefined) {
|
|
88
|
+
warnings.push(`Sort field '${config.field}' not found in items`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
valid: true, // Sort doesn't fail on missing fields, just warns
|
|
93
|
+
warnings,
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=sort.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../../src/utils/buffer-pipeline/stages/sort.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Buffer Pipeline Types
|
|
3
|
+
*
|
|
4
|
+
* Declarative JSON DSL for data transformation pipelines.
|
|
5
|
+
* Executes extract→filter→transform→aggregate→output server-side.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Field mapping for the select stage
|
|
9
|
+
*/
|
|
10
|
+
export interface FieldMapping {
|
|
11
|
+
/** Source field path using dot notation (e.g., "priority.name", "fields.customfield_10001") */
|
|
12
|
+
from: string;
|
|
13
|
+
/** Output field name (default: last segment of path) */
|
|
14
|
+
as?: string;
|
|
15
|
+
/** Transform the value before output */
|
|
16
|
+
transform?: "uppercase" | "lowercase" | "date" | "number" | "boolean" | "string";
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Filter condition operators
|
|
20
|
+
*/
|
|
21
|
+
export type FilterOperator = "eq" | "ne" | "gt" | "lt" | "gte" | "lte" | "contains" | "startsWith" | "endsWith" | "in" | "notIn" | "exists" | "notExists" | "regex" | "empty" | "notEmpty";
|
|
22
|
+
/**
|
|
23
|
+
* Filter condition.
|
|
24
|
+
*
|
|
25
|
+
* Each condition evaluates its own field/operator, then OR-s with any
|
|
26
|
+
* nested `or` conditions (i.e., the item matches if the parent condition
|
|
27
|
+
* OR any child condition matches).
|
|
28
|
+
* Multiple conditions in the filter array are AND-ed together.
|
|
29
|
+
*/
|
|
30
|
+
export interface FilterCondition {
|
|
31
|
+
/** Field path to filter on */
|
|
32
|
+
field: string;
|
|
33
|
+
/** Comparison operator */
|
|
34
|
+
operator: FilterOperator;
|
|
35
|
+
/** Value to compare against (not needed for exists/empty operators) */
|
|
36
|
+
value?: unknown;
|
|
37
|
+
/** Nested OR conditions */
|
|
38
|
+
or?: FilterCondition[];
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Aggregation functions for groupBy
|
|
42
|
+
*/
|
|
43
|
+
export type AggregationFunction = "count" | "sum" | "avg" | "min" | "max" | "first" | "last" | "list" | "unique";
|
|
44
|
+
/**
|
|
45
|
+
* Aggregation definition
|
|
46
|
+
*/
|
|
47
|
+
export interface Aggregation {
|
|
48
|
+
/** Aggregation function */
|
|
49
|
+
function: AggregationFunction;
|
|
50
|
+
/** Field to aggregate (required for sum/avg/min/max, optional for count) */
|
|
51
|
+
field?: string;
|
|
52
|
+
/** Output field name */
|
|
53
|
+
as: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Group by configuration
|
|
57
|
+
*/
|
|
58
|
+
export interface GroupByConfig {
|
|
59
|
+
/** Field to group by */
|
|
60
|
+
field: string;
|
|
61
|
+
/** Aggregations to compute for each group */
|
|
62
|
+
aggregations: Aggregation[];
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Sort direction
|
|
66
|
+
*/
|
|
67
|
+
export interface SortConfig {
|
|
68
|
+
/** Field to sort by */
|
|
69
|
+
field: string;
|
|
70
|
+
/** Sort direction (default: "asc") */
|
|
71
|
+
direction?: "asc" | "desc";
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Style configuration for conditional formatting
|
|
75
|
+
*/
|
|
76
|
+
export interface StyleConfig {
|
|
77
|
+
/** CSS class to apply (for XHTML output) */
|
|
78
|
+
cssClass?: string;
|
|
79
|
+
/** Text prefix */
|
|
80
|
+
prefix?: string;
|
|
81
|
+
/** Text suffix */
|
|
82
|
+
suffix?: string;
|
|
83
|
+
/** Text color (hex or named color) */
|
|
84
|
+
color?: string;
|
|
85
|
+
/** Background color (hex or named color) */
|
|
86
|
+
backgroundColor?: string;
|
|
87
|
+
/** Bold text */
|
|
88
|
+
bold?: boolean;
|
|
89
|
+
/** Italic text */
|
|
90
|
+
italic?: boolean;
|
|
91
|
+
/** Icon to display (emoji or text) */
|
|
92
|
+
icon?: string;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Conditional format rule
|
|
96
|
+
*/
|
|
97
|
+
export interface ConditionalFormat {
|
|
98
|
+
/** Condition that triggers this format */
|
|
99
|
+
condition: FilterCondition;
|
|
100
|
+
/** Style to apply when condition matches */
|
|
101
|
+
style: StyleConfig;
|
|
102
|
+
/** Fields to apply style to (default: all fields) */
|
|
103
|
+
fields?: string[];
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Link configuration for table columns
|
|
107
|
+
*/
|
|
108
|
+
export interface LinkConfig {
|
|
109
|
+
/** Link type - determines URL pattern */
|
|
110
|
+
type: "jira" | "confluence" | "tempo" | "custom";
|
|
111
|
+
/** Custom URL template with {{field}} placeholders */
|
|
112
|
+
template?: string;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Table column definition
|
|
116
|
+
*/
|
|
117
|
+
export interface TableColumn {
|
|
118
|
+
/** Field name (after select/rename) */
|
|
119
|
+
field: string;
|
|
120
|
+
/** Column header text */
|
|
121
|
+
header: string;
|
|
122
|
+
/** Link configuration */
|
|
123
|
+
link?: LinkConfig;
|
|
124
|
+
/** CSS width (e.g., "100px", "20%") */
|
|
125
|
+
width?: string;
|
|
126
|
+
/** Text alignment */
|
|
127
|
+
align?: "left" | "center" | "right";
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Table output configuration
|
|
131
|
+
*/
|
|
132
|
+
export interface TableOutputConfig {
|
|
133
|
+
/** Table title (optional) */
|
|
134
|
+
title?: string;
|
|
135
|
+
/** Column definitions */
|
|
136
|
+
columns: TableColumn[];
|
|
137
|
+
/** Show row numbers */
|
|
138
|
+
showRowNumbers?: boolean;
|
|
139
|
+
/** CSS class for the table */
|
|
140
|
+
tableClass?: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* List output configuration
|
|
144
|
+
*/
|
|
145
|
+
export interface ListOutputConfig {
|
|
146
|
+
/** List title (optional) */
|
|
147
|
+
title?: string;
|
|
148
|
+
/** Template with {{field}} placeholders for each item */
|
|
149
|
+
template: string;
|
|
150
|
+
/** List style (default: "bullet") */
|
|
151
|
+
style?: "bullet" | "numbered" | "none";
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Output type
|
|
155
|
+
*/
|
|
156
|
+
export type OutputType = "xhtml_table" | "xhtml_list" | "json" | "csv" | "markdown";
|
|
157
|
+
/**
|
|
158
|
+
* Output configuration
|
|
159
|
+
*/
|
|
160
|
+
export interface OutputConfig {
|
|
161
|
+
/** Output format type */
|
|
162
|
+
type: OutputType;
|
|
163
|
+
/** Table configuration (required for xhtml_table) */
|
|
164
|
+
table?: TableOutputConfig;
|
|
165
|
+
/** List configuration (required for xhtml_list) */
|
|
166
|
+
list?: ListOutputConfig;
|
|
167
|
+
/** Include metadata (item count, timestamp) in output */
|
|
168
|
+
includeMetadata?: boolean;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Select stage configuration
|
|
172
|
+
*/
|
|
173
|
+
export interface SelectConfig {
|
|
174
|
+
/** Fields to include in output */
|
|
175
|
+
fields: FieldMapping[];
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Complete pipeline definition
|
|
179
|
+
*/
|
|
180
|
+
export interface PipelineDefinition {
|
|
181
|
+
/** Stage 1: Field selection (like SQL SELECT) */
|
|
182
|
+
select?: SelectConfig;
|
|
183
|
+
/** Stage 2: Filtering (like SQL WHERE) */
|
|
184
|
+
filter?: FilterCondition[];
|
|
185
|
+
/** Stage 3: Grouping and aggregation (like SQL GROUP BY) */
|
|
186
|
+
groupBy?: GroupByConfig;
|
|
187
|
+
/** Stage 4: Sorting (like SQL ORDER BY) */
|
|
188
|
+
sort?: SortConfig[];
|
|
189
|
+
/** Stage 5: Limit results */
|
|
190
|
+
limit?: number;
|
|
191
|
+
/** Stage 6: Conditional formatting */
|
|
192
|
+
format?: ConditionalFormat[];
|
|
193
|
+
/** Stage 7: Output configuration (required) */
|
|
194
|
+
output: OutputConfig;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Pipeline execution context
|
|
198
|
+
* Passed through all stages
|
|
199
|
+
*/
|
|
200
|
+
export interface PipelineContext {
|
|
201
|
+
/** Source buffer ID */
|
|
202
|
+
sourceBufferId: string;
|
|
203
|
+
/** Jira base URL for links */
|
|
204
|
+
jiraUrl?: string;
|
|
205
|
+
/** Confluence base URL for links */
|
|
206
|
+
confluenceUrl?: string;
|
|
207
|
+
/** Source buffer metadata */
|
|
208
|
+
metadata?: Record<string, unknown>;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Pipeline execution result
|
|
212
|
+
*/
|
|
213
|
+
export interface PipelineResult {
|
|
214
|
+
/** New buffer ID containing output */
|
|
215
|
+
bufferId: string;
|
|
216
|
+
/** Number of items in source buffer */
|
|
217
|
+
inputItems: number;
|
|
218
|
+
/** Number of items after filter/group (before limit) */
|
|
219
|
+
outputItems: number;
|
|
220
|
+
/** Pipeline stages that were executed */
|
|
221
|
+
pipelineStages: string[];
|
|
222
|
+
/** Output format type */
|
|
223
|
+
outputType: OutputType;
|
|
224
|
+
/** Preview of first few rows/items */
|
|
225
|
+
preview: string;
|
|
226
|
+
/** Size of output buffer in bytes */
|
|
227
|
+
bufferSizeBytes: number;
|
|
228
|
+
/** XHTML structure (for xhtml_table/xhtml_list) */
|
|
229
|
+
structure?: Array<{
|
|
230
|
+
id: number;
|
|
231
|
+
type: string;
|
|
232
|
+
text?: string;
|
|
233
|
+
children?: number;
|
|
234
|
+
}>;
|
|
235
|
+
/** Next available element ID */
|
|
236
|
+
nextId?: number;
|
|
237
|
+
/** Hint for next action */
|
|
238
|
+
hint: string;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Pipeline error with stage context
|
|
242
|
+
*/
|
|
243
|
+
export interface PipelineError {
|
|
244
|
+
/** Error flag */
|
|
245
|
+
error: true;
|
|
246
|
+
/** Error message */
|
|
247
|
+
message: string;
|
|
248
|
+
/** HTTP-like status code */
|
|
249
|
+
statusCode: number;
|
|
250
|
+
/** Stage where error occurred */
|
|
251
|
+
stage?: string;
|
|
252
|
+
/** Index within stage (e.g., which filter condition) */
|
|
253
|
+
stageIndex?: number;
|
|
254
|
+
/** Additional error details */
|
|
255
|
+
details?: {
|
|
256
|
+
field?: string;
|
|
257
|
+
availableFields?: string[];
|
|
258
|
+
suggestion?: string;
|
|
259
|
+
[key: string]: unknown;
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Intermediate data item with formatting applied
|
|
264
|
+
*/
|
|
265
|
+
export interface FormattedItem {
|
|
266
|
+
/** Original data */
|
|
267
|
+
data: Record<string, unknown>;
|
|
268
|
+
/**
|
|
269
|
+
* Styles to apply per field.
|
|
270
|
+
* Internal-only: Map is not JSON-serializable. Output generators
|
|
271
|
+
* read this directly; it is never sent over the wire.
|
|
272
|
+
*/
|
|
273
|
+
styles: Map<string, StyleConfig>;
|
|
274
|
+
/** Row-level style */
|
|
275
|
+
rowStyle?: StyleConfig;
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/buffer-pipeline/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/buffer-pipeline/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|