apps 0.0.1-beta.24 → 0.0.1-beta.25

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 (70) hide show
  1. package/framework-reference.json +1 -1
  2. package/js/{chunk-IJX4CYZO.js → chunk-2TP7C25K.js} +3 -3
  3. package/js/{chunk-KUMBKVJD.js → chunk-3YN4UDPB.js} +2 -2
  4. package/js/{chunk-M3B3DE4K.js → chunk-AAAMPT6F.js} +2 -2
  5. package/js/chunk-DAIW2WM3.js +118 -0
  6. package/js/{chunk-CDL5PM2Q.js → chunk-DM5U7G7V.js} +124 -124
  7. package/js/{chunk-ODEIDRGW.js → chunk-DUEZ2XCO.js} +3 -3
  8. package/js/{chunk-K2QATKIF.js → chunk-GG4IFBN3.js} +77 -22
  9. package/js/{chunk-N7YDVXYJ.js → chunk-GH6PY5BQ.js} +1 -1
  10. package/js/{chunk-PZB6T6KU.js → chunk-HQKIPKM5.js} +1 -1
  11. package/js/{chunk-66JAEDTE.js → chunk-IE6W5RNN.js} +2 -2
  12. package/js/{chunk-WFEUCUFF.js → chunk-J3RUZMLO.js} +88 -26
  13. package/js/{chunk-JWNSH5CA.js → chunk-K3MQX2KO.js} +2 -2
  14. package/js/{chunk-27F7W2LG.js → chunk-KKGRSXUK.js} +1 -1
  15. package/js/{chunk-57RKNWL2.js → chunk-KNJAOYV4.js} +2 -2
  16. package/js/{chunk-ZQINWV4W.js → chunk-LPN4ONWW.js} +2 -2
  17. package/js/{chunk-A5BSZKFF.js → chunk-NXO2GN2T.js} +8 -8
  18. package/js/{chunk-UK573G7W.js → chunk-OBXHLFGQ.js} +1 -1
  19. package/js/{chunk-IPI4MFSN.js → chunk-PC5RHPUP.js} +2 -2
  20. package/js/{chunk-VFZKSM3T.js → chunk-SUY33XAY.js} +1 -1
  21. package/js/{chunk-R3EV5FTO.js → chunk-T7WRQJUF.js} +55 -3
  22. package/js/{chunk-JU7VHODU.js → chunk-TACLXEAE.js} +1 -1
  23. package/js/{chunk-2KZ7GG43.js → chunk-VGEPL4BV.js} +146 -53
  24. package/js/{chunk-B3T7CZOH.js → chunk-VSLWGXPW.js} +29 -7
  25. package/js/{chunk-3HH4OZR3.js → chunk-VWU6I23D.js} +23 -25
  26. package/js/{chunk-S47NFEWF.js → chunk-WPKXOTKM.js} +3 -3
  27. package/js/{chunk-PJJ24GU7.js → chunk-XBG3M64K.js} +1 -1
  28. package/js/{chunk-AK54RD3A.js → chunk-XIRAIB3P.js} +4 -4
  29. package/js/{chunk-NKLWZJLE.js → chunk-ZVMZWXVF.js} +2 -2
  30. package/js/client.js +10 -10
  31. package/js/contracts.js +36 -14
  32. package/js/effect.js +19 -19
  33. package/js/graphql.js +21 -21
  34. package/js/host.js +19 -19
  35. package/js/index.js +12 -12
  36. package/js/mcp/effect.js +21 -21
  37. package/js/mcp/stdio.js +30 -25
  38. package/js/mcp.js +23 -23
  39. package/js/openapi.js +15 -15
  40. package/js/react.js +3 -3
  41. package/js/skills/effect.js +3 -3
  42. package/js/skills.js +11 -11
  43. package/js/storage/facet.js +4 -4
  44. package/js/ui/auth/contracts.js +2 -2
  45. package/js/ui/auth.js +5 -5
  46. package/js/ui/contracts.js +4 -4
  47. package/js/ui/serving.js +8 -8
  48. package/package.json +1 -1
  49. package/runtime.json +1 -1
  50. package/types/apps/src/contracts/api-response-error.d.ts +4 -0
  51. package/types/apps/src/contracts/failure.d.ts +30 -1
  52. package/types/apps/src/contracts/host.d.ts +5 -4
  53. package/types/apps/src/contracts/mcp.d.ts +8 -1
  54. package/types/apps/src/contracts/protocol-version.d.ts +2 -2
  55. package/types/apps/src/contracts/protocols/1.d.ts +16 -2
  56. package/types/apps/src/contracts/protocols/2.d.ts +1 -1
  57. package/types/apps/src/contracts/protocols/3.d.ts +1 -3
  58. package/types/apps/src/contracts/protocols/4.d.ts +1 -2
  59. package/types/apps/src/contracts/protocols/5.d.ts +3 -3
  60. package/types/apps/src/contracts/protocols/6.d.ts +3 -3
  61. package/types/apps/src/contracts/protocols/7.d.ts +3 -3
  62. package/types/apps/src/contracts/protocols/8.d.ts +1119 -0
  63. package/types/apps/src/contracts/provider-error.d.ts +9 -0
  64. package/types/apps/src/implementation/failure-detail.d.ts +22 -3
  65. package/types/apps/src/implementation/mcp-client.d.ts +6 -0
  66. package/types/apps/src/implementation/provider-error.d.ts +28 -1
  67. package/types/apps/src/implementation/router-catalog.d.ts +2 -3
  68. package/types/apps/src/implementation/upstream-error.d.ts +7 -0
  69. package/types/telemetry/src/config.d.ts +2 -2
  70. package/js/chunk-MKWZPDR6.js +0 -63
