@yaklabs-ai/plugin-protocol 0.44.0 → 0.46.0

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/dist/index.d.ts CHANGED
@@ -1642,6 +1642,8 @@ declare namespace authoringCommonSchemas {
1642
1642
 
1643
1643
  declare namespace authoringContributionSchemas {
1644
1644
  export {
1645
+ isUiAppSourceModule,
1646
+ uiAppSourceStylePath,
1645
1647
  MCP_SIGN_IN_SCHEME_KIND,
1646
1648
  PLUGIN_NOTIFICATION_RULE_HOST_KEYS,
1647
1649
  ApprovalCardForm,
@@ -1669,6 +1671,7 @@ declare namespace authoringContributionSchemas {
1669
1671
  EntityResolverContribution,
1670
1672
  AgentRenderContribution,
1671
1673
  EndpointContribution,
1674
+ PluginCardContribution,
1672
1675
  WorkflowContribution,
1673
1676
  McpServerUrl,
1674
1677
  McpServerAuthMode,
@@ -1693,6 +1696,7 @@ declare namespace authoringContributionSchemas {
1693
1696
  ReferencePresentationUrlClaim,
1694
1697
  ReferencePresentationTooltip,
1695
1698
  ReferencePresentationAddress,
1699
+ ReferencePresentationAccountLinks,
1696
1700
  ReferencePresentationWords,
1697
1701
  ReferencePresentationContribution,
1698
1702
  RichViewContribution,
@@ -1706,7 +1710,8 @@ declare namespace authoringContributionSchemas {
1706
1710
  CommandHandler,
1707
1711
  CommandContribution,
1708
1712
  PluginContributionKind,
1709
- canonicalContributionSchemas
1713
+ canonicalContributionSchemas,
1714
+ PluginCardResult
1710
1715
  }
1711
1716
  }
1712
1717
 
@@ -2093,6 +2098,7 @@ declare const canonicalContributionSchemas: {
2093
2098
  authScheme: z.ZodOptional<z.ZodString>;
2094
2099
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
2095
2100
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
2101
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
2096
2102
  claims: z.ZodExactOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2097
2103
  kind: z.ZodLiteral<"scheme">;
2098
2104
  scheme: z.ZodString;
@@ -2541,6 +2547,14 @@ declare const canonicalContributionSchemas: {
2541
2547
  }, z.core.$strict>>;
2542
2548
  timeoutMs: z.ZodOptional<z.ZodNumber>;
2543
2549
  }, z.core.$strict>;
2550
+ PluginCardContribution: z.ZodObject<{
2551
+ localId: z.ZodString;
2552
+ description: z.ZodString;
2553
+ inputs: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
2554
+ readEndpoint: z.ZodString;
2555
+ submitEndpoint: z.ZodString;
2556
+ authService: z.ZodOptional<z.ZodString>;
2557
+ }, z.core.$strict>;
2544
2558
  WorkflowContribution: z.ZodObject<{
2545
2559
  localId: z.ZodString;
2546
2560
  name: z.ZodString;
@@ -2598,7 +2612,7 @@ declare const canonicalContributionSchemas: {
2598
2612
  PluginNotificationRuleContribution: z.ZodObject<{
2599
2613
  localId: z.ZodString;
2600
2614
  event: z.ZodString;
2601
- where: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>>;
2615
+ where: z.ZodOptional<z.ZodString>;
2602
2616
  rule: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
2603
2617
  }, z.core.$strict>;
2604
2618
  PluginProductEventContribution: z.ZodUnion<readonly [z.ZodObject<{
@@ -2665,6 +2679,9 @@ declare const canonicalContributionSchemas: {
2665
2679
  }, z.core.$strict>, z.ZodObject<{
2666
2680
  kind: z.ZodLiteral<"page">;
2667
2681
  pageId: z.ZodString;
2682
+ }, z.core.$strict>, z.ZodObject<{
2683
+ kind: z.ZodLiteral<"local-app">;
2684
+ schemes: z.ZodArray<z.ZodString>;
2668
2685
  }, z.core.$strict>], "kind">;
2669
2686
  ReferencePresentationVariant: z.ZodObject<{
2670
2687
  resourceKind: z.ZodString;
@@ -2714,6 +2731,28 @@ declare const canonicalContributionSchemas: {
2714
2731
  kind: z.ZodLiteral<"none">;
2715
2732
  }, z.core.$strict>>;
2716
2733
  }, z.core.$strict>;
2734
+ ReferencePresentationAccountLinks: z.ZodObject<{
2735
+ label: z.ZodOptional<z.ZodEnum<{
2736
+ email: "email";
2737
+ name: "name";
2738
+ }>>;
2739
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
2740
+ hostname: z.ZodString;
2741
+ pathname: z.ZodOptional<z.ZodString>;
2742
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
2743
+ setPathname: z.ZodOptional<z.ZodString>;
2744
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
2745
+ }, z.core.$strict>>>;
2746
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
2747
+ pattern: z.ZodObject<{
2748
+ protocol: z.ZodString;
2749
+ hostname: z.ZodString;
2750
+ pathname: z.ZodOptional<z.ZodString>;
2751
+ search: z.ZodOptional<z.ZodString>;
2752
+ }, z.core.$strict>;
2753
+ url: z.ZodString;
2754
+ }, z.core.$strict>>>;
2755
+ }, z.core.$strict>;
2717
2756
  ReferencePresentationWords: z.ZodObject<{
2718
2757
  glyph: z.ZodOptional<z.ZodEnum<{
2719
2758
  file: "file";
@@ -2778,6 +2817,9 @@ declare const canonicalContributionSchemas: {
2778
2817
  }, z.core.$strict>, z.ZodObject<{
2779
2818
  kind: z.ZodLiteral<"page">;
2780
2819
  pageId: z.ZodString;
2820
+ }, z.core.$strict>, z.ZodObject<{
2821
+ kind: z.ZodLiteral<"local-app">;
2822
+ schemes: z.ZodArray<z.ZodString>;
2781
2823
  }, z.core.$strict>], "kind">>;
2782
2824
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2783
2825
  resourceKind: z.ZodString;
@@ -2845,6 +2887,28 @@ declare const canonicalContributionSchemas: {
2845
2887
  target: z.ZodOptional<z.ZodString>;
2846
2888
  kindNamesSource: z.ZodOptional<z.ZodLiteral<true>>;
2847
2889
  }, z.core.$strict>>;
2890
+ accountLinks: z.ZodOptional<z.ZodObject<{
2891
+ label: z.ZodOptional<z.ZodEnum<{
2892
+ email: "email";
2893
+ name: "name";
2894
+ }>>;
2895
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
2896
+ hostname: z.ZodString;
2897
+ pathname: z.ZodOptional<z.ZodString>;
2898
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
2899
+ setPathname: z.ZodOptional<z.ZodString>;
2900
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
2901
+ }, z.core.$strict>>>;
2902
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
2903
+ pattern: z.ZodObject<{
2904
+ protocol: z.ZodString;
2905
+ hostname: z.ZodString;
2906
+ pathname: z.ZodOptional<z.ZodString>;
2907
+ search: z.ZodOptional<z.ZodString>;
2908
+ }, z.core.$strict>;
2909
+ url: z.ZodString;
2910
+ }, z.core.$strict>>>;
2911
+ }, z.core.$strict>>;
2848
2912
  }, z.core.$strict>;
2849
2913
  RichViewContribution: z.ZodObject<{
2850
2914
  localId: z.ZodString;
@@ -3048,6 +3112,7 @@ declare const canonicalContributionSchemas: {
3048
3112
  interactionDriver: "interactionDriver";
3049
3113
  entityResolver: "entityResolver";
3050
3114
  agentRenderer: "agentRenderer";
3115
+ pluginCard: "pluginCard";
3051
3116
  eventDefinition: "eventDefinition";
3052
3117
  eventSubscription: "eventSubscription";
3053
3118
  appDataSource: "appDataSource";
@@ -3342,6 +3407,11 @@ export declare interface DeclaredKayPluginCompatibility {
3342
3407
  readonly sdk?: string | undefined;
3343
3408
  }
3344
3409
 
3410
+ /** The address schemes whose items an app on this machine opens, rather than a page on the web. */
3411
+ export declare function declaredLocalAppSchemes<TPlugin extends {
3412
+ readonly contributes: Readonly<Record<string, unknown>>;
3413
+ }>(plugins: readonly TPlugin[]): ReadonlySet<string>;
3414
+
3345
3415
  /**
3346
3416
  * Every plugin's reference presentations. The daemon delivers this one kind from the resolved
3347
3417
  * contract rather than the manifest, so its rows carry `schemes`.
@@ -3467,6 +3537,12 @@ export declare const EventGrantRequest: z.ZodObject<{
3467
3537
 
3468
3538
  export declare type EventGrantRequest = z.infer<typeof EventGrantRequest>;
3469
3539
 
3540
+ /**
3541
+ * {@link whereProblem}, for a `where` a plugin event is matched against: every key must also be a
3542
+ * safe path, at most 10 identifier segments and 256 bytes.
3543
+ */
3544
+ export declare function eventWhereProblem(value: unknown): string | undefined;
3545
+
3470
3546
  export declare const FileExtensionToken: z.ZodString;
3471
3547
 
3472
3548
  export declare type FileExtensionToken = z.infer<typeof FileExtensionToken>;
@@ -3488,6 +3564,9 @@ export declare function finalizeArtifactProvenanceEnvelope(capture: ArtifactProv
3488
3564
 
3489
3565
  export declare function findSkillSuggestionCitations(text: string, options?: SkillSuggestionEvidenceOptions): readonly SkillSuggestionCitation[];
3490
3566
 
3567
+ /** One literal as an expression writes it: single-quoted strings, JSON-form numbers. */
3568
+ export declare function formatWhereLiteral(value: WhereLiteral): string;
3569
+
3491
3570
  export declare const GitBasicAuthUser: z.ZodString;
3492
3571
 
3493
3572
  export declare type GitBasicAuthUser = z.infer<typeof GitBasicAuthUser>;
@@ -3559,6 +3638,11 @@ export declare function isCompatible(report: KayPluginCompatibilityReport): bool
3559
3638
  */
3560
3639
  export declare function isCredentialShapedText(value: unknown): boolean;
3561
3640
 
3641
+ /** Whether `url` uses a link scheme a loaded plugin declared for an app on this machine. */
3642
+ export declare function isDeclaredLocalAppLink<TPlugin extends {
3643
+ readonly contributes: Readonly<Record<string, unknown>>;
3644
+ }>(url: string, plugins: readonly TPlugin[]): boolean;
3645
+
3562
3646
  /**
3563
3647
  * Whether a refusal `code` came from the compatibility check: the plugin was written for another
3564
3648
  * SDK or protocol, as opposed to being malformed.
@@ -3590,6 +3674,12 @@ export declare function isQualifiedAuthServiceRef(ref: string): boolean;
3590
3674
  /** Whether a range is one {@link satisfiesSemverRange} can answer for at all. */
3591
3675
  export declare function isSupportedSemverRange(range: string): boolean;
3592
3676
 
3677
+ /**
3678
+ * An app entry naming source rather than built JavaScript. Bonsai compiles it when it loads the
3679
+ * plugin, so a plugin in `~/.kay/plugins` needs no build tool for a page.
3680
+ */
3681
+ export declare function isUiAppSourceModule(module: string): boolean;
3682
+
3593
3683
  export declare const JsonObject: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
3594
3684
 
3595
3685
  export declare type JsonObject = z.infer<typeof JsonObject>;
@@ -4315,8 +4405,20 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
4315
4405
  *
4316
4406
  * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
4317
4407
  * and the kind each one names. Additive: a plugin that lists them declares ^0.44.0.
4408
+ *
4409
+ * 0.45.0 adds declared plugin cards and app.implementCard for their read/submit endpoints. It also
4410
+ * lets a plugin declare what the window hardcoded about it (#15906). A reference presentation gains
4411
+ * `accountLinks`, how a page opens under the account an address means, and a `local-app` open, for
4412
+ * an item an app on this machine shows; a plugin the person installed can't declare that open. A
4413
+ * `webSession` gains `signInFirst`. A URI module defines `lookupWebLink` and sets `looksUpWebLinks`
4414
+ * to find a page when someone opens the address, and a preview field marks which `part` of a message
4415
+ * it is. A claim's `brandIcon` is a file path and no longer inline markup, which only this repo's
4416
+ * Microsoft plugin used. Otherwise additive: a plugin using any of these declares ^0.45.0.
4417
+ *
4418
+ * 0.46.0 adds `@bonsai/plugin-sdk/artifact-provenance`, so a plugin shipped as files can finalize
4419
+ * and read the provenance the host captured. Additive: a plugin that imports it declares ^0.46.0.
4318
4420
  */
4319
- export declare const KAY_PLUGIN_SDK_VERSION: "0.44.0";
4421
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.46.0";
4320
4422
 
4321
4423
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
4322
4424
 
@@ -4379,6 +4481,7 @@ export declare const KayAgentTargetManifest: z.ZodObject<{
4379
4481
  authScheme: z.ZodOptional<z.ZodString>;
4380
4482
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
4381
4483
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
4484
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
4382
4485
  claims: z.ZodExactOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
4383
4486
  kind: z.ZodLiteral<"scheme">;
4384
4487
  scheme: z.ZodString;
@@ -4671,6 +4774,14 @@ export declare const KayAppTargetManifest: z.ZodObject<{
4671
4774
  }, z.core.$strict>>;
4672
4775
  timeoutMs: z.ZodOptional<z.ZodNumber>;
4673
4776
  }, z.core.$strict>>>;
4777
+ cards: z.ZodOptional<z.ZodArray<z.ZodObject<{
4778
+ localId: z.ZodString;
4779
+ description: z.ZodString;
4780
+ inputs: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
4781
+ readEndpoint: z.ZodString;
4782
+ submitEndpoint: z.ZodString;
4783
+ authService: z.ZodOptional<z.ZodString>;
4784
+ }, z.core.$strict>>>;
4674
4785
  uriModules: z.ZodOptional<z.ZodArray<z.ZodObject<{
4675
4786
  description: z.ZodExactOptional<z.ZodString>;
4676
4787
  localId: z.ZodString;
@@ -4952,7 +5063,7 @@ export declare const KayAppTargetManifest: z.ZodObject<{
4952
5063
  notificationRules: z.ZodOptional<z.ZodArray<z.ZodObject<{
4953
5064
  localId: z.ZodString;
4954
5065
  event: z.ZodString;
4955
- where: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>>;
5066
+ where: z.ZodOptional<z.ZodString>;
4956
5067
  rule: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
4957
5068
  }, z.core.$strict>>>;
4958
5069
  productEvents: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
@@ -5175,6 +5286,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5175
5286
  authScheme: z.ZodOptional<z.ZodString>;
5176
5287
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
5177
5288
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
5289
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
5178
5290
  claims: z.ZodExactOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
5179
5291
  kind: z.ZodLiteral<"scheme">;
5180
5292
  scheme: z.ZodString;
@@ -5464,6 +5576,14 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5464
5576
  }, z.core.$strict>>;
5465
5577
  timeoutMs: z.ZodOptional<z.ZodNumber>;
5466
5578
  }, z.core.$strict>>>;
5579
+ cards: z.ZodOptional<z.ZodArray<z.ZodObject<{
5580
+ localId: z.ZodString;
5581
+ description: z.ZodString;
5582
+ inputs: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
5583
+ readEndpoint: z.ZodString;
5584
+ submitEndpoint: z.ZodString;
5585
+ authService: z.ZodOptional<z.ZodString>;
5586
+ }, z.core.$strict>>>;
5467
5587
  uriModules: z.ZodOptional<z.ZodArray<z.ZodObject<{
5468
5588
  description: z.ZodExactOptional<z.ZodString>;
5469
5589
  localId: z.ZodString;
@@ -5745,7 +5865,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5745
5865
  notificationRules: z.ZodOptional<z.ZodArray<z.ZodObject<{
5746
5866
  localId: z.ZodString;
5747
5867
  event: z.ZodString;
5748
- where: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>>;
5868
+ where: z.ZodOptional<z.ZodString>;
5749
5869
  rule: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
5750
5870
  }, z.core.$strict>>>;
5751
5871
  productEvents: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
@@ -5870,6 +5990,9 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5870
5990
  }, z.core.$strict>, z.ZodObject<{
5871
5991
  kind: z.ZodLiteral<"page">;
5872
5992
  pageId: z.ZodString;
5993
+ }, z.core.$strict>, z.ZodObject<{
5994
+ kind: z.ZodLiteral<"local-app">;
5995
+ schemes: z.ZodArray<z.ZodString>;
5873
5996
  }, z.core.$strict>], "kind">>;
5874
5997
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
5875
5998
  resourceKind: z.ZodString;
@@ -5937,6 +6060,28 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5937
6060
  target: z.ZodOptional<z.ZodString>;
5938
6061
  kindNamesSource: z.ZodOptional<z.ZodLiteral<true>>;
5939
6062
  }, z.core.$strict>>;
6063
+ accountLinks: z.ZodOptional<z.ZodObject<{
6064
+ label: z.ZodOptional<z.ZodEnum<{
6065
+ email: "email";
6066
+ name: "name";
6067
+ }>>;
6068
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
6069
+ hostname: z.ZodString;
6070
+ pathname: z.ZodOptional<z.ZodString>;
6071
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
6072
+ setPathname: z.ZodOptional<z.ZodString>;
6073
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
6074
+ }, z.core.$strict>>>;
6075
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
6076
+ pattern: z.ZodObject<{
6077
+ protocol: z.ZodString;
6078
+ hostname: z.ZodString;
6079
+ pathname: z.ZodOptional<z.ZodString>;
6080
+ search: z.ZodOptional<z.ZodString>;
6081
+ }, z.core.$strict>;
6082
+ url: z.ZodString;
6083
+ }, z.core.$strict>>>;
6084
+ }, z.core.$strict>>;
5940
6085
  }, z.core.$strict>>>;
5941
6086
  views: z.ZodOptional<z.ZodArray<z.ZodObject<{
5942
6087
  localId: z.ZodString;
@@ -6245,6 +6390,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6245
6390
  external: "external";
6246
6391
  embedded: "embedded";
6247
6392
  }>;
6393
+ signInFirst: z.ZodOptional<z.ZodString>;
6248
6394
  }, z.core.$strict>>;
6249
6395
  }, z.core.$strict>>>;
