@qlzt/dsh-subagent 0.2.1-alpha.3 → 0.2.1-rc.2

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.
@@ -1,10 +1,12 @@
1
1
  /* Generated by @qlzt/dsh-typert-generator from FaceModel — do not edit. */
2
2
  import { z } from 'zod'
3
3
 
4
+ import { createTypertRemoteInfo } from '@qlzt/dsh-typert-protocol/remote-info'
5
+
4
6
  let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema$value
5
- const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema$value ??= z.intersection(z.string(), z.unknown()))
7
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema$value ??= z.string())
6
8
  let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema$value
7
- const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema$value ??= z.intersection(z.string(), z.unknown()))
9
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema$value ??= z.string())
8
10
  let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2$schema$value
9
11
  const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2$schema$value ??= z.literal("continuable"))
10
12
  let _deepseek_ai_dsh_subagent_subagents_interruptByParent_result$schema$value
@@ -13,11 +15,11 @@ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_result$schema = () =
13
15
  }))
14
16
  let _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema$value
15
17
  const _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema = () => (_deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema$value ??= z.object({
16
- 'requestId': z.intersection(z.string(), z.unknown()).readonly(),
17
- 'parentSessionId': z.intersection(z.string(), z.unknown()).readonly(),
18
- 'childSessionId': z.intersection(z.string(), z.unknown()).readonly(),
19
- 'mode': z.literal("continuable").readonly(),
20
- 'delivery': z.union([z.literal("queue"), z.literal("steer")]).readonly(),
18
+ 'requestId': z.string().readonly().describe('Identity persisted on the accepted message, minted before the call.'),
19
+ 'parentSessionId': z.string().readonly(),
20
+ 'childSessionId': z.string().readonly(),
21
+ 'mode': z.literal("continuable").readonly().describe('Required discriminator retained from the browser control address.'),
22
+ 'delivery': z.union([z.literal("queue"), z.literal("steer")]).readonly().describe('Whether this message queues a later turn or targets the nearest step.'),
21
23
  'content': z.array(z.union([z.object({
22
24
  'type': z.literal("text").readonly(),
23
25
  'text': z.string().readonly(),
@@ -26,55 +28,95 @@ const _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema = () => (_de
26
28
  'mediaType': z.union([z.literal("image/png"), z.literal("image/jpeg"), z.literal("image/webp"), z.literal("image/gif")]).readonly(),
27
29
  'data': z.string().readonly(),
28
30
  'name': z.string().readonly().optional(),
29
- })])).readonly(),
30
- 'clientTimeZone': z.string().readonly().optional(),
31
+ })])).readonly().describe('Browser prompt parts delivered as the child\'s user message. The Host admits and persists image parts before delivery, so the wire never carries a durable attachment reference the caller could fabricate.'),
32
+ 'clientTimeZone': z.string().readonly().optional().describe('Optional browser zone sampled for this exact human prompt.'),
31
33
  }))
32
34
  let _deepseek_ai_dsh_subagent_subagents_prompt_result$schema$value
33
35
  const _deepseek_ai_dsh_subagent_subagents_prompt_result$schema = () => (_deepseek_ai_dsh_subagent_subagents_prompt_result$schema$value ??= z.object({
34
- 'messageId': z.intersection(z.string(), z.unknown()).readonly(),
36
+ 'messageId': z.string().readonly(),
37
+ }))
38
+ let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0_strict$schema$value
39
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0_strict$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0_strict$schema$value ??= z.string())
40
+ let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1_strict$schema$value
41
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1_strict$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1_strict$schema$value ??= z.string())
42
+ let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2_strict$schema$value
43
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2_strict$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2_strict$schema$value ??= z.literal("continuable"))
44
+ let _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0_strict$schema$value
45
+ const _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0_strict$schema = () => (_deepseek_ai_dsh_subagent_subagents_prompt_parameter_0_strict$schema$value ??= z.strictObject({
46
+ 'requestId': z.string().readonly().describe('Identity persisted on the accepted message, minted before the call.'),
47
+ 'parentSessionId': z.string().readonly(),
48
+ 'childSessionId': z.string().readonly(),
49
+ 'mode': z.literal("continuable").readonly().describe('Required discriminator retained from the browser control address.'),
50
+ 'delivery': z.union([z.literal("queue"), z.literal("steer")]).readonly().describe('Whether this message queues a later turn or targets the nearest step.'),
51
+ 'content': z.array(z.union([z.strictObject({
52
+ 'type': z.literal("text").readonly(),
53
+ 'text': z.string().readonly(),
54
+ }), z.strictObject({
55
+ 'type': z.literal("image").readonly(),
56
+ 'mediaType': z.union([z.literal("image/png"), z.literal("image/jpeg"), z.literal("image/webp"), z.literal("image/gif")]).readonly(),
57
+ 'data': z.string().readonly(),
58
+ 'name': z.string().readonly().optional(),
59
+ })])).readonly().describe('Browser prompt parts delivered as the child\'s user message. The Host admits and persists image parts before delivery, so the wire never carries a durable attachment reference the caller could fabricate.'),
60
+ 'clientTimeZone': z.string().readonly().optional().describe('Optional browser zone sampled for this exact human prompt.'),
35
61
  }))
36
62
 
