@love-moon/conductor-sdk 0.12.0 → 0.13.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/CHANGELOG.md +13 -0
- package/dist/api/issues.d.ts +4 -0
- package/dist/api/issues.js +7 -0
- package/dist/backend/client.js +4 -0
- package/dist/client.js +8 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @love-moon/conductor-sdk
|
|
2
2
|
|
|
3
|
+
## 0.13.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 80ab13e: `listTasks({ projectId })` now lists a project's tasks by their real project.
|
|
8
|
+
|
|
9
|
+
Tasks can now be moved (filed) under any project in the web UI. That move is
|
|
10
|
+
display-only, and `GET /api/tasks?project_id=` keeps grouping by where a task is
|
|
11
|
+
filed for user-facing clients. The SDK now sends `project_scope=real`, so an
|
|
12
|
+
agent's `list_tasks` still sees every task that actually belongs to the project
|
|
13
|
+
(including ones the user filed elsewhere) and does not pick up tasks filed into
|
|
14
|
+
it from other projects.
|
|
15
|
+
|
|
3
16
|
## 0.12.0
|
|
4
17
|
|
|
5
18
|
## 0.11.2
|
package/dist/api/issues.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export interface Issue {
|
|
|
6
6
|
description?: string | null;
|
|
7
7
|
status: string;
|
|
8
8
|
priority?: string | null;
|
|
9
|
+
/** "feature", "bug", or "research". */
|
|
10
|
+
type?: string | null;
|
|
9
11
|
position?: number | null;
|
|
10
12
|
metadata?: Record<string, unknown> | null;
|
|
11
13
|
createdAt?: string | null;
|
|
@@ -23,6 +25,7 @@ export interface CreateIssueInput {
|
|
|
23
25
|
title: string;
|
|
24
26
|
description?: string;
|
|
25
27
|
priority?: string;
|
|
28
|
+
type?: string;
|
|
26
29
|
status?: string;
|
|
27
30
|
metadata?: Record<string, unknown>;
|
|
28
31
|
clientRequestId?: string;
|
|
@@ -31,6 +34,7 @@ export interface UpdateIssueInput {
|
|
|
31
34
|
title?: string;
|
|
32
35
|
description?: string;
|
|
33
36
|
priority?: string;
|
|
37
|
+
type?: string;
|
|
34
38
|
status?: string;
|
|
35
39
|
metadata?: Record<string, unknown>;
|
|
36
40
|
}
|
package/dist/api/issues.js
CHANGED
|
@@ -11,6 +11,7 @@ const normalizeIssue = (payload) => {
|
|
|
11
11
|
description: payload.description ?? null,
|
|
12
12
|
status: String(payload.status ?? ''),
|
|
13
13
|
priority: payload.priority ?? null,
|
|
14
|
+
type: payload.type ?? null,
|
|
14
15
|
position: typeof payload.position === 'number' ? payload.position : null,
|
|
15
16
|
metadata: payload.metadata && typeof payload.metadata === 'object' && !Array.isArray(payload.metadata)
|
|
16
17
|
? payload.metadata
|
|
@@ -109,6 +110,9 @@ export class IssuesApi {
|
|
|
109
110
|
if (input.priority !== undefined) {
|
|
110
111
|
params.priority = input.priority;
|
|
111
112
|
}
|
|
113
|
+
if (input.type !== undefined) {
|
|
114
|
+
params.type = input.type;
|
|
115
|
+
}
|
|
112
116
|
if (input.status !== undefined) {
|
|
113
117
|
params.status = input.status;
|
|
114
118
|
}
|
|
@@ -130,6 +134,9 @@ export class IssuesApi {
|
|
|
130
134
|
if (patch.priority !== undefined) {
|
|
131
135
|
params.priority = patch.priority;
|
|
132
136
|
}
|
|
137
|
+
if (patch.type !== undefined) {
|
|
138
|
+
params.type = patch.type;
|
|
139
|
+
}
|
|
133
140
|
if (patch.status !== undefined) {
|
|
134
141
|
params.status = patch.status;
|
|
135
142
|
}
|
package/dist/backend/client.js
CHANGED
|
@@ -157,6 +157,10 @@ export class BackendApiClient {
|
|
|
157
157
|
const query = new URLSearchParams();
|
|
158
158
|
if (params.projectId) {
|
|
159
159
|
query.set('project_id', params.projectId);
|
|
160
|
+
// Match the task's REAL project. By default the server groups by where the
|
|
161
|
+
// user filed a task in the web UI (display-only), which would hide this
|
|
162
|
+
// project's filed-out tasks from agents and include foreign ones.
|
|
163
|
+
query.set('project_scope', 'real');
|
|
160
164
|
}
|
|
161
165
|
if (params.status) {
|
|
162
166
|
query.set('status', params.status);
|
package/dist/client.js
CHANGED
|
@@ -510,12 +510,19 @@ export class ConductorClient {
|
|
|
510
510
|
? payload.hostname
|
|
511
511
|
: existing?.hostname ?? this.resolveHostname(),
|
|
512
512
|
});
|
|
513
|
+
// An explicit project_path is the fire's real working directory; record it
|
|
514
|
+
// as `cwd` so an attached terminal opens where the task actually runs.
|
|
515
|
+
const explicitCwd = typeof payload.project_path === 'string' && payload.project_path ? payload.project_path : null;
|
|
516
|
+
const metadata = {
|
|
517
|
+
...(explicitDaemonName ? { daemonName: explicitDaemonName } : {}),
|
|
518
|
+
...(explicitCwd ? { cwd: explicitCwd } : {}),
|
|
519
|
+
};
|
|
513
520
|
if (typeof this.backendApi.updateTask === 'function') {
|
|
514
521
|
await this.backendApi.updateTask(normalizedTaskId, {
|
|
515
522
|
backendType: record.backendType ?? null,
|
|
516
523
|
sessionId: record.sessionId ?? null,
|
|
517
524
|
sessionFilePath: record.sessionFilePath ?? null,
|
|
518
|
-
metadata:
|
|
525
|
+
metadata: Object.keys(metadata).length > 0 ? metadata : undefined,
|
|
519
526
|
});
|
|
520
527
|
}
|
|
521
528
|
return {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@love-moon/conductor-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/lovemoon-ai/conductor.git"
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"typescript": "^5.6.3",
|
|
34
34
|
"vitest": "^2.1.4"
|
|
35
35
|
},
|
|
36
|
-
"gitCommitId": "
|
|
36
|
+
"gitCommitId": "e1e507f"
|
|
37
37
|
}
|