6250
6396
  }, z.core.$strict>>;
@@ -7036,6 +7182,9 @@ export declare const KayUiTargetManifest: z.ZodObject<{
7036
7182
  }, z.core.$strict>, z.ZodObject<{
7037
7183
  kind: z.ZodLiteral<"page">;
7038
7184
  pageId: z.ZodString;
7185
+ }, z.core.$strict>, z.ZodObject<{
7186
+ kind: z.ZodLiteral<"local-app">;
7187
+ schemes: z.ZodArray<z.ZodString>;
7039
7188
  }, z.core.$strict>], "kind">>;
7040
7189
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
7041
7190
  resourceKind: z.ZodString;
@@ -7103,6 +7252,28 @@ export declare const KayUiTargetManifest: z.ZodObject<{
7103
7252
  target: z.ZodOptional<z.ZodString>;
7104
7253
  kindNamesSource: z.ZodOptional<z.ZodLiteral<true>>;
7105
7254
  }, z.core.$strict>>;
7255
+ accountLinks: z.ZodOptional<z.ZodObject<{
7256
+ label: z.ZodOptional<z.ZodEnum<{
7257
+ email: "email";
7258
+ name: "name";
7259
+ }>>;
7260
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
7261
+ hostname: z.ZodString;
7262
+ pathname: z.ZodOptional<z.ZodString>;
7263
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
7264
+ setPathname: z.ZodOptional<z.ZodString>;
7265
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
7266
+ }, z.core.$strict>>>;
7267
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
7268
+ pattern: z.ZodObject<{
7269
+ protocol: z.ZodString;
7270
+ hostname: z.ZodString;
7271
+ pathname: z.ZodOptional<z.ZodString>;
7272
+ search: z.ZodOptional<z.ZodString>;
7273
+ }, z.core.$strict>;
7274
+ url: z.ZodString;
7275
+ }, z.core.$strict>>>;
7276
+ }, z.core.$strict>>;
7106
7277
  }, z.core.$strict>>>;
