@grackle-ai/server 0.46.0 → 0.47.1
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/dist/db.d.ts.map +1 -1
- package/dist/db.js +49 -21
- package/dist/db.js.map +1 -1
- package/dist/event-bus.d.ts +1 -1
- package/dist/event-bus.d.ts.map +1 -1
- package/dist/event-processor.d.ts +1 -1
- package/dist/event-processor.d.ts.map +1 -1
- package/dist/event-processor.js +16 -16
- package/dist/event-processor.js.map +1 -1
- package/dist/finding-store.d.ts +5 -5
- package/dist/finding-store.d.ts.map +1 -1
- package/dist/finding-store.js +10 -10
- package/dist/finding-store.js.map +1 -1
- package/dist/github-import.d.ts +2 -2
- package/dist/github-import.d.ts.map +1 -1
- package/dist/github-import.js +15 -15
- package/dist/github-import.js.map +1 -1
- package/dist/grpc-service.d.ts.map +1 -1
- package/dist/grpc-service.js +72 -74
- package/dist/grpc-service.js.map +1 -1
- package/dist/processor-registry.d.ts +3 -3
- package/dist/processor-registry.d.ts.map +1 -1
- package/dist/processor-registry.js +4 -4
- package/dist/processor-registry.js.map +1 -1
- package/dist/reanimate-agent.js +3 -3
- package/dist/reanimate-agent.js.map +1 -1
- package/dist/resolve-persona.d.ts +2 -2
- package/dist/resolve-persona.d.ts.map +1 -1
- package/dist/resolve-persona.js +4 -4
- package/dist/resolve-persona.js.map +1 -1
- package/dist/schema.d.ts +21 -21
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +6 -6
- package/dist/schema.js.map +1 -1
- package/dist/task-store.d.ts +6 -6
- package/dist/task-store.d.ts.map +1 -1
- package/dist/task-store.js +15 -15
- package/dist/task-store.js.map +1 -1
- package/dist/utils/slugify.d.ts +1 -1
- package/dist/utils/slugify.js +1 -1
- package/dist/utils/system-context.js +4 -4
- package/dist/utils/system-context.js.map +1 -1
- package/dist/workspace-store.d.ts +26 -0
- package/dist/workspace-store.d.ts.map +1 -0
- package/dist/{project-store.js → workspace-store.js} +21 -21
- package/dist/workspace-store.js.map +1 -0
- package/dist/ws-bridge.js +78 -77
- package/dist/ws-bridge.js.map +1 -1
- package/package.json +6 -6
- package/dist/project-store.d.ts +0 -26
- package/dist/project-store.d.ts.map +0 -1
- package/dist/project-store.js.map +0 -1
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
export interface ProcessorContext {
|
|
3
3
|
sessionId: string;
|
|
4
4
|
logPath: string;
|
|
5
|
-
|
|
5
|
+
workspaceId?: string;
|
|
6
6
|
taskId: string;
|
|
7
7
|
}
|
|
8
8
|
/** Register a processor context for a running event stream. */
|
|
@@ -12,14 +12,14 @@ export declare function unregister(sessionId: string): void;
|
|
|
12
12
|
/** Retrieve the context for a running event processor, if any. */
|
|
13
13
|
export declare function get(sessionId: string): ProcessorContext | undefined;
|
|
14
14
|
/**
|
|
15
|
-
* Late-bind a task to a running processor. Updates
|
|
15
|
+
* Late-bind a task to a running processor. Updates workspaceId, taskId, and onComplete,
|
|
16
16
|
* then fires all registered bind listeners.
|
|
17
17
|
*
|
|
18
18
|
* Idempotent: binding to the same task is a no-op.
|
|
19
19
|
* Throws if the session is already bound to a different task (FR-6).
|
|
20
20
|
* Throws if the session is not registered (not actively processing).
|
|
21
21
|
*/
|
|
22
|
-
export declare function lateBind(sessionId: string, taskId: string,
|
|
22
|
+
export declare function lateBind(sessionId: string, taskId: string, workspaceId?: string): void;
|
|
23
23
|
/** Register a callback to be invoked when lateBind is called for this session. */
|
|
24
24
|
export declare function onBind(sessionId: string, listener: () => void): void;
|
|
25
25
|
//# sourceMappingURL=processor-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-registry.d.ts","sourceRoot":"","sources":["../src/processor-registry.ts"],"names":[],"mappings":"AAEA,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,
|
|
1
|
+
{"version":3,"file":"processor-registry.d.ts","sourceRoot":"","sources":["../src/processor-registry.ts"],"names":[],"mappings":"AAEA,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD,+DAA+D;AAC/D,wBAAgB,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,IAAI,CAEpD;AAED,iEAAiE;AACjE,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAGlD;AAED,kEAAkE;AAClE,wBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAEnE;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CA4BN;AAED,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAOpE"}
|
|
@@ -17,14 +17,14 @@ export function get(sessionId) {
|
|
|
17
17
|
return registry.get(sessionId);
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
|
-
* Late-bind a task to a running processor. Updates
|
|
20
|
+
* Late-bind a task to a running processor. Updates workspaceId, taskId, and onComplete,
|
|
21
21
|
* then fires all registered bind listeners.
|
|
22
22
|
*
|
|
23
23
|
* Idempotent: binding to the same task is a no-op.
|
|
24
24
|
* Throws if the session is already bound to a different task (FR-6).
|
|
25
25
|
* Throws if the session is not registered (not actively processing).
|
|
26
26
|
*/
|
|
27
|
-
export function lateBind(sessionId, taskId,
|
|
27
|
+
export function lateBind(sessionId, taskId, workspaceId) {
|
|
28
28
|
const ctx = registry.get(sessionId);
|
|
29
29
|
if (!ctx) {
|
|
30
30
|
throw new Error(`No active event processor for session ${sessionId}`);
|
|
@@ -36,9 +36,9 @@ export function lateBind(sessionId, taskId, projectId) {
|
|
|
36
36
|
logger.info({ sessionId, taskId }, "Late-bind no-op: session already bound to this task");
|
|
37
37
|
return;
|
|
38
38
|
}
|
|
39
|
-
ctx.
|
|
39
|
+
ctx.workspaceId = workspaceId;
|
|
40
40
|
ctx.taskId = taskId;
|
|
41
|
-
logger.info({ sessionId, taskId,
|
|
41
|
+
logger.info({ sessionId, taskId, workspaceId }, "Late-bound session to task");
|
|
42
42
|
const listeners = bindListeners.get(sessionId);
|
|
43
43
|
if (listeners) {
|
|
44
44
|
for (const listener of listeners) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor-registry.js","sourceRoot":"","sources":["../src/processor-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrC,uEAAuE;AACvE,MAAM,QAAQ,GAAkC,IAAI,GAAG,EAA4B,CAAC;AAEpF,uEAAuE;AACvE,MAAM,aAAa,GAAmC,IAAI,GAAG,EAA6B,CAAC;AAE3F,+DAA+D;AAC/D,MAAM,UAAU,QAAQ,CAAC,GAAqB;IAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3B,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,GAAG,CAAC,SAAiB;IACnC,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,SAAiB,EACjB,MAAc,EACd,
|
|
1
|
+
{"version":3,"file":"processor-registry.js","sourceRoot":"","sources":["../src/processor-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrC,uEAAuE;AACvE,MAAM,QAAQ,GAAkC,IAAI,GAAG,EAA4B,CAAC;AAEpF,uEAAuE;AACvE,MAAM,aAAa,GAAmC,IAAI,GAAG,EAA6B,CAAC;AAE3F,+DAA+D;AAC/D,MAAM,UAAU,QAAQ,CAAC,GAAqB;IAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3B,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,GAAG,CAAC,SAAiB;IACnC,OAAO,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CACtB,SAAiB,EACjB,MAAc,EACd,WAAoB;IAEpB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,yCAAyC,SAAS,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,EAAE,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,6BAA6B,GAAG,CAAC,MAAM,sBAAsB,MAAM,EAAE,CAC1F,CAAC;IACJ,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,qDAAqD,CAAC,CAAC;QAC1F,OAAO;IACT,CAAC;IAED,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;IAC9B,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;IAEpB,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAE9E,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/C,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC;AACH,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,MAAM,CAAC,SAAiB,EAAE,QAAoB;IAC5D,IAAI,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,SAAS,GAAG,EAAE,CAAC;QACf,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC3B,CAAC"}
|
package/dist/reanimate-agent.js
CHANGED
|
@@ -48,12 +48,12 @@ export function reanimateAgent(sessionId) {
|
|
|
48
48
|
runtime: session.runtime,
|
|
49
49
|
});
|
|
50
50
|
const logPath = session.logPath || join(grackleHome, LOGS_DIR, session.id);
|
|
51
|
-
let
|
|
51
|
+
let workspaceId;
|
|
52
52
|
let taskId;
|
|
53
53
|
if (session.taskId) {
|
|
54
54
|
const task = taskStore.getTask(session.taskId);
|
|
55
55
|
if (task) {
|
|
56
|
-
|
|
56
|
+
workspaceId = task.workspaceId || undefined;
|
|
57
57
|
taskId = task.id;
|
|
58
58
|
}
|
|
59
59
|
}
|
|
@@ -70,7 +70,7 @@ export function reanimateAgent(sessionId) {
|
|
|
70
70
|
processEventStream(resumeStream, {
|
|
71
71
|
sessionId: session.id,
|
|
72
72
|
logPath,
|
|
73
|
-
|
|
73
|
+
workspaceId,
|
|
74
74
|
taskId,
|
|
75
75
|
});
|
|
76
76
|
return sessionStore.getSession(session.id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reanimate-agent.js","sourceRoot":"","sources":["../src/reanimate-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,sBAAsB,SAAS,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,IACE,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,IAAI;QACtC,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO;QACzC,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,EACzC,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,WAAW,SAAS,+BAA+B,OAAO,CAAC,MAAM,GAAG,EACpE,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,YAAY,CACpB,WAAW,SAAS,+CAA+C,EACnE,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,YAAY,CACpB,0CAA0C,cAAc,CAAC,EAAE,EAAE,EAC7D,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,2CAA2C;IAE3C,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,YAAY,CACpB,eAAe,OAAO,CAAC,aAAa,gBAAgB,EACpD,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE;QACzD,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3E,IAAI,
|
|
1
|
+
{"version":3,"file":"reanimate-agent.js","sourceRoot":"","sources":["../src/reanimate-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,SAAS,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,sBAAsB,SAAS,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAED,IACE,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,IAAI;QACtC,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO;QACzC,OAAO,CAAC,MAAM,KAAK,cAAc,CAAC,OAAO,EACzC,CAAC;QACD,MAAM,IAAI,YAAY,CACpB,WAAW,SAAS,+BAA+B,OAAO,CAAC,MAAM,GAAG,EACpE,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAC9B,MAAM,IAAI,YAAY,CACpB,WAAW,SAAS,+CAA+C,EACnE,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3E,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,IAAI,YAAY,CACpB,0CAA0C,cAAc,CAAC,EAAE,EAAE,EAC7D,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IACD,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,2CAA2C;IAE3C,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjE,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,YAAY,CACpB,eAAe,OAAO,CAAC,aAAa,gBAAgB,EACpD,IAAI,CAAC,kBAAkB,CACxB,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,mBAAmB,EAAE;QACzD,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAE3E,IAAI,WAA+B,CAAC;IACpC,IAAI,MAA0B,CAAC;IAC/B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,IAAI,EAAE,CAAC;YACT,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,SAAS,CAAC;YAC5C,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,qDAAqD;IACrD,IAAI,YAAmD,CAAC;IACxD,IAAI,CAAC;QACH,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CACpB,qCAAqC,MAAM,CAAC,GAAG,CAAC,EAAE,EAClD,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAE1C,kBAAkB,CAAC,YAAY,EAAE;QAC/B,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,OAAO;QACP,WAAW;QACX,MAAM;KACP,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -24,10 +24,10 @@ export interface ResolvedPersona {
|
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Resolve a persona using the cascade:
|
|
27
|
-
* request persona → task default →
|
|
27
|
+
* request persona → task default → workspace default → app default → error
|
|
28
28
|
*
|
|
29
29
|
* The first non-empty persona ID in the cascade is used to look up the persona.
|
|
30
30
|
* Throws if no persona ID is found at any level, or if the resolved ID does not exist.
|
|
31
31
|
*/
|
|
32
|
-
export declare function resolvePersona(requestPersonaId: string, taskDefaultPersonaId?: string,
|
|
32
|
+
export declare function resolvePersona(requestPersonaId: string, taskDefaultPersonaId?: string, workspaceDefaultPersonaId?: string): ResolvedPersona;
|
|
33
33
|
//# sourceMappingURL=resolve-persona.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-persona.d.ts","sourceRoot":"","sources":["../src/resolve-persona.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,
|
|
1
|
+
{"version":3,"file":"resolve-persona.d.ts","sourceRoot":"","sources":["../src/resolve-persona.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B,wCAAwC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,uFAAuF;IACvF,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,OAAO,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,gBAAgB,EAAE,MAAM,EACxB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,yBAAyB,CAAC,EAAE,MAAM,GACjC,eAAe,CAyCjB"}
|
package/dist/resolve-persona.js
CHANGED
|
@@ -2,19 +2,19 @@ import * as personaStore from "./persona-store.js";
|
|
|
2
2
|
import * as settingsStore from "./settings-store.js";
|
|
3
3
|
/**
|
|
4
4
|
* Resolve a persona using the cascade:
|
|
5
|
-
* request persona → task default →
|
|
5
|
+
* request persona → task default → workspace default → app default → error
|
|
6
6
|
*
|
|
7
7
|
* The first non-empty persona ID in the cascade is used to look up the persona.
|
|
8
8
|
* Throws if no persona ID is found at any level, or if the resolved ID does not exist.
|
|
9
9
|
*/
|
|
10
|
-
export function resolvePersona(requestPersonaId, taskDefaultPersonaId,
|
|
10
|
+
export function resolvePersona(requestPersonaId, taskDefaultPersonaId, workspaceDefaultPersonaId) {
|
|
11
11
|
const personaId = requestPersonaId ||
|
|
12
12
|
taskDefaultPersonaId ||
|
|
13
|
-
|
|
13
|
+
workspaceDefaultPersonaId ||
|
|
14
14
|
settingsStore.getSetting("default_persona_id") ||
|
|
15
15
|
"";
|
|
16
16
|
if (!personaId) {
|
|
17
|
-
throw new Error("No persona configured. Set a default persona at the app,
|
|
17
|
+
throw new Error("No persona configured. Set a default persona at the app, workspace, or task level, or specify one explicitly.");
|
|
18
18
|
}
|
|
19
19
|
const persona = personaStore.getPersona(personaId);
|
|
20
20
|
if (!persona) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-persona.js","sourceRoot":"","sources":["../src/resolve-persona.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AA2BrD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,gBAAwB,EACxB,oBAA6B,EAC7B,
|
|
1
|
+
{"version":3,"file":"resolve-persona.js","sourceRoot":"","sources":["../src/resolve-persona.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,aAAa,MAAM,qBAAqB,CAAC;AA2BrD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,gBAAwB,EACxB,oBAA6B,EAC7B,yBAAkC;IAElC,MAAM,SAAS,GACb,gBAAgB;QAChB,oBAAoB;QACpB,yBAAyB;QACzB,aAAa,CAAC,UAAU,CAAC,oBAAoB,CAAC;QAC9C,EAAE,CAAC;IAEL,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,+GAA+G,CAChH,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;IAE5C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,6BAA6B,CAAC,CAAC;IACzE,CAAC;IACD,wEAAwE;IACxE,IAAI,WAAW,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,CAAC,IAAI,2BAA2B,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,SAAS,EAAE,OAAO,CAAC,EAAE;QACrB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,OAAO;KACR,CAAC;AACJ,CAAC"}
|
package/dist/schema.d.ts
CHANGED
|
@@ -576,13 +576,13 @@ export declare const tokens: import("drizzle-orm/sqlite-core").SQLiteTableWithCo
|
|
|
576
576
|
}>;
|
|
577
577
|
/** Row shape returned by a SELECT on the tokens table. */
|
|
578
578
|
export type TokenRow = typeof tokens.$inferSelect;
|
|
579
|
-
export declare const
|
|
580
|
-
name: "
|
|
579
|
+
export declare const workspaces: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
580
|
+
name: "workspaces";
|
|
581
581
|
schema: undefined;
|
|
582
582
|
columns: {
|
|
583
583
|
id: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
584
584
|
name: "id";
|
|
585
|
-
tableName: "
|
|
585
|
+
tableName: "workspaces";
|
|
586
586
|
dataType: "string";
|
|
587
587
|
columnType: "SQLiteText";
|
|
588
588
|
data: string;
|
|
@@ -601,7 +601,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
601
601
|
}>;
|
|
602
602
|
name: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
603
603
|
name: "name";
|
|
604
|
-
tableName: "
|
|
604
|
+
tableName: "workspaces";
|
|
605
605
|
dataType: "string";
|
|
606
606
|
columnType: "SQLiteText";
|
|
607
607
|
data: string;
|
|
@@ -620,7 +620,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
620
620
|
}>;
|
|
621
621
|
description: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
622
622
|
name: "description";
|
|
623
|
-
tableName: "
|
|
623
|
+
tableName: "workspaces";
|
|
624
624
|
dataType: "string";
|
|
625
625
|
columnType: "SQLiteText";
|
|
626
626
|
data: string;
|
|
@@ -639,7 +639,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
639
639
|
}>;
|
|
640
640
|
repoUrl: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
641
641
|
name: "repo_url";
|
|
642
|
-
tableName: "
|
|
642
|
+
tableName: "workspaces";
|
|
643
643
|
dataType: "string";
|
|
644
644
|
columnType: "SQLiteText";
|
|
645
645
|
data: string;
|
|
@@ -658,7 +658,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
658
658
|
}>;
|
|
659
659
|
defaultEnvironmentId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
660
660
|
name: "default_env_id";
|
|
661
|
-
tableName: "
|
|
661
|
+
tableName: "workspaces";
|
|
662
662
|
dataType: "string";
|
|
663
663
|
columnType: "SQLiteText";
|
|
664
664
|
data: string;
|
|
@@ -677,7 +677,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
677
677
|
}>;
|
|
678
678
|
status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
679
679
|
name: "status";
|
|
680
|
-
tableName: "
|
|
680
|
+
tableName: "workspaces";
|
|
681
681
|
dataType: "string";
|
|
682
682
|
columnType: "SQLiteText";
|
|
683
683
|
data: string;
|
|
@@ -696,7 +696,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
696
696
|
}>;
|
|
697
697
|
useWorktrees: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
698
698
|
name: "use_worktrees";
|
|
699
|
-
tableName: "
|
|
699
|
+
tableName: "workspaces";
|
|
700
700
|
dataType: "boolean";
|
|
701
701
|
columnType: "SQLiteBoolean";
|
|
702
702
|
data: boolean;
|
|
@@ -713,7 +713,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
713
713
|
}, {}, {}>;
|
|
714
714
|
worktreeBasePath: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
715
715
|
name: "worktree_base_path";
|
|
716
|
-
tableName: "
|
|
716
|
+
tableName: "workspaces";
|
|
717
717
|
dataType: "string";
|
|
718
718
|
columnType: "SQLiteText";
|
|
719
719
|
data: string;
|
|
@@ -732,7 +732,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
732
732
|
}>;
|
|
733
733
|
defaultPersonaId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
734
734
|
name: "default_persona_id";
|
|
735
|
-
tableName: "
|
|
735
|
+
tableName: "workspaces";
|
|
736
736
|
dataType: "string";
|
|
737
737
|
columnType: "SQLiteText";
|
|
738
738
|
data: string;
|
|
@@ -751,7 +751,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
751
751
|
}>;
|
|
752
752
|
createdAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
753
753
|
name: "created_at";
|
|
754
|
-
tableName: "
|
|
754
|
+
tableName: "workspaces";
|
|
755
755
|
dataType: "string";
|
|
756
756
|
columnType: "SQLiteText";
|
|
757
757
|
data: string;
|
|
@@ -770,7 +770,7 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
770
770
|
}>;
|
|
771
771
|
updatedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
772
772
|
name: "updated_at";
|
|
773
|
-
tableName: "
|
|
773
|
+
tableName: "workspaces";
|
|
774
774
|
dataType: "string";
|
|
775
775
|
columnType: "SQLiteText";
|
|
776
776
|
data: string;
|
|
@@ -790,10 +790,10 @@ export declare const projects: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
790
790
|
};
|
|
791
791
|
dialect: "sqlite";
|
|
792
792
|
}>;
|
|
793
|
-
/** Row shape returned by a SELECT on the
|
|
794
|
-
export type
|
|
795
|
-
/** Shape accepted by INSERT into the
|
|
796
|
-
export type
|
|
793
|
+
/** Row shape returned by a SELECT on the workspaces table. */
|
|
794
|
+
export type WorkspaceRow = typeof workspaces.$inferSelect;
|
|
795
|
+
/** Shape accepted by INSERT into the workspaces table. */
|
|
796
|
+
export type NewWorkspace = typeof workspaces.$inferInsert;
|
|
797
797
|
export declare const tasks: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
798
798
|
name: "tasks";
|
|
799
799
|
schema: undefined;
|
|
@@ -817,8 +817,8 @@ export declare const tasks: import("drizzle-orm/sqlite-core").SQLiteTableWithCol
|
|
|
817
817
|
}, {}, {
|
|
818
818
|
length: number | undefined;
|
|
819
819
|
}>;
|
|
820
|
-
|
|
821
|
-
name: "
|
|
820
|
+
workspaceId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
821
|
+
name: "workspace_id";
|
|
822
822
|
tableName: "tasks";
|
|
823
823
|
dataType: "string";
|
|
824
824
|
columnType: "SQLiteText";
|
|
@@ -1126,8 +1126,8 @@ export declare const findings: import("drizzle-orm/sqlite-core").SQLiteTableWith
|
|
|
1126
1126
|
}, {}, {
|
|
1127
1127
|
length: number | undefined;
|
|
1128
1128
|
}>;
|
|
1129
|
-
|
|
1130
|
-
name: "
|
|
1129
|
+
workspaceId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1130
|
+
name: "workspace_id";
|
|
1131
1131
|
tableName: "findings";
|
|
1132
1132
|
dataType: "string";
|
|
1133
1133
|
columnType: "SQLiteText";
|
package/dist/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBvB,CAAC;AAEH,gEAAgE;AAChE,MAAM,MAAM,cAAc,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAE9D,4DAA4D;AAC5D,MAAM,MAAM,cAAc,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAI9D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBnB,CAAC;AAEH,4DAA4D;AAC5D,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AAEtD,wDAAwD;AACxD,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AAItD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMjB,CAAC;AAEH,0DAA0D;AAC1D,MAAM,MAAM,QAAQ,GAAG,OAAO,MAAM,CAAC,YAAY,CAAC;AAIlD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/schema.js
CHANGED
|
@@ -49,8 +49,8 @@ export const tokens = sqliteTable("tokens", {
|
|
|
49
49
|
.notNull()
|
|
50
50
|
.default(sql `(datetime('now'))`),
|
|
51
51
|
});
|
|
52
|
-
// ───
|
|
53
|
-
export const
|
|
52
|
+
// ─── Workspaces ───────────────────────────────────────────
|
|
53
|
+
export const workspaces = sqliteTable("workspaces", {
|
|
54
54
|
id: text("id").primaryKey(),
|
|
55
55
|
name: text("name").notNull(),
|
|
56
56
|
description: text("description").notNull().default(""),
|
|
@@ -72,8 +72,8 @@ export const projects = sqliteTable("projects", {
|
|
|
72
72
|
// ─── Tasks ────────────────────────────────────────────────
|
|
73
73
|
export const tasks = sqliteTable("tasks", {
|
|
74
74
|
id: text("id").primaryKey(),
|
|
75
|
-
|
|
76
|
-
.references(() =>
|
|
75
|
+
workspaceId: text("workspace_id")
|
|
76
|
+
.references(() => workspaces.id),
|
|
77
77
|
title: text("title").notNull(),
|
|
78
78
|
description: text("description").notNull().default(""),
|
|
79
79
|
status: text("status").notNull().default("not_started"),
|
|
@@ -98,9 +98,9 @@ export const tasks = sqliteTable("tasks", {
|
|
|
98
98
|
// ─── Findings ─────────────────────────────────────────────
|
|
99
99
|
export const findings = sqliteTable("findings", {
|
|
100
100
|
id: text("id").primaryKey(),
|
|
101
|
-
|
|
101
|
+
workspaceId: text("workspace_id")
|
|
102
102
|
.notNull()
|
|
103
|
-
.references(() =>
|
|
103
|
+
.references(() => workspaces.id),
|
|
104
104
|
taskId: text("task_id").notNull().default(""),
|
|
105
105
|
sessionId: text("session_id").notNull().default(""),
|
|
106
106
|
category: text("category").notNull().default("general"),
|
package/dist/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/dist/task-store.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type TaskRow } from "./schema.js";
|
|
|
2
2
|
import type { TaskStatus } from "@grackle-ai/common";
|
|
3
3
|
export type { TaskRow };
|
|
4
4
|
/** Insert a new task with auto-generated branch name and sort order. */
|
|
5
|
-
export declare function createTask(id: string,
|
|
5
|
+
export declare function createTask(id: string, workspaceId: string | undefined, title: string, description: string, dependsOn: string[], workspaceSlug: string, parentTaskId?: string, canDecompose?: boolean, defaultPersonaId?: string): void;
|
|
6
6
|
/** Retrieve a single task by ID. */
|
|
7
7
|
export declare function getTask(id: string): TaskRow | undefined;
|
|
8
8
|
/** Options for filtering the task list. */
|
|
@@ -12,8 +12,8 @@ export interface ListTasksOptions {
|
|
|
12
12
|
/** Exact match filter on task status (e.g. "not_started", "in_progress"). */
|
|
13
13
|
status?: string;
|
|
14
14
|
}
|
|
15
|
-
/** Return tasks for a
|
|
16
|
-
export declare function listTasks(
|
|
15
|
+
/** Return tasks for a workspace (or all tasks when workspaceId is omitted), with optional search/status filters, ordered by sort_order then created_at. */
|
|
16
|
+
export declare function listTasks(workspaceId?: string, options?: ListTasksOptions): TaskRow[];
|
|
17
17
|
/** Update multiple task fields at once. */
|
|
18
18
|
export declare function updateTask(id: string, title: string, description: string, status: string, dependsOn: string[], defaultPersonaId?: string): void;
|
|
19
19
|
/** Update only the dependsOn array of a task. */
|
|
@@ -28,16 +28,16 @@ export declare function markTaskComplete(id: string, status?: "complete" | "fail
|
|
|
28
28
|
/** Delete a task by ID. Returns the number of rows affected. */
|
|
29
29
|
export declare function deleteTask(id: string): number;
|
|
30
30
|
/** Return all not_started tasks whose dependencies are fully met. */
|
|
31
|
-
export declare function getUnblockedTasks(
|
|
31
|
+
export declare function getUnblockedTasks(workspaceId?: string): TaskRow[];
|
|
32
32
|
/** Alias for getUnblockedTasks — check which pending tasks are now unblocked. */
|
|
33
|
-
export declare function checkAndUnblock(
|
|
33
|
+
export declare function checkAndUnblock(workspaceId?: string): TaskRow[];
|
|
34
34
|
/** Check whether all dependencies of a task are in "complete" status. */
|
|
35
35
|
export declare function areDependenciesMet(taskId: string): boolean;
|
|
36
36
|
/** Build a map from parentTaskId to child IDs from a pre-fetched list of rows. Avoids N+1 queries. */
|
|
37
37
|
export declare function buildChildIdsMap(rows: TaskRow[]): Map<string, string[]>;
|
|
38
38
|
/** Get direct children of a task, ordered by sort_order. */
|
|
39
39
|
export declare function getChildren(taskId: string): TaskRow[];
|
|
40
|
-
/** Get all descendants of a task (full subtree) via in-memory BFS. Fetches all
|
|
40
|
+
/** Get all descendants of a task (full subtree) via in-memory BFS. Fetches all workspace tasks once to avoid N+1 queries. */
|
|
41
41
|
export declare function getDescendants(taskId: string): TaskRow[];
|
|
42
42
|
/** Get ancestor chain from task up to root, ordered root-first. */
|
|
43
43
|
export declare function getAncestors(taskId: string): TaskRow[];
|
package/dist/task-store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-store.d.ts","sourceRoot":"","sources":["../src/task-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB,wEAAwE;AACxE,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,
|
|
1
|
+
{"version":3,"file":"task-store.d.ts","sourceRoot":"","sources":["../src/task-store.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAKrD,YAAY,EAAE,OAAO,EAAE,CAAC;AAExB,wEAAwE;AACxE,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,EACnB,aAAa,EAAE,MAAM,EACrB,YAAY,GAAE,MAAW,EACzB,YAAY,CAAC,EAAE,OAAO,EACtB,gBAAgB,GAAE,MAAW,GAC5B,IAAI,CAsDN;AAED,oCAAoC;AACpC,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEvD;AAED,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,mHAAmH;IACnH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAOD,2JAA2J;AAC3J,wBAAgB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,EAAE,CAqCrF;AAED,2CAA2C;AAC3C,wBAAgB,UAAU,CACxB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,CAAC,EAAE,MAAM,GACxB,IAAI,CAeN;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAQtE;AAED,mCAAmC;AACnC,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAQrE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,UAAU,GAAG,QAAqB,GACzC,IAAI,CASN;AAED,gEAAgE;AAChE,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAG7C;AAED,qEAAqE;AACrE,wBAAgB,iBAAiB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAejE;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,EAAE,CAE/D;AAED,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAa1D;AAID,sGAAsG;AACtG,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAavE;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,CAOrD;AAED,6HAA6H;AAC7H,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,CA0BxD;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,EAAE,CAYtD;AAED,kDAAkD;AAClD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO3E"}
|
package/dist/task-store.js
CHANGED
|
@@ -6,7 +6,7 @@ import { MAX_TASK_DEPTH } from "@grackle-ai/common";
|
|
|
6
6
|
import { safeParseJsonArray } from "./json-helpers.js";
|
|
7
7
|
import { slugify } from "./utils/slugify.js";
|
|
8
8
|
/** Insert a new task with auto-generated branch name and sort order. */
|
|
9
|
-
export function createTask(id,
|
|
9
|
+
export function createTask(id, workspaceId, title, description, dependsOn, workspaceSlug, parentTaskId = "", canDecompose, defaultPersonaId = "") {
|
|
10
10
|
let depth = 0;
|
|
11
11
|
let branch;
|
|
12
12
|
if (parentTaskId) {
|
|
@@ -24,15 +24,15 @@ export function createTask(id, projectId, title, description, dependsOn, project
|
|
|
24
24
|
branch = `${parent.branch}/${slugify(title)}`;
|
|
25
25
|
}
|
|
26
26
|
else {
|
|
27
|
-
const prefix =
|
|
27
|
+
const prefix = workspaceSlug || "task";
|
|
28
28
|
branch = `${prefix}/${slugify(title)}`;
|
|
29
29
|
}
|
|
30
30
|
// Derive canDecompose when not explicitly set: root=true, child=false
|
|
31
31
|
const resolvedCanDecompose = canDecompose ?? !parentTaskId;
|
|
32
32
|
const depsJson = JSON.stringify(dependsOn);
|
|
33
33
|
const sortOrderConditions = [];
|
|
34
|
-
if (
|
|
35
|
-
sortOrderConditions.push(eq(tasks.
|
|
34
|
+
if (workspaceId) {
|
|
35
|
+
sortOrderConditions.push(eq(tasks.workspaceId, workspaceId));
|
|
36
36
|
}
|
|
37
37
|
const maxRowQuery = db
|
|
38
38
|
.select({ maxOrder: sql `max(sort_order)` })
|
|
@@ -44,7 +44,7 @@ export function createTask(id, projectId, title, description, dependsOn, project
|
|
|
44
44
|
db.insert(tasks)
|
|
45
45
|
.values({
|
|
46
46
|
id,
|
|
47
|
-
|
|
47
|
+
workspaceId: workspaceId || null,
|
|
48
48
|
title,
|
|
49
49
|
description,
|
|
50
50
|
branch,
|
|
@@ -65,11 +65,11 @@ export function getTask(id) {
|
|
|
65
65
|
function escapeLikePattern(value) {
|
|
66
66
|
return value.replace(/[%_\\]/g, (ch) => `\\${ch}`);
|
|
67
67
|
}
|
|
68
|
-
/** Return tasks for a
|
|
69
|
-
export function listTasks(
|
|
68
|
+
/** Return tasks for a workspace (or all tasks when workspaceId is omitted), with optional search/status filters, ordered by sort_order then created_at. */
|
|
69
|
+
export function listTasks(workspaceId, options) {
|
|
70
70
|
const conditions = [];
|
|
71
|
-
if (
|
|
72
|
-
conditions.push(eq(tasks.
|
|
71
|
+
if (workspaceId) {
|
|
72
|
+
conditions.push(eq(tasks.workspaceId, workspaceId));
|
|
73
73
|
}
|
|
74
74
|
if (options?.status) {
|
|
75
75
|
// Normalize legacy status aliases (e.g. "in_progress" → "working")
|
|
@@ -154,8 +154,8 @@ export function deleteTask(id) {
|
|
|
154
154
|
return result.changes;
|
|
155
155
|
}
|
|
156
156
|
/** Return all not_started tasks whose dependencies are fully met. */
|
|
157
|
-
export function getUnblockedTasks(
|
|
158
|
-
const all = listTasks(
|
|
157
|
+
export function getUnblockedTasks(workspaceId) {
|
|
158
|
+
const all = listTasks(workspaceId);
|
|
159
159
|
return all.filter((task) => {
|
|
160
160
|
if (task.status !== TASK_STATUS.NOT_STARTED) {
|
|
161
161
|
return false;
|
|
@@ -171,8 +171,8 @@ export function getUnblockedTasks(projectId) {
|
|
|
171
171
|
});
|
|
172
172
|
}
|
|
173
173
|
/** Alias for getUnblockedTasks — check which pending tasks are now unblocked. */
|
|
174
|
-
export function checkAndUnblock(
|
|
175
|
-
return getUnblockedTasks(
|
|
174
|
+
export function checkAndUnblock(workspaceId) {
|
|
175
|
+
return getUnblockedTasks(workspaceId);
|
|
176
176
|
}
|
|
177
177
|
/** Check whether all dependencies of a task are in "complete" status. */
|
|
178
178
|
export function areDependenciesMet(taskId) {
|
|
@@ -215,13 +215,13 @@ export function getChildren(taskId) {
|
|
|
215
215
|
.orderBy(asc(tasks.sortOrder), asc(tasks.createdAt))
|
|
216
216
|
.all();
|
|
217
217
|
}
|
|
218
|
-
/** Get all descendants of a task (full subtree) via in-memory BFS. Fetches all
|
|
218
|
+
/** Get all descendants of a task (full subtree) via in-memory BFS. Fetches all workspace tasks once to avoid N+1 queries. */
|
|
219
219
|
export function getDescendants(taskId) {
|
|
220
220
|
const task = getTask(taskId);
|
|
221
221
|
if (!task) {
|
|
222
222
|
return [];
|
|
223
223
|
}
|
|
224
|
-
const allRows = listTasks(task.
|
|
224
|
+
const allRows = listTasks(task.workspaceId || undefined);
|
|
225
225
|
const childIdsMap = buildChildIdsMap(allRows);
|
|
226
226
|
const rowById = new Map(allRows.map((r) => [r.id, r]));
|
|
227
227
|
const result = [];
|
package/dist/task-store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-store.js","sourceRoot":"","sources":["../src/task-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,KAAK,EAAgB,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAY,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,wEAAwE;AACxE,MAAM,UAAU,UAAU,CACxB,EAAU,EACV,
|
|
1
|
+
{"version":3,"file":"task-store.js","sourceRoot":"","sources":["../src/task-store.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/slugify.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* 3. Strips leading and trailing hyphens.
|
|
8
8
|
* 4. Truncates the result to a maximum of 40 characters.
|
|
9
9
|
*
|
|
10
|
-
* @param text - The input string to slugify (e.g. a task title or
|
|
10
|
+
* @param text - The input string to slugify (e.g. a task title or workspace name).
|
|
11
11
|
* @returns A lowercase, hyphen-separated, URL-safe string of at most 40 characters.
|
|
12
12
|
*
|
|
13
13
|
* @example
|
package/dist/utils/slugify.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* 3. Strips leading and trailing hyphens.
|
|
8
8
|
* 4. Truncates the result to a maximum of 40 characters.
|
|
9
9
|
*
|
|
10
|
-
* @param text - The input string to slugify (e.g. a task title or
|
|
10
|
+
* @param text - The input string to slugify (e.g. a task title or workspace name).
|
|
11
11
|
* @returns A lowercase, hyphen-separated, URL-safe string of at most 40 characters.
|
|
12
12
|
*
|
|
13
13
|
* @example
|