apps 0.0.1-beta.11 → 0.0.1-beta.110

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 (197) hide show
  1. package/README.md +60 -42
  2. package/framework-reference.json +1 -1
  3. package/js/chunk-2RGJMA7N.js +5186 -0
  4. package/js/chunk-3BI34I5S.js +449 -0
  5. package/js/chunk-3BOEMXAJ.js +713 -0
  6. package/js/{chunk-JU7VHODU.js → chunk-4PIQKACY.js} +65 -10
  7. package/js/{chunk-VFZKSM3T.js → chunk-4X2UI4R2.js} +3 -3
  8. package/js/{chunk-KUMBKVJD.js → chunk-62NVUKED.js} +2 -2
  9. package/js/chunk-74H25C4X.js +95 -0
  10. package/js/chunk-7HG422GB.js +90 -0
  11. package/js/{chunk-UK573G7W.js → chunk-ACQXVKVQ.js} +87 -51
  12. package/js/chunk-BKIQCV72.js +994 -0
  13. package/js/{chunk-IJX4CYZO.js → chunk-DILSCQPJ.js} +228 -264
  14. package/js/chunk-HLMJBE4T.js +49 -0
  15. package/js/{chunk-RELFXUOO.js → chunk-JCX2K2SI.js} +931 -289
  16. package/js/{chunk-M3B3DE4K.js → chunk-KLSEU35Y.js} +463 -218
  17. package/js/chunk-OD3KFKZD.js +1617 -0
  18. package/js/chunk-OIH73VFM.js +175 -0
  19. package/js/chunk-OWN3DP2W.js +88 -0
  20. package/js/{chunk-IPI4MFSN.js → chunk-PBGPES67.js} +2 -2
  21. package/js/{chunk-WVVV4TX2.js → chunk-RIV62DRM.js} +4 -3
  22. package/js/{chunk-RFVIONFX.js → chunk-SXQVVXJE.js} +123 -44
  23. package/js/chunk-UPTAFF6L.js +335 -0
  24. package/js/{chunk-ODEIDRGW.js → chunk-URKOTNDA.js} +795 -176
  25. package/js/{chunk-5T57N25Q.js → chunk-VAI3EVCS.js} +643 -69
  26. package/js/{chunk-57RKNWL2.js → chunk-YDW7DX3A.js} +4 -4
  27. package/js/{chunk-CDL5PM2Q.js → chunk-ZKDXML77.js} +19239 -18404
  28. package/js/{chunk-GPFVWWDZ.js → chunk-ZXG7RMCB.js} +113 -58
  29. package/js/client.js +148 -84
  30. package/js/contracts.js +150 -21
  31. package/js/effect.js +18 -19
  32. package/js/{es-APDZKREY.js → es-DIULA3ZF.js} +62 -1659
  33. package/js/graphql.js +231 -188
  34. package/js/host.js +116 -78
  35. package/js/index.js +213 -98
  36. package/js/mcp/effect.js +21 -21
  37. package/js/mcp.js +91 -57
  38. package/js/openapi.js +4349 -1415
  39. package/js/react.js +2 -3
  40. package/js/skills/effect.js +6 -3
  41. package/js/skills.js +208 -81
  42. package/js/storage/facet.js +1 -540
  43. package/js/ui/auth/contracts.js +2 -2
  44. package/js/ui/auth.js +5 -5
  45. package/js/ui/contracts.js +9 -8
  46. package/js/ui/serving.js +8609 -228
  47. package/package.json +3 -8
  48. package/runtime.json +1 -1
  49. package/types/app-cache/src/contracts/cache.d.ts +18 -0
  50. package/types/app-cache/src/index.d.ts +34 -2
  51. package/types/apps/src/contracts/api-response-error.d.ts +4 -0
  52. package/types/apps/src/contracts/app.d.ts +56 -11
  53. package/types/apps/src/contracts/cache.d.ts +20 -0
  54. package/types/apps/src/contracts/context.d.ts +60 -17
  55. package/types/apps/src/contracts/elicitation.d.ts +23 -7
  56. package/types/apps/src/contracts/events.d.ts +94 -0
  57. package/types/apps/src/contracts/failure.d.ts +30 -1
  58. package/types/apps/src/contracts/graphql.d.ts +40 -2
  59. package/types/apps/src/contracts/host.d.ts +1456 -20
  60. package/types/apps/src/contracts/icons.d.ts +28 -0
  61. package/types/apps/src/contracts/live.d.ts +2 -0
  62. package/types/apps/src/contracts/mcp.d.ts +81 -20
  63. package/types/apps/src/contracts/network.d.ts +120 -0
  64. package/types/apps/src/contracts/openapi-compile.d.ts +82 -3
  65. package/types/apps/src/contracts/openapi-document.d.ts +1 -1
  66. package/types/apps/src/contracts/openapi.d.ts +41 -9
  67. package/types/apps/src/contracts/operations.d.ts +14 -7
  68. package/types/apps/src/contracts/placement.d.ts +102 -0
  69. package/types/apps/src/contracts/protocol-version.d.ts +2 -2
  70. package/types/apps/src/contracts/protocols/1.d.ts +733 -81
  71. package/types/apps/src/contracts/protocols/10.d.ts +1450 -0
  72. package/types/apps/src/contracts/protocols/11.d.ts +1149 -0
  73. package/types/apps/src/contracts/protocols/12.d.ts +3310 -0
  74. package/types/apps/src/contracts/protocols/2.d.ts +69 -26
  75. package/types/apps/src/contracts/protocols/3.d.ts +133 -33
  76. package/types/apps/src/contracts/protocols/4.d.ts +122 -45
  77. package/types/apps/src/contracts/protocols/5.d.ts +157 -47
  78. package/types/apps/src/contracts/protocols/6.d.ts +1629 -0
  79. package/types/apps/src/contracts/protocols/7.d.ts +1785 -0
  80. package/types/apps/src/contracts/protocols/8.d.ts +1182 -0
  81. package/types/apps/src/contracts/protocols/9.d.ts +1104 -0
  82. package/types/apps/src/contracts/protocols/current.d.ts +6869 -0
  83. package/types/apps/src/contracts/protocols/oauth-6.d.ts +74 -0
  84. package/types/apps/src/contracts/protocols/oauth.d.ts +134 -0
  85. package/types/apps/src/contracts/provider-error.d.ts +9 -0
  86. package/types/apps/src/contracts/provider.d.ts +85 -6
  87. package/types/apps/src/contracts/router.d.ts +2 -1
  88. package/types/apps/src/contracts/schedules.d.ts +7 -1
  89. package/types/apps/src/contracts/schema.d.ts +21 -0
  90. package/types/apps/src/contracts/shared-catalog.d.ts +11 -0
  91. package/types/apps/src/contracts/skills.d.ts +50 -13
  92. package/types/apps/src/contracts/sql.d.ts +63 -0
  93. package/types/apps/src/contracts/ui.d.ts +70 -30
  94. package/types/apps/src/contracts/webhooks.d.ts +24 -7
  95. package/types/apps/src/contracts/workflows.d.ts +56 -34
  96. package/types/apps/src/facet.d.ts +4 -5
  97. package/types/apps/src/host.d.ts +5 -0
  98. package/types/apps/src/implementation/account-router.d.ts +4 -3
  99. package/types/apps/src/implementation/app.d.ts +41 -14
  100. package/types/apps/src/implementation/authoring.d.ts +25 -5
  101. package/types/apps/src/implementation/browser-scripts.gen.d.ts +6 -0
  102. package/types/apps/src/implementation/cache.d.ts +29 -2
  103. package/types/apps/src/implementation/catalog-cache.d.ts +35 -4
  104. package/types/apps/src/implementation/elicitation.d.ts +18 -15
  105. package/types/apps/src/implementation/events.d.ts +64 -0
  106. package/types/apps/src/implementation/failure-detail.d.ts +28 -5
  107. package/types/apps/src/implementation/graphql-catalog.d.ts +3 -3
  108. package/types/apps/src/implementation/graphql.d.ts +4 -3
  109. package/types/apps/src/implementation/input-problems.d.ts +6 -2
  110. package/types/apps/src/implementation/invocation-timing.d.ts +18 -0
  111. package/types/apps/src/implementation/live.d.ts +2 -2
  112. package/types/apps/src/implementation/mcp-call.d.ts +6 -5
  113. package/types/apps/src/implementation/mcp-catalog.d.ts +6 -4
  114. package/types/apps/src/implementation/mcp-client.d.ts +17 -9
  115. package/types/apps/src/implementation/mcp-tools.d.ts +2 -1
  116. package/types/apps/src/implementation/mcp.d.ts +20 -9
  117. package/types/apps/src/implementation/network.d.ts +16 -0
  118. package/types/apps/src/implementation/openapi-compile.d.ts +38 -7
  119. package/types/apps/src/implementation/openapi-document.d.ts +50 -20
  120. package/types/apps/src/implementation/openapi-names.d.ts +9 -4
  121. package/types/apps/src/implementation/openapi-request.d.ts +10 -2
  122. package/types/apps/src/implementation/openapi-source.d.ts +23 -1
  123. package/types/apps/src/implementation/openapi-upgrade.d.ts +4 -0
  124. package/types/apps/src/implementation/operations.d.ts +58 -7
  125. package/types/apps/src/implementation/optimistic.d.ts +1 -1
  126. package/types/apps/src/implementation/placement.d.ts +60 -0
  127. package/types/apps/src/implementation/protocol-operations.d.ts +3 -0
  128. package/types/apps/src/implementation/provider-error.d.ts +28 -1
  129. package/types/apps/src/implementation/provider.d.ts +19 -4
  130. package/types/apps/src/implementation/query-commit.d.ts +1 -1
  131. package/types/apps/src/implementation/router-catalog.d.ts +24 -18
  132. package/types/apps/src/implementation/router.d.ts +26 -6
  133. package/types/apps/src/implementation/runtime-yield.d.ts +7 -0
  134. package/types/apps/src/implementation/schedules.d.ts +39 -8
  135. package/types/apps/src/implementation/schema.d.ts +108 -11
  136. package/types/apps/src/implementation/skills.d.ts +18 -24
  137. package/types/apps/src/implementation/sql.d.ts +71 -0
  138. package/types/apps/src/implementation/ui-account-notice.d.ts +9 -0
  139. package/types/apps/src/implementation/ui-auth.d.ts +1 -1
  140. package/types/apps/src/implementation/ui-client.d.ts +3 -3
  141. package/types/apps/src/implementation/ui-document.d.ts +5 -0
  142. package/types/apps/src/implementation/ui-errors.d.ts +1 -1
  143. package/types/apps/src/implementation/ui-serving.d.ts +28 -11
  144. package/types/apps/src/implementation/ui-watch.d.ts +1 -1
  145. package/types/apps/src/implementation/upstream-error.d.ts +17 -0
  146. package/types/apps/src/implementation/webhooks.d.ts +15 -6
  147. package/types/apps/src/implementation/workflow-context.d.ts +6 -2
  148. package/types/apps/src/implementation/workflows.d.ts +11 -4
  149. package/types/apps/src/index.d.ts +51 -16
  150. package/types/apps/src/mcp.d.ts +20 -1
  151. package/types/apps/src/openapi.d.ts +22 -1
  152. package/types/apps/src/react.d.ts +1 -1
  153. package/types/apps/src/skills.d.ts +10 -8
  154. package/types/apps/src/ui-serving.d.ts +1 -1
  155. package/types/telemetry/src/app-records.d.ts +42 -0
  156. package/types/telemetry/src/browser-operations.d.ts +2 -2
  157. package/types/telemetry/src/browser.d.ts +8 -3
  158. package/types/telemetry/src/config.d.ts +2 -2
  159. package/types/telemetry/src/index.d.ts +2 -1
  160. package/types/telemetry/src/layer.d.ts +10 -4
  161. package/types/telemetry/src/measurements.d.ts +1 -1
  162. package/types/telemetry/src/ownership.d.ts +60 -0
  163. package/types/telemetry/src/recorded-failure.d.ts +29 -0
  164. package/types/telemetry/src/relay.d.ts +16 -6
  165. package/types/telemetry/src/span-attributes.d.ts +17 -1
  166. package/types/telemetry/src/transport.d.ts +8 -1
  167. package/types/utils/src/api-error.d.ts +55 -0
  168. package/types/utils/src/connection-failure.d.ts +33 -0
  169. package/types/utils/src/legacy-keys.d.ts +20 -0
  170. package/types/utils/src/recorded-message.d.ts +18 -0
  171. package/types/utils/src/schema-definitions.d.ts +13 -0
  172. package/types/utils/src/user-facing-error.d.ts +83 -0
  173. package/js/chunk-27F7W2LG.js +0 -34
  174. package/js/chunk-EFAPIRVB.js +0 -299
  175. package/js/chunk-KRSCJDTW.js +0 -2668
  176. package/js/chunk-MKWZPDR6.js +0 -63
  177. package/js/chunk-N7YDVXYJ.js +0 -186
  178. package/js/chunk-NKLWZJLE.js +0 -172
  179. package/js/chunk-PJJ24GU7.js +0 -877
  180. package/js/chunk-PZB6T6KU.js +0 -19
  181. package/js/chunk-R3EV5FTO.js +0 -97
  182. package/js/chunk-TYVDBQSI.js +0 -242
  183. package/js/chunk-YBRC463S.js +0 -224
  184. package/js/chunk-Z2QY3YTF.js +0 -507
  185. package/js/chunk-ZQINWV4W.js +0 -630
  186. package/js/mcp/stdio.js +0 -128
  187. package/types/app-data/src/implementation/cursor.d.ts +0 -10
  188. package/types/app-data/src/implementation/index-key.d.ts +0 -7
  189. package/types/app-data/src/implementation/promise.d.ts +0 -68
  190. package/types/app-data/src/implementation/range.d.ts +0 -8
  191. package/types/app-data/src/implementation/schema.d.ts +0 -18
  192. package/types/app-data/src/implementation/sqlite.d.ts +0 -11
  193. package/types/app-data/src/index.d.ts +0 -4
  194. package/types/apps/src/contracts/storage.d.ts +0 -68
  195. package/types/apps/src/implementation/mcp-stdio.d.ts +0 -4
  196. package/types/apps/src/implementation/storage.d.ts +0 -15
  197. package/types/apps/src/mcp-stdio.d.ts +0 -5
