apps 0.0.1-beta.43 → 0.0.1-beta.46

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 (54) hide show
  1. package/framework-reference.json +1 -1
  2. package/js/{chunk-XSD3RZFX.js → chunk-3B2JAOSE.js} +23 -12
  3. package/js/{chunk-KTPKTBKZ.js → chunk-3UGDI2UI.js} +5 -5
  4. package/js/chunk-5FHWNLCI.js +88 -0
  5. package/js/{chunk-MSDGZ7FA.js → chunk-6QXPBJ5T.js} +14 -13
  6. package/js/{chunk-Z3S2IVI3.js → chunk-7LGRK7TP.js} +2 -2
  7. package/js/{chunk-T65AFHU3.js → chunk-7UUHJR2Q.js} +1 -1
  8. package/js/{chunk-4ZTVLEN6.js → chunk-CDXQDN7W.js} +1 -1
  9. package/js/{chunk-OBXHQNWC.js → chunk-CVAJ4F6O.js} +16 -3
  10. package/js/{chunk-KBIKBWSS.js → chunk-H72MEDMN.js} +4 -3
  11. package/js/{chunk-VU6GQ2SH.js → chunk-JM7LOD2W.js} +212 -22
  12. package/js/{chunk-EJUK2NK5.js → chunk-KLYSEHUD.js} +1 -1
  13. package/js/{chunk-ILYK7BQG.js → chunk-LHCGND3R.js} +12 -46
  14. package/js/{chunk-EMHFXFTJ.js → chunk-LTDHQJ2Z.js} +53 -0
  15. package/js/{chunk-47BLLMRQ.js → chunk-OJ47HQVJ.js} +143 -65
  16. package/js/{chunk-MZH4J2PO.js → chunk-PD6I2SDG.js} +1 -1
  17. package/js/{chunk-KSGYJV46.js → chunk-TUMGL2OC.js} +1 -1
  18. package/js/{chunk-5GLC42LK.js → chunk-UM62MBJQ.js} +42 -24
  19. package/js/{chunk-IN2WIN7I.js → chunk-XBG7HHXC.js} +1 -1
  20. package/js/{chunk-RIKH5H2X.js → chunk-XK5I2XOI.js} +39 -29
  21. package/js/client.js +9 -9
  22. package/js/contracts.js +9 -5
  23. package/js/effect.js +14 -14
  24. package/js/graphql.js +23 -21
  25. package/js/host.js +79 -54
  26. package/js/index.js +23 -18
  27. package/js/mcp/effect.js +16 -16
  28. package/js/mcp/stdio.js +30 -25
  29. package/js/mcp.js +23 -21
  30. package/js/openapi.js +106 -80
  31. package/js/skills/effect.js +5 -5
  32. package/js/skills.js +53 -36
  33. package/js/ui/auth.js +3 -3
  34. package/js/ui/contracts.js +3 -3
  35. package/js/ui/serving.js +7 -7
  36. package/package.json +1 -1
  37. package/runtime.json +1 -1
  38. package/types/apps/src/contracts/host.d.ts +15 -0
  39. package/types/apps/src/host.d.ts +5 -0
  40. package/types/apps/src/implementation/authoring.d.ts +25 -5
  41. package/types/apps/src/implementation/cache.d.ts +4 -0
  42. package/types/apps/src/implementation/elicitation.d.ts +6 -3
  43. package/types/apps/src/implementation/invocation-timing.d.ts +16 -0
  44. package/types/apps/src/implementation/operations.d.ts +2 -2
  45. package/types/apps/src/implementation/router-catalog.d.ts +4 -4
  46. package/types/apps/src/implementation/workflows.d.ts +1 -1
  47. package/types/telemetry/src/index.d.ts +1 -0
  48. package/types/telemetry/src/ownership.d.ts +56 -0
  49. package/types/telemetry/src/recorded-failure.d.ts +20 -11
  50. package/types/utils/src/api-error.d.ts +4 -2
  51. package/types/utils/src/recorded-message.d.ts +7 -4
  52. package/types/utils/src/user-facing-error.d.ts +4 -2
  53. package/js/chunk-EG72MSVK.js +0 -16
  54. package/js/{chunk-LNSVJS2Q.js → chunk-EOPQ727L.js} +2 -2
