@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.
Files changed (2) hide show
  1. package/dist/index.js +231 -157
  2. 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.149",
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",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zixt/host",
3
- "version": "0.0.149",
3
+ "version": "0.0.150",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./src/client.ts",