7107
7278
  views: z.ZodOptional<z.ZodArray<z.ZodObject<{
7108
7279
  localId: z.ZodString;
@@ -7414,9 +7585,12 @@ export declare function parseResolvedPluginContractV1(value: unknown): ResolvedP
7414
7585
  export declare function parseSemver(value: string): ParsedSemver | undefined;
7415
7586
 
7416
7587
  /**
7417
- * Parses a `where` expression: `||`, `&&`, `!`, parentheses, `==`, `!=`, strings, `true`, `false`
7418
- * and dotted keys, for example `markedForRetirement || proposedRewrite.stale == false`. A bare key
7419
- * means "is set". With `keyTypes`, only those keys parse, and each is checked against its type.
7588
+ * Parses a `where` expression: `||`, `&&`, `!`, parentheses, `==`, `!=`, `contains`, strings,
7589
+ * numbers, `true`, `false` and dotted keys, for example
7590
+ * `markedForRetirement || proposedRewrite.stale == false`. A bare key means "is set". `==` and `!=`
7591
+ * compare a whole value, so a list never equals a scalar; `labels contains 'urgent'` looks inside a
7592
+ * list. With `keyTypes`, only those keys parse, each is checked against its type, and `contains` is
7593
+ * refused, because those keys are scalars.
7420
7594
  */
7421
7595
  export declare function parseWhere(source: string, keyTypes?: WhereKeyTypes): WhereParseResult;
7422
7596
 
@@ -7635,6 +7809,7 @@ export declare const PluginAuthManifest: z.ZodObject<{
7635
7809
  external: "external";
7636
7810
  embedded: "embedded";
7637
7811
  }>;
7812
+ signInFirst: z.ZodOptional<z.ZodString>;
7638
7813
  }, z.core.$strict>>;
