@standardbeagle/dart-query 0.8.2 → 0.12.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.
Files changed (66) hide show
  1. package/README.md +8 -3
  2. package/TOOLS.md +144 -17
  3. package/dist/api/dartClient.d.ts +3 -10
  4. package/dist/api/dartClient.d.ts.map +1 -1
  5. package/dist/api/dartClient.js +62 -15
  6. package/dist/api/dartClient.js.map +1 -1
  7. package/dist/api/relationshipNormalizer.d.ts +4 -0
  8. package/dist/api/relationshipNormalizer.d.ts.map +1 -0
  9. package/dist/api/relationshipNormalizer.js +86 -0
  10. package/dist/api/relationshipNormalizer.js.map +1 -0
  11. package/dist/index.js +184 -26
  12. package/dist/index.js.map +1 -1
  13. package/dist/parsers/dartql.d.ts.map +1 -1
  14. package/dist/parsers/dartql.js +60 -2
  15. package/dist/parsers/dartql.js.map +1 -1
  16. package/dist/tools/add_task_comment.d.ts.map +1 -1
  17. package/dist/tools/add_task_comment.js +2 -6
  18. package/dist/tools/add_task_comment.js.map +1 -1
  19. package/dist/tools/add_time_tracking.d.ts.map +1 -1
  20. package/dist/tools/add_time_tracking.js +2 -4
  21. package/dist/tools/add_time_tracking.js.map +1 -1
  22. package/dist/tools/attach_url.d.ts.map +1 -1
  23. package/dist/tools/attach_url.js +2 -4
  24. package/dist/tools/attach_url.js.map +1 -1
  25. package/dist/tools/create_task.d.ts.map +1 -1
  26. package/dist/tools/create_task.js +28 -4
  27. package/dist/tools/create_task.js.map +1 -1
  28. package/dist/tools/dartai_loop_snapshot.d.ts +3 -0
  29. package/dist/tools/dartai_loop_snapshot.d.ts.map +1 -0
  30. package/dist/tools/dartai_loop_snapshot.js +84 -0
  31. package/dist/tools/dartai_loop_snapshot.js.map +1 -0
  32. package/dist/tools/delete_task.d.ts.map +1 -1
  33. package/dist/tools/delete_task.js +2 -4
  34. package/dist/tools/delete_task.js.map +1 -1
  35. package/dist/tools/get_task.d.ts.map +1 -1
  36. package/dist/tools/get_task.js +2 -4
  37. package/dist/tools/get_task.js.map +1 -1
  38. package/dist/tools/import_tasks_csv.js +4 -4
  39. package/dist/tools/import_tasks_csv.js.map +1 -1
  40. package/dist/tools/info.d.ts.map +1 -1
  41. package/dist/tools/info.js +6 -2
  42. package/dist/tools/info.js.map +1 -1
  43. package/dist/tools/link_tasks.d.ts +5 -0
  44. package/dist/tools/link_tasks.d.ts.map +1 -0
  45. package/dist/tools/link_tasks.js +83 -0
  46. package/dist/tools/link_tasks.js.map +1 -0
  47. package/dist/tools/list_tasks.js +5 -0
  48. package/dist/tools/list_tasks.js.map +1 -1
  49. package/dist/tools/move_task.d.ts.map +1 -1
  50. package/dist/tools/move_task.js +2 -4
  51. package/dist/tools/move_task.js.map +1 -1
  52. package/dist/tools/relationshipMirror.d.ts +24 -0
  53. package/dist/tools/relationshipMirror.d.ts.map +1 -0
  54. package/dist/tools/relationshipMirror.js +163 -0
  55. package/dist/tools/relationshipMirror.js.map +1 -0
  56. package/dist/tools/search_tasks.d.ts.map +1 -1
  57. package/dist/tools/search_tasks.js +32 -13
  58. package/dist/tools/search_tasks.js.map +1 -1
  59. package/dist/tools/update_task.d.ts.map +1 -1
  60. package/dist/tools/update_task.js +135 -47
  61. package/dist/tools/update_task.js.map +1 -1
  62. package/dist/types/index.d.ts +72 -18
  63. package/dist/types/index.d.ts.map +1 -1
  64. package/dist/types/index.js +20 -2
  65. package/dist/types/index.js.map +1 -1
  66. package/package.json +6 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationshipMirror.js","sourceRoot":"","sources":["../../src/tools/relationshipMirror.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"search_tasks.d.ts","sourceRoot":"","sources":["../../src/tools/search_tasks.ts"],"names":[],"mappings":"AASA,OAAO,EAIL,gBAAgB,EAChB,iBAAiB,EAGlB,MAAM,mBAAmB,CAAC;AAc3B,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsE3F"}