37
- export const TYPERT = {
63
+ const $remote = createTypertRemoteInfo({
38
64
  package: '@qlzt/dsh-subagent',
39
- face: 'host',
40
- schemas: [
41
- ],
42
- invocations: [
43
- {
44
- id: '@qlzt/dsh-subagent#subagents/interruptByParent',
65
+ methods: {
66
+ 'subagents/interruptByParent': {
45
67
  service: 'subagents',
46
- namespace: 'subagents',
47
- method: 'interruptByParent',
68
+ description: 'Remote face of {@link interrupt} under one durable parent address. No catalog, history, persistence, or parent Agent lookup runs: the core primitive alone authorizes the address against the live Activation, which is what keeps a live child interruptible while its parent Agent is offline. Absent, idle, and already-completed targets are accepted no-ops there.',
48
69
  invocation: { kind: 'direct' },
49
70
  parameters: [
50
71
  {
51
72
  name: 'childSessionId',
52
- wire: 'childSessionId',
73
+ description: 'durable child session id to interrupt.',
53
74
  source: 'json',
54
75
  codec: {
55
76
  mode: 'strict',
56
77
  typeSymbol: '@qlzt/dsh-session/types#SessionId',
57
78
  create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema,
79
+ jsonSchema: {"type":"string"},
80
+ },
81
+ strictCodec: {
82
+ mode: 'strict',
83
+ typeSymbol: '@qlzt/dsh-session/types#SessionId',
84
+ create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0_strict$schema,
85
+ jsonSchema: {"type":"string"},
58
86
  },
59
87
  },
60
88
  {
61
89
  name: 'parentSessionId',
62
- wire: 'parentSessionId',
90
+ description: 'durable direct parent whose authority is claimed.',
63
91
  source: 'json',
64
92
  codec: {
65
93
  mode: 'strict',
66
94
  typeSymbol: '@qlzt/dsh-session/types#SessionId',
67
95
  create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema,
96
+ jsonSchema: {"type":"string"},
97
+ },
98
+ strictCodec: {
99
+ mode: 'strict',
100
+ typeSymbol: '@qlzt/dsh-session/types#SessionId',
101
+ create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1_strict$schema,
102
+ jsonSchema: {"type":"string"},
68
103
  },
69
104
  },
70
105
  {
71
106
  name: 'mode',
72
- wire: 'mode',
107
+ description: 'required continuable-address discriminator.',
73
108
  source: 'json',
74
109
  codec: {
75
110
  mode: 'strict',
76
111
  typeSymbol: '@qlzt/dsh-subagent#subagents/interruptByParent:mode',
77
112
  create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2$schema,
113
+ jsonSchema: {"type":"string","const":"continuable"},
114
+ },
115
+ strictCodec: {
116
+ mode: 'strict',
117
+ typeSymbol: '@qlzt/dsh-subagent#subagents/interruptByParent:mode',
118
+ create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2_strict$schema,
119
+ jsonSchema: {"type":"string","const":"continuable"},
78
120
  },
79
121
  },
80
122
  ],
@@ -82,24 +124,31 @@ export const TYPERT = {
82
124
  mode: 'strict',
83
125
  typeSymbol: '@qlzt/dsh-subagent/client#SubagentInterruptReceipt',
84
126
  create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_result$schema,
127
+ description: 'acknowledgement that the cancel signal was admitted, not that the target is quiescent.',
128
+ jsonSchema: {"type":"object","properties":{"accepted":{"type":"boolean","const":true}},"required":["accepted"],"additionalProperties":true},
85
129
  },
86
- sourceLocation: {"file":"packages/subagent/subagent/src/index.ts","line":513,"column":3},
130
+ sourceLocation: {"file":"packages/subagent/subagent/src/index.ts","line":517,"column":3},
87
131
  },
88
- {
89
- id: '@qlzt/dsh-subagent#subagents/prompt',
132
+ 'subagents/prompt': {
90
133
  service: 'subagents',
91
- namespace: 'subagents',
92
- method: 'prompt',
134
+ description: 'Deliver one browser-authored message to a continuable child through the exact live direct parent, retaining the caller-minted request identity and validated browser zone on the accepted message. Success identifies the message the child\'s inbox accepted; later execution is independent of this call. Queue delivery targets a later turn; steer delivery targets the nearest step and retains the Agent loop\'s best-effort fallback semantics. Image parts are admitted and persisted through the attachment store before delivery, and the child\'s model must accept image input. Cold resume at capacity rejects with `subagent/delivery-unavailable`.',
93
135
  invocation: { kind: 'direct' },
94
136
  parameters: [
95
137
  {
96
138
  name: 'request',
97
- wire: 'request',
139
+ description: 'durable address, delivery, minted identity, content, and optional browser zone.',
98
140
  source: 'json',
99
141
  codec: {
100
142
  mode: 'strict',
101
143
  typeSymbol: '@qlzt/dsh-subagent/client#SubagentPromptRequest',
102
144
  create: _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema,
145
+ jsonSchema: {"type":"object","properties":{"requestId":{"type":"string","description":"Identity persisted on the accepted message, minted before the call."},"parentSessionId":{"type":"string"},"childSessionId":{"type":"string"},"mode":{"type":"string","const":"continuable","description":"Required discriminator retained from the browser control address."},"delivery":{"type":"string","enum":["queue","steer"],"description":"Whether this message queues a later turn or targets the nearest step."},"content":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","const":"image"},"mediaType":{"type":"string","enum":["image/png","image/jpeg","image/webp","image/gif"]},"data":{"type":"string"},"name":{"type":"string"}},"required":["type","mediaType","data"],"additionalProperties":true}]},"description":"Browser prompt parts delivered as the child's user message. The Host admits and persists image parts before delivery, so the wire never carries a durable attachment reference the caller could fabricate."},"clientTimeZone":{"type":"string","description":"Optional browser zone sampled for this exact human prompt."}},"required":["requestId","parentSessionId","childSessionId","mode","delivery","content"],"additionalProperties":true},
146
+ },
147
+ strictCodec: {
148
+ mode: 'strict',
149
+ typeSymbol: '@qlzt/dsh-subagent/client#SubagentPromptRequest',
150
+ create: _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0_strict$schema,
151
+ jsonSchema: {"type":"object","properties":{"requestId":{"type":"string","description":"Identity persisted on the accepted message, minted before the call."},"parentSessionId":{"type":"string"},"childSessionId":{"type":"string"},"mode":{"type":"string","const":"continuable","description":"Required discriminator retained from the browser control address."},"delivery":{"type":"string","enum":["queue","steer"],"description":"Whether this message queues a later turn or targets the nearest step."},"content":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"mediaType":{"type":"string","enum":["image/png","image/jpeg","image/webp","image/gif"]},"data":{"type":"string"},"name":{"type":"string"}},"required":["type","mediaType","data"],"additionalProperties":false}]},"description":"Browser prompt parts delivered as the child's user message. The Host admits and persists image parts before delivery, so the wire never carries a durable attachment reference the caller could fabricate."},"clientTimeZone":{"type":"string","description":"Optional browser zone sampled for this exact human prompt."}},"required":["requestId","parentSessionId","childSessionId","mode","delivery","content"],"additionalProperties":false},
103
152
  },
104
153
  },
105
154
  ],
@@ -108,10 +157,20 @@ export const TYPERT = {
108
157
  mode: 'strict',
109
158
  typeSymbol: '@qlzt/dsh-subagent/client#SubagentPromptReceipt',
110
159
  create: _deepseek_ai_dsh_subagent_subagents_prompt_result$schema,
160
+ description: 'the accepted message\'s inbox identity.',
161
+ jsonSchema: {"type":"object","properties":{"messageId":{"type":"string"}},"required":["messageId"],"additionalProperties":true},
111
162
  },
112
- sourceLocation: {"file":"packages/subagent/subagent/src/index.ts","line":446,"column":9},
163
+ sourceLocation: {"file":"packages/subagent/subagent/src/index.ts","line":448,"column":9},
113
164
  },
165
+ },
166
+ }, z)
167
+
168
+ export const TYPERT = {
169
+ package: '@qlzt/dsh-subagent',
170
+ face: 'host',
171
+ schemas: [
114
172
  ],
173
+ get invocations() { return $remote.descriptors },
115
174
  model: {
116
175
  "services": [
117
176
  {
@@ -253,6 +312,10 @@ export const TYPERT = {
253
312
  "name": "AgentStatus",
254
313
  "declaration": "export type AgentStatus = 'idle' | 'running';"
255
314
  },
315
+ {
316
+ "name": "AllowedModelRoute",
317
+ "declaration": "export interface AllowedModelRoute {\n readonly provider: string;\n readonly model: string;\n}"
318
+ },
256
319
  {
257
320
  "name": "ApprovalOutcome",
258
321
  "declaration": "export type ApprovalOutcome = 'allowed-once' | 'rejected' | 'cancelled' | 'unavailable';"
@@ -453,6 +516,30 @@ export const TYPERT = {
453
516
  "name": "InboxTarget",
454
517
  "declaration": "export type InboxTarget = 'next-turn' | 'next-step';"
455
518
  },
519
+ {
520
+ "name": "JobId",
521
+ "declaration": "export type JobId = Branded<'JobId'>;"
522
+ },
523
+ {
524
+ "name": "JobOutcome",
525
+ "declaration": "export interface JobOutcome {\n status: 'completed' | 'killed' | 'failed';\n detail?: string;\n result?: string;\n}"
526
+ },
527
+ {
528
+ "name": "JobRegisteredData",
529
+ "declaration": "export interface JobRegisteredData {\n readonly jobId: JobId;\n readonly owner: SessionId;\n readonly kind: string;\n readonly label: string;\n readonly startedAt: number;\n readonly toolCall?: JobToolCall;\n}"
530
+ },
531
+ {
532
+ "name": "JobSettleCause",
533
+ "declaration": "export type JobSettleCause = 'producer' | 'kill' | 'teardown';"
534
+ },
535
+ {
536
+ "name": "JobSettledData",
537
+ "declaration": "export interface JobSettledData extends JobRegisteredData {\n readonly finishedAt: number;\n readonly status: JobOutcome['status'];\n readonly cause: JobSettleCause;\n readonly producerReported: boolean;\n readonly detail?: string;\n}"
538
+ },
539
+ {
540
+ "name": "JobToolCall",
541
+ "declaration": "export interface JobToolCall {\n readonly callId: SessionEventMap['tool/call']['callId'];\n readonly rootCallId: SessionEventMap['tool/call']['callId'];\n}"
542
+ },
456
543
  {
457
544
  "name": "JsonSchemaNode",
458
545
  "declaration": "export interface JsonSchemaNode {\n type?: JsonSchemaType;\n oneOf?: JsonSchemaNode[];\n properties?: Record<string, JsonSchemaNode>;\n required?: string[];\n additionalProperties?: boolean;\n items?: JsonSchemaNode;\n enum?: JsonSchemaScalar[];\n const?: JsonSchemaScalar;\n description?: string;\n title?: string;\n default?: JsonValue;\n examples?: JsonValue;\n}"
@@ -555,7 +642,7 @@ export const TYPERT = {
555
642
  },
556
643
  {
557
644
  "name": "MessageSourceMap",
558
- "declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'working-directory': { kind: 'working-directory'; };\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n 'compact-checkpoint': CompactionCheckpointSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n goal: GoalMessageSource;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'session-reference': SessionReferenceSource;\n}"
645
+ "declaration": "export interface MessageSourceMap {\n user: { kind: 'user'; };\n model: ModelMessageSource;\n tool: ToolMessageSource;\n 'system-prompt': SystemPromptMessageSource;\n 'model-selection': { kind: 'model-selection'; } & ContextFormed;\n 'runtime-context': { kind: 'runtime-context'; } & ContextFormed;\n 'working-directory': { kind: 'working-directory'; };\n 'user-approval': { kind: 'user-approval'; } & ContextFormed;\n 'ptc-mode': { kind: 'ptc-mode'; };\n 'tool-registry': { kind: 'tool-registry'; };\n 'user-rpc': { kind: 'user'; rpcId: SessionRequestId; clientTimeZone?: string; principal?: Principal; };\n 'agent-message': AgentMessageSource;\n 'subagent-settled': SubagentSettledMessageSource;\n 'skill-invocation': SkillInvocationSource;\n 'compact-checkpoint': CompactionCheckpointSource;\n 'cordis-host-runner': { kind: 'cordis-host-runner'; };\n 'team-message': TeamMessageSource;\n 'user-question-reply': { kind: 'user-question-reply'; callId: ToolCallId; outcome: 'answered'; };\n goal: GoalMessageSource;\n 'plan-mode': { kind: 'plan-mode'; } & ContextFormed;\n schedule: { kind: 'schedule'; } & ContextFormed;\n 'session-reference': SessionReferenceSource;\n webhook: { readonly kind: 'webhook'; readonly provider: string; readonly source: WebhookSourceId; readonly deliveryId: WebhookDeliveryId; readonly ruleId: WebhookRuleId; readonly form: 'notice'; readonly summary: string; };\n}"
559
646
  },
560
647
  {
561
648
  "name": "ModelMessageSource",
@@ -581,6 +668,14 @@ export const TYPERT = {
581
668
  "name": "OptionalSessionSeq",
582
669
  "declaration": "export type OptionalSessionSeq = SessionSeq | null;"
583
670
  },
671
+ {
672
+ "name": "Principal",
673
+ "declaration": "export type Principal = PrincipalMap[keyof PrincipalMap];"
674
+ },
675
+ {
676
+ "name": "PrincipalMap",
677
+ "declaration": "export interface PrincipalMap {\n owner: { readonly kind: 'owner'; };\n}"
678
+ },
584
679
  {
585
680
  "name": "PromptContentPart",
586
681
  "declaration": "export type PromptContentPart = { readonly type: 'text'; readonly text: string; } | { readonly type: 'image'; readonly mediaType: ImageMediaType; readonly data: string; readonly name?: string; };"
@@ -659,7 +754,7 @@ export const TYPERT = {
659
754
  },
660
755
  {
661
756
  "name": "SessionEventMap",
662
- "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'working-directory/change': { cwd: string; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@qlzt/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'permission/preset': { preset: string; };\n 'subagent/descriptor': SubagentDescriptorData;\n 'subagent/catalog': SubagentCatalogEvent;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n 'feedback/record': FeedbackRecord;\n 'llm/retry': LlmRetryEventData;\n 'llm/retry-started': LlmRetryStartedEventData;\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'schedule/change': ScheduleChange;\n}"
757
+ "declaration": "export interface SessionEventMap {\n 'turn/start': { turn: number; };\n 'turn/end': { turn: number; reason: TurnEndReason; };\n 'step/start': { turn: number; step: number; };\n 'step/end': { turn: number; step: number; };\n 'user/message': UserMessage;\n 'developer/message': { turn: number; step: number; message: DeveloperMessage; headerSeq?: SessionSeq; };\n 'system/message': { turn: number; step: number; message: SystemMessage; };\n 'assistant/message': { turn: number; step: number; message: AssistantMessage; stream: AssistantStreamRecord[]; usage?: TokenUsage; interrupted?: true; };\n 'assistant/attempt': { turn: number; step: number; stream: AssistantStreamRecord[]; };\n 'tool/call': { turn: number; step: number; callId: ToolCallId; name: string; arguments: string; };\n 'tool/result': { turn: number; step: number; message: ToolResultMessage; error?: { name: string; code: string; reason?: string; }; meta?: JsonValue; };\n 'request/header': { header: EpochHeader; reason: RequestHeaderReason; startsSeries?: true; };\n 'request/context': RequestContext;\n 'session/end-seed': { inherited?: true; };\n 'agent/inbox/spliced': { target: InboxTarget; start: number; removedCount?: number; inserted: UserMessage[]; outcome?: 'canceled'; };\n 'working-directory/change': { cwd: string; };\n 'sandbox/mode': { mode: SandboxMode; source?: 'delegation'; };\n 'approval/asked': { id: ApprovalRequestId; toolName: string; callId?: ToolCallId; reason?: string; };\n 'approval/decided': { id: ApprovalRequestId; outcome: ApprovalOutcome; };\n 'approval/policy': { policy: ApprovalPolicy; source?: 'delegation'; };\n 'tool/ptc-dispatch-start': PtcDispatchStartEventData;\n 'tool/ptc-dispatch': PtcDispatchEventData;\n 'agent-preset/selected': { agentPreset: string; };\n 'job/registered': JobRegisteredData;\n 'job/settled': JobSettledData;\n 'command/run': { commandId: CommandId; name: string; args?: string; source: CommandSource; };\n 'command/done': { commandId: CommandId; kind: 'success' | 'error'; text?: string; sourceEventSeq?: import('@qlzt/dsh-session/types').SessionSeq; };\n 'image/offload': { targets: ImageOffloadTarget[]; };\n 'session/title': SessionTitleEventData;\n 'todo/write': { todos: TodoItem[]; };\n 'model/selection': ModelSelection;\n 'permission/preset': { preset: string; };\n 'subagent/descriptor': SubagentDescriptorData;\n 'subagent/catalog': SubagentCatalogEvent;\n 'compaction/start': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; };\n 'compaction/summary': { compactionId: CompactionId; sourceCommandId?: CommandId; summary: ContentBlock[]; shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; provider: string; model: string; maxTokens?: number; usage?: TokenUsage; } & ({ rawOutput: ContentBlock[]; llmStreamCall: true; } | { rawOutput?: ContentBlock[]; llmStreamCall?: never; });\n 'compaction/end': { compactionId: CompactionId; sourceCommandId?: CommandId; turn: number | null; error?: string; };\n 'compaction/prune': { shadowedRange: { start: SessionSeq; end: SessionSeq; }; shadowedSeqs: SessionSeq[]; shadowedTokenCount: number; };\n 'feedback/record': FeedbackRecord;\n 'llm/retry': LlmRetryEventData;\n 'llm/retry-started': LlmRetryStartedEventData;\n 'team/member': { version: 2; teamId: TeamId; member: TeamMemberSnapshot; };\n 'team/task': { version: 2; teamId: TeamId; task: TeamTaskSnapshot; };\n 'team/message/queued': { version: 2; teamId: TeamId; message: TeamMessageSnapshot; };\n 'team/message/delivered': { version: 2; teamId: TeamId; messageId: TeamMessageId; targetId: SessionId; };\n 'goal/change': GoalChangeMeta;\n 'feedback/message-put': MessageFeedbackPut;\n 'feedback/message-delete': MessageFeedbackDelete;\n 'plan/mode': { active: boolean; };\n 'schedule/change': ScheduleChange;\n 'subagent/model-selection-policy': { allowedModels: AllowedModelRoute[]; };\n 'workspace/changes': { turn: number; };\n}"
663
758
  },
664
759
  {
665
760
  "name": "SessionEventType",
@@ -727,7 +822,7 @@ export const TYPERT = {
727
822
  },
728
823
  {
729
824
  "name": "SubagentCapabilities",
730
- "declaration": "export interface SubagentCapabilities {\n readonly agentOptions: boolean;\n readonly outputSchema: boolean;\n readonly depthLimit: boolean;\n readonly toolFilter: boolean;\n readonly persona: boolean;\n}"
825
+ "declaration": "export interface SubagentCapabilities {\n readonly agentOptions: boolean;\n readonly agentPreset: boolean;\n readonly outputSchema: boolean;\n readonly depthLimit: boolean;\n}"
731
826
  },
732
827
  {
733
828
  "name": "SubagentCatalogEntry",
@@ -799,7 +894,7 @@ export const TYPERT = {
799
894
  },
800
895
  {
801
896
  "name": "SubagentStartRequest",
802
- "declaration": "export interface SubagentStartRequest {\n readonly cwd?: string;\n readonly label?: string;\n readonly prompt: ContentBlock[];\n readonly parent: Agent;\n readonly signal: AbortSignal;\n readonly agentOptions?: AgentOptions;\n readonly outputSchema?: ObjectJsonSchema;\n readonly maxDepth?: number;\n readonly toolFilter?: ToolRestriction;\n readonly persona?: string;\n}"
897
+ "declaration": "export interface SubagentStartRequest {\n readonly cwd?: string;\n readonly agentPreset?: string;\n readonly label?: string;\n readonly prompt: ContentBlock[];\n readonly parent: Agent;\n readonly signal: AbortSignal;\n readonly agentOptions?: AgentOptions;\n readonly outputSchema?: ObjectJsonSchema;\n readonly maxDepth?: number;\n}"
803
898
  },
804
899
  {
805
900
  "name": "SubagentStopReason",
@@ -833,6 +928,42 @@ export const TYPERT = {
833
928
  "name": "SystemPromptUpdate",
834
929
  "declaration": "export type SystemPromptUpdate = 'in-history';"
835
930
  },
931
+ {
932
+ "name": "TeamId",
933
+ "declaration": "export type TeamId = Branded<'TeamId'>;"
934
+ },
935
+ {
936
+ "name": "TeamMemberPhase",
937
+ "declaration": "export type TeamMemberPhase = 'provisioning' | 'active' | 'failed';"
938
+ },
939
+ {
940
+ "name": "TeamMemberSnapshot",
941
+ "declaration": "export interface TeamMemberSnapshot {\n readonly id: SessionId;\n readonly name: string;\n readonly description: string;\n readonly provider: string;\n readonly context: 'fresh' | 'fork';\n readonly phase: TeamMemberPhase;\n readonly error?: string;\n}"
942
+ },
943
+ {
944
+ "name": "TeamMessageId",
945
+ "declaration": "export type TeamMessageId = Branded<'TeamMessageId'>;"
946
+ },
947
+ {
948
+ "name": "TeamMessageSnapshot",
949
+ "declaration": "export interface TeamMessageSnapshot {\n readonly id: TeamMessageId;\n readonly senderId: SessionId;\n readonly senderName: string;\n readonly targetId: SessionId;\n readonly content: ContentBlock[];\n}"
950
+ },
951
+ {
952
+ "name": "TeamMessageSource",
953
+ "declaration": "export interface TeamMessageSource {\n readonly kind: 'team-message';\n readonly teamId: TeamId;\n readonly messageId: TeamMessageId;\n readonly senderId: SessionId;\n readonly senderName: string;\n}"
954
+ },
955
+ {
956
+ "name": "TeamTaskId",
957
+ "declaration": "export type TeamTaskId = Branded<'TeamTaskId'>;"
958
+ },
959
+ {
960
+ "name": "TeamTaskSnapshot",
961
+ "declaration": "export interface TeamTaskSnapshot {\n readonly id: TeamTaskId;\n readonly revision: number;\n readonly subject: string;\n readonly description: string;\n readonly status: TeamTaskStatus;\n readonly ownerId?: SessionId;\n readonly blockedBy: TeamTaskId[];\n readonly writeScopes: string[];\n}"
962
+ },
963
+ {
964
+ "name": "TeamTaskStatus",
965
+ "declaration": "export type TeamTaskStatus = 'pending' | 'in_progress' | 'completed' | 'deleted';"
966
+ },
836
967
  {
837
968
  "name": "TextBlock",
838
969
  "declaration": "export interface TextBlock {\n type: 'text';\n text: string;\n}"
@@ -896,6 +1027,18 @@ export const TYPERT = {
896
1027
  {
897
1028
  "name": "UserMessage",
898
1029
  "declaration": "export interface UserMessage extends MessageBase {\n readonly role: 'user';\n}"
1030
+ },
1031
+ {
1032
+ "name": "WebhookDeliveryId",
1033
+ "declaration": "export type WebhookDeliveryId = Branded<'WebhookDeliveryId'>;"
1034
+ },
1035
+ {
1036
+ "name": "WebhookRuleId",
1037
+ "declaration": "export type WebhookRuleId = Branded<'WebhookRuleId'>;"
1038
+ },
1039
+ {
1040
+ "name": "WebhookSourceId",
1041
+ "declaration": "export type WebhookSourceId = Branded<'WebhookSourceId'>;"
899
1042
  }
900
1043
  ]
901
1044
  }
@@ -1,7 +1,8 @@
1
1
  /* Generated by @qlzt/dsh-typert-generator from the Host FaceModel — do not edit. */
2
2
  import type {
3
3
  RemoteResult,
4
- TypertRemoteContribution,
4
+ TypertRemoteInfo,
5
+ TypertRemoteMethod,
5
6
  } from '@qlzt/dsh-typert-protocol'
6
7
  import type { SessionId } from '@qlzt/dsh-session/types'
7
8
  import type { SubagentInterruptReceipt, SubagentPromptReceipt, SubagentPromptRequest } from '@qlzt/dsh-subagent/client'
@@ -20,6 +21,9 @@ declare module '@qlzt/dsh-typert-protocol' {
20
21
  }
21
22
  }
22
23
 
23
- export declare const TYPERT_REMOTE: TypertRemoteContribution
24
+ export declare const TYPERT_REMOTE: TypertRemoteInfo<{
25
+ readonly 'subagents/interruptByParent': TypertRemoteMethod<{ readonly 'childSessionId': SessionId; readonly 'parentSessionId': SessionId; readonly 'mode': 'continuable' }, SubagentInterruptReceipt>
26
+ readonly 'subagents/prompt': TypertRemoteMethod<{ readonly 'request': SubagentPromptRequest }, SubagentPromptReceipt>
27
+ }>
24
28
  export default TYPERT_REMOTE
25
29
  //# sourceMappingURL=typert.remote-client.d.ts.map
@@ -1,10 +1,12 @@
1
1
  /* Generated by @qlzt/dsh-typert-generator from the Host FaceModel — do not edit. */
2
2
  import { z } from 'zod'
3
3
 
4
+ import { createTypertRemoteInfo } from '@qlzt/dsh-typert-protocol/remote-info'
5
+
4
6
  let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema$value
5
- const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema$value ??= z.intersection(z.string(), z.unknown()))
7
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema$value ??= z.string())
6
8
  let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema$value
7
- const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema$value ??= z.intersection(z.string(), z.unknown()))
9
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema$value ??= z.string())
8
10
  let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2$schema$value
9
11
  const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2$schema$value ??= z.literal("continuable"))
10
12
  let _deepseek_ai_dsh_subagent_subagents_interruptByParent_result$schema$value
@@ -13,11 +15,11 @@ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_result$schema = () =
13
15
  }))
14
16
  let _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema$value
15
17
  const _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema = () => (_deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema$value ??= z.object({
16
- 'requestId': z.intersection(z.string(), z.unknown()).readonly(),
17
- 'parentSessionId': z.intersection(z.string(), z.unknown()).readonly(),
18
- 'childSessionId': z.intersection(z.string(), z.unknown()).readonly(),
19
- 'mode': z.literal("continuable").readonly(),
20
- 'delivery': z.union([z.literal("queue"), z.literal("steer")]).readonly(),
18
+ 'requestId': z.string().readonly().describe('Identity persisted on the accepted message, minted before the call.'),
19
+ 'parentSessionId': z.string().readonly(),
20
+ 'childSessionId': z.string().readonly(),
21
+ 'mode': z.literal("continuable").readonly().describe('Required discriminator retained from the browser control address.'),
22
+ 'delivery': z.union([z.literal("queue"), z.literal("steer")]).readonly().describe('Whether this message queues a later turn or targets the nearest step.'),
21
23
  'content': z.array(z.union([z.object({
22
24
  'type': z.literal("text").readonly(),
23
25
  'text': z.string().readonly(),
@@ -26,52 +28,95 @@ const _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema = () => (_de
26
28
  'mediaType': z.union([z.literal("image/png"), z.literal("image/jpeg"), z.literal("image/webp"), z.literal("image/gif")]).readonly(),
27
29
  'data': z.string().readonly(),
28
30
  'name': z.string().readonly().optional(),
29
- })])).readonly(),
30
- 'clientTimeZone': z.string().readonly().optional(),
31
+ })])).readonly().describe('Browser prompt parts delivered as the child\'s user message. The Host admits and persists image parts before delivery, so the wire never carries a durable attachment reference the caller could fabricate.'),
32
+ 'clientTimeZone': z.string().readonly().optional().describe('Optional browser zone sampled for this exact human prompt.'),
31
33
  }))
