@independo/inderun-contracts 0.4.0 → 0.5.0-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.
Files changed (73) hide show
  1. package/dist/generated/artifact-read-request.d.ts +24 -0
  2. package/dist/generated/artifact-read-request.d.ts.map +1 -0
  3. package/dist/generated/artifact-read-request.js +2 -0
  4. package/dist/generated/execution-provenance.d.ts +8 -1
  5. package/dist/generated/execution-provenance.d.ts.map +1 -1
  6. package/dist/generated/inderun-error.d.ts +8 -1
  7. package/dist/generated/inderun-error.d.ts.map +1 -1
  8. package/dist/generated/index.d.ts +6 -0
  9. package/dist/generated/index.d.ts.map +1 -1
  10. package/dist/generated/media-artifact.d.ts +53 -0
  11. package/dist/generated/media-artifact.d.ts.map +1 -0
  12. package/dist/generated/media-artifact.js +2 -0
  13. package/dist/generated/provider-capability-snapshot.d.ts +370 -0
  14. package/dist/generated/provider-capability-snapshot.d.ts.map +1 -0
  15. package/dist/generated/provider-capability-snapshot.js +2 -0
  16. package/dist/generated/provider-descriptor.d.ts +264 -0
  17. package/dist/generated/provider-descriptor.d.ts.map +1 -0
  18. package/dist/generated/provider-descriptor.js +2 -0
  19. package/dist/generated/provider-dynamic-capabilities.d.ts +99 -0
  20. package/dist/generated/provider-dynamic-capabilities.d.ts.map +1 -0
  21. package/dist/generated/provider-dynamic-capabilities.js +2 -0
  22. package/dist/generated/route-plan.d.ts +47 -3
  23. package/dist/generated/route-plan.d.ts.map +1 -1
  24. package/dist/generated/route-planner-input.d.ts +417 -32
  25. package/dist/generated/route-planner-input.d.ts.map +1 -1
  26. package/dist/generated/schemas.d.ts +833 -115
  27. package/dist/generated/schemas.d.ts.map +1 -1
  28. package/dist/generated/schemas.js +1038 -160
  29. package/dist/generated/stream-event.d.ts +136 -1
  30. package/dist/generated/stream-event.d.ts.map +1 -1
  31. package/dist/generated/stream-terminal-outcome.d.ts +182 -18
  32. package/dist/generated/stream-terminal-outcome.d.ts.map +1 -1
  33. package/dist/generated/task-output.d.ts +128 -0
  34. package/dist/generated/task-output.d.ts.map +1 -0
  35. package/dist/generated/task-output.js +2 -0
  36. package/dist/generated/task-request.d.ts +116 -11
  37. package/dist/generated/task-request.d.ts.map +1 -1
  38. package/dist/generated/task-result.d.ts +139 -15
  39. package/dist/generated/task-result.d.ts.map +1 -1
  40. package/dist/generated/telemetry-event.d.ts +2 -2
  41. package/dist/generated/telemetry-event.d.ts.map +1 -1
  42. package/dist/host.d.ts +24 -1
  43. package/dist/host.d.ts.map +1 -1
  44. package/dist/index.d.ts +5 -5
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +2 -2
  47. package/dist/types.d.ts +46 -2
  48. package/dist/types.d.ts.map +1 -1
  49. package/dist/validators.d.ts +18 -0
  50. package/dist/validators.d.ts.map +1 -1
  51. package/dist/validators.js +49 -1
  52. package/package.json +1 -1
  53. package/src/generated/artifact-read-request.ts +25 -0
  54. package/src/generated/execution-provenance.ts +8 -1
  55. package/src/generated/inderun-error.ts +8 -1
  56. package/src/generated/index.ts +6 -0
  57. package/src/generated/media-artifact.ts +56 -0
  58. package/src/generated/provider-capability-snapshot.ts +388 -0
  59. package/src/generated/provider-descriptor.ts +278 -0
  60. package/src/generated/provider-dynamic-capabilities.ts +103 -0
  61. package/src/generated/route-plan.ts +49 -3
  62. package/src/generated/route-planner-input.ts +437 -36
  63. package/src/generated/schemas.ts +1044 -160
  64. package/src/generated/stream-event.ts +145 -1
  65. package/src/generated/stream-terminal-outcome.ts +191 -18
  66. package/src/generated/task-output.ts +137 -0
  67. package/src/generated/task-request.ts +124 -11
  68. package/src/generated/task-result.ts +147 -15
  69. package/src/generated/telemetry-event.ts +2 -2
  70. package/src/host.ts +30 -1
  71. package/src/index.ts +28 -1
  72. package/src/types.ts +38 -1
  73. package/src/validators.ts +76 -0
@@ -1,7 +1,11 @@
1
1
  /**
2
- * The request payload for a Mode 1 (request/response) text-to-text execution. At least one
3
- * of `prompt` (single-turn) or `messages` (multi-turn) must be present — both may be
4
- * present together, though callers should typically supply just one;
2
+ * The request payload for a run() or stream() execution. The common envelope
3
+ * (schemaVersion, requestId, task, modelProfile, constraints, preferences, telemetry,
4
+ * authContextRef) is task-agnostic; each task kind owns its payload (ADR 016).
5
+ * text_to_text: at least one of `prompt` (single-turn) or `messages` (multi-turn) must be
6
+ * present — both may be present together, though callers should typically supply just one —
7
+ * and `speech`/`delivery` are forbidden. text_to_speech: `speech` and `delivery` are
8
+ * required and `prompt`, `messages` and `generation` are forbidden.
5
9
  * `constraints`/`preferences` steer routing but never select a provider directly.
6
10
  */
