@xfey/tutti 0.1.110 → 0.1.112
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/README.md +1 -1
- package/dist/approvals/decision-command.d.ts +2 -2
- package/dist/chat-assistant/index.d.ts +1 -1
- package/dist/chat-assistant/index.js +26 -6
- package/dist/collaboration-ingestion/clarification.d.ts +25 -0
- package/dist/collaboration-ingestion/clarification.js +63 -0
- package/dist/collaboration-ingestion/external-source.d.ts +2 -0
- package/dist/collaboration-ingestion/external-source.js +35 -0
- package/dist/collaboration-ingestion/index.d.ts +2 -0
- package/dist/collaboration-ingestion/index.js +2 -0
- package/dist/collaboration-ingestion/main-chat.js +9 -2
- package/dist/collaboration-ingestion/platform-clarification.d.ts +10 -0
- package/dist/collaboration-ingestion/platform-clarification.js +42 -0
- package/dist/collaboration-ingestion/types.d.ts +1 -0
- package/dist/collaboration-state/clarification-messages.js +3 -2
- package/dist/collaboration-state/clarification-records.d.ts +1 -1
- package/dist/collaboration-state/clarification-records.js +7 -5
- package/dist/collaboration-state/clarification-rounds.js +5 -5
- package/dist/collaboration-state/clarification-snapshot.d.ts +228 -0
- package/dist/collaboration-state/clarification-snapshot.js +29 -0
- package/dist/collaboration-state/clarification-successors.js +6 -6
- package/dist/collaboration-state/index.d.ts +1 -0
- package/dist/collaboration-state/index.js +1 -0
- package/dist/collaboration-state/run-recording.js +1 -1
- package/dist/collaboration-state/task-compile-context.d.ts +1 -1
- package/dist/collaboration-state/types.d.ts +1 -0
- package/dist/control-plane/clarification-commands.d.ts +3 -2
- package/dist/control-plane/clarification-commands.js +13 -4
- package/dist/control-plane/follow-up-context.js +8 -14
- package/dist/control-plane/index.d.ts +3 -2
- package/dist/control-plane/scratchpad-source-messages.js +9 -3
- package/dist/control-plane/task-compile-clarification-context.js +7 -2
- package/dist/control-plane/task-source-context-types.d.ts +1 -1
- package/dist/control-plane/task-source-context.js +4 -2
- package/dist/control-plane/types.d.ts +1 -0
- package/dist/control-plane/workflows/openai.js +5 -4
- package/dist/platform-outbound/repository.js +83 -4
- package/dist/server-shell/cli/host-lifecycle.js +1 -0
- package/dist/server-shell/cli/host-server-runtime.d.ts +2 -1
- package/dist/server-shell/cli/host-server-runtime.js +4 -2
- package/dist/server-shell/cli/relay-registration.js +2 -0
- package/dist/server-shell/http/host-tunnel.d.ts +2 -1
- package/dist/server-shell/http/host-tunnel.js +4 -1
- package/dist/server-shell/http/integration-clarification-dispatch.d.ts +6 -0
- package/dist/server-shell/http/integration-clarification-dispatch.js +43 -0
- package/dist/server-shell/http/routes/agent-context-reference-routes.js +1 -3
- package/dist/server-shell/http/routes/project-api/clarification-routes.js +16 -42
- package/dist/server-shell/http/routes/project-api/openapi-collaboration-routes.d.ts +2 -0
- package/dist/server-shell/http/routes/project-api/openapi-workspace-routes.d.ts +1 -0
- package/dist/server-shell/http/routes/project-api/openapi.d.ts +3 -0
- package/dist/server-shell/http/routes/project-api/schemas.d.ts +1 -0
- package/migrations/0022_clarification_projection_cursors.sql +7 -0
- package/node_modules/@tutti/relay-client/dist/host-control.d.ts +2 -0
- package/node_modules/@tutti/relay-client/dist/host-control.js +6 -0
- package/node_modules/@tutti/shared/dist/schemas/api/clarifications.d.ts +14 -1
- package/node_modules/@tutti/shared/dist/schemas/api/clarifications.js +9 -2
- package/node_modules/@tutti/shared/dist/schemas/api/messages.d.ts +4 -0
- package/node_modules/@tutti/shared/dist/schemas/api/messages.js +1 -0
- package/node_modules/@tutti/shared/dist/schemas/api/viewer-reference.d.ts +1 -0
- package/node_modules/@tutti/shared/dist/schemas/internal/index.d.ts +2 -0
- package/node_modules/@tutti/shared/dist/schemas/internal/index.js +2 -0
- package/node_modules/@tutti/shared/dist/schemas/internal/platform-clarification-content.d.ts +15 -0
- package/node_modules/@tutti/shared/dist/schemas/internal/platform-clarification-content.js +24 -0
- package/node_modules/@tutti/shared/dist/schemas/internal/platform-clarification.d.ts +354 -0
- package/node_modules/@tutti/shared/dist/schemas/internal/platform-clarification.js +94 -0
- package/node_modules/@tutti/shared/dist/schemas/internal/platform-integration.d.ts +132 -5
- package/node_modules/@tutti/shared/dist/schemas/internal/platform-integration.js +29 -5
- package/node_modules/@tutti/shared/dist/utils/clarification-participants.d.ts +4 -0
- package/node_modules/@tutti/shared/dist/utils/clarification-participants.js +11 -0
- package/node_modules/@tutti/shared/dist/utils/index.d.ts +1 -0
- package/node_modules/@tutti/shared/dist/utils/index.js +1 -0
- package/package.json +1 -1
- package/prompts/chat-assistant.md +1 -0
- package/prompts/procedures/follow-up-check.md +4 -4
- package/prompts/procedures/scratchpad-refresh.md +22 -2
- package/prompts/procedures/task-compile.md +1 -0
- package/prompts/runs/task-execute.md +2 -0
- package/web/assets/{homepage-motion-scene-rxYjg-zc.js → homepage-motion-scene-BwdH6Iss.js} +1 -1
- package/web/assets/index-B29RuNsd.js +69 -0
- package/web/index.html +1 -1
- package/web/assets/index-BrKWdtKZ.js +0 -69
|
@@ -14,6 +14,7 @@ export declare const PlatformConversationLocatorSchema: import("@sinclair/typebo
|
|
|
14
14
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
15
15
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
16
16
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
17
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
17
18
|
}>;
|
|
18
19
|
export declare const ExternalMessageLocatorSchema: import("@sinclair/typebox").TObject<{
|
|
19
20
|
conversation: import("@sinclair/typebox").TObject<{
|
|
@@ -24,6 +25,7 @@ export declare const ExternalMessageLocatorSchema: import("@sinclair/typebox").T
|
|
|
24
25
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
25
26
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
26
27
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
28
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
27
29
|
}>;
|
|
28
30
|
message_ref: import("@sinclair/typebox").TString;
|
|
29
31
|
}>;
|
|
@@ -65,6 +67,27 @@ export declare const TrustedSystemIntegrationActorContextSchema: import("@sincla
|
|
|
65
67
|
binding_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
66
68
|
verified_at: import("@sinclair/typebox").TString;
|
|
67
69
|
}>;
|
|
70
|
+
export declare const TrustedDevelopmentBotActorContextSchema: import("@sinclair/typebox").TObject<{
|
|
71
|
+
kind: import("@sinclair/typebox").TLiteral<"bot">;
|
|
72
|
+
purpose: import("@sinclair/typebox").TLiteral<"development_operator">;
|
|
73
|
+
channel: import("@sinclair/typebox").TLiteral<"platform_chat">;
|
|
74
|
+
account_ref: import("@sinclair/typebox").TString;
|
|
75
|
+
display_name: import("@sinclair/typebox").TString;
|
|
76
|
+
membership: import("@sinclair/typebox").TObject<{
|
|
77
|
+
relay_project_ref: import("@sinclair/typebox").TString;
|
|
78
|
+
label: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"owner">, import("@sinclair/typebox").TLiteral<"member">]>;
|
|
79
|
+
}>;
|
|
80
|
+
external_subject: import("@sinclair/typebox").TObject<{
|
|
81
|
+
installation: import("@sinclair/typebox").TObject<{
|
|
82
|
+
platform: import("@sinclair/typebox").TString;
|
|
83
|
+
installation_ref: import("@sinclair/typebox").TString;
|
|
84
|
+
}>;
|
|
85
|
+
subject_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"human">, import("@sinclair/typebox").TLiteral<"bot">, import("@sinclair/typebox").TLiteral<"app">, import("@sinclair/typebox").TLiteral<"system">]>;
|
|
86
|
+
subject_ref: import("@sinclair/typebox").TString;
|
|
87
|
+
}>;
|
|
88
|
+
binding_ref: import("@sinclair/typebox").TString;
|
|
89
|
+
verified_at: import("@sinclair/typebox").TString;
|
|
90
|
+
}>;
|
|
68
91
|
export declare const TrustedIntegrationActorContextSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
69
92
|
kind: import("@sinclair/typebox").TLiteral<"human">;
|
|
70
93
|
account_ref: import("@sinclair/typebox").TString;
|
|
@@ -192,6 +215,7 @@ export declare const PreIdentityReferenceAttachmentSourceSchema: import("@sincla
|
|
|
192
215
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
193
216
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
194
217
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
218
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
195
219
|
}>;
|
|
196
220
|
message_ref: import("@sinclair/typebox").TString;
|
|
197
221
|
}>;
|
|
@@ -232,6 +256,7 @@ export declare const NormalizedConversationSourceSchema: import("@sinclair/typeb
|
|
|
232
256
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
233
257
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
234
258
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
259
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
235
260
|
}>;
|
|
236
261
|
message_ref: import("@sinclair/typebox").TString;
|
|
237
262
|
}>;
|
|
@@ -308,6 +333,7 @@ export declare const PreIdentityNormalizedConversationSourceSchema: import("@sin
|
|
|
308
333
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
309
334
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
310
335
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
336
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
311
337
|
}>;
|
|
312
338
|
message_ref: import("@sinclair/typebox").TString;
|
|
313
339
|
}>;
|
|
@@ -377,6 +403,7 @@ export declare const ExternalConversationRevisionObservationSchema: import("@sin
|
|
|
377
403
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
378
404
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
379
405
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
406
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
380
407
|
}>;
|
|
381
408
|
message_ref: import("@sinclair/typebox").TString;
|
|
382
409
|
}>;
|
|
@@ -435,6 +462,7 @@ export declare const ExternalConversationRevisionObservationSchema: import("@sin
|
|
|
435
462
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
436
463
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
437
464
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
465
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
438
466
|
}>;
|
|
439
467
|
message_ref: import("@sinclair/typebox").TString;
|
|
440
468
|
}>;
|
|
@@ -493,6 +521,7 @@ export declare const ConversationSourceIngestionEnvelopeSchema: import("@sinclai
|
|
|
493
521
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
494
522
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
495
523
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
524
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
496
525
|
}>;
|
|
497
526
|
message_ref: import("@sinclair/typebox").TString;
|
|
498
527
|
}>;
|
|
@@ -588,6 +617,7 @@ export declare const ConversationRevisionIngestionEnvelopeSchema: import("@sincl
|
|
|
588
617
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
589
618
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
590
619
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
620
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
591
621
|
}>;
|
|
592
622
|
message_ref: import("@sinclair/typebox").TString;
|
|
593
623
|
}>;
|
|
@@ -646,6 +676,7 @@ export declare const ConversationRevisionIngestionEnvelopeSchema: import("@sincl
|
|
|
646
676
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
647
677
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
648
678
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
679
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
649
680
|
}>;
|
|
650
681
|
message_ref: import("@sinclair/typebox").TString;
|
|
651
682
|
}>;
|
|
@@ -694,6 +725,7 @@ export declare const ConversationIngestionEnvelopeSchema: import("@sinclair/type
|
|
|
694
725
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
695
726
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
696
727
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
728
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
697
729
|
}>;
|
|
698
730
|
message_ref: import("@sinclair/typebox").TString;
|
|
699
731
|
}>;
|
|
@@ -788,6 +820,7 @@ export declare const ConversationIngestionEnvelopeSchema: import("@sinclair/type
|
|
|
788
820
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
789
821
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
790
822
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
823
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
791
824
|
}>;
|
|
792
825
|
message_ref: import("@sinclair/typebox").TString;
|
|
793
826
|
}>;
|
|
@@ -846,6 +879,7 @@ export declare const ConversationIngestionEnvelopeSchema: import("@sinclair/type
|
|
|
846
879
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
847
880
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
848
881
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
882
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
849
883
|
}>;
|
|
850
884
|
message_ref: import("@sinclair/typebox").TString;
|
|
851
885
|
}>;
|
|
@@ -885,13 +919,13 @@ export declare const IntegrationDeliveryDispositionSchema: import("@sinclair/typ
|
|
|
885
919
|
}>, import("@sinclair/typebox").TObject<{
|
|
886
920
|
kind: import("@sinclair/typebox").TLiteral<"host_incompatible">;
|
|
887
921
|
retryable: import("@sinclair/typebox").TLiteral<true>;
|
|
888
|
-
reason_code: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"integration_source_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_attachment_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_managed_reference_ingestion_unsupported">]>;
|
|
922
|
+
reason_code: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"integration_source_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_attachment_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_managed_reference_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_clarification_unsupported">]>;
|
|
889
923
|
}>, import("@sinclair/typebox").TObject<{
|
|
890
924
|
kind: import("@sinclair/typebox").TLiteral<"invalid">;
|
|
891
925
|
reason_code: import("@sinclair/typebox").TString;
|
|
892
926
|
}>]>;
|
|
893
927
|
export declare const IntegrationConversationSourceDeliveryRequestSchema: import("@sinclair/typebox").TObject<{
|
|
894
|
-
protocol_version: import("@sinclair/typebox").TLiteral<2>;
|
|
928
|
+
protocol_version: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<2>, import("@sinclair/typebox").TLiteral<3>]>;
|
|
895
929
|
command_id: import("@sinclair/typebox").TString;
|
|
896
930
|
relay_project_ref: import("@sinclair/typebox").TString;
|
|
897
931
|
binding_ref: import("@sinclair/typebox").TString;
|
|
@@ -922,6 +956,7 @@ export declare const IntegrationConversationSourceDeliveryRequestSchema: import(
|
|
|
922
956
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
923
957
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
924
958
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
959
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
925
960
|
}>;
|
|
926
961
|
message_ref: import("@sinclair/typebox").TString;
|
|
927
962
|
}>;
|
|
@@ -980,6 +1015,7 @@ export declare const IntegrationConversationSourceDeliveryRequestSchema: import(
|
|
|
980
1015
|
observed_at: import("@sinclair/typebox").TString;
|
|
981
1016
|
adapter_version: import("@sinclair/typebox").TString;
|
|
982
1017
|
}>;
|
|
1018
|
+
clarification_round_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
983
1019
|
}>;
|
|
984
1020
|
export declare const IntegrationReferenceAttachmentStageRequestSchema: import("@sinclair/typebox").TObject<{
|
|
985
1021
|
protocol_version: import("@sinclair/typebox").TLiteral<1>;
|
|
@@ -1007,6 +1043,7 @@ export declare const IntegrationReferenceAttachmentStageRequestSchema: import("@
|
|
|
1007
1043
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
1008
1044
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1009
1045
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1046
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1010
1047
|
}>;
|
|
1011
1048
|
message_ref: import("@sinclair/typebox").TString;
|
|
1012
1049
|
}>;
|
|
@@ -1447,7 +1484,7 @@ export declare const TrustedConversationSourceIngestionCommandSchema: import("@s
|
|
|
1447
1484
|
received_at: import("@sinclair/typebox").TString;
|
|
1448
1485
|
attempt: import("@sinclair/typebox").TInteger;
|
|
1449
1486
|
}>;
|
|
1450
|
-
actor: import("@sinclair/typebox").TObject<{
|
|
1487
|
+
actor: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
1451
1488
|
kind: import("@sinclair/typebox").TLiteral<"human">;
|
|
1452
1489
|
account_ref: import("@sinclair/typebox").TString;
|
|
1453
1490
|
display_name: import("@sinclair/typebox").TString;
|
|
@@ -1466,7 +1503,27 @@ export declare const TrustedConversationSourceIngestionCommandSchema: import("@s
|
|
|
1466
1503
|
}>;
|
|
1467
1504
|
binding_ref: import("@sinclair/typebox").TString;
|
|
1468
1505
|
verified_at: import("@sinclair/typebox").TString;
|
|
1469
|
-
}
|
|
1506
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
1507
|
+
kind: import("@sinclair/typebox").TLiteral<"bot">;
|
|
1508
|
+
purpose: import("@sinclair/typebox").TLiteral<"development_operator">;
|
|
1509
|
+
channel: import("@sinclair/typebox").TLiteral<"platform_chat">;
|
|
1510
|
+
account_ref: import("@sinclair/typebox").TString;
|
|
1511
|
+
display_name: import("@sinclair/typebox").TString;
|
|
1512
|
+
membership: import("@sinclair/typebox").TObject<{
|
|
1513
|
+
relay_project_ref: import("@sinclair/typebox").TString;
|
|
1514
|
+
label: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"owner">, import("@sinclair/typebox").TLiteral<"member">]>;
|
|
1515
|
+
}>;
|
|
1516
|
+
external_subject: import("@sinclair/typebox").TObject<{
|
|
1517
|
+
installation: import("@sinclair/typebox").TObject<{
|
|
1518
|
+
platform: import("@sinclair/typebox").TString;
|
|
1519
|
+
installation_ref: import("@sinclair/typebox").TString;
|
|
1520
|
+
}>;
|
|
1521
|
+
subject_kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"human">, import("@sinclair/typebox").TLiteral<"bot">, import("@sinclair/typebox").TLiteral<"app">, import("@sinclair/typebox").TLiteral<"system">]>;
|
|
1522
|
+
subject_ref: import("@sinclair/typebox").TString;
|
|
1523
|
+
}>;
|
|
1524
|
+
binding_ref: import("@sinclair/typebox").TString;
|
|
1525
|
+
verified_at: import("@sinclair/typebox").TString;
|
|
1526
|
+
}>]>;
|
|
1470
1527
|
source: import("@sinclair/typebox").TObject<{
|
|
1471
1528
|
external_references: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
1472
1529
|
source_ref: import("@sinclair/typebox").TString;
|
|
@@ -1483,6 +1540,7 @@ export declare const TrustedConversationSourceIngestionCommandSchema: import("@s
|
|
|
1483
1540
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
1484
1541
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1485
1542
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1543
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1486
1544
|
}>;
|
|
1487
1545
|
message_ref: import("@sinclair/typebox").TString;
|
|
1488
1546
|
}>;
|
|
@@ -1543,6 +1601,7 @@ export declare const TrustedConversationSourceIngestionCommandSchema: import("@s
|
|
|
1543
1601
|
observed_at: import("@sinclair/typebox").TString;
|
|
1544
1602
|
adapter_version: import("@sinclair/typebox").TString;
|
|
1545
1603
|
}>;
|
|
1604
|
+
clarification_round_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1546
1605
|
}>;
|
|
1547
1606
|
export declare const IntegrationReferenceAttachmentDeliveryRequestSchema: import("@sinclair/typebox").TObject<{
|
|
1548
1607
|
protocol_version: import("@sinclair/typebox").TLiteral<1>;
|
|
@@ -1570,6 +1629,7 @@ export declare const IntegrationReferenceAttachmentDeliveryRequestSchema: import
|
|
|
1570
1629
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
1571
1630
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1572
1631
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1632
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1573
1633
|
}>;
|
|
1574
1634
|
message_ref: import("@sinclair/typebox").TString;
|
|
1575
1635
|
}>;
|
|
@@ -1648,6 +1708,7 @@ export declare const TrustedReferenceAttachmentIngestionCommandSchema: import("@
|
|
|
1648
1708
|
conversation_ref: import("@sinclair/typebox").TString;
|
|
1649
1709
|
thread_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1650
1710
|
parent_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1711
|
+
root_message_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1651
1712
|
}>;
|
|
1652
1713
|
message_ref: import("@sinclair/typebox").TString;
|
|
1653
1714
|
}>;
|
|
@@ -1733,7 +1794,7 @@ export declare const IntegrationConversationSourceDeliveryResponseSchema: import
|
|
|
1733
1794
|
}>, import("@sinclair/typebox").TObject<{
|
|
1734
1795
|
kind: import("@sinclair/typebox").TLiteral<"host_incompatible">;
|
|
1735
1796
|
retryable: import("@sinclair/typebox").TLiteral<true>;
|
|
1736
|
-
reason_code: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"integration_source_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_attachment_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_managed_reference_ingestion_unsupported">]>;
|
|
1797
|
+
reason_code: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"integration_source_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_attachment_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_managed_reference_ingestion_unsupported">, import("@sinclair/typebox").TLiteral<"integration_clarification_unsupported">]>;
|
|
1737
1798
|
}>, import("@sinclair/typebox").TObject<{
|
|
1738
1799
|
kind: import("@sinclair/typebox").TLiteral<"invalid">;
|
|
1739
1800
|
reason_code: import("@sinclair/typebox").TString;
|
|
@@ -1765,6 +1826,7 @@ export declare const PlatformOutboundApprovalRequestContentSchema: import("@sinc
|
|
|
1765
1826
|
export declare const PlatformOutboundContentSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
1766
1827
|
kind: import("@sinclair/typebox").TLiteral<"text">;
|
|
1767
1828
|
text: import("@sinclair/typebox").TString;
|
|
1829
|
+
clarification_round_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1768
1830
|
}>, import("@sinclair/typebox").TObject<{
|
|
1769
1831
|
kind: import("@sinclair/typebox").TLiteral<"approval_request">;
|
|
1770
1832
|
approval_id: import("@sinclair/typebox").TString;
|
|
@@ -1780,6 +1842,16 @@ export declare const PlatformOutboundContentSchema: import("@sinclair/typebox").
|
|
|
1780
1842
|
label: import("@sinclair/typebox").TString;
|
|
1781
1843
|
tone: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"primary">, import("@sinclair/typebox").TLiteral<"neutral">, import("@sinclair/typebox").TLiteral<"danger">]>;
|
|
1782
1844
|
}>>;
|
|
1845
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
1846
|
+
kind: import("@sinclair/typebox").TLiteral<"clarification">;
|
|
1847
|
+
round_id: import("@sinclair/typebox").TString;
|
|
1848
|
+
version: import("@sinclair/typebox").TInteger;
|
|
1849
|
+
answer_revision: import("@sinclair/typebox").TInteger;
|
|
1850
|
+
closed_reason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"resolved">, import("@sinclair/typebox").TLiteral<"contract_changed">, import("@sinclair/typebox").TLiteral<"cancelled">]>>;
|
|
1851
|
+
state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"writable">, import("@sinclair/typebox").TLiteral<"submitted">, import("@sinclair/typebox").TLiteral<"continued">, import("@sinclair/typebox").TLiteral<"closed">]>;
|
|
1852
|
+
title: import("@sinclair/typebox").TString;
|
|
1853
|
+
request: import("@sinclair/typebox").TString;
|
|
1854
|
+
opened_at: import("@sinclair/typebox").TString;
|
|
1783
1855
|
}>]>;
|
|
1784
1856
|
export declare const PlatformOutboundEventSchema: import("@sinclair/typebox").TObject<{
|
|
1785
1857
|
kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"chat_response">, import("@sinclair/typebox").TLiteral<"needs_input">, import("@sinclair/typebox").TLiteral<"task_completed">, import("@sinclair/typebox").TLiteral<"task_failed">]>;
|
|
@@ -1806,6 +1878,7 @@ export declare const PlatformOutboundIntentSchema: import("@sinclair/typebox").T
|
|
|
1806
1878
|
readonly content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
1807
1879
|
kind: import("@sinclair/typebox").TLiteral<"text">;
|
|
1808
1880
|
text: import("@sinclair/typebox").TString;
|
|
1881
|
+
clarification_round_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1809
1882
|
}>, import("@sinclair/typebox").TObject<{
|
|
1810
1883
|
kind: import("@sinclair/typebox").TLiteral<"approval_request">;
|
|
1811
1884
|
approval_id: import("@sinclair/typebox").TString;
|
|
@@ -1821,6 +1894,16 @@ export declare const PlatformOutboundIntentSchema: import("@sinclair/typebox").T
|
|
|
1821
1894
|
label: import("@sinclair/typebox").TString;
|
|
1822
1895
|
tone: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"primary">, import("@sinclair/typebox").TLiteral<"neutral">, import("@sinclair/typebox").TLiteral<"danger">]>;
|
|
1823
1896
|
}>>;
|
|
1897
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
1898
|
+
kind: import("@sinclair/typebox").TLiteral<"clarification">;
|
|
1899
|
+
round_id: import("@sinclair/typebox").TString;
|
|
1900
|
+
version: import("@sinclair/typebox").TInteger;
|
|
1901
|
+
answer_revision: import("@sinclair/typebox").TInteger;
|
|
1902
|
+
closed_reason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"resolved">, import("@sinclair/typebox").TLiteral<"contract_changed">, import("@sinclair/typebox").TLiteral<"cancelled">]>>;
|
|
1903
|
+
state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"writable">, import("@sinclair/typebox").TLiteral<"submitted">, import("@sinclair/typebox").TLiteral<"continued">, import("@sinclair/typebox").TLiteral<"closed">]>;
|
|
1904
|
+
title: import("@sinclair/typebox").TString;
|
|
1905
|
+
request: import("@sinclair/typebox").TString;
|
|
1906
|
+
opened_at: import("@sinclair/typebox").TString;
|
|
1824
1907
|
}>]>;
|
|
1825
1908
|
readonly event: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
1826
1909
|
kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"chat_response">, import("@sinclair/typebox").TLiteral<"needs_input">, import("@sinclair/typebox").TLiteral<"task_completed">, import("@sinclair/typebox").TLiteral<"task_failed">]>;
|
|
@@ -1851,6 +1934,7 @@ export declare const RelayAuthorizedPlatformOutboundIntentSchema: import("@sincl
|
|
|
1851
1934
|
content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
1852
1935
|
kind: import("@sinclair/typebox").TLiteral<"text">;
|
|
1853
1936
|
text: import("@sinclair/typebox").TString;
|
|
1937
|
+
clarification_round_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1854
1938
|
}>, import("@sinclair/typebox").TObject<{
|
|
1855
1939
|
kind: import("@sinclair/typebox").TLiteral<"approval_request">;
|
|
1856
1940
|
approval_id: import("@sinclair/typebox").TString;
|
|
@@ -1866,6 +1950,16 @@ export declare const RelayAuthorizedPlatformOutboundIntentSchema: import("@sincl
|
|
|
1866
1950
|
label: import("@sinclair/typebox").TString;
|
|
1867
1951
|
tone: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"primary">, import("@sinclair/typebox").TLiteral<"neutral">, import("@sinclair/typebox").TLiteral<"danger">]>;
|
|
1868
1952
|
}>>;
|
|
1953
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
1954
|
+
kind: import("@sinclair/typebox").TLiteral<"clarification">;
|
|
1955
|
+
round_id: import("@sinclair/typebox").TString;
|
|
1956
|
+
version: import("@sinclair/typebox").TInteger;
|
|
1957
|
+
answer_revision: import("@sinclair/typebox").TInteger;
|
|
1958
|
+
closed_reason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"resolved">, import("@sinclair/typebox").TLiteral<"contract_changed">, import("@sinclair/typebox").TLiteral<"cancelled">]>>;
|
|
1959
|
+
state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"writable">, import("@sinclair/typebox").TLiteral<"submitted">, import("@sinclair/typebox").TLiteral<"continued">, import("@sinclair/typebox").TLiteral<"closed">]>;
|
|
1960
|
+
title: import("@sinclair/typebox").TString;
|
|
1961
|
+
request: import("@sinclair/typebox").TString;
|
|
1962
|
+
opened_at: import("@sinclair/typebox").TString;
|
|
1869
1963
|
}>]>;
|
|
1870
1964
|
event: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
1871
1965
|
kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"chat_response">, import("@sinclair/typebox").TLiteral<"needs_input">, import("@sinclair/typebox").TLiteral<"task_completed">, import("@sinclair/typebox").TLiteral<"task_failed">]>;
|
|
@@ -1895,6 +1989,7 @@ export declare const PlatformOutboundTextIntentSchema: import("@sinclair/typebox
|
|
|
1895
1989
|
readonly content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
1896
1990
|
kind: import("@sinclair/typebox").TLiteral<"text">;
|
|
1897
1991
|
text: import("@sinclair/typebox").TString;
|
|
1992
|
+
clarification_round_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1898
1993
|
}>, import("@sinclair/typebox").TObject<{
|
|
1899
1994
|
kind: import("@sinclair/typebox").TLiteral<"approval_request">;
|
|
1900
1995
|
approval_id: import("@sinclair/typebox").TString;
|
|
@@ -1910,6 +2005,16 @@ export declare const PlatformOutboundTextIntentSchema: import("@sinclair/typebox
|
|
|
1910
2005
|
label: import("@sinclair/typebox").TString;
|
|
1911
2006
|
tone: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"primary">, import("@sinclair/typebox").TLiteral<"neutral">, import("@sinclair/typebox").TLiteral<"danger">]>;
|
|
1912
2007
|
}>>;
|
|
2008
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
2009
|
+
kind: import("@sinclair/typebox").TLiteral<"clarification">;
|
|
2010
|
+
round_id: import("@sinclair/typebox").TString;
|
|
2011
|
+
version: import("@sinclair/typebox").TInteger;
|
|
2012
|
+
answer_revision: import("@sinclair/typebox").TInteger;
|
|
2013
|
+
closed_reason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"resolved">, import("@sinclair/typebox").TLiteral<"contract_changed">, import("@sinclair/typebox").TLiteral<"cancelled">]>>;
|
|
2014
|
+
state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"writable">, import("@sinclair/typebox").TLiteral<"submitted">, import("@sinclair/typebox").TLiteral<"continued">, import("@sinclair/typebox").TLiteral<"closed">]>;
|
|
2015
|
+
title: import("@sinclair/typebox").TString;
|
|
2016
|
+
request: import("@sinclair/typebox").TString;
|
|
2017
|
+
opened_at: import("@sinclair/typebox").TString;
|
|
1913
2018
|
}>]>;
|
|
1914
2019
|
readonly event: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
1915
2020
|
kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"chat_response">, import("@sinclair/typebox").TLiteral<"needs_input">, import("@sinclair/typebox").TLiteral<"task_completed">, import("@sinclair/typebox").TLiteral<"task_failed">]>;
|
|
@@ -1940,6 +2045,7 @@ export declare const RelayAuthorizedPlatformOutboundTextIntentSchema: import("@s
|
|
|
1940
2045
|
content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
1941
2046
|
kind: import("@sinclair/typebox").TLiteral<"text">;
|
|
1942
2047
|
text: import("@sinclair/typebox").TString;
|
|
2048
|
+
clarification_round_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
1943
2049
|
}>, import("@sinclair/typebox").TObject<{
|
|
1944
2050
|
kind: import("@sinclair/typebox").TLiteral<"approval_request">;
|
|
1945
2051
|
approval_id: import("@sinclair/typebox").TString;
|
|
@@ -1955,6 +2061,16 @@ export declare const RelayAuthorizedPlatformOutboundTextIntentSchema: import("@s
|
|
|
1955
2061
|
label: import("@sinclair/typebox").TString;
|
|
1956
2062
|
tone: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"primary">, import("@sinclair/typebox").TLiteral<"neutral">, import("@sinclair/typebox").TLiteral<"danger">]>;
|
|
1957
2063
|
}>>;
|
|
2064
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
2065
|
+
kind: import("@sinclair/typebox").TLiteral<"clarification">;
|
|
2066
|
+
round_id: import("@sinclair/typebox").TString;
|
|
2067
|
+
version: import("@sinclair/typebox").TInteger;
|
|
2068
|
+
answer_revision: import("@sinclair/typebox").TInteger;
|
|
2069
|
+
closed_reason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"resolved">, import("@sinclair/typebox").TLiteral<"contract_changed">, import("@sinclair/typebox").TLiteral<"cancelled">]>>;
|
|
2070
|
+
state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"writable">, import("@sinclair/typebox").TLiteral<"submitted">, import("@sinclair/typebox").TLiteral<"continued">, import("@sinclair/typebox").TLiteral<"closed">]>;
|
|
2071
|
+
title: import("@sinclair/typebox").TString;
|
|
2072
|
+
request: import("@sinclair/typebox").TString;
|
|
2073
|
+
opened_at: import("@sinclair/typebox").TString;
|
|
1958
2074
|
}>]>;
|
|
1959
2075
|
event: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
1960
2076
|
kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"chat_response">, import("@sinclair/typebox").TLiteral<"needs_input">, import("@sinclair/typebox").TLiteral<"task_completed">, import("@sinclair/typebox").TLiteral<"task_failed">]>;
|
|
@@ -2147,6 +2263,7 @@ export declare const IntegrationOutboundClaimResponseSchema: import("@sinclair/t
|
|
|
2147
2263
|
content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TObject<{
|
|
2148
2264
|
kind: import("@sinclair/typebox").TLiteral<"text">;
|
|
2149
2265
|
text: import("@sinclair/typebox").TString;
|
|
2266
|
+
clarification_round_ref: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
2150
2267
|
}>, import("@sinclair/typebox").TObject<{
|
|
2151
2268
|
kind: import("@sinclair/typebox").TLiteral<"approval_request">;
|
|
2152
2269
|
approval_id: import("@sinclair/typebox").TString;
|
|
@@ -2162,6 +2279,16 @@ export declare const IntegrationOutboundClaimResponseSchema: import("@sinclair/t
|
|
|
2162
2279
|
label: import("@sinclair/typebox").TString;
|
|
2163
2280
|
tone: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"primary">, import("@sinclair/typebox").TLiteral<"neutral">, import("@sinclair/typebox").TLiteral<"danger">]>;
|
|
2164
2281
|
}>>;
|
|
2282
|
+
}>, import("@sinclair/typebox").TObject<{
|
|
2283
|
+
kind: import("@sinclair/typebox").TLiteral<"clarification">;
|
|
2284
|
+
round_id: import("@sinclair/typebox").TString;
|
|
2285
|
+
version: import("@sinclair/typebox").TInteger;
|
|
2286
|
+
answer_revision: import("@sinclair/typebox").TInteger;
|
|
2287
|
+
closed_reason: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"resolved">, import("@sinclair/typebox").TLiteral<"contract_changed">, import("@sinclair/typebox").TLiteral<"cancelled">]>>;
|
|
2288
|
+
state: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"writable">, import("@sinclair/typebox").TLiteral<"submitted">, import("@sinclair/typebox").TLiteral<"continued">, import("@sinclair/typebox").TLiteral<"closed">]>;
|
|
2289
|
+
title: import("@sinclair/typebox").TString;
|
|
2290
|
+
request: import("@sinclair/typebox").TString;
|
|
2291
|
+
opened_at: import("@sinclair/typebox").TString;
|
|
2165
2292
|
}>]>;
|
|
2166
2293
|
event: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
|
|
2167
2294
|
kind: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"chat_response">, import("@sinclair/typebox").TLiteral<"needs_input">, import("@sinclair/typebox").TLiteral<"task_completed">, import("@sinclair/typebox").TLiteral<"task_failed">]>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Type } from "@sinclair/typebox";
|
|
2
2
|
import { Value } from "@sinclair/typebox/value";
|
|
3
3
|
import { ExternalReferenceDescriptorSchema } from "../api/external-references.js";
|
|
4
|
-
import {
|
|
4
|
+
import { PlatformClarificationContentSchema } from "./platform-clarification-content.js";
|
|
5
|
+
import { IdempotencyKeySchema, ClarificationRoundRefSchema, IsoDateTimeStringSchema, MessageIdSchema, RelayAccountRefSchema, RelayProjectRefSchema, } from "../domain/index.js";
|
|
5
6
|
import { MAX_REFERENCE_STAGED_UPLOAD_BYTES, PresignedUploadPutSchema, ReferenceStagedUploadReferenceProperties, RelayUploadProjectionSchema, } from "../api/uploads.js";
|
|
6
7
|
export const PlatformAdapterKeySchema = Type.String({
|
|
7
8
|
minLength: 1,
|
|
@@ -27,6 +28,7 @@ export const PlatformConversationLocatorSchema = Type.Object({
|
|
|
27
28
|
conversation_ref: ExternalObjectRefSchema,
|
|
28
29
|
thread_ref: Type.Optional(ExternalObjectRefSchema),
|
|
29
30
|
parent_message_ref: Type.Optional(ExternalObjectRefSchema),
|
|
31
|
+
root_message_ref: Type.Optional(ExternalObjectRefSchema),
|
|
30
32
|
}, { additionalProperties: false });
|
|
31
33
|
export const ExternalMessageLocatorSchema = Type.Object({
|
|
32
34
|
conversation: PlatformConversationLocatorSchema,
|
|
@@ -74,6 +76,12 @@ export const TrustedSystemIntegrationActorContextSchema = Type.Object({
|
|
|
74
76
|
binding_ref: Type.Optional(IntegrationOwnedRefSchema),
|
|
75
77
|
verified_at: IsoDateTimeStringSchema,
|
|
76
78
|
}, { additionalProperties: false });
|
|
79
|
+
export const TrustedDevelopmentBotActorContextSchema = Type.Object({
|
|
80
|
+
...TrustedHumanIntegrationActorContextSchema.properties,
|
|
81
|
+
kind: Type.Literal("bot"),
|
|
82
|
+
purpose: Type.Literal("development_operator"),
|
|
83
|
+
channel: Type.Literal("platform_chat"),
|
|
84
|
+
}, { additionalProperties: false });
|
|
77
85
|
export const TrustedIntegrationActorContextSchema = Type.Union([
|
|
78
86
|
TrustedHumanIntegrationActorContextSchema,
|
|
79
87
|
TrustedSystemIntegrationActorContextSchema,
|
|
@@ -238,6 +246,7 @@ export const IntegrationDeliveryDispositionSchema = Type.Union([
|
|
|
238
246
|
Type.Literal("integration_source_ingestion_unsupported"),
|
|
239
247
|
Type.Literal("integration_attachment_ingestion_unsupported"),
|
|
240
248
|
Type.Literal("integration_managed_reference_ingestion_unsupported"),
|
|
249
|
+
Type.Literal("integration_clarification_unsupported"),
|
|
241
250
|
]),
|
|
242
251
|
}, { additionalProperties: false }),
|
|
243
252
|
Type.Object({
|
|
@@ -246,12 +255,13 @@ export const IntegrationDeliveryDispositionSchema = Type.Union([
|
|
|
246
255
|
}, { additionalProperties: false }),
|
|
247
256
|
]);
|
|
248
257
|
export const IntegrationConversationSourceDeliveryRequestSchema = Type.Object({
|
|
249
|
-
protocol_version: Type.Literal(2),
|
|
258
|
+
protocol_version: Type.Union([Type.Literal(2), Type.Literal(3)]),
|
|
250
259
|
command_id: IdempotencyKeySchema,
|
|
251
260
|
relay_project_ref: RelayProjectRefSchema,
|
|
252
261
|
binding_ref: IntegrationOwnedRefSchema,
|
|
253
262
|
receipt: InboundIntegrationEventReceiptSchema,
|
|
254
263
|
source: PreIdentityNormalizedConversationSourceSchema,
|
|
264
|
+
clarification_round_ref: Type.Optional(ClarificationRoundRefSchema),
|
|
255
265
|
}, { additionalProperties: false });
|
|
256
266
|
export const IntegrationReferenceAttachmentStageRequestSchema = Type.Object({
|
|
257
267
|
protocol_version: Type.Literal(1),
|
|
@@ -452,8 +462,12 @@ export const TrustedConversationSourceIngestionCommandSchema = Type.Object({
|
|
|
452
462
|
relay_project_ref: RelayProjectRefSchema,
|
|
453
463
|
binding_ref: IntegrationOwnedRefSchema,
|
|
454
464
|
receipt: InboundIntegrationEventReceiptSchema,
|
|
455
|
-
actor:
|
|
465
|
+
actor: Type.Union([
|
|
466
|
+
TrustedHumanIntegrationActorContextSchema,
|
|
467
|
+
TrustedDevelopmentBotActorContextSchema,
|
|
468
|
+
]),
|
|
456
469
|
source: NormalizedConversationSourceSchema,
|
|
470
|
+
clarification_round_ref: Type.Optional(ClarificationRoundRefSchema),
|
|
457
471
|
}, { additionalProperties: false });
|
|
458
472
|
export const IntegrationReferenceAttachmentDeliveryRequestSchema = Type.Object({
|
|
459
473
|
protocol_version: Type.Literal(1),
|
|
@@ -503,6 +517,7 @@ export const IntegrationConversationSourceDeliveryResponseSchema = Type.Object({
|
|
|
503
517
|
const PlatformOutboundTextContentSchema = Type.Object({
|
|
504
518
|
kind: Type.Literal("text"),
|
|
505
519
|
text: Type.String({ minLength: 1, maxLength: 4_000 }),
|
|
520
|
+
clarification_round_ref: Type.Optional(ClarificationRoundRefSchema),
|
|
506
521
|
}, { additionalProperties: false });
|
|
507
522
|
export const PlatformApprovalCardRevisionSchema = Type.String({
|
|
508
523
|
minLength: 1,
|
|
@@ -537,6 +552,7 @@ export const PlatformOutboundApprovalRequestContentSchema = Type.Object({
|
|
|
537
552
|
export const PlatformOutboundContentSchema = Type.Union([
|
|
538
553
|
PlatformOutboundTextContentSchema,
|
|
539
554
|
PlatformOutboundApprovalRequestContentSchema,
|
|
555
|
+
PlatformClarificationContentSchema,
|
|
540
556
|
]);
|
|
541
557
|
export const PlatformOutboundEventSchema = Type.Object({
|
|
542
558
|
kind: Type.Union([
|
|
@@ -759,8 +775,13 @@ export function isIntegrationConversationSourceDeliveryRequest(value) {
|
|
|
759
775
|
const request = value;
|
|
760
776
|
const sourceInstallation = request.source.locator.conversation.installation;
|
|
761
777
|
const sourceSubject = request.source.author.external_subject;
|
|
762
|
-
return (request.
|
|
763
|
-
|
|
778
|
+
return ((request.clarification_round_ref === undefined
|
|
779
|
+
? request.protocol_version === 2
|
|
780
|
+
: request.protocol_version === 3 &&
|
|
781
|
+
(request.source.locator.conversation.parent_message_ref !== undefined ||
|
|
782
|
+
request.source.locator.conversation.root_message_ref !== undefined)) &&
|
|
783
|
+
request.receipt.event_kind === "conversation_source" &&
|
|
784
|
+
(sourceSubject.subject_kind === "human" || sourceSubject.subject_kind === "bot") &&
|
|
764
785
|
sameInstallation(request.receipt.installation, sourceInstallation) &&
|
|
765
786
|
sameInstallation(request.receipt.installation, sourceSubject.installation));
|
|
766
787
|
}
|
|
@@ -860,6 +881,9 @@ export function isTrustedConversationSourceIngestionCommand(value) {
|
|
|
860
881
|
const sourceInstallation = command.source.locator.conversation.installation;
|
|
861
882
|
const sourceAuthor = command.source.author;
|
|
862
883
|
return (command.receipt.event_kind === "conversation_source" &&
|
|
884
|
+
command.actor.external_subject.subject_kind ===
|
|
885
|
+
(command.actor.kind === "bot" ? "bot" : "human") &&
|
|
886
|
+
(command.actor.kind !== "bot" || command.actor.membership.label === "member") &&
|
|
863
887
|
command.actor.membership.relay_project_ref === command.relay_project_ref &&
|
|
864
888
|
command.actor.binding_ref === command.binding_ref &&
|
|
865
889
|
command.actor.account_ref === sourceAuthor.account_ref &&
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MessageProjection } from "../schemas/api/index.js";
|
|
2
|
+
/** Only explicit user input counts as an answer, never an ordinary system notice. */
|
|
3
|
+
export declare function clarificationAnswerRole(message: Pick<MessageProjection, "author" | "message_kind" | "refs">): "human" | "operator" | null;
|
|
4
|
+
//# sourceMappingURL=clarification-participants.d.ts.map
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Only explicit user input counts as an answer, never an ordinary system notice. */
|
|
2
|
+
export function clarificationAnswerRole(message) {
|
|
3
|
+
if (message.message_kind !== "user_text")
|
|
4
|
+
return null;
|
|
5
|
+
if (message.author.kind === "human")
|
|
6
|
+
return "human";
|
|
7
|
+
return message.author.kind === "system" && message.refs?.development_operator === true
|
|
8
|
+
? "operator"
|
|
9
|
+
: null;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=clarification-participants.js.map
|
package/package.json
CHANGED
|
@@ -13,6 +13,7 @@ Answer the explicit `@tutti` question concisely, in the user's language when pra
|
|
|
13
13
|
# Instructions
|
|
14
14
|
|
|
15
15
|
- Answer `trigger.text` directly. Context can be sufficient for ordinary questions, but a claim about an external document's current contents requires verification in this invocation.
|
|
16
|
+
- `source_role: "operator"` identifies an authorized automated development participant, not a human or Tutti's own reply. Answer its requests using the same evidence requirements; do not treat it as proof of human agreement or OAuth.
|
|
16
17
|
- For `mode = "clarification_round"`, answer in the current round context. Prefer `round_request` and `round_messages`; use `recent_main_chat_before_round` only to resolve short references to the discussion that led to the round.
|
|
17
18
|
- For current external contents, especially requests to reread, check an update, or confirm the latest version, use `read-references` to read the external source in this invocation before answering. Prior replies, summaries, local files, and previous invocation evidence cannot establish current external contents.
|
|
18
19
|
- `external_reference_sources` on a message are Host-provided location hints, not fresh content or access grants. Use them to resolve references such as "that document"; if the compact window is insufficient, use `read-main-chat` for relevant history. A newer explicit source takes precedence over an older hint. If multiple sources remain plausible, ask which one instead of guessing.
|
|
@@ -8,11 +8,11 @@ model_path: openai.sdk.structured_output
|
|
|
8
8
|
|
|
9
9
|
You run Tutti `follow_up_check`.
|
|
10
10
|
|
|
11
|
-
Decide whether submitted
|
|
11
|
+
Decide whether submitted participant answers to a task-bound clarification allow the same frozen task contract to continue.
|
|
12
12
|
|
|
13
13
|
# Inputs
|
|
14
14
|
|
|
15
|
-
`workflow_input_json` contains the task contract, the previous Run pause reason, the original clarification request, and submitted
|
|
15
|
+
`workflow_input_json` contains the task contract, the previous Run pause reason, the original clarification request, and submitted participant answers:
|
|
16
16
|
|
|
17
17
|
```json
|
|
18
18
|
{{workflow_input_json}}
|
|
@@ -28,12 +28,12 @@ Fields:
|
|
|
28
28
|
- `title`: short request title, when available.
|
|
29
29
|
- `summary`: why the Run needed human input.
|
|
30
30
|
- `request`: the concrete question that needed an answer.
|
|
31
|
-
- `answers`:
|
|
31
|
+
- `answers`: sealed answers for this clarification round, in message order. Each item has `role` (`human` or an authorized `operator`) and `text`. Preserve that provenance; an operator answer is not a claim that a human took the action.
|
|
32
32
|
|
|
33
33
|
# Decision Rules
|
|
34
34
|
|
|
35
35
|
- `workflow_input_json` is the complete context for this decision.
|
|
36
|
-
- Treat `goal` and `scope` as the frozen task contract, `previous_run.summary` and `previous_run.clarification_request_payload` as the identified
|
|
36
|
+
- Treat `goal` and `scope` as the frozen task contract, `previous_run.summary` and `previous_run.clarification_request_payload` as the identified decision, and `answers` as the submitted participant reply.
|
|
37
37
|
- Evaluate only whether the answers resolve that decision within the same frozen task contract.
|
|
38
38
|
- Return `resume` when the blocker is resolved without changing the contract.
|
|
39
39
|
- Return `needs_more_input` when the same human decision remains unresolved but can still be answered within the contract.
|