@standardbeagle/dart-query 0.3.2

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 (128) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +427 -0
  3. package/TOOLS.md +2148 -0
  4. package/dist/api/dartClient.d.ts +123 -0
  5. package/dist/api/dartClient.d.ts.map +1 -0
  6. package/dist/api/dartClient.js +436 -0
  7. package/dist/api/dartClient.js.map +1 -0
  8. package/dist/batch/batchOperations.d.ts +14 -0
  9. package/dist/batch/batchOperations.d.ts.map +1 -0
  10. package/dist/batch/batchOperations.js +65 -0
  11. package/dist/batch/batchOperations.js.map +1 -0
  12. package/dist/cache/configCache.d.ts +20 -0
  13. package/dist/cache/configCache.d.ts.map +1 -0
  14. package/dist/cache/configCache.js +59 -0
  15. package/dist/cache/configCache.js.map +1 -0
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +1120 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/parsers/csv.d.ts +44 -0
  21. package/dist/parsers/csv.d.ts.map +1 -0
  22. package/dist/parsers/csv.js +574 -0
  23. package/dist/parsers/csv.js.map +1 -0
  24. package/dist/parsers/dartql.d.ts +104 -0
  25. package/dist/parsers/dartql.d.ts.map +1 -0
  26. package/dist/parsers/dartql.js +889 -0
  27. package/dist/parsers/dartql.js.map +1 -0
  28. package/dist/tools/add_task_comment.d.ts +3 -0
  29. package/dist/tools/add_task_comment.d.ts.map +1 -0
  30. package/dist/tools/add_task_comment.js +43 -0
  31. package/dist/tools/add_task_comment.js.map +1 -0
  32. package/dist/tools/add_time_tracking.d.ts +3 -0
  33. package/dist/tools/add_time_tracking.d.ts.map +1 -0
  34. package/dist/tools/add_time_tracking.js +52 -0
  35. package/dist/tools/add_time_tracking.js.map +1 -0
  36. package/dist/tools/attach_url.d.ts +3 -0
  37. package/dist/tools/attach_url.d.ts.map +1 -0
  38. package/dist/tools/attach_url.js +38 -0
  39. package/dist/tools/attach_url.js.map +1 -0
  40. package/dist/tools/batch_delete_tasks.d.ts +3 -0
  41. package/dist/tools/batch_delete_tasks.d.ts.map +1 -0
  42. package/dist/tools/batch_delete_tasks.js +125 -0
  43. package/dist/tools/batch_delete_tasks.js.map +1 -0
  44. package/dist/tools/batch_update_tasks.d.ts +3 -0
  45. package/dist/tools/batch_update_tasks.d.ts.map +1 -0
  46. package/dist/tools/batch_update_tasks.js +327 -0
  47. package/dist/tools/batch_update_tasks.js.map +1 -0
  48. package/dist/tools/create_doc.d.ts +3 -0
  49. package/dist/tools/create_doc.d.ts.map +1 -0
  50. package/dist/tools/create_doc.js +65 -0
  51. package/dist/tools/create_doc.js.map +1 -0
  52. package/dist/tools/create_task.d.ts +3 -0
  53. package/dist/tools/create_task.d.ts.map +1 -0
  54. package/dist/tools/create_task.js +143 -0
  55. package/dist/tools/create_task.js.map +1 -0
  56. package/dist/tools/delete_doc.d.ts +3 -0
  57. package/dist/tools/delete_doc.d.ts.map +1 -0
  58. package/dist/tools/delete_doc.js +35 -0
  59. package/dist/tools/delete_doc.js.map +1 -0
  60. package/dist/tools/delete_task.d.ts +3 -0
  61. package/dist/tools/delete_task.d.ts.map +1 -0
  62. package/dist/tools/delete_task.js +35 -0
  63. package/dist/tools/delete_task.js.map +1 -0
  64. package/dist/tools/get_batch_status.d.ts +3 -0
  65. package/dist/tools/get_batch_status.d.ts.map +1 -0
  66. package/dist/tools/get_batch_status.js +24 -0
  67. package/dist/tools/get_batch_status.js.map +1 -0
  68. package/dist/tools/get_config.d.ts +3 -0
  69. package/dist/tools/get_config.d.ts.map +1 -0
  70. package/dist/tools/get_config.js +74 -0
  71. package/dist/tools/get_config.js.map +1 -0
  72. package/dist/tools/get_dartboard.d.ts +3 -0
  73. package/dist/tools/get_dartboard.d.ts.map +1 -0
  74. package/dist/tools/get_dartboard.js +43 -0
  75. package/dist/tools/get_dartboard.js.map +1 -0
  76. package/dist/tools/get_doc.d.ts +3 -0
  77. package/dist/tools/get_doc.d.ts.map +1 -0
  78. package/dist/tools/get_doc.js +34 -0
  79. package/dist/tools/get_doc.js.map +1 -0
  80. package/dist/tools/get_folder.d.ts +3 -0
  81. package/dist/tools/get_folder.d.ts.map +1 -0
  82. package/dist/tools/get_folder.js +45 -0
  83. package/dist/tools/get_folder.js.map +1 -0
  84. package/dist/tools/get_task.d.ts +3 -0
  85. package/dist/tools/get_task.d.ts.map +1 -0
  86. package/dist/tools/get_task.js +109 -0
  87. package/dist/tools/get_task.js.map +1 -0
  88. package/dist/tools/import_tasks_csv.d.ts +3 -0
  89. package/dist/tools/import_tasks_csv.d.ts.map +1 -0
  90. package/dist/tools/import_tasks_csv.js +218 -0
  91. package/dist/tools/import_tasks_csv.js.map +1 -0
  92. package/dist/tools/info.d.ts +3 -0
  93. package/dist/tools/info.d.ts.map +1 -0
  94. package/dist/tools/info.js +474 -0
  95. package/dist/tools/info.js.map +1 -0
  96. package/dist/tools/list_comments.d.ts +3 -0
  97. package/dist/tools/list_comments.d.ts.map +1 -0
  98. package/dist/tools/list_comments.js +46 -0
  99. package/dist/tools/list_comments.js.map +1 -0
  100. package/dist/tools/list_docs.d.ts +3 -0
  101. package/dist/tools/list_docs.d.ts.map +1 -0
  102. package/dist/tools/list_docs.js +101 -0
  103. package/dist/tools/list_docs.js.map +1 -0
  104. package/dist/tools/list_tasks.d.ts +3 -0
  105. package/dist/tools/list_tasks.d.ts.map +1 -0
  106. package/dist/tools/list_tasks.js +325 -0
  107. package/dist/tools/list_tasks.js.map +1 -0
  108. package/dist/tools/move_task.d.ts +3 -0
  109. package/dist/tools/move_task.d.ts.map +1 -0
  110. package/dist/tools/move_task.js +44 -0
  111. package/dist/tools/move_task.js.map +1 -0
  112. package/dist/tools/search_tasks.d.ts +3 -0
  113. package/dist/tools/search_tasks.d.ts.map +1 -0
  114. package/dist/tools/search_tasks.js +227 -0
  115. package/dist/tools/search_tasks.js.map +1 -0
  116. package/dist/tools/update_doc.d.ts +3 -0
  117. package/dist/tools/update_doc.d.ts.map +1 -0
  118. package/dist/tools/update_doc.js +102 -0
  119. package/dist/tools/update_doc.js.map +1 -0
  120. package/dist/tools/update_task.d.ts +3 -0
  121. package/dist/tools/update_task.d.ts.map +1 -0
  122. package/dist/tools/update_task.js +241 -0
  123. package/dist/tools/update_task.js.map +1 -0
  124. package/dist/types/index.d.ts +529 -0
  125. package/dist/types/index.d.ts.map +1 -0
  126. package/dist/types/index.js +65 -0
  127. package/dist/types/index.js.map +1 -0
  128. package/package.json +72 -0
