@xfey/tutti 0.1.27 → 0.1.29
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/collaboration-state/index.d.ts +2 -2
- package/dist/collaboration-state/index.js +2 -2
- package/dist/collaboration-state/messages.d.ts +4 -1
- package/dist/collaboration-state/messages.js +37 -1
- package/dist/collaboration-state/scratchpad.js +15 -10
- package/dist/collaboration-state/worklist.d.ts +3 -2
- package/dist/collaboration-state/worklist.js +24 -0
- package/dist/control-plane/index.js +15 -10
- package/dist/control-plane/worklist-terminal-feedback.d.ts +9 -1
- package/dist/control-plane/worklist-terminal-feedback.js +99 -1
- package/dist/server-shell/http/routes/project-api/openapi-collaboration-routes.d.ts +8 -0
- package/dist/server-shell/http/routes/project-api/openapi-workspace-routes.d.ts +8 -0
- package/dist/server-shell/http/routes/project-api/openapi.d.ts +16 -0
- package/dist/server-shell/http/routes/project-api/schemas.d.ts +8 -0
- package/migrations/README.md +1 -1
- package/node_modules/@tutti/shared/dist/schemas/api/clarifications.d.ts +42 -0
- package/node_modules/@tutti/shared/dist/schemas/api/index.d.ts +2 -2
- package/node_modules/@tutti/shared/dist/schemas/api/index.js +2 -2
- package/node_modules/@tutti/shared/dist/schemas/api/messages.d.ts +210 -0
- package/node_modules/@tutti/shared/dist/schemas/api/messages.js +33 -0
- package/node_modules/@tutti/shared/dist/schemas/api/runtime-events.d.ts +8 -0
- package/node_modules/@tutti/shared/dist/schemas/api/types.d.ts +6 -2
- package/node_modules/@tutti/shared/dist/schemas/api/viewer-reference.d.ts +42 -0
- package/node_modules/@tutti/shared/dist/schemas/api/work-items.d.ts +25 -1
- package/node_modules/@tutti/shared/dist/schemas/api/work-items.js +16 -7
- package/node_modules/@tutti/shared/dist/schemas/api/workspace-commands.d.ts +16 -0
- package/package.json +1 -1
- package/prompts/prompt-flow-map.md +1 -1
- package/prompts/runs/README.md +1 -1
- package/prompts/runs/task-continuation.md +1 -1
- package/prompts/runs/task-retry.md +1 -1
- package/prompts/runs/task-run.md +1 -1
- package/web/assets/index-BHRlhFwi.css +1 -0
- package/web/assets/index-DPU2uqZl.js +29 -0
- package/web/index.html +2 -2
- package/web/assets/index-BfFYfzeO.js +0 -29
- package/web/assets/index-De6mK5Q2.css +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { CollaborationStateCursorError } from "./serialization.js";
|
|
2
2
|
export { createIdleExecutionStatusProjection } from "./execution-status.js";
|
|
3
|
-
export { createMainChatAgentMessage, createMainChatMessage, createMainChatSystemMessage, hasMainChatWorklistFeedbackMessage, readCompletedWorklistFeedbackTaskIds, readMessageProjectionById, readMainChatMessageWindow, readMainChatMessagesAfter, readMainChatMessagesAfterCursor, readMainChatMessagesBeforeCursor, } from "./messages.js";
|
|
3
|
+
export { createMainChatAgentMessage, createMainChatMessage, createMainChatSystemMessage, hasMainChatArtifactPreviewMessage, hasMainChatTaskResultMessage, hasMainChatWorklistCompileMessage, hasMainChatWorklistFeedbackMessage, readCompletedWorklistFeedbackTaskIds, readMessageProjectionById, readMainChatMessageWindow, readMainChatMessagesAfter, readMainChatMessagesAfterCursor, readMainChatMessagesBeforeCursor, } from "./messages.js";
|
|
4
4
|
export { createEmptyScratchpadProjection, readScratchpadReceiptSourceRefs, readScratchpadProjection, submitScratchpadProjection, upsertScratchpadProjection, } from "./scratchpad.js";
|
|
5
5
|
export { advanceScratchpadTaskCompileSourceCursor, markScratchpadRefreshFailed, markScratchpadRefreshStarted, markScratchpadRefreshSucceeded, markScratchpadSourceDirty, readScratchpadSourceState, } from "./scratchpad-source-state.js";
|
|
6
6
|
export { deleteStaleClarificationSubmitReplayHints, readActiveClarificationProjection, readClarificationRoundProjection, readClarificationRoundsForThread, readClarificationThreadResponse, readSealedClarificationRoundsWithoutSuccessor, readSubmittedTaskCompileClarificationRounds, readSubmittedTaskCompileClarificationRoundsAfterCursor, } from "./clarification-records.js";
|
|
@@ -12,6 +12,6 @@ export { recordRunNeedsHumanResult, recordRunResult } from "./run-recording.js";
|
|
|
12
12
|
export { recoverStaleRunningTasksAsFailed } from "./recovery.js";
|
|
13
13
|
export { markReadStateScope, readReadStateSummary, recordReadNotificationEvent, } from "./read-state.js";
|
|
14
14
|
export { readTaskDetailProjection } from "./task-details.js";
|
|
15
|
-
export { applyTaskCompileProposal, markTaskRunStarted, readNextRunnableTask, readRecoverableScheduledRun, readTaskProjection, readWorklistProjection, } from "./worklist.js";
|
|
15
|
+
export { applyTaskCompileProposal, markTaskRunStarted, readNextRunnableTask, readRecoverableScheduledRun, readCompiledTaskSummariesByWorkflowRef, readTaskProjection, readWorklistProjection, } from "./worklist.js";
|
|
16
16
|
export type { ApplyTaskCompileProposalResult, CloseTaskBoundClarificationRetaskingRequiredInput, CloseTaskBoundClarificationRetaskingRequiredResult, CreateClarificationRoundAgentMessageInput, CreateClarificationRoundMessageInput, CreateMainChatAgentMessageInput, CreateMainChatMessageInput, CreateMainChatSystemMessageInput, CursorPageOptions, MarkReadStateScopeInput, MarkReadStateScopeResult, MarkTaskRunStartedInput, MarkTaskRunStartedResult, MaterializeClarificationSuccessorInput, MaterializeTaskBoundRunSuccessorInput, MaterializeTaskBoundRunSuccessorResult, MessageAuthorInput, NextRunnableTaskResult, OpenNextTaskBoundClarificationRoundInput, OpenNextTaskBoundClarificationRoundResult, OpenNextTaskCompileClarificationRoundInput, OpenNextTaskCompileClarificationRoundResult, OpenTaskCompileClarificationRoundInput, OpenTaskCompileClarificationRoundResult, ReadMainChatMessagesAfterOptions, ReadMessageWindowOptions, ReadReadStateSummaryInput, RecoverStaleRunningTasksResult, RecoverableScheduledRun, RecordReadNotificationEventInput, RecordRecoverySummaryInput, RecordRecoverySummaryResult, RecordRunNeedsHumanResultInput, RecordRunNeedsHumanResultResult, RecordRunResultInput, RecordRunResultResult, RunResultPromotionProjection, ScratchpadSnapshotInput, SubmitScratchpadInput, SubmitScratchpadResult, SealedClarificationRoundWithoutSuccessor, SubmitClarificationRoundInput, TaskCompileProposalInput, TaskCompileProposalModuleInput, TaskCompileProposalTaskInput, } from "./types.js";
|
|
17
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { CollaborationStateCursorError } from "./serialization.js";
|
|
2
2
|
export { createIdleExecutionStatusProjection } from "./execution-status.js";
|
|
3
|
-
export { createMainChatAgentMessage, createMainChatMessage, createMainChatSystemMessage, hasMainChatWorklistFeedbackMessage, readCompletedWorklistFeedbackTaskIds, readMessageProjectionById, readMainChatMessageWindow, readMainChatMessagesAfter, readMainChatMessagesAfterCursor, readMainChatMessagesBeforeCursor, } from "./messages.js";
|
|
3
|
+
export { createMainChatAgentMessage, createMainChatMessage, createMainChatSystemMessage, hasMainChatArtifactPreviewMessage, hasMainChatTaskResultMessage, hasMainChatWorklistCompileMessage, hasMainChatWorklistFeedbackMessage, readCompletedWorklistFeedbackTaskIds, readMessageProjectionById, readMainChatMessageWindow, readMainChatMessagesAfter, readMainChatMessagesAfterCursor, readMainChatMessagesBeforeCursor, } from "./messages.js";
|
|
4
4
|
export { createEmptyScratchpadProjection, readScratchpadReceiptSourceRefs, readScratchpadProjection, submitScratchpadProjection, upsertScratchpadProjection, } from "./scratchpad.js";
|
|
5
5
|
export { advanceScratchpadTaskCompileSourceCursor, markScratchpadRefreshFailed, markScratchpadRefreshStarted, markScratchpadRefreshSucceeded, markScratchpadSourceDirty, readScratchpadSourceState, } from "./scratchpad-source-state.js";
|
|
6
6
|
export { deleteStaleClarificationSubmitReplayHints, readActiveClarificationProjection, readClarificationRoundProjection, readClarificationRoundsForThread, readClarificationThreadResponse, readSealedClarificationRoundsWithoutSuccessor, readSubmittedTaskCompileClarificationRounds, readSubmittedTaskCompileClarificationRoundsAfterCursor, } from "./clarification-records.js";
|
|
@@ -12,5 +12,5 @@ export { recordRunNeedsHumanResult, recordRunResult } from "./run-recording.js";
|
|
|
12
12
|
export { recoverStaleRunningTasksAsFailed } from "./recovery.js";
|
|
13
13
|
export { markReadStateScope, readReadStateSummary, recordReadNotificationEvent, } from "./read-state.js";
|
|
14
14
|
export { readTaskDetailProjection } from "./task-details.js";
|
|
15
|
-
export { applyTaskCompileProposal, markTaskRunStarted, readNextRunnableTask, readRecoverableScheduledRun, readTaskProjection, readWorklistProjection, } from "./worklist.js";
|
|
15
|
+
export { applyTaskCompileProposal, markTaskRunStarted, readNextRunnableTask, readRecoverableScheduledRun, readCompiledTaskSummariesByWorkflowRef, readTaskProjection, readWorklistProjection, } from "./worklist.js";
|
|
16
16
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type MessageId, type TaskId } from "@tutti/shared/ids";
|
|
1
|
+
import { type MessageId, type RunResultId, type TaskId, type WorkflowInvocationRef } from "@tutti/shared/ids";
|
|
2
2
|
import type { MessageProjection, MessageWindow } from "@tutti/shared/schemas/api";
|
|
3
3
|
import type { SqliteDatabase } from "../store/index.js";
|
|
4
4
|
import type { CreateMainChatAgentMessageInput, CreateMainChatMessageInput, CreateMainChatSystemMessageInput, ReadMainChatMessagesAfterOptions, ReadMessageWindowOptions } from "./types.js";
|
|
@@ -9,6 +9,9 @@ export declare function createMainChatSystemMessage(db: SqliteDatabase, input: C
|
|
|
9
9
|
export declare function createMainChatAgentMessage(db: SqliteDatabase, input: CreateMainChatAgentMessageInput): MessageProjection;
|
|
10
10
|
export declare function readMessageProjectionById(db: SqliteDatabase, messageId: MessageId): MessageProjection | null;
|
|
11
11
|
export declare function hasMainChatWorklistFeedbackMessage(db: SqliteDatabase, feedbackKey: string): boolean;
|
|
12
|
+
export declare function hasMainChatTaskResultMessage(db: SqliteDatabase, resultKey: string): boolean;
|
|
13
|
+
export declare function hasMainChatWorklistCompileMessage(db: SqliteDatabase, workflowRef: WorkflowInvocationRef): boolean;
|
|
14
|
+
export declare function hasMainChatArtifactPreviewMessage(db: SqliteDatabase, runResultId: RunResultId): boolean;
|
|
12
15
|
export declare function readCompletedWorklistFeedbackTaskIds(db: SqliteDatabase): Set<TaskId>;
|
|
13
16
|
export declare function readMainChatMessageWindow(db: SqliteDatabase, options?: ReadMessageWindowOptions): MessageWindow;
|
|
14
17
|
export declare function readMainChatMessagesAfter(db: SqliteDatabase, options: ReadMainChatMessagesAfterOptions): MessageProjection[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createMessageId } from "@tutti/shared/ids";
|
|
1
|
+
import { createMessageId, } from "@tutti/shared/ids";
|
|
2
2
|
import { clampLimit, decodeCursor, messageCursor, nowIso, parseJson, stringifyJson, } from "./serialization.js";
|
|
3
3
|
import { recordReadNotificationEvent } from "./read-state.js";
|
|
4
4
|
function readClarificationCardForMessage(db, messageId) {
|
|
@@ -207,6 +207,42 @@ export function hasMainChatWorklistFeedbackMessage(db, feedbackKey) {
|
|
|
207
207
|
.get(feedbackKey);
|
|
208
208
|
return row !== undefined;
|
|
209
209
|
}
|
|
210
|
+
export function hasMainChatTaskResultMessage(db, resultKey) {
|
|
211
|
+
const row = db
|
|
212
|
+
.prepare(`
|
|
213
|
+
SELECT 1 AS exists_flag
|
|
214
|
+
FROM messages
|
|
215
|
+
WHERE scope_kind = 'main_chat'
|
|
216
|
+
AND json_extract(refs_json, '$.task_result.result_key') = ?
|
|
217
|
+
LIMIT 1
|
|
218
|
+
`)
|
|
219
|
+
.get(resultKey);
|
|
220
|
+
return row !== undefined;
|
|
221
|
+
}
|
|
222
|
+
export function hasMainChatWorklistCompileMessage(db, workflowRef) {
|
|
223
|
+
const row = db
|
|
224
|
+
.prepare(`
|
|
225
|
+
SELECT 1 AS exists_flag
|
|
226
|
+
FROM messages
|
|
227
|
+
WHERE scope_kind = 'main_chat'
|
|
228
|
+
AND json_extract(refs_json, '$.worklist_compile.workflow_ref') = ?
|
|
229
|
+
LIMIT 1
|
|
230
|
+
`)
|
|
231
|
+
.get(workflowRef);
|
|
232
|
+
return row !== undefined;
|
|
233
|
+
}
|
|
234
|
+
export function hasMainChatArtifactPreviewMessage(db, runResultId) {
|
|
235
|
+
const row = db
|
|
236
|
+
.prepare(`
|
|
237
|
+
SELECT 1 AS exists_flag
|
|
238
|
+
FROM messages
|
|
239
|
+
WHERE scope_kind = 'main_chat'
|
|
240
|
+
AND json_extract(refs_json, '$.artifact_preview.run_result_id') = ?
|
|
241
|
+
LIMIT 1
|
|
242
|
+
`)
|
|
243
|
+
.get(runResultId);
|
|
244
|
+
return row !== undefined;
|
|
245
|
+
}
|
|
210
246
|
export function readCompletedWorklistFeedbackTaskIds(db) {
|
|
211
247
|
const rows = db
|
|
212
248
|
.prepare(`
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { nowIso, parseJson, stringifyJson } from "./serialization.js";
|
|
2
|
+
import { readCompiledTaskSummariesByWorkflowRef } from "./worklist.js";
|
|
2
3
|
const SCRATCHPAD_RECEIPT_LIMIT = 100;
|
|
3
4
|
function normalizeSourceRefs(sourceRefs = []) {
|
|
4
5
|
const byMessageId = new Map();
|
|
@@ -80,16 +81,20 @@ function readScratchpadReceipts(db) {
|
|
|
80
81
|
LIMIT ${SCRATCHPAD_RECEIPT_LIMIT}
|
|
81
82
|
`)
|
|
82
83
|
.all();
|
|
83
|
-
return rows.map((row) =>
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
84
|
+
return rows.map((row) => {
|
|
85
|
+
const compiledTasks = readCompiledTaskSummariesByWorkflowRef(db, row.workflow_ref);
|
|
86
|
+
return {
|
|
87
|
+
workflow_ref: row.workflow_ref,
|
|
88
|
+
activity_ref: row.activity_ref,
|
|
89
|
+
topic: row.topic,
|
|
90
|
+
background_summary: row.background_summary,
|
|
91
|
+
current_consensus: parseJson(row.current_consensus_json, []),
|
|
92
|
+
open_questions: parseJson(row.open_questions_json, []),
|
|
93
|
+
task_changes: parseJson(row.task_changes_json, []),
|
|
94
|
+
submitted_at: row.submitted_at,
|
|
95
|
+
...(compiledTasks.length === 0 ? {} : { compiled_tasks: compiledTasks }),
|
|
96
|
+
};
|
|
97
|
+
});
|
|
93
98
|
}
|
|
94
99
|
export function upsertScratchpadProjection(db, input) {
|
|
95
100
|
const updatedAt = nowIso(input.now);
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { type TaskId } from "@tutti/shared/ids";
|
|
2
|
-
import type { TaskProjection, WorklistProjection } from "@tutti/shared/schemas/api";
|
|
1
|
+
import { type TaskId, type WorkflowInvocationRef } from "@tutti/shared/ids";
|
|
2
|
+
import type { TaskProjection, WorklistCompiledTaskSummary, WorklistProjection } from "@tutti/shared/schemas/api";
|
|
3
3
|
import type { SqliteDatabase } from "../store/index.js";
|
|
4
4
|
import type { ApplyTaskCompileProposalResult, MarkTaskRunStartedInput, MarkTaskRunStartedResult, NextRunnableTaskResult, RecoverableScheduledRun, TaskCompileProposalInput } from "./types.js";
|
|
5
5
|
export declare function readTaskProjection(db: SqliteDatabase, taskId: TaskId): TaskProjection | null;
|
|
6
|
+
export declare function readCompiledTaskSummariesByWorkflowRef(db: SqliteDatabase, workflowRef: WorkflowInvocationRef): WorklistCompiledTaskSummary[];
|
|
6
7
|
export declare function readWorklistProjection(db: SqliteDatabase): WorklistProjection;
|
|
7
8
|
export declare function readNextRunnableTask(db: SqliteDatabase): NextRunnableTaskResult;
|
|
8
9
|
export declare function readRecoverableScheduledRun(db: SqliteDatabase): RecoverableScheduledRun | null;
|
|
@@ -44,6 +44,30 @@ export function readTaskProjection(db, taskId) {
|
|
|
44
44
|
const row = db.prepare("SELECT * FROM tasks WHERE id = ?").get(taskId);
|
|
45
45
|
return row === undefined ? null : mapTaskRow(row);
|
|
46
46
|
}
|
|
47
|
+
export function readCompiledTaskSummariesByWorkflowRef(db, workflowRef) {
|
|
48
|
+
const rows = db
|
|
49
|
+
.prepare(`
|
|
50
|
+
SELECT
|
|
51
|
+
tasks.*,
|
|
52
|
+
task_modules.name AS module_name
|
|
53
|
+
FROM tasks
|
|
54
|
+
JOIN task_modules ON task_modules.id = tasks.module_id
|
|
55
|
+
WHERE tasks.created_from_workflow_ref = ?
|
|
56
|
+
ORDER BY task_modules.sort_order ASC,
|
|
57
|
+
task_modules.id ASC,
|
|
58
|
+
tasks.sort_order ASC,
|
|
59
|
+
tasks.id ASC
|
|
60
|
+
`)
|
|
61
|
+
.all(workflowRef);
|
|
62
|
+
return rows.map((row) => ({
|
|
63
|
+
task_id: row.id,
|
|
64
|
+
title: row.title,
|
|
65
|
+
summary: row.summary,
|
|
66
|
+
status: row.status,
|
|
67
|
+
module_id: row.module_id,
|
|
68
|
+
module_name: row.module_name,
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
47
71
|
export function readWorklistProjection(db) {
|
|
48
72
|
const moduleRows = db
|
|
49
73
|
.prepare(`
|
|
@@ -15,7 +15,7 @@ import { startControlPlaneTaskBoundFollowUpCheck } from "./follow-up-start.js";
|
|
|
15
15
|
import { runControlPlaneSchedulerForTaskArrival, runControlPlaneSchedulerNow, } from "./run-scheduler.js";
|
|
16
16
|
import { startControlPlaneRunForTask } from "./run-start.js";
|
|
17
17
|
import { runSendClarificationRoundMessage, runSubmitClarificationRound, } from "./clarification-commands.js";
|
|
18
|
-
import {
|
|
18
|
+
import { emitTaskCompletedResultMessage, emitTaskFailedResultMessage, } from "./worklist-terminal-feedback.js";
|
|
19
19
|
export class Phase5ControlPlane {
|
|
20
20
|
engine;
|
|
21
21
|
runEngine;
|
|
@@ -283,14 +283,27 @@ export class Phase5ControlPlane {
|
|
|
283
283
|
}
|
|
284
284
|
handleRunTerminalTransition(state) {
|
|
285
285
|
if (state.activity.status === "finished") {
|
|
286
|
+
if (state.activity.task_id !== undefined) {
|
|
287
|
+
emitTaskCompletedResultMessage({
|
|
288
|
+
store: this.store,
|
|
289
|
+
events: this.events,
|
|
290
|
+
taskId: state.activity.task_id,
|
|
291
|
+
activityRef: state.activity.activity_ref,
|
|
292
|
+
...(this.projectContext === undefined
|
|
293
|
+
? {}
|
|
294
|
+
: { workspaceRoot: this.projectContext.workspaceRoot }),
|
|
295
|
+
now: this.now,
|
|
296
|
+
});
|
|
297
|
+
}
|
|
286
298
|
this.maybeScheduleAfterRunCompletion();
|
|
287
299
|
return;
|
|
288
300
|
}
|
|
289
301
|
if (state.activity.status === "failed" && state.activity.task_id !== undefined) {
|
|
290
|
-
|
|
302
|
+
emitTaskFailedResultMessage({
|
|
291
303
|
store: this.store,
|
|
292
304
|
events: this.events,
|
|
293
305
|
taskId: state.activity.task_id,
|
|
306
|
+
activityRef: state.activity.activity_ref,
|
|
294
307
|
now: this.now,
|
|
295
308
|
});
|
|
296
309
|
}
|
|
@@ -310,14 +323,6 @@ export class Phase5ControlPlane {
|
|
|
310
323
|
if (this.tryRunTaskArrivalScheduler()) {
|
|
311
324
|
return;
|
|
312
325
|
}
|
|
313
|
-
emitWorklistCompletedFeedback({
|
|
314
|
-
store: this.store,
|
|
315
|
-
events: this.events,
|
|
316
|
-
...(this.projectContext === undefined
|
|
317
|
-
? {}
|
|
318
|
-
: { workspaceRoot: this.projectContext.workspaceRoot }),
|
|
319
|
-
now: this.now,
|
|
320
|
-
});
|
|
321
326
|
this.maybeStartContextSyncAfterWorklistCompletion();
|
|
322
327
|
}
|
|
323
328
|
worklistCompletionContextSyncTrigger() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TaskId } from "@tutti/shared/ids";
|
|
1
|
+
import type { ActivityRef, TaskId } from "@tutti/shared/ids";
|
|
2
2
|
import type { MessageProjection } from "@tutti/shared/schemas/api";
|
|
3
3
|
import type { HostProjectStore } from "../store/index.js";
|
|
4
4
|
import type { WorkspaceEventBus } from "../server-shell/http/workspace-events.js";
|
|
@@ -8,6 +8,14 @@ type EmitWorklistFeedbackInput = {
|
|
|
8
8
|
workspaceRoot?: string;
|
|
9
9
|
now: () => Date;
|
|
10
10
|
};
|
|
11
|
+
export declare function emitTaskCompletedResultMessage(input: EmitWorklistFeedbackInput & {
|
|
12
|
+
taskId: TaskId;
|
|
13
|
+
activityRef?: ActivityRef;
|
|
14
|
+
}): MessageProjection | null;
|
|
15
|
+
export declare function emitTaskFailedResultMessage(input: EmitWorklistFeedbackInput & {
|
|
16
|
+
taskId: TaskId;
|
|
17
|
+
activityRef?: ActivityRef;
|
|
18
|
+
}): MessageProjection | null;
|
|
11
19
|
export declare function emitWorklistCompletedFeedback(input: EmitWorklistFeedbackInput): MessageProjection | null;
|
|
12
20
|
export declare function emitWorklistFailedFeedback(input: EmitWorklistFeedbackInput & {
|
|
13
21
|
taskId: TaskId;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { readViewerFile, referenceFileSourceForPath, referenceMediaTypeForPath, referenceTuttiGroupForPath, } from "../workspace-ops/index.js";
|
|
2
|
-
import { createMainChatAgentMessage, hasMainChatWorklistFeedbackMessage, readCompletedWorklistFeedbackTaskIds, readTaskDetailProjection, readWorklistProjection, } from "../collaboration-state/index.js";
|
|
2
|
+
import { createMainChatAgentMessage, hasMainChatTaskResultMessage, hasMainChatWorklistFeedbackMessage, readCompletedWorklistFeedbackTaskIds, readTaskDetailProjection, readWorklistProjection, } from "../collaboration-state/index.js";
|
|
3
3
|
import { mainChatInvalidates } from "./invalidations.js";
|
|
4
4
|
const BODY_ITEM_LIMIT = 12;
|
|
5
5
|
function summaryText(value, fallback) {
|
|
@@ -177,6 +177,104 @@ function markdownFallback(feedback) {
|
|
|
177
177
|
}
|
|
178
178
|
return lines.join("\n");
|
|
179
179
|
}
|
|
180
|
+
function taskResultKey(item) {
|
|
181
|
+
return `task-result:${item.status}:${item.task_id}:${item.latest_run_result_id ?? "no-result"}`;
|
|
182
|
+
}
|
|
183
|
+
function taskResultFallback(result) {
|
|
184
|
+
const moduleText = result.module_name === undefined ? "" : ` (${result.module_name})`;
|
|
185
|
+
const lines = [result.title, "", `${result.task_title}${moduleText}`, ""];
|
|
186
|
+
if (result.final_note !== undefined && result.final_note.trim().length > 0) {
|
|
187
|
+
lines.push(result.final_note.trim(), "");
|
|
188
|
+
}
|
|
189
|
+
if (result.generated_files !== undefined && result.generated_files.length > 0) {
|
|
190
|
+
lines.push("Generated files:");
|
|
191
|
+
for (const file of result.generated_files) {
|
|
192
|
+
lines.push(`- ${file.name}`);
|
|
193
|
+
}
|
|
194
|
+
lines.push("");
|
|
195
|
+
}
|
|
196
|
+
if (result.summary.trim().length > 0) {
|
|
197
|
+
lines.push(result.summary.trim(), "");
|
|
198
|
+
}
|
|
199
|
+
if (result.status === "failed") {
|
|
200
|
+
lines.push("Review the Worklist task detail for the failure context.");
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
lines.push("Open the Worklist task detail to review the result.");
|
|
204
|
+
}
|
|
205
|
+
return lines.join("\n");
|
|
206
|
+
}
|
|
207
|
+
function publishTaskResultMessage(input, result) {
|
|
208
|
+
if (hasMainChatTaskResultMessage(input.store.db, result.result_key)) {
|
|
209
|
+
return null;
|
|
210
|
+
}
|
|
211
|
+
const message = createMainChatAgentMessage(input.store.db, {
|
|
212
|
+
body: taskResultFallback(result),
|
|
213
|
+
refs: {
|
|
214
|
+
scratchpad_source: "exclude",
|
|
215
|
+
task_id: result.task_id,
|
|
216
|
+
...(result.activity_ref === undefined ? {} : { activity_ref: result.activity_ref }),
|
|
217
|
+
task_result: result,
|
|
218
|
+
},
|
|
219
|
+
now: input.now,
|
|
220
|
+
});
|
|
221
|
+
input.events.publish({
|
|
222
|
+
event_type: "message.created",
|
|
223
|
+
payload: { message },
|
|
224
|
+
invalidates: mainChatInvalidates(),
|
|
225
|
+
});
|
|
226
|
+
return message;
|
|
227
|
+
}
|
|
228
|
+
export function emitTaskCompletedResultMessage(input) {
|
|
229
|
+
const entry = readWorklistTaskEntries(input.store).find((item) => item.task.id === input.taskId);
|
|
230
|
+
if (entry === undefined || entry.task.status !== "done") {
|
|
231
|
+
return null;
|
|
232
|
+
}
|
|
233
|
+
const item = feedbackItemFromEntry(entry);
|
|
234
|
+
const finalNote = userNoteCandidateFromEntry(entry);
|
|
235
|
+
const generatedFiles = generatedFilesForCompletedEntries(input, [entry]);
|
|
236
|
+
const result = {
|
|
237
|
+
kind: "task_result",
|
|
238
|
+
status: "completed",
|
|
239
|
+
title: "Task completed",
|
|
240
|
+
task_id: item.task_id,
|
|
241
|
+
task_title: item.title,
|
|
242
|
+
result_key: taskResultKey(item),
|
|
243
|
+
summary: item.summary,
|
|
244
|
+
...(item.module_name === undefined ? {} : { module_name: item.module_name }),
|
|
245
|
+
...(item.latest_run_result_id === undefined
|
|
246
|
+
? {}
|
|
247
|
+
: { latest_run_result_id: item.latest_run_result_id }),
|
|
248
|
+
...(input.activityRef === undefined ? {} : { activity_ref: input.activityRef }),
|
|
249
|
+
...(finalNote === undefined ? {} : { final_note: finalNote }),
|
|
250
|
+
...(generatedFiles.length === 0 ? {} : { generated_files: generatedFiles }),
|
|
251
|
+
};
|
|
252
|
+
return publishTaskResultMessage(input, result);
|
|
253
|
+
}
|
|
254
|
+
export function emitTaskFailedResultMessage(input) {
|
|
255
|
+
const entry = readWorklistTaskEntries(input.store).find((item) => item.task.id === input.taskId);
|
|
256
|
+
if (entry === undefined || entry.task.status !== "failed") {
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
const item = feedbackItemFromEntry(entry);
|
|
260
|
+
const errorCode = entry.detail?.detail.result.error_code;
|
|
261
|
+
const result = {
|
|
262
|
+
kind: "task_result",
|
|
263
|
+
status: "failed",
|
|
264
|
+
title: "Task failed",
|
|
265
|
+
task_id: item.task_id,
|
|
266
|
+
task_title: item.title,
|
|
267
|
+
result_key: taskResultKey(item),
|
|
268
|
+
summary: item.summary,
|
|
269
|
+
...(item.module_name === undefined ? {} : { module_name: item.module_name }),
|
|
270
|
+
...(item.latest_run_result_id === undefined
|
|
271
|
+
? {}
|
|
272
|
+
: { latest_run_result_id: item.latest_run_result_id }),
|
|
273
|
+
...(input.activityRef === undefined ? {} : { activity_ref: input.activityRef }),
|
|
274
|
+
...(errorCode === undefined ? {} : { error_code: errorCode }),
|
|
275
|
+
};
|
|
276
|
+
return publishTaskResultMessage(input, result);
|
|
277
|
+
}
|
|
180
278
|
function publishFeedbackMessage(input, feedback) {
|
|
181
279
|
if (hasExistingFeedback(input.store, feedback.feedback_key)) {
|
|
182
280
|
return null;
|
|
@@ -109,6 +109,14 @@ export declare const HOST_PROJECT_COLLABORATION_OPENAPI_ROUTES: ({
|
|
|
109
109
|
open_questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
110
110
|
task_changes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
111
111
|
submitted_at: import("@sinclair/typebox").TString;
|
|
112
|
+
compiled_tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
113
|
+
task_id: import("@sinclair/typebox").TString;
|
|
114
|
+
title: import("@sinclair/typebox").TString;
|
|
115
|
+
summary: import("@sinclair/typebox").TString;
|
|
116
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"todo">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"done">, import("@sinclair/typebox").TLiteral<"failed">]>;
|
|
117
|
+
module_id: import("@sinclair/typebox").TString;
|
|
118
|
+
module_name: import("@sinclair/typebox").TString;
|
|
119
|
+
}>>>;
|
|
112
120
|
}>>;
|
|
113
121
|
}>;
|
|
114
122
|
contentType?: never;
|
|
@@ -969,6 +969,14 @@ export declare const HOST_PROJECT_WORKSPACE_OPENAPI_ROUTES: ({
|
|
|
969
969
|
open_questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
970
970
|
task_changes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
971
971
|
submitted_at: import("@sinclair/typebox").TString;
|
|
972
|
+
compiled_tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
973
|
+
task_id: import("@sinclair/typebox").TString;
|
|
974
|
+
title: import("@sinclair/typebox").TString;
|
|
975
|
+
summary: import("@sinclair/typebox").TString;
|
|
976
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"todo">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"done">, import("@sinclair/typebox").TLiteral<"failed">]>;
|
|
977
|
+
module_id: import("@sinclair/typebox").TString;
|
|
978
|
+
module_name: import("@sinclair/typebox").TString;
|
|
979
|
+
}>>>;
|
|
972
980
|
}>>;
|
|
973
981
|
}>;
|
|
974
982
|
readonly worklist: import("@sinclair/typebox").TObject<{
|
|
@@ -271,6 +271,14 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
271
271
|
open_questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
272
272
|
task_changes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
273
273
|
submitted_at: import("@sinclair/typebox").TString;
|
|
274
|
+
compiled_tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
275
|
+
task_id: import("@sinclair/typebox").TString;
|
|
276
|
+
title: import("@sinclair/typebox").TString;
|
|
277
|
+
summary: import("@sinclair/typebox").TString;
|
|
278
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"todo">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"done">, import("@sinclair/typebox").TLiteral<"failed">]>;
|
|
279
|
+
module_id: import("@sinclair/typebox").TString;
|
|
280
|
+
module_name: import("@sinclair/typebox").TString;
|
|
281
|
+
}>>>;
|
|
274
282
|
}>>;
|
|
275
283
|
}>;
|
|
276
284
|
contentType?: never;
|
|
@@ -2226,6 +2234,14 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
2226
2234
|
open_questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
2227
2235
|
task_changes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
2228
2236
|
submitted_at: import("@sinclair/typebox").TString;
|
|
2237
|
+
compiled_tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
2238
|
+
task_id: import("@sinclair/typebox").TString;
|
|
2239
|
+
title: import("@sinclair/typebox").TString;
|
|
2240
|
+
summary: import("@sinclair/typebox").TString;
|
|
2241
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"todo">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"done">, import("@sinclair/typebox").TLiteral<"failed">]>;
|
|
2242
|
+
module_id: import("@sinclair/typebox").TString;
|
|
2243
|
+
module_name: import("@sinclair/typebox").TString;
|
|
2244
|
+
}>>>;
|
|
2229
2245
|
}>>;
|
|
2230
2246
|
}>;
|
|
2231
2247
|
readonly worklist: import("@sinclair/typebox").TObject<{
|
|
@@ -951,6 +951,14 @@ export declare const BootstrapResponseSchema: {
|
|
|
951
951
|
open_questions: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
952
952
|
task_changes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
953
953
|
submitted_at: import("@sinclair/typebox").TString;
|
|
954
|
+
compiled_tasks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
955
|
+
task_id: import("@sinclair/typebox").TString;
|
|
956
|
+
title: import("@sinclair/typebox").TString;
|
|
957
|
+
summary: import("@sinclair/typebox").TString;
|
|
958
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"todo">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"done">, import("@sinclair/typebox").TLiteral<"failed">]>;
|
|
959
|
+
module_id: import("@sinclair/typebox").TString;
|
|
960
|
+
module_name: import("@sinclair/typebox").TString;
|
|
961
|
+
}>>>;
|
|
954
962
|
}>>;
|
|
955
963
|
}>;
|
|
956
964
|
readonly worklist: import("@sinclair/typebox").TObject<{
|
package/migrations/README.md
CHANGED
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
- `0001_init.sql`、`0002_allow_sealed_round_successor_note.sql`、`0003_drop_scratchpad_source_message_refs.sql`、`0004_read_state.sql`、`0005_provider_usage.sql`、`0006_scratchpad_source_state.sql`、`0007_workspace_signal_read_state_scopes.sql`、`0008_provider_usage_anchors.sql`、`0009_project_timeline_events.sql`、`0010_project_brief.sql`、`0011_message_author_avatar.sql`、`0012_scratchpad_receipts.sql` 与 `0013_scratchpad_receipt_sources.sql` 已存在,代表当前 host project SQLite schema contract。
|
|
33
33
|
- SQLite adapter、migration runner、checksum 校验、store metadata 初始化、transaction helper 与 command recovery scan helper 已实现。
|
|
34
|
-
- 协作 repository 与 Control Plane 已实现第一批业务读写;Phase 7 首批已复用 `0001_init.sql` 中的 `tasks.latest_run_result_id`、`task_details.result_json` 与 `run_results` 表完成 Run result / checks / promotion 摘要持久化。Control Plane recovery resolver 与 task-bound continuation / retry 复用现有 schema;deterministic promotion reconcile 的业务 truth 仍写入最终 Run result / task detail result,Timeline 默认从 `tasks`、`run_results`
|
|
34
|
+
- 协作 repository 与 Control Plane 已实现第一批业务读写;Phase 7 首批已复用 `0001_init.sql` 中的 `tasks.latest_run_result_id`、`task_details.result_json` 与 `run_results` 表完成 Run result / checks / promotion 摘要持久化。Control Plane recovery resolver 与 task-bound continuation / retry 复用现有 schema;deterministic promotion reconcile 的业务 truth 仍写入最终 Run result / task detail result,Timeline 默认从 `tasks`、`run_results` 与历史主群聊 `refs.worklist_feedback` 投影任务级审计节点,当前 task terminal Chat feedback 写入 `refs.task_result` 消息;`project_timeline_events` 只保留缺少稳定 record 的轻量可观测性事件。merge workspace 不进入 SQLite truth。`provider_usage_events` 只保存 token 计数、调用来源、模型名、记录时间和可空 anchor,不保存 provider secret、prompt 或 raw response。store 基础设施本身已经可以创建并迁移 `tutti.sqlite`。
|
|
35
35
|
|
|
36
36
|
## PRAGMA 边界
|
|
37
37
|
|
|
@@ -526,6 +526,20 @@ export declare const SendClarificationRoundMessageResultSchema: import("@sinclai
|
|
|
526
526
|
blocked_reason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"binary">, import("@sinclair/typebox").TLiteral<"too_large">, import("@sinclair/typebox").TLiteral<"unsupported_encoding">, import("@sinclair/typebox").TLiteral<"restricted_path">, import("@sinclair/typebox").TLiteral<"secret_like">, import("@sinclair/typebox").TLiteral<"unknown">]>>;
|
|
527
527
|
}>;
|
|
528
528
|
}>>;
|
|
529
|
+
worklist_compile: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
530
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_compile">;
|
|
531
|
+
workflow_ref: import("@sinclair/typebox").TString;
|
|
532
|
+
title: import("@sinclair/typebox").TString;
|
|
533
|
+
task_count: import("@sinclair/typebox").TInteger;
|
|
534
|
+
tasks: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
535
|
+
task_id: import("@sinclair/typebox").TString;
|
|
536
|
+
title: import("@sinclair/typebox").TString;
|
|
537
|
+
summary: import("@sinclair/typebox").TString;
|
|
538
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"todo">, import("@sinclair/typebox").TLiteral<"running">, import("@sinclair/typebox").TLiteral<"pending">, import("@sinclair/typebox").TLiteral<"done">, import("@sinclair/typebox").TLiteral<"failed">]>;
|
|
539
|
+
module_id: import("@sinclair/typebox").TString;
|
|
540
|
+
module_name: import("@sinclair/typebox").TString;
|
|
541
|
+
}>>;
|
|
542
|
+
}>>;
|
|
529
543
|
worklist_feedback: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
530
544
|
kind: import("@sinclair/typebox").TLiteral<"worklist_terminal">;
|
|
531
545
|
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"failed">]>;
|
|
@@ -555,6 +569,34 @@ export declare const SendClarificationRoundMessageResultSchema: import("@sinclai
|
|
|
555
569
|
}>>>;
|
|
556
570
|
primary_task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
557
571
|
}>>;
|
|
572
|
+
task_result: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
573
|
+
kind: import("@sinclair/typebox").TLiteral<"task_result">;
|
|
574
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"completed">, import("@sinclair/typebox").TLiteral<"failed">]>;
|
|
575
|
+
title: import("@sinclair/typebox").TString;
|
|
576
|
+
task_id: import("@sinclair/typebox").TString;
|
|
577
|
+
task_title: import("@sinclair/typebox").TString;
|
|
578
|
+
result_key: import("@sinclair/typebox").TString;
|
|
579
|
+
summary: import("@sinclair/typebox").TString;
|
|
580
|
+
module_name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
581
|
+
latest_run_result_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
582
|
+
activity_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
583
|
+
final_note: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
584
|
+
generated_files: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
585
|
+
path: import("@sinclair/typebox").TString;
|
|
586
|
+
name: import("@sinclair/typebox").TString;
|
|
587
|
+
group: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
588
|
+
size_bytes: import("@sinclair/typebox").TInteger;
|
|
589
|
+
media_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
590
|
+
}>>>;
|
|
591
|
+
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
592
|
+
}>>;
|
|
593
|
+
artifact_preview: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
594
|
+
kind: import("@sinclair/typebox").TLiteral<"artifact_preview">;
|
|
595
|
+
title: import("@sinclair/typebox").TString;
|
|
596
|
+
status: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"available">, import("@sinclair/typebox").TLiteral<"updated">]>;
|
|
597
|
+
task_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
598
|
+
run_result_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
599
|
+
}>>;
|
|
558
600
|
}>>;
|
|
559
601
|
clarification_card: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
560
602
|
thread_id: import("@sinclair/typebox").TString;
|
|
@@ -6,8 +6,8 @@ export { ProviderUsageBreakdownProjectionSchema, ProviderUsageCategorySchema, Pr
|
|
|
6
6
|
export { ProjectTimelineChangeStatusSchema, ProjectTimelineClarificationTraceSchema, ProjectTimelineDecisionSummarySchema, ProjectTimelineItemKindSchema, ProjectTimelineItemSchema, ProjectTimelineItemStatusSchema, ProjectTimelineResponseSchema, ProjectTimelineSourceSnippetSchema, ProjectTimelineTaskUpdateStateSchema, ProjectTimelineTraceCardSchema, ProjectTimelineTraceLinkSchema, ProjectTimelineTraceToneSchema, } from "./project-timeline.js";
|
|
7
7
|
export { MAX_REFERENCE_STAGED_UPLOAD_BYTES, MAX_SKILL_ZIP_STAGED_UPLOAD_BYTES, MAX_STAGED_UPLOAD_BYTES, PresignedUploadPutSchema, ReferenceFileStartRelayUploadPayloadSchema, ReferenceStagedUploadReferenceProperties, RelayUploadProjectionSchema, RelayUploadPurposeSchema, Sha256DigestSchema, SkillZipStartRelayUploadPayloadSchema, SkillZipStagedUploadReferenceProperties, StagedUploadReferenceProperties, StagedUploadReferenceSchema, StartRelayUploadBodySchema, StartRelayUploadDispositionSchema, StartRelayUploadPayloadSchema, StartRelayUploadResponseSchema, StartRelayUploadResultSchema, maxStagedUploadBytesForPurpose, } from "./uploads.js";
|
|
8
8
|
export { MarkReadBodySchema, MarkReadDispositionSchema, MarkReadPayloadSchema, MarkReadResponseSchema, MarkReadResultSchema, ReadStateScopeProjectionSchema, ReadStateScopeSchema, ReadStateSummaryProjectionSchema, } from "./read-state.js";
|
|
9
|
-
export { GetMessagesRequestSchema, MessageAuthorSchema, MessageCreatedEventPayloadSchema, MessageKindSchema, MessageProjectionSchema, MessageReferenceFileRefSchema, MessageRefsSchema, MessageScopeSchema, MessageWindowSchema, ReferenceFileCategorySchema, SendMainChatMessageBodySchema, SendMainChatMessageCreatedDispositionSchema, SendMainChatMessageDispositionSchema, SendMainChatMessagePayloadSchema, SendMainChatMessageResponseSchema, SendMainChatMessageResultSchema, WorklistFeedbackItemSchema, WorklistFeedbackGeneratedFileSchema, WorklistFeedbackRefSchema, } from "./messages.js";
|
|
10
|
-
export { CheckSkipReasonCodeSchema, ExternalSideEffectSummaryProjectionSchema, GetRecoverySummariesRequestSchema, GetRecoverySummariesResponseSchema, GetRecoverySummaryResponseSchema, RecoverySummaryProjectionSchema, ResultAnchorSchema, RunLineageSchema, RunResultProjectionSchema, ScratchpadProjectionSchema, ScratchpadReceiptProjectionSchema, TaskContractProjectionSchema, TaskDetailProjectionSchema, TaskDetailResultProjectionSchema, TaskModuleProjectionSchema, TaskProjectionSchema, TaskRunResultsPageSchema, TaskStatusSchema, WorklistProjectionSchema, } from "./work-items.js";
|
|
9
|
+
export { GetMessagesRequestSchema, MessageAuthorSchema, MessageCreatedEventPayloadSchema, MessageKindSchema, MessageProjectionSchema, MessageReferenceFileRefSchema, MessageRefsSchema, MessageScopeSchema, MessageWindowSchema, ReferenceFileCategorySchema, SendMainChatMessageBodySchema, SendMainChatMessageCreatedDispositionSchema, SendMainChatMessageDispositionSchema, SendMainChatMessagePayloadSchema, SendMainChatMessageResponseSchema, SendMainChatMessageResultSchema, ArtifactPreviewRefSchema, TaskResultRefSchema, WorklistCompileRefSchema, WorklistFeedbackItemSchema, WorklistFeedbackGeneratedFileSchema, WorklistFeedbackRefSchema, } from "./messages.js";
|
|
10
|
+
export { CheckSkipReasonCodeSchema, ExternalSideEffectSummaryProjectionSchema, GetRecoverySummariesRequestSchema, GetRecoverySummariesResponseSchema, GetRecoverySummaryResponseSchema, RecoverySummaryProjectionSchema, ResultAnchorSchema, RunLineageSchema, RunResultProjectionSchema, ScratchpadProjectionSchema, ScratchpadReceiptProjectionSchema, TaskContractProjectionSchema, TaskDetailProjectionSchema, TaskDetailResultProjectionSchema, TaskModuleProjectionSchema, TaskProjectionSchema, TaskRunResultsPageSchema, TaskStatusSchema, WorklistCompiledTaskSummarySchema, WorklistProjectionSchema, } from "./work-items.js";
|
|
11
11
|
export { ActiveApprovalProjectionSchema, ApprovalCommandProjectionSchema, ApprovalDecisionKindSchema, ApprovalDecisionOptionProjectionSchema, ApprovalDecisionToneSchema, ApprovalFileChangeProjectionSchema, ApprovalPermissionsProjectionSchema, ApprovalRequestKindSchema, ApprovalRequestProjectionSchema, ApprovalResolutionOutcomeSchema, ApprovalResolutionProjectionSchema, DecideApprovalBodySchema, DecideApprovalDispositionSchema, DecideApprovalPayloadSchema, DecideApprovalResponseSchema, DecideApprovalResultSchema, } from "./approvals.js";
|
|
12
12
|
export { ActiveClarificationProjectionSchema, ClarificationChangedEventPayloadSchema, ClarificationOwnerProjectionSchema, ClarificationRequestPayloadSchema, ClarificationRoundProjectionSchema, ClarificationRoundSummaryProjectionSchema, ClarificationSuccessorRefSchema, ClarificationThreadProjectionSchema, ContextRefSchema, GetClarificationRoundMessagesRequestSchema, GetClarificationRoundResponseSchema, GetClarificationThreadResponseSchema, HumanInteractionPayloadSchema, HumanRequestPayloadSchema, SendClarificationRoundMessageBodySchema, SendClarificationRoundMessageDispositionSchema, SendClarificationRoundMessagePayloadSchema, SendClarificationRoundMessageResponseSchema, SendClarificationRoundMessageResultSchema, SubmitClarificationRoundBodySchema, SubmitClarificationRoundDispositionSchema, SubmitClarificationRoundPayloadSchema, SubmitClarificationRoundResponseSchema, SubmitClarificationRoundResultSchema, } from "./clarifications.js";
|
|
13
13
|
export { GetProjectDocRequestSchema, GetProjectDocResponseSchema, GetProjectDocsResponseSchema, GetReferenceFilesRequestSchema, GetReferenceFilesResponseSchema, GetViewerAssetRequestSchema, GetViewerFileRequestSchema, GetViewerFileResponseSchema, GetViewerTreeRequestSchema, GetViewerTreeResponseSchema, ProjectDocKeySchema, ProjectDocParamsSchema, ProjectDocSummaryProjectionSchema, ReferenceDirectoryProjectionSchema, ReferenceFileProjectionSchema, ReferenceSummaryProjectionSchema, ReferenceTextReadBlockedReasonSchema, RefreshReferenceSummariesBodySchema, RefreshReferenceSummariesDispositionSchema, RefreshReferenceSummariesPayloadSchema, RefreshReferenceSummariesResponseSchema, RefreshReferenceSummariesResultSchema, UploadReferenceFileBodySchema, UploadReferenceFileDispositionSchema, UploadReferenceFilePayloadSchema, UploadReferenceFileResponseSchema, UploadReferenceFileResultSchema, ViewerAssetVariantSchema, ViewerFileContentProjectionSchema, ViewerFileProjectionSchema, ViewerPageSchema, ViewerPathSchema, ViewerRepoSnapshotSchema, ViewerTreeEntryProjectionSchema, ViewerTreeTextReadBlockedReasonSchema, ViewerUnreadableReasonSchema, } from "./viewer-reference.js";
|
|
@@ -5,8 +5,8 @@ export { ProviderUsageBreakdownProjectionSchema, ProviderUsageCategorySchema, Pr
|
|
|
5
5
|
export { ProjectTimelineChangeStatusSchema, ProjectTimelineClarificationTraceSchema, ProjectTimelineDecisionSummarySchema, ProjectTimelineItemKindSchema, ProjectTimelineItemSchema, ProjectTimelineItemStatusSchema, ProjectTimelineResponseSchema, ProjectTimelineSourceSnippetSchema, ProjectTimelineTaskUpdateStateSchema, ProjectTimelineTraceCardSchema, ProjectTimelineTraceLinkSchema, ProjectTimelineTraceToneSchema, } from "./project-timeline.js";
|
|
6
6
|
export { MAX_REFERENCE_STAGED_UPLOAD_BYTES, MAX_SKILL_ZIP_STAGED_UPLOAD_BYTES, MAX_STAGED_UPLOAD_BYTES, PresignedUploadPutSchema, ReferenceFileStartRelayUploadPayloadSchema, ReferenceStagedUploadReferenceProperties, RelayUploadProjectionSchema, RelayUploadPurposeSchema, Sha256DigestSchema, SkillZipStartRelayUploadPayloadSchema, SkillZipStagedUploadReferenceProperties, StagedUploadReferenceProperties, StagedUploadReferenceSchema, StartRelayUploadBodySchema, StartRelayUploadDispositionSchema, StartRelayUploadPayloadSchema, StartRelayUploadResponseSchema, StartRelayUploadResultSchema, maxStagedUploadBytesForPurpose, } from "./uploads.js";
|
|
7
7
|
export { MarkReadBodySchema, MarkReadDispositionSchema, MarkReadPayloadSchema, MarkReadResponseSchema, MarkReadResultSchema, ReadStateScopeProjectionSchema, ReadStateScopeSchema, ReadStateSummaryProjectionSchema, } from "./read-state.js";
|
|
8
|
-
export { GetMessagesRequestSchema, MessageAuthorSchema, MessageCreatedEventPayloadSchema, MessageKindSchema, MessageProjectionSchema, MessageReferenceFileRefSchema, MessageRefsSchema, MessageScopeSchema, MessageWindowSchema, ReferenceFileCategorySchema, SendMainChatMessageBodySchema, SendMainChatMessageCreatedDispositionSchema, SendMainChatMessageDispositionSchema, SendMainChatMessagePayloadSchema, SendMainChatMessageResponseSchema, SendMainChatMessageResultSchema, WorklistFeedbackItemSchema, WorklistFeedbackGeneratedFileSchema, WorklistFeedbackRefSchema, } from "./messages.js";
|
|
9
|
-
export { CheckSkipReasonCodeSchema, ExternalSideEffectSummaryProjectionSchema, GetRecoverySummariesRequestSchema, GetRecoverySummariesResponseSchema, GetRecoverySummaryResponseSchema, RecoverySummaryProjectionSchema, ResultAnchorSchema, RunLineageSchema, RunResultProjectionSchema, ScratchpadProjectionSchema, ScratchpadReceiptProjectionSchema, TaskContractProjectionSchema, TaskDetailProjectionSchema, TaskDetailResultProjectionSchema, TaskModuleProjectionSchema, TaskProjectionSchema, TaskRunResultsPageSchema, TaskStatusSchema, WorklistProjectionSchema, } from "./work-items.js";
|
|
8
|
+
export { GetMessagesRequestSchema, MessageAuthorSchema, MessageCreatedEventPayloadSchema, MessageKindSchema, MessageProjectionSchema, MessageReferenceFileRefSchema, MessageRefsSchema, MessageScopeSchema, MessageWindowSchema, ReferenceFileCategorySchema, SendMainChatMessageBodySchema, SendMainChatMessageCreatedDispositionSchema, SendMainChatMessageDispositionSchema, SendMainChatMessagePayloadSchema, SendMainChatMessageResponseSchema, SendMainChatMessageResultSchema, ArtifactPreviewRefSchema, TaskResultRefSchema, WorklistCompileRefSchema, WorklistFeedbackItemSchema, WorklistFeedbackGeneratedFileSchema, WorklistFeedbackRefSchema, } from "./messages.js";
|
|
9
|
+
export { CheckSkipReasonCodeSchema, ExternalSideEffectSummaryProjectionSchema, GetRecoverySummariesRequestSchema, GetRecoverySummariesResponseSchema, GetRecoverySummaryResponseSchema, RecoverySummaryProjectionSchema, ResultAnchorSchema, RunLineageSchema, RunResultProjectionSchema, ScratchpadProjectionSchema, ScratchpadReceiptProjectionSchema, TaskContractProjectionSchema, TaskDetailProjectionSchema, TaskDetailResultProjectionSchema, TaskModuleProjectionSchema, TaskProjectionSchema, TaskRunResultsPageSchema, TaskStatusSchema, WorklistCompiledTaskSummarySchema, WorklistProjectionSchema, } from "./work-items.js";
|
|
10
10
|
export { ActiveApprovalProjectionSchema, ApprovalCommandProjectionSchema, ApprovalDecisionKindSchema, ApprovalDecisionOptionProjectionSchema, ApprovalDecisionToneSchema, ApprovalFileChangeProjectionSchema, ApprovalPermissionsProjectionSchema, ApprovalRequestKindSchema, ApprovalRequestProjectionSchema, ApprovalResolutionOutcomeSchema, ApprovalResolutionProjectionSchema, DecideApprovalBodySchema, DecideApprovalDispositionSchema, DecideApprovalPayloadSchema, DecideApprovalResponseSchema, DecideApprovalResultSchema, } from "./approvals.js";
|
|
11
11
|
export { ActiveClarificationProjectionSchema, ClarificationChangedEventPayloadSchema, ClarificationOwnerProjectionSchema, ClarificationRequestPayloadSchema, ClarificationRoundProjectionSchema, ClarificationRoundSummaryProjectionSchema, ClarificationSuccessorRefSchema, ClarificationThreadProjectionSchema, ContextRefSchema, GetClarificationRoundMessagesRequestSchema, GetClarificationRoundResponseSchema, GetClarificationThreadResponseSchema, HumanInteractionPayloadSchema, HumanRequestPayloadSchema, SendClarificationRoundMessageBodySchema, SendClarificationRoundMessageDispositionSchema, SendClarificationRoundMessagePayloadSchema, SendClarificationRoundMessageResponseSchema, SendClarificationRoundMessageResultSchema, SubmitClarificationRoundBodySchema, SubmitClarificationRoundDispositionSchema, SubmitClarificationRoundPayloadSchema, SubmitClarificationRoundResponseSchema, SubmitClarificationRoundResultSchema, } from "./clarifications.js";
|
|
12
12
|
export { GetProjectDocRequestSchema, GetProjectDocResponseSchema, GetProjectDocsResponseSchema, GetReferenceFilesRequestSchema, GetReferenceFilesResponseSchema, GetViewerAssetRequestSchema, GetViewerFileRequestSchema, GetViewerFileResponseSchema, GetViewerTreeRequestSchema, GetViewerTreeResponseSchema, ProjectDocKeySchema, ProjectDocParamsSchema, ProjectDocSummaryProjectionSchema, ReferenceDirectoryProjectionSchema, ReferenceFileProjectionSchema, ReferenceSummaryProjectionSchema, ReferenceTextReadBlockedReasonSchema, RefreshReferenceSummariesBodySchema, RefreshReferenceSummariesDispositionSchema, RefreshReferenceSummariesPayloadSchema, RefreshReferenceSummariesResponseSchema, RefreshReferenceSummariesResultSchema, UploadReferenceFileBodySchema, UploadReferenceFileDispositionSchema, UploadReferenceFilePayloadSchema, UploadReferenceFileResponseSchema, UploadReferenceFileResultSchema, ViewerAssetVariantSchema, ViewerFileContentProjectionSchema, ViewerFileProjectionSchema, ViewerPageSchema, ViewerPathSchema, ViewerRepoSnapshotSchema, ViewerTreeEntryProjectionSchema, ViewerTreeTextReadBlockedReasonSchema, ViewerUnreadableReasonSchema, } from "./viewer-reference.js";
|