opentasks 0.1.2 → 0.2.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/LICENSE +21 -0
- package/README.md +218 -49
- package/dist/cli.d.ts +20 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +451 -15
- package/dist/cli.js.map +1 -1
- package/dist/client/client.d.ts +54 -0
- package/dist/client/client.d.ts.map +1 -1
- package/dist/client/client.js +148 -4
- package/dist/client/client.js.map +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/core/discover.d.ts.map +1 -1
- package/dist/core/discover.js +7 -2
- package/dist/core/discover.js.map +1 -1
- package/dist/core/hash.d.ts.map +1 -1
- package/dist/core/hash.js +7 -0
- package/dist/core/hash.js.map +1 -1
- package/dist/core/id.d.ts +1 -1
- package/dist/core/id.d.ts.map +1 -1
- package/dist/core/id.js +2 -0
- package/dist/core/id.js.map +1 -1
- package/dist/core/worktree.js +4 -4
- package/dist/core/worktree.js.map +1 -1
- package/dist/daemon/events.d.ts +82 -0
- package/dist/daemon/events.d.ts.map +1 -0
- package/dist/daemon/events.js +71 -0
- package/dist/daemon/events.js.map +1 -0
- package/dist/daemon/flush.d.ts.map +1 -1
- package/dist/daemon/flush.js +12 -2
- package/dist/daemon/flush.js.map +1 -1
- package/dist/daemon/health-counters.d.ts +38 -0
- package/dist/daemon/health-counters.d.ts.map +1 -0
- package/dist/daemon/health-counters.js +42 -0
- package/dist/daemon/health-counters.js.map +1 -0
- package/dist/daemon/idempotency.d.ts +50 -0
- package/dist/daemon/idempotency.d.ts.map +1 -0
- package/dist/daemon/idempotency.js +104 -0
- package/dist/daemon/idempotency.js.map +1 -0
- package/dist/daemon/index.d.ts +2 -0
- package/dist/daemon/index.d.ts.map +1 -1
- package/dist/daemon/index.js +1 -0
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/ipc.d.ts +32 -2
- package/dist/daemon/ipc.d.ts.map +1 -1
- package/dist/daemon/ipc.js +54 -3
- package/dist/daemon/ipc.js.map +1 -1
- package/dist/daemon/lifecycle.d.ts.map +1 -1
- package/dist/daemon/lifecycle.js +302 -8
- package/dist/daemon/lifecycle.js.map +1 -1
- package/dist/daemon/location-state.d.ts +60 -1
- package/dist/daemon/location-state.d.ts.map +1 -1
- package/dist/daemon/location-state.js +136 -31
- package/dist/daemon/location-state.js.map +1 -1
- package/dist/daemon/methods/context-files.d.ts.map +1 -1
- package/dist/daemon/methods/context-files.js +4 -3
- package/dist/daemon/methods/context-files.js.map +1 -1
- package/dist/daemon/methods/events.d.ts +22 -0
- package/dist/daemon/methods/events.d.ts.map +1 -0
- package/dist/daemon/methods/events.js +30 -0
- package/dist/daemon/methods/events.js.map +1 -0
- package/dist/daemon/methods/graph.d.ts +7 -0
- package/dist/daemon/methods/graph.d.ts.map +1 -1
- package/dist/daemon/methods/graph.js +24 -14
- package/dist/daemon/methods/graph.js.map +1 -1
- package/dist/daemon/methods/lifecycle.d.ts +16 -0
- package/dist/daemon/methods/lifecycle.d.ts.map +1 -1
- package/dist/daemon/methods/lifecycle.js +3 -1
- package/dist/daemon/methods/lifecycle.js.map +1 -1
- package/dist/daemon/methods/location.js.map +1 -1
- package/dist/daemon/methods/sync.d.ts +113 -0
- package/dist/daemon/methods/sync.d.ts.map +1 -0
- package/dist/daemon/methods/sync.js +158 -0
- package/dist/daemon/methods/sync.js.map +1 -0
- package/dist/daemon/methods/tools.d.ts.map +1 -1
- package/dist/daemon/methods/tools.js +42 -8
- package/dist/daemon/methods/tools.js.map +1 -1
- package/dist/daemon/methods/watch.d.ts +24 -0
- package/dist/daemon/methods/watch.d.ts.map +1 -1
- package/dist/daemon/methods/watch.js +178 -88
- package/dist/daemon/methods/watch.js.map +1 -1
- package/dist/daemon/sessionlog-watcher.d.ts.map +1 -1
- package/dist/daemon/sessionlog-watcher.js +4 -0
- package/dist/daemon/sessionlog-watcher.js.map +1 -1
- package/dist/graph/EdgeTypeRegistry.d.ts.map +1 -1
- package/dist/graph/EdgeTypeRegistry.js +32 -0
- package/dist/graph/EdgeTypeRegistry.js.map +1 -1
- package/dist/graph/FederatedGraph.d.ts.map +1 -1
- package/dist/graph/GraphologyAdapter.d.ts.map +1 -1
- package/dist/graph/GraphologyAdapter.js.map +1 -1
- package/dist/graph/HydratingFederatedGraph.d.ts.map +1 -1
- package/dist/graph/HydratingFederatedGraph.js +1 -1
- package/dist/graph/HydratingFederatedGraph.js.map +1 -1
- package/dist/graph/attempts.d.ts +50 -0
- package/dist/graph/attempts.d.ts.map +1 -0
- package/dist/graph/attempts.js +51 -0
- package/dist/graph/attempts.js.map +1 -0
- package/dist/graph/coordination.d.ts +4 -2
- package/dist/graph/coordination.d.ts.map +1 -1
- package/dist/graph/coordination.js +77 -85
- package/dist/graph/coordination.js.map +1 -1
- package/dist/graph/expansion.d.ts.map +1 -1
- package/dist/graph/expansion.js +1 -1
- package/dist/graph/expansion.js.map +1 -1
- package/dist/graph/git-graph-syncer.d.ts +24 -0
- package/dist/graph/git-graph-syncer.d.ts.map +1 -1
- package/dist/graph/git-graph-syncer.js +111 -26
- package/dist/graph/git-graph-syncer.js.map +1 -1
- package/dist/graph/provider-store.d.ts +12 -1
- package/dist/graph/provider-store.d.ts.map +1 -1
- package/dist/graph/provider-store.js +35 -8
- package/dist/graph/provider-store.js.map +1 -1
- package/dist/graph/query.d.ts.map +1 -1
- package/dist/graph/query.js +18 -2
- package/dist/graph/query.js.map +1 -1
- package/dist/graph/store.d.ts +18 -2
- package/dist/graph/store.d.ts.map +1 -1
- package/dist/graph/store.js +43 -0
- package/dist/graph/store.js.map +1 -1
- package/dist/graph/sync.js +1 -1
- package/dist/graph/sync.js.map +1 -1
- package/dist/graph/types.d.ts +9 -1
- package/dist/graph/types.d.ts.map +1 -1
- package/dist/graph/types.js.map +1 -1
- package/dist/graph/validation.d.ts.map +1 -1
- package/dist/graph/validation.js +20 -2
- package/dist/graph/validation.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/materialization/archiver.d.ts.map +1 -1
- package/dist/materialization/archiver.js.map +1 -1
- package/dist/materialization/snapshot.d.ts.map +1 -1
- package/dist/materialization/snapshot.js +1 -1
- package/dist/materialization/snapshot.js.map +1 -1
- package/dist/materialization/types.d.ts +7 -5
- package/dist/materialization/types.d.ts.map +1 -1
- package/dist/materialization/types.js.map +1 -1
- package/dist/mcp/server.d.ts +2 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +308 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/providers/beads.d.ts.map +1 -1
- package/dist/providers/beads.js +2 -0
- package/dist/providers/beads.js.map +1 -1
- package/dist/providers/claude-tasks.d.ts.map +1 -1
- package/dist/providers/claude-tasks.js.map +1 -1
- package/dist/providers/global.js +1 -1
- package/dist/providers/global.js.map +1 -1
- package/dist/providers/location.d.ts.map +1 -1
- package/dist/providers/location.js.map +1 -1
- package/dist/providers/map-client-factory.d.ts.map +1 -1
- package/dist/providers/map-client-factory.js +1 -1
- package/dist/providers/map-client-factory.js.map +1 -1
- package/dist/providers/map-connector.js +1 -1
- package/dist/providers/map-connector.js.map +1 -1
- package/dist/providers/map-event-bridge.d.ts.map +1 -1
- package/dist/providers/map-event-bridge.js +1 -0
- package/dist/providers/map-event-bridge.js.map +1 -1
- package/dist/providers/map.d.ts.map +1 -1
- package/dist/providers/map.js +5 -2
- package/dist/providers/map.js.map +1 -1
- package/dist/providers/native.d.ts.map +1 -1
- package/dist/providers/native.js +21 -8
- package/dist/providers/native.js.map +1 -1
- package/dist/providers/registry.js +1 -1
- package/dist/providers/registry.js.map +1 -1
- package/dist/providers/sudocode.d.ts.map +1 -1
- package/dist/providers/sudocode.js +5 -11
- package/dist/providers/sudocode.js.map +1 -1
- package/dist/providers/traits/Reconcilable.d.ts.map +1 -1
- package/dist/providers/traits/TaskManageable.d.ts +15 -1
- package/dist/providers/traits/TaskManageable.d.ts.map +1 -1
- package/dist/providers/traits/TaskManageable.js +26 -0
- package/dist/providers/traits/TaskManageable.js.map +1 -1
- package/dist/providers/traits/Watchable.d.ts +6 -0
- package/dist/providers/traits/Watchable.d.ts.map +1 -1
- package/dist/providers/traits/Watchable.js.map +1 -1
- package/dist/providers/types.d.ts +1 -1
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/schema/edges.d.ts +5 -1
- package/dist/schema/edges.d.ts.map +1 -1
- package/dist/schema/index.d.ts +2 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -1
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/nodes.d.ts +55 -2
- package/dist/schema/nodes.d.ts.map +1 -1
- package/dist/schema/storage.d.ts +2 -0
- package/dist/schema/storage.d.ts.map +1 -1
- package/dist/schema/validation.d.ts +6 -2
- package/dist/schema/validation.d.ts.map +1 -1
- package/dist/schema/validation.js +18 -1
- package/dist/schema/validation.js.map +1 -1
- package/dist/sessionlog/agent/registry.js.map +1 -1
- package/dist/sessionlog/agent/session-types.d.ts.map +1 -1
- package/dist/sessionlog/agent/types.d.ts.map +1 -1
- package/dist/sessionlog/commands/clean.js +1 -1
- package/dist/sessionlog/commands/clean.js.map +1 -1
- package/dist/sessionlog/commands/disable.d.ts.map +1 -1
- package/dist/sessionlog/commands/disable.js.map +1 -1
- package/dist/sessionlog/commands/doctor.js +1 -1
- package/dist/sessionlog/commands/doctor.js.map +1 -1
- package/dist/sessionlog/commands/enable.js +1 -1
- package/dist/sessionlog/commands/enable.js.map +1 -1
- package/dist/sessionlog/commands/resume.js +1 -1
- package/dist/sessionlog/commands/resume.js.map +1 -1
- package/dist/sessionlog/commands/rewind.d.ts.map +1 -1
- package/dist/sessionlog/commands/rewind.js +1 -1
- package/dist/sessionlog/commands/rewind.js.map +1 -1
- package/dist/sessionlog/commands/status.d.ts.map +1 -1
- package/dist/sessionlog/commands/status.js.map +1 -1
- package/dist/sessionlog/hooks/lifecycle.d.ts.map +1 -1
- package/dist/sessionlog/hooks/lifecycle.js +3 -3
- package/dist/sessionlog/hooks/lifecycle.js.map +1 -1
- package/dist/sessionlog/security/redaction.js +1 -1
- package/dist/sessionlog/security/redaction.js.map +1 -1
- package/dist/sessionlog/store/checkpoint-store.d.ts.map +1 -1
- package/dist/sessionlog/store/checkpoint-store.js +2 -2
- package/dist/sessionlog/store/checkpoint-store.js.map +1 -1
- package/dist/sessionlog/store/native-store.d.ts.map +1 -1
- package/dist/sessionlog/store/native-store.js.map +1 -1
- package/dist/sessionlog/store/session-store.d.ts.map +1 -1
- package/dist/sessionlog/store/session-store.js +1 -1
- package/dist/sessionlog/store/session-store.js.map +1 -1
- package/dist/sessionlog/strategy/attribution.js +2 -2
- package/dist/sessionlog/strategy/attribution.js.map +1 -1
- package/dist/sessionlog/strategy/common.d.ts +1 -1
- package/dist/sessionlog/strategy/common.d.ts.map +1 -1
- package/dist/sessionlog/strategy/common.js +3 -3
- package/dist/sessionlog/strategy/common.js.map +1 -1
- package/dist/sessionlog/strategy/content-overlap.d.ts.map +1 -1
- package/dist/sessionlog/strategy/content-overlap.js +1 -1
- package/dist/sessionlog/strategy/content-overlap.js.map +1 -1
- package/dist/sessionlog/strategy/manual-commit.d.ts.map +1 -1
- package/dist/sessionlog/strategy/manual-commit.js +6 -16
- package/dist/sessionlog/strategy/manual-commit.js.map +1 -1
- package/dist/sessionlog/utils/preview-rewind.d.ts.map +1 -1
- package/dist/sessionlog/utils/preview-rewind.js +1 -1
- package/dist/sessionlog/utils/preview-rewind.js.map +1 -1
- package/dist/sessionlog/utils/trailers.d.ts.map +1 -1
- package/dist/sessionlog/utils/trailers.js +0 -1
- package/dist/sessionlog/utils/trailers.js.map +1 -1
- package/dist/storage/interface.d.ts +64 -0
- package/dist/storage/interface.d.ts.map +1 -1
- package/dist/storage/interface.js.map +1 -1
- package/dist/storage/jsonl.js +2 -2
- package/dist/storage/jsonl.js.map +1 -1
- package/dist/storage/sqlite-schema.d.ts +8 -2
- package/dist/storage/sqlite-schema.d.ts.map +1 -1
- package/dist/storage/sqlite-schema.js +10 -1
- package/dist/storage/sqlite-schema.js.map +1 -1
- package/dist/storage/sqlite.d.ts +16 -1
- package/dist/storage/sqlite.d.ts.map +1 -1
- package/dist/storage/sqlite.js +134 -2
- package/dist/storage/sqlite.js.map +1 -1
- package/dist/tools/link.js +1 -1
- package/dist/tools/link.js.map +1 -1
- package/dist/tools/query.d.ts.map +1 -1
- package/dist/tools/query.js +8 -29
- package/dist/tools/query.js.map +1 -1
- package/dist/tools/task.d.ts.map +1 -1
- package/dist/tools/task.js +115 -5
- package/dist/tools/task.js.map +1 -1
- package/dist/tools/types.d.ts +84 -3
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/version.d.ts +14 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +44 -0
- package/dist/version.js.map +1 -0
- package/package.json +32 -7
- package/skills/opentasks/SKILL.md +226 -0
- package/skills/opentasks/dependency-management.md +119 -0
- package/skills/opentasks/feedback-and-review.md +100 -0
- package/skills/opentasks/linking-external-data.md +103 -0
- package/skills/opentasks/spec-to-implementation.md +171 -0
package/dist/tools/task.js
CHANGED
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
* Operates on the ProviderAwareStore's task methods, which delegate
|
|
8
8
|
* to TaskManageable providers.
|
|
9
9
|
*/
|
|
10
|
+
import { TASK_ACTIONS } from '../providers/traits/TaskManageable.js';
|
|
10
11
|
// ============================================================================
|
|
11
12
|
// Summary Converter
|
|
12
13
|
// ============================================================================
|
|
@@ -39,8 +40,17 @@ function countOperations(params) {
|
|
|
39
40
|
count++;
|
|
40
41
|
if (params.validActions !== undefined)
|
|
41
42
|
count++;
|
|
43
|
+
if (params.claim !== undefined)
|
|
44
|
+
count++;
|
|
45
|
+
if (params.claimNext !== undefined)
|
|
46
|
+
count++;
|
|
47
|
+
if (params.release !== undefined)
|
|
48
|
+
count++;
|
|
49
|
+
if (params.renew !== undefined)
|
|
50
|
+
count++;
|
|
42
51
|
return count;
|
|
43
52
|
}
|
|
53
|
+
const OPERATION_LIST = 'transition, ready, assign, validActions, claim, claimNext, release, renew';
|
|
44
54
|
// ============================================================================
|
|
45
55
|
// Task Tool Implementation
|
|
46
56
|
// ============================================================================
|
|
@@ -57,13 +67,13 @@ export async function task(store, params) {
|
|
|
57
67
|
if (opCount === 0) {
|
|
58
68
|
return {
|
|
59
69
|
success: false,
|
|
60
|
-
error:
|
|
70
|
+
error: `No operation specified. Provide one of: ${OPERATION_LIST}`,
|
|
61
71
|
};
|
|
62
72
|
}
|
|
63
73
|
if (opCount > 1) {
|
|
64
74
|
return {
|
|
65
75
|
success: false,
|
|
66
|
-
error:
|
|
76
|
+
error: `Multiple operations specified. Provide exactly one of: ${OPERATION_LIST}`,
|
|
67
77
|
};
|
|
68
78
|
}
|
|
69
79
|
try {
|
|
@@ -79,6 +89,18 @@ export async function task(store, params) {
|
|
|
79
89
|
if (params.validActions) {
|
|
80
90
|
return await handleValidActions(store, params.validActions);
|
|
81
91
|
}
|
|
92
|
+
if (params.claim) {
|
|
93
|
+
return await handleClaim(store, params.claim);
|
|
94
|
+
}
|
|
95
|
+
if (params.claimNext) {
|
|
96
|
+
return await handleClaimNext(store, params.claimNext);
|
|
97
|
+
}
|
|
98
|
+
if (params.release) {
|
|
99
|
+
return await handleRelease(store, params.release);
|
|
100
|
+
}
|
|
101
|
+
if (params.renew) {
|
|
102
|
+
return await handleRenew(store, params.renew);
|
|
103
|
+
}
|
|
82
104
|
return { success: false, error: 'Unknown operation' };
|
|
83
105
|
}
|
|
84
106
|
catch (error) {
|
|
@@ -99,11 +121,10 @@ async function handleTransition(store, params) {
|
|
|
99
121
|
if (!action) {
|
|
100
122
|
return { success: false, error: 'Missing required parameter: action' };
|
|
101
123
|
}
|
|
102
|
-
|
|
103
|
-
if (!validActions.includes(action)) {
|
|
124
|
+
if (!TASK_ACTIONS.includes(action)) {
|
|
104
125
|
return {
|
|
105
126
|
success: false,
|
|
106
|
-
error: `Invalid action: ${action}. Must be one of: ${
|
|
127
|
+
error: `Invalid action: ${action}. Must be one of: ${TASK_ACTIONS.join(', ')}`,
|
|
107
128
|
};
|
|
108
129
|
}
|
|
109
130
|
const result = await store.taskTransition(id, action);
|
|
@@ -122,6 +143,7 @@ async function handleReady(store, params) {
|
|
|
122
143
|
tags: params.tags,
|
|
123
144
|
priority: params.priority,
|
|
124
145
|
assignee: params.assignee,
|
|
146
|
+
excludeClaimed: params.excludeClaimed,
|
|
125
147
|
});
|
|
126
148
|
const data = {
|
|
127
149
|
type: 'ready',
|
|
@@ -158,4 +180,92 @@ async function handleValidActions(store, params) {
|
|
|
158
180
|
};
|
|
159
181
|
return { success: true, data };
|
|
160
182
|
}
|
|
183
|
+
async function handleClaim(store, params) {
|
|
184
|
+
const { id, agentId, durationMs, force } = params;
|
|
185
|
+
if (!id)
|
|
186
|
+
return { success: false, error: 'Missing required parameter: id' };
|
|
187
|
+
if (!agentId)
|
|
188
|
+
return { success: false, error: 'Missing required parameter: agentId' };
|
|
189
|
+
const result = await store.taskClaim(id, agentId, { durationMs, force });
|
|
190
|
+
// A claim blocked by another holder is a normal outcome (claimed=false), not
|
|
191
|
+
// a tool error. A genuine failure (e.g. node not found) has neither a claim
|
|
192
|
+
// nor an existing holder.
|
|
193
|
+
if (!result.success && !result.existingClaim) {
|
|
194
|
+
return { success: false, error: result.error ?? `Cannot claim ${id}` };
|
|
195
|
+
}
|
|
196
|
+
const data = result.success && result.claim
|
|
197
|
+
? {
|
|
198
|
+
type: 'claim',
|
|
199
|
+
claimed: true,
|
|
200
|
+
nodeId: id,
|
|
201
|
+
agentId,
|
|
202
|
+
fence: result.claim.fence,
|
|
203
|
+
lockUntil: result.claim.lockUntil,
|
|
204
|
+
}
|
|
205
|
+
: {
|
|
206
|
+
type: 'claim',
|
|
207
|
+
claimed: false,
|
|
208
|
+
nodeId: id,
|
|
209
|
+
agentId,
|
|
210
|
+
reason: result.error,
|
|
211
|
+
existingClaim: result.existingClaim
|
|
212
|
+
? { agentId: result.existingClaim.agentId, lockUntil: result.existingClaim.lockUntil }
|
|
213
|
+
: undefined,
|
|
214
|
+
};
|
|
215
|
+
return { success: true, data };
|
|
216
|
+
}
|
|
217
|
+
async function handleClaimNext(store, params) {
|
|
218
|
+
const { agentId, durationMs } = params;
|
|
219
|
+
if (!agentId)
|
|
220
|
+
return { success: false, error: 'Missing required parameter: agentId' };
|
|
221
|
+
const result = await store.taskClaimNext(agentId, { durationMs });
|
|
222
|
+
if (!result || !result.claim) {
|
|
223
|
+
const data = { type: 'claimNext', claimed: false, agentId };
|
|
224
|
+
return { success: true, data };
|
|
225
|
+
}
|
|
226
|
+
const data = {
|
|
227
|
+
type: 'claimNext',
|
|
228
|
+
claimed: true,
|
|
229
|
+
nodeId: result.claim.nodeId,
|
|
230
|
+
agentId,
|
|
231
|
+
fence: result.claim.fence,
|
|
232
|
+
lockUntil: result.claim.lockUntil,
|
|
233
|
+
};
|
|
234
|
+
return { success: true, data };
|
|
235
|
+
}
|
|
236
|
+
async function handleRelease(store, params) {
|
|
237
|
+
const { id, agentId, fence } = params;
|
|
238
|
+
if (!id)
|
|
239
|
+
return { success: false, error: 'Missing required parameter: id' };
|
|
240
|
+
if (!agentId)
|
|
241
|
+
return { success: false, error: 'Missing required parameter: agentId' };
|
|
242
|
+
const released = await store.taskRelease(id, agentId, fence);
|
|
243
|
+
const data = { type: 'release', released, nodeId: id };
|
|
244
|
+
return { success: true, data };
|
|
245
|
+
}
|
|
246
|
+
async function handleRenew(store, params) {
|
|
247
|
+
const { id, agentId, durationMs, fence } = params;
|
|
248
|
+
if (!id)
|
|
249
|
+
return { success: false, error: 'Missing required parameter: id' };
|
|
250
|
+
if (!agentId)
|
|
251
|
+
return { success: false, error: 'Missing required parameter: agentId' };
|
|
252
|
+
const result = await store.taskRenew(id, agentId, durationMs, fence);
|
|
253
|
+
const data = result.success && result.claim
|
|
254
|
+
? {
|
|
255
|
+
type: 'renew',
|
|
256
|
+
claimed: true,
|
|
257
|
+
nodeId: id,
|
|
258
|
+
agentId,
|
|
259
|
+
fence: result.claim.fence,
|
|
260
|
+
lockUntil: result.claim.lockUntil,
|
|
261
|
+
}
|
|
262
|
+
: {
|
|
263
|
+
type: 'renew',
|
|
264
|
+
claimed: false,
|
|
265
|
+
nodeId: id,
|
|
266
|
+
agentId,
|
|
267
|
+
reason: result.error,
|
|
268
|
+
};
|
|
269
|
+
return { success: true, data };
|
|
270
|
+
}
|
|
161
271
|
//# sourceMappingURL=task.js.map
|
package/dist/tools/task.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/tools/task.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/tools/task.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import type { Node, Edge, EdgeType, NodeType } from '../schema/index.js';
|
|
7
7
|
import type { NodeFilter, EdgeFilter, ReadyOptions, BlockerOptions, FeedbackOptions } from '../graph/types.js';
|
|
8
8
|
import type { OperationContext } from '../graph/coordination.js';
|
|
9
|
+
import type { TaskAction } from '../providers/traits/TaskManageable.js';
|
|
9
10
|
export type { EdgeType, NodeType, Node, Edge };
|
|
10
11
|
export type { NodeFilter, EdgeFilter, ReadyOptions, BlockerOptions, FeedbackOptions };
|
|
11
12
|
export type { OperationContext };
|
|
@@ -241,8 +242,8 @@ export interface TaskParams {
|
|
|
241
242
|
transition?: {
|
|
242
243
|
/** Task ID or provider URI */
|
|
243
244
|
id: string;
|
|
244
|
-
/** Semantic action
|
|
245
|
-
action:
|
|
245
|
+
/** Semantic action. `fail`/`abandon` are terminal outcomes distinct from `close`/`complete`. */
|
|
246
|
+
action: TaskAction;
|
|
246
247
|
};
|
|
247
248
|
/** Get tasks that are ready to work on (no active blockers) */
|
|
248
249
|
ready?: {
|
|
@@ -256,6 +257,12 @@ export interface TaskParams {
|
|
|
256
257
|
priority?: number;
|
|
257
258
|
/** Filter by assignee */
|
|
258
259
|
assignee?: string;
|
|
260
|
+
/**
|
|
261
|
+
* Exclude tasks under a live claim (a non-expired lease). Off by default —
|
|
262
|
+
* a claim is a lease, not a status change. Set this when dispatching tasks
|
|
263
|
+
* directly off `ready` without going through claim/claimNext.
|
|
264
|
+
*/
|
|
265
|
+
excludeClaimed?: boolean;
|
|
259
266
|
};
|
|
260
267
|
/** Assign a task to an owner */
|
|
261
268
|
assign?: {
|
|
@@ -269,6 +276,44 @@ export interface TaskParams {
|
|
|
269
276
|
/** Task ID or provider URI */
|
|
270
277
|
id: string;
|
|
271
278
|
};
|
|
279
|
+
/** Atomically claim a task for an agent (lease-based, race-free) */
|
|
280
|
+
claim?: {
|
|
281
|
+
/** Task ID or provider URI (native tasks only) */
|
|
282
|
+
id: string;
|
|
283
|
+
/** Agent acquiring the claim */
|
|
284
|
+
agentId: string;
|
|
285
|
+
/** Lease duration in ms (default: 30 min) */
|
|
286
|
+
durationMs?: number;
|
|
287
|
+
/** Claim even if held by another, unexpired agent */
|
|
288
|
+
force?: boolean;
|
|
289
|
+
};
|
|
290
|
+
/** Atomically claim the next ready, unclaimed task for an agent */
|
|
291
|
+
claimNext?: {
|
|
292
|
+
/** Agent acquiring the claim */
|
|
293
|
+
agentId: string;
|
|
294
|
+
/** Lease duration in ms (default: 30 min) */
|
|
295
|
+
durationMs?: number;
|
|
296
|
+
};
|
|
297
|
+
/** Release a claim (fenced) */
|
|
298
|
+
release?: {
|
|
299
|
+
/** Task ID or provider URI (native tasks only) */
|
|
300
|
+
id: string;
|
|
301
|
+
/** Agent that holds the claim */
|
|
302
|
+
agentId: string;
|
|
303
|
+
/** Fence token from the claim — rejects a stale/superseded release */
|
|
304
|
+
fence?: number;
|
|
305
|
+
};
|
|
306
|
+
/** Renew/extend a claim's lease (fenced) */
|
|
307
|
+
renew?: {
|
|
308
|
+
/** Task ID or provider URI (native tasks only) */
|
|
309
|
+
id: string;
|
|
310
|
+
/** Agent that holds the claim */
|
|
311
|
+
agentId: string;
|
|
312
|
+
/** New lease duration in ms (default: 30 min) */
|
|
313
|
+
durationMs?: number;
|
|
314
|
+
/** Fence token from the claim — rejects a stale/superseded renew */
|
|
315
|
+
fence?: number;
|
|
316
|
+
};
|
|
272
317
|
/** Return full objects instead of summaries (default: false) */
|
|
273
318
|
verbose?: boolean;
|
|
274
319
|
}
|
|
@@ -279,7 +324,7 @@ export interface TaskResult {
|
|
|
279
324
|
/** Whether the operation succeeded */
|
|
280
325
|
success: boolean;
|
|
281
326
|
/** Result data (shape depends on operation) */
|
|
282
|
-
data?: TaskTransitionData | TaskReadyData | TaskAssignData | TaskValidActionsData;
|
|
327
|
+
data?: TaskTransitionData | TaskReadyData | TaskAssignData | TaskValidActionsData | TaskClaimData | TaskReleaseData;
|
|
283
328
|
/** Error message if operation failed */
|
|
284
329
|
error?: string;
|
|
285
330
|
}
|
|
@@ -323,6 +368,42 @@ export interface TaskValidActionsData {
|
|
|
323
368
|
/** Valid actions for the task's current state */
|
|
324
369
|
actions: string[];
|
|
325
370
|
}
|
|
371
|
+
/**
|
|
372
|
+
* Result data for a claim / renew / claimNext operation.
|
|
373
|
+
*
|
|
374
|
+
* `claimed` distinguishes "acquired" from "blocked by another holder" — both
|
|
375
|
+
* are successful tool results (a blocked claim is a normal outcome, not an error).
|
|
376
|
+
*/
|
|
377
|
+
export interface TaskClaimData {
|
|
378
|
+
type: 'claim' | 'renew' | 'claimNext';
|
|
379
|
+
/** Whether the claim was acquired/renewed */
|
|
380
|
+
claimed: boolean;
|
|
381
|
+
/** The claimed task ID (omitted when claimNext found nothing to claim) */
|
|
382
|
+
nodeId?: string;
|
|
383
|
+
/** Agent that requested the claim */
|
|
384
|
+
agentId: string;
|
|
385
|
+
/** Fence token for the claim — pass to release/renew (present when claimed) */
|
|
386
|
+
fence?: number;
|
|
387
|
+
/** When the lease expires (ISO 8601, present when claimed) */
|
|
388
|
+
lockUntil?: string;
|
|
389
|
+
/** Reason the claim was not acquired (when claimed=false) */
|
|
390
|
+
reason?: string;
|
|
391
|
+
/** Existing holder that blocked the claim (when claimed=false) */
|
|
392
|
+
existingClaim?: {
|
|
393
|
+
agentId: string;
|
|
394
|
+
lockUntil?: string;
|
|
395
|
+
};
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Result data for a release operation.
|
|
399
|
+
*/
|
|
400
|
+
export interface TaskReleaseData {
|
|
401
|
+
type: 'release';
|
|
402
|
+
/** Whether the claim was released */
|
|
403
|
+
released: boolean;
|
|
404
|
+
/** The task ID */
|
|
405
|
+
nodeId: string;
|
|
406
|
+
}
|
|
326
407
|
/**
|
|
327
408
|
* Parameters for querying context summaries (breadcrumbs for future sessions)
|
|
328
409
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,YAAY,EACZ,cAAc,EACd,eAAe,EAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8lBH;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAEhB;IAEA;IAHlB,YACkB,IAAmB,EACnC,OAAe,EACC,OAAiC;QAEjD,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,SAAI,GAAJ,IAAI,CAAe;QAEnB,YAAO,GAAP,OAAO,CAA0B;QAGjD,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for the package version.
|
|
3
|
+
*
|
|
4
|
+
* Reads `version` from the nearest `opentasks` package.json by walking up from
|
|
5
|
+
* this module's location. Works in both the compiled layout (`dist/version.js`
|
|
6
|
+
* → `../package.json`) and when running from source under vitest
|
|
7
|
+
* (`src/version.ts` → `../package.json`), as well as when installed under
|
|
8
|
+
* `node_modules/opentasks/`.
|
|
9
|
+
*
|
|
10
|
+
* Do NOT hardcode version strings anywhere else — import `VERSION` from here.
|
|
11
|
+
*/
|
|
12
|
+
/** The current opentasks package version (e.g. "0.1.3"). */
|
|
13
|
+
export declare const VERSION: string;
|
|
14
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiCH,4DAA4D;AAC5D,eAAO,MAAM,OAAO,QAAmB,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Single source of truth for the package version.
|
|
3
|
+
*
|
|
4
|
+
* Reads `version` from the nearest `opentasks` package.json by walking up from
|
|
5
|
+
* this module's location. Works in both the compiled layout (`dist/version.js`
|
|
6
|
+
* → `../package.json`) and when running from source under vitest
|
|
7
|
+
* (`src/version.ts` → `../package.json`), as well as when installed under
|
|
8
|
+
* `node_modules/opentasks/`.
|
|
9
|
+
*
|
|
10
|
+
* Do NOT hardcode version strings anywhere else — import `VERSION` from here.
|
|
11
|
+
*/
|
|
12
|
+
import { readFileSync } from 'node:fs';
|
|
13
|
+
import { fileURLToPath } from 'node:url';
|
|
14
|
+
import { dirname, join } from 'node:path';
|
|
15
|
+
function resolveVersion() {
|
|
16
|
+
let dir;
|
|
17
|
+
try {
|
|
18
|
+
dir = dirname(fileURLToPath(import.meta.url));
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return '0.0.0';
|
|
22
|
+
}
|
|
23
|
+
// Walk up looking for our own package.json. The name guard prevents picking
|
|
24
|
+
// up a dependency's manifest if the directory layout is unexpected.
|
|
25
|
+
for (let i = 0; i < 6; i++) {
|
|
26
|
+
try {
|
|
27
|
+
const pkg = JSON.parse(readFileSync(join(dir, 'package.json'), 'utf-8'));
|
|
28
|
+
if (pkg?.name === 'opentasks' && typeof pkg.version === 'string') {
|
|
29
|
+
return pkg.version;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
// No package.json here (or unreadable) — keep walking up.
|
|
34
|
+
}
|
|
35
|
+
const parent = dirname(dir);
|
|
36
|
+
if (parent === dir)
|
|
37
|
+
break;
|
|
38
|
+
dir = parent;
|
|
39
|
+
}
|
|
40
|
+
return '0.0.0';
|
|
41
|
+
}
|
|
42
|
+
/** The current opentasks package version (e.g. "0.1.3"). */
|
|
43
|
+
export const VERSION = resolveVersion();
|
|
44
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,SAAS,cAAc;IACrB,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,4EAA4E;IAC5E,oEAAoE;IACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YACzE,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBACjE,OAAO,GAAG,CAAC,OAAO,CAAC;YACrB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0DAA0D;QAC5D,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,MAAM;QAC1B,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,4DAA4D;AAC5D,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opentasks",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Cross-system task graph that links Claude Tasks, Beads, and other task systems via a shared edge layer — with a CLI, a local daemon, and an MCP server.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"module": "./dist/index.js",
|
|
@@ -13,20 +13,31 @@
|
|
|
13
13
|
".": {
|
|
14
14
|
"types": "./dist/index.d.ts",
|
|
15
15
|
"import": "./dist/index.js"
|
|
16
|
+
},
|
|
17
|
+
"./client": {
|
|
18
|
+
"types": "./dist/client/index.d.ts",
|
|
19
|
+
"import": "./dist/client/index.js"
|
|
16
20
|
}
|
|
17
21
|
},
|
|
18
22
|
"files": [
|
|
19
|
-
"dist"
|
|
23
|
+
"dist",
|
|
24
|
+
"skills"
|
|
20
25
|
],
|
|
21
26
|
"scripts": {
|
|
22
|
-
"
|
|
27
|
+
"clean": "rm -rf dist",
|
|
28
|
+
"build": "npm run clean && tsc",
|
|
23
29
|
"test": "vitest run",
|
|
24
30
|
"test:watch": "vitest",
|
|
25
31
|
"test:slow": "RUN_SLOW_TESTS=1 vitest run",
|
|
26
32
|
"test:slow:watch": "RUN_SLOW_TESTS=1 vitest",
|
|
27
33
|
"test:e2e": "RUN_FULL_AGENT_TESTS=1 vitest run --config vitest.e2e.config.ts",
|
|
34
|
+
"eval:tac": "npx tsx evals/tac/run.ts",
|
|
35
|
+
"eval:tac:pool": "npx tsx evals/tac/run-pool.ts",
|
|
36
|
+
"eval:tac:pool:summarize": "npx tsx evals/tac/scripts/summarize-pool-runs.ts",
|
|
37
|
+
"eval:tac:pool:bake-ami": "evals/tac/scripts/bake-ec2-ami.sh",
|
|
38
|
+
"eval:tac:pool:bake-docker-snapshot": "evals/tac/scripts/bake-docker-volume-snapshot.sh",
|
|
28
39
|
"test:all": "npm run test && npm run test:slow && npm run test:e2e",
|
|
29
|
-
"prepublishOnly": "npm run build",
|
|
40
|
+
"prepublishOnly": "npm run build && publint",
|
|
30
41
|
"version:patch": "npm version patch && git push && git push --tags",
|
|
31
42
|
"version:minor": "npm version minor && git push && git push --tags",
|
|
32
43
|
"version:major": "npm version major && git push && git push --tags",
|
|
@@ -40,7 +51,16 @@
|
|
|
40
51
|
"keywords": [
|
|
41
52
|
"tasks",
|
|
42
53
|
"todo",
|
|
43
|
-
"task-management"
|
|
54
|
+
"task-management",
|
|
55
|
+
"task-graph",
|
|
56
|
+
"graph",
|
|
57
|
+
"dependencies",
|
|
58
|
+
"cross-system",
|
|
59
|
+
"mcp",
|
|
60
|
+
"agents",
|
|
61
|
+
"agent-tools",
|
|
62
|
+
"claude",
|
|
63
|
+
"beads"
|
|
44
64
|
],
|
|
45
65
|
"author": "Alex Ngai",
|
|
46
66
|
"license": "MIT",
|
|
@@ -51,11 +71,14 @@
|
|
|
51
71
|
"@types/node": "^25.0.10",
|
|
52
72
|
"@types/proper-lockfile": "^4.1.4",
|
|
53
73
|
"acp-factory": "^0.1.12",
|
|
74
|
+
"e2b": "^2.30.2",
|
|
54
75
|
"eslint": "^9.39.2",
|
|
55
76
|
"eslint-config-prettier": "^10.1.8",
|
|
56
77
|
"husky": "^9.1.7",
|
|
57
78
|
"lint-staged": "^15.5.2",
|
|
58
79
|
"prettier": "^3.8.1",
|
|
80
|
+
"publint": "^0.3.21",
|
|
81
|
+
"swarmkit-eval": "^0.0.7",
|
|
59
82
|
"typescript": "^5.3.0",
|
|
60
83
|
"typescript-eslint": "^8.55.0",
|
|
61
84
|
"vitest": "^4.0.18"
|
|
@@ -67,9 +90,11 @@
|
|
|
67
90
|
"type": "git",
|
|
68
91
|
"url": "git+https://github.com/alexngai/opentasks.git"
|
|
69
92
|
},
|
|
93
|
+
"optionalDependencies": {
|
|
94
|
+
"@multi-agent-protocol/sdk": "^0.1.9"
|
|
95
|
+
},
|
|
70
96
|
"dependencies": {
|
|
71
97
|
"@modelcontextprotocol/sdk": "^1.27.1",
|
|
72
|
-
"@multi-agent-protocol/sdk": "^0.1.9",
|
|
73
98
|
"agent-session-parser": "^0.1.0",
|
|
74
99
|
"better-sqlite3": "^12.6.2",
|
|
75
100
|
"chokidar": "^5.0.0",
|