@@ -0,0 +1,65 @@
1
+ const batchOperations = new Map();
2
+ export function generateBatchOperationId(operationType) {
3
+ const timestamp = Date.now();
4
+ const random = Math.random().toString(36).substring(2, 8);
5
+ return `batch_${operationType}_${timestamp}_${random}`;
6
+ }
7
+ export function createBatchOperation(operationType, totalItems) {
8
+ const batchOperationId = generateBatchOperationId(operationType);
9
+ const operation = {
10
+ batch_operation_id: batchOperationId,
11
+ operation_type: operationType,
12
+ status: 'running',
13
+ progress: {
14
+ completed: 0,
15
+ total: totalItems,
16
+ percent: 0,
17
+ },
18
+ successful_ids: [],
19
+ failed_items: [],
20
+ started_at: new Date().toISOString(),
21
+ };
22
+ batchOperations.set(batchOperationId, operation);
23
+ return operation;
24
+ }
25
+ export function updateBatchProgress(batchOperationId, completed) {
26
+ const operation = batchOperations.get(batchOperationId);
27
+ if (!operation)
28
+ return;
29
+ operation.progress.completed = completed;
30
+ operation.progress.percent = Math.round((completed / operation.progress.total) * 100);
31
+ }
32
+ export function completeBatchOperation(batchOperationId, status) {
33
+ const operation = batchOperations.get(batchOperationId);
34
+ if (!operation)
35
+ return;
36
+ operation.status = status;
37
+ operation.completed_at = new Date().toISOString();
38
+ operation.execution_time_ms =
39
+ new Date(operation.completed_at).getTime() - new Date(operation.started_at).getTime();
40
+ }
41
+ export function getBatchOperation(batchOperationId) {
42
+ return batchOperations.get(batchOperationId);
43
+ }
44
+ export function addSuccessfulItem(batchOperationId, itemId) {
45
+ const operation = batchOperations.get(batchOperationId);
46
+ if (!operation)
47
+ return;
48
+ operation.successful_ids.push(itemId);
49
+ }
50
+ export function addFailedItem(batchOperationId, error) {
51
+ const operation = batchOperations.get(batchOperationId);
52
+ if (!operation)
53
+ return;
54
+ operation.failed_items.push(error);
55
+ }
56
+ export function cleanupOldOperations() {
57
+ const oneHourAgo = Date.now() - 60 * 60 * 1000;
58
+ for (const [id, operation] of batchOperations.entries()) {
59
+ const startedAt = new Date(operation.started_at).getTime();
60
+ if (startedAt < oneHourAgo && operation.status !== 'running') {
61
+ batchOperations.delete(id);
62
+ }
63
+ }
64
+ }
65
+ //# sourceMappingURL=batchOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batchOperations.js","sourceRoot":"","sources":["../../src/batch/batchOperations.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { DartConfig } from '../types/index.js';
2
+ export declare class ConfigCache {
3
+ private readonly cache;
4
+ private readonly ttlSeconds;
5
+ constructor(ttlSeconds?: number);
6
+ get(): DartConfig | undefined;
7
+ set(config: DartConfig): void;
8
+ invalidate(): void;
9
+ isExpired(): boolean;
10
+ getStats(): {
11
+ keys: number;
12
+ hits: number;
13
+ misses: number;
14
+ ksize: number;
15
+ vsize: number;
16
+ };
17
+ getTTL(): number;
18
+ }
19
+ export declare const configCache: ConfigCache;
20
+ //# sourceMappingURL=configCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configCache.d.ts","sourceRoot":"","sources":["../../src/cache/configCache.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAgB/C,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;gBAExB,UAAU,GAAE,MAAY;IAapC,GAAG,IAAI,UAAU,GAAG,SAAS;IAe7B,GAAG,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAgB7B,UAAU,IAAI,IAAI;IAalB,SAAS,IAAI,OAAO;IAcpB,QAAQ,IAAI;QACV,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;KACf;IAQD,MAAM,IAAI,MAAM;CAGjB;AAMD,eAAO,MAAM,WAAW,aAAoB,CAAC"}
@@ -0,0 +1,59 @@
1
+ import NodeCache from 'node-cache';
2
+ const CONFIG_CACHE_KEY = 'workspace_config';
3
+ export class ConfigCache {
4
+ cache;
5
+ ttlSeconds;
6
+ constructor(ttlSeconds = 300) {
7
+ this.ttlSeconds = ttlSeconds;
8
+ this.cache = new NodeCache({
9
+ stdTTL: ttlSeconds,
10
+ checkperiod: 60,
11
+ useClones: true,
12
+ });
13
+ }
14
+ get() {
15
+ try {
16
+ return this.cache.get(CONFIG_CACHE_KEY);
17
+ }
18
+ catch (error) {
19
+ console.error('ConfigCache.get() error:', error);
20
+ return undefined;
21
+ }
22
+ }
23
+ set(config) {
24
+ if (!config) {
25
+ throw new Error('Cannot cache null or undefined config');
26
+ }
27
+ try {
28
+ this.cache.set(CONFIG_CACHE_KEY, config);
29
+ }
30
+ catch (error) {
31
+ throw new Error(`Failed to cache config: ${error instanceof Error ? error.message : 'Unknown error'}`);
32
+ }
33
+ }
34
+ invalidate() {
35
+ try {
36
+ this.cache.del(CONFIG_CACHE_KEY);
37
+ }
38
+ catch (error) {
39
+ console.error('ConfigCache.invalidate() error:', error);
40
+ }
41
+ }
42
+ isExpired() {
43
+ try {
44
+ return !this.cache.has(CONFIG_CACHE_KEY);
45
+ }
46
+ catch (error) {
47
+ console.error('ConfigCache.isExpired() error:', error);
48
+ return true;
49
+ }
50
+ }
51
+ getStats() {
52
+ return this.cache.getStats();
53
+ }
54
+ getTTL() {
55
+ return this.ttlSeconds;
56
+ }
57
+ }
58
+ export const configCache = new ConfigCache();
59
+ //# sourceMappingURL=configCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configCache.js","sourceRoot":"","sources":["../../src/cache/configCache.ts"],"names":[],"mappings":"AAUA,OAAO,SAAS,MAAM,YAAY,CAAC;AAMnC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAW5C,MAAM,OAAO,WAAW;IACL,KAAK,CAAY;IACjB,UAAU,CAAS;IAEpC,YAAY,aAAqB,GAAG;QAClC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC;YACzB,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAMD,GAAG;QACD,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAa,gBAAgB,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACjD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAOD,GAAG,CAAC,MAAkB;QACpB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAMD,UAAU;QACR,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAMD,SAAS;QACP,IAAI,CAAC;YACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAMD,QAAQ;QAON,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAMD,MAAM;QACJ,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAMD,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}