@@ -1,6 +1,49 @@
1
1
  import {
2
+ RecordedMessage
3
+ } from "./chunk-OWN3DP2W.js";
4
+ import {
5
+ SchemaGetter_exports,
2
6
  Schema_exports
3
- } from "./chunk-CDL5PM2Q.js";
7
+ } from "./chunk-ZKDXML77.js";
8
+
9
+ // ../utils/src/api-error.ts
10
+ var MessageField = Schema_exports.String.pipe(
11
+ Schema_exports.decodeTo(Schema_exports.optionalKey(Schema_exports.String), {
12
+ decode: SchemaGetter_exports.omit(),
13
+ encode: SchemaGetter_exports.passthrough()
14
+ })
15
+ );
16
+ function withFields(definition) {
17
+ const fields = definition.fields;
18
+ const message = definition.message;
19
+ const documentation = typeof message === "string" ? { description: message } : {};
20
+ const DefinedError = Schema_exports.Error(definition.tag)(
21
+ Schema_exports.TaggedStruct(definition.tag, { ...fields, message: MessageField }).annotate(
22
+ documentation
23
+ ),
24
+ { httpApiStatus: definition.status, ...documentation }
25
+ );
26
+ const recorded = definition.recorded ?? (typeof message === "string" ? () => message : void 0);
27
+ Object.defineProperties(DefinedError.prototype, {
28
+ message: {
29
+ get() {
30
+ return typeof message === "string" ? message : message(this);
31
+ }
32
+ },
33
+ ...recorded === void 0 ? {} : {
34
+ [RecordedMessage]: {
35
+ get() {
36
+ return recorded(this);
37
+ }
38
+ }
39
+ }
40
+ });
41
+ return DefinedError;
42
+ }
43
+ function define(definition) {
44
+ return "fields" in definition ? withFields(definition) : withFields({ ...definition, fields: {} });
45
+ }
46
+ var ApiError = { define };
4
47
 