package/js/index.js CHANGED
@@ -3,10 +3,9 @@ import {
3
3
  ResponseStatusError,
4
4
  defineApp,
5
5
  workflow
6
- } from "./chunk-XSD3RZFX.js";
6
+ } from "./chunk-3B2JAOSE.js";
7
7
  import {
8
8
  dynamicRouter,
9
- fromPromise,
10
9
  mutation,
11
10
  nativeOperation,
12
11
  nativeRouter,
@@ -17,10 +16,11 @@ import {
17
16
  toolAnnotations,
18
17
  withApproval,
19
18
  withApprovals
20
- } from "./chunk-ILYK7BQG.js";
19
+ } from "./chunk-LHCGND3R.js";
21
20
  import {
22
- accountProviderError
23
- } from "./chunk-EMHFXFTJ.js";
21
+ accountProviderError,
22
+ fromPromise
23
+ } from "./chunk-LTDHQJ2Z.js";
24
24
  import {
25
25
  CalendarSchedule,
26
26
  ElicitationFailed,
@@ -35,14 +35,14 @@ import {
35
35
  ScheduleTiming,
36
36
  SecretsMethod,
37
37
  WorkflowFailure
38
- } from "./chunk-OBXHQNWC.js";
38
+ } from "./chunk-CVAJ4F6O.js";
39
39
  import {
40
40
  CacheError,
41
41
  FetchOptionUnsupported,
42
42
  NetworkRefused,
43
43
  ProviderError
44
44
  } from "./chunk-MWKHKOTL.js";