7
11
  export type TaskRequest = {
@@ -14,6 +18,12 @@ export type TaskRequest = {
14
18
  * Request-level routing constraints used by the planner.
15
19
  */
16
20
  constraints?: Constraints;
21
+ /**
22
+ * How the result of a non-text task must reach the application (ADR 016). Required for
23
+ * non-text tasks and forbidden for text_to_text, whose output is implicitly inline. A
24
+ * provider never substitutes playback for an artifact or the reverse.
25
+ */
26
+ delivery?: OutputDeliveryRequest;
17
27
  /**
18
28
  * Optional configuration for fine-tuning how the AI model generates its response.
19
29
  */
@@ -47,8 +57,13 @@ export type TaskRequest = {
47
57
  */
48
58
  schemaVersion: "1.0";
49
59
  /**
50
- * A descriptor specifying the type of work to be performed. For text-to-text, the kind must
51
- * be 'text_to_text'.
60
+ * The text_to_speech payload. Required for text_to_speech and forbidden for every other
61
+ * kind.
62
+ */
63
+ speech?: SpeechInput;
64
+ /**
65
+ * A descriptor specifying the type of work to be performed. The kind selects which payload
66
+ * the request must carry.
52
67
  */
53
68
  task: Task;
54
69
  /**
@@ -70,7 +85,10 @@ export type Constraints = {
70
85
  */
71
86
  privacy?: Privacy;
72
87
  /**
73
- * Optional routing timeout budget in milliseconds.
88
+ * Optional timeout budget in milliseconds, passed to the planner and to providers. It
89
+ * bounds the time until the run commits to a provider -- its first content, its first
90
+ * possible audible effect, or its artifact handoff -- not the duration of audio it plays.
91
+ * The engines add no timers of their own.
74
92
  */
75
93
  timeoutMs?: number;
76
94
  [property: string]: unknown;
@@ -83,6 +101,34 @@ export type Cloud = "forbidden" | "allowed" | "required";
83
101
  * Privacy requirement or preference for execution placement.
84
102
  */
85
103
  export type Privacy = "local_required" | "local_preferred" | "cloud_allowed" | "cloud_required";
104
+ /**
105
+ * How the result of a non-text task must reach the application (ADR 016). Required for
106
+ * non-text tasks and forbidden for text_to_text, whose output is implicitly inline. A
107
+ * provider never substitutes playback for an artifact or the reverse.
108
+ */
109
+ export type OutputDeliveryRequest = {
110
+ /**
111
+ * Only valid with 'artifact' delivery: an opaque reference to an application destination
112
+ * the engine writes the finished artifact to, resolved by the host's artifact-destination
113
+ * service (ADR 017) -- never a raw path or URL, like authContextRef for credentials. The
114
+ * result's artifact is then application-owned and the engine keeps no copy. A host without
115
+ * the service refuses the request before routing.
116
+ */
117
+ destinationRef?: string;
118
+ /**
119
+ * Only valid with 'artifact' delivery: the acceptable media types, always a hard
120
+ * requirement. Absent means the provider chooses and the artifact reports what it produced.
121
+ */
122
+ mediaTypes?: [string, ...string[]];
123
+ mode: OutputDelivery;
124
+ [property: string]: unknown;
125
+ };
126
+ /**
127
+ * How a task's result reaches the application: 'inline' content in the result (text),
128
+ * 'playback' as a managed, audible effect on the device with no retrievable bytes, or
129
+ * 'artifact' as retrievable media.
130
+ */
131
+ export type OutputDelivery = "inline" | "playback" | "artifact";
86
132
  /**
87
133
  * Optional configuration for fine-tuning how the AI model generates its response.
88
134
  */
@@ -143,17 +189,76 @@ export type Preferences = {
143
189
  */
144
190
  export type OptimizeFor = "privacy" | "latency" | "cost" | "balanced";
145
191
  /**
146
- * A descriptor specifying the type of work to be performed. For text-to-text, the kind must
147
- * be 'text_to_text'.
192
+ * The text_to_speech payload. Required for text_to_speech and forbidden for every other
193
+ * kind.
194
+ */
195
+ export type SpeechInput = {
196
+ /**
197
+ * BCP 47 tag of the language to speak, e.g. 'de-AT'.
198
+ */
199
+ locale: string;
200
+ /**
201
+ * 'language' (default): the primary language subtag is a hard requirement and the region is
202
+ * a preference. 'exact': the full tag is a hard requirement.
203
+ */
204
+ localeMatch?: LocaleMatch;
205
+ /**
206
+ * Plain text to speak. Markup such as SSML is out of scope.
207
+ */
208
+ text: string;
209
+ /**
210
+ * Provider-neutral voice traits. A 'preferred' voice (default) shapes which voice speaks
211
+ * and is never a reason to fail; a 'required' one takes part in routing and is never
212
+ * relaxed silently. Carries no provider voice identifier.
213
+ */
214
+ voice?: SpeechVoice;
215
+ [property: string]: unknown;
216
+ };
217
+ /**
218
+ * 'language' (default): the primary language subtag is a hard requirement and the region is
219
+ * a preference. 'exact': the full tag is a hard requirement.
220
+ */
221
+ export type LocaleMatch = "exact" | "language";
222
+ /**
223
+ * Provider-neutral voice traits. A 'preferred' voice (default) shapes which voice speaks
224
+ * and is never a reason to fail; a 'required' one takes part in routing and is never
225
+ * relaxed silently. Carries no provider voice identifier.
226
+ */
227
+ export type SpeechVoice = {
228
+ gender?: VoiceGender;
229
+ /**
230
+ * 'preferred' (default) or 'required'. A required voice must name at least one trait.
231
+ */
232
+ requirement?: RequirementLevel;
233
+ [property: string]: unknown;
234
+ };
235
+ /**
236
+ * Perceived gender of a voice, as the platform reports it.
237
+ */
238
+ export type VoiceGender = "female" | "male" | "neutral";
239
+ /**
240
+ * 'preferred' (default) or 'required'. A required voice must name at least one trait.
241
+ */
242
+ export type RequirementLevel = "required" | "preferred";
243
+ /**
244
+ * A descriptor specifying the type of work to be performed. The kind selects which payload
245
+ * the request must carry.
148
246
  */
149
247
  export type Task = {
150
248
  /**
151
- * The standard task category. Currently supports 'text_to_text' for prompt-based
152
- * interactions.
249
+ * The operation: 'text_to_text' (prompt-based text generation) or 'text_to_speech' (speech
250
+ * synthesis from text). A consumer built against an older revision rejects a kind it does
251
+ * not know through validation.
153
252
  */
154
- kind: "text_to_text";
253
+ kind: TaskKind;
155
254
  [property: string]: unknown;
156
255
  };
256
+ /**
257
+ * The operation: 'text_to_text' (prompt-based text generation) or 'text_to_speech' (speech
258
+ * synthesis from text). A consumer built against an older revision rejects a kind it does
259
+ * not know through validation.
260
+ */
261
+ export type TaskKind = "text_to_text" | "text_to_speech";
157
262
  /**
158
263
  * Execution preferences for tracking usage and performance metrics.
159
264
  */
@@ -1 +1 @@
1
- {"version":3,"file":"task-request.d.ts","sourceRoot":"","sources":["../../src/generated/task-request.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-request.d.ts","sourceRoot":"","sources":["../../src/generated/task-request.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  /**
2
- * The response payload for a completed text-to-text execution. A full execution failure
3
- * (validation, routing, or every attempted provider failing) is surfaced by run() throwing
4
- * an IndeRunError instead of returning a TaskResult; finishReason and telemetry.errorClass
5
- * are reserved for a provider reporting a non-fatal, degraded outcome on an
6
- * otherwise-successful result (finishReason 'error' is produced by the Android ML Kit GenAI
7
- * provider; telemetry.errorClass is not currently set by any provider in this codebase).
2
+ * The response payload for a completed run() execution, for every task kind; output.type
3
+ * tells the content representation apart (text, managed playback, retrievable artifact). A
4
+ * full execution failure (validation, routing, or every attempted provider failing) is
5
+ * surfaced by run() throwing an IndeRunError instead of returning a TaskResult;
6
+ * finishReason and telemetry.errorClass are reserved for a provider reporting a non-fatal,
7
+ * degraded outcome on an otherwise-successful result (finishReason 'error' is produced by
8
+ * the Android ML Kit GenAI provider; telemetry.errorClass is not currently set by any
9
+ * provider in this codebase).
8
10
  */
9
11
  export type TaskResult = {
10
12
  /**
@@ -16,9 +18,9 @@ export type TaskResult = {
16
18
  */
17
19
  finishReason: FinishReason;
18
20
  /**
19
- * The normalized content returned from the selected provider.
21
+ * The normalized output of the selected provider. See task-output.schema.json.
20
22
  */
21
- output: Output;
23
+ output: TaskOutput;
22
24
  /**
23
25
  * Normalized execution provenance: which target ran, its declared locality, the configured
24
26
  * and reported model, and how fallback and routing played out. See
@@ -52,19 +54,134 @@ export type TaskResult = {
52
54
  */
53
55
  export type FinishReason = "stop" | "length" | "cancelled" | "error";
54
56
  /**
55
- * The normalized content returned from the selected provider.
57
+ * The normalized output of the selected provider. See task-output.schema.json.
58
+ *
59
+ * The normalized output of a run, shared by TaskResult and the completed and cancelled
60
+ * stream terminal outcomes (ADR 016). 'type' describes the content representation, not the
61
+ * task: 'text' carries inline text, 'playback' reports a managed, audible effect that has
62
+ * no retrievable bytes, and 'artifact' references retrievable media (ADR 017). A playback
63
+ * output is never an artifact, and an artifact output never implies that anything was
64
+ * played.
65
+ */
66
+ export type TaskOutput = {
67
+ /**
68
+ * The retrievable media the run produced. Required when type is 'artifact'.
69
+ */
70
+ artifact?: MediaArtifact;
71
+ /**
72
+ * Completion of managed playback. Required when type is 'playback'. Carries no media.
73
+ */
74
+ playback?: PlaybackOutput;
75
+ /**
76
+ * The locale and voice traits a text-to-speech run actually used, so an unmet preference is
77
+ * visible without being an error.
78
+ */
79
+ speech?: SpeechOutput;
80
+ /**
81
+ * The text the run produced. Required when type is 'text'.
82
+ */
83
+ text?: string;
84
+ /**
85
+ * The content representation: 'text', 'playback' or 'artifact'.
86
+ */
87
+ type: TaskOutputType;
88
+ [property: string]: unknown;
89
+ };
90
+ /**
91
+ * The retrievable media the run produced. Required when type is 'artifact'.
92
+ *
93
+ * A reference to retrievable media a run produced (ADR 017). It carries no bytes and no
94
+ * location: an engine-owned artifact is read through the engine by id, and an
95
+ * application-owned one was written to an application destination. Media-neutral: audio,
96
+ * images and video share this shape and differ only in mediaType.
97
+ */
98
+ export type MediaArtifact = {
99
+ /**
100
+ * Size of the media in bytes. Always set for an artifact the engine materialized.
101
+ */
102
+ byteLength?: number;
103
+ /**
104
+ * The request's delivery.destinationRef the bytes were written to. Set exactly when owner
105
+ * is 'application'.
106
+ */
107
+ destinationRef?: string;
108
+ /**
109
+ * Duration of time-based media in milliseconds, where the producer knows it.
110
+ */
111
+ durationMs?: number;
112
+ /**
113
+ * Opaque, engine-issued identifier. Never a path, URL or provider identifier.
114
+ */
115
+ id: string;
116
+ /**
117
+ * How long the engine keeps the bytes. 'until_disposed': until the application disposes the
118
+ * artifact or the process ends; the artifact outlives the run that produced it.
119
+ */
120
+ lifetime: "until_disposed";
121
+ /**
122
+ * IANA media type of the bytes, e.g. 'audio/wav'. Encoding parameters ride on the media
123
+ * type (e.g. 'audio/L16;rate=22050').
124
+ */
125
+ mediaType: string;
126
+ /**
127
+ * 'engine': the engine holds the bytes and the application reads them by id until it
128
+ * disposes the artifact. 'application': the bytes were written to the application
129
+ * destination named by destinationRef and the engine holds nothing.
130
+ */
131
+ owner: ArtifactOwner;
132
+ [property: string]: unknown;
133
+ };
134
+ /**
135
+ * How long the engine keeps the bytes. 'until_disposed': until the application disposes the
136
+ * artifact or the process ends; the artifact outlives the run that produced it.
56
137
  */
57
- export type Output = {
138
+ /**
139
+ * 'engine': the engine holds the bytes and the application reads them by id until it
140
+ * disposes the artifact. 'application': the bytes were written to the application
141
+ * destination named by destinationRef and the engine holds nothing.
142
+ */
143
+ export type ArtifactOwner = "engine" | "application";
144
+ /**
145
+ * Completion of managed playback. Required when type is 'playback'. Carries no media.
146
+ */
147
+ export type PlaybackOutput = {
58
148
  /**
59
- * The actual text generated by the execution.
149
+ * How long audible playback lasted, in milliseconds. For a cancelled run, how long it
150
+ * played before it was stopped.
60
151
  */
61
- text: string;
152
+ durationMs?: number;
153
+ [property: string]: unknown;
154
+ };
155
+ /**
156
+ * The locale and voice traits a text-to-speech run actually used, so an unmet preference is
157
+ * visible without being an error.
158
+ */
159
+ export type SpeechOutput = {
160
+ /**
161
+ * BCP 47 tag of the locale that was spoken.
162
+ */
163
+ locale: string;
62
164
  /**
63
- * Output payload category (e.g., 'text' for Mode 1 text-to-text).
165
+ * Provider-neutral traits of the voice that spoke. Carries no provider voice identifier.
64
166
  */
65
- type: "text";
167
+ voice?: SpeechOutputVoice;
168
+ [property: string]: unknown;
169
+ };
170
+ /**
171
+ * Provider-neutral traits of the voice that spoke. Carries no provider voice identifier.
172
+ */
173
+ export type SpeechOutputVoice = {
174
+ gender?: VoiceGender;
66
175
  [property: string]: unknown;
67
176
  };
177
+ /**
178
+ * Perceived gender of a voice, as the platform reports it.
179
+ */
180
+ export type VoiceGender = "female" | "male" | "neutral";
181
+ /**
182
+ * The content representation: 'text', 'playback' or 'artifact'.
183
+ */
184
+ export type TaskOutputType = "text" | "playback" | "artifact";
68
185
  /**
69
186
  * Normalized execution provenance: which target ran, its declared locality, the configured
70
187
  * and reported model, and how fallback and routing played out. See
@@ -130,6 +247,13 @@ export type ExecutionProvenance = {
130
247
  [property: string]: unknown;
131
248
  };
132
249
  export type ExecutionProvenanceAttempt = {
250
+ /**
251
+ * Whether the run committed to this provider during the attempt: its first content was
252
+ * delivered, it signalled the first possible audible effect, or it handed over an artifact.
253
+ * After commit a failure ends the run instead of falling back. Absent means the attempt did
254
+ * not commit.
255
+ */
256
+ committed?: boolean;
133
257
  /**
134
258
  * Normalized error class of a failed attempt.
135
259
  */
@@ -166,7 +290,7 @@ export type ExecutionProvenanceRouteRejection = {
166
290
  providerId: string;
167
291
  [property: string]: unknown;
168
292
  };
169
- export type Code = "task_not_supported" | "run_not_supported" | "streaming_not_supported" | "streaming_unavailable" | "privacy_constraint" | "cloud_constraint" | "offline" | "capability_unavailable" | "not_in_model_profile";
293
+ export type Code = "task_not_supported" | "run_not_supported" | "streaming_not_supported" | "streaming_unavailable" | "privacy_constraint" | "cloud_constraint" | "offline" | "capability_unavailable" | "not_in_model_profile" | "input_not_supported" | "output_delivery_not_supported" | "output_format_not_supported" | "locale_not_supported" | "voice_not_available";
170
294
  /**
171
295
  * Required metadata providing an overview of the execution result and performance metrics.
172
296
  */
@@ -1 +1 @@
1
- {"version":3,"file":"task-result.d.ts","sourceRoot":"","sources":["../../src/generated/task-result.ts"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG;IACrB;;;;;;OAMG;IACH,YAAY,EAAE,YAAY,CAAC;IAC3B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,aAAa,EAAE,KAAK,CAAC;IACrB;;OAEG;IACH,SAAS,EAAE,SAAS,CAAC;IACrB;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAErE;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG;IACjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAA;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAC9B;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,0BAA0B,EAAE,CAAC;IACvC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,EAAE,QAAQ,CAAC;IACnB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,eAAe,EAAE,iCAAiC,EAAE,CAAC;IACrD;;OAEG;IACH,aAAa,EAAE,KAAK,CAAC;IACrB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAA;AAED,MAAM,MAAM,0BAA0B,GAAG;IACrC;;OAEG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,OAAO,EAAK,cAAc,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAA;AAED;;;;;;GAMG;AACH,MAAM,MAAM,UAAU,GAAG,oBAAoB,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;AAEjI;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAElE;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAElE,MAAM,MAAM,iCAAiC,GAAG;IAC5C,KAAK,EAAO,IAAI,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAA;AAED,MAAM,MAAM,IAAI,GAAG,oBAAoB,GAAG,mBAAmB,GAAG,yBAAyB,GAAG,uBAAuB,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,SAAS,GAAG,wBAAwB,GAAG,sBAAsB,CAAC;AAEhO;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAA"}
1
+ {"version":3,"file":"task-result.d.ts","sourceRoot":"","sources":["../../src/generated/task-result.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,11 @@ export type TelemetryEvent = {
19
19
  /**
20
20
  * Telemetry event kind emitted by the orchestrator or provider integration.
21
21
  */
22
- type: Type;
22
+ type: TelemetryEventType;
23
23
  [property: string]: unknown;
24
24
  };
25
25
  /**
26
26
  * Telemetry event kind emitted by the orchestrator or provider integration.
27
27
  */
28
- export type Type = "route_decided" | "attempt_succeeded" | "attempt_failed" | "stream_attempt_started" | "stream_attempt_succeeded" | "stream_attempt_failed" | "stream_completed" | "stream_failed" | "stream_cancelled";
28
+ export type TelemetryEventType = "route_decided" | "attempt_succeeded" | "attempt_failed" | "stream_attempt_started" | "stream_attempt_succeeded" | "stream_attempt_failed" | "stream_completed" | "stream_failed" | "stream_cancelled";
29
29
  //# sourceMappingURL=telemetry-event.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry-event.d.ts","sourceRoot":"","sources":["../../src/generated/telemetry-event.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,IAAI,EAAE,IAAI,CAAC;IACX,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,eAAe,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,wBAAwB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,CAAC"}
1
+ {"version":3,"file":"telemetry-event.d.ts","sourceRoot":"","sources":["../../src/generated/telemetry-event.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IACzB;;OAEG;IACH,OAAO,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACpC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,IAAI,EAAE,kBAAkB,CAAC;IACzB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC/B,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,mBAAmB,GAAG,gBAAgB,GAAG,wBAAwB,GAAG,0BAA0B,GAAG,uBAAuB,GAAG,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,CAAC"}
package/dist/host.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { HttpRequest, HttpResponse, TelemetryEvent } from "./generated/index.js";
1
+ import type { HttpRequest, HttpResponse, MediaArtifact, TelemetryEvent } from "./generated/index.js";
2
2
  /**
3
3
  * Service to inspect and monitor network connectivity status.
4
4
  */
@@ -157,6 +157,24 @@ export interface TelemetryService {
157
157
  */
158
158
  emit(event: TelemetryEvent): void;
159
159
  }
160
+ /**
161
+ * Resolves the opaque `delivery.destinationRef` of an artifact request to a place the
162
+ * application chose -- a file it will hand to a player, a cache it manages -- and writes the
163
+ * finished artifact there (ADR 017). A request names a reference, never a path, so a request
164
+ * that came from a webview cannot address arbitrary storage.
165
+ */
166
+ export interface ArtifactDestinationService {
167
+ /**
168
+ * Whether `destinationRef` names a destination this host can write the requested media to.
169
+ * Called before routing; `false` refuses the request.
170
+ */
171
+ accepts(destinationRef: string, mediaTypes: readonly string[] | undefined): Promise<boolean>;
172
+ /**
173
+ * Writes the finished artifact's bytes to the destination. A failure fails the run: it is
174
+ * committed by then, so it never falls back.
175
+ */
176
+ write(destinationRef: string, artifact: MediaArtifact, bytes: Uint8Array): Promise<void>;
177
+ }
160
178
  /**
161
179
  * Registry of platform-specific host services utilized by the Engine Core.
162
180
  * Evaluates execution capabilities and manages OS-level boundaries.
@@ -191,5 +209,10 @@ export interface HostServices {
191
209
  * Telemetry service to monitor execution steps, latency, and success rates.
192
210
  */
193
211
  telemetry?: TelemetryService;
212
+ /**
213
+ * Application destinations for artifact requests that carry `delivery.destinationRef`.
214
+ * Absent means the host has none, and such a request is refused before routing.
215
+ */
216
+ artifactDestinations?: ArtifactDestinationService;
194
217
  }
195
218
  //# sourceMappingURL=host.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAEvE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,eAAe,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C;;OAEG;IACH,qBAAqB,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5C;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAClD;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,GAAG,IAAI,MAAM,CAAC;IACd;;OAEG;IACH,YAAY,CAAC,IAAI,MAAM,CAAC;CACzB;AAED,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtF;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CACnD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1F;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAChE;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC;;;OAGG;IACH,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;CACjC;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACrF;AAED,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,IAAI,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,YAAY,EAAE,mBAAmB,CAAC;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C;;OAEG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;OAEG;IACH,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB;;OAEG;IACH,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,0BAA0B,CAAC;IACjD;;OAEG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -11,25 +11,25 @@
11
11
  * contract types their own signatures use. Reach for it when you need the schemas
12
12
  * themselves or the runtime validators.
13
13
  */
14
- /** The generated request/response, streaming, routing, and telemetry models. */
14
+ /** The generated request/response, streaming, routing, provider-capability, and telemetry models. */
15
15
  export type * from "./generated/index.js";
16
16
  /** The JSON Schemas those models were generated from, for runtime use. */
17
- export { executionProvenanceSchema, httpRequestSchema, httpResponseSchema, inderunErrorSchema, modelPackageSchema, routePlanSchema, routePlannerInputSchema, streamEventSchema, streamRunSchema, streamTerminalOutcomeSchema, taskRequestSchema, taskResultSchema, telemetryEventSchema } from "./generated/index.js";
17
+ export { artifactReadRequestSchema, executionProvenanceSchema, httpRequestSchema, httpResponseSchema, inderunErrorSchema, mediaArtifactSchema, modelPackageSchema, providerCapabilitySnapshotSchema, providerDescriptorSchema, providerDynamicCapabilitiesSchema, routePlanSchema, routePlannerInputSchema, streamEventSchema, streamRunSchema, streamTerminalOutcomeSchema, taskOutputSchema, taskRequestSchema, taskResultSchema, telemetryEventSchema } from "./generated/index.js";
18
18
  /**
19
19
  * Ajv-backed validators for each contract. The `get*ValidationIssues` form returns
20
20
  * a list of human-readable issues (empty when valid); the `validate*` form is the
21
21
  * boolean type guard.
22
22
  */
23
- export { getExecutionProvenanceValidationIssues, getHttpRequestValidationIssues, getHttpResponseValidationIssues, getIndeRunErrorValidationIssues, getModelPackageValidationIssues, getRoutePlanValidationIssues, getRoutePlannerInputValidationIssues, getStreamEventValidationIssues, getStreamRunHandleValidationIssues, getStreamTerminalOutcomeValidationIssues, getTaskRequestValidationIssues, getTaskResultValidationIssues, getTelemetryEventValidationIssues, validateExecutionProvenance, validateHttpRequest, validateHttpResponse, validateIndeRunError, validateModelPackage, validateRoutePlan, validateRoutePlannerInput, validateStreamEvent, validateStreamRunHandle, validateStreamTerminalOutcome, validateTaskRequest, validateTaskResult, validateTelemetryEvent, type ValidationIssue } from "./validators.js";
23
+ export { getArtifactReadRequestValidationIssues, getExecutionProvenanceValidationIssues, getHttpRequestValidationIssues, getHttpResponseValidationIssues, getIndeRunErrorValidationIssues, getMediaArtifactValidationIssues, getModelPackageValidationIssues, getProviderCapabilitySnapshotValidationIssues, getProviderDescriptorValidationIssues, getProviderDynamicCapabilitiesValidationIssues, getRoutePlanValidationIssues, getRoutePlannerInputValidationIssues, getStreamEventValidationIssues, getStreamRunHandleValidationIssues, getStreamTerminalOutcomeValidationIssues, getTaskOutputValidationIssues, getTaskRequestValidationIssues, getTaskResultValidationIssues, getTelemetryEventValidationIssues, validateExecutionProvenance, validateHttpRequest, validateHttpResponse, validateIndeRunError, validateMediaArtifact, validateModelPackage, validateProviderCapabilitySnapshot, validateProviderDescriptor, validateProviderDynamicCapabilities, validateRoutePlan, validateRoutePlannerInput, validateStreamEvent, validateStreamRunHandle, validateStreamTerminalOutcome, validateTaskOutput, validateTaskRequest, validateTaskResult, validateTelemetryEvent, validateArtifactReadRequest, type ValidationIssue } from "./validators.js";
24
24
  /**
25
25
  * Narrowed aliases over the generated models: the closed enums the SDKs switch on,
26
26
  * and the routing input/output shapes under the names the engines use.
27
27
  */
28
- export type { FinishReason, IndeRunErrorClass, ModelPackageFormat, ModelSourceType, SchemaVersion, SharedRoutePlan, SharedRoutePlannerInput, TaskKind, RoutingConstraints, RoutingPreferences } from "./types.js";
28
+ export type { CancelSemantics, FinishReason, IndeRunErrorClass, ArtifactTaskOutput, ModelPackageFormat, ModelSourceType, PlaybackTaskOutput, ProviderTransport, ProviderType, SchemaVersion, SharedRoutePlan, SharedRoutePlannerInput, SpeechTaskRequest, TaskKind, TextTaskOutput, TextTaskRequest, RoutingConstraints, RoutingPreferences } from "./types.js";
29
29
  /**
30
30
  * The host-services contract: the platform capabilities an SDK reads and calls
31
31
  * through. Defined here rather than per-SDK so the three platforms expose the
32
32
  * same seams.
33
33
  */
34
- export type { AbortSignalLike, ConnectivityService, ThermalState, DeviceConstraintsService, SecureStorageService, ClockService, HttpClientService, HttpStreamResponse, HttpStreamingClientService, TelemetryEventType, TelemetryService, HostServices } from "./host.js";
34
+ export type { AbortSignalLike, ArtifactDestinationService, ConnectivityService, ThermalState, DeviceConstraintsService, SecureStorageService, ClockService, HttpClientService, HttpStreamResponse, HttpStreamingClientService, TelemetryEventType, TelemetryService, HostServices } from "./host.js";
35
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,gFAAgF;AAChF,mBAAmB,sBAAsB,CAAC;AAE1C,0EAA0E;AAC1E,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,2BAA2B,EAC3B,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B;;;;GAIG;AACH,OAAO,EACL,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,+BAA+B,EAC/B,4BAA4B,EAC5B,oCAAoC,EACpC,8BAA8B,EAC9B,kCAAkC,EAClC,wCAAwC,EACxC,8BAA8B,EAC9B,6BAA6B,EAC7B,iCAAiC,EACjC,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AACzB;;;GAGG;AACH,YAAY,EACV,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACb,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,qGAAqG;AACrG,mBAAmB,sBAAsB,CAAC;AAE1C,0EAA0E;AAC1E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,gCAAgC,EAChC,wBAAwB,EACxB,iCAAiC,EACjC,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,eAAe,EACf,2BAA2B,EAC3B,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,sBAAsB,CAAC;AAC9B;;;;GAIG;AACH,OAAO,EACL,sCAAsC,EACtC,sCAAsC,EACtC,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,gCAAgC,EAChC,+BAA+B,EAC/B,6CAA6C,EAC7C,qCAAqC,EACrC,8CAA8C,EAC9C,4BAA4B,EAC5B,oCAAoC,EACpC,8BAA8B,EAC9B,kCAAkC,EAClC,wCAAwC,EACxC,6BAA6B,EAC7B,8BAA8B,EAC9B,6BAA6B,EAC7B,iCAAiC,EACjC,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,kCAAkC,EAClC,0BAA0B,EAC1B,mCAAmC,EACnC,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,uBAAuB,EACvB,6BAA6B,EAC7B,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAC;AACzB;;;GAGG;AACH,YAAY,EACV,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;;GAIG;AACH,YAAY,EACV,eAAe,EACf,0BAA0B,EAC1B,mBAAmB,EACnB,YAAY,EACZ,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACb,MAAM,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -12,10 +12,10 @@
12
12
  * themselves or the runtime validators.
13
13
  */
14
14
  /** The JSON Schemas those models were generated from, for runtime use. */
15
- export { executionProvenanceSchema, httpRequestSchema, httpResponseSchema, inderunErrorSchema, modelPackageSchema, routePlanSchema, routePlannerInputSchema, streamEventSchema, streamRunSchema, streamTerminalOutcomeSchema, taskRequestSchema, taskResultSchema, telemetryEventSchema } from "./generated/index.js";
15
+ export { artifactReadRequestSchema, executionProvenanceSchema, httpRequestSchema, httpResponseSchema, inderunErrorSchema, mediaArtifactSchema, modelPackageSchema, providerCapabilitySnapshotSchema, providerDescriptorSchema, providerDynamicCapabilitiesSchema, routePlanSchema, routePlannerInputSchema, streamEventSchema, streamRunSchema, streamTerminalOutcomeSchema, taskOutputSchema, taskRequestSchema, taskResultSchema, telemetryEventSchema } from "./generated/index.js";
16
16
  /**
17
17
  * Ajv-backed validators for each contract. The `get*ValidationIssues` form returns
18
18
  * a list of human-readable issues (empty when valid); the `validate*` form is the
19
19
  * boolean type guard.
20
20
  */
21
- export { getExecutionProvenanceValidationIssues, getHttpRequestValidationIssues, getHttpResponseValidationIssues, getIndeRunErrorValidationIssues, getModelPackageValidationIssues, getRoutePlanValidationIssues, getRoutePlannerInputValidationIssues, getStreamEventValidationIssues, getStreamRunHandleValidationIssues, getStreamTerminalOutcomeValidationIssues, getTaskRequestValidationIssues, getTaskResultValidationIssues, getTelemetryEventValidationIssues, validateExecutionProvenance, validateHttpRequest, validateHttpResponse, validateIndeRunError, validateModelPackage, validateRoutePlan, validateRoutePlannerInput, validateStreamEvent, validateStreamRunHandle, validateStreamTerminalOutcome, validateTaskRequest, validateTaskResult, validateTelemetryEvent } from "./validators.js";
21
+ export { getArtifactReadRequestValidationIssues, getExecutionProvenanceValidationIssues, getHttpRequestValidationIssues, getHttpResponseValidationIssues, getIndeRunErrorValidationIssues, getMediaArtifactValidationIssues, getModelPackageValidationIssues, getProviderCapabilitySnapshotValidationIssues, getProviderDescriptorValidationIssues, getProviderDynamicCapabilitiesValidationIssues, getRoutePlanValidationIssues, getRoutePlannerInputValidationIssues, getStreamEventValidationIssues, getStreamRunHandleValidationIssues, getStreamTerminalOutcomeValidationIssues, getTaskOutputValidationIssues, getTaskRequestValidationIssues, getTaskResultValidationIssues, getTelemetryEventValidationIssues, validateExecutionProvenance, validateHttpRequest, validateHttpResponse, validateIndeRunError, validateMediaArtifact, validateModelPackage, validateProviderCapabilitySnapshot, validateProviderDescriptor, validateProviderDynamicCapabilities, validateRoutePlan, validateRoutePlannerInput, validateStreamEvent, validateStreamRunHandle, validateStreamTerminalOutcome, validateTaskOutput, validateTaskRequest, validateTaskResult, validateTelemetryEvent, validateArtifactReadRequest } from "./validators.js";
package/dist/types.d.ts CHANGED
@@ -1,7 +1,9 @@
1
- import type { IndeRunError, ModelPackage, RoutePlan, RoutePlannerInput, TaskRequest, TaskResult } from "./generated/index.js";
1
+ import type { IndeRunError, MediaArtifact, ModelPackage, ProviderDescriptor, RoutePlan, RoutePlannerInput, TaskOutput, TaskRequest, TaskResult } from "./generated/index.js";
2
+ import type { PlaybackOutput } from "./generated/task-output.js";
3
+ import type { OutputDeliveryRequest, SpeechInput } from "./generated/task-request.js";
2
4
  /** Contract schema version (e.g. `"1.0"`) carried by every task request. */
3
5
  export type SchemaVersion = TaskRequest["schemaVersion"];
4
- /** Supported task kinds (currently `"text_to_text"`). */
6
+ /** Supported task kinds (`"text_to_text"`, `"text_to_speech"`). */
5
7
  export type TaskKind = TaskRequest["task"]["kind"];
6
8
  /** Normalized reason a task finished (e.g. `stop`, `length`, `error`). */
7
9
  export type FinishReason = TaskResult["finishReason"];
@@ -19,4 +21,46 @@ export type RoutingPreferences = NonNullable<TaskRequest["preferences"]>;
19
21
  export type ModelPackageFormat = ModelPackage["format"];
20
22
  /** How a model package's files are supplied to a provider (`registry`, `bundled`, ...). */
21
23
  export type ModelSourceType = NonNullable<ModelPackage["source"]>["sourceType"];
24
+ /** Execution placement a provider declares (`local`, `edge`, `cloud`). */
25
+ export type ProviderType = ProviderDescriptor["type"];
26
+ /** Cancellation guarantee a provider declares (`hard`, `soft`, `none`). */
27
+ export type CancelSemantics = ProviderDescriptor["cancel"];
28
+ /** How the engine reaches a provider (`in_process`, `system_service`, `http`, ...). */
29
+ export type ProviderTransport = ProviderDescriptor["transport"];
30
+ /** A `text_to_text` request: `prompt` and/or `messages`, never a non-text payload. */
31
+ export type TextTaskRequest = TaskRequest & {
32
+ task: {
33
+ kind: "text_to_text";
34
+ };
35
+ speech?: never;
36
+ delivery?: never;
37
+ };
38
+ /** A `text_to_speech` request: the `speech` payload and a playback or artifact delivery. */
39
+ export type SpeechTaskRequest = TaskRequest & {
40
+ task: {
41
+ kind: "text_to_speech";
42
+ };
43
+ speech: SpeechInput;
44
+ delivery: OutputDeliveryRequest & {
45
+ mode: "playback" | "artifact";
46
+ };
47
+ prompt?: never;
48
+ messages?: never;
49
+ generation?: never;
50
+ };
51
+ /** Inline text output. */
52
+ export type TextTaskOutput = TaskOutput & {
53
+ type: "text";
54
+ text: string;
55
+ };
56
+ /** Completion of managed playback; carries no media. */
57
+ export type PlaybackTaskOutput = TaskOutput & {
58
+ type: "playback";
59
+ playback: PlaybackOutput;
60
+ };
61
+ /** A reference to retrievable media (ADR 017). */
62
+ export type ArtifactTaskOutput = TaskOutput & {
63
+ type: "artifact";
64
+ artifact: MediaArtifact;
65
+ };
22
66
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,UAAU,EACX,MAAM,sBAAsB,CAAC;AAK9B,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AACzD,yDAAyD;AACzD,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACtD,iEAAiE;AACjE,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAC3D,qEAAqE;AACrE,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AACxD,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AACxC,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;AACzE,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;AACzE,wEAAwE;AACxE,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AACxD,2FAA2F;AAC3F,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,UAAU,EACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAKtF,4EAA4E;AAC5E,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;AACzD,mEAAmE;AACnE,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AACnD,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,cAAc,CAAC,CAAC;AACtD,iEAAiE;AACjE,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAC3D,qEAAqE;AACrE,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC;AACxD,uDAAuD;AACvD,MAAM,MAAM,eAAe,GAAG,SAAS,CAAC;AACxC,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;AACzE,oEAAoE;AACpE,MAAM,MAAM,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;AACzE,wEAAwE;AACxE,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;AACxD,2FAA2F;AAC3F,MAAM,MAAM,eAAe,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;AAChF,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACtD,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC3D,uFAAuF;AACvF,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;AAMhE,sFAAsF;AACtF,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAC1C,IAAI,EAAE;QAAE,IAAI,EAAE,cAAc,CAAA;KAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB,CAAC;AACF,4FAA4F;AAC5F,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C,IAAI,EAAE;QAAE,IAAI,EAAE,gBAAgB,CAAA;KAAE,CAAC;IACjC,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,qBAAqB,GAAG;QAAE,IAAI,EAAE,UAAU,GAAG,UAAU,CAAA;KAAE,CAAC;IACpE,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;CACpB,CAAC;AACF,0BAA0B;AAC1B,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACzE,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,cAAc,CAAA;CAAE,CAAC;AAC7F,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,CAAC"}