@@ -2,23 +2,29 @@ import {
2
2
  DatabaseFieldReserved,
3
3
  DatabaseLimitExceeded,
4
4
  DatabaseSchema
5
- } from "./chunk-N7YDVXYJ.js";
5
+ } from "./chunk-GH6PY5BQ.js";
6
6
  import {
7
7
  CacheCommand,
8
8
  CacheReply,
9
- ProviderError
10
- } from "./chunk-R3EV5FTO.js";
9
+ FailureCode,
10
+ FailureDetail,
11
+ FailureMessage,
12
+ FailureName,
13
+ FailureSource,
14
+ ProviderError,
15
+ UpstreamError
16
+ } from "./chunk-T7WRQJUF.js";
11
17
  import {
12
18
  AppSkillName,
13
19
  AppSkills,
14
20
  SkillLoadFailed
15
- } from "./chunk-JU7VHODU.js";
21
+ } from "./chunk-TACLXEAE.js";
16
22
  import {
17
23
  AccountId,
18
24
  HttpUrl,
19
25
  JsonObject as JsonObject2,
20
26
  JsonValue
21
- } from "./chunk-27F7W2LG.js";
27
+ } from "./chunk-KKGRSXUK.js";
22
28
  import {
23
29
  Any,
24
30
  ArraySchema,
@@ -72,7 +78,7 @@ import {
72
78
  transformOptional,
73
79
  withConstructorDefault,
74
80
  withDefault
75
- } from "./chunk-CDL5PM2Q.js";
81
+ } from "./chunk-DM5U7G7V.js";
76
82
 
77
83
  // src/contracts/router.ts
78
84
  var reservedRouterKeys = /* @__PURE__ */ new Set([
@@ -168,7 +174,8 @@ var McpError = class extends Schema_exports.TaggedError()("McpError", {
168
174
  "timeout",
169
175
  "invalid_input"
170
176
  ]),
171
- status: Schema_exports.optional(Schema_exports.Number)
177
+ status: Schema_exports.optional(Schema_exports.Number),
178
+ upstream: Schema_exports.optional(UpstreamError)
172
179
  }) {
173
180
  };