7639
7814
  }, z.core.$strict>>>;
7640
7815
  }, z.core.$strict>;
@@ -7926,6 +8101,7 @@ export declare const PluginAuthService: z.ZodObject<{
7926
8101
  external: "external";
7927
8102
  embedded: "embedded";
7928
8103
  }>;
8104
+ signInFirst: z.ZodOptional<z.ZodString>;
7929
8105
  }, z.core.$strict>>;
7930
8106
  }, z.core.$strict>;
7931
8107
 
@@ -9715,6 +9891,26 @@ export declare type PluginCapabilityRefusalV1 = z.infer<typeof PluginCapabilityR
9715
9891
 
9716
9892
  export declare type PluginCapabilitySlug = (typeof PLUGIN_CAPABILITY_SLUGS)[number];
9717
9893
 
9894
+ export declare const PluginCardContribution: z.ZodObject<{
9895
+ localId: z.ZodString;
9896
+ description: z.ZodString;
9897
+ inputs: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
9898
+ readEndpoint: z.ZodString;
9899
+ submitEndpoint: z.ZodString;
9900
+ authService: z.ZodOptional<z.ZodString>;
9901
+ }, z.core.$strict>;
9902
+
9903
+ export declare type PluginCardContribution = z.infer<typeof PluginCardContribution>;
9904
+
9905
+ export declare type PluginCardResult<T> = {
9906
+ readonly ok: true;
9907
+ readonly data: T;
9908
+ } | {
9909
+ readonly ok: false;
9910
+ readonly reason: "needs-auth" | "failed";
9911
+ readonly message: string;
9912
+ };
9913
+
9718
9914
  export declare const PluginCompatibilityManifest: z.ZodObject<{
9719
9915
  supportedProtocols: z.ZodOptional<z.ZodArray<z.ZodLiteral<"kay.plugin.v1">>>;
9720
9916
  minKayVersion: z.ZodOptional<z.ZodString>;
@@ -9779,6 +9975,7 @@ export declare const PluginContributionKind: z.ZodEnum<{
9779
9975
  interactionDriver: "interactionDriver";
9780
9976
  entityResolver: "entityResolver";
9781
9977
  agentRenderer: "agentRenderer";
9978
+ pluginCard: "pluginCard";
9782
9979
  eventDefinition: "eventDefinition";
9783
9980
  eventSubscription: "eventSubscription";
9784
9981
  appDataSource: "appDataSource";
@@ -10003,7 +10200,7 @@ export declare type PluginNamespace = z.infer<typeof PluginNamespace>;
10003
10200
  export declare const PluginNotificationRuleContribution: z.ZodObject<{
10004
10201
  localId: z.ZodString;
10005
10202
  event: z.ZodString;
10006
- where: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>>;
10203
+ where: z.ZodOptional<z.ZodString>;
10007
10204
  rule: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
10008
10205
  }, z.core.$strict>;
10009
10206
 
@@ -10830,6 +11027,7 @@ export declare const PluginWebSessionDeclaration: z.ZodObject<{
10830
11027
  external: "external";
10831
11028
  embedded: "embedded";
10832
11029
  }>;
11030
+ signInFirst: z.ZodOptional<z.ZodString>;
10833
11031
  }, z.core.$strict>;
10834
11032
 
10835
11033
  export declare type PluginWebSessionDeclaration = z.infer<typeof PluginWebSessionDeclaration>;
@@ -10880,10 +11078,38 @@ export declare const ReferenceOpenBehavior: z.ZodDiscriminatedUnion<[z.ZodObject
10880
11078
  }, z.core.$strict>, z.ZodObject<{
10881
11079
  kind: z.ZodLiteral<"page">;
10882
11080
  pageId: z.ZodString;
11081
+ }, z.core.$strict>, z.ZodObject<{
11082
+ kind: z.ZodLiteral<"local-app">;
11083
+ schemes: z.ZodArray<z.ZodString>;
10883
11084
  }, z.core.$strict>], "kind">;
