@xfey/tutti 0.1.127 → 0.1.128
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/approvals/decision-command.d.ts +2 -2
- package/dist/chat-assistant/diagnostics.d.ts +7 -2
- package/dist/chat-assistant/diagnostics.js +5 -2
- package/dist/chat-assistant/failures.d.ts +27 -0
- package/dist/chat-assistant/failures.js +102 -0
- package/dist/chat-assistant/index.d.ts +14 -2
- package/dist/chat-assistant/index.js +226 -48
- package/dist/chat-assistant/requests.d.ts +30 -0
- package/dist/chat-assistant/requests.js +58 -0
- package/dist/collaboration-ingestion/clarification.js +3 -1
- package/dist/collaboration-ingestion/main-chat.js +1 -0
- package/dist/collaboration-ingestion/types.d.ts +2 -0
- package/dist/collaboration-state/clarification-snapshot.d.ts +5 -5
- package/dist/collaboration-state/task-compile-context.d.ts +1 -1
- package/dist/collaboration-state/task-compile-context.js +11 -1
- package/dist/collaboration-state/task-compile-requests.d.ts +6 -0
- package/dist/collaboration-state/task-compile-requests.js +16 -0
- package/dist/control-plane/task-compile-continuation.js +2 -0
- package/dist/control-plane/task-compile-request-status.d.ts +6 -0
- package/dist/control-plane/task-compile-request-status.js +70 -0
- package/dist/control-plane/task-compile-start.js +40 -2
- package/dist/providers/failure-classification.d.ts +23 -0
- package/dist/providers/failure-classification.js +43 -0
- package/dist/reference-access/read-evidence.d.ts +2 -0
- package/dist/reference-access/read-evidence.js +5 -0
- package/dist/reference-access/service.d.ts +2 -0
- package/dist/reference-access/service.js +2 -0
- package/dist/runtime-failures.js +15 -1
- package/dist/server-shell/cli/external-reference-runtime.js +6 -3
- package/dist/server-shell/cli/host-server-runtime.js +4 -1
- package/dist/server-shell/cli/relay-registration.js +1 -0
- package/dist/server-shell/http/routes/project-api/messages-routes.js +22 -1
- package/dist/server-shell/http/routes/project-api/openapi-collaboration-routes.d.ts +140 -5
- package/dist/server-shell/http/routes/project-api/openapi-collaboration-routes.js +29 -2
- package/dist/server-shell/http/routes/project-api/openapi-skills-routes.d.ts +2 -0
- package/dist/server-shell/http/routes/project-api/openapi-workspace-routes.d.ts +6 -0
- package/dist/server-shell/http/routes/project-api/openapi.d.ts +148 -5
- package/dist/server-shell/http/routes/project-api/schemas.d.ts +6 -0
- package/dist/server-shell/http/routes/project-api/schemas.js +1 -0
- package/dist/server-shell/http/routes/project-api/types.d.ts +1 -0
- package/dist/server-shell/http/routes/project-api/workflow-routes.js +39 -3
- package/dist/server-shell/http/routes/project-api/workspace-projections.js +1 -0
- package/dist/server-shell/http/validation.js +8 -2
- package/dist/server-shell/local-console/managed-project-service.d.ts +1 -1
- package/dist/server-shell/managed-access/transport.d.ts +1 -1
- package/migrations/0024_chat_requests.sql +19 -0
- package/migrations/0025_task_compile_requests.sql +50 -0
- package/migrations/README.md +3 -1
- package/node_modules/@tutti/relay-client/dist/host-control.d.ts +1 -0
- package/node_modules/@tutti/relay-client/dist/host-control.js +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/index.d.ts +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/index.js +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/operation-status.d.ts +174 -0
- package/node_modules/@tutti/shared/dist/schemas/api/operation-status.js +75 -0
- package/node_modules/@tutti/shared/dist/schemas/api/primitives.d.ts +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/primitives.js +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/workspace-commands.d.ts +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/workspace-commands.js +2 -1
- package/package.json +1 -1
- package/web/assets/{homepage-motion-scene-DyEmWwvt.js → homepage-motion-scene-BcMt0AVW.js} +1 -1
- package/web/assets/index-2eX37Jx6.js +70 -0
- package/web/assets/index-BJvKuUiT.css +1 -0
- package/web/index.html +2 -2
- package/web/assets/index-By3idT4U.js +0 -70
- package/web/assets/index-DSBjOZmJ.css +0 -1
|
@@ -464,7 +464,9 @@ export async function startForegroundHostServer(options) {
|
|
|
464
464
|
model: createManagedChatModel(managedRuntime, runtimeOptions),
|
|
465
465
|
};
|
|
466
466
|
if (resolution.kind !== "ready") {
|
|
467
|
-
throw new Error("Provider is not configured.")
|
|
467
|
+
throw Object.assign(new Error("Provider is not configured."), {
|
|
468
|
+
code: "provider_not_configured",
|
|
469
|
+
});
|
|
468
470
|
}
|
|
469
471
|
return await resolution.model.answer(input);
|
|
470
472
|
},
|
|
@@ -704,6 +706,7 @@ export async function startForegroundHostServer(options) {
|
|
|
704
706
|
workspaceRoot: options.preparation.workspace_root,
|
|
705
707
|
recoverInProgressCommands: true,
|
|
706
708
|
});
|
|
709
|
+
chatAssistant.start();
|
|
707
710
|
};
|
|
708
711
|
// Managed creation / reauthorization activates during Relay registration. Do
|
|
709
712
|
// not recover a stored task against a not-yet-activated native delegation.
|
|
@@ -66,6 +66,7 @@ export async function registerHostWithRelay(options) {
|
|
|
66
66
|
integration_development_bot_v1: true,
|
|
67
67
|
integration_clarification_v1: true,
|
|
68
68
|
feishu_supporting_reads_v1: true,
|
|
69
|
+
request_status_v1: true,
|
|
69
70
|
integration_external_references_v1: true,
|
|
70
71
|
integration_attachment_ingestion_v1: true,
|
|
71
72
|
integration_managed_reference_ingestion_v1: true,
|
|
@@ -1,11 +1,32 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Type } from "@sinclair/typebox";
|
|
2
|
+
import { MessageIdSchema } from "@tutti/shared/schemas/domain";
|
|
3
|
+
import { GetMessagesRequestSchema, ChatRequestStatusSchema, MessageWindowSchema, SendMainChatMessageBodySchema, SendMainChatMessageResponseSchema, } from "@tutti/shared/schemas/api";
|
|
2
4
|
import { createArtifactFeedbackMessage } from "../../../../artifact-feedback/index.js";
|
|
3
5
|
import { ingestMainChatMessage } from "../../../../collaboration-ingestion/index.js";
|
|
4
6
|
import { readMainChatMessageWindow } from "../../../../collaboration-state/index.js";
|
|
5
7
|
import { HOST_PROJECT_API_BASE_PATH } from "./constants.js";
|
|
6
8
|
import { requireValidMessageWindowRequest, requireValidSendMainChatPayload, } from "./payload-validation.js";
|
|
7
9
|
import { requireHostProjectSession, requireProjectStore, requireWorkspaceRoot, } from "./session-requirements.js";
|
|
10
|
+
import { HostProjectNotFoundError, HostProjectBadRequestError } from "./errors.js";
|
|
11
|
+
import { chatRequestStatus, readChatRequest } from "../../../../chat-assistant/requests.js";
|
|
8
12
|
export function registerMessagesRoutes(app, { options, workspaceEvents, artifactPreviewManager, }) {
|
|
13
|
+
app.get(`${HOST_PROJECT_API_BASE_PATH}/chat-requests/:messageId`, {
|
|
14
|
+
preValidation: (request, _reply, done) => done(Object.keys(request.query).length === 0
|
|
15
|
+
? undefined
|
|
16
|
+
: new HostProjectBadRequestError("Request status does not accept query parameters")),
|
|
17
|
+
schema: {
|
|
18
|
+
params: Type.Object({ messageId: MessageIdSchema }, { additionalProperties: false }),
|
|
19
|
+
querystring: Type.Object({}, { additionalProperties: false }),
|
|
20
|
+
response: { 200: ChatRequestStatusSchema },
|
|
21
|
+
},
|
|
22
|
+
}, (request, reply) => {
|
|
23
|
+
requireHostProjectSession(request, options);
|
|
24
|
+
reply.header("cache-control", "no-store");
|
|
25
|
+
const record = readChatRequest(requireProjectStore(options).db, request.params.messageId);
|
|
26
|
+
if (record === null)
|
|
27
|
+
throw new HostProjectNotFoundError();
|
|
28
|
+
return chatRequestStatus(record);
|
|
29
|
+
});
|
|
9
30
|
app.get(`${HOST_PROJECT_API_BASE_PATH}/messages`, {
|
|
10
31
|
schema: {
|
|
11
32
|
querystring: GetMessagesRequestSchema,
|
|
@@ -1,4 +1,139 @@
|
|
|
1
1
|
export declare const HOST_PROJECT_COLLABORATION_OPENAPI_ROUTES: ({
|
|
2
|
+
method: "get";
|
|
3
|
+
path: string;
|
|
4
|
+
summary: string;
|
|
5
|
+
tags: string[];
|
|
6
|
+
querystring: import("@sinclair/typebox").TObject<{
|
|
7
|
+
workflow_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
8
|
+
command_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
9
|
+
}>;
|
|
10
|
+
responses: {
|
|
11
|
+
200: {
|
|
12
|
+
description: string;
|
|
13
|
+
schema: import("@sinclair/typebox").TObject<{
|
|
14
|
+
request: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
15
|
+
status: import("@sinclair/typebox").TLiteral<"running">;
|
|
16
|
+
phase: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"preparing">, import("@sinclair/typebox").TLiteral<"scratchpad_refresh">, import("@sinclair/typebox").TLiteral<"reference_summary_refresh">, import("@sinclair/typebox").TLiteral<"project_context_bootstrap">, import("@sinclair/typebox").TLiteral<"task_compile">]>;
|
|
17
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
18
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
19
|
+
ref: import("@sinclair/typebox").TString;
|
|
20
|
+
}>;
|
|
21
|
+
created_at: import("@sinclair/typebox").TString;
|
|
22
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
23
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
24
|
+
status: import("@sinclair/typebox").TLiteral<"waiting_input">;
|
|
25
|
+
phase: import("@sinclair/typebox").TLiteral<"clarification">;
|
|
26
|
+
round_id: import("@sinclair/typebox").TString;
|
|
27
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
28
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
29
|
+
ref: import("@sinclair/typebox").TString;
|
|
30
|
+
}>;
|
|
31
|
+
created_at: import("@sinclair/typebox").TString;
|
|
32
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
33
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
34
|
+
status: import("@sinclair/typebox").TLiteral<"succeeded">;
|
|
35
|
+
phase: import("@sinclair/typebox").TLiteral<"settled">;
|
|
36
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
37
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
38
|
+
ref: import("@sinclair/typebox").TString;
|
|
39
|
+
}>;
|
|
40
|
+
created_at: import("@sinclair/typebox").TString;
|
|
41
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
42
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
43
|
+
status: import("@sinclair/typebox").TLiteral<"failed">;
|
|
44
|
+
phase: import("@sinclair/typebox").TLiteral<"settled">;
|
|
45
|
+
failure: import("@sinclair/typebox").TObject<{
|
|
46
|
+
code: import("@sinclair/typebox").TString;
|
|
47
|
+
category: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"interrupted" | "capacity" | "access" | "configuration" | "dependency" | "internal">[]>;
|
|
48
|
+
recovery: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"resend_request" | "check_provider" | "restart_host" | "contact_support" | "none">[]>;
|
|
49
|
+
diagnostic_id: import("@sinclair/typebox").TString;
|
|
50
|
+
}>;
|
|
51
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
52
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
53
|
+
ref: import("@sinclair/typebox").TString;
|
|
54
|
+
}>;
|
|
55
|
+
created_at: import("@sinclair/typebox").TString;
|
|
56
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
57
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
58
|
+
status: import("@sinclair/typebox").TLiteral<"unknown">;
|
|
59
|
+
phase: import("@sinclair/typebox").TLiteral<"unconfirmed">;
|
|
60
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
61
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
62
|
+
ref: import("@sinclair/typebox").TString;
|
|
63
|
+
}>;
|
|
64
|
+
created_at: import("@sinclair/typebox").TString;
|
|
65
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
66
|
+
}>]>, import("@sinclair/typebox").TNull]>;
|
|
67
|
+
}>;
|
|
68
|
+
contentType?: never;
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
parameters?: never;
|
|
72
|
+
requestBody?: never;
|
|
73
|
+
} | {
|
|
74
|
+
method: "get";
|
|
75
|
+
path: string;
|
|
76
|
+
summary: string;
|
|
77
|
+
tags: string[];
|
|
78
|
+
parameters: import("@tutti/shared/schemas/api").BrowserFacingOpenApiParameter[];
|
|
79
|
+
responses: {
|
|
80
|
+
200: {
|
|
81
|
+
description: string;
|
|
82
|
+
schema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
83
|
+
status: import("@sinclair/typebox").TLiteral<"queued">;
|
|
84
|
+
phase: import("@sinclair/typebox").TLiteral<"queue">;
|
|
85
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
86
|
+
kind: import("@sinclair/typebox").TLiteral<"chat_answer">;
|
|
87
|
+
ref: import("@sinclair/typebox").TString;
|
|
88
|
+
}>;
|
|
89
|
+
revision: import("@sinclair/typebox").TInteger;
|
|
90
|
+
created_at: import("@sinclair/typebox").TString;
|
|
91
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
92
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
93
|
+
status: import("@sinclair/typebox").TLiteral<"running">;
|
|
94
|
+
phase: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"workspace_wait">, import("@sinclair/typebox").TLiteral<"answer">]>;
|
|
95
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
96
|
+
kind: import("@sinclair/typebox").TLiteral<"chat_answer">;
|
|
97
|
+
ref: import("@sinclair/typebox").TString;
|
|
98
|
+
}>;
|
|
99
|
+
revision: import("@sinclair/typebox").TInteger;
|
|
100
|
+
created_at: import("@sinclair/typebox").TString;
|
|
101
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
102
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
103
|
+
status: import("@sinclair/typebox").TLiteral<"succeeded">;
|
|
104
|
+
phase: import("@sinclair/typebox").TLiteral<"settled">;
|
|
105
|
+
response_message_id: import("@sinclair/typebox").TString;
|
|
106
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
107
|
+
kind: import("@sinclair/typebox").TLiteral<"chat_answer">;
|
|
108
|
+
ref: import("@sinclair/typebox").TString;
|
|
109
|
+
}>;
|
|
110
|
+
revision: import("@sinclair/typebox").TInteger;
|
|
111
|
+
created_at: import("@sinclair/typebox").TString;
|
|
112
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
113
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
114
|
+
status: import("@sinclair/typebox").TLiteral<"failed">;
|
|
115
|
+
phase: import("@sinclair/typebox").TLiteral<"settled">;
|
|
116
|
+
failure: import("@sinclair/typebox").TObject<{
|
|
117
|
+
code: import("@sinclair/typebox").TString;
|
|
118
|
+
category: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"interrupted" | "capacity" | "access" | "configuration" | "dependency" | "internal">[]>;
|
|
119
|
+
recovery: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"resend_request" | "check_provider" | "restart_host" | "contact_support" | "none">[]>;
|
|
120
|
+
diagnostic_id: import("@sinclair/typebox").TString;
|
|
121
|
+
}>;
|
|
122
|
+
response_message_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
123
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
124
|
+
kind: import("@sinclair/typebox").TLiteral<"chat_answer">;
|
|
125
|
+
ref: import("@sinclair/typebox").TString;
|
|
126
|
+
}>;
|
|
127
|
+
revision: import("@sinclair/typebox").TInteger;
|
|
128
|
+
created_at: import("@sinclair/typebox").TString;
|
|
129
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
130
|
+
}>]>;
|
|
131
|
+
contentType?: never;
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
querystring?: never;
|
|
135
|
+
requestBody?: never;
|
|
136
|
+
} | {
|
|
2
137
|
method: "get";
|
|
3
138
|
path: string;
|
|
4
139
|
summary: string;
|
|
@@ -17,8 +152,8 @@ export declare const HOST_PROJECT_COLLABORATION_OPENAPI_ROUTES: ({
|
|
|
17
152
|
contentType?: never;
|
|
18
153
|
};
|
|
19
154
|
};
|
|
20
|
-
requestBody?: never;
|
|
21
155
|
parameters?: never;
|
|
156
|
+
requestBody?: never;
|
|
22
157
|
} | {
|
|
23
158
|
method: "post";
|
|
24
159
|
path: string;
|
|
@@ -77,8 +212,8 @@ export declare const HOST_PROJECT_COLLABORATION_OPENAPI_ROUTES: ({
|
|
|
77
212
|
};
|
|
78
213
|
};
|
|
79
214
|
};
|
|
80
|
-
requestBody?: never;
|
|
81
215
|
parameters?: never;
|
|
216
|
+
requestBody?: never;
|
|
82
217
|
} | {
|
|
83
218
|
method: "get";
|
|
84
219
|
path: string;
|
|
@@ -123,8 +258,8 @@ export declare const HOST_PROJECT_COLLABORATION_OPENAPI_ROUTES: ({
|
|
|
123
258
|
};
|
|
124
259
|
};
|
|
125
260
|
querystring?: never;
|
|
126
|
-
requestBody?: never;
|
|
127
261
|
parameters?: never;
|
|
262
|
+
requestBody?: never;
|
|
128
263
|
} | {
|
|
129
264
|
method: "get";
|
|
130
265
|
path: string;
|
|
@@ -165,8 +300,8 @@ export declare const HOST_PROJECT_COLLABORATION_OPENAPI_ROUTES: ({
|
|
|
165
300
|
};
|
|
166
301
|
};
|
|
167
302
|
querystring?: never;
|
|
168
|
-
requestBody?: never;
|
|
169
303
|
parameters?: never;
|
|
304
|
+
requestBody?: never;
|
|
170
305
|
} | {
|
|
171
306
|
method: "post";
|
|
172
307
|
path: string;
|
|
@@ -294,8 +429,8 @@ export declare const HOST_PROJECT_COLLABORATION_OPENAPI_ROUTES: ({
|
|
|
294
429
|
};
|
|
295
430
|
};
|
|
296
431
|
querystring?: never;
|
|
297
|
-
requestBody?: never;
|
|
298
432
|
parameters?: never;
|
|
433
|
+
requestBody?: never;
|
|
299
434
|
} | {
|
|
300
435
|
method: "get";
|
|
301
436
|
path: string;
|
|
@@ -1,8 +1,35 @@
|
|
|
1
|
-
import { ActiveClarificationProjectionSchema, GetClarificationRoundMessagesRequestSchema, GetClarificationRoundResponseSchema, GetClarificationThreadResponseSchema, GetMessagesRequestSchema, MessageWindowSchema, RunSchedulerNowBodySchema, RunSchedulerNowResponseSchema, ScratchpadProjectionSchema, SendClarificationRoundMessageBodySchema, SendClarificationRoundMessageResponseSchema, SendMainChatMessageResponseSchema, SubmitClarificationRoundBodySchema, SubmitClarificationRoundResponseSchema, SubmitWorklistBodySchema, SubmitWorklistResponseSchema, WorklistProjectionSchema, } from "@tutti/shared/schemas/api";
|
|
1
|
+
import { ActiveClarificationProjectionSchema, ChatRequestStatusSchema, CurrentWorklistSubmissionSchema, WorklistSubmissionQuerySchema, GetClarificationRoundMessagesRequestSchema, GetClarificationRoundResponseSchema, GetClarificationThreadResponseSchema, GetMessagesRequestSchema, MessageWindowSchema, RunSchedulerNowBodySchema, RunSchedulerNowResponseSchema, ScratchpadProjectionSchema, SendClarificationRoundMessageBodySchema, SendClarificationRoundMessageResponseSchema, SendMainChatMessageResponseSchema, SubmitClarificationRoundBodySchema, SubmitClarificationRoundResponseSchema, SubmitWorklistBodySchema, SubmitWorklistResponseSchema, WorklistProjectionSchema, } from "@tutti/shared/schemas/api";
|
|
2
|
+
import { MessageIdSchema } from "@tutti/shared/schemas/domain";
|
|
2
3
|
import { HOST_PROJECT_API_BASE_PATH } from "./constants.js";
|
|
3
4
|
import { EventStreamResponseSchema, GetEventsRequestSchema, SendMainChatMessageBodySchema, } from "./schemas.js";
|
|
4
|
-
import { ClarificationRoundIdPathParameter, ClarificationThreadIdPathParameter, } from "./openapi-path-parameters.js";
|
|
5
|
+
import { ClarificationRoundIdPathParameter, pathParameter, ClarificationThreadIdPathParameter, } from "./openapi-path-parameters.js";
|
|
5
6
|
export const HOST_PROJECT_COLLABORATION_OPENAPI_ROUTES = [
|
|
7
|
+
{
|
|
8
|
+
method: "get",
|
|
9
|
+
path: `${HOST_PROJECT_API_BASE_PATH}/worklist/submission`,
|
|
10
|
+
summary: "Read the latest or identified Submit operation; acceptance is not completion.",
|
|
11
|
+
tags: ["worklist"],
|
|
12
|
+
querystring: WorklistSubmissionQuerySchema,
|
|
13
|
+
responses: {
|
|
14
|
+
200: {
|
|
15
|
+
description: "Submission evidence or null when not recorded.",
|
|
16
|
+
schema: CurrentWorklistSubmissionSchema,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
method: "get",
|
|
22
|
+
path: `${HOST_PROJECT_API_BASE_PATH}/chat-requests/{message_id}`,
|
|
23
|
+
summary: "Read a durable answer request by its trigger message id.",
|
|
24
|
+
tags: ["messages"],
|
|
25
|
+
parameters: [pathParameter("message_id", MessageIdSchema, "Original question message id.")],
|
|
26
|
+
responses: {
|
|
27
|
+
200: {
|
|
28
|
+
description: "Host processing status, not platform delivery status.",
|
|
29
|
+
schema: ChatRequestStatusSchema,
|
|
30
|
+
},
|
|
31
|
+
},
|
|
32
|
+
},
|
|
6
33
|
{
|
|
7
34
|
method: "get",
|
|
8
35
|
path: `${HOST_PROJECT_API_BASE_PATH}/messages`,
|
|
@@ -25,6 +25,7 @@ export declare const HOST_PROJECT_SKILLS_OPENAPI_ROUTES: ({
|
|
|
25
25
|
message: import("@sinclair/typebox").TString;
|
|
26
26
|
retryable: import("@sinclair/typebox").TBoolean;
|
|
27
27
|
details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
28
|
+
request_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
28
29
|
}>;
|
|
29
30
|
}>;
|
|
30
31
|
};
|
|
@@ -60,6 +61,7 @@ export declare const HOST_PROJECT_SKILLS_OPENAPI_ROUTES: ({
|
|
|
60
61
|
message: import("@sinclair/typebox").TString;
|
|
61
62
|
retryable: import("@sinclair/typebox").TBoolean;
|
|
62
63
|
details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
64
|
+
request_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
63
65
|
}>;
|
|
64
66
|
}>;
|
|
65
67
|
};
|
|
@@ -575,6 +575,9 @@ export declare const HOST_PROJECT_WORKSPACE_OPENAPI_ROUTES: ({
|
|
|
575
575
|
readonly artifact_feedback: {
|
|
576
576
|
readonly type: "boolean";
|
|
577
577
|
};
|
|
578
|
+
readonly request_status_v1: {
|
|
579
|
+
readonly type: "boolean";
|
|
580
|
+
};
|
|
578
581
|
};
|
|
579
582
|
};
|
|
580
583
|
};
|
|
@@ -769,6 +772,9 @@ export declare const HOST_PROJECT_WORKSPACE_OPENAPI_ROUTES: ({
|
|
|
769
772
|
readonly artifact_feedback: {
|
|
770
773
|
readonly type: "boolean";
|
|
771
774
|
};
|
|
775
|
+
readonly request_status_v1: {
|
|
776
|
+
readonly type: "boolean";
|
|
777
|
+
};
|
|
772
778
|
};
|
|
773
779
|
};
|
|
774
780
|
};
|
|
@@ -157,6 +157,141 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
157
157
|
};
|
|
158
158
|
200?: never;
|
|
159
159
|
};
|
|
160
|
+
} | {
|
|
161
|
+
method: "get";
|
|
162
|
+
path: string;
|
|
163
|
+
summary: string;
|
|
164
|
+
tags: string[];
|
|
165
|
+
querystring: import("@sinclair/typebox").TObject<{
|
|
166
|
+
workflow_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
167
|
+
command_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
168
|
+
}>;
|
|
169
|
+
responses: {
|
|
170
|
+
200: {
|
|
171
|
+
description: string;
|
|
172
|
+
schema: import("@sinclair/typebox").TObject<{
|
|
173
|
+
request: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
174
|
+
status: import("@sinclair/typebox").TLiteral<"running">;
|
|
175
|
+
phase: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"preparing">, import("@sinclair/typebox").TLiteral<"scratchpad_refresh">, import("@sinclair/typebox").TLiteral<"reference_summary_refresh">, import("@sinclair/typebox").TLiteral<"project_context_bootstrap">, import("@sinclair/typebox").TLiteral<"task_compile">]>;
|
|
176
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
177
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
178
|
+
ref: import("@sinclair/typebox").TString;
|
|
179
|
+
}>;
|
|
180
|
+
created_at: import("@sinclair/typebox").TString;
|
|
181
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
182
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
183
|
+
status: import("@sinclair/typebox").TLiteral<"waiting_input">;
|
|
184
|
+
phase: import("@sinclair/typebox").TLiteral<"clarification">;
|
|
185
|
+
round_id: import("@sinclair/typebox").TString;
|
|
186
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
187
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
188
|
+
ref: import("@sinclair/typebox").TString;
|
|
189
|
+
}>;
|
|
190
|
+
created_at: import("@sinclair/typebox").TString;
|
|
191
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
192
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
193
|
+
status: import("@sinclair/typebox").TLiteral<"succeeded">;
|
|
194
|
+
phase: import("@sinclair/typebox").TLiteral<"settled">;
|
|
195
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
196
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
197
|
+
ref: import("@sinclair/typebox").TString;
|
|
198
|
+
}>;
|
|
199
|
+
created_at: import("@sinclair/typebox").TString;
|
|
200
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
201
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
202
|
+
status: import("@sinclair/typebox").TLiteral<"failed">;
|
|
203
|
+
phase: import("@sinclair/typebox").TLiteral<"settled">;
|
|
204
|
+
failure: import("@sinclair/typebox").TObject<{
|
|
205
|
+
code: import("@sinclair/typebox").TString;
|
|
206
|
+
category: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"interrupted" | "capacity" | "access" | "configuration" | "dependency" | "internal">[]>;
|
|
207
|
+
recovery: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"resend_request" | "check_provider" | "restart_host" | "contact_support" | "none">[]>;
|
|
208
|
+
diagnostic_id: import("@sinclair/typebox").TString;
|
|
209
|
+
}>;
|
|
210
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
211
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
212
|
+
ref: import("@sinclair/typebox").TString;
|
|
213
|
+
}>;
|
|
214
|
+
created_at: import("@sinclair/typebox").TString;
|
|
215
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
216
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
217
|
+
status: import("@sinclair/typebox").TLiteral<"unknown">;
|
|
218
|
+
phase: import("@sinclair/typebox").TLiteral<"unconfirmed">;
|
|
219
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
220
|
+
kind: import("@sinclair/typebox").TLiteral<"worklist_submit">;
|
|
221
|
+
ref: import("@sinclair/typebox").TString;
|
|
222
|
+
}>;
|
|
223
|
+
created_at: import("@sinclair/typebox").TString;
|
|
224
|
+
activity_ref: import("@sinclair/typebox").TString;
|
|
225
|
+
}>]>, import("@sinclair/typebox").TNull]>;
|
|
226
|
+
}>;
|
|
227
|
+
contentType?: never;
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
parameters?: never;
|
|
231
|
+
requestBody?: never;
|
|
232
|
+
} | {
|
|
233
|
+
method: "get";
|
|
234
|
+
path: string;
|
|
235
|
+
summary: string;
|
|
236
|
+
tags: string[];
|
|
237
|
+
parameters: import("@tutti/shared/schemas/api").BrowserFacingOpenApiParameter[];
|
|
238
|
+
responses: {
|
|
239
|
+
200: {
|
|
240
|
+
description: string;
|
|
241
|
+
schema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
242
|
+
status: import("@sinclair/typebox").TLiteral<"queued">;
|
|
243
|
+
phase: import("@sinclair/typebox").TLiteral<"queue">;
|
|
244
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
245
|
+
kind: import("@sinclair/typebox").TLiteral<"chat_answer">;
|
|
246
|
+
ref: import("@sinclair/typebox").TString;
|
|
247
|
+
}>;
|
|
248
|
+
revision: import("@sinclair/typebox").TInteger;
|
|
249
|
+
created_at: import("@sinclair/typebox").TString;
|
|
250
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
251
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
252
|
+
status: import("@sinclair/typebox").TLiteral<"running">;
|
|
253
|
+
phase: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"workspace_wait">, import("@sinclair/typebox").TLiteral<"answer">]>;
|
|
254
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
255
|
+
kind: import("@sinclair/typebox").TLiteral<"chat_answer">;
|
|
256
|
+
ref: import("@sinclair/typebox").TString;
|
|
257
|
+
}>;
|
|
258
|
+
revision: import("@sinclair/typebox").TInteger;
|
|
259
|
+
created_at: import("@sinclair/typebox").TString;
|
|
260
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
261
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
262
|
+
status: import("@sinclair/typebox").TLiteral<"succeeded">;
|
|
263
|
+
phase: import("@sinclair/typebox").TLiteral<"settled">;
|
|
264
|
+
response_message_id: import("@sinclair/typebox").TString;
|
|
265
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
266
|
+
kind: import("@sinclair/typebox").TLiteral<"chat_answer">;
|
|
267
|
+
ref: import("@sinclair/typebox").TString;
|
|
268
|
+
}>;
|
|
269
|
+
revision: import("@sinclair/typebox").TInteger;
|
|
270
|
+
created_at: import("@sinclair/typebox").TString;
|
|
271
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
272
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
273
|
+
status: import("@sinclair/typebox").TLiteral<"failed">;
|
|
274
|
+
phase: import("@sinclair/typebox").TLiteral<"settled">;
|
|
275
|
+
failure: import("@sinclair/typebox").TObject<{
|
|
276
|
+
code: import("@sinclair/typebox").TString;
|
|
277
|
+
category: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"interrupted" | "capacity" | "access" | "configuration" | "dependency" | "internal">[]>;
|
|
278
|
+
recovery: import("@sinclair/typebox").TUnion<import("@sinclair/typebox").TLiteral<"resend_request" | "check_provider" | "restart_host" | "contact_support" | "none">[]>;
|
|
279
|
+
diagnostic_id: import("@sinclair/typebox").TString;
|
|
280
|
+
}>;
|
|
281
|
+
response_message_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
282
|
+
operation: import("@sinclair/typebox").TObject<{
|
|
283
|
+
kind: import("@sinclair/typebox").TLiteral<"chat_answer">;
|
|
284
|
+
ref: import("@sinclair/typebox").TString;
|
|
285
|
+
}>;
|
|
286
|
+
revision: import("@sinclair/typebox").TInteger;
|
|
287
|
+
created_at: import("@sinclair/typebox").TString;
|
|
288
|
+
updated_at: import("@sinclair/typebox").TString;
|
|
289
|
+
}>]>;
|
|
290
|
+
contentType?: never;
|
|
291
|
+
};
|
|
292
|
+
};
|
|
293
|
+
querystring?: never;
|
|
294
|
+
requestBody?: never;
|
|
160
295
|
} | {
|
|
161
296
|
method: "get";
|
|
162
297
|
path: string;
|
|
@@ -176,8 +311,8 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
176
311
|
contentType?: never;
|
|
177
312
|
};
|
|
178
313
|
};
|
|
179
|
-
requestBody?: never;
|
|
180
314
|
parameters?: never;
|
|
315
|
+
requestBody?: never;
|
|
181
316
|
} | {
|
|
182
317
|
method: "post";
|
|
183
318
|
path: string;
|
|
@@ -236,8 +371,8 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
236
371
|
};
|
|
237
372
|
};
|
|
238
373
|
};
|
|
239
|
-
requestBody?: never;
|
|
240
374
|
parameters?: never;
|
|
375
|
+
requestBody?: never;
|
|
241
376
|
} | {
|
|
242
377
|
method: "get";
|
|
243
378
|
path: string;
|
|
@@ -282,8 +417,8 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
282
417
|
};
|
|
283
418
|
};
|
|
284
419
|
querystring?: never;
|
|
285
|
-
requestBody?: never;
|
|
286
420
|
parameters?: never;
|
|
421
|
+
requestBody?: never;
|
|
287
422
|
} | {
|
|
288
423
|
method: "get";
|
|
289
424
|
path: string;
|
|
@@ -324,8 +459,8 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
324
459
|
};
|
|
325
460
|
};
|
|
326
461
|
querystring?: never;
|
|
327
|
-
requestBody?: never;
|
|
328
462
|
parameters?: never;
|
|
463
|
+
requestBody?: never;
|
|
329
464
|
} | {
|
|
330
465
|
method: "get";
|
|
331
466
|
path: string;
|
|
@@ -438,8 +573,8 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
438
573
|
};
|
|
439
574
|
};
|
|
440
575
|
querystring?: never;
|
|
441
|
-
requestBody?: never;
|
|
442
576
|
parameters?: never;
|
|
577
|
+
requestBody?: never;
|
|
443
578
|
} | {
|
|
444
579
|
method: "get";
|
|
445
580
|
path: string;
|
|
@@ -893,6 +1028,7 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
893
1028
|
message: import("@sinclair/typebox").TString;
|
|
894
1029
|
retryable: import("@sinclair/typebox").TBoolean;
|
|
895
1030
|
details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
1031
|
+
request_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
896
1032
|
}>;
|
|
897
1033
|
}>;
|
|
898
1034
|
};
|
|
@@ -928,6 +1064,7 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
928
1064
|
message: import("@sinclair/typebox").TString;
|
|
929
1065
|
retryable: import("@sinclair/typebox").TBoolean;
|
|
930
1066
|
details: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnknown>;
|
|
1067
|
+
request_id: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
931
1068
|
}>;
|
|
932
1069
|
}>;
|
|
933
1070
|
};
|
|
@@ -1882,6 +2019,9 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
1882
2019
|
readonly artifact_feedback: {
|
|
1883
2020
|
readonly type: "boolean";
|
|
1884
2021
|
};
|
|
2022
|
+
readonly request_status_v1: {
|
|
2023
|
+
readonly type: "boolean";
|
|
2024
|
+
};
|
|
1885
2025
|
};
|
|
1886
2026
|
};
|
|
1887
2027
|
};
|
|
@@ -2076,6 +2216,9 @@ export declare const HOST_PROJECT_OPENAPI_ROUTES: ({
|
|
|
2076
2216
|
readonly artifact_feedback: {
|
|
2077
2217
|
readonly type: "boolean";
|
|
2078
2218
|
};
|
|
2219
|
+
readonly request_status_v1: {
|
|
2220
|
+
readonly type: "boolean";
|
|
2221
|
+
};
|
|
2079
2222
|
};
|
|
2080
2223
|
};
|
|
2081
2224
|
};
|
|
@@ -530,6 +530,9 @@ export declare const WorkspaceResponseSchema: {
|
|
|
530
530
|
readonly artifact_feedback: {
|
|
531
531
|
readonly type: "boolean";
|
|
532
532
|
};
|
|
533
|
+
readonly request_status_v1: {
|
|
534
|
+
readonly type: "boolean";
|
|
535
|
+
};
|
|
533
536
|
};
|
|
534
537
|
};
|
|
535
538
|
};
|
|
@@ -713,6 +716,9 @@ export declare const BootstrapResponseSchema: {
|
|
|
713
716
|
readonly artifact_feedback: {
|
|
714
717
|
readonly type: "boolean";
|
|
715
718
|
};
|
|
719
|
+
readonly request_status_v1: {
|
|
720
|
+
readonly type: "boolean";
|
|
721
|
+
};
|
|
716
722
|
};
|
|
717
723
|
};
|
|
718
724
|
};
|