apps 0.0.1-beta.3 → 0.0.1-beta.31

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 (140) hide show
  1. package/README.md +68 -44
  2. package/framework-reference.json +1 -1
  3. package/js/{chunk-RN2MXB4R.js → chunk-3FJYVAE4.js} +128 -24
  4. package/js/chunk-4OKYLVU4.js +118 -0
  5. package/js/{chunk-LGIYBDWA.js → chunk-5DLG2FVN.js} +65 -1
  6. package/js/{chunk-PLCMJREA.js → chunk-5JVNM3CQ.js} +60 -20
  7. package/js/chunk-5XJR4XGW.js +254 -0
  8. package/js/{chunk-FZJOYIZO.js → chunk-6KG4DZD7.js} +1 -1
  9. package/js/{chunk-EVJUVWN2.js → chunk-6ZJ2H6P4.js} +2 -2
  10. package/js/{chunk-NQ3OMCA5.js → chunk-AUFVX4KM.js} +2 -2
  11. package/js/{chunk-D47C7KG5.js → chunk-AYM2FUI5.js} +2 -2
  12. package/js/{chunk-5MQZEB6Y.js → chunk-BGALSHLT.js} +37 -12
  13. package/js/{chunk-QKHR7BMF.js → chunk-CJY5X26R.js} +3 -3
  14. package/js/{chunk-M6ZRRIBI.js → chunk-DASNNAP4.js} +1 -1
  15. package/js/{chunk-ZCAMUXSG.js → chunk-ETLILMHY.js} +3 -4
  16. package/js/{chunk-FW5HBOIK.js → chunk-EXGKN554.js} +2005 -1710
  17. package/js/{chunk-SATWJKN6.js → chunk-FBBXFFFJ.js} +1 -1
  18. package/js/{chunk-JN55AYQH.js → chunk-FULRJSWU.js} +61 -32
  19. package/js/{chunk-HDTGZWP2.js → chunk-GG566OOE.js} +139 -32
  20. package/js/chunk-GZ4UHXRT.js +92 -0
  21. package/js/{chunk-YEJOQEII.js → chunk-HW3DPBZR.js} +45 -7
  22. package/js/{chunk-HDJH3RPR.js → chunk-MFHUR5SB.js} +2 -2
  23. package/js/{chunk-MYYEW3RA.js → chunk-N72RKJ5E.js} +984 -61
  24. package/js/{chunk-WFSQXYUT.js → chunk-NPGRURDG.js} +390 -18
  25. package/js/chunk-OD3KFKZD.js +1617 -0
  26. package/js/{chunk-FDNTX5QJ.js → chunk-OX233L7N.js} +2 -2
  27. package/js/{chunk-G7ZIRKMK.js → chunk-QYM4STZW.js} +118 -197
  28. package/js/chunk-RULZPNGP.js +801 -0
  29. package/js/{chunk-BMOIAIVR.js → chunk-UMCMZFXW.js} +49 -1
  30. package/js/{chunk-J7O55ZV7.js → chunk-W7F23NQ2.js} +419 -191
  31. package/js/chunk-WG5DFZFT.js +42 -0
  32. package/js/{chunk-T2LAZCAD.js → chunk-ZOY7PDMI.js} +1 -1
  33. package/js/client.js +120 -84
  34. package/js/contracts.js +110 -16
  35. package/js/effect.js +20 -20
  36. package/js/{es-APDZKREY.js → es-DIULA3ZF.js} +62 -1659
  37. package/js/graphql.js +58 -54
  38. package/js/host.js +20 -20
  39. package/js/index.js +247 -204
  40. package/js/mcp/effect.js +24 -22
  41. package/js/mcp/stdio.js +35 -30
  42. package/js/mcp.js +105 -68
  43. package/js/openapi.js +4087 -1503
  44. package/js/react.js +3 -3
  45. package/js/skills/effect.js +5 -3
  46. package/js/skills.js +15 -15
  47. package/js/storage/facet.js +4 -4
  48. package/js/ui/auth/contracts.js +2 -2
  49. package/js/ui/auth.js +5 -5
  50. package/js/ui/contracts.js +5 -4
  51. package/js/ui/serving.js +8516 -214
  52. package/package.json +1 -1
  53. package/runtime.json +1 -1
  54. package/types/app-data/src/contracts/database.d.ts +33 -6
  55. package/types/app-data/src/implementation/schema.d.ts +2 -17
  56. package/types/apps/src/contracts/api-response-error.d.ts +4 -0
  57. package/types/apps/src/contracts/app.d.ts +7 -6
  58. package/types/apps/src/contracts/failure.d.ts +54 -0
  59. package/types/apps/src/contracts/graphql.d.ts +2 -1
  60. package/types/apps/src/contracts/host.d.ts +34 -11
  61. package/types/apps/src/contracts/mcp.d.ts +91 -10
  62. package/types/apps/src/contracts/network.d.ts +84 -0
  63. package/types/apps/src/contracts/openapi-compile.d.ts +31 -3
  64. package/types/apps/src/contracts/openapi.d.ts +45 -9
  65. package/types/apps/src/contracts/operations.d.ts +5 -6
  66. package/types/apps/src/contracts/protocol-version.d.ts +2 -2
  67. package/types/apps/src/contracts/protocols/1.d.ts +251 -69
  68. package/types/apps/src/contracts/protocols/2.d.ts +710 -0
  69. package/types/apps/src/contracts/protocols/3.d.ts +716 -0
  70. package/types/apps/src/contracts/protocols/4.d.ts +1298 -0
  71. package/types/apps/src/contracts/protocols/5.d.ts +1174 -0
  72. package/types/apps/src/contracts/protocols/6.d.ts +1620 -0
  73. package/types/apps/src/contracts/protocols/7.d.ts +1784 -0
  74. package/types/apps/src/contracts/protocols/8.d.ts +1119 -0
  75. package/types/apps/src/contracts/protocols/oauth.d.ts +89 -0
  76. package/types/apps/src/contracts/provider-error.d.ts +9 -0
  77. package/types/apps/src/contracts/provider.d.ts +115 -10
  78. package/types/apps/src/contracts/router.d.ts +59 -0
  79. package/types/apps/src/contracts/skills.d.ts +18 -5
  80. package/types/apps/src/contracts/storage.d.ts +3 -3
  81. package/types/apps/src/contracts/ui.d.ts +18 -0
  82. package/types/apps/src/contracts/workflows.d.ts +34 -3
  83. package/types/apps/src/graphql.d.ts +1 -3
  84. package/types/apps/src/implementation/account-router.d.ts +12 -0
  85. package/types/apps/src/implementation/app.d.ts +5 -4
  86. package/types/apps/src/implementation/browser-scripts.gen.d.ts +6 -0
  87. package/types/apps/src/implementation/catalog-cache.d.ts +34 -4
  88. package/types/apps/src/implementation/elicitation.d.ts +9 -9
  89. package/types/apps/src/implementation/failure-detail.d.ts +46 -0
  90. package/types/apps/src/implementation/graphql-catalog.d.ts +4 -7
  91. package/types/apps/src/implementation/graphql.d.ts +4 -3
  92. package/types/apps/src/implementation/input-problems.d.ts +4 -1
  93. package/types/apps/src/implementation/mcp-call.d.ts +6 -5
  94. package/types/apps/src/implementation/mcp-catalog.d.ts +7 -8
  95. package/types/apps/src/implementation/mcp-client.d.ts +49 -25
  96. package/types/apps/src/implementation/mcp-stdio.d.ts +1 -1
  97. package/types/apps/src/implementation/mcp-tools.d.ts +2 -1
  98. package/types/apps/src/implementation/mcp.d.ts +52 -25
  99. package/types/apps/src/implementation/network.d.ts +16 -0
  100. package/types/apps/src/implementation/openapi-compile.d.ts +27 -6
  101. package/types/apps/src/implementation/openapi-document.d.ts +46 -19
  102. package/types/apps/src/implementation/openapi-names.d.ts +9 -4
  103. package/types/apps/src/implementation/openapi-request.d.ts +10 -2
  104. package/types/apps/src/implementation/openapi-source.d.ts +8 -6
  105. package/types/apps/src/implementation/openapi-upgrade.d.ts +4 -0
  106. package/types/apps/src/implementation/operations.d.ts +36 -3
  107. package/types/apps/src/implementation/protocol-operations.d.ts +6 -4
  108. package/types/apps/src/implementation/provider-error.d.ts +28 -1
  109. package/types/apps/src/implementation/provider.d.ts +19 -5
  110. package/types/apps/src/implementation/router-catalog.d.ts +224 -0
  111. package/types/apps/src/implementation/router.d.ts +68 -0
  112. package/types/apps/src/implementation/runtime-yield.d.ts +7 -0
  113. package/types/apps/src/implementation/schema.d.ts +80 -1
  114. package/types/apps/src/implementation/skills.d.ts +2 -2
  115. package/types/apps/src/implementation/storage.d.ts +5 -3
  116. package/types/apps/src/implementation/ui-account-notice.d.ts +9 -0
  117. package/types/apps/src/implementation/ui-client.d.ts +2 -2
  118. package/types/apps/src/implementation/ui-document.d.ts +5 -0
  119. package/types/apps/src/implementation/ui-errors.d.ts +1 -1
  120. package/types/apps/src/implementation/ui-serving.d.ts +10 -4
  121. package/types/apps/src/implementation/ui-watch.d.ts +1 -1
  122. package/types/apps/src/implementation/upstream-error.d.ts +7 -0
  123. package/types/apps/src/implementation/webhooks.d.ts +1 -1
  124. package/types/apps/src/implementation/workflow-context.d.ts +11 -3
  125. package/types/apps/src/index.d.ts +29 -11
  126. package/types/apps/src/mcp-stdio.d.ts +2 -5
  127. package/types/apps/src/mcp.d.ts +25 -5
  128. package/types/apps/src/openapi.d.ts +6 -6
  129. package/types/apps/src/skills.d.ts +4 -4
  130. package/types/telemetry/src/browser-operations.d.ts +5 -2
  131. package/types/telemetry/src/config.d.ts +2 -2
  132. package/types/utils/src/api-error.d.ts +48 -0
  133. package/js/chunk-PYUYJRSK.js +0 -93
  134. package/js/chunk-SWPD52J7.js +0 -35
  135. package/js/chunk-W7D7WVSY.js +0 -18
  136. package/js/chunk-Z5NMEGJN.js +0 -29
  137. package/js/chunk-ZJWDMTE3.js +0 -63
  138. package/types/apps/src/contracts/dynamic-tools.d.ts +0 -13
  139. package/types/apps/src/implementation/account-operations.d.ts +0 -151
  140. package/types/apps/src/implementation/dynamic-tools.d.ts +0 -8