10884
11085
 
10885
11086
  export declare type ReferenceOpenBehavior = z.infer<typeof ReferenceOpenBehavior>;
10886
11087
 
11088
+ export declare const ReferencePresentationAccountLinks: z.ZodObject<{
11089
+ label: z.ZodOptional<z.ZodEnum<{
11090
+ email: "email";
11091
+ name: "name";
11092
+ }>>;
11093
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
11094
+ hostname: z.ZodString;
11095
+ pathname: z.ZodOptional<z.ZodString>;
11096
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
11097
+ setPathname: z.ZodOptional<z.ZodString>;
11098
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
11099
+ }, z.core.$strict>>>;
11100
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
11101
+ pattern: z.ZodObject<{
11102
+ protocol: z.ZodString;
11103
+ hostname: z.ZodString;
11104
+ pathname: z.ZodOptional<z.ZodString>;
11105
+ search: z.ZodOptional<z.ZodString>;
11106
+ }, z.core.$strict>;
11107
+ url: z.ZodString;
11108
+ }, z.core.$strict>>>;
11109
+ }, z.core.$strict>;
11110
+
11111
+ export declare type ReferencePresentationAccountLinks = z.infer<typeof ReferencePresentationAccountLinks>;
11112
+
10887
11113
  export declare const ReferencePresentationAddress: z.ZodObject<{
10888
11114
  pattern: z.ZodObject<{
10889
11115
  protocol: z.ZodString;
@@ -10923,6 +11149,9 @@ export declare const ReferencePresentationContribution: z.ZodObject<{
10923
11149
  }, z.core.$strict>, z.ZodObject<{
10924
11150
  kind: z.ZodLiteral<"page">;
10925
11151
  pageId: z.ZodString;
11152
+ }, z.core.$strict>, z.ZodObject<{
11153
+ kind: z.ZodLiteral<"local-app">;
11154
+ schemes: z.ZodArray<z.ZodString>;
10926
11155
  }, z.core.$strict>], "kind">>;
10927
11156
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
10928
11157
  resourceKind: z.ZodString;
@@ -10990,6 +11219,28 @@ export declare const ReferencePresentationContribution: z.ZodObject<{
10990
11219
  target: z.ZodOptional<z.ZodString>;
10991
11220
  kindNamesSource: z.ZodOptional<z.ZodLiteral<true>>;
10992
11221
  }, z.core.$strict>>;
11222
+ accountLinks: z.ZodOptional<z.ZodObject<{
11223
+ label: z.ZodOptional<z.ZodEnum<{
11224
+ email: "email";
11225
+ name: "name";
11226
+ }>>;
11227
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
11228
+ hostname: z.ZodString;
11229
+ pathname: z.ZodOptional<z.ZodString>;
11230
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
11231
+ setPathname: z.ZodOptional<z.ZodString>;
11232
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
11233
+ }, z.core.$strict>>>;
11234
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
11235
+ pattern: z.ZodObject<{
11236
+ protocol: z.ZodString;
11237
+ hostname: z.ZodString;
11238
+ pathname: z.ZodOptional<z.ZodString>;
11239
+ search: z.ZodOptional<z.ZodString>;
11240
+ }, z.core.$strict>;
11241
+ url: z.ZodString;
11242
+ }, z.core.$strict>>>;
11243
+ }, z.core.$strict>>;
10993
11244
  }, z.core.$strict>;
