@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.
- package/README.md +8 -3
- package/TOOLS.md +144 -17
- package/dist/api/dartClient.d.ts +3 -10
- package/dist/api/dartClient.d.ts.map +1 -1
- package/dist/api/dartClient.js +62 -15
- package/dist/api/dartClient.js.map +1 -1
- package/dist/api/relationshipNormalizer.d.ts +4 -0
- package/dist/api/relationshipNormalizer.d.ts.map +1 -0
- package/dist/api/relationshipNormalizer.js +86 -0
- package/dist/api/relationshipNormalizer.js.map +1 -0
- package/dist/index.js +184 -26
- package/dist/index.js.map +1 -1
- package/dist/parsers/dartql.d.ts.map +1 -1
- package/dist/parsers/dartql.js +60 -2
- package/dist/parsers/dartql.js.map +1 -1
- package/dist/tools/add_task_comment.d.ts.map +1 -1
- package/dist/tools/add_task_comment.js +2 -6
- package/dist/tools/add_task_comment.js.map +1 -1
- package/dist/tools/add_time_tracking.d.ts.map +1 -1
- package/dist/tools/add_time_tracking.js +2 -4
- package/dist/tools/add_time_tracking.js.map +1 -1
- package/dist/tools/attach_url.d.ts.map +1 -1
- package/dist/tools/attach_url.js +2 -4
- package/dist/tools/attach_url.js.map +1 -1
- package/dist/tools/create_task.d.ts.map +1 -1
- package/dist/tools/create_task.js +28 -4
- package/dist/tools/create_task.js.map +1 -1
- package/dist/tools/dartai_loop_snapshot.d.ts +3 -0
- package/dist/tools/dartai_loop_snapshot.d.ts.map +1 -0
- package/dist/tools/dartai_loop_snapshot.js +84 -0
- package/dist/tools/dartai_loop_snapshot.js.map +1 -0
- package/dist/tools/delete_task.d.ts.map +1 -1
- package/dist/tools/delete_task.js +2 -4
- package/dist/tools/delete_task.js.map +1 -1
- package/dist/tools/get_task.d.ts.map +1 -1
- package/dist/tools/get_task.js +2 -4
- package/dist/tools/get_task.js.map +1 -1
- package/dist/tools/import_tasks_csv.js +4 -4
- package/dist/tools/import_tasks_csv.js.map +1 -1
- package/dist/tools/info.d.ts.map +1 -1
- package/dist/tools/info.js +6 -2
- package/dist/tools/info.js.map +1 -1
- package/dist/tools/link_tasks.d.ts +5 -0
- package/dist/tools/link_tasks.d.ts.map +1 -0
- package/dist/tools/link_tasks.js +83 -0
- package/dist/tools/link_tasks.js.map +1 -0
- package/dist/tools/list_tasks.js +5 -0
- package/dist/tools/list_tasks.js.map +1 -1
- package/dist/tools/move_task.d.ts.map +1 -1
- package/dist/tools/move_task.js +2 -4
- package/dist/tools/move_task.js.map +1 -1
- package/dist/tools/relationshipMirror.d.ts +24 -0
- package/dist/tools/relationshipMirror.d.ts.map +1 -0
- package/dist/tools/relationshipMirror.js +163 -0
- package/dist/tools/relationshipMirror.js.map +1 -0
- package/dist/tools/search_tasks.d.ts.map +1 -1
- package/dist/tools/search_tasks.js +32 -13
- package/dist/tools/search_tasks.js.map +1 -1
- package/dist/tools/update_task.d.ts.map +1 -1
- package/dist/tools/update_task.js +135 -47
- package/dist/tools/update_task.js.map +1 -1
- package/dist/types/index.d.ts +72 -18
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +20 -2
- package/dist/types/index.js.map +1 -1
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -77,14 +77,19 @@ See **[TOOLS.md](./TOOLS.md)** for full parameter references, DartQL syntax, and
|
|
|
77
77
|
|
|
78
78
|
## DartQL Selectors
|
|
79
79
|
|
|
80
|
-
SQL-
|
|
80
|
+
SQL-92 WHERE clause syntax for targeting tasks in batch operations:
|
|
81
81
|
|
|
82
82
|
```sql
|
|
83
83
|
dartboard = 'Engineering' AND priority = 'high' AND tags CONTAINS 'bug'
|
|
84
|
-
due_at < '2026-01-18' AND status
|
|
85
|
-
title LIKE '%
|
|
84
|
+
due_at < '2026-01-18' AND status <> 'Done'
|
|
85
|
+
title LIKE 'Task%' -- starts with
|
|
86
|
+
title LIKE '%auth%' -- contains substring
|
|
86
87
|
```
|
|
87
88
|
|
|
89
|
+
**Operators:** `=`, `!=`, `<>`, `>`, `>=`, `<`, `<=`, `LIKE`, `IN`, `NOT IN`, `BETWEEN`, `IS NULL`, `IS NOT NULL`, `CONTAINS`
|
|
90
|
+
**Aliases:** `INCLUDES`/`HAS` → `CONTAINS` · `<>` → `!=`
|
|
91
|
+
**LIKE wildcards:** `%` = any characters, `_` = single character (case-insensitive)
|
|
92
|
+
|
|
88
93
|
## Safety
|
|
89
94
|
|
|
90
95
|
All Dart AI operations are production (no sandbox). dart-query provides:
|
package/TOOLS.md
CHANGED
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
- [Batch Operations](#batch-operations)
|
|
13
13
|
- [CSV Import](#csv-import)
|
|
14
14
|
- [Document Management](#document-management)
|
|
15
|
+
- [DartAI Loop Tools](#dartai-loop-tools)
|
|
15
16
|
- [DartQL Reference](#dartql-reference)
|
|
16
17
|
- [Error Handling](#error-handling)
|
|
17
18
|
- [Performance Optimization](#performance-optimization)
|
|
@@ -21,7 +22,7 @@
|
|
|
21
22
|
|
|
22
23
|
## Tool Groups Overview
|
|
23
24
|
|
|
24
|
-
dart-query organizes
|
|
25
|
+
dart-query organizes 19 tools into 8 functional groups:
|
|
25
26
|
|
|
26
27
|
| Group | Tools | Purpose |
|
|
27
28
|
|-------|-------|---------|
|
|
@@ -32,6 +33,7 @@ dart-query organizes 18 tools into 7 functional groups:
|
|
|
32
33
|
| **task-batch** | 3 tools | Bulk operations (batch update, batch delete, status) |
|
|
33
34
|
| **import** | 1 tool | CSV bulk import |
|
|
34
35
|
| **doc-crud** | 5 tools | Document management (create, get, update, delete, list) |
|
|
36
|
+
| **dartai-loop** | `dartai_loop_snapshot` | Single-call loop startup aggregation |
|
|
35
37
|
|
|
36
38
|
**Token Budget Summary:**
|
|
37
39
|
- Discovery: ~150 tokens (overview)
|
|
@@ -159,6 +161,12 @@ get_config({ cache_bust: true })
|
|
|
159
161
|
|
|
160
162
|
## Task CRUD Operations
|
|
161
163
|
|
|
164
|
+
> **Relationship field naming (0.12.0+):** `create_task`, `update_task`, and `link_tasks` accept industry-standard Jira/Linear-style names — `parent`, `subtasks`, `blocked_by`, `blocks`, `duplicates`, `related` — alongside the legacy `_ids`-suffixed names. Responses dual-emit both shapes. **The legacy names are deprecated and will be removed in 0.13.0.** Prefer the canonical names in new code.
|
|
165
|
+
>
|
|
166
|
+
> **Auto-mirror (0.12.0+):** Setting a relationship on one side automatically patches the inverse side. Setting `parent: P` on a child also updates `P.subtasks`. Setting `blocked_by: [B]` also updates `B.blocks`. Best-effort — failures surface in `mirror_warnings` on the response, never fail the primary write.
|
|
167
|
+
>
|
|
168
|
+
> **Pseudo-edge tags rejected:** Tags like `"needs:T-42"`, `"blocks:T-99"`, `"blocked-by:..."` are rejected with a corrective error pointing at the right relationship field. Use relationship arrays, not tag prefixes.
|
|
169
|
+
|
|
162
170
|
### `create_task` - Create Single Task
|
|
163
171
|
|
|
164
172
|
**Purpose:** Create a new task with all metadata.
|
|
@@ -173,17 +181,25 @@ get_config({ cache_bust: true })
|
|
|
173
181
|
priority?: string // "critical", "high", "medium", "low"
|
|
174
182
|
size?: string // "xs", "small", "medium", "large", "xl"
|
|
175
183
|
assignees?: string[] // email addresses or names
|
|
176
|
-
tags?: string[] // tag names
|
|
184
|
+
tags?: string[] // tag names (no "needs:X"/"blocks:Y" — use relationship fields)
|
|
177
185
|
due_at?: string // ISO8601 date (e.g., "2026-02-01T00:00:00Z")
|
|
178
186
|
start_at?: string // ISO8601 date
|
|
179
|
-
parent_task?: string // parent task dart_id
|
|
180
187
|
|
|
181
|
-
// Relationship fields
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
188
|
+
// Relationship fields — canonical names (preferred)
|
|
189
|
+
parent?: string // parent task dart_id
|
|
190
|
+
subtasks?: string[] // child task dart_ids
|
|
191
|
+
blocked_by?: string[] // dart_ids of tasks blocking this one
|
|
192
|
+
blocks?: string[] // dart_ids of tasks this one blocks
|
|
193
|
+
duplicates?: string[] // dart_ids of duplicate tasks
|
|
194
|
+
related?: string[] // dart_ids of related tasks
|
|
195
|
+
|
|
196
|
+
// Legacy names (deprecated, removed in 0.13.0) — all accepted interchangeably
|
|
197
|
+
parent_task?: string
|
|
198
|
+
subtask_ids?: string[]
|
|
199
|
+
blocker_ids?: string[]
|
|
200
|
+
blocking_ids?: string[]
|
|
201
|
+
duplicate_ids?: string[]
|
|
202
|
+
related_ids?: string[]
|
|
187
203
|
}
|
|
188
204
|
```
|
|
189
205
|
|
|
@@ -465,6 +481,57 @@ update_task({
|
|
|
465
481
|
|
|
466
482
|
---
|
|
467
483
|
|
|
484
|
+
### `link_tasks` - Atomic Bidirectional Relationship Linker
|
|
485
|
+
|
|
486
|
+
**Purpose:** Add a typed relationship between tasks, writing both sides of the link in one call. Prevents the common one-sided-graph failure mode where a planner sets `parent_task` on a child without updating the parent's `subtasks`.
|
|
487
|
+
|
|
488
|
+
Maps onto Linear's `issueRelationCreate` semantics. Internally delegates to `update_task`, so synonym normalization, pseudo-edge tag rejection, and auto-mirror diff logic apply transparently.
|
|
489
|
+
|
|
490
|
+
**Input Schema:**
|
|
491
|
+
```typescript
|
|
492
|
+
{
|
|
493
|
+
type: 'parent' | 'subtasks' | 'blocks' | 'blocked_by' | 'duplicates' | 'related'
|
|
494
|
+
from: string // anchor task dart_id
|
|
495
|
+
to: string[] // target task dart_ids — length must be 1 for type='parent'
|
|
496
|
+
}
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
**Semantics:**
|
|
500
|
+
- `parent`: anchor gets `parent = to[0]`; `to[0].subtasks += anchor` (auto-mirror)
|
|
501
|
+
- `subtasks`: anchor's subtasks += `to[]`; each `to[i].parent = anchor` (auto-mirror)
|
|
502
|
+
- `blocks`: anchor's blocks += `to[]`; each `to[i].blocked_by += anchor` (auto-mirror)
|
|
503
|
+
- `blocked_by`: anchor's blocked_by += `to[]`; each `to[i].blocks += anchor` (auto-mirror)
|
|
504
|
+
- `duplicates` / `related`: bidirectional symmetric mirror
|
|
505
|
+
|
|
506
|
+
**Output Schema:**
|
|
507
|
+
```typescript
|
|
508
|
+
{
|
|
509
|
+
from: string
|
|
510
|
+
type: string
|
|
511
|
+
to: string[]
|
|
512
|
+
url: string
|
|
513
|
+
mirror_applied: string[] // inverse-side tasks successfully patched
|
|
514
|
+
mirror_warnings: string[] // inverse-side patches that failed (best-effort)
|
|
515
|
+
}
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
**Examples:**
|
|
519
|
+
|
|
520
|
+
```typescript
|
|
521
|
+
// Attach two subtasks to a parent — both sides linked in one call
|
|
522
|
+
link_tasks({ type: 'subtasks', from: 'duid_parent', to: ['duid_a', 'duid_b'] })
|
|
523
|
+
|
|
524
|
+
// Express a dependency
|
|
525
|
+
link_tasks({ type: 'blocks', from: 'duid_setup', to: ['duid_feat1', 'duid_feat2'] })
|
|
526
|
+
|
|
527
|
+
// Set parent on an existing task
|
|
528
|
+
link_tasks({ type: 'parent', from: 'duid_child', to: ['duid_epic'] })
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
**Why this exists:** Dart's API does not auto-mirror parent↔subtask or blocker↔blocking. Most PM tools (Jira, Linear, Asana, ClickUp, GitHub sub-issues) do. `link_tasks` restores that intuition with a single verb. Use this over hand-rolling bidirectional updates.
|
|
532
|
+
|
|
533
|
+
---
|
|
534
|
+
|
|
468
535
|
### `delete_task` - Move Task to Trash
|
|
469
536
|
|
|
470
537
|
**Purpose:** Move a task to trash (recoverable from Dart web UI).
|
|
@@ -1202,9 +1269,66 @@ dart-query includes full document (notes/docs) management. Documents are separat
|
|
|
1202
1269
|
|
|
1203
1270
|
---
|
|
1204
1271
|
|
|
1272
|
+
## DartAI Loop Tools
|
|
1273
|
+
|
|
1274
|
+
### `dartai_loop_snapshot` - Loop Startup Aggregation
|
|
1275
|
+
|
|
1276
|
+
**Purpose:** Single-call snapshot for dartai loop startup. Returns dartboard config, claimable queue, runner-claimed tasks, and blocked tasks in one response. Replaces the 3-call sequence (`get_config` + `list_tasks` + client filter) with one aggregated call, saving 2 round-trips per loop iteration start.
|
|
1277
|
+
|
|
1278
|
+
**Input Schema:**
|
|
1279
|
+
```typescript
|
|
1280
|
+
{
|
|
1281
|
+
dartboard: string // REQUIRED — dartboard name or dart_id (e.g., "Personal/agnt")
|
|
1282
|
+
runner_dart_id?: string // optional runner dart_id; populates runner_claimed when set
|
|
1283
|
+
queue_limit?: number // max queue tasks returned (default: 20)
|
|
1284
|
+
}
|
|
1285
|
+
```
|
|
1286
|
+
|
|
1287
|
+
**Output Schema:**
|
|
1288
|
+
```typescript
|
|
1289
|
+
{
|
|
1290
|
+
dartboard_id: string
|
|
1291
|
+
config: {
|
|
1292
|
+
statuses: string[] // dartboard's status names
|
|
1293
|
+
assignees: { dart_id: string; email: string }[] // available assignees
|
|
1294
|
+
}
|
|
1295
|
+
queue: TaskSummary[] // Todo status, no `claimed:*` tag, not `loop-blocked` tagged
|
|
1296
|
+
runner_claimed: TaskSummary[] // In Progress + assigned to runner_dart_id (empty when runner not provided)
|
|
1297
|
+
blocked: TaskSummary[] // tasks tagged `loop-blocked` regardless of status
|
|
1298
|
+
fetched_at: string // ISO-8601 timestamp of when the snapshot was assembled
|
|
1299
|
+
}
|
|
1300
|
+
|
|
1301
|
+
// where:
|
|
1302
|
+
type TaskSummary = {
|
|
1303
|
+
dart_id: string
|
|
1304
|
+
title: string
|
|
1305
|
+
status: string
|
|
1306
|
+
tags: string[]
|
|
1307
|
+
assignees: string[]
|
|
1308
|
+
}
|
|
1309
|
+
```
|
|
1310
|
+
|
|
1311
|
+
**Examples:**
|
|
1312
|
+
|
|
1313
|
+
```typescript
|
|
1314
|
+
// Minimal — just claimable queue + config
|
|
1315
|
+
dartai_loop_snapshot({ dartboard: "Personal/agnt" })
|
|
1316
|
+
|
|
1317
|
+
// With runner partition — includes tasks already claimed by this runner
|
|
1318
|
+
dartai_loop_snapshot({
|
|
1319
|
+
dartboard: "Personal/agnt",
|
|
1320
|
+
runner_dart_id: "ru_abc123",
|
|
1321
|
+
queue_limit: 50
|
|
1322
|
+
})
|
|
1323
|
+
```
|
|
1324
|
+
|
|
1325
|
+
**Performance:** Exactly one outbound `listTasks` call plus one cached `get_config` read. Designed to be the first call in `dartai:start` / `workflow:start-loop` skill flows.
|
|
1326
|
+
|
|
1327
|
+
---
|
|
1328
|
+
|
|
1205
1329
|
## DartQL Reference
|
|
1206
1330
|
|
|
1207
|
-
**DartQL**
|
|
1331
|
+
**DartQL** uses SQL-92 WHERE clause syntax for batch operations.
|
|
1208
1332
|
|
|
1209
1333
|
### Syntax Overview
|
|
1210
1334
|
|
|
@@ -1217,15 +1341,15 @@ field operator value [AND|OR field operator value ...]
|
|
|
1217
1341
|
| Operator | Description | Example |
|
|
1218
1342
|
|----------|-------------|---------|
|
|
1219
1343
|
| `=` | Equals | `status = 'To Do'` |
|
|
1220
|
-
| `!=` | Not equals | `priority != 'low'` |
|
|
1344
|
+
| `!=` / `<>` | Not equals | `priority != 'low'` |
|
|
1221
1345
|
| `>` | Greater than | `due_at > '2026-02-01'` |
|
|
1222
1346
|
| `>=` | Greater or equal | `priority >= 'high'` |
|
|
1223
1347
|
| `<` | Less than | `due_at < '2026-01-18'` |
|
|
1224
1348
|
| `<=` | Less or equal | `priority <= 'medium'` |
|
|
1225
1349
|
| `IN` | In list | `status IN ('To Do', 'Doing')` |
|
|
1226
1350
|
| `NOT IN` | Not in list | `priority NOT IN ('low')` |
|
|
1227
|
-
| `LIKE` | Pattern match | `title LIKE '%
|
|
1228
|
-
| `CONTAINS` | Array contains | `tags CONTAINS 'urgent'` |
|
|
1351
|
+
| `LIKE` | Pattern match (`%` = any chars, `_` = single char, case-insensitive) | `title LIKE 'Task%'` |
|
|
1352
|
+
| `CONTAINS` | Array contains (aliases: `INCLUDES`, `HAS`) | `tags CONTAINS 'urgent'` |
|
|
1229
1353
|
| `IS NULL` | Is null/undefined | `due_at IS NULL` |
|
|
1230
1354
|
| `IS NOT NULL` | Is not null | `assignees IS NOT NULL` |
|
|
1231
1355
|
| `BETWEEN` | Range | `created_at BETWEEN '2026-01-01' AND '2026-01-31'` |
|
|
@@ -1304,10 +1428,12 @@ tags CONTAINS 'urgent'
|
|
|
1304
1428
|
tags CONTAINS 'bug' AND tags CONTAINS 'security'
|
|
1305
1429
|
```
|
|
1306
1430
|
|
|
1307
|
-
**Pattern matching:**
|
|
1431
|
+
**Pattern matching (LIKE with SQL-92 wildcards):**
|
|
1308
1432
|
```sql
|
|
1309
|
-
title LIKE '%
|
|
1310
|
-
|
|
1433
|
+
title LIKE 'Task%' -- starts with "Task"
|
|
1434
|
+
title LIKE '%authentication%' -- contains "authentication"
|
|
1435
|
+
title LIKE '%fix' -- ends with "fix"
|
|
1436
|
+
description LIKE 'API_%' -- starts with "API_" (underscore = single char)
|
|
1311
1437
|
```
|
|
1312
1438
|
|
|
1313
1439
|
**NULL checks:**
|
|
@@ -2041,7 +2167,8 @@ Unknown field: priorty. Did you mean: priority?
|
|
|
2041
2167
|
1. Check field name spelling (fuzzy match suggestions provided)
|
|
2042
2168
|
2. Valid fields: status, priority, size, title, description, assignee, dartboard, tags, dates, dart_id
|
|
2043
2169
|
3. Use quotes for string values: `status = 'To Do'` not `status = To Do`
|
|
2044
|
-
4. Check operator syntax: `=`,
|
|
2170
|
+
4. Check operator syntax (SQL-92): `=`, `!=`/`<>`, `>`, `>=`, `<`, `<=`, `IN`, `NOT IN`, `LIKE`, `CONTAINS`/`INCLUDES`/`HAS`, `IS NULL`, `BETWEEN`
|
|
2171
|
+
5. For pattern matching use `LIKE` with `%` and `_` wildcards (not `starts_with`, `matches`, etc.)
|
|
2045
2172
|
|
|
2046
2173
|
### Problem: Batch Operations Matching Wrong Tasks
|
|
2047
2174
|
|
package/dist/api/dartClient.d.ts
CHANGED
|
@@ -54,11 +54,7 @@ export declare class DartClient {
|
|
|
54
54
|
comment_id: string;
|
|
55
55
|
dart_id: string;
|
|
56
56
|
text: string;
|
|
57
|
-
author:
|
|
58
|
-
dart_id: string;
|
|
59
|
-
name: string;
|
|
60
|
-
};
|
|
61
|
-
created_at: string;
|
|
57
|
+
author: string;
|
|
62
58
|
}>;
|
|
63
59
|
listComments(input: {
|
|
64
60
|
task_id: string;
|
|
@@ -68,11 +64,8 @@ export declare class DartClient {
|
|
|
68
64
|
comments: Array<{
|
|
69
65
|
comment_id: string;
|
|
70
66
|
text: string;
|
|
71
|
-
author:
|
|
72
|
-
|
|
73
|
-
name: string;
|
|
74
|
-
};
|
|
75
|
-
created_at: string;
|
|
67
|
+
author: string;
|
|
68
|
+
created_at?: string;
|
|
76
69
|
parent_id?: string;
|
|
77
70
|
}>;
|
|
78
71
|
total: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dartClient.d.ts","sourceRoot":"","sources":["../../src/api/dartClient.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,QAAQ,EACR,UAAU,EACV,OAAO,EACP,eAAe,EACf,cAAc,EACf,MAAM,mBAAmB,CAAC;AAK3B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAkCD,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,MAAM,EAAE,gBAAgB;YA0BtB,OAAO;YAmGP,mBAAmB;
|
|
1
|
+
{"version":3,"file":"dartClient.d.ts","sourceRoot":"","sources":["../../src/api/dartClient.ts"],"names":[],"mappings":"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"}
|
package/dist/api/dartClient.js
CHANGED
|
@@ -109,6 +109,12 @@ export class DartClient {
|
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
|
+
else if (text.trimStart().startsWith('<')) {
|
|
113
|
+
const titleMatch = text.match(/<title[^>]*>([^<]+)<\/title>/i);
|
|
114
|
+
errorDetail = titleMatch
|
|
115
|
+
? `Server returned HTML error page: ${titleMatch[1].trim()}`
|
|
116
|
+
: 'Server returned HTML instead of JSON (likely a server error or redirect)';
|
|
117
|
+
}
|
|
112
118
|
else {
|
|
113
119
|
errorDetail = text.slice(0, 500);
|
|
114
120
|
}
|
|
@@ -204,6 +210,12 @@ export class DartClient {
|
|
|
204
210
|
}
|
|
205
211
|
mapTaskResponse(task) {
|
|
206
212
|
const relationships = task.taskRelationships || {};
|
|
213
|
+
const parent = task.parentId ?? task.parent ?? task.parent_task ?? null;
|
|
214
|
+
const subtasks = relationships.subtaskIds ?? task.subtaskIds ?? task.subtasks ?? task.subtask_ids ?? [];
|
|
215
|
+
const blockedBy = relationships.blockerIds ?? task.blockerIds ?? task.blocked_by ?? task.blocker_ids ?? [];
|
|
216
|
+
const blocks = relationships.blockingIds ?? task.blockingIds ?? task.blocks ?? task.blocking_ids ?? [];
|
|
217
|
+
const duplicates = relationships.duplicateIds ?? task.duplicateIds ?? task.duplicates ?? task.duplicate_ids ?? [];
|
|
218
|
+
const related = relationships.relatedIds ?? task.relatedIds ?? task.related ?? task.related_ids ?? [];
|
|
207
219
|
return {
|
|
208
220
|
...task,
|
|
209
221
|
dart_id: task.id || task.dart_id,
|
|
@@ -212,12 +224,18 @@ export class DartClient {
|
|
|
212
224
|
due_at: task.dueAt ?? task.due_at,
|
|
213
225
|
start_at: task.startAt ?? task.start_at,
|
|
214
226
|
completed_at: task.completedAt ?? task.completed_at,
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
227
|
+
parent,
|
|
228
|
+
subtasks,
|
|
229
|
+
blocked_by: blockedBy,
|
|
230
|
+
blocks,
|
|
231
|
+
duplicates,
|
|
232
|
+
related,
|
|
233
|
+
parent_task: parent ?? undefined,
|
|
234
|
+
subtask_ids: subtasks,
|
|
235
|
+
blocker_ids: blockedBy,
|
|
236
|
+
blocking_ids: blocks,
|
|
237
|
+
duplicate_ids: duplicates,
|
|
238
|
+
related_ids: related,
|
|
221
239
|
};
|
|
222
240
|
}
|
|
223
241
|
async getTask(dartId) {
|
|
@@ -315,7 +333,17 @@ export class DartClient {
|
|
|
315
333
|
if (!input.text || typeof input.text !== 'string') {
|
|
316
334
|
throw new DartAPIError('text is required and must be a string', 400);
|
|
317
335
|
}
|
|
318
|
-
|
|
336
|
+
const response = await this.request('POST', '/docs', { item: input });
|
|
337
|
+
return {
|
|
338
|
+
doc_id: response.item?.id || '',
|
|
339
|
+
title: response.item?.title || input.title,
|
|
340
|
+
text: response.item?.text || input.text,
|
|
341
|
+
folder: response.item?.folder,
|
|
342
|
+
folder_id: response.item?.folder_id,
|
|
343
|
+
created_at: response.item?.created_at || '',
|
|
344
|
+
updated_at: response.item?.updated_at || '',
|
|
345
|
+
url: response.item?.url,
|
|
346
|
+
};
|
|
319
347
|
}
|
|
320
348
|
async getDoc(docId) {
|
|
321
349
|
if (!docId || typeof docId !== 'string' || docId.trim() === '') {
|
|
@@ -346,7 +374,14 @@ export class DartClient {
|
|
|
346
374
|
if (!text || typeof text !== 'string' || text.trim() === '') {
|
|
347
375
|
throw new DartAPIError('text is required and must be a non-empty string', 400);
|
|
348
376
|
}
|
|
349
|
-
|
|
377
|
+
const trimmedId = dartId.trim();
|
|
378
|
+
const response = await this.request('POST', '/comments', { item: { taskId: trimmedId, text } });
|
|
379
|
+
return {
|
|
380
|
+
comment_id: response.item.id,
|
|
381
|
+
dart_id: response.item.taskId,
|
|
382
|
+
text: response.item.text,
|
|
383
|
+
author: response.item.author,
|
|
384
|
+
};
|
|
350
385
|
}
|
|
351
386
|
async listComments(input) {
|
|
352
387
|
if (!input.task_id || typeof input.task_id !== 'string' || input.task_id.trim() === '') {
|
|
@@ -363,7 +398,7 @@ export class DartClient {
|
|
|
363
398
|
comments: (response.results || []).map((c) => ({
|
|
364
399
|
comment_id: c.id || c.comment_id,
|
|
365
400
|
text: c.text,
|
|
366
|
-
author: c.author ||
|
|
401
|
+
author: c.author || 'Unknown',
|
|
367
402
|
created_at: c.publishedAt || c.created_at,
|
|
368
403
|
parent_id: c.parentId || c.parent_id,
|
|
369
404
|
})),
|
|
@@ -383,7 +418,7 @@ export class DartClient {
|
|
|
383
418
|
apiInput.afterId = input.after_id;
|
|
384
419
|
if (input.before_id !== undefined)
|
|
385
420
|
apiInput.beforeId = input.before_id;
|
|
386
|
-
const response = await this.request('POST', `/tasks/${encodeURIComponent(input.dart_id.trim())}/move`, apiInput);
|
|
421
|
+
const response = await this.request('POST', `/tasks/${encodeURIComponent(input.dart_id.trim())}/move`, { item: apiInput });
|
|
387
422
|
return this.mapTaskResponse(response.item);
|
|
388
423
|
}
|
|
389
424
|
async addTimeTracking(input) {
|
|
@@ -393,13 +428,25 @@ export class DartClient {
|
|
|
393
428
|
if (!input.started_at || typeof input.started_at !== 'string') {
|
|
394
429
|
throw new DartAPIError('started_at is required and must be an ISO8601 string', 400);
|
|
395
430
|
}
|
|
431
|
+
let finishedAt = input.finished_at;
|
|
432
|
+
if (!finishedAt && input.duration_minutes) {
|
|
433
|
+
const start = new Date(input.started_at);
|
|
434
|
+
finishedAt = new Date(start.getTime() + input.duration_minutes * 60000).toISOString();
|
|
435
|
+
}
|
|
436
|
+
if (!finishedAt) {
|
|
437
|
+
throw new DartAPIError('Either finished_at or duration_minutes is required', 400);
|
|
438
|
+
}
|
|
439
|
+
const config = await this.getConfig();
|
|
440
|
+
const currentUser = config.user || config.assignees?.find(a => a.email);
|
|
441
|
+
const userId = currentUser?.dart_id || currentUser?.email || currentUser?.name;
|
|
442
|
+
if (!userId) {
|
|
443
|
+
throw new DartAPIError('Cannot determine current user for time tracking. Check workspace config.', 400);
|
|
444
|
+
}
|
|
396
445
|
const apiInput = {
|
|
446
|
+
user: userId,
|
|
397
447
|
startedAt: input.started_at,
|
|
448
|
+
finishedAt: finishedAt,
|
|
398
449
|
};
|
|
399
|
-
if (input.finished_at !== undefined)
|
|
400
|
-
apiInput.finishedAt = input.finished_at;
|
|
401
|
-
if (input.duration_minutes !== undefined)
|
|
402
|
-
apiInput.durationMinutes = input.duration_minutes;
|
|
403
450
|
if (input.note !== undefined)
|
|
404
451
|
apiInput.note = input.note;
|
|
405
452
|
const response = await this.request('POST', `/tasks/${encodeURIComponent(input.dart_id.trim())}/time-tracking`, apiInput);
|
|
@@ -424,7 +471,7 @@ export class DartClient {
|
|
|
424
471
|
};
|
|
425
472
|
if (input.filename !== undefined)
|
|
426
473
|
apiInput.filename = input.filename;
|
|
427
|
-
const response = await this.request('POST', `/tasks/${encodeURIComponent(input.dart_id.trim())}/attachments/from-url`, apiInput);
|
|
474
|
+
const response = await this.request('POST', `/tasks/${encodeURIComponent(input.dart_id.trim())}/attachments/from-url`, { item: apiInput });
|
|
428
475
|
return {
|
|
429
476
|
attachment_id: response.item?.id || '',
|
|
430
477
|
dart_id: input.dart_id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dartClient.js","sourceRoot":"","sources":["../../src/api/dartClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dartClient.js","sourceRoot":"","sources":["../../src/api/dartClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const RELATIONSHIP_INPUT_SYNONYMS: Readonly<Record<string, string>>;
|
|
2
|
+
export declare function normalizeRelationshipInput<T extends Record<string, unknown>>(input: T): T;
|
|
3
|
+
export declare function assertNoPseudoEdgeTags(tags: unknown, ValidationErrorCtor: new (msg: string, field: string) => Error): void;
|
|
4
|
+
//# sourceMappingURL=relationshipNormalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relationshipNormalizer.d.ts","sourceRoot":"","sources":["../../src/api/relationshipNormalizer.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA0CvE,CAAC;AAWH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAgBzF;AA2CD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,EACb,mBAAmB,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,KAAK,GAC7D,IAAI,CAmBN"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
export const RELATIONSHIP_INPUT_SYNONYMS = Object.freeze({
|
|
2
|
+
parent: 'parent_task',
|
|
3
|
+
parentId: 'parent_task',
|
|
4
|
+
parent_id: 'parent_task',
|
|
5
|
+
parent_task: 'parent_task',
|
|
6
|
+
subtasks: 'subtask_ids',
|
|
7
|
+
children: 'subtask_ids',
|
|
8
|
+
child_ids: 'subtask_ids',
|
|
9
|
+
childIds: 'subtask_ids',
|
|
10
|
+
subtaskIds: 'subtask_ids',
|
|
11
|
+
subtask_ids: 'subtask_ids',
|
|
12
|
+
blocked_by: 'blocker_ids',
|
|
13
|
+
blockedBy: 'blocker_ids',
|
|
14
|
+
blockers: 'blocker_ids',
|
|
15
|
+
depends_on: 'blocker_ids',
|
|
16
|
+
dependsOn: 'blocker_ids',
|
|
17
|
+
blockerIds: 'blocker_ids',
|
|
18
|
+
blocker_ids: 'blocker_ids',
|
|
19
|
+
blocks: 'blocking_ids',
|
|
20
|
+
blocking: 'blocking_ids',
|
|
21
|
+
blockingIds: 'blocking_ids',
|
|
22
|
+
blocking_ids: 'blocking_ids',
|
|
23
|
+
duplicates: 'duplicate_ids',
|
|
24
|
+
duplicate_of: 'duplicate_ids',
|
|
25
|
+
duplicateOf: 'duplicate_ids',
|
|
26
|
+
duplicateIds: 'duplicate_ids',
|
|
27
|
+
duplicate_ids: 'duplicate_ids',
|
|
28
|
+
related: 'related_ids',
|
|
29
|
+
relations: 'related_ids',
|
|
30
|
+
relatedIds: 'related_ids',
|
|
31
|
+
related_ids: 'related_ids',
|
|
32
|
+
});
|
|
33
|
+
export function normalizeRelationshipInput(input) {
|
|
34
|
+
if (!input || typeof input !== 'object')
|
|
35
|
+
return input;
|
|
36
|
+
const out = { ...input };
|
|
37
|
+
for (const key of Object.keys(input)) {
|
|
38
|
+
const target = RELATIONSHIP_INPUT_SYNONYMS[key];
|
|
39
|
+
if (!target || target === key)
|
|
40
|
+
continue;
|
|
41
|
+
if (target in out) {
|
|
42
|
+
delete out[key];
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
out[target] = out[key];
|
|
46
|
+
delete out[key];
|
|
47
|
+
}
|
|
48
|
+
return out;
|
|
49
|
+
}
|
|
50
|
+
const PSEUDO_EDGE_TAG_HINTS = Object.freeze({
|
|
51
|
+
needs: 'blocked_by',
|
|
52
|
+
'depends-on': 'blocked_by',
|
|
53
|
+
depends_on: 'blocked_by',
|
|
54
|
+
blockedby: 'blocked_by',
|
|
55
|
+
'blocked-by': 'blocked_by',
|
|
56
|
+
blocks: 'blocks',
|
|
57
|
+
blocking: 'blocks',
|
|
58
|
+
parent: 'parent',
|
|
59
|
+
'parent-of': 'subtasks',
|
|
60
|
+
child: 'parent',
|
|
61
|
+
'child-of': 'parent',
|
|
62
|
+
subtask: 'subtasks',
|
|
63
|
+
duplicate: 'duplicates',
|
|
64
|
+
'duplicate-of': 'duplicates',
|
|
65
|
+
related: 'related',
|
|
66
|
+
});
|
|
67
|
+
const PSEUDO_EDGE_TAG_REGEX = /^(needs|depends[-_]?on|blocked[-_]?by|blocks|blocking|parent(?:-of)?|child(?:-of)?|subtask|duplicate(?:-of)?|related)\s*:\s*(.+)$/i;
|
|
68
|
+
export function assertNoPseudoEdgeTags(tags, ValidationErrorCtor) {
|
|
69
|
+
if (!Array.isArray(tags))
|
|
70
|
+
return;
|
|
71
|
+
for (const tag of tags) {
|
|
72
|
+
if (typeof tag !== 'string')
|
|
73
|
+
continue;
|
|
74
|
+
const match = tag.match(PSEUDO_EDGE_TAG_REGEX);
|
|
75
|
+
if (!match)
|
|
76
|
+
continue;
|
|
77
|
+
const prefix = match[1].toLowerCase().replace(/_/g, '-');
|
|
78
|
+
const target = match[2].trim();
|
|
79
|
+
const suggestedField = PSEUDO_EDGE_TAG_HINTS[prefix] ?? 'blocked_by';
|
|
80
|
+
throw new ValidationErrorCtor(`Tag "${tag}" looks like a dependency edge encoded as a label. ` +
|
|
81
|
+
`Dart's task graph reads relationship fields, not tags — ` +
|
|
82
|
+
`use ${suggestedField}: ["${target}"] instead. ` +
|
|
83
|
+
`Tags are free-text labels (e.g. "backend", "v2") and do not link tasks.`, 'tags');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=relationshipNormalizer.js.map
|