32
34
  let _deepseek_ai_dsh_subagent_subagents_prompt_result$schema$value
33
35
  const _deepseek_ai_dsh_subagent_subagents_prompt_result$schema = () => (_deepseek_ai_dsh_subagent_subagents_prompt_result$schema$value ??= z.object({
34
- 'messageId': z.intersection(z.string(), z.unknown()).readonly(),
36
+ 'messageId': z.string().readonly(),
37
+ }))
38
+ let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0_strict$schema$value
39
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0_strict$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0_strict$schema$value ??= z.string())
40
+ let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1_strict$schema$value
41
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1_strict$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1_strict$schema$value ??= z.string())
42
+ let _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2_strict$schema$value
43
+ const _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2_strict$schema = () => (_deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2_strict$schema$value ??= z.literal("continuable"))
44
+ let _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0_strict$schema$value
45
+ const _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0_strict$schema = () => (_deepseek_ai_dsh_subagent_subagents_prompt_parameter_0_strict$schema$value ??= z.strictObject({
46
+ 'requestId': z.string().readonly().describe('Identity persisted on the accepted message, minted before the call.'),
47
+ 'parentSessionId': z.string().readonly(),
48
+ 'childSessionId': z.string().readonly(),
49
+ 'mode': z.literal("continuable").readonly().describe('Required discriminator retained from the browser control address.'),
50
+ 'delivery': z.union([z.literal("queue"), z.literal("steer")]).readonly().describe('Whether this message queues a later turn or targets the nearest step.'),
51
+ 'content': z.array(z.union([z.strictObject({
52
+ 'type': z.literal("text").readonly(),
53
+ 'text': z.string().readonly(),
54
+ }), z.strictObject({
55
+ 'type': z.literal("image").readonly(),
56
+ 'mediaType': z.union([z.literal("image/png"), z.literal("image/jpeg"), z.literal("image/webp"), z.literal("image/gif")]).readonly(),
57
+ 'data': z.string().readonly(),
58
+ 'name': z.string().readonly().optional(),
59
+ })])).readonly().describe('Browser prompt parts delivered as the child\'s user message. The Host admits and persists image parts before delivery, so the wire never carries a durable attachment reference the caller could fabricate.'),
60
+ 'clientTimeZone': z.string().readonly().optional().describe('Optional browser zone sampled for this exact human prompt.'),
35
61
  }))