10994
11245
 
10995
11246
  export declare type ReferencePresentationContribution = z.infer<typeof ReferencePresentationContribution>;
@@ -11105,6 +11356,7 @@ export declare function refineWebSessionScopeConfined(webSession: {
11105
11356
  readonly probe: {
11106
11357
  readonly url: string;
11107
11358
  };
11359
+ readonly signInFirst?: string | undefined;
11108
11360
  }, ctx: z.RefinementCtx): void;
11109
11361
 
11110
11362
  export declare const RegistrableDomain: z.ZodString;
@@ -11460,6 +11712,7 @@ export declare const ResolvedKayAgentUriModule: z.ZodObject<{
11460
11712
  authSchemeId: z.ZodOptional<z.ZodString>;
11461
11713
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
11462
11714
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
11715
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
11463
11716
  }, z.core.$strict>;
11464
11717
 
11465
11718
  export declare type ResolvedKayAgentUriModule = z.infer<typeof ResolvedKayAgentUriModule>;
@@ -11997,11 +12250,31 @@ export declare const ResolvedPluginAuthService: z.ZodObject<{
11997
12250
  external: "external";
11998
12251
  embedded: "embedded";
11999
12252
  }>;
12253
+ signInFirst: z.ZodOptional<z.ZodString>;
12000
12254
  }, z.core.$strict>>;
12001
12255
  }, z.core.$strict>;
12002
12256
 
12003
12257
  export declare type ResolvedPluginAuthService = z.infer<typeof ResolvedPluginAuthService>;
12004
12258
 
12259
+ export declare const ResolvedPluginCard: z.ZodObject<{
12260
+ localId: z.ZodString;
12261
+ globalId: z.ZodString;
12262
+ pluginId: z.ZodString;
12263
+ description: z.ZodString;
12264
+ inputs: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
12265
+ readEndpoint: z.ZodObject<{
12266
+ localId: z.ZodString;
12267
+ globalId: z.ZodString;
12268
+ }, z.core.$strict>;
12269
+ submitEndpoint: z.ZodObject<{
12270
+ localId: z.ZodString;
12271
+ globalId: z.ZodString;
12272
+ }, z.core.$strict>;
12273
+ authService: z.ZodOptional<z.ZodString>;
12274
+ }, z.core.$strict>;
12275
+
12276
+ export declare type ResolvedPluginCard = z.infer<typeof ResolvedPluginCard>;
12277
+
12005
12278
  export declare const ResolvedPluginContractV1: z.ZodObject<{
12006
12279
  protocol: z.ZodLiteral<"kay.plugin.v1">;
12007
12280
  pluginId: z.ZodString;
@@ -12030,6 +12303,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12030
12303
  interactionDriver: "interactionDriver";
12031
12304
  entityResolver: "entityResolver";
12032
12305
  agentRenderer: "agentRenderer";
12306
+ pluginCard: "pluginCard";
12033
12307
  eventDefinition: "eventDefinition";
12034
12308
  eventSubscription: "eventSubscription";
12035
12309
  appDataSource: "appDataSource";
@@ -12216,6 +12490,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12216
12490
  external: "external";
12217
12491
  embedded: "embedded";
12218
12492
  }>;