45
- import "./chunk-KBIKBWSS.js";
45
+ import "./chunk-H72MEDMN.js";
46
46
  import {
47
47
  array,
48
48
  boolean,
@@ -65,14 +65,16 @@ import {
65
65
  withLazyJsonSchemaDocument,
66
66
  wrap
67
67
  } from "./chunk-KGCTYL2S.js";
68
- import "./chunk-EG72MSVK.js";
68
+ import "./chunk-JM7LOD2W.js";
69
+ import "./chunk-PD6I2SDG.js";
70
+ import "./chunk-5FHWNLCI.js";
69
71
  import {
70
72
  JsonObject,
71
73
  JsonValue,
72
74
  ValidationError
73
75
  } from "./chunk-H2CJWXA3.js";
74
- import "./chunk-KSGYJV46.js";
75
- import "./chunk-LNSVJS2Q.js";
76
+ import "./chunk-TUMGL2OC.js";
77
+ import "./chunk-EOPQ727L.js";
76
78
  import {
77
79
  Effect_exports,
78
80
  Schema_exports
@@ -100,7 +102,7 @@ var defineProvider = ({
100
102
  ...options
101
103
  }) => {
102
104
  if (health === void 0) return new Provider(options);
103
- const run = fromPromise(health);
105
+ const run = fromPromise(health, "check");
104
106
  return new Provider({ ...options, health: { run } });
105
107
  };
106
108
 
@@ -341,7 +343,7 @@ var accountRouter = (accounts, discover, options) => Effect_exports.runPromise(
341
343
 
342
344
  // src/implementation/dynamic-skills.ts
343
345
  var dynamicSkills = (source) => ({
344
- list: fromPromise(async () => source.list())
346
+ list: fromPromise(async () => source.list(), "skills")
345
347
  });
346
348
 
347
349
  // src/contracts/app.ts
@@ -404,12 +406,15 @@ function oauth22(options) {
404
406
  var decodeJson2 = (response, schema) => {
405
407
  const native = {
406
408
  status: response.status,
407
- json: () => Effect_exports.tryPromise({
408
- try: () => response.json(),
409
- catch: (error) => error
410
- }).pipe(
411
- Effect_exports.catch(
412
- (error) => error instanceof SyntaxError ? Effect_exports.fail(new ResponseDecodeError()) : Effect_exports.die(error)
409
+ json: () => (
410
+ // oxlint-disable-next-line executor/authored-code-through-adapter -- a Response the app passes from its own code
411
+ Effect_exports.tryPromise({
412
+ try: () => response.json(),
413
+ catch: (error) => error
414
+ }).pipe(
415
+ Effect_exports.catch(
416
+ (error) => error instanceof SyntaxError ? Effect_exports.fail(new ResponseDecodeError()) : Effect_exports.die(error)
417
+ )
413
418
  )
414
419
  )
415
420
  };
package/js/mcp/effect.js CHANGED
@@ -2,27 +2,27 @@ import {
2
2
  mcpClientEffect,
3
3
  mcpHealthEffect,
4
4
  mcpToolsEffect
5
- } from "../chunk-MSDGZ7FA.js";
6
- import "../chunk-RIKH5H2X.js";
5
+ } from "../chunk-6QXPBJ5T.js";
6
+ import "../chunk-XK5I2XOI.js";
7
7
  import "../chunk-BCSNKUAC.js";
8
- import "../chunk-47BLLMRQ.js";
8
+ import "../chunk-OJ47HQVJ.js";
9
9
  import "../chunk-AQU56EPI.js";
10
- import "../chunk-KTPKTBKZ.js";
11
- import "../chunk-T65AFHU3.js";
12
- import "../chunk-IN2WIN7I.js";
13
- import "../chunk-XSD3RZFX.js";
14
- import "../chunk-ILYK7BQG.js";
15
- import "../chunk-EMHFXFTJ.js";
16
- import "../chunk-OBXHQNWC.js";
10
+ import "../chunk-3UGDI2UI.js";
11
+ import "../chunk-7UUHJR2Q.js";
12
+ import "../chunk-XBG7HHXC.js";
13
+ import "../chunk-3B2JAOSE.js";
14
+ import "../chunk-LHCGND3R.js";
15
+ import "../chunk-LTDHQJ2Z.js";
16
+ import "../chunk-CVAJ4F6O.js";
17
17
  import "../chunk-MWKHKOTL.js";
18
- import "../chunk-KBIKBWSS.js";
19
- import "../chunk-VU6GQ2SH.js";
20
- import "../chunk-MZH4J2PO.js";
18
+ import "../chunk-H72MEDMN.js";
21
19
  import "../chunk-KGCTYL2S.js";
22
- import "../chunk-EG72MSVK.js";
20
+ import "../chunk-JM7LOD2W.js";
21
+ import "../chunk-PD6I2SDG.js";
22
+ import "../chunk-5FHWNLCI.js";
23
23
  import "../chunk-H2CJWXA3.js";
24
- import "../chunk-KSGYJV46.js";
25
- import "../chunk-LNSVJS2Q.js";
24
+ import "../chunk-TUMGL2OC.js";
25
+ import "../chunk-EOPQ727L.js";
26
26
  import "../chunk-IFJU5SYQ.js";
27
27
  import "../chunk-CZ7CSFO4.js";
28
28
  export {
package/js/mcp/stdio.js CHANGED
@@ -3,32 +3,34 @@ import {
3
3
  answeredError,
4
4
  mcpClient,
5
5
  mcpJsonSchemaValidator
6
- } from "../chunk-RIKH5H2X.js";
6
+ } from "../chunk-XK5I2XOI.js";
7
7
  import {
8
8
  protocolRouter
9
- } from "../chunk-Z3S2IVI3.js";
9
+ } from "../chunk-7LGRK7TP.js";
10
10
  import "../chunk-BCSNKUAC.js";
11
- import "../chunk-47BLLMRQ.js";
11
+ import "../chunk-OJ47HQVJ.js";
12
12
  import "../chunk-AQU56EPI.js";
13
- import "../chunk-KTPKTBKZ.js";
14
- import "../chunk-T65AFHU3.js";
15
- import "../chunk-IN2WIN7I.js";
16
- import "../chunk-XSD3RZFX.js";
17
- import "../chunk-ILYK7BQG.js";
18
- import "../chunk-EMHFXFTJ.js";
13
+ import "../chunk-3UGDI2UI.js";
14
+ import "../chunk-7UUHJR2Q.js";
15
+ import "../chunk-XBG7HHXC.js";
16
+ import "../chunk-3B2JAOSE.js";
17
+ import "../chunk-LHCGND3R.js";
18
+ import "../chunk-LTDHQJ2Z.js";
19
19
  import {
20
20
  McpError,
21
21
  ProcessConfig
22
- } from "../chunk-OBXHQNWC.js";
22
+ } from "../chunk-CVAJ4F6O.js";
23
23
  import "../chunk-MWKHKOTL.js";
24
- import "../chunk-KBIKBWSS.js";
25
- import "../chunk-VU6GQ2SH.js";
26
- import "../chunk-MZH4J2PO.js";
24
+ import "../chunk-H72MEDMN.js";
27
25
  import "../chunk-KGCTYL2S.js";
28
- import "../chunk-EG72MSVK.js";
26
+ import {
27
+ owned
28
+ } from "../chunk-JM7LOD2W.js";
29
+ import "../chunk-PD6I2SDG.js";
30
+ import "../chunk-5FHWNLCI.js";
29
31
  import "../chunk-H2CJWXA3.js";
30
- import "../chunk-KSGYJV46.js";
31
- import "../chunk-LNSVJS2Q.js";
32
+ import "../chunk-TUMGL2OC.js";
33
+ import "../chunk-EOPQ727L.js";
32
34
  import {
33
35
  Effect_exports,
34
36
  Schema_exports
@@ -88,22 +90,25 @@ function withClient(config, mode, use) {
88
90
  stderr: "ignore"
89
91
  })
90
92
  })),
91
- ({ client: client2, transport: transport2 }) => Effect_exports.tryPromise(async () => {
92
- try {
93
- await client2.close();
94
- } finally {
95
- await transport2.close();
96
- }
97
- }).pipe(Effect_exports.withSpan("provider.mcp.close"), Effect_exports.orDie)
93
+ ({ client: client2, transport: transport2 }) => (
94
+ // oxlint-disable-next-line executor/authored-code-through-adapter -- MCP SDK
95
+ Effect_exports.tryPromise(async () => {
96
+ try {
97
+ await client2.close();
98
+ } finally {
99
+ await transport2.close();
100
+ }
101
+ }).pipe(owned("upstream", "provider.mcp.close"), Effect_exports.orDie)
102
+ )
98
103
  );
