apps 0.0.1-beta.102 → 0.0.1-beta.105

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.
@@ -2699,7 +2699,10 @@ export declare const InvocationDeadline: Schema.Finite;
2699
2699
  /**
2700
2700
  * Serializable live tool metadata; executable callbacks never cross this boundary. `name` is the
2701
2701
  * tool's full dotted path. `router` is the path of the router that owns it, omitted at the root.
2702
- * `readOnly` marks a query; a tool without it is a mutation.
2702
+ * `readOnly` marks a query; a tool without it is a mutation. `kindConfirmed` marks a kind that the
2703
+ * app's code or the tool's protocol fixes, such as a declared operation, a `kinds` entry or an HTTP
2704
+ * method, rather than an upstream claim such as an MCP server's `readOnlyHint`. Executor tells an
2705
+ * agent that a call only read only when both are set.
2703
2706
  */
2704
2707
  export declare const HostedTool: Schema.Struct<{
2705
2708
  readonly schedules: Schema.optionalKey<Schema.$Array<Schema.Struct<{
@@ -2723,6 +2726,7 @@ export declare const HostedTool: Schema.Struct<{
2723
2726
  readonly description: Schema.String;
2724
2727
  readonly inputSchema: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
2725
2728
  readonly readOnly: Schema.optionalKey<Schema.Boolean>;
2729
+ readonly kindConfirmed: Schema.optionalKey<Schema.Boolean>;
2726
2730
  readonly title: Schema.optionalKey<Schema.String>;
2727
2731
  readonly outputSchema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
2728
2732
  readonly annotations: Schema.optionalKey<Schema.Struct<{
@@ -2758,6 +2762,7 @@ export declare const HostedToolSummary: Schema.Struct<{
2758
2762
  readonly tags: Schema.optionalKey<Schema.$Array<Schema.NonEmptyString>>;
2759
2763
  readonly description: Schema.String;
2760
2764
  readonly readOnly: Schema.optionalKey<Schema.Boolean>;
2765
+ readonly kindConfirmed: Schema.optionalKey<Schema.Boolean>;
2761
2766
  readonly title: Schema.optionalKey<Schema.String>;
2762
2767
  readonly annotations: Schema.optionalKey<Schema.Struct<{
2763
2768
  readonly title: Schema.optionalKey<Schema.String>;
@@ -2837,6 +2842,7 @@ export declare const HostedCatalog: Schema.Struct<{
2837
2842
  readonly description: Schema.String;
2838
2843
  readonly inputSchema: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
2839
2844
  readonly readOnly: Schema.optionalKey<Schema.Boolean>;
2845
+ readonly kindConfirmed: Schema.optionalKey<Schema.Boolean>;
2840
2846
  readonly title: Schema.optionalKey<Schema.String>;
2841
2847
  readonly outputSchema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
2842
2848
  readonly annotations: Schema.optionalKey<Schema.Struct<{
@@ -2887,6 +2893,7 @@ export declare const HostedCatalogSummary: Schema.Struct<{
2887
2893
  readonly tags: Schema.optionalKey<Schema.$Array<Schema.NonEmptyString>>;
2888
2894
  readonly description: Schema.String;
2889
2895
  readonly readOnly: Schema.optionalKey<Schema.Boolean>;
2896
+ readonly kindConfirmed: Schema.optionalKey<Schema.Boolean>;
2890
2897
  readonly title: Schema.optionalKey<Schema.String>;
2891
2898
  readonly annotations: Schema.optionalKey<Schema.Struct<{
2892
2899
  readonly title: Schema.optionalKey<Schema.String>;
@@ -2942,6 +2949,7 @@ export declare const HostedSharedTool: Schema.Struct<{
2942
2949
  readonly description: Schema.String;
2943
2950
  readonly inputSchema: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
2944
2951
  readonly readOnly: Schema.optionalKey<Schema.Boolean>;
2952
+ readonly kindConfirmed: Schema.optionalKey<Schema.Boolean>;
2945
2953
  readonly title: Schema.optionalKey<Schema.String>;
2946
2954
  readonly outputSchema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
2947
2955
  readonly annotations: Schema.optionalKey<Schema.Struct<{
@@ -2986,6 +2994,7 @@ export declare const HostedSharedCatalog: Schema.Struct<{
2986
2994
  readonly description: Schema.String;
2987
2995
  readonly inputSchema: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
2988
2996
  readonly readOnly: Schema.optionalKey<Schema.Boolean>;
2997
+ readonly kindConfirmed: Schema.optionalKey<Schema.Boolean>;
2989
2998
  readonly title: Schema.optionalKey<Schema.String>;
2990
2999
  readonly outputSchema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
2991
3000
  readonly annotations: Schema.optionalKey<Schema.Struct<{
@@ -5759,6 +5768,7 @@ export declare const current: {
5759
5768
  readonly description: Schema.String;
5760
5769
  readonly inputSchema: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
5761
5770
  readonly readOnly: Schema.optionalKey<Schema.Boolean>;
5771
+ readonly kindConfirmed: Schema.optionalKey<Schema.Boolean>;
5762
5772
  readonly title: Schema.optionalKey<Schema.String>;
5763
5773
  readonly outputSchema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
5764
5774
  readonly annotations: Schema.optionalKey<Schema.Struct<{
@@ -5807,6 +5817,7 @@ export declare const current: {
5807
5817
  readonly tags: Schema.optionalKey<Schema.$Array<Schema.NonEmptyString>>;
5808
5818
  readonly description: Schema.String;
5809
5819
  readonly readOnly: Schema.optionalKey<Schema.Boolean>;
5820
+ readonly kindConfirmed: Schema.optionalKey<Schema.Boolean>;
5810
5821
  readonly title: Schema.optionalKey<Schema.String>;
5811
5822
  readonly annotations: Schema.optionalKey<Schema.Struct<{
5812
5823
  readonly title: Schema.optionalKey<Schema.String>;
@@ -5855,6 +5866,7 @@ export declare const current: {
5855
5866
  readonly description: Schema.String;
5856
5867
  readonly inputSchema: Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>;
5857
5868
  readonly readOnly: Schema.optionalKey<Schema.Boolean>;
5869
+ readonly kindConfirmed: Schema.optionalKey<Schema.Boolean>;
5858
5870
  readonly title: Schema.optionalKey<Schema.String>;
5859
5871
  readonly outputSchema: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Codec<Schema.Json, Schema.Json, never, never>>>;
5860
5872
  readonly annotations: Schema.optionalKey<Schema.Struct<{
@@ -40,7 +40,8 @@ export interface AppRouter {
40
40
  /**
41
41
  * A router whose tools are discovered when read, such as an MCP server or OpenAPI document.
42
42
  * Names are relative to the router and may contain dots. `readOnly: true` marks a query;
43
- * anything else is a mutation. Resolution never requires listing.
43
+ * anything else is a mutation. `kindConfirmed: true` says the app's code or the protocol, not an
44
+ * upstream claim, decided the kind. Resolution never requires listing.
44
45
  */
45
46
  export interface DynamicRouter {
46
47
  readonly kind: "dynamic";
@@ -55,6 +55,7 @@ export declare const operationSummary: (name: string, router: string, operation:
55
55
  }[];
56
56
  readonly readOnly?: boolean;
57
57
  readonly tags?: readonly string[];
58
+ readonly kindConfirmed?: boolean;
58
59
  }, HostDeclarationInvalid, never>;
59
60
  /** A declared operation's full description, including rendered schemas. */
60
61
  export declare const operationDescription: (name: string, router: string, operation: AppOperation, schedules?: readonly OperationSchedule[]) => Effect.Effect<{
@@ -95,6 +96,7 @@ export declare const operationDescription: (name: string, router: string, operat
95
96
  }[];
96
97
  readonly readOnly?: boolean;
97
98
  readonly tags?: readonly string[];
99
+ readonly kindConfirmed?: boolean;
98
100
  }, HostDeclarationInvalid, never>;
99
101
  /**
100
102
  * A dynamic router over operations already discovered, such as an eager OpenAPI document.
@@ -159,6 +161,7 @@ export declare const readCatalog: (root: AppRouter | DynamicRouter | undefined,
159
161
  }[];
160
162
  readonly readOnly?: boolean;
161
163
  readonly tags?: readonly string[];
164
+ readonly kindConfirmed?: boolean;
162
165
  } | {
163
166
  readonly description: string;
164
167
  readonly name: string;
@@ -188,6 +191,7 @@ export declare const readCatalog: (root: AppRouter | DynamicRouter | undefined,
188
191
  }[];
189
192
  readonly readOnly?: boolean;
190
193
  readonly tags?: readonly string[];
194
+ readonly kindConfirmed?: boolean;
191
195
  })[];
192
196
  routers: {
193
197
  readonly path: string;
@@ -27,7 +27,8 @@ export declare function router<Query = unknown, Mutation = unknown>(children: Re
27
27
  export declare function router<Query, Mutation>(source: RouterDeclaration<Query, Mutation>, options: RouterOptions): RouterDeclaration<Query, Mutation>;
28
28
  /**
29
29
  * Declare a router whose tools are discovered when read. `list` returns tools with names relative
30
- * to this router; mark queries with `readOnly: true`. `resolve` receives one of those names.
30
+ * to this router; mark queries with `readOnly: true`, and add `kindConfirmed: true` when your code,
31
+ * not an upstream service's claim, decides the kind. `resolve` receives one of those names.
31
32
  * The router carries the handler contexts of the operations `resolve` returns, so `defineApp`
32
33
  * checks them like a static router's.
33
34
  */