@zixt/host 0.0.149 → 0.0.150
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/index.js +231 -157
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -28,7 +28,7 @@ import { homedir as homedir4 } from "node:os";
|
|
|
28
28
|
// package.json
|
|
29
29
|
var package_default = {
|
|
30
30
|
name: "@zixt/host",
|
|
31
|
-
version: "0.0.
|
|
31
|
+
version: "0.0.150",
|
|
32
32
|
type: "module",
|
|
33
33
|
exports: {
|
|
34
34
|
".": "./src/client.ts",
|
|
@@ -14717,7 +14717,9 @@ var ID_PREFIXES = {
|
|
|
14717
14717
|
/** One shared company fact every teammate and the Manager read (CP-1). */
|
|
14718
14718
|
companyProfileEntry: "cpe",
|
|
14719
14719
|
/** One reusable file the whole organization shares (CP-6). */
|
|
14720
|
-
companyAsset: "cas"
|
|
14720
|
+
companyAsset: "cas",
|
|
14721
|
+
/** One Manager-dispatched action for the person's shared browser screen. */
|
|
14722
|
+
screenAction: "sca"
|
|
14721
14723
|
};
|
|
14722
14724
|
var idPattern = (prefix) => new RegExp(`^${prefix}_[0-9a-f]{32}$`);
|
|
14723
14725
|
function newId(prefix) {
|
|
@@ -14807,6 +14809,7 @@ var GuideVoiceSessionId = idSchema(
|
|
|
14807
14809
|
"Guide voice session id"
|
|
14808
14810
|
);
|
|
14809
14811
|
var GuideVoiceSpeechId = idSchema(ID_PREFIXES.guideVoiceSpeech, "Guide speech id");
|
|
14812
|
+
var ManagerScreenActionId = idSchema(ID_PREFIXES.screenAction, "Manager screen action id");
|
|
14810
14813
|
var VoiceWebhookEventId = idSchema(
|
|
14811
14814
|
ID_PREFIXES.voiceWebhookEvent,
|
|
14812
14815
|
"voice webhook event id"
|
|
@@ -20149,7 +20152,9 @@ var ConversationEventProjection = external_exports.discriminatedUnion("kind", [
|
|
|
20149
20152
|
/** Present only for an Email Integration setup card (MG-24). */
|
|
20150
20153
|
emailSetupId: ManagerEmailSetupId.nullable().optional(),
|
|
20151
20154
|
/** Present only for an MCP connection setup card (MG-24). */
|
|
20152
|
-
mcpSetupId: ManagerMcpSetupId.nullable().optional()
|
|
20155
|
+
mcpSetupId: ManagerMcpSetupId.nullable().optional(),
|
|
20156
|
+
/** Present only for a screen action dispatched to the person's browser. */
|
|
20157
|
+
screenActionId: ManagerScreenActionId.nullable().optional()
|
|
20153
20158
|
}).strict(),
|
|
20154
20159
|
/** A mirrored child-Task event: what the teammate wrote or became. */
|
|
20155
20160
|
external_exports.object({
|
|
@@ -20496,7 +20501,13 @@ var CreateConversationRequest = external_exports.object({
|
|
|
20496
20501
|
*/
|
|
20497
20502
|
initialDelegation: external_exports.object({
|
|
20498
20503
|
runner: NonEmptyTaskRunnerSelection
|
|
20499
|
-
}).strict().optional()
|
|
20504
|
+
}).strict().optional(),
|
|
20505
|
+
/**
|
|
20506
|
+
* The publishing tab's screen session, when this thread is being started
|
|
20507
|
+
* beside a shared screen (MG-25). Same meaning as on a posted message: a
|
|
20508
|
+
* thread's very first turn may already use the screen tools.
|
|
20509
|
+
*/
|
|
20510
|
+
screenSessionId: external_exports.uuid().optional()
|
|
20500
20511
|
}).strict().superRefine((value, ctx) => {
|
|
20501
20512
|
if (!value.message.trim() && !value.attachmentIds?.length) {
|
|
20502
20513
|
ctx.addIssue({
|
|
@@ -20512,7 +20523,13 @@ var PostConversationMessageRequest = external_exports.object({
|
|
|
20512
20523
|
message: external_exports.string().max(CONVERSATION_MESSAGE_MAX),
|
|
20513
20524
|
attachmentIds: external_exports.array(AttachmentId).max(TASK_MESSAGE_MAX_ATTACHMENTS).refine((ids) => new Set(ids).size === ids.length, "duplicate attachment").optional(),
|
|
20514
20525
|
/** Selected Manager Browser teammate for Browser-directed requests only. */
|
|
20515
|
-
browserAgentId: AgentId.optional()
|
|
20526
|
+
browserAgentId: AgentId.optional(),
|
|
20527
|
+
/**
|
|
20528
|
+
* The browser tab sharing its Zixt screen with this turn. It attaches the
|
|
20529
|
+
* published screen snapshot to the turn; it never widens what the Manager
|
|
20530
|
+
* may do beyond what that screen explicitly exposes.
|
|
20531
|
+
*/
|
|
20532
|
+
screenSessionId: external_exports.uuid().optional()
|
|
20516
20533
|
}).strict().superRefine((value, ctx) => {
|
|
20517
20534
|
if (!value.message.trim() && !value.attachmentIds?.length) {
|
|
20518
20535
|
ctx.addIssue({
|
|
@@ -20616,7 +20633,14 @@ var InterruptConversationResponse = external_exports.object({
|
|
|
20616
20633
|
var ManagerStreamFrame = external_exports.discriminatedUnion("type", [
|
|
20617
20634
|
external_exports.object({ type: external_exports.literal("event"), event: ConversationEventProjection }).strict(),
|
|
20618
20635
|
external_exports.object({ type: external_exports.literal("delta"), text: external_exports.string() }).strict(),
|
|
20619
|
-
external_exports.object({ type: external_exports.literal("conversation"), conversation: ConversationProjection }).strict()
|
|
20636
|
+
external_exports.object({ type: external_exports.literal("conversation"), conversation: ConversationProjection }).strict(),
|
|
20637
|
+
/** Live-only presentation advice (never persisted): move the chat beside the
|
|
20638
|
+
* shared page or back to the full page. Old clients skip unknown frames. */
|
|
20639
|
+
external_exports.object({
|
|
20640
|
+
type: external_exports.literal("placement"),
|
|
20641
|
+
placement: external_exports.enum(["beside", "full"]),
|
|
20642
|
+
reason: external_exports.string().max(300)
|
|
20643
|
+
}).strict()
|
|
20620
20644
|
]);
|
|
20621
20645
|
|
|
20622
20646
|
// ../../packages/contracts/src/platform.ts
|
|
@@ -22008,6 +22032,207 @@ var BrowserVoicePresentationFrame = external_exports.discriminatedUnion("type",
|
|
|
22008
22032
|
var InterruptBrowserVoiceSessionRequest = external_exports.object({ speechId: VoiceTurnId }).strict();
|
|
22009
22033
|
var InterruptBrowserVoiceSessionResponse = external_exports.object({ interrupted: external_exports.boolean() }).strict();
|
|
22010
22034
|
|
|
22035
|
+
// ../../packages/contracts/src/setup-guide.ts
|
|
22036
|
+
var GuideText = external_exports.string().trim().min(1).max(4e3);
|
|
22037
|
+
var SetupGuideHistoryMessage = external_exports.object({
|
|
22038
|
+
role: external_exports.enum(["user", "assistant"]),
|
|
22039
|
+
text: GuideText
|
|
22040
|
+
});
|
|
22041
|
+
var SetupGuideContextFact = external_exports.object({
|
|
22042
|
+
label: external_exports.string().trim().min(1).max(80),
|
|
22043
|
+
value: external_exports.string().trim().min(1).max(500)
|
|
22044
|
+
});
|
|
22045
|
+
var SetupGuideActionInput = external_exports.object({
|
|
22046
|
+
key: external_exports.string().regex(/^[a-z][a-z0-9_]{0,63}$/),
|
|
22047
|
+
description: external_exports.string().trim().min(1).max(500),
|
|
22048
|
+
required: external_exports.boolean().default(false)
|
|
22049
|
+
});
|
|
22050
|
+
var SetupGuideAvailableAction = external_exports.object({
|
|
22051
|
+
id: external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/),
|
|
22052
|
+
label: external_exports.string().trim().min(1).max(100),
|
|
22053
|
+
description: external_exports.string().trim().min(1).max(800),
|
|
22054
|
+
inputs: external_exports.array(SetupGuideActionInput).max(12).default([])
|
|
22055
|
+
});
|
|
22056
|
+
var SetupGuideActionParameter = external_exports.object({
|
|
22057
|
+
key: external_exports.string().regex(/^[a-z][a-z0-9_]{0,63}$/),
|
|
22058
|
+
value: external_exports.string().max(4e3)
|
|
22059
|
+
});
|
|
22060
|
+
var SetupGuidePageContext = external_exports.object({
|
|
22061
|
+
id: external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/),
|
|
22062
|
+
title: external_exports.string().trim().min(1).max(160),
|
|
22063
|
+
description: external_exports.string().trim().min(1).max(1e3),
|
|
22064
|
+
route: external_exports.string().startsWith("/").max(2e3),
|
|
22065
|
+
draftStatus: external_exports.enum(["none", "saved", "saving", "unsaved", "conflict"]),
|
|
22066
|
+
facts: external_exports.array(SetupGuideContextFact).max(30).default([])
|
|
22067
|
+
});
|
|
22068
|
+
var SetupGuideOnboardingState = external_exports.object({
|
|
22069
|
+
teammateCount: external_exports.number().int().min(0).max(1e5),
|
|
22070
|
+
connectedMachineCount: external_exports.number().int().min(0).max(1e5),
|
|
22071
|
+
integrationCount: external_exports.number().int().min(0).max(1e5),
|
|
22072
|
+
completedTaskCount: external_exports.number().int().min(0).max(1e5)
|
|
22073
|
+
});
|
|
22074
|
+
var SetupGuideToolResult = external_exports.object({
|
|
22075
|
+
actionId: external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/),
|
|
22076
|
+
label: external_exports.string().trim().min(1).max(100),
|
|
22077
|
+
parameters: external_exports.array(SetupGuideActionParameter).max(12),
|
|
22078
|
+
status: external_exports.enum(["success", "error"]),
|
|
22079
|
+
result: external_exports.string().trim().min(1).max(4e3),
|
|
22080
|
+
page: SetupGuidePageContext
|
|
22081
|
+
});
|
|
22082
|
+
var SetupGuideMission = external_exports.object({
|
|
22083
|
+
id: external_exports.string().regex(/^[a-z][a-z0-9_.:-]{0,120}$/),
|
|
22084
|
+
kind: external_exports.enum(["machine", "teammate", "integration", "automation", "first_task"]),
|
|
22085
|
+
goal: external_exports.string().trim().min(1).max(600),
|
|
22086
|
+
targetHref: external_exports.string().startsWith("/").max(2e3),
|
|
22087
|
+
returnHref: external_exports.string().startsWith("/").max(2e3),
|
|
22088
|
+
facts: external_exports.array(SetupGuideContextFact).max(12).default([]),
|
|
22089
|
+
/** Never a secret; the Guide only fills visible non-secure fields with these. */
|
|
22090
|
+
prefills: external_exports.array(SetupGuideActionParameter).max(12).default([])
|
|
22091
|
+
});
|
|
22092
|
+
var SetupGuideReplyRequest = external_exports.object({
|
|
22093
|
+
message: GuideText,
|
|
22094
|
+
history: external_exports.array(SetupGuideHistoryMessage).max(12).default([]),
|
|
22095
|
+
page: SetupGuidePageContext,
|
|
22096
|
+
onboarding: SetupGuideOnboardingState,
|
|
22097
|
+
actions: external_exports.array(SetupGuideAvailableAction).max(128),
|
|
22098
|
+
toolResults: external_exports.array(SetupGuideToolResult).max(12).default([]),
|
|
22099
|
+
mission: SetupGuideMission.nullable().optional(),
|
|
22100
|
+
/**
|
|
22101
|
+
* The live Guide voice session this turn was spoken into. It only authorizes
|
|
22102
|
+
* the resulting reply to be spoken on that same session; it never changes
|
|
22103
|
+
* what the Guide may read, propose, or execute.
|
|
22104
|
+
*/
|
|
22105
|
+
voiceSessionId: GuideVoiceSessionId.optional()
|
|
22106
|
+
});
|
|
22107
|
+
var SetupGuideProposedAction = external_exports.object({
|
|
22108
|
+
actionId: external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/),
|
|
22109
|
+
label: external_exports.string().trim().min(1).max(100),
|
|
22110
|
+
/**
|
|
22111
|
+
* An array keeps the structured-output schema closed and provider-compatible;
|
|
22112
|
+
* the authenticated UI normalizes allowed entries before executing an action.
|
|
22113
|
+
*/
|
|
22114
|
+
parameters: external_exports.array(SetupGuideActionParameter).max(12)
|
|
22115
|
+
});
|
|
22116
|
+
var SetupGuideAnswer = external_exports.object({
|
|
22117
|
+
message: GuideText,
|
|
22118
|
+
/** One tool at a time keeps UI execution and its result causally ordered. */
|
|
22119
|
+
proposedActions: external_exports.array(SetupGuideProposedAction).max(1)
|
|
22120
|
+
});
|
|
22121
|
+
var SetupGuideReplyResponse = SetupGuideAnswer.extend({
|
|
22122
|
+
/**
|
|
22123
|
+
* Identity this exact committed reply may be spoken under, present only when
|
|
22124
|
+
* the request named a live voice session. The browser runs a bounded action
|
|
22125
|
+
* loop, so only it knows which reply in that loop is the person's answer;
|
|
22126
|
+
* this id is how it says "speak that one" without ever sending prose back for
|
|
22127
|
+
* the cloud to read aloud.
|
|
22128
|
+
*/
|
|
22129
|
+
speech: external_exports.object({ id: GuideVoiceSpeechId }).strict().nullable().default(null)
|
|
22130
|
+
});
|
|
22131
|
+
var SetupGuideTranscriptionRequest = external_exports.object({
|
|
22132
|
+
mediaType: external_exports.enum(["audio/webm", "audio/mp4", "audio/ogg"]),
|
|
22133
|
+
/** Bounded short-lived audio. The route decodes it in memory and never stores it. */
|
|
22134
|
+
data: external_exports.string().min(1).max(8e6)
|
|
22135
|
+
});
|
|
22136
|
+
var SetupGuideTranscriptionResponse = external_exports.object({
|
|
22137
|
+
text: GuideText
|
|
22138
|
+
});
|
|
22139
|
+
var StartGuideVoiceSessionRequest = external_exports.object({
|
|
22140
|
+
/** Stable client fence; an ambiguous provider create is never resubmitted under it. */
|
|
22141
|
+
requestId: external_exports.uuid(),
|
|
22142
|
+
offerSdp: BrowserVoiceSessionDescription
|
|
22143
|
+
}).strict();
|
|
22144
|
+
var GuideVoiceSessionStatus = external_exports.enum([
|
|
22145
|
+
"connecting",
|
|
22146
|
+
"connected",
|
|
22147
|
+
"ending",
|
|
22148
|
+
"ended",
|
|
22149
|
+
"failed"
|
|
22150
|
+
]);
|
|
22151
|
+
var GuideVoiceSessionProjection = external_exports.object({
|
|
22152
|
+
id: GuideVoiceSessionId,
|
|
22153
|
+
status: GuideVoiceSessionStatus,
|
|
22154
|
+
startedAt: IsoDate2,
|
|
22155
|
+
expiresAt: IsoDate2
|
|
22156
|
+
}).strict();
|
|
22157
|
+
var StartGuideVoiceSessionResponse = external_exports.object({
|
|
22158
|
+
session: GuideVoiceSessionProjection,
|
|
22159
|
+
/** Applied directly to the browser peer connection and never persisted by Zixt. */
|
|
22160
|
+
answerSdp: BrowserVoiceSessionDescription
|
|
22161
|
+
}).strict();
|
|
22162
|
+
var AckGuideVoiceSessionResponse = external_exports.object({ session: GuideVoiceSessionProjection }).strict();
|
|
22163
|
+
var EndGuideVoiceSessionResponse = external_exports.object({ ended: external_exports.literal(true) }).strict();
|
|
22164
|
+
var GuideVoiceCaption = external_exports.string().max(4e3);
|
|
22165
|
+
var GuideVoicePresentationFrame = external_exports.discriminatedUnion("type", [
|
|
22166
|
+
external_exports.object({ type: external_exports.literal("listening_started") }).strict(),
|
|
22167
|
+
external_exports.object({ type: external_exports.literal("listening_stopped") }).strict(),
|
|
22168
|
+
external_exports.object({ type: external_exports.literal("user_caption"), text: GuideVoiceCaption, final: external_exports.boolean() }).strict(),
|
|
22169
|
+
external_exports.object({
|
|
22170
|
+
type: external_exports.literal("guide_speech_started"),
|
|
22171
|
+
speechId: GuideVoiceSpeechId,
|
|
22172
|
+
text: GuideVoiceCaption
|
|
22173
|
+
}).strict(),
|
|
22174
|
+
external_exports.object({ type: external_exports.literal("guide_speech_stopped"), speechId: GuideVoiceSpeechId }).strict(),
|
|
22175
|
+
external_exports.object({ type: external_exports.literal("guide_speech_failed"), speechId: GuideVoiceSpeechId }).strict(),
|
|
22176
|
+
external_exports.object({ type: external_exports.literal("guide_speech_idle") }).strict(),
|
|
22177
|
+
external_exports.object({ type: external_exports.literal("transcription_failed") }).strict(),
|
|
22178
|
+
external_exports.object({ type: external_exports.literal("session_ended") }).strict(),
|
|
22179
|
+
external_exports.object({ type: external_exports.literal("session_failed") }).strict()
|
|
22180
|
+
]);
|
|
22181
|
+
var SpeakGuideVoiceReplyRequest = external_exports.object({ speechId: GuideVoiceSpeechId }).strict();
|
|
22182
|
+
var SpeakGuideVoiceReplyResponse = external_exports.object({ speaking: external_exports.boolean() }).strict();
|
|
22183
|
+
var InterruptGuideVoiceSessionRequest = external_exports.object({ speechId: GuideVoiceSpeechId }).strict();
|
|
22184
|
+
var InterruptGuideVoiceSessionResponse = external_exports.object({ interrupted: external_exports.boolean() }).strict();
|
|
22185
|
+
|
|
22186
|
+
// ../../packages/contracts/src/manager-screen.ts
|
|
22187
|
+
var MANAGER_SCREEN_MAX_ACTIONS = 128;
|
|
22188
|
+
var ManagerScreenAction = SetupGuideAvailableAction.extend({
|
|
22189
|
+
autoRun: external_exports.boolean().default(false)
|
|
22190
|
+
});
|
|
22191
|
+
var ManagerScreenSnapshot = external_exports.object({
|
|
22192
|
+
/** Client-generated per-tab session id; one screen per (member, tab). */
|
|
22193
|
+
sessionId: external_exports.uuid(),
|
|
22194
|
+
page: SetupGuidePageContext,
|
|
22195
|
+
actions: external_exports.array(ManagerScreenAction).max(MANAGER_SCREEN_MAX_ACTIONS),
|
|
22196
|
+
/** False while the sharing tab is hidden; the Manager refuses a blind drive. */
|
|
22197
|
+
visible: external_exports.boolean(),
|
|
22198
|
+
/** Client-monotonic per-session counter; an out-of-order publish loses. */
|
|
22199
|
+
revision: external_exports.number().int().min(0),
|
|
22200
|
+
capturedAt: IsoDate2
|
|
22201
|
+
});
|
|
22202
|
+
var PublishManagerScreenRequest = ManagerScreenSnapshot.omit({
|
|
22203
|
+
capturedAt: true
|
|
22204
|
+
}).strict();
|
|
22205
|
+
var PublishManagerScreenResponse = external_exports.object({ stored: external_exports.literal(true) }).strict();
|
|
22206
|
+
var ManagerScreenActionStatus = external_exports.enum(["proposed", "claimed", "settled", "expired"]);
|
|
22207
|
+
var MANAGER_SCREEN_RESULT_MAX = 4e3;
|
|
22208
|
+
var ManagerScreenActionProjection = external_exports.object({
|
|
22209
|
+
id: ManagerScreenActionId,
|
|
22210
|
+
conversationId: ConversationId,
|
|
22211
|
+
sessionId: external_exports.uuid(),
|
|
22212
|
+
actionId: external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/),
|
|
22213
|
+
label: external_exports.string().trim().min(1).max(100),
|
|
22214
|
+
parameters: external_exports.array(SetupGuideActionParameter).max(12),
|
|
22215
|
+
status: ManagerScreenActionStatus,
|
|
22216
|
+
settledStatus: external_exports.enum(["success", "error"]).nullable(),
|
|
22217
|
+
result: external_exports.string().max(MANAGER_SCREEN_RESULT_MAX).nullable(),
|
|
22218
|
+
createdAt: IsoDate2,
|
|
22219
|
+
claimedAt: IsoDate2.nullable(),
|
|
22220
|
+
settledAt: IsoDate2.nullable()
|
|
22221
|
+
}).strict();
|
|
22222
|
+
var ClaimManagerScreenActionRequest = external_exports.object({ sessionId: external_exports.uuid() }).strict();
|
|
22223
|
+
var ClaimManagerScreenActionResponse = external_exports.object({ action: ManagerScreenActionProjection }).strict();
|
|
22224
|
+
var SettleManagerScreenActionRequest = external_exports.object({
|
|
22225
|
+
sessionId: external_exports.uuid(),
|
|
22226
|
+
status: external_exports.enum(["success", "error"]),
|
|
22227
|
+
result: external_exports.string().max(MANAGER_SCREEN_RESULT_MAX),
|
|
22228
|
+
/** The screen after the action ran, so the next read reflects reality. */
|
|
22229
|
+
page: SetupGuidePageContext,
|
|
22230
|
+
/** Whether the sharing tab was still visible when execution finished. */
|
|
22231
|
+
visible: external_exports.boolean()
|
|
22232
|
+
}).strict();
|
|
22233
|
+
var SettleManagerScreenActionResponse = external_exports.object({ action: ManagerScreenActionProjection }).strict();
|
|
22234
|
+
var GetManagerCompanionResponse = external_exports.object({ conversationId: ConversationId.nullable() }).strict();
|
|
22235
|
+
|
|
22011
22236
|
// ../../packages/contracts/src/slack.ts
|
|
22012
22237
|
var SlackInstallationProjection = external_exports.object({
|
|
22013
22238
|
id: external_exports.string(),
|
|
@@ -22521,157 +22746,6 @@ var DeleteBrowserPushSubscriptionRequest = external_exports.object({
|
|
|
22521
22746
|
var BrowserPushSubscriptionResponse = external_exports.object({ saved: external_exports.literal(true) });
|
|
22522
22747
|
var DeleteBrowserPushSubscriptionResponse = external_exports.object({ deleted: external_exports.boolean() });
|
|
22523
22748
|
|
|
22524
|
-
// ../../packages/contracts/src/setup-guide.ts
|
|
22525
|
-
var GuideText = external_exports.string().trim().min(1).max(4e3);
|
|
22526
|
-
var SetupGuideHistoryMessage = external_exports.object({
|
|
22527
|
-
role: external_exports.enum(["user", "assistant"]),
|
|
22528
|
-
text: GuideText
|
|
22529
|
-
});
|
|
22530
|
-
var SetupGuideContextFact = external_exports.object({
|
|
22531
|
-
label: external_exports.string().trim().min(1).max(80),
|
|
22532
|
-
value: external_exports.string().trim().min(1).max(500)
|
|
22533
|
-
});
|
|
22534
|
-
var SetupGuideActionInput = external_exports.object({
|
|
22535
|
-
key: external_exports.string().regex(/^[a-z][a-z0-9_]{0,63}$/),
|
|
22536
|
-
description: external_exports.string().trim().min(1).max(500),
|
|
22537
|
-
required: external_exports.boolean().default(false)
|
|
22538
|
-
});
|
|
22539
|
-
var SetupGuideAvailableAction = external_exports.object({
|
|
22540
|
-
id: external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/),
|
|
22541
|
-
label: external_exports.string().trim().min(1).max(100),
|
|
22542
|
-
description: external_exports.string().trim().min(1).max(800),
|
|
22543
|
-
inputs: external_exports.array(SetupGuideActionInput).max(12).default([])
|
|
22544
|
-
});
|
|
22545
|
-
var SetupGuideActionParameter = external_exports.object({
|
|
22546
|
-
key: external_exports.string().regex(/^[a-z][a-z0-9_]{0,63}$/),
|
|
22547
|
-
value: external_exports.string().max(4e3)
|
|
22548
|
-
});
|
|
22549
|
-
var SetupGuidePageContext = external_exports.object({
|
|
22550
|
-
id: external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/),
|
|
22551
|
-
title: external_exports.string().trim().min(1).max(160),
|
|
22552
|
-
description: external_exports.string().trim().min(1).max(1e3),
|
|
22553
|
-
route: external_exports.string().startsWith("/").max(2e3),
|
|
22554
|
-
draftStatus: external_exports.enum(["none", "saved", "saving", "unsaved", "conflict"]),
|
|
22555
|
-
facts: external_exports.array(SetupGuideContextFact).max(30).default([])
|
|
22556
|
-
});
|
|
22557
|
-
var SetupGuideOnboardingState = external_exports.object({
|
|
22558
|
-
teammateCount: external_exports.number().int().min(0).max(1e5),
|
|
22559
|
-
connectedMachineCount: external_exports.number().int().min(0).max(1e5),
|
|
22560
|
-
integrationCount: external_exports.number().int().min(0).max(1e5),
|
|
22561
|
-
completedTaskCount: external_exports.number().int().min(0).max(1e5)
|
|
22562
|
-
});
|
|
22563
|
-
var SetupGuideToolResult = external_exports.object({
|
|
22564
|
-
actionId: external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/),
|
|
22565
|
-
label: external_exports.string().trim().min(1).max(100),
|
|
22566
|
-
parameters: external_exports.array(SetupGuideActionParameter).max(12),
|
|
22567
|
-
status: external_exports.enum(["success", "error"]),
|
|
22568
|
-
result: external_exports.string().trim().min(1).max(4e3),
|
|
22569
|
-
page: SetupGuidePageContext
|
|
22570
|
-
});
|
|
22571
|
-
var SetupGuideMission = external_exports.object({
|
|
22572
|
-
id: external_exports.string().regex(/^[a-z][a-z0-9_.:-]{0,120}$/),
|
|
22573
|
-
kind: external_exports.enum(["machine", "teammate", "integration", "automation", "first_task"]),
|
|
22574
|
-
goal: external_exports.string().trim().min(1).max(600),
|
|
22575
|
-
targetHref: external_exports.string().startsWith("/").max(2e3),
|
|
22576
|
-
returnHref: external_exports.string().startsWith("/").max(2e3),
|
|
22577
|
-
facts: external_exports.array(SetupGuideContextFact).max(12).default([]),
|
|
22578
|
-
/** Never a secret; the Guide only fills visible non-secure fields with these. */
|
|
22579
|
-
prefills: external_exports.array(SetupGuideActionParameter).max(12).default([])
|
|
22580
|
-
});
|
|
22581
|
-
var SetupGuideReplyRequest = external_exports.object({
|
|
22582
|
-
message: GuideText,
|
|
22583
|
-
history: external_exports.array(SetupGuideHistoryMessage).max(12).default([]),
|
|
22584
|
-
page: SetupGuidePageContext,
|
|
22585
|
-
onboarding: SetupGuideOnboardingState,
|
|
22586
|
-
actions: external_exports.array(SetupGuideAvailableAction).max(128),
|
|
22587
|
-
toolResults: external_exports.array(SetupGuideToolResult).max(12).default([]),
|
|
22588
|
-
mission: SetupGuideMission.nullable().optional(),
|
|
22589
|
-
/**
|
|
22590
|
-
* The live Guide voice session this turn was spoken into. It only authorizes
|
|
22591
|
-
* the resulting reply to be spoken on that same session; it never changes
|
|
22592
|
-
* what the Guide may read, propose, or execute.
|
|
22593
|
-
*/
|
|
22594
|
-
voiceSessionId: GuideVoiceSessionId.optional()
|
|
22595
|
-
});
|
|
22596
|
-
var SetupGuideProposedAction = external_exports.object({
|
|
22597
|
-
actionId: external_exports.string().regex(/^[a-z][a-z0-9_.-]{0,79}$/),
|
|
22598
|
-
label: external_exports.string().trim().min(1).max(100),
|
|
22599
|
-
/**
|
|
22600
|
-
* An array keeps the structured-output schema closed and provider-compatible;
|
|
22601
|
-
* the authenticated UI normalizes allowed entries before executing an action.
|
|
22602
|
-
*/
|
|
22603
|
-
parameters: external_exports.array(SetupGuideActionParameter).max(12)
|
|
22604
|
-
});
|
|
22605
|
-
var SetupGuideAnswer = external_exports.object({
|
|
22606
|
-
message: GuideText,
|
|
22607
|
-
/** One tool at a time keeps UI execution and its result causally ordered. */
|
|
22608
|
-
proposedActions: external_exports.array(SetupGuideProposedAction).max(1)
|
|
22609
|
-
});
|
|
22610
|
-
var SetupGuideReplyResponse = SetupGuideAnswer.extend({
|
|
22611
|
-
/**
|
|
22612
|
-
* Identity this exact committed reply may be spoken under, present only when
|
|
22613
|
-
* the request named a live voice session. The browser runs a bounded action
|
|
22614
|
-
* loop, so only it knows which reply in that loop is the person's answer;
|
|
22615
|
-
* this id is how it says "speak that one" without ever sending prose back for
|
|
22616
|
-
* the cloud to read aloud.
|
|
22617
|
-
*/
|
|
22618
|
-
speech: external_exports.object({ id: GuideVoiceSpeechId }).strict().nullable().default(null)
|
|
22619
|
-
});
|
|
22620
|
-
var SetupGuideTranscriptionRequest = external_exports.object({
|
|
22621
|
-
mediaType: external_exports.enum(["audio/webm", "audio/mp4", "audio/ogg"]),
|
|
22622
|
-
/** Bounded short-lived audio. The route decodes it in memory and never stores it. */
|
|
22623
|
-
data: external_exports.string().min(1).max(8e6)
|
|
22624
|
-
});
|
|
22625
|
-
var SetupGuideTranscriptionResponse = external_exports.object({
|
|
22626
|
-
text: GuideText
|
|
22627
|
-
});
|
|
22628
|
-
var StartGuideVoiceSessionRequest = external_exports.object({
|
|
22629
|
-
/** Stable client fence; an ambiguous provider create is never resubmitted under it. */
|
|
22630
|
-
requestId: external_exports.uuid(),
|
|
22631
|
-
offerSdp: BrowserVoiceSessionDescription
|
|
22632
|
-
}).strict();
|
|
22633
|
-
var GuideVoiceSessionStatus = external_exports.enum([
|
|
22634
|
-
"connecting",
|
|
22635
|
-
"connected",
|
|
22636
|
-
"ending",
|
|
22637
|
-
"ended",
|
|
22638
|
-
"failed"
|
|
22639
|
-
]);
|
|
22640
|
-
var GuideVoiceSessionProjection = external_exports.object({
|
|
22641
|
-
id: GuideVoiceSessionId,
|
|
22642
|
-
status: GuideVoiceSessionStatus,
|
|
22643
|
-
startedAt: IsoDate2,
|
|
22644
|
-
expiresAt: IsoDate2
|
|
22645
|
-
}).strict();
|
|
22646
|
-
var StartGuideVoiceSessionResponse = external_exports.object({
|
|
22647
|
-
session: GuideVoiceSessionProjection,
|
|
22648
|
-
/** Applied directly to the browser peer connection and never persisted by Zixt. */
|
|
22649
|
-
answerSdp: BrowserVoiceSessionDescription
|
|
22650
|
-
}).strict();
|
|
22651
|
-
var AckGuideVoiceSessionResponse = external_exports.object({ session: GuideVoiceSessionProjection }).strict();
|
|
22652
|
-
var EndGuideVoiceSessionResponse = external_exports.object({ ended: external_exports.literal(true) }).strict();
|
|
22653
|
-
var GuideVoiceCaption = external_exports.string().max(4e3);
|
|
22654
|
-
var GuideVoicePresentationFrame = external_exports.discriminatedUnion("type", [
|
|
22655
|
-
external_exports.object({ type: external_exports.literal("listening_started") }).strict(),
|
|
22656
|
-
external_exports.object({ type: external_exports.literal("listening_stopped") }).strict(),
|
|
22657
|
-
external_exports.object({ type: external_exports.literal("user_caption"), text: GuideVoiceCaption, final: external_exports.boolean() }).strict(),
|
|
22658
|
-
external_exports.object({
|
|
22659
|
-
type: external_exports.literal("guide_speech_started"),
|
|
22660
|
-
speechId: GuideVoiceSpeechId,
|
|
22661
|
-
text: GuideVoiceCaption
|
|
22662
|
-
}).strict(),
|
|
22663
|
-
external_exports.object({ type: external_exports.literal("guide_speech_stopped"), speechId: GuideVoiceSpeechId }).strict(),
|
|
22664
|
-
external_exports.object({ type: external_exports.literal("guide_speech_failed"), speechId: GuideVoiceSpeechId }).strict(),
|
|
22665
|
-
external_exports.object({ type: external_exports.literal("guide_speech_idle") }).strict(),
|
|
22666
|
-
external_exports.object({ type: external_exports.literal("transcription_failed") }).strict(),
|
|
22667
|
-
external_exports.object({ type: external_exports.literal("session_ended") }).strict(),
|
|
22668
|
-
external_exports.object({ type: external_exports.literal("session_failed") }).strict()
|
|
22669
|
-
]);
|
|
22670
|
-
var SpeakGuideVoiceReplyRequest = external_exports.object({ speechId: GuideVoiceSpeechId }).strict();
|
|
22671
|
-
var SpeakGuideVoiceReplyResponse = external_exports.object({ speaking: external_exports.boolean() }).strict();
|
|
22672
|
-
var InterruptGuideVoiceSessionRequest = external_exports.object({ speechId: GuideVoiceSpeechId }).strict();
|
|
22673
|
-
var InterruptGuideVoiceSessionResponse = external_exports.object({ interrupted: external_exports.boolean() }).strict();
|
|
22674
|
-
|
|
22675
22749
|
// ../../packages/contracts/src/roles.ts
|
|
22676
22750
|
var CompanyToolKind = external_exports.enum([
|
|
22677
22751
|
"github",
|