@xfey/tutti 0.1.94 → 0.1.95
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 -0
- package/dist/collaboration-state/index.js +1 -0
- package/dist/collaboration-state/messages.js +15 -0
- package/dist/collaboration-state/run-recording.js +18 -1
- package/dist/collaboration-state/run-results.js +6 -0
- package/dist/collaboration-state/task-retry.d.ts +16 -0
- package/dist/collaboration-state/task-retry.js +134 -0
- package/dist/control-plane/command-recovery.js +9 -1
- package/dist/control-plane/index.d.ts +3 -2
- package/dist/control-plane/index.js +14 -0
- package/dist/control-plane/run-retry.d.ts +19 -0
- package/dist/control-plane/run-retry.js +103 -0
- package/dist/control-plane/run-start.d.ts +2 -1
- package/dist/control-plane/run-start.js +3 -0
- package/dist/control-plane/types.d.ts +12 -0
- package/dist/control-plane/workflows/openai.d.ts +1 -0
- package/dist/control-plane/workflows/openai.js +86 -15
- package/dist/control-plane/worklist-terminal-feedback.js +3 -0
- package/dist/prompt-templates/index.d.ts +1 -1
- package/dist/prompt-templates/index.js +4 -3
- package/dist/providers/openai/app-server/durable-session-smoke-cli.d.ts +2 -0
- package/dist/providers/openai/app-server/durable-session-smoke-cli.js +229 -0
- package/dist/providers/openai/app-server/read-only-procedure.d.ts +10 -0
- package/dist/providers/openai/app-server/read-only-procedure.js +42 -13
- package/dist/providers/openai/app-server/session-store.d.ts +74 -0
- package/dist/providers/openai/app-server/session-store.js +305 -0
- package/dist/providers/openai/app-server/workspace-write-run.d.ts +17 -4
- package/dist/providers/openai/app-server/workspace-write-run.js +92 -28
- package/dist/providers/openai/codex-app-server.d.ts +1 -0
- package/dist/providers/openai/codex-app-server.js +2 -0
- package/dist/run-pipeline/openai.d.ts +1 -0
- package/dist/run-pipeline/openai.js +15 -43
- package/dist/run-pipeline/task-run-invocation.js +354 -93
- package/dist/server-shell/http/routes/project-api/execution-routes.js +32 -2
- package/dist/server-shell/http/routes/project-api/invalidations.d.ts +2 -1
- package/dist/server-shell/http/routes/project-api/invalidations.js +13 -0
- package/dist/server-shell/http/routes/project-api/openapi-execution-routes.d.ts +21 -0
- package/dist/server-shell/http/routes/project-api/openapi-execution-routes.js +12 -1
- package/dist/server-shell/http/routes/project-api/openapi.d.ts +7 -0
- package/node_modules/@tutti/shared/dist/schemas/api/clarifications.d.ts +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/index.d.ts +1 -1
- package/node_modules/@tutti/shared/dist/schemas/api/index.js +1 -1
- package/node_modules/@tutti/shared/dist/schemas/api/messages.d.ts +5 -0
- package/node_modules/@tutti/shared/dist/schemas/api/messages.js +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/runtime-events.d.ts +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/types.d.ts +4 -1
- package/node_modules/@tutti/shared/dist/schemas/api/viewer-reference.d.ts +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/work-items.d.ts +4 -0
- package/node_modules/@tutti/shared/dist/schemas/api/work-items.js +3 -0
- package/node_modules/@tutti/shared/dist/schemas/api/workspace-commands.d.ts +33 -0
- package/node_modules/@tutti/shared/dist/schemas/api/workspace-commands.js +35 -1
- package/package.json +1 -1
- package/prompts/runs/README.md +11 -16
- package/prompts/runs/task-execute.md +86 -0
- package/prompts/runs/task-finalize.md +11 -0
- package/prompts/runs/task-recovery.md +15 -0
- package/prompts/runs/task-result-contract.md +64 -0
- package/web/assets/{homepage-motion-scene-CLTkixIk.js → homepage-motion-scene-BFo4r4nz.js} +1 -1
- package/web/assets/index-CNIl4TF8.js +69 -0
- package/web/assets/index-quWLFJgD.css +1 -0
- package/web/index.html +2 -2
- package/prompts/runs/task-continuation.md +0 -201
- package/prompts/runs/task-retry.md +0 -209
- package/prompts/runs/task-run.md +0 -188
- package/web/assets/index-BTNYElB-.js +0 -69
- package/web/assets/index-Deu_eF5K.css +0 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { CursorPageRequestSchema, ExecutionStatusProjectionSchema, GetRecoverySummariesRequestSchema, GetRecoverySummariesResponseSchema, GetRecoverySummaryResponseSchema, TaskDetailProjectionSchema, TaskProjectionSchema, TaskRunResultsPageSchema, } from "@tutti/shared/schemas/api";
|
|
1
|
+
import { CursorPageRequestSchema, ExecutionStatusProjectionSchema, GetRecoverySummariesRequestSchema, GetRecoverySummariesResponseSchema, GetRecoverySummaryResponseSchema, TaskDetailProjectionSchema, TaskProjectionSchema, TaskRunResultsPageSchema, RetryTaskBodySchema, RetryTaskResponseSchema, } from "@tutti/shared/schemas/api";
|
|
2
2
|
import { createIdleExecutionStatusProjection, readRecoverySummariesPage, readRecoverySummaryProjection, readTaskDetailProjection, readTaskProjection, readTaskRunResultsPage, } from "../../../../collaboration-state/index.js";
|
|
3
|
+
import { executeIdempotentCommand } from "../../../command-idempotency/index.js";
|
|
3
4
|
import { HOST_PROJECT_API_BASE_PATH } from "./constants.js";
|
|
4
5
|
import { HostProjectNotFoundError } from "./errors.js";
|
|
5
6
|
import { RecoverySummaryParamsSchema, TaskParamsSchema, } from "./schemas.js";
|
|
6
|
-
import { requireHostProjectSession, requireProjectStore, } from "./session-requirements.js";
|
|
7
|
+
import { requireControlPlane, requireHostProjectSession, requireProjectStore, } from "./session-requirements.js";
|
|
8
|
+
import { taskRetryInvalidates } from "./invalidations.js";
|
|
7
9
|
export function registerExecutionRoutes(app, options) {
|
|
8
10
|
app.get(`${HOST_PROJECT_API_BASE_PATH}/tasks/:taskId/detail`, {
|
|
9
11
|
schema: {
|
|
@@ -36,6 +38,34 @@ export function registerExecutionRoutes(app, options) {
|
|
|
36
38
|
}
|
|
37
39
|
return page;
|
|
38
40
|
});
|
|
41
|
+
app.post(`${HOST_PROJECT_API_BASE_PATH}/tasks/:taskId/retry`, {
|
|
42
|
+
schema: {
|
|
43
|
+
params: TaskParamsSchema,
|
|
44
|
+
body: RetryTaskBodySchema,
|
|
45
|
+
response: { 200: RetryTaskResponseSchema },
|
|
46
|
+
},
|
|
47
|
+
}, (request) => {
|
|
48
|
+
requireHostProjectSession(request, options);
|
|
49
|
+
const store = requireProjectStore(options);
|
|
50
|
+
const controlPlane = requireControlPlane(options);
|
|
51
|
+
const execution = executeIdempotentCommand({
|
|
52
|
+
db: store.db,
|
|
53
|
+
command_id: request.body.command_id,
|
|
54
|
+
command_name: "task.retry",
|
|
55
|
+
target_ref: request.body.payload.expected_latest_run_result_id,
|
|
56
|
+
payload: {
|
|
57
|
+
task_id: request.params.taskId,
|
|
58
|
+
...request.body.payload,
|
|
59
|
+
},
|
|
60
|
+
...(options.now === undefined ? {} : { now: options.now }),
|
|
61
|
+
execute: () => controlPlane.retryTask(request.params.taskId, request.body.payload),
|
|
62
|
+
});
|
|
63
|
+
return {
|
|
64
|
+
command_id: execution.command_id,
|
|
65
|
+
disposition: execution.disposition,
|
|
66
|
+
invalidates: taskRetryInvalidates(request.params.taskId),
|
|
67
|
+
};
|
|
68
|
+
});
|
|
39
69
|
app.get(`${HOST_PROJECT_API_BASE_PATH}/recovery-summaries`, {
|
|
40
70
|
schema: {
|
|
41
71
|
querystring: GetRecoverySummariesRequestSchema,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { ClarificationRoundRef } from "@tutti/shared/ids";
|
|
1
|
+
import type { ClarificationRoundRef, TaskId } from "@tutti/shared/ids";
|
|
2
2
|
import type { QueryInvalidationHint, RunSchedulerNowDisposition } from "@tutti/shared/schemas/api";
|
|
3
3
|
export declare function mainChatMessageInvalidates(): QueryInvalidationHint[];
|
|
4
4
|
export declare function worklistSubmitInvalidates(): QueryInvalidationHint[];
|
|
5
5
|
export declare function schedulerRunNowInvalidates(disposition: RunSchedulerNowDisposition): QueryInvalidationHint[];
|
|
6
|
+
export declare function taskRetryInvalidates(taskId: TaskId): QueryInvalidationHint[];
|
|
6
7
|
export declare function clarificationRoundInvalidates(roundId: ClarificationRoundRef): QueryInvalidationHint[];
|
|
7
8
|
export declare function approvalInvalidates(): QueryInvalidationHint[];
|
|
8
9
|
export declare function readStateInvalidates(): QueryInvalidationHint[];
|
|
@@ -31,6 +31,19 @@ export function schedulerRunNowInvalidates(disposition) {
|
|
|
31
31
|
{ kind: "task_run_results", task_id: disposition.task_id },
|
|
32
32
|
];
|
|
33
33
|
}
|
|
34
|
+
export function taskRetryInvalidates(taskId) {
|
|
35
|
+
return [
|
|
36
|
+
{ kind: "worklist" },
|
|
37
|
+
{ kind: "task", task_id: taskId },
|
|
38
|
+
{ kind: "task_detail", task_id: taskId },
|
|
39
|
+
{ kind: "task_run_results", task_id: taskId },
|
|
40
|
+
{ kind: "execution_status" },
|
|
41
|
+
{ kind: "messages", scope: "main_chat" },
|
|
42
|
+
{ kind: "project_timeline" },
|
|
43
|
+
{ kind: "read_state" },
|
|
44
|
+
{ kind: "bootstrap" },
|
|
45
|
+
];
|
|
46
|
+
}
|
|
34
47
|
export function clarificationRoundInvalidates(roundId) {
|
|
35
48
|
return [
|
|
36
49
|
{ kind: "clarification", round_id: roundId },
|
|
@@ -24,6 +24,7 @@ export declare const HOST_PROJECT_EXECUTION_OPENAPI_ROUTES: ({
|
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
querystring?: never;
|
|
27
|
+
requestBody?: never;
|
|
27
28
|
} | {
|
|
28
29
|
method: "get";
|
|
29
30
|
path: string;
|
|
@@ -87,6 +88,7 @@ export declare const HOST_PROJECT_EXECUTION_OPENAPI_ROUTES: ({
|
|
|
87
88
|
}>>;
|
|
88
89
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
89
90
|
retryable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
91
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
90
92
|
updated_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
91
93
|
}>;
|
|
92
94
|
frozen_contract_since_activity_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
@@ -96,6 +98,7 @@ export declare const HOST_PROJECT_EXECUTION_OPENAPI_ROUTES: ({
|
|
|
96
98
|
};
|
|
97
99
|
};
|
|
98
100
|
querystring?: never;
|
|
101
|
+
requestBody?: never;
|
|
99
102
|
} | {
|
|
100
103
|
method: "get";
|
|
101
104
|
path: string;
|
|
@@ -112,6 +115,21 @@ export declare const HOST_PROJECT_EXECUTION_OPENAPI_ROUTES: ({
|
|
|
112
115
|
schema: import("@sinclair/typebox").TSchema;
|
|
113
116
|
};
|
|
114
117
|
};
|
|
118
|
+
requestBody?: never;
|
|
119
|
+
} | {
|
|
120
|
+
method: "post";
|
|
121
|
+
path: string;
|
|
122
|
+
summary: string;
|
|
123
|
+
tags: string[];
|
|
124
|
+
parameters: import("@tutti/shared/schemas/api").BrowserFacingOpenApiParameter[];
|
|
125
|
+
requestBody: import("@sinclair/typebox").TSchema;
|
|
126
|
+
responses: {
|
|
127
|
+
200: {
|
|
128
|
+
description: string;
|
|
129
|
+
schema: import("@sinclair/typebox").TSchema;
|
|
130
|
+
};
|
|
131
|
+
};
|
|
132
|
+
querystring?: never;
|
|
115
133
|
} | {
|
|
116
134
|
method: "get";
|
|
117
135
|
path: string;
|
|
@@ -128,6 +146,7 @@ export declare const HOST_PROJECT_EXECUTION_OPENAPI_ROUTES: ({
|
|
|
128
146
|
};
|
|
129
147
|
};
|
|
130
148
|
parameters?: never;
|
|
149
|
+
requestBody?: never;
|
|
131
150
|
} | {
|
|
132
151
|
method: "get";
|
|
133
152
|
path: string;
|
|
@@ -149,6 +168,7 @@ export declare const HOST_PROJECT_EXECUTION_OPENAPI_ROUTES: ({
|
|
|
149
168
|
};
|
|
150
169
|
};
|
|
151
170
|
querystring?: never;
|
|
171
|
+
requestBody?: never;
|
|
152
172
|
} | {
|
|
153
173
|
method: "get";
|
|
154
174
|
path: string;
|
|
@@ -228,5 +248,6 @@ export declare const HOST_PROJECT_EXECUTION_OPENAPI_ROUTES: ({
|
|
|
228
248
|
};
|
|
229
249
|
parameters?: never;
|
|
230
250
|
querystring?: never;
|
|
251
|
+
requestBody?: never;
|
|
231
252
|
})[];
|
|
232
253
|
//# sourceMappingURL=openapi-execution-routes.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CursorPageRequestSchema, ExecutionStatusProjectionSchema, GetRecoverySummariesRequestSchema, GetRecoverySummariesResponseSchema, GetRecoverySummaryResponseSchema, TaskDetailProjectionSchema, TaskProjectionSchema, TaskRunResultsPageSchema, } from "@tutti/shared/schemas/api";
|
|
1
|
+
import { CursorPageRequestSchema, ExecutionStatusProjectionSchema, GetRecoverySummariesRequestSchema, GetRecoverySummariesResponseSchema, GetRecoverySummaryResponseSchema, RetryTaskBodySchema, RetryTaskResponseSchema, TaskDetailProjectionSchema, TaskProjectionSchema, TaskRunResultsPageSchema, } from "@tutti/shared/schemas/api";
|
|
2
2
|
import { HOST_PROJECT_API_BASE_PATH } from "./constants.js";
|
|
3
3
|
import { RecoverySummaryIdPathParameter, TaskIdPathParameter, } from "./openapi-path-parameters.js";
|
|
4
4
|
export const HOST_PROJECT_EXECUTION_OPENAPI_ROUTES = [
|
|
@@ -33,6 +33,17 @@ export const HOST_PROJECT_EXECUTION_OPENAPI_ROUTES = [
|
|
|
33
33
|
200: { description: "Task run result history page.", schema: TaskRunResultsPageSchema },
|
|
34
34
|
},
|
|
35
35
|
},
|
|
36
|
+
{
|
|
37
|
+
method: "post",
|
|
38
|
+
path: `${HOST_PROJECT_API_BASE_PATH}/tasks/{task_id}/retry`,
|
|
39
|
+
summary: "Retry the latest safely recoverable terminal failed task result.",
|
|
40
|
+
tags: ["tasks"],
|
|
41
|
+
parameters: [TaskIdPathParameter],
|
|
42
|
+
requestBody: RetryTaskBodySchema,
|
|
43
|
+
responses: {
|
|
44
|
+
200: { description: "Task Retry command response.", schema: RetryTaskResponseSchema },
|
|
45
|
+
},
|
|
46
|
+
},
|
|
36
47
|
{
|
|
37
48
|
method: "get",
|
|
38
49
|
path: `${HOST_PROJECT_API_BASE_PATH}/recovery-summaries`,
|
|
@@ -653,6 +653,7 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
653
653
|
};
|
|
654
654
|
};
|
|
655
655
|
querystring?: never;
|
|
656
|
+
requestBody?: never;
|
|
656
657
|
} | {
|
|
657
658
|
method: "get";
|
|
658
659
|
path: string;
|
|
@@ -716,6 +717,7 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
716
717
|
}>>;
|
|
717
718
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
718
719
|
retryable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
720
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
719
721
|
updated_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
720
722
|
}>;
|
|
721
723
|
frozen_contract_since_activity_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
@@ -725,6 +727,7 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
725
727
|
};
|
|
726
728
|
};
|
|
727
729
|
querystring?: never;
|
|
730
|
+
requestBody?: never;
|
|
728
731
|
} | {
|
|
729
732
|
method: "get";
|
|
730
733
|
path: string;
|
|
@@ -741,6 +744,7 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
741
744
|
schema: import("@sinclair/typebox").TSchema;
|
|
742
745
|
};
|
|
743
746
|
};
|
|
747
|
+
requestBody?: never;
|
|
744
748
|
} | {
|
|
745
749
|
method: "get";
|
|
746
750
|
path: string;
|
|
@@ -757,6 +761,7 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
757
761
|
};
|
|
758
762
|
};
|
|
759
763
|
parameters?: never;
|
|
764
|
+
requestBody?: never;
|
|
760
765
|
} | {
|
|
761
766
|
method: "get";
|
|
762
767
|
path: string;
|
|
@@ -778,6 +783,7 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
778
783
|
};
|
|
779
784
|
};
|
|
780
785
|
querystring?: never;
|
|
786
|
+
requestBody?: never;
|
|
781
787
|
} | {
|
|
782
788
|
method: "get";
|
|
783
789
|
path: string;
|
|
@@ -857,6 +863,7 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
857
863
|
};
|
|
858
864
|
parameters?: never;
|
|
859
865
|
querystring?: never;
|
|
866
|
+
requestBody?: never;
|
|
860
867
|
} | {
|
|
861
868
|
method: "get";
|
|
862
869
|
path: string;
|
|
@@ -589,6 +589,7 @@ export declare const SendClarificationRoundMessageResultSchema: import("@sinclai
|
|
|
589
589
|
media_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
590
590
|
}>>>;
|
|
591
591
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
592
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
592
593
|
}>>;
|
|
593
594
|
artifact_preview: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
594
595
|
kind: import("@sinclair/typebox").TLiteral<"artifact_preview">;
|
|
@@ -16,5 +16,5 @@ export { GetProjectDocRequestSchema, GetProjectDocResponseSchema, GetProjectDocs
|
|
|
16
16
|
export { ArtifactKindSchema, ArtifactManifestSchema, ArtifactPreviewProjectionSchema, ArtifactPreviewStatusSchema, ArtifactServerManifestSchema, ArtifactStaticManifestSchema, ArtifactSummaryProjectionSchema, ArtifactTitleSchema, ArtifactProjectionSchema, GetArtifactsResponseSchema, IssueArtifactPreviewSessionBodySchema, IssueArtifactPreviewSessionDispositionSchema, IssueArtifactPreviewSessionPayloadSchema, IssueArtifactPreviewSessionResponseSchema, IssueArtifactPreviewSessionResultSchema, } from "./artifacts.js";
|
|
17
17
|
export { DeleteSkillBodySchema, DeleteSkillDispositionSchema, DeleteSkillPayloadSchema, DeleteSkillResponseSchema, GetSkillParamsSchema, GetSkillResponseSchema, GetSkillsResponseSchema, ImportSkillZipBodySchema, ImportSkillZipDispositionSchema, ImportSkillZipPayloadSchema, ImportSkillZipResponseSchema, ImportSkillZipResultSchema, SkillDetailProjectionSchema, SkillNameSchema, SkillProjectionSchema, } from "./skills.js";
|
|
18
18
|
export { ActivityEventProjectionSchema, ActivityEventSsePayloadSchema, ApprovalChangedEventPayloadSchema, ActivityProjectionSchema, ConnectionReadyEventPayloadSchema, ExecutionActivitySummarySchema, ExecutionStatusChangedEventPayloadSchema, ExecutionStatusKindSchema, ExecutionStatusProjectionSchema, ProcedureLaneSchema, ProviderConfigChangedEventPayloadSchema, QueryInvalidateEventPayloadSchema, ScratchpadUpdatedEventPayloadSchema, TaskDetailUpdatedEventPayloadSchema, TaskUpdatedEventPayloadSchema, WorklistChangedEventPayloadSchema, WorkspaceRecoveredEventPayloadSchema, } from "./runtime-events.js";
|
|
19
|
-
export { ContextSyncBodySchema, ContextSyncDispositionSchema, ContextSyncPayloadSchema, ContextSyncResponseSchema, ContextSyncResultSchema, InitializeProjectDocsBodySchema, InitializeProjectDocsDispositionSchema, InitializeProjectDocsPayloadSchema, InitializeProjectDocsResponseSchema, InitializeProjectDocsResultSchema, ProjectDocsProcedureStartResultSchema, RefreshScratchpadDispositionSchema, RefreshScratchpadResultSchema, RunSchedulerNowBodySchema, RunSchedulerNowDispositionSchema, RunSchedulerNowPayloadSchema, RunSchedulerNowResponseSchema, SubmitWorklistBodySchema, SubmitWorklistDispositionSchema, SubmitWorklistPayloadSchema, SubmitWorklistResponseSchema, SubmitWorklistResultSchema, UpdateProjectDescriptionBodySchema, UpdateProjectDescriptionDispositionSchema, UpdateProjectDescriptionPayloadSchema, UpdateProjectDescriptionResponseSchema, UpdateProjectDescriptionResultSchema, UpdateProjectDisplayNameBodySchema, UpdateProjectDisplayNameDispositionSchema, UpdateProjectDisplayNamePayloadSchema, UpdateProjectDisplayNameResponseSchema, UpdateProjectDisplayNameResultSchema, } from "./workspace-commands.js";
|
|
19
|
+
export { ContextSyncBodySchema, ContextSyncDispositionSchema, ContextSyncPayloadSchema, ContextSyncResponseSchema, ContextSyncResultSchema, InitializeProjectDocsBodySchema, InitializeProjectDocsDispositionSchema, InitializeProjectDocsPayloadSchema, InitializeProjectDocsResponseSchema, InitializeProjectDocsResultSchema, ProjectDocsProcedureStartResultSchema, RefreshScratchpadDispositionSchema, RefreshScratchpadResultSchema, RunSchedulerNowBodySchema, RunSchedulerNowDispositionSchema, RunSchedulerNowPayloadSchema, RunSchedulerNowResponseSchema, RetryTaskBodySchema, RetryTaskDispositionSchema, RetryTaskPayloadSchema, RetryTaskResponseSchema, SubmitWorklistBodySchema, SubmitWorklistDispositionSchema, SubmitWorklistPayloadSchema, SubmitWorklistResponseSchema, SubmitWorklistResultSchema, UpdateProjectDescriptionBodySchema, UpdateProjectDescriptionDispositionSchema, UpdateProjectDescriptionPayloadSchema, UpdateProjectDescriptionResponseSchema, UpdateProjectDescriptionResultSchema, UpdateProjectDisplayNameBodySchema, UpdateProjectDisplayNameDispositionSchema, UpdateProjectDisplayNamePayloadSchema, UpdateProjectDisplayNameResponseSchema, UpdateProjectDisplayNameResultSchema, } from "./workspace-commands.js";
|
|
20
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -14,5 +14,5 @@ export { GetProjectDocRequestSchema, GetProjectDocResponseSchema, GetProjectDocs
|
|
|
14
14
|
export { ArtifactKindSchema, ArtifactManifestSchema, ArtifactPreviewProjectionSchema, ArtifactPreviewStatusSchema, ArtifactServerManifestSchema, ArtifactStaticManifestSchema, ArtifactSummaryProjectionSchema, ArtifactTitleSchema, ArtifactProjectionSchema, GetArtifactsResponseSchema, IssueArtifactPreviewSessionBodySchema, IssueArtifactPreviewSessionDispositionSchema, IssueArtifactPreviewSessionPayloadSchema, IssueArtifactPreviewSessionResponseSchema, IssueArtifactPreviewSessionResultSchema, } from "./artifacts.js";
|
|
15
15
|
export { DeleteSkillBodySchema, DeleteSkillDispositionSchema, DeleteSkillPayloadSchema, DeleteSkillResponseSchema, GetSkillParamsSchema, GetSkillResponseSchema, GetSkillsResponseSchema, ImportSkillZipBodySchema, ImportSkillZipDispositionSchema, ImportSkillZipPayloadSchema, ImportSkillZipResponseSchema, ImportSkillZipResultSchema, SkillDetailProjectionSchema, SkillNameSchema, SkillProjectionSchema, } from "./skills.js";
|
|
16
16
|
export { ActivityEventProjectionSchema, ActivityEventSsePayloadSchema, ApprovalChangedEventPayloadSchema, ActivityProjectionSchema, ConnectionReadyEventPayloadSchema, ExecutionActivitySummarySchema, ExecutionStatusChangedEventPayloadSchema, ExecutionStatusKindSchema, ExecutionStatusProjectionSchema, ProcedureLaneSchema, ProviderConfigChangedEventPayloadSchema, QueryInvalidateEventPayloadSchema, ScratchpadUpdatedEventPayloadSchema, TaskDetailUpdatedEventPayloadSchema, TaskUpdatedEventPayloadSchema, WorklistChangedEventPayloadSchema, WorkspaceRecoveredEventPayloadSchema, } from "./runtime-events.js";
|
|
17
|
-
export { ContextSyncBodySchema, ContextSyncDispositionSchema, ContextSyncPayloadSchema, ContextSyncResponseSchema, ContextSyncResultSchema, InitializeProjectDocsBodySchema, InitializeProjectDocsDispositionSchema, InitializeProjectDocsPayloadSchema, InitializeProjectDocsResponseSchema, InitializeProjectDocsResultSchema, ProjectDocsProcedureStartResultSchema, RefreshScratchpadDispositionSchema, RefreshScratchpadResultSchema, RunSchedulerNowBodySchema, RunSchedulerNowDispositionSchema, RunSchedulerNowPayloadSchema, RunSchedulerNowResponseSchema, SubmitWorklistBodySchema, SubmitWorklistDispositionSchema, SubmitWorklistPayloadSchema, SubmitWorklistResponseSchema, SubmitWorklistResultSchema, UpdateProjectDescriptionBodySchema, UpdateProjectDescriptionDispositionSchema, UpdateProjectDescriptionPayloadSchema, UpdateProjectDescriptionResponseSchema, UpdateProjectDescriptionResultSchema, UpdateProjectDisplayNameBodySchema, UpdateProjectDisplayNameDispositionSchema, UpdateProjectDisplayNamePayloadSchema, UpdateProjectDisplayNameResponseSchema, UpdateProjectDisplayNameResultSchema, } from "./workspace-commands.js";
|
|
17
|
+
export { ContextSyncBodySchema, ContextSyncDispositionSchema, ContextSyncPayloadSchema, ContextSyncResponseSchema, ContextSyncResultSchema, InitializeProjectDocsBodySchema, InitializeProjectDocsDispositionSchema, InitializeProjectDocsPayloadSchema, InitializeProjectDocsResponseSchema, InitializeProjectDocsResultSchema, ProjectDocsProcedureStartResultSchema, RefreshScratchpadDispositionSchema, RefreshScratchpadResultSchema, RunSchedulerNowBodySchema, RunSchedulerNowDispositionSchema, RunSchedulerNowPayloadSchema, RunSchedulerNowResponseSchema, RetryTaskBodySchema, RetryTaskDispositionSchema, RetryTaskPayloadSchema, RetryTaskResponseSchema, SubmitWorklistBodySchema, SubmitWorklistDispositionSchema, SubmitWorklistPayloadSchema, SubmitWorklistResponseSchema, SubmitWorklistResultSchema, UpdateProjectDescriptionBodySchema, UpdateProjectDescriptionDispositionSchema, UpdateProjectDescriptionPayloadSchema, UpdateProjectDescriptionResponseSchema, UpdateProjectDescriptionResultSchema, UpdateProjectDisplayNameBodySchema, UpdateProjectDisplayNameDispositionSchema, UpdateProjectDisplayNamePayloadSchema, UpdateProjectDisplayNameResponseSchema, UpdateProjectDisplayNameResultSchema, } from "./workspace-commands.js";
|
|
18
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -109,6 +109,7 @@ export declare const TaskResultRefSchema: import("@sinclair/typebox").TObject<{
|
|
|
109
109
|
media_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
110
110
|
}>>>;
|
|
111
111
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
112
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
112
113
|
}>;
|
|
113
114
|
export declare const WorklistCompileRefSchema: import("@sinclair/typebox").TObject<{
|
|
114
115
|
kind: import("@sinclair/typebox").TLiteral<"worklist_compile">;
|
|
@@ -214,6 +215,7 @@ export declare const MessageRefsSchema: import("@sinclair/typebox").TObject<{
|
|
|
214
215
|
media_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
215
216
|
}>>>;
|
|
216
217
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
218
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
217
219
|
}>>;
|
|
218
220
|
artifact_preview: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
219
221
|
kind: import("@sinclair/typebox").TLiteral<"artifact_preview">;
|
|
@@ -331,6 +333,7 @@ export declare const MessageProjectionSchema: import("@sinclair/typebox").TObjec
|
|
|
331
333
|
media_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
332
334
|
}>>>;
|
|
333
335
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
336
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
334
337
|
}>>;
|
|
335
338
|
artifact_preview: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
336
339
|
kind: import("@sinclair/typebox").TLiteral<"artifact_preview">;
|
|
@@ -472,6 +475,7 @@ export declare const SendMainChatMessageResultSchema: import("@sinclair/typebox"
|
|
|
472
475
|
media_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
473
476
|
}>>>;
|
|
474
477
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
478
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
475
479
|
}>>;
|
|
476
480
|
artifact_preview: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
477
481
|
kind: import("@sinclair/typebox").TLiteral<"artifact_preview">;
|
|
@@ -610,6 +614,7 @@ export declare const MessageCreatedEventPayloadSchema: import("@sinclair/typebox
|
|
|
610
614
|
media_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
611
615
|
}>>>;
|
|
612
616
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
617
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
613
618
|
}>>;
|
|
614
619
|
artifact_preview: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
615
620
|
kind: import("@sinclair/typebox").TLiteral<"artifact_preview">;
|
|
@@ -106,6 +106,7 @@ export const TaskResultRefSchema = Type.Object({
|
|
|
106
106
|
final_note: Type.Optional(Type.String()),
|
|
107
107
|
generated_files: Type.Optional(Type.Array(WorklistFeedbackGeneratedFileSchema)),
|
|
108
108
|
error_code: Type.Optional(NonEmptyStringSchema),
|
|
109
|
+
retry_action: Type.Optional(Type.Union([Type.Literal("retryable"), Type.Literal("retried")])),
|
|
109
110
|
}, { additionalProperties: false });
|
|
110
111
|
export const WorklistCompileRefSchema = Type.Object({
|
|
111
112
|
kind: Type.Literal("worklist_compile"),
|
|
@@ -490,6 +490,7 @@ export declare const TaskDetailUpdatedEventPayloadSchema: import("@sinclair/type
|
|
|
490
490
|
}>>;
|
|
491
491
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
492
492
|
retryable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
493
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
493
494
|
updated_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
494
495
|
}>;
|
|
495
496
|
frozen_contract_since_activity_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
@@ -14,7 +14,7 @@ import type { GetProjectDocRequestSchema, GetProjectDocResponseSchema, GetProjec
|
|
|
14
14
|
import type { ArtifactKindSchema, ArtifactManifestSchema, ArtifactPreviewProjectionSchema, ArtifactPreviewStatusSchema, ArtifactProjectionSchema, ArtifactServerManifestSchema, ArtifactStaticManifestSchema, ArtifactSummaryProjectionSchema, GetArtifactsResponseSchema, IssueArtifactPreviewSessionDispositionSchema, IssueArtifactPreviewSessionPayloadSchema, IssueArtifactPreviewSessionResultSchema } from "./artifacts.js";
|
|
15
15
|
import type { DeleteSkillDispositionSchema, DeleteSkillPayloadSchema, GetSkillParamsSchema, GetSkillResponseSchema, GetSkillsResponseSchema, ImportSkillZipDispositionSchema, ImportSkillZipPayloadSchema, ImportSkillZipResultSchema, SkillDetailProjectionSchema, SkillNameSchema, SkillProjectionSchema } from "./skills.js";
|
|
16
16
|
import type { ActivityEventProjectionSchema, ActivityEventSsePayloadSchema, ApprovalChangedEventPayloadSchema, ActivityProjectionSchema, ConnectionReadyEventPayloadSchema, ExecutionActivitySummarySchema, ExecutionRuntimeActionSchema, ExecutionRuntimeSnapshotSchema, ExecutionRuntimeTokenUsageSchema, ExecutionStatusChangedEventPayloadSchema, ExecutionStatusKindSchema, ExecutionStatusProjectionSchema, ProcedureLaneSchema, ProviderConfigChangedEventPayloadSchema, QueryInvalidateEventPayloadSchema, ScratchpadUpdatedEventPayloadSchema, TaskDetailUpdatedEventPayloadSchema, TaskUpdatedEventPayloadSchema, WorklistChangedEventPayloadSchema, WorkspaceRecoveredEventPayloadSchema } from "./runtime-events.js";
|
|
17
|
-
import type { ContextSyncDispositionSchema, ContextSyncPayloadSchema, ContextSyncResultSchema, InitializeProjectDocsDispositionSchema, InitializeProjectDocsPayloadSchema, InitializeProjectDocsResultSchema, RefreshScratchpadDispositionSchema, RefreshScratchpadResultSchema, RunSchedulerNowDispositionSchema, RunSchedulerNowPayloadSchema, SubmitWorklistDispositionSchema, SubmitWorklistPayloadSchema, SubmitWorklistResultSchema, UpdateProjectDescriptionDispositionSchema, UpdateProjectDescriptionPayloadSchema, UpdateProjectDescriptionResultSchema, UpdateProjectDisplayNameDispositionSchema, UpdateProjectDisplayNamePayloadSchema, UpdateProjectDisplayNameResultSchema } from "./workspace-commands.js";
|
|
17
|
+
import type { ContextSyncDispositionSchema, ContextSyncPayloadSchema, ContextSyncResultSchema, InitializeProjectDocsDispositionSchema, InitializeProjectDocsPayloadSchema, InitializeProjectDocsResultSchema, RefreshScratchpadDispositionSchema, RefreshScratchpadResultSchema, RunSchedulerNowDispositionSchema, RunSchedulerNowPayloadSchema, RetryTaskDispositionSchema, RetryTaskPayloadSchema, SubmitWorklistDispositionSchema, SubmitWorklistPayloadSchema, SubmitWorklistResultSchema, UpdateProjectDescriptionDispositionSchema, UpdateProjectDescriptionPayloadSchema, UpdateProjectDescriptionResultSchema, UpdateProjectDisplayNameDispositionSchema, UpdateProjectDisplayNamePayloadSchema, UpdateProjectDisplayNameResultSchema } from "./workspace-commands.js";
|
|
18
18
|
export type CursorPageRequest = Static<typeof CursorPageRequestSchema>;
|
|
19
19
|
export type CursorPage<TItem> = {
|
|
20
20
|
items: TItem[];
|
|
@@ -225,6 +225,9 @@ export type IssueArtifactPreviewSessionResponse = CommandResponse<IssueArtifactP
|
|
|
225
225
|
export type RunSchedulerNowPayload = Static<typeof RunSchedulerNowPayloadSchema>;
|
|
226
226
|
export type RunSchedulerNowDisposition = Static<typeof RunSchedulerNowDispositionSchema>;
|
|
227
227
|
export type RunSchedulerNowResponse = CommandResponse<RunSchedulerNowDisposition>;
|
|
228
|
+
export type RetryTaskPayload = Static<typeof RetryTaskPayloadSchema>;
|
|
229
|
+
export type RetryTaskDisposition = Static<typeof RetryTaskDispositionSchema>;
|
|
230
|
+
export type RetryTaskResponse = CommandResponse<RetryTaskDisposition>;
|
|
228
231
|
export type UpdateProjectDisplayNamePayload = Static<typeof UpdateProjectDisplayNamePayloadSchema>;
|
|
229
232
|
export type UpdateProjectDisplayNameDisposition = Static<typeof UpdateProjectDisplayNameDispositionSchema>;
|
|
230
233
|
export type UpdateProjectDisplayNameResult = Static<typeof UpdateProjectDisplayNameResultSchema>;
|
|
@@ -487,6 +487,7 @@ export declare const UploadReferenceFileResultSchema: import("@sinclair/typebox"
|
|
|
487
487
|
media_type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
488
488
|
}>>>;
|
|
489
489
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
490
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
490
491
|
}>>;
|
|
491
492
|
artifact_preview: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
492
493
|
kind: import("@sinclair/typebox").TLiteral<"artifact_preview">;
|
|
@@ -171,6 +171,7 @@ export declare const TaskDetailResultProjectionSchema: import("@sinclair/typebox
|
|
|
171
171
|
}>>;
|
|
172
172
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
173
173
|
retryable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
174
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
174
175
|
updated_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
175
176
|
}>;
|
|
176
177
|
export declare const TaskDetailProjectionSchema: import("@sinclair/typebox").TObject<{
|
|
@@ -227,6 +228,7 @@ export declare const TaskDetailProjectionSchema: import("@sinclair/typebox").TOb
|
|
|
227
228
|
}>>;
|
|
228
229
|
error_code: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
229
230
|
retryable: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TBoolean>;
|
|
231
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
230
232
|
updated_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
231
233
|
}>;
|
|
232
234
|
frozen_contract_since_activity_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
@@ -272,6 +274,7 @@ export declare const RunResultProjectionSchema: import("@sinclair/typebox").TUni
|
|
|
272
274
|
started_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
273
275
|
finished_at: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
274
276
|
}>>>;
|
|
277
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
275
278
|
created_at: import("@sinclair/typebox").TString;
|
|
276
279
|
}>, import("@sinclair/typebox").TObject<{
|
|
277
280
|
id: import("@sinclair/typebox").TString;
|
|
@@ -287,6 +290,7 @@ export declare const RunResultProjectionSchema: import("@sinclair/typebox").TUni
|
|
|
287
290
|
summary: import("@sinclair/typebox").TString;
|
|
288
291
|
error_code: import("@sinclair/typebox").TString;
|
|
289
292
|
retryable: import("@sinclair/typebox").TBoolean;
|
|
293
|
+
retry_action: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"retryable">, import("@sinclair/typebox").TLiteral<"retried">]>>;
|
|
290
294
|
created_at: import("@sinclair/typebox").TString;
|
|
291
295
|
}>]>;
|
|
292
296
|
export declare const TaskRunResultsPageSchema: import("@sinclair/typebox").TSchema;
|
|
@@ -149,6 +149,7 @@ export const TaskDetailResultProjectionSchema = Type.Object({
|
|
|
149
149
|
}, { additionalProperties: false })),
|
|
150
150
|
error_code: Type.Optional(NonEmptyStringSchema),
|
|
151
151
|
retryable: Type.Optional(Type.Boolean()),
|
|
152
|
+
retry_action: Type.Optional(Type.Union([Type.Literal("retryable"), Type.Literal("retried")])),
|
|
152
153
|
updated_at: Type.Optional(IsoDateTimeStringSchema),
|
|
153
154
|
}, { additionalProperties: false });
|
|
154
155
|
export const TaskDetailProjectionSchema = Type.Object({
|
|
@@ -191,6 +192,7 @@ export const RunResultProjectionSchema = Type.Union([
|
|
|
191
192
|
skip_reason_code: Type.Optional(CheckSkipReasonCodeSchema),
|
|
192
193
|
skip_reason_summary: Type.Optional(Type.String()),
|
|
193
194
|
external_side_effects: Type.Optional(Type.Array(ExternalSideEffectSummaryProjectionSchema)),
|
|
195
|
+
retry_action: Type.Optional(Type.Union([Type.Literal("retryable"), Type.Literal("retried")])),
|
|
194
196
|
created_at: IsoDateTimeStringSchema,
|
|
195
197
|
}, { additionalProperties: false }),
|
|
196
198
|
Type.Object({
|
|
@@ -202,6 +204,7 @@ export const RunResultProjectionSchema = Type.Union([
|
|
|
202
204
|
summary: Type.String(),
|
|
203
205
|
error_code: NonEmptyStringSchema,
|
|
204
206
|
retryable: Type.Boolean(),
|
|
207
|
+
retry_action: Type.Optional(Type.Union([Type.Literal("retryable"), Type.Literal("retried")])),
|
|
205
208
|
created_at: IsoDateTimeStringSchema,
|
|
206
209
|
}, { additionalProperties: false }),
|
|
207
210
|
]);
|
|
@@ -145,6 +145,39 @@ export declare const RunSchedulerNowDispositionSchema: import("@sinclair/typebox
|
|
|
145
145
|
}>]>;
|
|
146
146
|
export declare const RunSchedulerNowBodySchema: import("@sinclair/typebox").TSchema;
|
|
147
147
|
export declare const RunSchedulerNowResponseSchema: import("@sinclair/typebox").TSchema;
|
|
148
|
+
export declare const RetryTaskPayloadSchema: import("@sinclair/typebox").TObject<{
|
|
149
|
+
expected_latest_run_result_id: import("@sinclair/typebox").TString;
|
|
150
|
+
}>;
|
|
151
|
+
export declare const RetryTaskDispositionSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
152
|
+
kind: import("@sinclair/typebox").TLiteral<"accepted">;
|
|
153
|
+
task_id: import("@sinclair/typebox").TString;
|
|
154
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
155
|
+
retried_run_result_id: import("@sinclair/typebox").TString;
|
|
156
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
157
|
+
kind: import("@sinclair/typebox").TLiteral<"already_running">;
|
|
158
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
159
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
160
|
+
kind: import("@sinclair/typebox").TLiteral<"task_not_failed">;
|
|
161
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
162
|
+
kind: import("@sinclair/typebox").TLiteral<"latest_run_result_changed">;
|
|
163
|
+
latest_run_result_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
164
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
165
|
+
kind: import("@sinclair/typebox").TLiteral<"retry_already_started">;
|
|
166
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
167
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
168
|
+
kind: import("@sinclair/typebox").TLiteral<"retry_requires_resolution">;
|
|
169
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
170
|
+
kind: import("@sinclair/typebox").TLiteral<"provider_not_configured">;
|
|
171
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
172
|
+
kind: import("@sinclair/typebox").TLiteral<"provider_unavailable">;
|
|
173
|
+
reason: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"provider_auth_invalid">, import("@sinclair/typebox").TLiteral<"provider_quota_or_billing_required">, import("@sinclair/typebox").TLiteral<"provider_rate_limited">, import("@sinclair/typebox").TLiteral<"provider_model_unavailable">, import("@sinclair/typebox").TLiteral<"provider_network_error">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
174
|
+
retryable: import("@sinclair/typebox").TBoolean;
|
|
175
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
176
|
+
kind: import("@sinclair/typebox").TLiteral<"interrupted">;
|
|
177
|
+
retry_with_new_command_id: import("@sinclair/typebox").TLiteral<true>;
|
|
178
|
+
}>]>;
|
|
179
|
+
export declare const RetryTaskBodySchema: import("@sinclair/typebox").TSchema;
|
|
180
|
+
export declare const RetryTaskResponseSchema: import("@sinclair/typebox").TSchema;
|
|
148
181
|
export declare const UpdateProjectDisplayNamePayloadSchema: import("@sinclair/typebox").TObject<{
|
|
149
182
|
display_name: import("@sinclair/typebox").TString;
|
|
150
183
|
}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Type } from "@sinclair/typebox";
|
|
2
|
-
import { ActivityRefSchema, ClarificationRoundRefSchema, ClarificationThreadRefSchema, IsoDateTimeStringSchema, TaskIdSchema, WorkflowInvocationRefSchema, } from "../domain/index.js";
|
|
2
|
+
import { ActivityRefSchema, ClarificationRoundRefSchema, ClarificationThreadRefSchema, IsoDateTimeStringSchema, TaskIdSchema, RunResultIdSchema, WorkflowInvocationRefSchema, } from "../domain/index.js";
|
|
3
3
|
import { ProviderUnavailableReasonCodeSchema } from "./provider-config.js";
|
|
4
4
|
import { InterruptedCommandDispositionSchema, NonEmptyStringSchema, commandEnvelopeSchema, commandResponseSchema, commandResponseWithResultSchema, } from "./primitives.js";
|
|
5
5
|
import { ProjectDocSummaryProjectionSchema, ViewerPathSchema, } from "./viewer-reference.js";
|
|
@@ -84,6 +84,40 @@ export const RunSchedulerNowDispositionSchema = Type.Union([
|
|
|
84
84
|
]);
|
|
85
85
|
export const RunSchedulerNowBodySchema = commandEnvelopeSchema(RunSchedulerNowPayloadSchema);
|
|
86
86
|
export const RunSchedulerNowResponseSchema = commandResponseSchema(RunSchedulerNowDispositionSchema);
|
|
87
|
+
export const RetryTaskPayloadSchema = Type.Object({
|
|
88
|
+
expected_latest_run_result_id: RunResultIdSchema,
|
|
89
|
+
}, { additionalProperties: false });
|
|
90
|
+
export const RetryTaskDispositionSchema = Type.Union([
|
|
91
|
+
Type.Object({
|
|
92
|
+
kind: Type.Literal("accepted"),
|
|
93
|
+
task_id: TaskIdSchema,
|
|
94
|
+
activity_ref: ActivityRefSchema,
|
|
95
|
+
retried_run_result_id: RunResultIdSchema,
|
|
96
|
+
}, { additionalProperties: false }),
|
|
97
|
+
Type.Object({
|
|
98
|
+
kind: Type.Literal("already_running"),
|
|
99
|
+
activity_ref: ActivityRefSchema,
|
|
100
|
+
}, { additionalProperties: false }),
|
|
101
|
+
Type.Object({ kind: Type.Literal("task_not_failed") }, { additionalProperties: false }),
|
|
102
|
+
Type.Object({
|
|
103
|
+
kind: Type.Literal("latest_run_result_changed"),
|
|
104
|
+
latest_run_result_id: Type.Optional(RunResultIdSchema),
|
|
105
|
+
}, { additionalProperties: false }),
|
|
106
|
+
Type.Object({
|
|
107
|
+
kind: Type.Literal("retry_already_started"),
|
|
108
|
+
activity_ref: ActivityRefSchema,
|
|
109
|
+
}, { additionalProperties: false }),
|
|
110
|
+
Type.Object({ kind: Type.Literal("retry_requires_resolution") }, { additionalProperties: false }),
|
|
111
|
+
Type.Object({ kind: Type.Literal("provider_not_configured") }, { additionalProperties: false }),
|
|
112
|
+
Type.Object({
|
|
113
|
+
kind: Type.Literal("provider_unavailable"),
|
|
114
|
+
reason: ProviderUnavailableReasonCodeSchema,
|
|
115
|
+
retryable: Type.Boolean(),
|
|
116
|
+
}, { additionalProperties: false }),
|
|
117
|
+
InterruptedCommandDispositionSchema,
|
|
118
|
+
]);
|
|
119
|
+
export const RetryTaskBodySchema = commandEnvelopeSchema(RetryTaskPayloadSchema);
|
|
120
|
+
export const RetryTaskResponseSchema = commandResponseSchema(RetryTaskDispositionSchema);
|
|
87
121
|
export const UpdateProjectDisplayNamePayloadSchema = Type.Object({
|
|
88
122
|
display_name: Type.String({ minLength: 1, maxLength: 80 }),
|
|
89
123
|
}, { additionalProperties: false });
|
package/package.json
CHANGED
package/prompts/runs/README.md
CHANGED
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
# runs
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Formal Task execution uses one durable Task-scoped Codex Thread and four templates:
|
|
4
4
|
|
|
5
|
-
- `task-
|
|
6
|
-
- `task-
|
|
7
|
-
- `task-
|
|
8
|
-
|
|
5
|
+
- `task-execute.md` supplies the Task goal, scope, pinned source material, workspace rules, documentation rules, Artifact contract, and safety boundary. It runs with workspace write access and no structured output schema.
|
|
6
|
+
- `task-finalize.md` is a short read-only instruction that asks Codex to describe the work already completed using `task-result-contract.md` and the current turn output schema.
|
|
7
|
+
- `task-recovery.md` combines the concrete bounded failure evidence with the complete result contract. Output-only failures run read-only; candidate, Artifact, or checks failures may run with workspace write access.
|
|
8
|
+
- `task-result-contract.md` is the single human-readable definition of the four mutually exclusive Task result branches and must stay aligned with `TASK_RUN_OUTPUT_SCHEMA`.
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
Initial `task-run.md`, active `task-continuation.md`, and active pipeline `task-retry.md` receive the compact task contract fields `title / goal / scope` plus optional receipt-derived `source_messages`, completed Task Compile `clarification_rounds`, and `recent_references`. Source messages and clarification answers preserve the exact submitted material in ordered `role / optional author_display_name / text` entries; each reference includes only path, final name and available/unavailable summary. The contract defines execution scope, while these fields supply exact content referenced by it. Continuation adds the required task-bound `continuation` block, and pipeline self-correction retry adds the required `correction` block with the previous failure summary, machine-generated reason code, correction guidance, a required redacted / bounded diagnostic, and `promotion_failure` as either a complete object or explicit `null`. Provider transient retry and self-correction both preserve all compile-time source context. Provider-facing prompts do not receive task ids, task summaries, Run lineage, workflow anchors, blob ids, message ids, changed paths, docs status, checks status, or the safety audit context entry.
|
|
12
|
-
All three Run templates use a slim mutually exclusive structured output schema under `result`: exactly one of `completed.{summary,user_note_candidate}`, `completed_no_repo_changes.{summary,user_note_candidate}`, `needs_human.{title,summary,request}`, or `failed.summary`. The `summary` is a concise, human-readable result note for project members who may not inspect the code. Completed branches also require `user_note_candidate`, which is either a short user-facing final-card sentence or `null`; it must not repeat `summary` or include file paths. Checks, docs, promotion, changed paths, and other Tutti status stay in structured fields derived by the Run pipeline. They do not ask Codex to self-report docs status or changed paths; both come from Run pipeline Git diff and derived projection.
|
|
13
|
-
Run templates describe `docs/reference/` as a user-visible file exchange area. Human uploads remain under `docs/reference/files/` and `docs/reference/images/`; `docs/reference/tutti/**` is for Tutti-generated files intended for direct member review in References, not temporary output, internal notes, logs, or canonical project documentation. Generated user-visible files must be written under `docs/reference/tutti/`, with `docs/reference/tutti/<meaningful-folder>/...` used when the folder name should be shown as a References UI group. Generated files under `docs/reference/tutti/` are discovered from promoted changed paths, rendered by References automatically, and may be listed in completed task result cards.
|
|
14
|
-
Initial `task-run.md`, active `task-continuation.md`, and active pipeline `task-retry.md` also instruct Codex to write or update the single active `tutti.artifact.json` manifest only when the task creates or updates a member-viewable visual artifact. Each template includes the complete strict static and server JSON shapes: every behavior field is required, `network` is always an explicit boolean, and server `script / ready_path / port` fields are forbidden. A server package instead declares the fixed `artifact:preview` npm script in its own `package.json` and listens on the injected `HOST / PORT`. The manifest remains repo truth and is not reported through the structured output schema.
|
|
15
|
-
Active task-bound follow-up still only starts continuation Runs from `Run.needs_human`. `follow_up_check` resumes when the identified human decision is resolved in the same contract, asks for more input only while that same decision remains unresolved, and requires retasking when honoring the answer would change goal or scope; it does not delegate Run-owned implementation choices. Continuation applies the same Run boundary after considering the answers and never repeats a resolved question. Pipeline self-correction retry happens before a terminal Run result is recorded; it treats correction as machine feedback, repairs it inside the frozen contract by default, and only returns `needs_human` when the feedback exposes a genuinely unresolved human decision under the normal Run boundary.
|
|
16
|
-
All three templates state that cwd is the persistent project workspace, may contain unaccepted source and project-local runtime/dependency state from earlier failed attempts, and must not be reset, checked out, stashed, cleaned, or otherwise discarded. Continuation, provider transient retry, and self-correction reuse that same directory and accumulated state.
|
|
17
|
-
All three templates require a final Git status inspection and make the Agent responsible for maintaining the repository's own `.gitignore` according to project conventions. They do not prescribe runtime path names or force intentional generated source out of Git.
|
|
10
|
+
Initial Execute receives compact `title / goal / scope` plus pinned `source_messages`, completed Task Compile `clarification_rounds`, and `recent_references` when present. Continuation Execute reuses the same Thread and adds only the sealed clarification outcome and resume summary. Finalize does not repeat Task context or implementation instructions.
|
|
18
11
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
Recovery retains the previous valid Task result or bounded raw final output together with the actual parser, Artifact, candidate, or checks diagnostic. Failure evidence never replaces the complete result contract. Attempt numbers, command ids, member identity, Activity ids, session paths, and Thread lifecycle details stay outside model context.
|
|
13
|
+
|
|
14
|
+
Only a schema-valid Finalize or Recovery `needs_human` result can open task-bound clarification. Execute handoff text never opens clarification by itself.
|
|
15
|
+
|
|
16
|
+
Task session state is machine-local and outside the repository. Prompt templates must never include provider credentials, Host-local session paths, raw secrets, or browser capability tokens. Checks, changed paths, documentation status, and accepted checkpoint state remain Host-derived facts rather than model claims.
|