12493
+ signInFirst: z.ZodOptional<z.ZodString>;
12219
12494
  }, z.core.$strict>>;
12220
12495
  }, z.core.$strict>>;
12221
12496
  grants: z.ZodOptional<z.ZodObject<{
@@ -12675,6 +12950,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12675
12950
  authSchemeId: z.ZodOptional<z.ZodString>;
12676
12951
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
12677
12952
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
12953
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
12678
12954
  }, z.core.$strict>>>;
12679
12955
  kayAgentArtifactUriModules: z.ZodOptional<z.ZodArray<z.ZodObject<{
12680
12956
  localId: z.ZodString;
@@ -12827,6 +13103,22 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12827
13103
  scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
12828
13104
  }, z.core.$strict>>;
12829
13105
  }, z.core.$strict>>>;
13106
+ kayAppCards: z.ZodOptional<z.ZodArray<z.ZodObject<{
13107
+ localId: z.ZodString;
13108
+ globalId: z.ZodString;
13109
+ pluginId: z.ZodString;
13110
+ description: z.ZodString;
13111
+ inputs: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
13112
+ readEndpoint: z.ZodObject<{
13113
+ localId: z.ZodString;
13114
+ globalId: z.ZodString;
13115
+ }, z.core.$strict>;
13116
+ submitEndpoint: z.ZodObject<{
13117
+ localId: z.ZodString;
13118
+ globalId: z.ZodString;
13119
+ }, z.core.$strict>;
13120
+ authService: z.ZodOptional<z.ZodString>;
13121
+ }, z.core.$strict>>>;
12830
13122
  kayAppDataSources: z.ZodOptional<z.ZodArray<z.ZodObject<{
12831
13123
  localId: z.ZodString;
12832
13124
  globalId: z.ZodString;
@@ -12910,6 +13202,29 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12910
13202
  uriModule: z.ZodOptional<z.ZodString>;
12911
13203
  schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
12912
13204
  displayName: z.ZodOptional<z.ZodString>;
13205
+ authService: z.ZodOptional<z.ZodString>;
13206
+ accountLinks: z.ZodOptional<z.ZodObject<{
13207
+ label: z.ZodOptional<z.ZodEnum<{
13208
+ email: "email";
13209
+ name: "name";
13210
+ }>>;
13211
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
13212
+ hostname: z.ZodString;
13213
+ pathname: z.ZodOptional<z.ZodString>;
13214
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
13215
+ setPathname: z.ZodOptional<z.ZodString>;
13216
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
13217
+ }, z.core.$strict>>>;
13218
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
13219
+ pattern: z.ZodObject<{
13220
+ protocol: z.ZodString;
13221
+ hostname: z.ZodString;
13222
+ pathname: z.ZodOptional<z.ZodString>;
13223
+ search: z.ZodOptional<z.ZodString>;
13224
+ }, z.core.$strict>;
13225
+ url: z.ZodString;
13226
+ }, z.core.$strict>>>;
13227
+ }, z.core.$strict>>;
12913
13228
  addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
12914
13229
  pattern: z.ZodObject<{
12915
13230
  protocol: z.ZodString;
@@ -12930,6 +13245,9 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12930
13245
  }, z.core.$strict>, z.ZodObject<{
12931
13246
  kind: z.ZodLiteral<"page">;
12932
13247
  pageId: z.ZodString;
13248
+ }, z.core.$strict>, z.ZodObject<{
13249
+ kind: z.ZodLiteral<"local-app">;
13250
+ schemes: z.ZodArray<z.ZodString>;
12933
13251
  }, z.core.$strict>], "kind">>;
12934
13252
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
12935
13253
  resourceKind: z.ZodString;
@@ -13066,6 +13384,7 @@ export declare const ResolvedPluginContributionId: z.ZodObject<{
13066
13384
  interactionDriver: "interactionDriver";
13067
13385
  entityResolver: "entityResolver";
13068
13386
  agentRenderer: "agentRenderer";
13387
+ pluginCard: "pluginCard";
13069
13388
  eventDefinition: "eventDefinition";
13070
13389
  eventSubscription: "eventSubscription";
13071
13390
  appDataSource: "appDataSource";
@@ -13419,6 +13738,7 @@ export declare const ResolvedPluginWebSession: z.ZodObject<{
13419
13738
  external: "external";
13420
13739
  embedded: "embedded";
13421
13740
  }>;
13741
+ signInFirst: z.ZodOptional<z.ZodString>;
13422
13742
  }, z.core.$strict>;
13423
13743
 
13424
13744
  export declare type ResolvedPluginWebSession = z.infer<typeof ResolvedPluginWebSession>;