36
62
 
37
- export const TYPERT_REMOTE = {
63
+ export const TYPERT_REMOTE = createTypertRemoteInfo({
38
64
  package: '@qlzt/dsh-subagent',
39
- descriptors: [
40
- {
41
- id: '@qlzt/dsh-subagent#subagents/interruptByParent',
65
+ methods: {
66
+ 'subagents/interruptByParent': {
42
67
  service: 'subagents',
43
- namespace: 'subagents',
44
- method: 'interruptByParent',
68
+ description: 'Remote face of {@link interrupt} under one durable parent address. No catalog, history, persistence, or parent Agent lookup runs: the core primitive alone authorizes the address against the live Activation, which is what keeps a live child interruptible while its parent Agent is offline. Absent, idle, and already-completed targets are accepted no-ops there.',
45
69
  invocation: { kind: 'direct' },
46
70
  parameters: [
47
71
  {
48
72
  name: 'childSessionId',
49
- wire: 'childSessionId',
73
+ description: 'durable child session id to interrupt.',
50
74
  source: 'json',
51
75
  codec: {
52
76
  mode: 'strict',
53
77
  typeSymbol: '@qlzt/dsh-session/types#SessionId',
54
78
  create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0$schema,
79
+ jsonSchema: {"type":"string"},
80
+ },
81
+ strictCodec: {
82
+ mode: 'strict',
83
+ typeSymbol: '@qlzt/dsh-session/types#SessionId',
84
+ create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_0_strict$schema,
85
+ jsonSchema: {"type":"string"},
55
86
  },
56
87
  },
57
88
  {
58
89
  name: 'parentSessionId',
59
- wire: 'parentSessionId',
90
+ description: 'durable direct parent whose authority is claimed.',
60
91
  source: 'json',
61
92
  codec: {
62
93
  mode: 'strict',
63
94
  typeSymbol: '@qlzt/dsh-session/types#SessionId',
64
95
  create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1$schema,
96
+ jsonSchema: {"type":"string"},
97
+ },
98
+ strictCodec: {
99
+ mode: 'strict',
100
+ typeSymbol: '@qlzt/dsh-session/types#SessionId',
101
+ create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_1_strict$schema,
102
+ jsonSchema: {"type":"string"},
65
103
  },
66
104
  },
67
105
  {
68
106
  name: 'mode',
69
- wire: 'mode',
107
+ description: 'required continuable-address discriminator.',
70
108
  source: 'json',
71
109
  codec: {
72
110
  mode: 'strict',
73
111
  typeSymbol: '@qlzt/dsh-subagent#subagents/interruptByParent:mode',
74
112
  create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2$schema,
113
+ jsonSchema: {"type":"string","const":"continuable"},
114
+ },
115
+ strictCodec: {
116
+ mode: 'strict',
117
+ typeSymbol: '@qlzt/dsh-subagent#subagents/interruptByParent:mode',
118
+ create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_parameter_2_strict$schema,
119
+ jsonSchema: {"type":"string","const":"continuable"},
75
120
  },
76
121
  },
77
122
  ],
@@ -79,24 +124,31 @@ export const TYPERT_REMOTE = {
79
124
  mode: 'strict',
80
125
  typeSymbol: '@qlzt/dsh-subagent/client#SubagentInterruptReceipt',
81
126
  create: _deepseek_ai_dsh_subagent_subagents_interruptByParent_result$schema,
127
+ description: 'acknowledgement that the cancel signal was admitted, not that the target is quiescent.',
128
+ jsonSchema: {"type":"object","properties":{"accepted":{"type":"boolean","const":true}},"required":["accepted"],"additionalProperties":true},
82
129
  },
83
- sourceLocation: {"file":"packages/subagent/subagent/src/index.ts","line":513,"column":3},
130
+ sourceLocation: {"file":"packages/subagent/subagent/src/index.ts","line":517,"column":3},
84
131
  },
85
- {
86
- id: '@qlzt/dsh-subagent#subagents/prompt',
132
+ 'subagents/prompt': {
87
133
  service: 'subagents',
88
- namespace: 'subagents',
89
- method: 'prompt',
134
+ description: 'Deliver one browser-authored message to a continuable child through the exact live direct parent, retaining the caller-minted request identity and validated browser zone on the accepted message. Success identifies the message the child\'s inbox accepted; later execution is independent of this call. Queue delivery targets a later turn; steer delivery targets the nearest step and retains the Agent loop\'s best-effort fallback semantics. Image parts are admitted and persisted through the attachment store before delivery, and the child\'s model must accept image input. Cold resume at capacity rejects with `subagent/delivery-unavailable`.',
90
135
  invocation: { kind: 'direct' },
91
136
  parameters: [
92
137
  {
93
138
  name: 'request',
94
- wire: 'request',
139
+ description: 'durable address, delivery, minted identity, content, and optional browser zone.',
95
140
  source: 'json',
96
141
  codec: {
97
142
  mode: 'strict',
98
143
  typeSymbol: '@qlzt/dsh-subagent/client#SubagentPromptRequest',
99
144
  create: _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0$schema,
145
+ jsonSchema: {"type":"object","properties":{"requestId":{"type":"string","description":"Identity persisted on the accepted message, minted before the call."},"parentSessionId":{"type":"string"},"childSessionId":{"type":"string"},"mode":{"type":"string","const":"continuable","description":"Required discriminator retained from the browser control address."},"delivery":{"type":"string","enum":["queue","steer"],"description":"Whether this message queues a later turn or targets the nearest step."},"content":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":true},{"type":"object","properties":{"type":{"type":"string","const":"image"},"mediaType":{"type":"string","enum":["image/png","image/jpeg","image/webp","image/gif"]},"data":{"type":"string"},"name":{"type":"string"}},"required":["type","mediaType","data"],"additionalProperties":true}]},"description":"Browser prompt parts delivered as the child's user message. The Host admits and persists image parts before delivery, so the wire never carries a durable attachment reference the caller could fabricate."},"clientTimeZone":{"type":"string","description":"Optional browser zone sampled for this exact human prompt."}},"required":["requestId","parentSessionId","childSessionId","mode","delivery","content"],"additionalProperties":true},
146
+ },
147
+ strictCodec: {
148
+ mode: 'strict',
149
+ typeSymbol: '@qlzt/dsh-subagent/client#SubagentPromptRequest',
150
+ create: _deepseek_ai_dsh_subagent_subagents_prompt_parameter_0_strict$schema,
151
+ jsonSchema: {"type":"object","properties":{"requestId":{"type":"string","description":"Identity persisted on the accepted message, minted before the call."},"parentSessionId":{"type":"string"},"childSessionId":{"type":"string"},"mode":{"type":"string","const":"continuable","description":"Required discriminator retained from the browser control address."},"delivery":{"type":"string","enum":["queue","steer"],"description":"Whether this message queues a later turn or targets the nearest step."},"content":{"type":"array","items":{"oneOf":[{"type":"object","properties":{"type":{"type":"string","const":"text"},"text":{"type":"string"}},"required":["type","text"],"additionalProperties":false},{"type":"object","properties":{"type":{"type":"string","const":"image"},"mediaType":{"type":"string","enum":["image/png","image/jpeg","image/webp","image/gif"]},"data":{"type":"string"},"name":{"type":"string"}},"required":["type","mediaType","data"],"additionalProperties":false}]},"description":"Browser prompt parts delivered as the child's user message. The Host admits and persists image parts before delivery, so the wire never carries a durable attachment reference the caller could fabricate."},"clientTimeZone":{"type":"string","description":"Optional browser zone sampled for this exact human prompt."}},"required":["requestId","parentSessionId","childSessionId","mode","delivery","content"],"additionalProperties":false},
100
152
  },
101
153
  },
102
154
  ],
@@ -105,10 +157,12 @@ export const TYPERT_REMOTE = {
105
157
  mode: 'strict',
106
158
  typeSymbol: '@qlzt/dsh-subagent/client#SubagentPromptReceipt',
107
159
  create: _deepseek_ai_dsh_subagent_subagents_prompt_result$schema,
160
+ description: 'the accepted message\'s inbox identity.',
161
+ jsonSchema: {"type":"object","properties":{"messageId":{"type":"string"}},"required":["messageId"],"additionalProperties":true},
108
162
  },
109
- sourceLocation: {"file":"packages/subagent/subagent/src/index.ts","line":446,"column":9},
163
+ sourceLocation: {"file":"packages/subagent/subagent/src/index.ts","line":448,"column":9},
110
164
  },
111
- ],
112
- }
165
+ },
166
+ }, z)
113
167
 
114
168
  export default TYPERT_REMOTE