@yaklabs-ai/plugin-protocol 0.55.0 → 0.55.2

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.
package/README.md CHANGED
@@ -11,7 +11,7 @@ flow.
11
11
  ```json
12
12
  {
13
13
  "dependencies": {
14
- "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.55.0"
14
+ "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.55.2"
15
15
  }
16
16
  }
17
17
  ```
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@yaklabs-ai/plugin-protocol",
4
- "version": "0.55.0",
4
+ "version": "0.55.2",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [
package/dist/index.d.ts CHANGED
@@ -122,6 +122,9 @@ export declare const AgentToolContribution: z.ZodObject<{
122
122
  resourcePrefix: z.ZodOptional<z.ZodString>;
123
123
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
124
124
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
125
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
126
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
127
+ }, z.core.$strict>>;
125
128
  defaultPermission: z.ZodOptional<z.ZodEnum<{
126
129
  never: "never";
127
130
  allow: "allow";
@@ -144,10 +147,10 @@ export declare const AgentToolContribution: z.ZodObject<{
144
147
  ruleKey: z.ZodOptional<z.ZodString>;
145
148
  }, z.core.$strict>>>;
146
149
  }, z.core.$strict>>;
147
- localId: z.ZodString;
150
+ description: z.ZodOptional<z.ZodString>;
148
151
  toolName: z.ZodString;
149
152
  displayName: z.ZodOptional<z.ZodString>;
150
- description: z.ZodOptional<z.ZodString>;
153
+ localId: z.ZodString;
151
154
  }, z.core.$strict>;
152
155
 
153
156
  export declare type AgentToolContribution = z.infer<typeof AgentToolContribution>;
@@ -435,6 +438,8 @@ export declare const AppUriModuleContribution: z.ZodObject<{
435
438
  search: z.ZodExactOptional<z.ZodString>;
436
439
  }, z.core.$strict>;
437
440
  normalizeTo: z.ZodExactOptional<z.ZodString>;
441
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
442
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
438
443
  route: z.ZodExactOptional<z.ZodString>;
439
444
  sourceUrl: z.ZodExactOptional<z.ZodString>;
440
445
  title: z.ZodExactOptional<z.ZodString>;
@@ -2064,6 +2069,8 @@ declare const canonicalContributionSchemas: {
2064
2069
  search: z.ZodExactOptional<z.ZodString>;
2065
2070
  }, z.core.$strict>;
2066
2071
  normalizeTo: z.ZodExactOptional<z.ZodString>;
2072
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
2073
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
2067
2074
  route: z.ZodExactOptional<z.ZodString>;
2068
2075
  sourceUrl: z.ZodExactOptional<z.ZodString>;
2069
2076
  title: z.ZodExactOptional<z.ZodString>;
@@ -2232,6 +2239,9 @@ declare const canonicalContributionSchemas: {
2232
2239
  resourcePrefix: z.ZodOptional<z.ZodString>;
2233
2240
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
2234
2241
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
2242
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
2243
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
2244
+ }, z.core.$strict>>;
2235
2245
  defaultPermission: z.ZodOptional<z.ZodEnum<{
2236
2246
  never: "never";
2237
2247
  allow: "allow";
@@ -2254,6 +2264,9 @@ declare const canonicalContributionSchemas: {
2254
2264
  ruleKey: z.ZodOptional<z.ZodString>;
2255
2265
  }, z.core.$strict>>>;
2256
2266
  }, z.core.$strict>>;
2267
+ availability: z.ZodOptional<z.ZodObject<{
2268
+ scope: z.ZodLiteral<"app">;
2269
+ }, z.core.$strict>>;
2257
2270
  localId: z.ZodString;
2258
2271
  toolName: z.ZodString;
2259
2272
  displayName: z.ZodOptional<z.ZodString>;
@@ -2271,6 +2284,9 @@ declare const canonicalContributionSchemas: {
2271
2284
  resourcePrefix: z.ZodOptional<z.ZodString>;
2272
2285
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
2273
2286
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
2287
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
2288
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
2289
+ }, z.core.$strict>>;
2274
2290
  defaultPermission: z.ZodOptional<z.ZodEnum<{
2275
2291
  never: "never";
2276
2292
  allow: "allow";
@@ -2315,6 +2331,9 @@ declare const canonicalContributionSchemas: {
2315
2331
  resourcePrefix: z.ZodOptional<z.ZodString>;
2316
2332
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
2317
2333
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
2334
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
2335
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
2336
+ }, z.core.$strict>>;
2318
2337
  defaultPermission: z.ZodOptional<z.ZodEnum<{
2319
2338
  never: "never";
2320
2339
  allow: "allow";
@@ -2337,10 +2356,10 @@ declare const canonicalContributionSchemas: {
2337
2356
  ruleKey: z.ZodOptional<z.ZodString>;
2338
2357
  }, z.core.$strict>>>;
2339
2358
  }, z.core.$strict>>;
2340
- localId: z.ZodString;
2359
+ description: z.ZodOptional<z.ZodString>;
2341
2360
  toolName: z.ZodString;
2342
2361
  displayName: z.ZodOptional<z.ZodString>;
2343
- description: z.ZodOptional<z.ZodString>;
2362
+ localId: z.ZodString;
2344
2363
  }, z.core.$strict>;