@@ -13429,6 +13749,29 @@ export declare const ResolvedReferencePresentation: z.ZodObject<{
13429
13749
  uriModule: z.ZodOptional<z.ZodString>;
13430
13750
  schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
13431
13751
  displayName: z.ZodOptional<z.ZodString>;
13752
+ authService: z.ZodOptional<z.ZodString>;
13753
+ accountLinks: z.ZodOptional<z.ZodObject<{
13754
+ label: z.ZodOptional<z.ZodEnum<{
13755
+ email: "email";
13756
+ name: "name";
13757
+ }>>;
13758
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
13759
+ hostname: z.ZodString;
13760
+ pathname: z.ZodOptional<z.ZodString>;
13761
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
13762
+ setPathname: z.ZodOptional<z.ZodString>;
13763
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
13764
+ }, z.core.$strict>>>;
13765
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
13766
+ pattern: z.ZodObject<{
13767
+ protocol: z.ZodString;
13768
+ hostname: z.ZodString;
13769
+ pathname: z.ZodOptional<z.ZodString>;
13770
+ search: z.ZodOptional<z.ZodString>;
13771
+ }, z.core.$strict>;
13772
+ url: z.ZodString;
13773
+ }, z.core.$strict>>>;
13774
+ }, z.core.$strict>>;
13432
13775
  addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
13433
13776
  pattern: z.ZodObject<{
13434
13777
  protocol: z.ZodString;
@@ -13449,6 +13792,9 @@ export declare const ResolvedReferencePresentation: z.ZodObject<{
13449
13792
  }, z.core.$strict>, z.ZodObject<{
13450
13793
  kind: z.ZodLiteral<"page">;
13451
13794
  pageId: z.ZodString;
13795
+ }, z.core.$strict>, z.ZodObject<{
13796
+ kind: z.ZodLiteral<"local-app">;
13797
+ schemes: z.ZodArray<z.ZodString>;
13452
13798
  }, z.core.$strict>], "kind">>;
13453
13799
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
13454
13800
  resourceKind: z.ZodString;
@@ -14762,6 +15108,9 @@ export declare const UiAppContribution: z.ZodObject<{
14762
15108
 
14763
15109
  export declare type UiAppContribution = z.infer<typeof UiAppContribution>;
14764
15110
 
15111
+ /** Where a source entry's compiled stylesheet sits in its package, beside the entry. */
15112
+ export declare function uiAppSourceStylePath(module: string): string;
15113
+
14765
15114
  export declare const UiCommandContribution: z.ZodObject<{
14766
15115
  localId: z.ZodString;
14767
15116
  title: z.ZodString;
@@ -14844,6 +15193,7 @@ export declare const UriModuleContribution: z.ZodObject<{
14844
15193
  authScheme: z.ZodOptional<z.ZodString>;
14845
15194
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
14846
15195
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
15196
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
14847
15197
  claims: z.ZodExactOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
14848
15198
  kind: z.ZodLiteral<"scheme">;
14849
15199
  scheme: z.ZodString;
@@ -15237,8 +15587,12 @@ export declare type Where = {
15237
15587
  } | {
15238
15588
  readonly kind: "equals";
15239
15589
  readonly key: string;
15240
- readonly value: boolean | string;
15590
+ readonly value: WhereLiteral;
15241
15591
  readonly negated: boolean;
15592
+ } | {
15593
+ readonly kind: "contains";
15594
+ readonly key: string;
15595
+ readonly value: WhereLiteral;
15242
15596
  } | {
15243
15597
  readonly kind: "not";
15244
15598
  readonly operand: Where;
@@ -15254,9 +15608,33 @@ declare const WHERE_KEY_TYPES: {
15254
15608
  readonly "app.channel": "string";
15255
15609
  };
15256
15610
 
15611
+ /** The longest `where`: the largest a rule file can be, so anything that loaded still loads. */
15612
+ export declare const WHERE_MAX_BYTES: number;
15613
+
15614
+ /**
15615
+ * The old list form of `where`, written as an expression: each clause is
15616
+ * `path == value`, or `(path == value || path contains value)` where `looksInsideLists` says so, and
15617
+ * all must hold. A path spelled `true`, `false` or as a number never resolved to anything, so its
15618
+ * clause is `false`. Undefined when the list isn't a non-empty list of `{ path, equals }`.
15619
+ */
15620
+ export declare function whereClausesAsExpression(clauses: unknown, looksInsideLists?: (path: string) => boolean): string | undefined;
15621
+
15257
15622
  /** What a caller's keys are, when it has a fixed set. A bare string key must be compared. */
15258
15623
  export declare type WhereKeyTypes = Readonly<Record<string, "boolean" | "string">>;
15259
15624
 
15625
+ export declare type WhereKeyUse = "bare" | "compared" | "contained";
15626
+
15627
+ /** Every key an expression reads, each with how that read uses it. */
15628
+ export declare function whereKeyUses(where: Where): readonly {
15629
+ readonly key: string;
15630
+ readonly use: WhereKeyUse;
15631
+ }[];
15632
+
15633
+ export declare type WhereLiteral = boolean | number | string;
15634
+
15635
+ /** Why a value that isn't a string can't be a `where`, showing an old list in its new form. */
15636
+ export declare function whereNotAStringMessage(value: unknown): string;
15637
+
15260
15638
  export declare type WhereParseResult = {
15261
15639
  readonly ok: true;
15262
15640
  readonly where: Where;
@@ -15265,6 +15643,9 @@ export declare type WhereParseResult = {
15265
15643
  readonly message: string;
15266
15644
  };
15267
15645
 
15646
+ /** Why a value can't be a saved `where`, or undefined when it can. */
15647
+ export declare function whereProblem(value: unknown): string | undefined;
15648
+
15268
15649
  /** Construct the exact claim row for one Whiteboard scope and operation. */
15269
15650
  export declare function whiteboardCapabilityClaim(operation: WhiteboardCapabilityOperation, scope: WhiteboardCapabilityScope, target?: "kay.agent"): WhiteboardCapabilityClaimV1;
15270
15651