174
181
  var ProcessConfig = Schema_exports.Struct({
@@ -182,14 +189,16 @@ var ProcessConfig = Schema_exports.Struct({
182
189
  });
183
190
 
184
191
  // src/contracts/api-response-error.ts
192
+ var maxApiErrorInstructionsLength = 4096;
185
193
  var ApiErrorRecovery = Schema_exports.Struct({
186
194
  action: Schema_exports.NonEmptyString.check(Schema_exports.isMaxLength(1024)),
187
- instructions: Schema_exports.NonEmptyString.check(Schema_exports.isMaxLength(4096))
195
+ instructions: Schema_exports.NonEmptyString.check(Schema_exports.isMaxLength(maxApiErrorInstructionsLength))
188
196
  });
197
+ var maxApiErrorMessageLength = 4096;
189
198
  var ApiErrorResponse = Schema_exports.Struct({
190
199
  code: Schema_exports.NonEmptyString.check(Schema_exports.isMaxLength(128)),
191
200
  status: Schema_exports.Int.check(Schema_exports.isBetween({ minimum: 400, maximum: 599 })),
192
- message: Schema_exports.NonEmptyString.check(Schema_exports.isMaxLength(4096)),
201
+ message: Schema_exports.NonEmptyString.check(Schema_exports.isMaxLength(maxApiErrorMessageLength)),
193
202
  recovery: Schema_exports.optionalKey(ApiErrorRecovery)
194
203
  });
195
204
  var OpenapiResponseError = class extends Schema_exports.TaggedError()(
@@ -206,19 +215,6 @@ var defaultOpenapiErrorLimits = OpenapiErrorLimits.make({
206
215
  readTimeoutMs: 2e3
207
216
  });
208
217
 
209
- // src/contracts/failure.ts
210
- var maxFailureMessageLength = 2048;
211
- var FailureSource = Schema_exports.Literals(["app", "storage", "service"]);
212
- var FailureName = Schema_exports.String.check(Schema_exports.isMaxLength(128));
213
- var FailureCode = Schema_exports.String.check(Schema_exports.isMaxLength(128));
214
- var FailureMessage = Schema_exports.String.check(Schema_exports.isMaxLength(maxFailureMessageLength));
215
- var FailureDetail = {
216
- source: Schema_exports.optionalKey(FailureSource),
217
- errorName: Schema_exports.optionalKey(FailureName),
218
- code: Schema_exports.optionalKey(FailureCode),
219
- message: Schema_exports.optionalKey(FailureMessage)
220
- };
221
-
222
218
  // src/contracts/workflows.ts
223
219
  var WorkflowRunId = Schema_exports.NonEmptyString.pipe(Schema_exports.brand("wfr"));
224
220
  var WorkflowName = Schema_exports.NonEmptyString.check(Schema_exports.isMaxLength(200));
@@ -1954,7 +1950,7 @@ var ManyAccounts = class extends Data_exports.TaggedClass("many") {
1954
1950
  };
1955
1951
 
1956
1952
  // src/contracts/protocol-version.ts
1957
- var frameworkProtocol = 7;
1953
+ var frameworkProtocol = 8;
1958
1954
 
1959
1955
  // src/contracts/protocols/oauth.ts
1960
1956
  var OAuthClientAuth2 = Schema_exports.Literals([
@@ -2114,6 +2110,24 @@ var OperationSchedule = Schema_exports.Struct({
2114
2110
  });
2115
2111
 
2116
2112
  // src/contracts/protocols/1.ts
2113
+ var ProviderError2 = class extends Schema_exports.TaggedError()("ProviderError", {
2114
+ reason: Schema_exports.Literals(["unauthorized", "forbidden", "rate_limited", "unavailable", "rejected"]),
2115
+ status: Schema_exports.optional(Schema_exports.Int.check(Schema_exports.isBetween({ minimum: 100, maximum: 599 }))),
2116
+ accountId: Schema_exports.optional(AccountId)
2117
+ }) {
2118
+ };
2119
+ var McpError3 = class extends Schema_exports.TaggedError()("McpError", {
2120
+ phase: Schema_exports.Literals(["connect", "discover", "call", "schema", "transport"]),
2121
+ reason: Schema_exports.Literals([
2122
+ "request",
2123
+ "unauthorized",
2124
+ "invalid_response",
2125
+ "timeout",
2126
+ "invalid_input"
2127
+ ]),
2128
+ status: Schema_exports.optional(Schema_exports.Number)
2129
+ }) {
2130
+ };
2117
2131
  var WorkflowFailure2 = class extends Schema_exports.TaggedError()("WorkflowFailure", {
2118
2132
  reason: Schema_exports.Literals([
2119
2133
  "unavailable",
@@ -2316,8 +2330,8 @@ var HostOutputInvalid = class extends Schema_exports.TaggedError()(
2316
2330
  };
2317
2331
  var HostError = Schema_exports.Union([
2318
2332
  OpenapiResponseError,
2319
- ProviderError,
2320
- McpError,
2333
+ ProviderError2,
2334
+ McpError3,
2321
2335
  SkillLoadFailed,
2322
2336
  WorkflowFailure2,
2323
2337
  HostRequestInvalid,
@@ -2383,25 +2397,31 @@ var protocol2 = {
2383
2397
  };
2384
2398
 
2385
2399
  // src/contracts/protocols/3.ts
2400
+ var FailureDetail2 = {
2401
+ source: Schema_exports.optionalKey(FailureSource),
2402
+ errorName: Schema_exports.optionalKey(FailureName),
2403
+ code: Schema_exports.optionalKey(FailureCode),
2404
+ message: Schema_exports.optionalKey(FailureMessage)
2405
+ };
2386
2406
  var HostDeclarationInvalid2 = class extends Schema_exports.TaggedError()(
2387
2407
  "HostDeclarationInvalid",
2388
- FailureDetail
2408
+ FailureDetail2
2389
2409
  ) {
2390
2410
  };
2391
2411
  var HostEvaluationFailed2 = class extends Schema_exports.TaggedError()(
2392
2412
  "HostEvaluationFailed",
2393
- FailureDetail
2413
+ FailureDetail2
2394
2414
  ) {
2395
2415
  };
2396
2416
  var HostOperationFailed2 = class extends Schema_exports.TaggedError()(
2397
2417
  "HostOperationFailed",
2398
- FailureDetail
2418
+ FailureDetail2
2399
2419
  ) {
2400
2420
  };
2401
2421
  var HostError2 = Schema_exports.Union([
2402
2422
  OpenapiResponseError,
2403
- ProviderError,
2404
- McpError,
2423
+ ProviderError2,
2424
+ McpError3,
2405
2425
  SkillLoadFailed,
2406
2426
  WorkflowFailure,
2407
2427
  HostRequestInvalid,
@@ -2466,8 +2486,8 @@ var HostedToolSummary2 = HostedTool2.mapFields(
2466
2486
  ({ inputSchema: _input, outputSchema: _output, _meta, ...fields }) => fields
2467
2487
  );
2468
2488
  var HostRouterError = Schema_exports.Union([
2469
- ProviderError,
2470
- McpError,
2489
+ ProviderError2,
2490
+ McpError3,
2471
2491
  SkillLoadFailed,
2472
2492
  HostDeclarationInvalid2,
2473
2493
  HostEvaluationFailed2
@@ -2770,6 +2790,82 @@ var protocol7 = {
2770
2790
  }
2771
2791
  };
2772
2792
 
2793
+ // src/contracts/protocols/8.ts
2794
+ var HostDeclarationInvalid3 = class extends Schema_exports.TaggedError()(
2795
+ "HostDeclarationInvalid",
2796
+ FailureDetail
2797
+ ) {
2798
+ };
2799
+ var HostEvaluationFailed3 = class extends Schema_exports.TaggedError()(
2800
+ "HostEvaluationFailed",
2801
+ FailureDetail
2802
+ ) {
2803
+ };
2804
+ var HostOperationFailed3 = class extends Schema_exports.TaggedError()(
2805
+ "HostOperationFailed",
2806
+ FailureDetail
2807
+ ) {
2808
+ };
2809
+ var HostRouterError2 = Schema_exports.Union([
2810
+ ProviderError,
2811
+ McpError,
2812
+ SkillLoadFailed,
2813
+ HostDeclarationInvalid3,
2814
+ HostEvaluationFailed3
2815
+ ]);
2816
+ var HostedRouter2 = Schema_exports.Struct({
2817
+ ...HostedRouter.fields,
2818
+ error: Schema_exports.optionalKey(HostRouterError2)
2819
+ });
2820
+ var HostedCatalog2 = Schema_exports.Struct({
2821
+ ...HostedCatalog.fields,
2822
+ routers: Schema_exports.Array(HostedRouter2)
2823
+ });
2824
+ var HostedCatalogSummary2 = Schema_exports.Struct({
2825
+ ...HostedCatalogSummary.fields,
2826
+ routers: Schema_exports.Array(HostedRouter2)
2827
+ });
2828
+ var HostError4 = Schema_exports.Union([
2829
+ OpenapiResponseError,
2830
+ ProviderError,
2831
+ McpError,
2832
+ SkillLoadFailed,
2833
+ WorkflowFailure,
2834
+ HostRequestInvalid,
2835
+ HostAccountsInvalid,
2836
+ HostDeclarationInvalid3,
2837
+ HostEvaluationFailed3,
2838
+ HostOperationNotFound,
2839
+ HostOperationFailed3,
2840
+ DatabaseLimitExceeded,
2841
+ DatabaseFieldReserved,
2842
+ HostToolNotFound,
2843
+ HostInputInvalid,
2844
+ HostOutputInvalid,
2845
+ HostToolBlocked,
2846
+ HostToolApprovalRequired,
2847
+ HostToolPolicyFailed,
2848
+ ElicitationFailed,
2849
+ HostKindMismatch
2850
+ ]);
2851
+ var HostResponse4 = Schema_exports.Union([
2852
+ Schema_exports.Struct({
2853
+ ok: Schema_exports.Literal(true),
2854
+ value: JsonValue,
2855
+ toolError: Schema_exports.optionalKey(Schema_exports.Literal(true))
2856
+ }),
2857
+ Schema_exports.Struct({ ok: Schema_exports.Literal(false), error: HostError4 })
2858
+ ]);
2859
+ var protocol8 = {
2860
+ version: 8,
2861
+ schemas: {
2862
+ ...protocol7.schemas,
2863
+ response: HostResponse4,
2864
+ catalog: HostedCatalog2,
2865
+ catalogSummary: HostedCatalogSummary2
2866
+ }
2867
+ };
2868
+
2773
2869
  // src/contracts/host.ts
2774
2870
  var skillsCommand = (sources) => sources ? { operation: "skills", sources: true } : { operation: "skills" };
2775
2871
  var skillCatalog = (response) => Schema_exports.is(SkillSources2)(response) ? response : { skills: response };
@@ -2782,7 +2878,7 @@ var indexCommand = { operation: "inspect", detail: "summary" };
2782
2878
  var selectTools = (tools) => (catalog) => tools === void 0 ? catalog : { ...catalog, tools: catalog.tools.filter((tool) => tools.includes(tool.name)) };
2783
2879
  var HostRequirementsError = Schema_exports.Union([
2784
2880
  HostRequestInvalid,
2785
- HostDeclarationInvalid2,
2881
+ HostDeclarationInvalid3,
2786
2882
  DatabaseFieldReserved
2787
2883
  ]);
2788
2884
  var HostInspectError = Schema_exports.Union([
@@ -2790,9 +2886,9 @@ var HostInspectError = Schema_exports.Union([
2790
2886
  McpError,
2791
2887
  SkillLoadFailed,
2792
2888
  HostRequestInvalid,
2793
- HostDeclarationInvalid2,
2889
+ HostDeclarationInvalid3,
2794
2890
  HostAccountsInvalid,
2795
- HostEvaluationFailed2
2891
+ HostEvaluationFailed3
2796
2892
  ]);
2797
2893
  var HostCallError = Schema_exports.Union([
2798
2894
  OpenapiResponseError,
@@ -2801,7 +2897,7 @@ var HostCallError = Schema_exports.Union([
2801
2897
  HostToolNotFound,
2802
2898
  HostOperationNotFound,
2803
2899
  HostKindMismatch,
2804
- HostOperationFailed2,
2900
+ HostOperationFailed3,
2805
2901
  DatabaseLimitExceeded,
2806
2902
  HostInputInvalid,
2807
2903
  HostOutputInvalid,
@@ -2814,10 +2910,10 @@ var HostAccountCheckError = Schema_exports.Union([
2814
2910
  ProviderError,
2815
2911
  WorkflowFailure,
2816
2912
  HostRequestInvalid,
2817
- HostDeclarationInvalid2,
2913
+ HostDeclarationInvalid3,
2818
2914
  HostAccountsInvalid,
2819
2915
  HostOperationNotFound,
2820
- HostOperationFailed2,
2916
+ HostOperationFailed3,
2821
2917
  HostOutputInvalid
2822
2918
  ]);
2823
2919
  var HostDataError = HostCallError;
@@ -2854,16 +2950,12 @@ export {
2854
2950
  McpServerHeader,
2855
2951
  McpError,
2856
2952
  ProcessConfig,
2953
+ maxApiErrorInstructionsLength,
2857
2954
  ApiErrorRecovery,
2955
+ maxApiErrorMessageLength,
2858
2956
  ApiErrorResponse,
2859
2957
  OpenapiResponseError,
2860
2958
  defaultOpenapiErrorLimits,
2861
- maxFailureMessageLength,
2862
- FailureSource,
2863
- FailureName,
2864
- FailureCode,
2865
- FailureMessage,
2866
- FailureDetail,
2867
2959
  WorkflowRunId,
2868
2960
  WorkflowName,
2869
2961
  workflowDurationMillis,
@@ -2922,19 +3014,10 @@ export {
2922
3014
  SkillSources2 as SkillSources,
2923
3015
  SkillCatalogResponse2 as SkillCatalogResponse,
2924
3016
  protocol2,
2925
- HostDeclarationInvalid2 as HostDeclarationInvalid,
2926
- HostEvaluationFailed2 as HostEvaluationFailed,
2927
- HostOperationFailed2 as HostOperationFailed,
2928
3017
  protocol3,
2929
3018
  HostedTool2 as HostedTool,
2930
3019
  HostedToolSummary2 as HostedToolSummary,
2931
- HostRouterError,
2932
- HostedRouter,
2933
- HostedCatalog,
2934
- HostedCatalogSummary,
2935
3020
  HostKindMismatch,
2936
- HostError3 as HostError,
2937
- HostResponse3 as HostResponse,
2938
3021
  protocol4,
2939
3022
  AccountCheckCommand,
2940
3023
  HostRequest3 as HostRequest,
@@ -2948,6 +3031,16 @@ export {
2948
3031
  ResolvedAccounts3 as ResolvedAccounts,
2949
3032
  HostInvocation5 as HostInvocation,
2950
3033
  protocol7,
3034
+ HostDeclarationInvalid3 as HostDeclarationInvalid,
3035
+ HostEvaluationFailed3 as HostEvaluationFailed,
3036
+ HostOperationFailed3 as HostOperationFailed,
3037
+ HostRouterError2 as HostRouterError,
3038
+ HostedRouter2 as HostedRouter,
3039
+ HostedCatalog2 as HostedCatalog,
3040
+ HostedCatalogSummary2 as HostedCatalogSummary,
3041
+ HostError4 as HostError,
3042
+ HostResponse4 as HostResponse,
3043
+ protocol8,
2951
3044
  skillsCommand,
2952
3045
  skillCatalog,
2953
3046
  inspectCommand,
@@ -1,9 +1,12 @@
1
1
  import {
2
2
  prepareElicitation
3
- } from "./chunk-3HH4OZR3.js";
3
+ } from "./chunk-VWU6I23D.js";
4
4
  import {
5
5
  fromPromise
6
- } from "./chunk-S47NFEWF.js";
6
+ } from "./chunk-WPKXOTKM.js";
7
+ import {
8
+ bodyUpstreamError
9
+ } from "./chunk-DAIW2WM3.js";
7
10
  import {
8
11
  ElicitationFailed,
9
12
  McpError,
@@ -15,15 +18,15 @@ import {
15
18
  defaultElicitationLimits,
16
19
  defaultMcpClientLimits,
17
20
  mcpSdkTimerCeilingMs
18
- } from "./chunk-2KZ7GG43.js";
21
+ } from "./chunk-VGEPL4BV.js";
19
22
  import {
20
23
  jsonSchemaDecoder,
21
24
  nestJsonSchema,
22
25
  preparedJsonSchemaDecoder
23
- } from "./chunk-66JAEDTE.js";
26
+ } from "./chunk-IE6W5RNN.js";
24
27
  import {
25
28
  JsonObject
26
- } from "./chunk-27F7W2LG.js";
29
+ } from "./chunk-KKGRSXUK.js";
27
30
  import {
28
31
  Clock_exports,
29
32
  Deferred_exports,
@@ -32,7 +35,7 @@ import {
32
35
  Option_exports,
33
36
  Queue_exports,
34
37
  Schema_exports
35
- } from "./chunk-CDL5PM2Q.js";
38
+ } from "./chunk-DM5U7G7V.js";
36
39
 
37
40
  // src/implementation/mcp-tools.ts
38
41
  var resultFields = {
@@ -128,7 +131,11 @@ var adaptMcpTools = (client) => Effect_exports.gen(function* () {
128
131
  });
129
132
 
130
133
  // src/implementation/mcp-client.ts
131
- import { ListToolsResultSchema } from "@modelcontextprotocol/sdk/types.js";
134
+ import {
135
+ ErrorCode as ErrorCode2,
136
+ ListToolsResultSchema,
137
+ McpError as ProtocolError2
138
+ } from "@modelcontextprotocol/sdk/types.js";
132
139
 
133
140
  // src/implementation/mcp-call.ts
134
141
  import {
@@ -257,6 +264,20 @@ var mcpCall = (client, name, input, context, timeoutMs, failure) => Effect_expor
257
264
  );
258
265
 
259
266
  // src/implementation/mcp-client.ts
267
+ var clientCodes = /* @__PURE__ */ new Set([
268
+ ErrorCode2.RequestTimeout,
269
+ ErrorCode2.ConnectionClosed
270
+ ]);
271
+ var answeredError = (error) => {
272
+ if (!(error instanceof ProtocolError2) || clientCodes.has(error.code)) return void 0;
273
+ const prefix = `MCP error ${error.code}: `;
274
+ return bodyUpstreamError({
275
+ error: {
276
+ code: error.code,
277
+ message: error.message.startsWith(prefix) ? error.message.slice(prefix.length) : error.message
278
+ }
279
+ });
280
+ };
260
281
  var mcpJsonSchemaValidator = {
261
282
  getValidator(document) {
262
283
  const decoder = Effect_exports.runSync(jsonSchemaDecoder(document));
@@ -341,6 +362,7 @@ function mcpClient(withClient, timeoutMs, failure) {
341
362
  export {
342
363
  adaptMcpTool,
343
364
  adaptMcpTools,
365
+ answeredError,
344
366
  mcpJsonSchemaValidator,
345
367
  mcpClient
346
368
  };
@@ -1,39 +1,41 @@
1
1
  import {
2
2
  makeCache
3
- } from "./chunk-NKLWZJLE.js";
3
+ } from "./chunk-ZVMZWXVF.js";
4
4
  import {
5
5
  accountSecrets,
6
6
  boundFailureMessage,
7
7
  describeFailure,
8
8
  failureDetail,
9
+ leavingProviderError,
10
+ parseMcpError,
9
11
  readCatalog,
10
12
  routerSkills
11
- } from "./chunk-WFEUCUFF.js";
13
+ } from "./chunk-J3RUZMLO.js";
12
14
  import {
13
15
  folderSkillsEffect
14
- } from "./chunk-IPI4MFSN.js";
16
+ } from "./chunk-PC5RHPUP.js";
15
17
  import {
16
18
  ResponseStatusError,
17
19
  authorDatabase,
18
20
  isApp,
19
21
  toEffectApp,
20
22
  unavailableStorage
21
- } from "./chunk-A5BSZKFF.js";
23
+ } from "./chunk-NXO2GN2T.js";
22
24
  import {
23
25
  parseDatabaseSchema
24
- } from "./chunk-ZQINWV4W.js";
26
+ } from "./chunk-LPN4ONWW.js";
25
27
  import {
26
28
  declaredOperations,
27
29
  fromPromise,
28
30
  locate,
29
31
  nativeOperation,
30
32
  toPromise
31
- } from "./chunk-S47NFEWF.js";
33
+ } from "./chunk-WPKXOTKM.js";
32
34
  import {
33
35
  accountProviderError,
34
36
  httpProviderError,
35
37
  parseProviderError
36
- } from "./chunk-MKWZPDR6.js";
38
+ } from "./chunk-DAIW2WM3.js";
37
39
  import {
38
40
  AccountCheckResult,
39
41
  DeclaredProvider,
@@ -64,7 +66,6 @@ import {
64
66
  InvocationDeadline,
65
67
  ManualWebhookSetup,
66
68
  ManyAccounts,
67
- McpError,
68
69
  NonRetryableError,
69
70
  OpenapiResponseError,
70
71
  ResolvedAccounts,
@@ -81,29 +82,29 @@ import {
81
82
  defaultWebhookTransportLimits,
82
83
  maxInputProblems,
83
84
  workflowDurationMillis
84
- } from "./chunk-2KZ7GG43.js";
85
+ } from "./chunk-VGEPL4BV.js";
85
86
  import {
86
87
  CacheError
87
- } from "./chunk-R3EV5FTO.js";
88
+ } from "./chunk-T7WRQJUF.js";
88
89
  import {
89
90
  AppSkills,
90
91
  SkillFile,
91
92
  SkillLoadFailed
92
- } from "./chunk-JU7VHODU.js";
93
+ } from "./chunk-TACLXEAE.js";
93
94
  import {
94
95
  captureTelemetry,
95
96
  invocationFetch
96
- } from "./chunk-ODEIDRGW.js";
97
+ } from "./chunk-DUEZ2XCO.js";
97
98
  import {
98
99
  decoderOf,
99
100
  importedJsonSchema,
100
101
  jsonSchemaDecoder,
101
102
  jsonSchemaDocument
102
- } from "./chunk-66JAEDTE.js";
103
+ } from "./chunk-IE6W5RNN.js";
103
104
  import {
104
105
  JsonObject,
105
106
  JsonValue
106
- } from "./chunk-27F7W2LG.js";
107
+ } from "./chunk-KKGRSXUK.js";
107
108
  import {
108
109
  Cause_exports,
109
110
  Clock_exports,
@@ -115,7 +116,7 @@ import {
115
116
  SchemaIssue_exports,
116
117
  Schema_exports,
117
118
  Stream_exports
118
- } from "./chunk-CDL5PM2Q.js";
119
+ } from "./chunk-DM5U7G7V.js";
119
120
 
120
121
  // src/implementation/elicitation.ts
121
122
  var prepareElicitation = (input) => Effect_exports.gen(function* () {
@@ -575,9 +576,9 @@ var evaluationSafe = (work, secrets) => work.pipe(
575
576
  const error = Cause_exports.squash(cause);
576
577
  const provider = parseProviderError(error);
577
578
  const skills = parseSkillLoadFailed(error);
578
- const mcp = parseMcpError(error);
579
+ const mcp = parseMcpError(error, secrets);
579
580
  return Effect_exports.fail(
580
- Option_exports.isSome(provider) ? provider.value : Option_exports.isSome(skills) ? skills.value : Option_exports.isSome(mcp) ? mcp.value : new HostEvaluationFailed(failureDetail(error, secrets))
581
+ Option_exports.isSome(provider) ? leavingProviderError(provider.value, secrets, "discover") : Option_exports.isSome(skills) ? skills.value : Option_exports.isSome(mcp) ? mcp.value : new HostEvaluationFailed(failureDetail(error, secrets))
581
582
  );
582
583
  })
583
584
  );
@@ -1106,14 +1107,15 @@ function dispatch(app, request, context, signal) {
1106
1107
  const error = Cause_exports.squash(cause);
1107
1108
  const provider = parseProviderError(error);
1108
1109
  const response = Schema_exports.decodeUnknownOption(OpenapiResponseError)(error);
1110
+ const mcp = parseMcpError(error, secrets);
1109
1111
  const failure = Schema_exports.decodeUnknownOption(ElicitationFailed)(error);
1110
1112
  return Effect_exports.fail(
1111
- Option_exports.isSome(provider) ? provider.value : Option_exports.isSome(response) ? new OpenapiResponseError({
1113
+ Option_exports.isSome(provider) ? leavingProviderError(provider.value, secrets, "call") : Option_exports.isSome(response) ? new OpenapiResponseError({
1112
1114
  code: response.value.code,
1113
1115
  status: response.value.status,
1114
1116
  message: response.value.message,
1115
1117
  ...response.value.recovery === void 0 ? {} : { recovery: response.value.recovery }
1116
- }) : Option_exports.isSome(failure) ? failure.value : new HostOperationFailed(failureDetail(error, secrets))
1118
+ }) : Option_exports.isSome(mcp) ? mcp.value : Option_exports.isSome(failure) ? failure.value : new HostOperationFailed(failureDetail(error, secrets))
1117
1119
  );
1118
1120
  }),
1119
1121
  Effect_exports.withSpan("app.operation.execute", {
@@ -1178,8 +1180,9 @@ function checkAccount(slots, declared, requirement, context, signal) {
1178
1180
  const error = Cause_exports.squash(cause);
1179
1181
  const status = Schema_exports.decodeUnknownOption(ResponseStatusError)(error);
1180
1182
  const classified = Option_exports.isSome(status) ? Option_exports.fromNullishOr(httpProviderError(status.value.status)) : parseProviderError(error);
1183
+ const secrets = accountSecrets(context.accounts);
1181
1184
  return Effect_exports.fail(
1182
- Option_exports.isSome(classified) ? accountProviderError(classified.value, account.id) : new HostOperationFailed(failureDetail(error, accountSecrets(context.accounts)))
1185
+ Option_exports.isSome(classified) ? leavingProviderError(accountProviderError(classified.value, account.id), secrets) : new HostOperationFailed(failureDetail(error, secrets))
1183
1186
  );
1184
1187
  }),
1185
1188
  Effect_exports.withSpan("app.account.check")
@@ -1202,11 +1205,6 @@ var parseSkillLoadFailed = (error) => Schema_exports.decodeUnknownOption(SkillLo
1202
1205
  })
1203
1206
  )
1204
1207
  );
1205
- var parseMcpError = (error) => Schema_exports.decodeUnknownOption(McpError)(error).pipe(
1206
- Option_exports.map(
1207
- ({ phase, reason, status }) => new McpError({ phase, reason, ...status === void 0 ? {} : { status } })
1208
- )
1209
- );
1210
1208
  var errorStatus = Match_exports.type().pipe(
1211
1209
  Match_exports.tagsExhaustive({
1212
1210
  ProviderError: () => 502,
@@ -3,14 +3,14 @@ import {
3
3
  RouterKey,
4
4
  RouterMeta,
5
5
  reservedRouterKeys
6
- } from "./chunk-2KZ7GG43.js";
6
+ } from "./chunk-VGEPL4BV.js";
7
7
  import {
8
8
  decoderOf
9
- } from "./chunk-66JAEDTE.js";
9
+ } from "./chunk-IE6W5RNN.js";
10
10
  import {
11
11
  Effect_exports,
12
12
  Schema_exports
13
- } from "./chunk-CDL5PM2Q.js";
13
+ } from "./chunk-DM5U7G7V.js";
14
14
 
15
15
  // src/implementation/authoring.ts
16
16
  var NativeCallback = /* @__PURE__ */ Symbol("apps.NativeCallback");
@@ -58,7 +58,7 @@ import {
58
58
  useSpan,
59
59
  void_2 as void_,
60
60
  withFiber
61
- } from "./chunk-CDL5PM2Q.js";
61
+ } from "./chunk-DM5U7G7V.js";
62
62
 
63
63
  // ../../node_modules/.bun/effect@https+++pkg.pr.new+Effect-TS+effect+effect@c7d1ffff31a3e2ae0b0b+a654a55b752bdb24/node_modules/effect/dist/unstable/reactivity/Reactivity.js
64
64
  var TypeId = "~effect/reactivity/Reactivity";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  CacheError
3
- } from "./chunk-R3EV5FTO.js";
3
+ } from "./chunk-T7WRQJUF.js";
4
4
  import {
5
5
  wrap
6
- } from "./chunk-66JAEDTE.js";
6
+ } from "./chunk-IE6W5RNN.js";
7
7
  import {
8
8
  JsonObject
9
- } from "./chunk-27F7W2LG.js";
9
+ } from "./chunk-KKGRSXUK.js";
10
10
  import {
11
11
  Duration_exports,
12
12
  Effect_exports,
13
13
  Schema_exports
14
- } from "./chunk-CDL5PM2Q.js";
14
+ } from "./chunk-DM5U7G7V.js";
15
15
 
16
16
  // src/implementation/catalog-cache.ts
17
17
  var catalogScope = (options, invalid) => {
@@ -3,14 +3,14 @@ import {
3
3
  CacheEntry,
4
4
  CacheError,
5
5
  cacheLimits
6
- } from "./chunk-R3EV5FTO.js";
6
+ } from "./chunk-T7WRQJUF.js";
7
7
  import {
8
8
  Clock_exports,
9
9
  Duration_exports,
10
10
  Effect_exports,
11
11
  Exit_exports,
12
12
  Schema_exports
13
- } from "./chunk-CDL5PM2Q.js";
13
+ } from "./chunk-DM5U7G7V.js";
14
14
 
15
15
  // ../app-cache/src/index.ts
16
16
  var canonical = (value) => {