2345
2364
  ConverterContribution: z.ZodObject<{
2346
2365
  localId: z.ZodString;
@@ -2352,6 +2371,7 @@ declare const canonicalContributionSchemas: {
2352
2371
  UriModuleContribution: z.ZodObject<{
2353
2372
  authService: z.ZodOptional<z.ZodString>;
2354
2373
  authScheme: z.ZodOptional<z.ZodString>;
2374
+ requiredScopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
2355
2375
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
2356
2376
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
2357
2377
  looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
@@ -2395,6 +2415,8 @@ declare const canonicalContributionSchemas: {
2395
2415
  search: z.ZodExactOptional<z.ZodString>;
2396
2416
  }, z.core.$strict>;
2397
2417
  normalizeTo: z.ZodExactOptional<z.ZodString>;
2418
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
2419
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
2398
2420
  route: z.ZodExactOptional<z.ZodString>;
2399
2421
  sourceUrl: z.ZodExactOptional<z.ZodString>;
2400
2422
  title: z.ZodExactOptional<z.ZodString>;
@@ -2592,6 +2614,8 @@ declare const canonicalContributionSchemas: {
2592
2614
  search: z.ZodExactOptional<z.ZodString>;
2593
2615
  }, z.core.$strict>;
2594
2616
  normalizeTo: z.ZodExactOptional<z.ZodString>;
2617
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
2618
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
2595
2619
  route: z.ZodExactOptional<z.ZodString>;
2596
2620
  sourceUrl: z.ZodExactOptional<z.ZodString>;
2597
2621
  title: z.ZodExactOptional<z.ZodString>;
@@ -3248,6 +3272,7 @@ declare const canonicalContributionSchemas: {
3248
3272
  "connect-flows.read": "connect-flows.read";
3249
3273
  "connect-flows.dismiss": "connect-flows.dismiss";
3250
3274
  "support.report": "support.report";
3275
+ "report-evidence.read": "report-evidence.read";
3251
3276
  "navigation.open-page": "navigation.open-page";
3252
3277
  "sessions.create": "sessions.create";
3253
3278
  "models.complete": "models.complete";
@@ -3285,6 +3310,7 @@ declare const canonicalContributionSchemas: {
3285
3310
  "connect-flows.read": "connect-flows.read";
3286
3311
  "connect-flows.dismiss": "connect-flows.dismiss";
3287
3312
  "support.report": "support.report";
3313
+ "report-evidence.read": "report-evidence.read";
3288
3314
  "navigation.open-page": "navigation.open-page";
3289
3315
  "sessions.create": "sessions.create";
3290
3316
  "models.complete": "models.complete";
@@ -3390,6 +3416,7 @@ declare const canonicalContributionSchemas: {
3390
3416
  "connect-flows.read": "connect-flows.read";
3391
3417
  "connect-flows.dismiss": "connect-flows.dismiss";
3392
3418
  "support.report": "support.report";
3419
+ "report-evidence.read": "report-evidence.read";
3393
3420
  "navigation.open-page": "navigation.open-page";
3394
3421
  "sessions.create": "sessions.create";
3395
3422
  "models.complete": "models.complete";
@@ -3444,6 +3471,7 @@ declare const canonicalContributionSchemas: {
3444
3471
  "connect-flows.read": "connect-flows.read";
3445
3472
  "connect-flows.dismiss": "connect-flows.dismiss";
3446
3473
  "support.report": "support.report";
3474
+ "report-evidence.read": "report-evidence.read";
3447
3475
  "navigation.open-page": "navigation.open-page";
3448
3476
  "sessions.create": "sessions.create";
3449
3477
  "models.complete": "models.complete";
@@ -3514,9 +3542,9 @@ declare const canonicalContributionSchemas: {
3514
3542
  resource: "resource";
3515
3543
  storage: "storage";
3516
3544
  uriModule: "uriModule";
3545
+ app: "app";
3517
3546
  authService: "authService";
3518
3547
  command: "command";
3519
- app: "app";
3520
3548
  skill: "skill";
3521
3549
  converter: "converter";
3522
3550
  artifactUriModule: "artifactUriModule";
@@ -4924,8 +4952,14 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
4924
4952
  *
4925
4953
  * 0.55.0 carries managed MCP calls over resource writes in both daemon and plugin-host code.
4926
4954
  * Existing agent and background MCP call shapes remain supported.
4955
+ *
4956
+ * 0.55.1 adds canonical path resources on declared tool permissions, asynchronous display-only
4957
+ * tool previews with cancellation, app-scoped availability snapshots and app-target output
4958
+ * artifact usage declarations. A plugin using these declares ^0.55.1.
4959
+ *
4960
+ * 0.55.2 adds opt-in query and connection-selector preservation during URI claim normalization.
4927
4961
  */
4928
- export declare const KAY_PLUGIN_SDK_VERSION: "0.55.0";
4962
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.55.2";
4929
4963
 
4930
4964
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
4931
4965
 
@@ -4971,6 +5005,9 @@ export declare const KayAgentTargetManifest: z.ZodObject<{
4971
5005
  resourcePrefix: z.ZodOptional<z.ZodString>;
4972
5006
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
4973
5007
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
5008
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
5009
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5010
+ }, z.core.$strict>>;
4974
5011
  defaultPermission: z.ZodOptional<z.ZodEnum<{
4975
5012
  never: "never";
4976
5013
  allow: "allow";
@@ -4993,10 +5030,10 @@ export declare const KayAgentTargetManifest: z.ZodObject<{
4993
5030
  ruleKey: z.ZodOptional<z.ZodString>;
4994
5031
  }, z.core.$strict>>>;
4995
5032
  }, z.core.$strict>>;
4996
- localId: z.ZodString;
5033
+ description: z.ZodOptional<z.ZodString>;
4997
5034
  toolName: z.ZodString;
4998
5035
  displayName: z.ZodOptional<z.ZodString>;
4999
- description: z.ZodOptional<z.ZodString>;
5036
+ localId: z.ZodString;
5000
5037
  }, z.core.$strict>>>;
5001
5038
  converters: z.ZodOptional<z.ZodArray<z.ZodObject<{
5002
5039
  localId: z.ZodString;
@@ -5008,6 +5045,7 @@ export declare const KayAgentTargetManifest: z.ZodObject<{
5008
5045
  uriModules: z.ZodOptional<z.ZodArray<z.ZodObject<{
5009
5046
  authService: z.ZodOptional<z.ZodString>;
5010
5047
  authScheme: z.ZodOptional<z.ZodString>;
5048
+ requiredScopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5011
5049
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
5012
5050
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
5013
5051
  looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
@@ -5051,6 +5089,8 @@ export declare const KayAgentTargetManifest: z.ZodObject<{
5051
5089
  search: z.ZodExactOptional<z.ZodString>;
5052
5090
  }, z.core.$strict>;
5053
5091
  normalizeTo: z.ZodExactOptional<z.ZodString>;
5092
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
5093
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
5054
5094
  route: z.ZodExactOptional<z.ZodString>;
5055
5095
  sourceUrl: z.ZodExactOptional<z.ZodString>;
5056
5096
  title: z.ZodExactOptional<z.ZodString>;
@@ -5317,6 +5357,9 @@ export declare const KayAppTargetManifest: z.ZodObject<{
5317
5357
  module: z.ZodString;
5318
5358
  export: z.ZodOptional<z.ZodString>;
5319
5359
  }, z.core.$strict>>;
5360
+ artifacts: z.ZodOptional<z.ZodObject<{
5361
+ outputs: z.ZodLiteral<true>;
5362
+ }, z.core.$strict>>;
5320
5363
  contributes: z.ZodOptional<z.ZodObject<{
5321
5364
  tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
5322
5365
  parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>;
@@ -5338,6 +5381,9 @@ export declare const KayAppTargetManifest: z.ZodObject<{
5338
5381
  resourcePrefix: z.ZodOptional<z.ZodString>;
5339
5382
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
5340
5383
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
5384
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
5385
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5386
+ }, z.core.$strict>>;
5341
5387
  defaultPermission: z.ZodOptional<z.ZodEnum<{
5342
5388
  never: "never";
5343
5389
  allow: "allow";
@@ -5360,6 +5406,9 @@ export declare const KayAppTargetManifest: z.ZodObject<{
5360
5406
  ruleKey: z.ZodOptional<z.ZodString>;
5361
5407
  }, z.core.$strict>>>;
5362
5408
  }, z.core.$strict>>;
5409
+ availability: z.ZodOptional<z.ZodObject<{
5410
+ scope: z.ZodLiteral<"app">;
5411
+ }, z.core.$strict>>;
5363
5412
  localId: z.ZodString;
5364
5413
  toolName: z.ZodString;
5365
5414
  displayName: z.ZodOptional<z.ZodString>;
@@ -5430,6 +5479,8 @@ export declare const KayAppTargetManifest: z.ZodObject<{
5430
5479
  search: z.ZodExactOptional<z.ZodString>;
5431
5480
  }, z.core.$strict>;
5432
5481
  normalizeTo: z.ZodExactOptional<z.ZodString>;
5482
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
5483
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
5433
5484
  route: z.ZodExactOptional<z.ZodString>;
5434
5485
  sourceUrl: z.ZodExactOptional<z.ZodString>;
5435
5486
  title: z.ZodExactOptional<z.ZodString>;
@@ -5926,6 +5977,9 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5926
5977
  resourcePrefix: z.ZodOptional<z.ZodString>;
5927
5978
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
5928
5979
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
5980
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
5981
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5982
+ }, z.core.$strict>>;
5929
5983
  defaultPermission: z.ZodOptional<z.ZodEnum<{
5930
5984
  never: "never";
5931
5985
  allow: "allow";
@@ -5948,10 +6002,10 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5948
6002
  ruleKey: z.ZodOptional<z.ZodString>;
5949
6003
  }, z.core.$strict>>>;
5950
6004
  }, z.core.$strict>>;
5951
- localId: z.ZodString;
6005
+ description: z.ZodOptional<z.ZodString>;
5952
6006
  toolName: z.ZodString;
5953
6007
  displayName: z.ZodOptional<z.ZodString>;
5954
- description: z.ZodOptional<z.ZodString>;
6008
+ localId: z.ZodString;
5955
6009
  }, z.core.$strict>>>;
5956
6010
  converters: z.ZodOptional<z.ZodArray<z.ZodObject<{
5957
6011
  localId: z.ZodString;
@@ -5963,6 +6017,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5963
6017
  uriModules: z.ZodOptional<z.ZodArray<z.ZodObject<{
5964
6018
  authService: z.ZodOptional<z.ZodString>;
5965
6019
  authScheme: z.ZodOptional<z.ZodString>;
6020
+ requiredScopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5966
6021
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
5967
6022
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
5968
6023
  looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
@@ -6006,6 +6061,8 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6006
6061
  search: z.ZodExactOptional<z.ZodString>;
6007
6062
  }, z.core.$strict>;
6008
6063
  normalizeTo: z.ZodExactOptional<z.ZodString>;
6064
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
6065
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
6009
6066
  route: z.ZodExactOptional<z.ZodString>;
6010
6067
  sourceUrl: z.ZodExactOptional<z.ZodString>;
6011
6068
  title: z.ZodExactOptional<z.ZodString>;
@@ -6269,6 +6326,9 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6269
6326
  module: z.ZodString;
6270
6327
  export: z.ZodOptional<z.ZodString>;
6271
6328
  }, z.core.$strict>>;
6329
+ artifacts: z.ZodOptional<z.ZodObject<{
6330
+ outputs: z.ZodLiteral<true>;
6331
+ }, z.core.$strict>>;
6272
6332
  contributes: z.ZodOptional<z.ZodObject<{
6273
6333
  tools: z.ZodOptional<z.ZodArray<z.ZodObject<{
6274
6334
  parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>;
@@ -6290,6 +6350,9 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6290
6350
  resourcePrefix: z.ZodOptional<z.ZodString>;
6291
6351
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
6292
6352
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
6353
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
6354
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
6355
+ }, z.core.$strict>>;
6293
6356
  defaultPermission: z.ZodOptional<z.ZodEnum<{
6294
6357
  never: "never";
6295
6358
  allow: "allow";
@@ -6312,6 +6375,9 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6312
6375
  ruleKey: z.ZodOptional<z.ZodString>;
6313
6376
  }, z.core.$strict>>>;
6314
6377
  }, z.core.$strict>>;
6378
+ availability: z.ZodOptional<z.ZodObject<{
6379
+ scope: z.ZodLiteral<"app">;
6380
+ }, z.core.$strict>>;
6315
6381
  localId: z.ZodString;
6316
6382
  toolName: z.ZodString;
6317
6383
  displayName: z.ZodOptional<z.ZodString>;
@@ -6382,6 +6448,8 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6382
6448
  search: z.ZodExactOptional<z.ZodString>;
6383
6449
  }, z.core.$strict>;
6384
6450
  normalizeTo: z.ZodExactOptional<z.ZodString>;
6451
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
6452
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
6385
6453
  route: z.ZodExactOptional<z.ZodString>;
6386
6454
  sourceUrl: z.ZodExactOptional<z.ZodString>;
6387
6455
  title: z.ZodExactOptional<z.ZodString>;
@@ -6908,6 +6976,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6908
6976
  "connect-flows.read": "connect-flows.read";
6909
6977
  "connect-flows.dismiss": "connect-flows.dismiss";
6910
6978
  "support.report": "support.report";
6979
+ "report-evidence.read": "report-evidence.read";
6911
6980
  "navigation.open-page": "navigation.open-page";
6912
6981
  "sessions.create": "sessions.create";
6913
6982
  "models.complete": "models.complete";
@@ -6962,6 +7031,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6962
7031
  "connect-flows.read": "connect-flows.read";
6963
7032
  "connect-flows.dismiss": "connect-flows.dismiss";
6964
7033
  "support.report": "support.report";
7034
+ "report-evidence.read": "report-evidence.read";
6965
7035
  "navigation.open-page": "navigation.open-page";
6966
7036
  "sessions.create": "sessions.create";
6967
7037
  "models.complete": "models.complete";
@@ -7987,6 +8057,7 @@ export declare const KayUiAppHostCapability: z.ZodEnum<{
7987
8057
  "connect-flows.read": "connect-flows.read";
7988
8058
  "connect-flows.dismiss": "connect-flows.dismiss";
7989
8059
  "support.report": "support.report";
8060
+ "report-evidence.read": "report-evidence.read";
7990
8061
  "navigation.open-page": "navigation.open-page";
7991
8062
  "sessions.create": "sessions.create";
7992
8063
  "models.complete": "models.complete";
@@ -8278,6 +8349,7 @@ export declare const KayUiTargetManifest: z.ZodObject<{
8278
8349
  "connect-flows.read": "connect-flows.read";
8279
8350
  "connect-flows.dismiss": "connect-flows.dismiss";
8280
8351
  "support.report": "support.report";
8352
+ "report-evidence.read": "report-evidence.read";
8281
8353
  "navigation.open-page": "navigation.open-page";
8282
8354
  "sessions.create": "sessions.create";
8283
8355
  "models.complete": "models.complete";
@@ -8332,6 +8404,7 @@ export declare const KayUiTargetManifest: z.ZodObject<{
8332
8404
  "connect-flows.read": "connect-flows.read";
8333
8405
  "connect-flows.dismiss": "connect-flows.dismiss";
8334
8406
  "support.report": "support.report";
8407
+ "report-evidence.read": "report-evidence.read";
8335
8408
  "navigation.open-page": "navigation.open-page";
8336
8409
  "sessions.create": "sessions.create";
8337
8410
  "models.complete": "models.complete";
@@ -11440,9 +11513,9 @@ export declare const PluginContributionKind: z.ZodEnum<{
11440
11513
  resource: "resource";
11441
11514
  storage: "storage";
11442
11515
  uriModule: "uriModule";
11516
+ app: "app";
11443
11517
  authService: "authService";
11444
11518
  command: "command";
11445
- app: "app";
11446
11519
  skill: "skill";
11447
11520
  converter: "converter";
11448
11521
  artifactUriModule: "artifactUriModule";
@@ -13190,6 +13263,9 @@ export declare const ResolvedKayAgentTool: z.ZodObject<{
13190
13263
  resourcePrefix: z.ZodOptional<z.ZodString>;
13191
13264
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
13192
13265
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
13266
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
13267
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
13268
+ }, z.core.$strict>>;
13193
13269
  defaultPermission: z.ZodOptional<z.ZodEnum<{
13194
13270
  never: "never";
13195
13271
  allow: "allow";
@@ -13260,6 +13336,8 @@ export declare const ResolvedKayAgentUriModule: z.ZodObject<{
13260
13336
  search: z.ZodExactOptional<z.ZodString>;
13261
13337
  }, z.core.$strict>;
13262
13338
  normalizeTo: z.ZodExactOptional<z.ZodString>;
13339
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
13340
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
13263
13341
  route: z.ZodExactOptional<z.ZodString>;
13264
13342
  sourceUrl: z.ZodExactOptional<z.ZodString>;
13265
13343
  title: z.ZodExactOptional<z.ZodString>;
@@ -13414,6 +13492,7 @@ export declare const ResolvedKayAgentUriModule: z.ZodObject<{
13414
13492
  displayName: z.ZodOptional<z.ZodString>;
13415
13493
  authServiceId: z.ZodOptional<z.ZodString>;
13416
13494
  authSchemeId: z.ZodOptional<z.ZodString>;
13495
+ requiredScopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
13417
13496
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
13418
13497
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
13419
13498
  looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
@@ -13585,6 +13664,9 @@ export declare const ResolvedKayAppTool: z.ZodObject<{
13585
13664
  resourcePrefix: z.ZodOptional<z.ZodString>;
13586
13665
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
13587
13666
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
13667
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
13668
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
13669
+ }, z.core.$strict>>;
13588
13670
  defaultPermission: z.ZodOptional<z.ZodEnum<{
13589
13671
  never: "never";
13590
13672
  allow: "allow";
@@ -13608,6 +13690,9 @@ export declare const ResolvedKayAppTool: z.ZodObject<{
13608
13690
  }, z.core.$strict>>>;
13609
13691
  }, z.core.$strict>>;
13610
13692
  globalId: z.ZodString;
13693
+ availability: z.ZodOptional<z.ZodObject<{
13694
+ scope: z.ZodLiteral<"app">;
13695
+ }, z.core.$strict>>;
13611
13696
  }, z.core.$strict>;
13612
13697
 
13613
13698
  export declare type ResolvedKayAppTool = z.infer<typeof ResolvedKayAppTool>;
@@ -13704,6 +13789,7 @@ export declare const ResolvedKayUiApp: z.ZodObject<{
13704
13789
  "connect-flows.read": "connect-flows.read";
13705
13790
  "connect-flows.dismiss": "connect-flows.dismiss";
13706
13791
  "support.report": "support.report";
13792
+ "report-evidence.read": "report-evidence.read";
13707
13793
  "navigation.open-page": "navigation.open-page";
13708
13794
  "sessions.create": "sessions.create";
13709
13795
  "models.complete": "models.complete";
@@ -14142,9 +14228,9 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
14142
14228
  resource: "resource";
14143
14229
  storage: "storage";
14144
14230
  uriModule: "uriModule";
14231
+ app: "app";
14145
14232
  authService: "authService";
14146
14233
  command: "command";
14147
- app: "app";
14148
14234
  skill: "skill";
14149
14235
  converter: "converter";
14150
14236
  artifactUriModule: "artifactUriModule";
@@ -14764,6 +14850,8 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
14764
14850
  search: z.ZodExactOptional<z.ZodString>;
14765
14851
  }, z.core.$strict>;
14766
14852
  normalizeTo: z.ZodExactOptional<z.ZodString>;
14853
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
14854
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
14767
14855
  route: z.ZodExactOptional<z.ZodString>;
14768
14856
  sourceUrl: z.ZodExactOptional<z.ZodString>;
14769
14857
  title: z.ZodExactOptional<z.ZodString>;
@@ -14918,6 +15006,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
14918
15006
  displayName: z.ZodOptional<z.ZodString>;
14919
15007
  authServiceId: z.ZodOptional<z.ZodString>;
14920
15008
  authSchemeId: z.ZodOptional<z.ZodString>;
15009
+ requiredScopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
14921
15010
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
14922
15011
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
14923
15012
  looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
@@ -14976,6 +15065,9 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
14976
15065
  resourcePrefix: z.ZodOptional<z.ZodString>;
14977
15066
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
14978
15067
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
15068
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
15069
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
15070
+ }, z.core.$strict>>;
14979
15071
  defaultPermission: z.ZodOptional<z.ZodEnum<{
14980
15072
  never: "never";
14981
15073
  allow: "allow";
@@ -15002,6 +15094,211 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
15002
15094
  globalId: z.ZodString;
15003
15095
  toolName: z.ZodString;
15004
15096
  }, z.core.$strict>>>;
15097
+ kayAppArtifacts: z.ZodOptional<z.ZodObject<{
15098
+ outputs: z.ZodLiteral<true>;
15099
+ }, z.core.$strict>>;
15100
+ kayAppUriModules: z.ZodOptional<z.ZodArray<z.ZodObject<{
15101
+ revisionBacked: z.ZodOptional<z.ZodLiteral<true>>;
15102
+ mailCalibrationSource: z.ZodOptional<z.ZodLiteral<true>>;
15103
+ screenActions: z.ZodExactOptional<z.ZodObject<{
15104
+ scheme: z.ZodString;
15105
+ hosts: z.ZodArray<z.ZodString>;
15106
+ paths: z.ZodOptional<z.ZodArray<z.ZodString>>;
15107
+ apps: z.ZodArray<z.ZodString>;
15108
+ options: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
15109
+ kind: z.ZodLiteral<"exact">;
15110
+ description: z.ZodString;
15111
+ verb: z.ZodEnum<{
15112
+ read: "read";
15113
+ write: "write";
15114
+ edit: "edit";
15115
+ delete: "delete";
15116
+ }>;
15117
+ uri: z.ZodString;
15118
+ }, z.core.$strict>, z.ZodObject<{
15119
+ kind: z.ZodLiteral<"catch-all">;
15120
+ description: z.ZodString;
15121
+ verb: z.ZodEnum<{
15122
+ read: "read";
15123
+ write: "write";
15124
+ edit: "edit";
15125
+ delete: "delete";
15126
+ }>;
15127
+ }, z.core.$strict>], "kind">>;
15128
+ }, z.core.$strict>>;
15129
+ claims: z.ZodExactOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
15130
+ kind: z.ZodLiteral<"scheme">;
15131
+ scheme: z.ZodString;
15132
+ }, z.core.$strict>, z.ZodObject<{
15133
+ kind: z.ZodLiteral<"uriPattern">;
15134
+ pattern: z.ZodObject<{
15135
+ protocol: z.ZodExactOptional<z.ZodString>;
15136
+ hostname: z.ZodExactOptional<z.ZodString>;
15137
+ pathname: z.ZodExactOptional<z.ZodString>;
15138
+ search: z.ZodExactOptional<z.ZodString>;
15139
+ }, z.core.$strict>;
15140
+ normalizeTo: z.ZodExactOptional<z.ZodString>;
15141
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
15142
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
15143
+ route: z.ZodExactOptional<z.ZodString>;
15144
+ sourceUrl: z.ZodExactOptional<z.ZodString>;
15145
+ title: z.ZodExactOptional<z.ZodString>;
15146
+ examples: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
15147
+ }, z.core.$strict>, z.ZodObject<{
15148
+ kind: z.ZodLiteral<"urlPattern">;
15149
+ pattern: z.ZodObject<{
15150
+ protocol: z.ZodExactOptional<z.ZodString>;
15151
+ hostname: z.ZodExactOptional<z.ZodString>;
15152
+ pathname: z.ZodExactOptional<z.ZodString>;
15153
+ search: z.ZodExactOptional<z.ZodString>;
15154
+ }, z.core.$strict>;
15155
+ normalizeTo: z.ZodExactOptional<z.ZodString>;
15156
+ route: z.ZodExactOptional<z.ZodString>;
15157
+ examples: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
15158
+ }, z.core.$strict>], "kind">>>;
15159
+ templates: z.ZodExactOptional<z.ZodArray<z.ZodObject<{
15160
+ uri: z.ZodString;
15161
+ description: z.ZodString;
15162
+ operations: z.ZodExactOptional<z.ZodArray<z.ZodEnum<{
15163
+ search: "search";
15164
+ read: "read";
15165
+ list: "list";
15166
+ write: "write";
15167
+ edit: "edit";
15168
+ delete: "delete";
15169
+ help: "help";
15170
+ }>>>;
15171
+ operationDocs: z.ZodExactOptional<z.ZodRecord<z.ZodEnum<{
15172
+ search: "search";
15173
+ read: "read";
15174
+ list: "list";
15175
+ write: "write";
15176
+ edit: "edit";
15177
+ delete: "delete";
15178
+ help: "help";
15179
+ }> & z.core.$partial, z.ZodString>>;
15180
+ operationDefaults: z.ZodExactOptional<z.ZodRecord<z.ZodEnum<{
15181
+ search: "search";
15182
+ read: "read";
15183
+ list: "list";
15184
+ write: "write";
15185
+ edit: "edit";
15186
+ delete: "delete";
15187
+ help: "help";
15188
+ }> & z.core.$partial, z.ZodEnum<{
15189
+ never: "never";
15190
+ allow: "allow";
15191
+ ask: "ask";
15192
+ }>>>;
15193
+ }, z.core.$strict>>>;
15194
+ verbs: z.ZodExactOptional<z.ZodObject<{
15195
+ readable: z.ZodBoolean;
15196
+ writable: z.ZodBoolean;
15197
+ editable: z.ZodBoolean;
15198
+ deletable: z.ZodExactOptional<z.ZodBoolean>;
15199
+ listable: z.ZodBoolean;
15200
+ searchable: z.ZodExactOptional<z.ZodBoolean>;
15201
+ }, z.core.$strict>>;
15202
+ verbDocs: z.ZodExactOptional<z.ZodObject<{
15203
+ read: z.ZodExactOptional<z.ZodString>;
15204
+ list: z.ZodExactOptional<z.ZodString>;
15205
+ search: z.ZodExactOptional<z.ZodString>;
15206
+ write: z.ZodExactOptional<z.ZodString>;
15207
+ edit: z.ZodExactOptional<z.ZodString>;
15208
+ delete: z.ZodExactOptional<z.ZodString>;
15209
+ }, z.core.$strict>>;
15210
+ permissionDefaults: z.ZodExactOptional<z.ZodObject<{
15211
+ read: z.ZodExactOptional<z.ZodEnum<{
15212
+ never: "never";
15213
+ allow: "allow";
15214
+ ask: "ask";
15215
+ }>>;
15216
+ write: z.ZodExactOptional<z.ZodEnum<{
15217
+ never: "never";
15218
+ allow: "allow";
15219
+ ask: "ask";
15220
+ }>>;
15221
+ edit: z.ZodExactOptional<z.ZodEnum<{
15222
+ never: "never";
15223
+ allow: "allow";
15224
+ ask: "ask";
15225
+ }>>;
15226
+ delete: z.ZodExactOptional<z.ZodEnum<{
15227
+ never: "never";
15228
+ allow: "allow";
15229
+ ask: "ask";
15230
+ }>>;
15231
+ }, z.core.$strict>>;
15232
+ authActions: z.ZodExactOptional<z.ZodObject<{
15233
+ actions: z.ZodRecord<z.ZodString, z.ZodObject<{
15234
+ purpose: z.ZodString;
15235
+ alternatives: z.ZodArray<z.ZodObject<{
15236
+ allOf: z.ZodArray<z.ZodObject<{
15237
+ scope: z.ZodString;
15238
+ reason: z.ZodExactOptional<z.ZodString>;
15239
+ }, z.core.$strict>>;
15240
+ }, z.core.$strict>>;
15241
+ }, z.core.$strict>>;
15242
+ rules: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
15243
+ action: z.ZodString;
15244
+ operations: z.ZodExactOptional<z.ZodArray<z.ZodEnum<{
15245
+ search: "search";
15246
+ read: "read";
15247
+ list: "list";
15248
+ write: "write";
15249
+ edit: "edit";
15250
+ delete: "delete";
15251
+ help: "help";
15252
+ }>>>;
15253
+ routes: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
15254
+ query: z.ZodExactOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
15255
+ }, z.core.$strict>, z.ZodObject<{
15256
+ public: z.ZodLiteral<true>;
15257
+ operations: z.ZodExactOptional<z.ZodArray<z.ZodEnum<{
15258
+ search: "search";
15259
+ read: "read";
15260
+ list: "list";
15261
+ write: "write";
15262
+ edit: "edit";
15263
+ delete: "delete";
15264
+ help: "help";
15265
+ }>>>;
15266
+ routes: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
15267
+ query: z.ZodExactOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
15268
+ }, z.core.$strict>]>>;
15269
+ }, z.core.$strict>>;
15270
+ requiresConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
15271
+ acceptsSourceCopy: z.ZodExactOptional<z.ZodLiteral<false>>;
15272
+ acceptsWriteSources: z.ZodExactOptional<z.ZodLiteral<true>>;
15273
+ acceptsBytes: z.ZodExactOptional<z.ZodLiteral<true>>;
15274
+ ownsLineSelectors: z.ZodExactOptional<z.ZodLiteral<true>>;
15275
+ description: z.ZodExactOptional<z.ZodString>;
15276
+ agentHint: z.ZodExactOptional<z.ZodObject<{
15277
+ summary: z.ZodString;
15278
+ commonFlows: z.ZodExactOptional<z.ZodArray<z.ZodObject<{
15279
+ label: z.ZodString;
15280
+ when: z.ZodExactOptional<z.ZodString>;
15281
+ example: z.ZodString;
15282
+ }, z.core.$strict>>>;
15283
+ helpUri: z.ZodExactOptional<z.ZodString>;
15284
+ triggers: z.ZodExactOptional<z.ZodObject<{
15285
+ keywords: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
15286
+ patterns: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
15287
+ }, z.core.$strict>>;
15288
+ skills: z.ZodExactOptional<z.ZodArray<z.ZodString>>;
15289
+ }, z.core.$strict>>;
15290
+ localId: z.ZodString;
15291
+ adapterId: z.ZodOptional<z.ZodString>;
15292
+ globalId: z.ZodString;
15293
+ schemes: z.ZodArray<z.ZodString>;
15294
+ displayName: z.ZodOptional<z.ZodString>;
15295
+ authServiceId: z.ZodOptional<z.ZodString>;
15296
+ authSchemeId: z.ZodOptional<z.ZodString>;
15297
+ requiredScopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
15298
+ knownResources: z.ZodOptional<z.ZodLiteral<true>>;
15299
+ describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
15300
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
15301
+ }, z.core.$strict>>>;
15005
15302
  kayAppTools: z.ZodOptional<z.ZodArray<z.ZodObject<{
15006
15303
  description: z.ZodOptional<z.ZodString>;
15007
15304
  toolName: z.ZodString;
@@ -15026,6 +15323,9 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
15026
15323
  resourcePrefix: z.ZodOptional<z.ZodString>;
15027
15324
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
15028
15325
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
15326
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
15327
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
15328
+ }, z.core.$strict>>;
15029
15329
  defaultPermission: z.ZodOptional<z.ZodEnum<{
15030
15330
  never: "never";
15031
15331
  allow: "allow";
@@ -15049,6 +15349,9 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
15049
15349
  }, z.core.$strict>>>;
15050
15350
  }, z.core.$strict>>;
15051
15351
  globalId: z.ZodString;
15352
+ availability: z.ZodOptional<z.ZodObject<{
15353
+ scope: z.ZodLiteral<"app">;
15354
+ }, z.core.$strict>>;
15052
15355
  }, z.core.$strict>>>;
15053
15356
  kayAppApprovalTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
15054
15357
  kind: z.ZodLiteral<"message">;
@@ -15409,6 +15712,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
15409
15712
  "connect-flows.read": "connect-flows.read";
15410
15713
  "connect-flows.dismiss": "connect-flows.dismiss";
15411
15714
  "support.report": "support.report";
15715
+ "report-evidence.read": "report-evidence.read";
15412
15716
  "navigation.open-page": "navigation.open-page";
15413
15717
  "sessions.create": "sessions.create";
15414
15718
  "models.complete": "models.complete";
@@ -15451,9 +15755,9 @@ export declare const ResolvedPluginContributionId: z.ZodObject<{
15451
15755
  resource: "resource";
15452
15756
  storage: "storage";
15453
15757
  uriModule: "uriModule";
15758
+ app: "app";
15454
15759
  authService: "authService";
15455
15760
  command: "command";
15456
- app: "app";
15457
15761
  skill: "skill";
15458
15762
  converter: "converter";
15459
15763
  artifactUriModule: "artifactUriModule";
@@ -17144,6 +17448,9 @@ export declare const ToolContribution: z.ZodObject<{
17144
17448
  resourcePrefix: z.ZodOptional<z.ZodString>;
17145
17449
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
17146
17450
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
17451
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
17452
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
17453
+ }, z.core.$strict>>;
17147
17454
  defaultPermission: z.ZodOptional<z.ZodEnum<{
17148
17455
  never: "never";
17149
17456
  allow: "allow";
@@ -17166,6 +17473,9 @@ export declare const ToolContribution: z.ZodObject<{
17166
17473
  ruleKey: z.ZodOptional<z.ZodString>;
17167
17474
  }, z.core.$strict>>>;
17168
17475
  }, z.core.$strict>>;
17476
+ availability: z.ZodOptional<z.ZodObject<{
17477
+ scope: z.ZodLiteral<"app">;
17478
+ }, z.core.$strict>>;
17169
17479
  localId: z.ZodString;
17170
17480
  toolName: z.ZodString;
17171
17481
  displayName: z.ZodOptional<z.ZodString>;
@@ -17189,6 +17499,9 @@ export declare const ToolPermission: z.ZodObject<{
17189
17499
  resourcePrefix: z.ZodOptional<z.ZodString>;
17190
17500
  resourceArgs: z.ZodOptional<z.ZodArray<z.ZodString>>;
17191
17501
  resourceTrim: z.ZodOptional<z.ZodLiteral<true>>;
17502
+ resourcePathNormalization: z.ZodOptional<z.ZodObject<{
17503
+ preserveUriSchemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
17504
+ }, z.core.$strict>>;
17192
17505
  defaultPermission: z.ZodOptional<z.ZodEnum<{
17193
17506
  never: "never";
17194
17507
  allow: "allow";
@@ -17304,6 +17617,7 @@ export declare const UiAppCapabilities: z.ZodObject<{
17304
17617
  "connect-flows.read": "connect-flows.read";
17305
17618
  "connect-flows.dismiss": "connect-flows.dismiss";
17306
17619
  "support.report": "support.report";
17620
+ "report-evidence.read": "report-evidence.read";
17307
17621
  "navigation.open-page": "navigation.open-page";
17308
17622
  "sessions.create": "sessions.create";
17309
17623
  "models.complete": "models.complete";
@@ -17368,6 +17682,7 @@ export declare const UiAppContribution: z.ZodObject<{
17368
17682
  "connect-flows.read": "connect-flows.read";
17369
17683
  "connect-flows.dismiss": "connect-flows.dismiss";
17370
17684
  "support.report": "support.report";
17685
+ "report-evidence.read": "report-evidence.read";
17371
17686
  "navigation.open-page": "navigation.open-page";
17372
17687
  "sessions.create": "sessions.create";
17373
17688
  "models.complete": "models.complete";
@@ -17422,6 +17737,7 @@ export declare const UiAppContribution: z.ZodObject<{
17422
17737
  "connect-flows.read": "connect-flows.read";
17423
17738
  "connect-flows.dismiss": "connect-flows.dismiss";
17424
17739
  "support.report": "support.report";
17740
+ "report-evidence.read": "report-evidence.read";
17425
17741
  "navigation.open-page": "navigation.open-page";
17426
17742
  "sessions.create": "sessions.create";
17427
17743
  "models.complete": "models.complete";
@@ -17576,6 +17892,7 @@ export declare type UiToastPreviewContribution = z.infer<typeof UiToastPreviewCo
17576
17892
  export declare const UriModuleContribution: z.ZodObject<{
17577
17893
  authService: z.ZodOptional<z.ZodString>;
17578
17894
  authScheme: z.ZodOptional<z.ZodString>;
17895
+ requiredScopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
17579
17896
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
17580
17897
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
17581
17898
  looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
@@ -17619,6 +17936,8 @@ export declare const UriModuleContribution: z.ZodObject<{
17619
17936
  search: z.ZodExactOptional<z.ZodString>;
17620
17937
  }, z.core.$strict>;
17621
17938
  normalizeTo: z.ZodExactOptional<z.ZodString>;
17939
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
17940
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
17622
17941
  route: z.ZodExactOptional<z.ZodString>;
17623
17942
  sourceUrl: z.ZodExactOptional<z.ZodString>;
17624
17943
  title: z.ZodExactOptional<z.ZodString>;
@@ -17815,6 +18134,8 @@ declare const UriModuleFacts: z.ZodObject<{
17815
18134
  search: z.ZodExactOptional<z.ZodString>;
17816
18135
  }, z.core.$strict>;
17817
18136
  normalizeTo: z.ZodExactOptional<z.ZodString>;
18137
+ preserveQuery: z.ZodExactOptional<z.ZodLiteral<true>>;
18138
+ preserveConnection: z.ZodExactOptional<z.ZodLiteral<true>>;
17818
18139
  route: z.ZodExactOptional<z.ZodString>;
17819
18140
  sourceUrl: z.ZodExactOptional<z.ZodString>;
17820
18141
  title: z.ZodExactOptional<z.ZodString>;
package/dist/index.js CHANGED
@@ -260,8 +260,10 @@ var JsonSchema = z4.record(z4.string(), JsonValue);
260
260
  var KAY_PLUGIN_MANIFEST_SIZE_CAP_BYTES = 1024 * 1024;
261
261
  var KAY_PLUGIN_PROTOCOL_VERSION = "kay.plugin.v1";
262
262
  var KAY_PLUGIN_PROTOCOL_PACKAGE_NAME = "@bonsai/plugin-protocol";
263
- var KAY_PLUGIN_SDK_VERSION = "0.55.0";
263
+ var KAY_PLUGIN_SDK_VERSION = "0.55.2";
264
264
  var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
265
+ "0.55.1",
266
+ "0.55.0",
265
267
  "0.54.2",
266
268
  "0.54.1",
267
269
  "0.54.0",
@@ -3592,6 +3594,9 @@ function createContributionsSchemas(canonical) {
3592
3594
  // Arguments whose string values name the resources a call touches.
3593
3595
  resourceArgs: z14.array(NonEmptyString3).min(1).optional(),
3594
3596
  resourceTrim: z14.literal(true).optional(),
3597
+ resourcePathNormalization: z14.strictObject({
3598
+ preserveUriSchemes: z14.array(UriScheme2).optional()
3599
+ }).optional(),
3595
3600
  defaultPermission: z14.enum(["allow", "ask", "never"]).optional(),
3596
3601
  /** First matching rule wins; every condition in its when list must hold. */
3597
3602
  classificationRules: z14.array(z14.strictObject({
@@ -3617,10 +3622,11 @@ function createContributionsSchemas(canonical) {
3617
3622
  executionMode: z14.enum(["sequential", "parallel"]).optional(),
3618
3623
  promptSnippet: NonEmptyString3.optional(),
3619
3624
  promptGuidelines: z14.array(NonEmptyString3).optional(),
3620
- permission: ToolPermission2.optional()
3625
+ permission: ToolPermission2.optional(),
3626
+ availability: z14.strictObject({ scope: z14.literal("app") }).optional()
3621
3627
  });
3622
3628
  const AgentToolContribution2 = z14.strictObject({
3623
- ...ToolContribution2.shape,
3629
+ ...ToolContribution2.omit({ availability: true }).shape,
3624
3630
  parameters: JsonSchema.optional(),
3625
3631
  executionMode: z14.enum(["sequential", "parallel"]).optional(),
3626
3632
  promptSnippet: NonEmptyString3.optional(),
@@ -3672,6 +3678,8 @@ function createContributionsSchemas(canonical) {
3672
3678
  kind: z14.literal("uriPattern"),
3673
3679
  pattern: UriPatternInit,
3674
3680
  normalizeTo: NonEmptyString3.exactOptional(),
3681
+ preserveQuery: z14.literal(true).exactOptional(),
3682
+ preserveConnection: z14.literal(true).exactOptional(),
3675
3683
  route: LocalContributionId2.exactOptional(),
3676
3684
  sourceUrl: NonEmptyString3.exactOptional(),
3677
3685
  title: NonEmptyString3.exactOptional(),
@@ -3822,6 +3830,8 @@ function createContributionsSchemas(canonical) {
3822
3830
  // only the manifest (a plugin that runs in the plugin host), and the host refuses a module
3823
3831
  // whose code names a different one.
3824
3832
  authScheme: AuthSchemeReference2.optional(),
3833
+ // A module's minimum scopes, independent of the plugin's credential ceiling.
3834
+ requiredScopes: z14.array(NonEmptyString3).optional(),
3825
3835
  // Opt this module's traffic into the daemon's known-resources ledger: the
3826
3836
  // HOST records the canonical URIs (plus title/summary/mime facts) that flow
3827
3837
  // through the module's successful read/list/search resolutions (a read only
@@ -3846,6 +3856,7 @@ function createContributionsSchemas(canonical) {
3846
3856
  authActions: true,
3847
3857
  authService: true,
3848
3858
  authScheme: true,
3859
+ requiredScopes: true,
3849
3860
  knownResources: true,
3850
3861
  describesOperations: true,
3851
3862
  looksUpWebLinks: true
@@ -4496,6 +4507,10 @@ function createContributionsSchemas(canonical) {
4496
4507
  "connect-flows.read",
4497
4508
  "connect-flows.dismiss",
4498
4509
  "support.report",
4510
+ // Reads what a problem report attaches beyond its words: the app's version and
4511
+ // channel, the recent warning and error tail, the running plugin ids, and a
4512
+ // capture of the window. The host gathers each; the page only reads the result.
4513
+ "report-evidence.read",
4499
4514
  "navigation.open-page",
4500
4515
  // Lets `navigation.openChat` create a blank chat (no message, no model
4501
4516
  // turn) when no session id is given. It never sends anything.
@@ -5011,6 +5026,7 @@ function createManifestSchemas(canonical) {
5011
5026
  // Optional, like `kay.ui`'s: a target may carry only declarative `contributes` (e.g. a plugin
5012
5027
  // that ships nothing but `mcpServers`) with no app-lifetime module for the host to load.
5013
5028
  entrypoint: TargetEntrypoint2.optional(),
5029
+ artifacts: z18.strictObject({ outputs: z18.literal(true) }).optional(),
5014
5030
  contributes: z18.strictObject({
5015
5031
  // Session tools implemented by the app-lifetime activation (registered once, injected into
5016
5032
  // every session with a host-stamped session context) - the tool counterpart of `uriModules`
@@ -6132,6 +6148,13 @@ function createManifestSchemas(canonical) {
6132
6148
  }
6133
6149
  }
6134
6150
  for (const module of manifest.targets?.kay?.agent?.contributes?.uriModules ?? []) {
6151
+ if (module.requiredScopes !== void 0 && (module.authService === void 0 || module.authActions !== void 0)) {
6152
+ ctx.addIssue({
6153
+ code: "custom",
6154
+ path: ["targets", "kay", "agent", "contributes", "uriModules"],
6155
+ message: `uri module ${module.localId} declares requiredScopes without an authService or alongside authActions`
6156
+ });
6157
+ }
6135
6158
  if (module.authService && !isQualifiedAuthServiceRef(module.authService) && !authServices.has(module.authService)) {
6136
6159
  ctx.addIssue({
6137
6160
  code: "custom",
@@ -6734,7 +6757,11 @@ function createResolvedContractSchemas(canonical) {
6734
6757
  }).optional(),
6735
6758
  permission: canonical ? canonicalContributionSchemas.ToolPermission.optional() : ToolPermission.optional()
6736
6759
  });
6737
- const ResolvedKayAppTool2 = ResolvedKayAgentTool2.omit({ requiresAuth: true });
6760
+ const ResolvedKayAppTool2 = ResolvedKayAgentTool2.omit({
6761
+ requiresAuth: true
6762
+ }).extend({
6763
+ availability: z19.strictObject({ scope: z19.literal("app") }).optional()
6764
+ });
6738
6765
  const ResolvedKayAppDataSource2 = z19.strictObject({
6739
6766
  localId: LocalContributionId2,
6740
6767
  globalId: GlobalContributionId2,
@@ -6840,6 +6867,7 @@ function createResolvedContractSchemas(canonical) {
6840
6867
  authServiceId: GlobalContributionId2.optional(),
6841
6868
  /** Mirrors `UriModuleContribution.authScheme`; a local ref takes the plugin's namespace. */
6842
6869
  authSchemeId: GlobalContributionId2.optional(),
6870
+ requiredScopes: z19.array(NonEmptyString3).optional(),
6843
6871
  /** Mirrors `UriModuleContribution.knownResources` (host-side recording opt-in). */
6844
6872
  knownResources: z19.literal(true).optional(),
6845
6873
  /** Mirrors `UriModuleContribution.describesOperations`. */
@@ -7088,6 +7116,8 @@ function createResolvedContractSchemas(canonical) {
7088
7116
  kayAgentEntityResolvers: z19.array(ResolvedKayAgentEntityResolver2).optional(),
7089
7117
  kayAgentGitHostClaims: z19.array(ResolvedKayAgentGitHostClaim2).optional(),
7090
7118
  kayAgentTools: z19.array(ResolvedKayAgentTool2).optional(),
7119
+ kayAppArtifacts: z19.strictObject({ outputs: z19.literal(true) }).optional(),
7120
+ kayAppUriModules: z19.array(ResolvedKayAgentUriModule2).optional(),
7091
7121
  kayAppTools: z19.array(ResolvedKayAppTool2).optional(),
7092
7122
  kayAppApprovalTypes: z19.array(ResolvedKayAppApprovalType2).optional(),
7093
7123
  kayAppWorkflows: z19.array(ResolvedKayAppWorkflow2).optional(),
@@ -7558,11 +7588,19 @@ function resolveKayPluginContractV1(manifest) {
7558
7588
  ...module.authScheme === void 0 ? {} : {
7559
7589
  authSchemeId: isQualifiedAuthSchemeRef(module.authScheme) ? module.authScheme : resolveGlobalContributionId(namespace, module.authScheme)
7560
7590
  },
7591
+ ...module.requiredScopes === void 0 ? {} : { requiredScopes: [...module.requiredScopes] },
7561
7592
  ...module.knownResources === void 0 ? {} : { knownResources: module.knownResources },
7562
7593
  ...module.describesOperations === void 0 ? {} : { describesOperations: module.describesOperations },
7563
7594
  ...module.looksUpWebLinks === void 0 ? {} : { looksUpWebLinks: module.looksUpWebLinks },
7564
7595
  ...uriModuleFacts(module)
7565
7596
  }));
7597
+ const kayAppUriModules = manifest.targets?.kay?.app?.contributes?.uriModules?.map((module) => ({
7598
+ localId: module.localId,
7599
+ globalId: resolveGlobalContributionId(namespace, module.localId),
7600
+ schemes: [...module.schemes],
7601
+ ...module.displayName === void 0 ? {} : { displayName: module.displayName },
7602
+ ...uriModuleFacts(module)
7603
+ }));
7566
7604
  const kayAgentArtifactUriModules = manifest.targets?.kay?.agent?.contributes?.artifactUriModules?.map((module) => ({
7567
7605
  localId: module.localId,
7568
7606
  globalId: resolveGlobalContributionId(namespace, module.localId),
@@ -7679,6 +7717,8 @@ function resolveKayPluginContractV1(manifest) {
7679
7717
  ...kayAgentEntityResolvers && kayAgentEntityResolvers.length > 0 ? { kayAgentEntityResolvers } : {},
7680
7718
  ...kayAgentGitHostClaims.length > 0 ? { kayAgentGitHostClaims } : {},
7681
7719
  ...kayAgentTools && kayAgentTools.length > 0 ? { kayAgentTools } : {},
7720
+ ...manifest.targets?.kay?.app?.artifacts === void 0 ? {} : { kayAppArtifacts: manifest.targets.kay.app.artifacts },
7721
+ ...kayAppUriModules && kayAppUriModules.length > 0 ? { kayAppUriModules } : {},
7682
7722
  ...kayAppTools && kayAppTools.length > 0 ? { kayAppTools } : {},
7683
7723
  ...kayAppCards && kayAppCards.length > 0 ? { kayAppCards } : {},
7684
7724
  ...kayAppApprovalTypes && kayAppApprovalTypes.length > 0 ? { kayAppApprovalTypes } : {},
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.55.0",
3
+ "version": "0.55.2",
4
4
  "description": "The Kay plugin manifest schema (`kay.plugin.v1`) — parse and validate a kay-plugin.json.",
5
5
  "author": "YakLabs",
6
6
  "type": "module",