99
104
  yield* Effect_exports.tryPromise({
100
105
  try: (signal) => client.connect(transport, { signal, timeout: config.timeoutMs }),
101
106
  catch: (error) => failure("connect", error)
102
- }).pipe(Effect_exports.timeout(config.timeoutMs), Effect_exports.withSpan("provider.mcp.connect"));
107
+ }).pipe(Effect_exports.timeout(config.timeoutMs), owned("upstream", "provider.mcp.connect"));
103
108
  return yield* use(client);
104
109
  })
105
110
  ).pipe(
106
- Effect_exports.withSpan("provider.mcp.session", {
111
+ owned("upstream", "provider.mcp.session", {
107
112
  attributes: { "mcp.transport": "stdio", "mcp.operation": mode }
108
113
  }),
109
114
  (operation) => mode === "discover" ? operation.pipe(Effect_exports.timeout(config.timeoutMs)) : operation,
package/js/mcp.js CHANGED
@@ -1,49 +1,52 @@
1
1
  import {
2
2
  mcpClientEffect,
3
3
  mcpHealthEffect
4
- } from "./chunk-MSDGZ7FA.js";
4
+ } from "./chunk-6QXPBJ5T.js";
5
5
  import {
6
6
  catalogCache,
7
7
  catalogScope
8
- } from "./chunk-5GLC42LK.js";
8
+ } from "./chunk-UM62MBJQ.js";
9
9
  import {
10
10
  adaptMcpTool
11
- } from "./chunk-RIKH5H2X.js";
11
+ } from "./chunk-XK5I2XOI.js";
12
12
  import {
13
13
  protocolOperations
14
- } from "./chunk-Z3S2IVI3.js";
14
+ } from "./chunk-7LGRK7TP.js";
15
15
  import "./chunk-BCSNKUAC.js";