@@ -1,4 +1,5 @@
1
1
  import type { ProviderError } from "./provider-error.js";
2
+ import type { NetworkRefused } from "./network.js";
2
3
  /** Credential-free OpenAPI request declarations and validation schemas retained with app source. */
3
4
  import { Schema, type Effect } from "effect";
4
5
  import { JsonObject } from "./schema.js";
@@ -20,7 +21,8 @@ export type OpenapiErrorResponse = typeof OpenapiErrorResponse.Type;
20
21
  /** Resolved OpenAPI parameter shared by import validation and request construction. */
21
22
  export declare const OpenapiParameter: Schema.Struct<{
22
23
  readonly name: Schema.String;
23
- readonly in: Schema.Literals<readonly ["path", "query", "header", "cookie"]>;
24
+ /** OpenAPI 3.2's `querystring` is the whole query string, serialized from one `content` value. */
25
+ readonly in: Schema.Literals<readonly ["path", "query", "querystring", "header", "cookie"]>;
24
26
  readonly required: Schema.optionalKey<Schema.Boolean>;
25
27
  readonly schema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
26
28
  readonly style: Schema.optionalKey<Schema.String>;
@@ -45,7 +47,7 @@ export declare const OpenapiOperation: Schema.Struct<{
45
47
  /** The document's operationId, when it declares one. `kinds` overrides are keyed by it. */
46
48
  readonly operationId: Schema.optionalKey<Schema.String>;
47
49
  readonly description: Schema.String;
48
- readonly method: Schema.Literals<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]>;
50
+ readonly method: Schema.Literals<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS", "QUERY"]>;
49
51
  readonly path: Schema.String;
50
52
  readonly baseUrl: Schema.String;
51
53
  readonly openapi: Schema.String;
@@ -54,7 +56,8 @@ export declare const OpenapiOperation: Schema.Struct<{
54
56
  readonly request: Schema.Struct<{
55
57
  readonly parameters: Schema.$Array<Schema.Struct<{
56
58
  readonly name: Schema.String;
57
- readonly in: Schema.Literals<readonly ["path", "query", "header", "cookie"]>;
59
+ /** OpenAPI 3.2's `querystring` is the whole query string, serialized from one `content` value. */
60
+ readonly in: Schema.Literals<readonly ["path", "query", "querystring", "header", "cookie"]>;
58
61
  readonly required: Schema.optionalKey<Schema.Boolean>;
59
62
  readonly schema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
60
63
  readonly style: Schema.optionalKey<Schema.String>;
@@ -75,6 +78,8 @@ export declare const OpenapiOperation: Schema.Struct<{
75
78
  }>;
76
79
  /** Streams remain in the metadata but cannot run through a single-result tool call. */
77
80
  readonly streaming: Schema.optionalKey<Schema.Literal<true>>;
81
+ /** The operation's OpenAPI tags, shown to agents as labels within its router. */
82
+ readonly tags: Schema.optionalKey<Schema.$Array<Schema.NonEmptyString>>;
78
83
  readonly input: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
79
84
  readonly outputSchema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
80
85
  readonly errorResponses: Schema.optionalKey<Schema.$Array<Schema.Struct<{
@@ -90,6 +95,8 @@ export declare const OpenapiOperation: Schema.Struct<{
90
95
  }>>>;
91
96
  }>;
92
97
  export type OpenapiOperation = typeof OpenapiOperation.Type;
98
+ /** Safe methods, whose operations are queries unless `kinds` says otherwise. QUERY is OpenAPI 3.2's. */
99
+ export declare const isOpenapiReadMethod: (method: OpenapiOperation["method"]) => method is "GET" | "HEAD" | "OPTIONS" | "QUERY";
93
100
  /** Map a selected account field to one Swagger credential value. */
94
101
  export declare const CredentialBinding: Schema.Struct<{
95
102
  readonly scheme: Schema.String;
@@ -123,7 +130,7 @@ export declare const OpenapiToolsOptions: Schema.Struct<{
123
130
  /** The document's operationId, when it declares one. `kinds` overrides are keyed by it. */
124
131
  readonly operationId: Schema.optionalKey<Schema.String>;
125
132
  readonly description: Schema.String;
126
- readonly method: Schema.Literals<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]>;
133
+ readonly method: Schema.Literals<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS", "QUERY"]>;
127
134
  readonly path: Schema.String;
128
135
  readonly baseUrl: Schema.String;
129
136
  readonly openapi: Schema.String;
@@ -132,7 +139,8 @@ export declare const OpenapiToolsOptions: Schema.Struct<{
132
139
  readonly request: Schema.Struct<{
133
140
  readonly parameters: Schema.$Array<Schema.Struct<{
134
141
  readonly name: Schema.String;
135
- readonly in: Schema.Literals<readonly ["path", "query", "header", "cookie"]>;
142
+ /** OpenAPI 3.2's `querystring` is the whole query string, serialized from one `content` value. */
143
+ readonly in: Schema.Literals<readonly ["path", "query", "querystring", "header", "cookie"]>;
136
144
  readonly required: Schema.optionalKey<Schema.Boolean>;
137
145
  readonly schema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
138
146
  readonly style: Schema.optionalKey<Schema.String>;
@@ -153,6 +161,8 @@ export declare const OpenapiToolsOptions: Schema.Struct<{
153
161
  }>;
154
162
  /** Streams remain in the metadata but cannot run through a single-result tool call. */
155
163
  readonly streaming: Schema.optionalKey<Schema.Literal<true>>;
164
+ /** The operation's OpenAPI tags, shown to agents as labels within its router. */
165
+ readonly tags: Schema.optionalKey<Schema.$Array<Schema.NonEmptyString>>;
156
166
  readonly input: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
157
167
  readonly outputSchema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
158
168
  readonly errorResponses: Schema.optionalKey<Schema.$Array<Schema.Struct<{
@@ -197,11 +207,32 @@ export type OpenapiToolsOptions = Omit<typeof OpenapiToolsOptions.Type, "operati
197
207
  readonly operations: unknown;
198
208
  readonly definitions?: unknown;
199
209
  };
210
+ /** The operation a failed call addressed: its method and templated path, never parameter values. */
211
+ export declare const OpenapiFailedOperation: Schema.Struct<{
212
+ readonly method: Schema.Literals<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS", "QUERY"]>;
213
+ readonly path: Schema.String;
214
+ }>;
215
+ export type OpenapiFailedOperation = typeof OpenapiFailedOperation.Type;
216
+ /** A response media type without parameters, such as `text/html`. */
217
+ export declare const OpenapiMediaType: Schema.String;
200
218
  declare const OpenapiError_base: Schema.Class<OpenapiError, Schema.TaggedStruct<"OpenapiError", {
201
219
  readonly reason: Schema.Literals<readonly ["invalid_definition", "invalid_input", "request"]>;
202
220
  readonly status: Schema.optional<Schema.Number>;
221
+ /** Absent only when the definition itself could not be read. */
222
+ readonly operation: Schema.optional<Schema.Struct<{
223
+ readonly method: Schema.Literals<readonly ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS", "QUERY"]>;
224
+ readonly path: Schema.String;
225
+ }>>;
226
+ readonly contentType: Schema.optional<Schema.String>;
227
+ /** The response's `content-length`, when it declared one. */
228
+ readonly bytes: Schema.optional<Schema.Int>;
203
229
  }>, import("effect/Cause").YieldableError>;
204
- /** Safe failures omit request headers, credentials and upstream bodies. */
230
+ /**
231
+ * Safe failures omit request headers, credentials and upstream body text: the failure message is
232
+ * also recorded in traces. A `request` failure with a status names the response that no declared
233
+ * error matched, or the success response whose body could not be read, by its media type and
234
+ * declared length.
235
+ */
205
236
  export declare class OpenapiError extends OpenapiError_base {
206
237
  }
207
238
  /** An ordinary native tool bound to one selected account. */
@@ -210,7 +241,7 @@ export interface OpenapiTool {
210
241
  readonly readOnly: boolean;
211
242
  readonly outputSchema?: JsonObject;
212
243
  readonly input: Schema.Decoder<Schema.Json>;
213
- readonly run: (context: unknown, input: Schema.Json) => Effect.Effect<unknown, OpenapiError | OpenapiResponseError | ProviderError>;
244
+ readonly run: (context: unknown, input: Schema.Json) => Effect.Effect<unknown, OpenapiError | OpenapiResponseError | ProviderError | NetworkRefused>;
214
245
  }
215
246
  /** Executable operations keyed by their generated names. */
216
247
  export type OpenapiTools = Readonly<Record<string, OpenapiTool>>;
@@ -219,7 +250,12 @@ export declare const defaultOpenapiResponseLimits: {
219
250
  readonly maxBodyBytes: 16777216;
220
251
  readonly readTimeoutMs: 30000;
221
252
  };
222
- /** Media returned as text rather than a base64 file. NDJSON remains an unparsed text result. */
253
+ /**
254
+ * A sequence of JSON values, one per line or record: NDJSON, JSON Lines and `json-seq`, whose
255
+ * items OpenAPI 3.2 describes with `itemSchema`. The body is not one JSON value.
256
+ */
257
+ export declare const isOpenapiJsonSequence: (type: string) => boolean;
258
+ /** Media returned as text rather than a base64 file. JSON sequences remain unparsed text. */
223
259
  export declare const isOpenapiTextMedia: (type: string) => boolean;
224
260
  /** A form field that carries raw file bytes: OpenAPI 3.1 `contentMediaType` without an
225
261
  * encoding, or the `format: binary` string that 3.1 documents still commonly use. */
@@ -227,5 +263,5 @@ export declare const isOpenapiFileSchema: (shape: Readonly<Record<string, unknow
227
263
  /** JSON-safe binary result, independent of the host's file storage. */
228
264
  export declare const openapiBinaryResultSchema: JsonObject;
229
265
  /** Classify request media for JSON-safe tool arguments; Swagger owns wire serialization. */
230
- export declare const openapiMediaKind: (type: string) => "form" | "text" | "binary" | "json" | "multipart";
266
+ export declare const openapiMediaKind: (type: string) => "form" | "json" | "binary" | "multipart" | "text";
231
267
  export {};
@@ -17,14 +17,13 @@ export interface AppOperation<Input = unknown, Output = unknown> {
17
17
  readonly annotations?: ToolAnnotations;
18
18
  readonly _meta?: JsonObject;
19
19
  readonly input: Schema.Decoder<Input>;
20
+ /** Checks every value `run` returns and is the output schema the operation is described with. */
20
21
  readonly output?: Schema.Decoder<Output>;
21
- /** Upstream protocol result metadata; the protocol adapter validates its own result envelope. */
22
+ /**
23
+ * An upstream protocol's description of the value `run` returns, used only when `output` is
24
+ * absent. The host does not check it, so declare `output` when the result can be checked.
25
+ */
22
26
  readonly outputSchema?: JsonObject;
23
27
  readonly approval?: Approval<Input>;
24
28
  readonly run: (context: OperationContext, input: Input) => Effect.Effect<Output, unknown>;
25
29
  }
26
- /** Agent tool names carry the operation kind; catalogs may reuse the same local name. */
27
- export declare const OperationToolPrefixes: {
28
- readonly query: "queries.";
29
- readonly mutate: "mutations.";
30
- };
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * The host protocol this framework speaks. It is written into `runtime.json` and every host
3
- * snapshot. Released protocols are frozen: see `protocols/1.ts` and notes/apps-publishing.md.
3
+ * snapshot. Released protocols are frozen: see `protocols/8.ts` and notes/apps-publishing.md.
4
4
  * This file has no imports so the package build script can read it directly.
5
5
  */
6
- export declare const frameworkProtocol = 1;
6
+ export declare const frameworkProtocol = 8;