5
48
  // src/contracts/skills.ts
6
49
  var SkillFilePath = Schema_exports.NonEmptyString.check(
@@ -45,9 +88,18 @@ var AppSkillSource = Schema_exports.Struct({
45
88
  )
46
89
  )
47
90
  });
48
- var SkillDefinitionInvalid = class extends Schema_exports.TaggedError()(
49
- "SkillDefinitionInvalid",
50
- {
91
+ var skillDefinitionFailures = {
92
+ files: (file) => `The skill files of \u201C${file}\u201D are invalid: each needs a unique relative path, text content and a SKILL.md document.`,
93
+ directory: (file) => `\u201C${file}\u201D is not a valid skill directory. Skill directory names use lowercase letters and digits separated by single hyphens.`,
94
+ "missing-document": (file) => `\u201C${file}\u201D is missing.`,
95
+ frontmatter: (file) => `\u201C${file}\u201D must start with valid YAML frontmatter between --- lines.`,
96
+ metadata: (file) => `The frontmatter of \u201C${file}\u201D needs a valid name and description within the Agent Skills limits.`,
97
+ "name-mismatch": (file) => `The name in \u201C${file}\u201D does not match its skill directory.`
98
+ };
99
+ var SkillDefinitionInvalid = ApiError.define({
100
+ tag: "SkillDefinitionInvalid",
101
+ status: 400,
102
+ fields: {
51
103
  file: SkillFilePath,
52
104
  reason: Schema_exports.Literals([
53
105
  "files",
@@ -58,14 +110,14 @@ var SkillDefinitionInvalid = class extends Schema_exports.TaggedError()(
58
110
  "name-mismatch"
59
111
  ])
60
112
  },
61
- { httpApiStatus: 400 }
62
- ) {
63
- };
113
+ message: ({ file, reason }) => skillDefinitionFailures[reason](file),
114
+ recorded: ({ reason }) => `The app's skill definition is invalid (${reason})`
115
+ });
64
116
  var AppSkills = Schema_exports.Array(AppSkillSource).check(
65
117
  Schema_exports.makeFilter((skills) => new Set(skills.map((skill) => skill.name)).size === skills.length)
66
118
  );
67
119
  var SkillServiceName = Schema_exports.String.check(
68
- Schema_exports.isPattern(/^[A-Za-z0-9](?:[A-Za-z0-9 .-]{0,98}[A-Za-z0-9])?$/)
120
+ Schema_exports.isPattern(/^[A-Za-z0-9](?:[A-Za-z0-9 .-]{0,98}[A-Za-z0-9])?$/u)
69
121
  );
70
122
  var SkillLoadFailed = class extends Schema_exports.TaggedError()("SkillLoadFailed", {
71
123
  reason: Schema_exports.Literals([
@@ -79,14 +131,17 @@ var SkillLoadFailed = class extends Schema_exports.TaggedError()("SkillLoadFaile
79
131
  ]),
80
132
  // Error instances read an omitted message as "", so an empty message means none was given.
81
133
  message: Schema_exports.optional(Schema_exports.String.check(Schema_exports.isMaxLength(500))),
82
- status: Schema_exports.optional(Schema_exports.Int.check(Schema_exports.isBetween({ minimum: 100, maximum: 599 })))
134
+ status: Schema_exports.optional(Schema_exports.Int.check(Schema_exports.isBetween({ minimum: 100, maximum: 599 }))),
135
+ missing: Schema_exports.optional(Schema_exports.Literals(["repository", "ref"]))
83
136
  }) {
84
137
  };
85
138
  var skillLoadLimits = {
86
139
  files: 1e3,
87
140
  fileBytes: 2e6,
88
141
  totalBytes: 2e7,
89
- concurrency: 8
142
+ concurrency: 8,
143
+ /** The request that checks whether a kept catalog's publication changed. */
144
+ checkMillis: 5e3
90
145
  };
91
146
 
92
147
  export {
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  Schema_exports
3
- } from "./chunk-CDL5PM2Q.js";
3
+ } from "./chunk-ZKDXML77.js";
4
4
 
5
5
  // src/contracts/ui-auth.ts
6
- var AppSignInId = Schema_exports.String.check(Schema_exports.isPattern(/^[a-f0-9]{64}$/)).pipe(
6
+ var AppSignInId = Schema_exports.String.check(Schema_exports.isPattern(/^[a-f0-9]{64}$/u)).pipe(
7
7
  Schema_exports.brand("AppSignInId")
8
8
  );
9
9
  var AppSignInCode = Schema_exports.RedactedFromValue(
10
- Schema_exports.String.check(Schema_exports.isPattern(/^[a-f0-9]{64}$/))
10
+ Schema_exports.String.check(Schema_exports.isPattern(/^[a-f0-9]{64}$/u))
11
11
  );
12
12
  var AppReturnPath = Schema_exports.String.check(
13
13
  Schema_exports.isMaxLength(8192),
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  appSignInCallbackPath
3
- } from "./chunk-VFZKSM3T.js";
3
+ } from "./chunk-4X2UI4R2.js";
4
4
  import {
5
5
  HttpServerResponse_exports
6
- } from "./chunk-UK573G7W.js";
6
+ } from "./chunk-ACQXVKVQ.js";
7
7
 
8
8
  // src/implementation/ui-auth.ts
9
9
  var appPrivateHeaders = {
@@ -0,0 +1,95 @@
1
+ import {
2
+ JsonValue,
3
+ withLegacyKeys
4
+ } from "./chunk-7HG422GB.js";
5
+ import {
6
+ HttpApiEndpoint_exports,
7
+ HttpApiGroup_exports,
8
+ HttpApiSchema_exports,
9
+ HttpApi_exports
10
+ } from "./chunk-DILSCQPJ.js";
11
+ import {
12
+ Schema_exports
13
+ } from "./chunk-ZKDXML77.js";
14
+
15
+ // src/contracts/ui.ts
16
+ var UiContextFields = Schema_exports.Struct({
17
+ version: Schema_exports.NonEmptyString,
18
+ accounts: Schema_exports.optional(
19
+ Schema_exports.Record(Schema_exports.NonEmptyString, Schema_exports.Array(Schema_exports.NonEmptyString))
20
+ )
21
+ });
22
+ var UiContext = UiContextFields.pipe(withLegacyKeys({ version: "deployment" }));
23
+ var UiOperation = Schema_exports.Struct({
24
+ ...UiContextFields.fields,
25
+ name: Schema_exports.NonEmptyString,
26
+ input: JsonValue
27
+ }).pipe(withLegacyKeys({ version: "deployment" }));
28
+ var UiUnauthorized = class extends Schema_exports.TaggedError()(
29
+ "UiUnauthorized",
30
+ {},
31
+ { httpApiStatus: 401 }
32
+ ) {
33
+ };
34
+ var UiForbidden = class extends Schema_exports.TaggedError()(
35
+ "UiForbidden",
36
+ {},
37
+ { httpApiStatus: 403 }
38
+ ) {
39
+ };
40
+ var UiVersionChanged = class extends Schema_exports.TaggedError()(
41
+ "UiDeploymentChanged",
42
+ {},
43
+ { httpApiStatus: 409 }
44
+ ) {
45
+ };
46
+ var UiFailed = class extends Schema_exports.TaggedError()(
47
+ "UiFailed",
48
+ {
49
+ reason: Schema_exports.Literals(["unavailable", "operation_failed", "account_required"])
50
+ },
51
+ { httpApiStatus: 422 }
52
+ ) {
53
+ };
54
+ var UiSnapshot = Schema_exports.Union([
55
+ Schema_exports.Struct({
56
+ type: Schema_exports.Literal("snapshot"),
57
+ value: JsonValue,
58
+ trace: Schema_exports.optional(Schema_exports.Unknown)
59
+ }),
60
+ Schema_exports.Struct({ type: Schema_exports.Literal("failure"), error: UiFailed }),
61
+ Schema_exports.Struct({ type: Schema_exports.Literal("heartbeat") })
62
+ ]);
63
+ var errors = [UiUnauthorized, UiForbidden, UiVersionChanged, UiFailed];
64
+ var AppUiApi = HttpApi_exports.make("app-ui").add(
65
+ HttpApiGroup_exports.make("ui").add(
66
+ HttpApiEndpoint_exports.post("query", "/_executor/api/query", {
67
+ payload: UiOperation,
68
+ success: JsonValue,
69
+ error: errors
70
+ })
71
+ ).add(
72
+ HttpApiEndpoint_exports.post("mutate", "/_executor/api/mutate", {
73
+ payload: UiOperation,
74
+ success: JsonValue,
75
+ error: errors
76
+ })
77
+ ).add(
78
+ HttpApiEndpoint_exports.post("subscribe", "/_executor/api/subscribe", {
79
+ payload: UiOperation,
80
+ success: HttpApiSchema_exports.StreamSse({ data: UiSnapshot, error: Schema_exports.Union(errors) }),
81
+ error: errors
82
+ })
83
+ )
84
+ );
85
+
86
+ export {
87
+ UiContext,
88
+ UiOperation,
89
+ UiUnauthorized,
90
+ UiForbidden,
91
+ UiVersionChanged,
92
+ UiFailed,
93
+ UiSnapshot,
94
+ AppUiApi
95
+ };
@@ -0,0 +1,90 @@
1
+ import {
2
+ SchemaTransformation_exports,
3
+ Schema_exports
4
+ } from "./chunk-ZKDXML77.js";
5
+
6
+ // src/contracts/schema.ts
7
+ var JsonValue = Schema_exports.Json;
8
+ var JsonObject = Schema_exports.Record(Schema_exports.String, JsonValue);
9
+ var AccountId = Schema_exports.String.pipe(
10
+ Schema_exports.check(Schema_exports.isStartingWith("acc_"), Schema_exports.isMinLength(5)),
11
+ Schema_exports.brand("acc")
12
+ );
13
+ var HttpUrl = Schema_exports.String.check(
14
+ Schema_exports.makeFilter((value) => {
15
+ try {
16
+ const url = new URL(value);
17
+ return url.protocol === "https:" || url.protocol === "http:";
18
+ } catch {
19
+ return false;
20
+ }
21
+ })
22
+ );
23
+ var DeclarationIssue = Schema_exports.Struct({
24
+ path: Schema_exports.Array(Schema_exports.String),
25
+ message: Schema_exports.String
26
+ });
27
+ var DeclarationInvalid = class extends Schema_exports.TaggedError()(
28
+ "DeclarationInvalid",
29
+ { declaration: Schema_exports.String, issues: Schema_exports.Array(DeclarationIssue) }
30
+ ) {
31
+ get message() {
32
+ const problems = this.issues.map(
33
+ (issue) => issue.path.length === 0 ? issue.message : `${issue.path.join(".")}: ${issue.message}`
34
+ );
35
+ return `The ${this.declaration} declaration is invalid. ${problems.join("; ")}`;
36
+ }
37
+ };
38
+ var ValidationError = class extends Schema_exports.TaggedError()("ValidationError", {}) {
39
+ get message() {
40
+ return "Value did not match the schema";
41
+ }
42
+ };
43
+
44
+ // ../utils/src/legacy-keys.ts
45
+ var withLegacyKeys = (mapping) => (self) => {
46
+ const renamed = Object.entries(mapping).filter(
47
+ (entry) => typeof entry[1] === "string"
48
+ );
49
+ const fields = {};
50
+ for (const key of Object.keys(self.fields)) {
51
+ const encoded = Schema_exports.toEncoded(self.fields[key]);
52
+ const legacy = mapping[key];
53
+ fields[key] = typeof legacy === "string" ? Schema_exports.optionalKey(encoded) : encoded;
54
+ if (typeof legacy === "string") fields[legacy] = Schema_exports.optionalKey(encoded);
55
+ }
56
+ return Schema_exports.Struct(fields).pipe(
57
+ Schema_exports.decodeTo(
58
+ self,
59
+ SchemaTransformation_exports.transform({
60
+ decode: (input) => {
61
+ const output = { ...input };
62
+ for (const [key, legacy] of renamed) {
63
+ if (!Object.hasOwn(output, key) && Object.hasOwn(output, legacy)) {
64
+ output[key] = output[legacy];
65
+ }
66
+ delete output[legacy];
67
+ }
68
+ return output;
69
+ },
70
+ encode: (input) => {
71
+ const output = { ...input };
72
+ for (const [key, legacy] of renamed) {
73
+ if (Object.hasOwn(output, key)) output[legacy] = output[key];
74
+ }
75
+ return output;
76
+ }
77
+ })
78
+ )
79
+ );
80
+ };
81
+
82
+ export {
83
+ JsonValue,
84
+ JsonObject,
85
+ AccountId,
86
+ HttpUrl,
87
+ DeclarationInvalid,
88
+ ValidationError,
89
+ withLegacyKeys
90
+ };