1
+ {"version":3,"file":"search_tasks.d.ts","sourceRoot":"","sources":["../../src/tools/search_tasks.ts"],"names":[],"mappings":"AASA,OAAO,EAIL,gBAAgB,EAChB,iBAAiB,EAGlB,MAAM,mBAAmB,CAAC;AAc3B,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAiF3F"}
@@ -17,15 +17,21 @@ export async function handleSearchTasks(input) {
17
17
  const client = new DartClient({ token: DART_TOKEN });
18
18
  const queryParsed = parseQuery(query);
19
19
  if (queryParsed.terms.length === 0 && queryParsed.phrases.length === 0) {
20
+ if (Object.keys(queryParsed.filters).length > 0) {
21
+ throw new ValidationError('query must contain search terms in addition to filters. Use list_tasks for filter-only queries.', 'query');
22
+ }
20
23
  throw new ValidationError('query must contain at least one search term or phrase (not just exclusions)', 'query');
21
24
  }
22
25
  const limit = validateLimit(safeInput.limit);
23
26
  let dartboardId;
24
- if (safeInput.dartboard) {
25
- dartboardId = await resolveDartboard(safeInput.dartboard, client);
27
+ const dartboardName = safeInput.dartboard || queryParsed.filters.dartboard;
28
+ if (dartboardName) {
29
+ dartboardId = await resolveDartboard(dartboardName, client);
26
30
  }
31
+ const statusFilter = queryParsed.filters.status;
32
+ const assigneeFilter = queryParsed.filters.assignee;
27
33
  const searchMethod = 'client_side';
28
- const tasks = await fetchAllTasks(client, dartboardId, safeInput.include_completed);
34
+ const tasks = await fetchAllTasks(client, dartboardId, safeInput.include_completed, statusFilter, assigneeFilter);
29
35
  const searchResults = performClientSideSearch(tasks, queryParsed);
30
36
  searchResults.sort((a, b) => b.relevance_score - a.relevance_score);
31
37
  const limitedResults = searchResults.slice(0, limit);
@@ -37,14 +43,25 @@ export async function handleSearchTasks(input) {
37
43
  search_method: searchMethod,
38
44
  };
39
45
  }
46
+ const INLINE_FILTER_KEYS = new Set(['dartboard', 'status', 'assignee', 'priority']);
40
47
  function parseQuery(query) {
41
48
  const phrases = [];
42
49
  const exclusions = [];
43
50
  const terms = [];
51
+ const filters = {};
44
52
  let remaining = query;
45
- const phraseRegex = /["']([^"']+)["']/g;
46
53
  let match;
47
- while ((match = phraseRegex.exec(query)) !== null) {
54
+ const filterRegex = /(\w+):(?:"([^"]+)"|'([^']+)'|(\S+))/g;
55
+ while ((match = filterRegex.exec(remaining)) !== null) {
56
+ const key = match[1].toLowerCase();
57
+ const value = match[2] || match[3] || match[4];
58
+ if (INLINE_FILTER_KEYS.has(key)) {
59
+ filters[key] = value;
60
+ remaining = remaining.replace(match[0], ' ');
61
+ }
62
+ }
63
+ const phraseRegex = /["']([^"']+)["']/g;
64
+ while ((match = phraseRegex.exec(remaining)) !== null) {
48
65
  phrases.push(match[1].toLowerCase());
49
66
  remaining = remaining.replace(match[0], ' ');
50
67
  }
@@ -58,7 +75,7 @@ function parseQuery(query) {
58
75
  .map(t => t.trim().toLowerCase())
59
76
  .filter(t => t.length > 0);
60
77
  terms.push(...remainingTerms);
61
- return { terms, phrases, exclusions };
78
+ return { terms, phrases, exclusions, filters };
62
79
  }
63
80
  function validateLimit(limit) {
64
81
  if (limit === undefined || limit === null) {
@@ -101,25 +118,23 @@ async function resolveDartboard(dartboard, client) {
101
118
  }
102
119
  return typeof matchedDartboard === 'string' ? matchedDartboard : matchedDartboard.dart_id;
103
120
  }
104
- async function fetchAllTasks(client, dartboardId, includeCompleted) {
121
+ async function fetchAllTasks(client, dartboardId, includeCompleted, status, assignee) {
105
122
  const allTasks = [];
106
- const fetchLimit = 500;
107
- const maxTotalTasks = 10000;
123
+ const fetchLimit = 100;
124
+ const maxTotalTasks = dartboardId ? 10000 : 2000;
108
125
  let offset = 0;
109
126
  let hasMore = true;
110
127
  while (hasMore && allTasks.length < maxTotalTasks) {
111
128
  const response = await client.listTasks({
112
129
  dartboard: dartboardId,
130
+ status,
131
+ assignee,
113
132
  limit: fetchLimit,
114
133
  offset,
115
- detail_level: 'full',
116
134
  });
117
135
  allTasks.push(...response.tasks);
118
136
  hasMore = offset + fetchLimit < response.total;
119
137
  offset += fetchLimit;
120
- if (allTasks.length >= maxTotalTasks) {
121
- break;
122
- }
123
138
  }
124
139
  if (!includeCompleted) {
125
140
  return allTasks.filter(task => !task.completed_at);
@@ -208,6 +223,8 @@ function applyProgressiveDetail(results) {
208
223
  assignees: result.assignees,
209
224
  dartboard: result.dartboard,
210
225
  dartboard_id: result.dartboard_id,
226
+ parent_task: result.parent_task,
227
+ blocker_ids: result.blocker_ids,
211
228
  created_at: result.created_at,
212
229
  updated_at: result.updated_at,
213
230
  relevance_score: result.relevance_score,
@@ -217,6 +234,8 @@ function applyProgressiveDetail(results) {
217
234
  return {
218
235
  dart_id: result.dart_id,
219
236
  title: result.title,
237
+ parent_task: result.parent_task,
238
+ blocker_ids: result.blocker_ids,
220
239
  created_at: result.created_at,
221
240
  updated_at: result.updated_at,
222
241
  relevance_score: result.relevance_score,
@@ -1 +1 @@
1
- {"version":3,"file":"search_tasks.js","sourceRoot":"","sources":["../../src/tools/search_tasks.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAEL,YAAY,EACZ,eAAe,EAGf,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAuB;IAE7D,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC;IAG9B,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAI,eAAe,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CAAC,0CAA0C,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CACpB,4GAA4G,EAC5G,GAAG,CACJ,CAAC;IACJ,CAAC;IAGD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAGrD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAGtC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,eAAe,CACvB,6EAA6E,EAC7E,OAAO,CACR,CAAC;IACJ,CAAC;IAGD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAG7C,IAAI,WAA+B,CAAC;IACpC,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QACxB,WAAW,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IAID,MAAM,YAAY,GAAG,aAAa,CAAC;IAGnC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAGpF,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAGlE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IAGpE,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAGrD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAEjE,OAAO;QACL,KAAK,EAAE,iBAAiB;QACxB,aAAa,EAAE,aAAa,CAAC,MAAM;QACnC,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,YAAY;KAC5B,CAAC;AACJ,CAAC;AAgBD,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,SAAS,GAAG,KAAK,CAAC;IAGtB,MAAM,WAAW,GAAG,mBAAmB,CAAC;IACxC,IAAI,KAA6B,CAAC;IAElC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAErC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAGD,MAAM,cAAc,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAExC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAGD,MAAM,cAAc,GAAG,SAAS;SAC7B,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7B,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAE9B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AACxC,CAAC;AAKD,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,eAAe,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAKD,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,MAAkB;IACnE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,eAAe,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAGD,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,WAAW,CAAC,GAAG,CAAC;YACd,GAAG,MAAM;YACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,eAAe,CACvB,oEAAoE,EACpE,WAAW,EACX,CAAC,yBAAyB,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE1E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,eAAe,CACvB,yBAAyB,cAAc,gDAAgD,EACvF,WAAW,EACX,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAClD,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;AAC5F,CAAC;AAMD,KAAK,UAAU,aAAa,CAC1B,MAAkB,EAClB,WAAoB,EACpB,gBAA0B;IAE1B,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,CAAC;IACvB,MAAM,aAAa,GAAG,KAAK,CAAC;IAC5B,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,OAAO,OAAO,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;YACtC,SAAS,EAAE,WAAW;YACtB,KAAK,EAAE,UAAU;YACjB,MAAM;YACN,YAAY,EAAE,MAAM;SACrB,CAAC,CAAC;QAEH,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAGjC,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC/C,MAAM,IAAI,UAAU,CAAC;QAGrB,IAAI,QAAQ,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;YACrC,MAAM;QACR,CAAC;IACH,CAAC;IAGD,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAKD,SAAS,uBAAuB,CAC9B,KAAiB,EACjB,WAAwB;IAExB,MAAM,OAAO,GAAkD,EAAE,CAAC;IAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAG7D,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,IAAI;gBACP,eAAe,EAAE,cAAc;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAgBD,SAAS,kBAAkB,CAAC,IAAc,EAAE,WAAwB;IAClE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAG3D,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IAGjB,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACzC,QAAQ,IAAI,EAAE,CAAC;QACf,QAAQ,IAAI,CAAC,CAAC;QAGd,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAE3B,KAAK,IAAI,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YAEN,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAEjC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YAEN,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAGD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACrC,QAAQ,IAAI,CAAC,CAAC;QACd,QAAQ,IAAI,CAAC,CAAC;QAEd,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QAED,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAGD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO,eAAe,CAAC;AACzB,CAAC;AASD,SAAS,sBAAsB,CAC7B,OAAsD;IAEtD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC;QAErC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAEhB,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YAExB,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACE,CAAC;QAC9C,CAAC;aAAM,CAAC;YAEN,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACE,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"search_tasks.js","sourceRoot":"","sources":["../../src/tools/search_tasks.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAEL,YAAY,EACZ,eAAe,EAGf,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAc3B,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAAuB;IAE7D,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE,CAAC;IAG9B,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAI,eAAe,CAAC,wCAAwC,EAAE,OAAO,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,eAAe,CAAC,0CAA0C,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CACpB,4GAA4G,EAC5G,GAAG,CACJ,CAAC;IACJ,CAAC;IAGD,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IAGrD,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAGtC,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAEvE,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,eAAe,CACvB,iGAAiG,EACjG,OAAO,CACR,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,6EAA6E,EAC7E,OAAO,CACR,CAAC;IACJ,CAAC;IAGD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAG7C,IAAI,WAA+B,CAAC;IACpC,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,IAAI,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;IAC3E,IAAI,aAAa,EAAE,CAAC;QAClB,WAAW,GAAG,MAAM,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAGD,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;IAChD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC;IAGpD,MAAM,YAAY,GAAG,aAAa,CAAC;IAGnC,MAAM,KAAK,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,iBAAiB,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAGlH,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAGlE,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC;IAGpE,MAAM,cAAc,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAGrD,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAEjE,OAAO;QACL,KAAK,EAAE,iBAAiB;QACxB,aAAa,EAAE,aAAa,CAAC,MAAM;QACnC,YAAY,EAAE,WAAW;QACzB,aAAa,EAAE,YAAY;KAC5B,CAAC;AACJ,CAAC;AAmBD,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAEpF,SAAS,UAAU,CAAC,KAAa;IAC/B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,OAAO,GAA2B,EAAE,CAAC;IAE3C,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,IAAI,KAA6B,CAAC;IAKlC,MAAM,WAAW,GAAG,sCAAsC,CAAC;IAC3D,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/C,IAAI,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACrB,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAGD,MAAM,WAAW,GAAG,mBAAmB,CAAC;IACxC,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACrC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAGD,MAAM,cAAc,GAAG,SAAS,CAAC;IACjC,OAAO,CAAC,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACzD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACxC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;IAGD,MAAM,cAAc,GAAG,SAAS;SAC7B,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;SAChC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAE7B,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAE9B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACjD,CAAC;AAKD,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,MAAM,IAAI,eAAe,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,eAAe,CAAC,yCAAyC,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAKD,KAAK,UAAU,gBAAgB,CAAC,SAAiB,EAAE,MAAkB;IACnE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,eAAe,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,eAAe,CAAC,2BAA2B,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAGD,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAClC,WAAW,CAAC,GAAG,CAAC;YACd,GAAG,MAAM;YACT,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,iBAAiB,EAAE,WAAW,CAAC,MAAM,EAAE;SACxC,CAAC,CAAC;IACL,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,eAAe,CACvB,oEAAoE,EACpE,WAAW,EACX,CAAC,yBAAyB,CAAC,CAC5B,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAE1E,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,MAAM,IAAI,eAAe,CACvB,yBAAyB,cAAc,gDAAgD,EACvF,WAAW,EACX,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAClD,CAAC;IACJ,CAAC;IAED,OAAO,OAAO,gBAAgB,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC;AAC5F,CAAC;AAOD,KAAK,UAAU,aAAa,CAC1B,MAAkB,EAClB,WAAoB,EACpB,gBAA0B,EAC1B,MAAe,EACf,QAAiB;IAEjB,MAAM,QAAQ,GAAe,EAAE,CAAC;IAChC,MAAM,UAAU,GAAG,GAAG,CAAC;IACvB,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACjD,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,OAAO,OAAO,IAAI,QAAQ,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC;YACtC,SAAS,EAAE,WAAW;YACtB,MAAM;YACN,QAAQ;YACR,KAAK,EAAE,UAAU;YACjB,MAAM;SACP,CAAC,CAAC;QAEH,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEjC,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC/C,MAAM,IAAI,UAAU,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACrD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAKD,SAAS,uBAAuB,CAC9B,KAAiB,EACjB,WAAwB;IAExB,MAAM,OAAO,GAAkD,EAAE,CAAC;IAElE,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,cAAc,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAG7D,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,IAAI;gBACP,eAAe,EAAE,cAAc;aAChC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAgBD,SAAS,kBAAkB,CAAC,IAAc,EAAE,WAAwB;IAClE,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAG3D,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;IAED,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,QAAQ,GAAG,CAAC,CAAC;IAGjB,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;QACzC,QAAQ,IAAI,EAAE,CAAC;QACf,QAAQ,IAAI,CAAC,CAAC;QAGd,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAE3B,KAAK,IAAI,EAAE,CAAC;QACd,CAAC;aAAM,CAAC;YAEN,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAEjC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;aAAM,CAAC;YAEN,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC3C,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACxC,MAAM,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5E,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;IACH,CAAC;IAGD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACrC,QAAQ,IAAI,CAAC,CAAC;QACd,QAAQ,IAAI,CAAC,CAAC;QAEd,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QAED,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IAGD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEtD,OAAO,eAAe,CAAC;AACzB,CAAC;AASD,SAAS,sBAAsB,CAC7B,OAAsD;IAEtD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,eAAe,CAAC;QAErC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;YAEhB,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;YAExB,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACE,CAAC;QAC9C,CAAC;aAAM,CAAC;YAEN,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,eAAe,EAAE,MAAM,CAAC,eAAe;aACE,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update_task.d.ts","sourceRoot":"","sources":["../../src/tools/update_task.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,eAAe,EACf,gBAAgB,EAUjB,MAAM,mBAAmB,CAAC;AAyC3B,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAsdxF"}
1
+ {"version":3,"file":"update_task.d.ts","sourceRoot":"","sources":["../../src/tools/update_task.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,eAAe,EACf,gBAAgB,EAajB,MAAM,mBAAmB,CAAC;AA4C3B,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmkBxF"}
@@ -1,10 +1,13 @@
1
1
  import { DartClient } from '../api/dartClient.js';
2
2
  import { handleGetConfig } from './get_config.js';
3
- import { DartAPIError, ValidationError, findDartboard, findStatus, findTag, getDartboardNames, getStatusNames, } from '../types/index.js';
3
+ import { DartAPIError, ValidationError, findDartboard, findStatus, findTag, getDartboardNames, getStatusNames, resolveDartId, RELATIONSHIP_FIELDS, } from '../types/index.js';
4
+ import { normalizeRelationshipInput, assertNoPseudoEdgeTags } from '../api/relationshipNormalizer.js';
5
+ import { applyDiffMirror } from './relationshipMirror.js';
4
6
  const VALID_UPDATE_FIELDS = new Set([
5
7
  'title', 'description', 'dartboard', 'status', 'priority', 'size',
6
8
  'assignees', 'tags', 'due_at', 'start_at', 'parent_task',
7
9
  'subtask_ids', 'blocker_ids', 'blocking_ids', 'duplicate_ids', 'related_ids',
10
+ 'comment', 'add_to', 'remove_from',
8
11
  ]);
9
12
  const FIELD_CORRECTIONS = {
10
13
  task_id: 'dart_id',
@@ -19,14 +22,6 @@ const FIELD_CORRECTIONS = {
19
22
  dueDate: 'due_at',
20
23
  start_date: 'start_at',
21
24
  startDate: 'start_at',
22
- parent: 'parent_task',
23
- parentId: 'parent_task',
24
- parent_id: 'parent_task',
25
- blockers: 'blocker_ids',
26
- blocking: 'blocking_ids',
27
- subtasks: 'subtask_ids',
28
- duplicates: 'duplicate_ids',
29
- related: 'related_ids',
30
25
  updates: 'NESTED_UPDATES',
31
26
  };
32
27
  export async function handleUpdateTask(input) {
@@ -43,22 +38,10 @@ export async function handleUpdateTask(input) {
43
38
  throw new ValidationError(`Do not wrap fields in an "updates" object. Pass fields directly alongside dart_id. ` +
44
39
  `Instead of { dart_id, updates: { ${fieldList} } }, use { dart_id, ${fieldList} }`, 'updates');
45
40
  }
46
- const rawInput = input;
47
- if (!rawInput.dart_id) {
48
- if (rawInput.task_id) {
49
- throw new ValidationError(`Use "dart_id" not "task_id". Received task_id: "${rawInput.task_id}"`, 'dart_id');
50
- }
51
- if (rawInput.id) {
52
- throw new ValidationError(`Use "dart_id" not "id". Received id: "${rawInput.id}"`, 'dart_id');
53
- }
54
- if (rawInput.taskId) {
55
- throw new ValidationError(`Use "dart_id" not "taskId". Received taskId: "${rawInput.taskId}"`, 'dart_id');
56
- }
57
- throw new ValidationError('dart_id is required and must be a non-empty string', 'dart_id');
58
- }
59
- if (typeof input.dart_id !== 'string' || input.dart_id.trim() === '') {
60
- throw new ValidationError('dart_id must be a non-empty string', 'dart_id');
61
- }
41
+ const normalized = normalizeRelationshipInput(input);
42
+ input = normalized;
43
+ const rawInput = normalized;
44
+ input.dart_id = resolveDartId(rawInput);
62
45
  const corrections = [];
63
46
  for (const key of Object.keys(rawInput)) {
64
47
  if (key === 'dart_id')
@@ -73,8 +56,39 @@ export async function handleUpdateTask(input) {
73
56
  if (corrections.length > 0) {
74
57
  throw new ValidationError(`Invalid field names: ${corrections.join(', ')}`, corrections[0].split('"')[1]);
75
58
  }
76
- const { dart_id, ...updateFields } = input;
77
- if (Object.keys(updateFields).length === 0) {
59
+ if (input.add_to && typeof input.add_to === 'object') {
60
+ input.add_to = normalizeRelationshipInput(input.add_to);
61
+ }
62
+ if (input.remove_from && typeof input.remove_from === 'object') {
63
+ input.remove_from = normalizeRelationshipInput(input.remove_from);
64
+ }
65
+ const { dart_id, comment, add_to, remove_from, ...updateFields } = input;
66
+ if (comment !== undefined) {
67
+ if (typeof comment !== 'string' || comment.trim() === '') {
68
+ throw new ValidationError('comment must be a non-empty string', 'comment');
69
+ }
70
+ }
71
+ const relationshipFieldSet = new Set(RELATIONSHIP_FIELDS);
72
+ for (const [opName, opValue] of [['add_to', add_to], ['remove_from', remove_from]]) {
73
+ if (opValue === undefined)
74
+ continue;
75
+ if (typeof opValue !== 'object' || opValue === null) {
76
+ throw new ValidationError(`${opName} must be an object`, opName);
77
+ }
78
+ for (const [field, ids] of Object.entries(opValue)) {
79
+ if (!relationshipFieldSet.has(field)) {
80
+ throw new ValidationError(`${opName} only supports relationship fields: ${RELATIONSHIP_FIELDS.join(', ')}`, opName);
81
+ }
82
+ if (!Array.isArray(ids)) {
83
+ throw new ValidationError(`${opName}.${field} must be an array of dart_ids`, opName);
84
+ }
85
+ if (updateFields[field] !== undefined) {
86
+ throw new ValidationError(`Cannot use both direct "${field}" and ${opName}.${field} — use one or the other`, field);
87
+ }
88
+ }
89
+ }
90
+ const hasAddRemoveOps = add_to !== undefined || remove_from !== undefined;
91
+ if (Object.keys(updateFields).length === 0 && !hasAddRemoveOps && comment === undefined) {
78
92
  throw new ValidationError('At least one field to update is required alongside dart_id (e.g., title, status, blocker_ids)', 'input');
79
93
  }
80
94
  let config;
@@ -166,6 +180,7 @@ export async function handleUpdateTask(input) {
166
180
  if (!Array.isArray(updateFields.tags)) {
167
181
  throw new ValidationError('tags must be an array of tag dart_ids or names', 'tags');
168
182
  }
183
+ assertNoPseudoEdgeTags(updateFields.tags, ValidationError);
169
184
  if (updateFields.tags.length > 0) {
170
185
  const resolvedTags = [];
171
186
  for (const tagInput of updateFields.tags) {
@@ -182,21 +197,9 @@ export async function handleUpdateTask(input) {
182
197
  }
183
198
  }
184
199
  if (updateFields.priority !== undefined) {
185
- if (!config.priorities || config.priorities.length === 0) {
186
- throw new ValidationError('No priorities found in workspace configuration. Cannot update priority.', 'priority');
187
- }
188
- if (typeof updateFields.priority !== 'number' || updateFields.priority < 1 || updateFields.priority > 5) {
189
- throw new ValidationError(`Invalid priority: ${updateFields.priority}. Valid range: 1-5 (1=lowest, 5=highest)`, 'priority', ['1', '2', '3', '4', '5']);
190
- }
191
200
  resolvedUpdates.priority = updateFields.priority;
192
201
  }
193
202
  if (updateFields.size !== undefined) {
194
- if (!config.sizes || config.sizes.length === 0) {
195
- throw new ValidationError('No sizes found in workspace configuration. Cannot update size.', 'size');
196
- }
197
- if (typeof updateFields.size !== 'number' || updateFields.size < 1 || updateFields.size > 5) {
198
- throw new ValidationError(`Invalid size: ${updateFields.size}. Valid range: 1-5 (1=XS, 5=XL)`, 'size', ['1', '2', '3', '4', '5']);
199
- }
200
203
  resolvedUpdates.size = updateFields.size;
201
204
  }
202
205
  if (updateFields.due_at !== undefined) {
@@ -261,18 +264,99 @@ export async function handleUpdateTask(input) {
261
264
  resolvedUpdates.related_ids = relatedIds;
262
265
  }
263
266
  const client = new DartClient({ token: DART_TOKEN });
267
+ const touchedRelationshipFields = new Set();
268
+ for (const f of RELATIONSHIP_FIELDS) {
269
+ if (resolvedUpdates[f] !== undefined)
270
+ touchedRelationshipFields.add(f);
271
+ }
272
+ if (resolvedUpdates.parent_task !== undefined)
273
+ touchedRelationshipFields.add('parent_task');
274
+ if (add_to)
275
+ Object.keys(add_to).forEach((f) => touchedRelationshipFields.add(f));
276
+ if (remove_from)
277
+ Object.keys(remove_from).forEach((f) => touchedRelationshipFields.add(f));
278
+ let currentTask;
279
+ if (hasAddRemoveOps || touchedRelationshipFields.size > 0) {
280
+ currentTask = await client.getTask(dart_id);
281
+ }
282
+ if (hasAddRemoveOps && currentTask) {
283
+ const opFields = new Set();
284
+ if (add_to)
285
+ Object.keys(add_to).forEach(f => opFields.add(f));
286
+ if (remove_from)
287
+ Object.keys(remove_from).forEach(f => opFields.add(f));
288
+ for (const field of opFields) {
289
+ const current = currentTask[field] ?? [];
290
+ let merged = [...current];
291
+ if (add_to?.[field]) {
292
+ const addIds = add_to[field];
293
+ const existing = new Set(merged);
294
+ for (const id of addIds) {
295
+ if (!existing.has(id))
296
+ merged.push(id);
297
+ }
298
+ }
299
+ if (remove_from?.[field]) {
300
+ const removeSet = new Set(remove_from[field]);
301
+ merged = merged.filter(id => !removeSet.has(id));
302
+ }
303
+ resolvedUpdates[field] = merged;
304
+ if (!updatedFields.includes(field))
305
+ updatedFields.push(field);
306
+ }
307
+ }
308
+ const beforeSnapshot = currentTask && {
309
+ parent_task: currentTask.parent_task ?? null,
310
+ subtask_ids: currentTask.subtask_ids ?? [],
311
+ blocker_ids: currentTask.blocker_ids ?? [],
312
+ blocking_ids: currentTask.blocking_ids ?? [],
313
+ duplicate_ids: currentTask.duplicate_ids ?? [],
314
+ related_ids: currentTask.related_ids ?? [],
315
+ };
264
316
  let updatedTask;
265
- try {
266
- updatedTask = await client.updateTask(dart_id, resolvedUpdates);
317
+ if (Object.keys(resolvedUpdates).length === 0) {
318
+ updatedTask = await client.getTask(dart_id);
267
319
  }
268
- catch (error) {
269
- if (error instanceof DartAPIError && error.statusCode === 404) {
270
- throw new DartAPIError(`Task not found: No task with dart_id "${dart_id}" exists in workspace`, 404, error.response);
320
+ else {
321
+ try {
322
+ updatedTask = await client.updateTask(dart_id, resolvedUpdates);
271
323
  }
272
- if (error instanceof DartAPIError) {
273
- throw new DartAPIError(`Failed to update task: ${error.message}`, error.statusCode, error.response);
324
+ catch (error) {
325
+ if (error instanceof DartAPIError && error.statusCode === 404) {
326
+ throw new DartAPIError(`Task not found: No task with dart_id "${dart_id}" exists in workspace`, 404, error.response);
327
+ }
328
+ if (error instanceof DartAPIError) {
329
+ throw new DartAPIError(`Failed to update task: ${error.message}`, error.statusCode, error.response);
330
+ }
331
+ throw error;
332
+ }
333
+ }
334
+ let mirrorApplied = [];
335
+ let mirrorWarnings = [];
336
+ if (beforeSnapshot && touchedRelationshipFields.size > 0) {
337
+ const afterSnapshot = {
338
+ parent_task: updatedTask.parent_task ?? null,
339
+ subtask_ids: updatedTask.subtask_ids ?? [],
340
+ blocker_ids: updatedTask.blocker_ids ?? [],
341
+ blocking_ids: updatedTask.blocking_ids ?? [],
342
+ duplicate_ids: updatedTask.duplicate_ids ?? [],
343
+ related_ids: updatedTask.related_ids ?? [],
344
+ };
345
+ const mirror = await applyDiffMirror(client, updatedTask.dart_id, beforeSnapshot, afterSnapshot, touchedRelationshipFields);
346
+ mirrorApplied = mirror.mirrored;
347
+ mirrorWarnings = mirror.warnings;
348
+ }
349
+ let commentAdded;
350
+ let commentError;
351
+ if (comment) {
352
+ try {
353
+ await client.addComment(dart_id, comment.trim());
354
+ commentAdded = true;
355
+ }
356
+ catch (err) {
357
+ commentAdded = false;
358
+ commentError = err instanceof Error ? err.message : String(err);
274
359
  }
275
- throw error;
276
360
  }
277
361
  const deepLinkUrl = `https://app.dartai.com/task/${updatedTask.dart_id}`;
278
362
  return {
@@ -280,6 +364,10 @@ export async function handleUpdateTask(input) {
280
364
  updated_fields: updatedFields,
281
365
  task: updatedTask,
282
366
  url: deepLinkUrl,
367
+ ...(commentAdded !== undefined && { comment_added: commentAdded }),
368
+ ...(commentError !== undefined && { comment_error: commentError }),
369
+ ...(mirrorApplied.length > 0 && { mirror_applied: mirrorApplied }),
370
+ ...(mirrorWarnings.length > 0 && { mirror_warnings: mirrorWarnings }),
283
371
  };
284
372
  }
285
373
  //# sourceMappingURL=update_task.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"update_task.js","sourceRoot":"","sources":["../../src/tools/update_task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update_task.js","sourceRoot":"","sources":["../../src/tools/update_task.ts"],"names":[],"mappings":"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"}