16
- import "./chunk-47BLLMRQ.js";
16
+ import "./chunk-OJ47HQVJ.js";
17
17
  import {
18
18
  cacheKey
19
19
  } from "./chunk-AQU56EPI.js";
20
20
  import {
21
21
  operationDescription
22
- } from "./chunk-KTPKTBKZ.js";
23
- import "./chunk-T65AFHU3.js";
24
- import "./chunk-IN2WIN7I.js";
25
- import "./chunk-XSD3RZFX.js";
22
+ } from "./chunk-3UGDI2UI.js";
23
+ import "./chunk-7UUHJR2Q.js";
24
+ import "./chunk-XBG7HHXC.js";
25
+ import "./chunk-3B2JAOSE.js";
26
26
  import {
27
27
  nativeOperation,
28
28
  routerDeclaration
29
- } from "./chunk-ILYK7BQG.js";
30
- import "./chunk-EMHFXFTJ.js";
29
+ } from "./chunk-LHCGND3R.js";
30
+ import {
31
+ fromPromise,
32
+ method
33
+ } from "./chunk-LTDHQJ2Z.js";
31
34
  import {
32
35
  McpCredentialsUnverified,
33
36
  McpError,
34
37
  McpServerHeader,
35
38
  McpToolMetadata,
36
39
  McpToolsOptions
37
- } from "./chunk-OBXHQNWC.js";
40
+ } from "./chunk-CVAJ4F6O.js";
38
41
  import "./chunk-MWKHKOTL.js";
39
- import "./chunk-KBIKBWSS.js";
40
- import "./chunk-VU6GQ2SH.js";
41
- import "./chunk-MZH4J2PO.js";
42
+ import "./chunk-H72MEDMN.js";
42
43
  import "./chunk-KGCTYL2S.js";
43
- import "./chunk-EG72MSVK.js";
44
+ import "./chunk-JM7LOD2W.js";
45
+ import "./chunk-PD6I2SDG.js";
46
+ import "./chunk-5FHWNLCI.js";
44
47
  import "./chunk-H2CJWXA3.js";
45
- import "./chunk-KSGYJV46.js";
46
- import "./chunk-LNSVJS2Q.js";
48
+ import "./chunk-TUMGL2OC.js";
49
+ import "./chunk-EOPQ727L.js";
47
50
  import {
48
51
  Effect_exports,
49
52
  Schema_exports
@@ -54,7 +57,6 @@ import "./chunk-CZ7CSFO4.js";
54
57
  var McpToolSummary = McpToolMetadata.mapFields(
55
58
  ({ inputSchema: _input, outputSchema: _output, _meta, ...fields }) => fields
56
59
  );
57
- var invoke = (work) => Effect_exports.tryPromise({ try: work, catch: (error) => error });
58
60
  var serverMeta = (server) => {
59
61
  const title = server.title ?? server.name;
60
62
  return {
@@ -76,7 +78,7 @@ var mcpCatalog = (options, kinds) => Effect_exports.gen(function* () {
76
78
  const cache = yield* catalogScope(options, options.headers, invalid);
77
79
  const id = yield* cacheKey({ url: parsed.url });
78
80
  const key = ["mcp-catalog-v3", id, "current"];
79
- const changed = cache === void 0 ? void 0 : invoke(() => cache.invalidate(key));
81
+ const changed = cache === void 0 ? void 0 : fromPromise(method(cache, "invalidate"), "cache")(key);
80
82
  const client = yield* mcpClientEffect(parsed, changed);
81
83
  const catalog = yield* catalogCache({
82
84
  ...options,
@@ -89,7 +91,7 @@ var mcpCatalog = (options, kinds) => Effect_exports.gen(function* () {
89
91
  },
90
92
  load: (context) => (context === void 0 ? client.list : mcpClientEffect(
91
93
  { ...parsed, signal: context.signal },
92
- invoke(() => context.cache.invalidate(key))
94
+ fromPromise(method(context.cache, "invalidate"), "cache")(key)
93
95
  ).pipe(Effect_exports.flatMap((source) => source.list))).pipe(
94
96
  Effect_exports.flatMap(
95
97
  ({ tools, server }) => Schema_exports.encodeEffect(McpServerHeader)(server).pipe(