@yaklabs-ai/plugin-protocol 0.45.0 → 0.47.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
@@ -11,6 +11,60 @@ export declare const AccessApprovalReview: z.ZodObject<{
11
11
 
12
12
  export declare type AccessApprovalReview = z.infer<typeof AccessApprovalReview>;
13
13
 
14
+ /**
15
+ * Action binding — maps an event to an action invocation.
16
+ *
17
+ * Used inside the `on` field of a UIElement:
18
+ * ```json
19
+ * { "on": { "press": { "action": "setState", "params": { "statePath": "/x", "value": 1 } } } }
20
+ * ```
21
+ */
22
+ declare interface ActionBinding {
23
+ /** Action name (must be in catalog) */
24
+ action: string;
25
+ /** Parameters to pass to the action handler */
26
+ params?: Record<string, DynamicValue>;
27
+ /** Confirmation dialog before execution */
28
+ confirm?: ActionConfirm;
29
+ /** Handler after successful execution */
30
+ onSuccess?: ActionOnSuccess;
31
+ /** Handler after failed execution */
32
+ onError?: ActionOnError;
33
+ /** Whether to prevent default browser behavior (e.g. navigation on links) */
34
+ preventDefault?: boolean;
35
+ }
36
+
37
+ /**
38
+ * Confirmation dialog configuration
39
+ */
40
+ declare interface ActionConfirm {
41
+ title: string;
42
+ message: string;
43
+ confirmLabel?: string;
44
+ cancelLabel?: string;
45
+ variant?: "default" | "danger";
46
+ }
47
+
48
+ /**
49
+ * Action error handler
50
+ */
51
+ declare type ActionOnError = {
52
+ set: Record<string, unknown>;
53
+ } | {
54
+ action: string;
55
+ };
56
+
57
+ /**
58
+ * Action success handler
59
+ */
60
+ declare type ActionOnSuccess = {
61
+ navigate: string;
62
+ } | {
63
+ set: Record<string, unknown>;
64
+ } | {
65
+ action: string;
66
+ };
67
+
14
68
  export declare const AdapterPlacement: z.ZodEnum<{
15
69
  "local-only": "local-only";
16
70
  anywhere: "anywhere";
@@ -76,6 +130,15 @@ export declare const AgentToolContribution: z.ZodObject<{
76
130
 
77
131
  export declare type AgentToolContribution = z.infer<typeof AgentToolContribution>;
78
132
 
133
+ /**
134
+ * AND wrapper — all child conditions must be true.
135
+ * This is the explicit form of the implicit array AND (`SingleCondition[]`).
136
+ * Unlike the implicit form, `$and` supports nested `$or` and `$and` conditions.
137
+ */
138
+ declare type AndCondition = {
139
+ $and: VisibilityCondition[];
140
+ };
141
+
79
142
  export declare const AppDataMaterializerContribution: z.ZodObject<{
80
143
  source: z.ZodString;
81
144
  }, z.core.$strict>;
@@ -1642,6 +1705,8 @@ declare namespace authoringCommonSchemas {
1642
1705
 
1643
1706
  declare namespace authoringContributionSchemas {
1644
1707
  export {
1708
+ isUiAppSourceModule,
1709
+ uiAppSourceStylePath,
1645
1710
  MCP_SIGN_IN_SCHEME_KIND,
1646
1711
  PLUGIN_NOTIFICATION_RULE_HOST_KEYS,
1647
1712
  ApprovalCardForm,
@@ -1685,8 +1750,6 @@ declare namespace authoringContributionSchemas {
1685
1750
  SessionReaderContribution,
1686
1751
  UiCommandContribution,
1687
1752
  UiSlotContribution,
1688
- SettingsPanelContribution,
1689
- ResultRendererContribution,
1690
1753
  ReferenceOpenBehavior,
1691
1754
  ReferencePresentationVariant,
1692
1755
  ReferencePresentationVariants,
@@ -1694,9 +1757,9 @@ declare namespace authoringContributionSchemas {
1694
1757
  ReferencePresentationUrlClaim,
1695
1758
  ReferencePresentationTooltip,
1696
1759
  ReferencePresentationAddress,
1760
+ ReferencePresentationAccountLinks,
1697
1761
  ReferencePresentationWords,
1698
1762
  ReferencePresentationContribution,
1699
- RichViewContribution,
1700
1763
  KayUiAppHostCapability,
1701
1764
  UiAppCapabilities,
1702
1765
  UiRailEntryContribution,
@@ -1708,7 +1771,9 @@ declare namespace authoringContributionSchemas {
1708
1771
  CommandContribution,
1709
1772
  PluginContributionKind,
1710
1773
  canonicalContributionSchemas,
1711
- PluginCardResult
1774
+ PluginCardResult,
1775
+ PluginCardReadResult,
1776
+ PluginCardSubmitResult
1712
1777
  }
1713
1778
  }
1714
1779
 
@@ -2095,6 +2160,7 @@ declare const canonicalContributionSchemas: {
2095
2160
  authScheme: z.ZodOptional<z.ZodString>;
2096
2161
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
2097
2162
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
2163
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
2098
2164
  claims: z.ZodExactOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
2099
2165
  kind: z.ZodLiteral<"scheme">;
2100
2166
  scheme: z.ZodString;
@@ -2445,9 +2511,6 @@ declare const canonicalContributionSchemas: {
2445
2511
  bodyField: z.ZodString;
2446
2512
  }, z.core.$strict>], "kind">;
2447
2513
  valueSchema: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
2448
- presentation: z.ZodOptional<z.ZodObject<{
2449
- app: z.ZodString;
2450
- }, z.core.$strict>>;
2451
2514
  }, z.core.$strict>;
2452
2515
  AppDataMaterializerContribution: z.ZodObject<{
2453
2516
  source: z.ZodString;
@@ -2608,7 +2671,7 @@ declare const canonicalContributionSchemas: {
2608
2671
  PluginNotificationRuleContribution: z.ZodObject<{
2609
2672
  localId: z.ZodString;
2610
2673
  event: z.ZodString;
2611
- where: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>>;
2674
+ where: z.ZodOptional<z.ZodString>;
2612
2675
  rule: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
2613
2676
  }, z.core.$strict>;
2614
2677
  PluginProductEventContribution: z.ZodUnion<readonly [z.ZodObject<{
@@ -2659,15 +2722,6 @@ declare const canonicalContributionSchemas: {
2659
2722
  slot: z.ZodString;
2660
2723
  title: z.ZodOptional<z.ZodString>;
2661
2724
  }, z.core.$strict>;
2662
- SettingsPanelContribution: z.ZodObject<{
2663
- localId: z.ZodString;
2664
- title: z.ZodString;
2665
- configSection: z.ZodOptional<z.ZodString>;
2666
- }, z.core.$strict>;
2667
- ResultRendererContribution: z.ZodObject<{
2668
- localId: z.ZodString;
2669
- resultKinds: z.ZodArray<z.ZodString>;
2670
- }, z.core.$strict>;
2671
2725
  ReferenceOpenBehavior: z.ZodDiscriminatedUnion<[z.ZodObject<{
2672
2726
  kind: z.ZodLiteral<"working-document">;
2673
2727
  }, z.core.$strict>, z.ZodObject<{
@@ -2675,6 +2729,9 @@ declare const canonicalContributionSchemas: {
2675
2729
  }, z.core.$strict>, z.ZodObject<{
2676
2730
  kind: z.ZodLiteral<"page">;
2677
2731
  pageId: z.ZodString;
2732
+ }, z.core.$strict>, z.ZodObject<{
2733
+ kind: z.ZodLiteral<"local-app">;
2734
+ schemes: z.ZodArray<z.ZodString>;
2678
2735
  }, z.core.$strict>], "kind">;
2679
2736
  ReferencePresentationVariant: z.ZodObject<{
2680
2737
  resourceKind: z.ZodString;
@@ -2724,6 +2781,28 @@ declare const canonicalContributionSchemas: {
2724
2781
  kind: z.ZodLiteral<"none">;
2725
2782
  }, z.core.$strict>>;
2726
2783
  }, z.core.$strict>;
2784
+ ReferencePresentationAccountLinks: z.ZodObject<{
2785
+ label: z.ZodOptional<z.ZodEnum<{
2786
+ email: "email";
2787
+ name: "name";
2788
+ }>>;
2789
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
2790
+ hostname: z.ZodString;
2791
+ pathname: z.ZodOptional<z.ZodString>;
2792
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
2793
+ setPathname: z.ZodOptional<z.ZodString>;
2794
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
2795
+ }, z.core.$strict>>>;
2796
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
2797
+ pattern: z.ZodObject<{
2798
+ protocol: z.ZodString;
2799
+ hostname: z.ZodString;
2800
+ pathname: z.ZodOptional<z.ZodString>;
2801
+ search: z.ZodOptional<z.ZodString>;
2802
+ }, z.core.$strict>;
2803
+ url: z.ZodString;
2804
+ }, z.core.$strict>>>;
2805
+ }, z.core.$strict>;
2727
2806
  ReferencePresentationWords: z.ZodObject<{
2728
2807
  glyph: z.ZodOptional<z.ZodEnum<{
2729
2808
  file: "file";
@@ -2788,6 +2867,9 @@ declare const canonicalContributionSchemas: {
2788
2867
  }, z.core.$strict>, z.ZodObject<{
2789
2868
  kind: z.ZodLiteral<"page">;
2790
2869
  pageId: z.ZodString;
2870
+ }, z.core.$strict>, z.ZodObject<{
2871
+ kind: z.ZodLiteral<"local-app">;
2872
+ schemes: z.ZodArray<z.ZodString>;
2791
2873
  }, z.core.$strict>], "kind">>;
2792
2874
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2793
2875
  resourceKind: z.ZodString;
@@ -2855,11 +2937,28 @@ declare const canonicalContributionSchemas: {
2855
2937
  target: z.ZodOptional<z.ZodString>;
2856
2938
  kindNamesSource: z.ZodOptional<z.ZodLiteral<true>>;
2857
2939
  }, z.core.$strict>>;
2858
- }, z.core.$strict>;
2859
- RichViewContribution: z.ZodObject<{
2860
- localId: z.ZodString;
2861
- title: z.ZodString;
2862
- route: z.ZodOptional<z.ZodString>;
2940
+ accountLinks: z.ZodOptional<z.ZodObject<{
2941
+ label: z.ZodOptional<z.ZodEnum<{
2942
+ email: "email";
2943
+ name: "name";
2944
+ }>>;
2945
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
2946
+ hostname: z.ZodString;
2947
+ pathname: z.ZodOptional<z.ZodString>;
2948
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
2949
+ setPathname: z.ZodOptional<z.ZodString>;
2950
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
2951
+ }, z.core.$strict>>>;
2952
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
2953
+ pattern: z.ZodObject<{
2954
+ protocol: z.ZodString;
2955
+ hostname: z.ZodString;
2956
+ pathname: z.ZodOptional<z.ZodString>;
2957
+ search: z.ZodOptional<z.ZodString>;
2958
+ }, z.core.$strict>;
2959
+ url: z.ZodString;
2960
+ }, z.core.$strict>>>;
2961
+ }, z.core.$strict>>;
2863
2962
  }, z.core.$strict>;
2864
2963
  KayUiAppHostCapability: z.ZodEnum<{
2865
2964
  "navigation.open-session": "navigation.open-session";
@@ -3047,9 +3146,8 @@ declare const canonicalContributionSchemas: {
3047
3146
  storage: "storage";
3048
3147
  uriModule: "uriModule";
3049
3148
  authService: "authService";
3050
- app: "app";
3051
3149
  command: "command";
3052
- configSection: "configSection";
3150
+ app: "app";
3053
3151
  skill: "skill";
3054
3152
  converter: "converter";
3055
3153
  artifactUriModule: "artifactUriModule";
@@ -3072,11 +3170,9 @@ declare const canonicalContributionSchemas: {
3072
3170
  mcpServer: "mcpServer";
3073
3171
  uiCommand: "uiCommand";
3074
3172
  uiSlot: "uiSlot";
3075
- settingsPanel: "settingsPanel";
3076
- resultRenderer: "resultRenderer";
3077
3173
  referencePresentation: "referencePresentation";
3078
- view: "view";
3079
3174
  theme: "theme";
3175
+ configSection: "configSection";
3080
3176
  }>;
3081
3177
  };
3082
3178
 
@@ -3208,6 +3304,34 @@ export declare function compareClaims(a: PluginCapabilityClaimV1, b: PluginCapab
3208
3304
  */
3209
3305
  export declare function compareSemver(a: string, b: string): number | undefined;
3210
3306
 
3307
+ /**
3308
+ * Shared comparison operators for visibility conditions.
3309
+ *
3310
+ * Use at most ONE comparison operator per condition. If multiple are
3311
+ * provided, only the first matching one is evaluated (precedence:
3312
+ * eq > neq > gt > gte > lt > lte). With no operator, truthiness is checked.
3313
+ *
3314
+ * `not` inverts the final result of whichever operator (or truthiness
3315
+ * check) is used.
3316
+ */
3317
+ declare type ComparisonOperators = {
3318
+ eq?: unknown;
3319
+ neq?: unknown;
3320
+ gt?: number | {
3321
+ $state: string;
3322
+ };
3323
+ gte?: number | {
3324
+ $state: string;
3325
+ };
3326
+ lt?: number | {
3327
+ $state: string;
3328
+ };
3329
+ lte?: number | {
3330
+ $state: string;
3331
+ };
3332
+ not?: true;
3333
+ };
3334
+
3211
3335
  /**
3212
3336
  * The section-key convention for every declared plugin config section.
3213
3337
  */
@@ -3353,6 +3477,11 @@ export declare interface DeclaredKayPluginCompatibility {
3353
3477
  readonly sdk?: string | undefined;
3354
3478
  }
3355
3479
 
3480
+ /** The address schemes whose items an app on this machine opens, rather than a page on the web. */
3481
+ export declare function declaredLocalAppSchemes<TPlugin extends {
3482
+ readonly contributes: Readonly<Record<string, unknown>>;
3483
+ }>(plugins: readonly TPlugin[]): ReadonlySet<string>;
3484
+
3356
3485
  /**
3357
3486
  * Every plugin's reference presentations. The daemon delivers this one kind from the resolved
3358
3487
  * contract rather than the manifest, so its rows carry `schemes`.
@@ -3423,6 +3552,16 @@ export declare const DeviceDelegationContribution: z.ZodObject<{
3423
3552
 
3424
3553
  export declare type DeviceDelegationContribution = z.infer<typeof DeviceDelegationContribution>;
3425
3554
 
3555
+ /**
3556
+ * Dynamic value - can be a literal or a `{ $state }` reference to the state model.
3557
+ *
3558
+ * Used in action params and validation args where values can either be
3559
+ * hardcoded or resolved from state at runtime.
3560
+ */
3561
+ declare type DynamicValue<T = unknown> = T | {
3562
+ $state: string;
3563
+ };
3564
+
3426
3565
  export declare const EndpointContribution: z.ZodObject<{
3427
3566
  localId: z.ZodString;
3428
3567
  displayName: z.ZodOptional<z.ZodString>;
@@ -3478,6 +3617,12 @@ export declare const EventGrantRequest: z.ZodObject<{
3478
3617
 
3479
3618
  export declare type EventGrantRequest = z.infer<typeof EventGrantRequest>;
3480
3619
 
3620
+ /**
3621
+ * {@link whereProblem}, for a `where` a plugin event is matched against: every key must also be a
3622
+ * safe path, at most 10 identifier segments and 256 bytes.
3623
+ */
3624
+ export declare function eventWhereProblem(value: unknown): string | undefined;
3625
+
3481
3626
  export declare const FileExtensionToken: z.ZodString;
3482
3627
 
3483
3628
  export declare type FileExtensionToken = z.infer<typeof FileExtensionToken>;
@@ -3499,6 +3644,9 @@ export declare function finalizeArtifactProvenanceEnvelope(capture: ArtifactProv
3499
3644
 
3500
3645
  export declare function findSkillSuggestionCitations(text: string, options?: SkillSuggestionEvidenceOptions): readonly SkillSuggestionCitation[];
3501
3646
 
3647
+ /** One literal as an expression writes it: single-quoted strings, JSON-form numbers. */
3648
+ export declare function formatWhereLiteral(value: WhereLiteral): string;
3649
+
3502
3650
  export declare const GitBasicAuthUser: z.ZodString;
3503
3651
 
3504
3652
  export declare type GitBasicAuthUser = z.infer<typeof GitBasicAuthUser>;
@@ -3540,6 +3688,14 @@ export declare const HttpsUrl: z.ZodURL;
3540
3688
 
3541
3689
  export declare type HttpsUrl = z.infer<typeof HttpsUrl>;
3542
3690
 
3691
+ /**
3692
+ * A condition that resolves `$index` to the current repeat array index.
3693
+ * Only meaningful inside a `repeat` scope.
3694
+ */
3695
+ declare type IndexCondition = {
3696
+ $index: true;
3697
+ } & ComparisonOperators;
3698
+
3543
3699
  export declare const InteractionDriverContribution: z.ZodObject<{
3544
3700
  localId: z.ZodString;
3545
3701
  displayName: z.ZodOptional<z.ZodString>;
@@ -3570,6 +3726,11 @@ export declare function isCompatible(report: KayPluginCompatibilityReport): bool
3570
3726
  */
3571
3727
  export declare function isCredentialShapedText(value: unknown): boolean;
3572
3728
 
3729
+ /** Whether `url` uses a link scheme a loaded plugin declared for an app on this machine. */
3730
+ export declare function isDeclaredLocalAppLink<TPlugin extends {
3731
+ readonly contributes: Readonly<Record<string, unknown>>;
3732
+ }>(url: string, plugins: readonly TPlugin[]): boolean;
3733
+
3573
3734
  /**
3574
3735
  * Whether a refusal `code` came from the compatibility check: the plugin was written for another
3575
3736
  * SDK or protocol, as opposed to being malformed.
@@ -3601,6 +3762,22 @@ export declare function isQualifiedAuthServiceRef(ref: string): boolean;
3601
3762
  /** Whether a range is one {@link satisfiesSemverRange} can answer for at all. */
3602
3763
  export declare function isSupportedSemverRange(range: string): boolean;
3603
3764
 
3765
+ /**
3766
+ * An app entry naming source rather than built JavaScript. Bonsai compiles it when it loads the
3767
+ * plugin, so a plugin in `~/.kay/plugins` needs no build tool for a page.
3768
+ */
3769
+ export declare function isUiAppSourceModule(module: string): boolean;
3770
+
3771
+ /**
3772
+ * A condition that resolves `$item` to a field on the current repeat item.
3773
+ * Only meaningful inside a `repeat` scope.
3774
+ *
3775
+ * Use `""` to reference the whole item, or `"field"` for a specific field.
3776
+ */
3777
+ declare type ItemCondition = {
3778
+ $item: string;
3779
+ } & ComparisonOperators;
3780
+
3604
3781
  export declare const JsonObject: z.ZodRecord<z.ZodString, z.ZodType<JsonValue, unknown, z.core.$ZodTypeInternals<JsonValue, unknown>>>;
3605
3782
 
3606
3783
  export declare type JsonObject = z.infer<typeof JsonObject>;
@@ -4327,9 +4504,21 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
4327
4504
  * 0.44.0 adds `words.kinds` to a reference presentation (#15905): an ordered list of address patterns
4328
4505
  * and the kind each one names. Additive: a plugin that lists them declares ^0.44.0.
4329
4506
  *
4330
- * 0.45.0 adds declared plugin cards and app.implementCard for their read/submit endpoints.
4507
+ * 0.45.0 adds declared plugin cards and app.implementCard for their read/submit endpoints. It also
4508
+ * lets a plugin declare what the window hardcoded about it (#15906). A reference presentation gains
4509
+ * `accountLinks`, how a page opens under the account an address means, and a `local-app` open, for
4510
+ * an item an app on this machine shows; a plugin the person installed can't declare that open. A
4511
+ * `webSession` gains `signInFirst`. A URI module defines `lookupWebLink` and sets `looksUpWebLinks`
4512
+ * to find a page when someone opens the address, and a preview field marks which `part` of a message
4513
+ * it is. A claim's `brandIcon` is a file path and no longer inline markup, which only this repo's
4514
+ * Microsoft plugin used. Otherwise additive: a plugin using any of these declares ^0.45.0.
4515
+ *
4516
+ * 0.46.0 adds `@bonsai/plugin-sdk/artifact-provenance`, so a plugin shipped as files can finalize
4517
+ * and read the provenance the host captured. Additive: a plugin that imports it declares ^0.46.0.
4518
+ *
4519
+ * 0.47.0 adds card layouts and builders; successful card submits now require a summary.
4331
4520
  */
4332
- export declare const KAY_PLUGIN_SDK_VERSION: "0.45.0";
4521
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.47.0";
4333
4522
 
4334
4523
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
4335
4524
 
@@ -4392,6 +4581,7 @@ export declare const KayAgentTargetManifest: z.ZodObject<{
4392
4581
  authScheme: z.ZodOptional<z.ZodString>;
4393
4582
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
4394
4583
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
4584
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
4395
4585
  claims: z.ZodExactOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
4396
4586
  kind: z.ZodLiteral<"scheme">;
4397
4587
  scheme: z.ZodString;
@@ -4871,9 +5061,6 @@ export declare const KayAppTargetManifest: z.ZodObject<{
4871
5061
  bodyField: z.ZodString;
4872
5062
  }, z.core.$strict>], "kind">;
4873
5063
  valueSchema: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
4874
- presentation: z.ZodOptional<z.ZodObject<{
4875
- app: z.ZodString;
4876
- }, z.core.$strict>>;
4877
5064
  }, z.core.$strict>>>;
4878
5065
  approvalTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
4879
5066
  localId: z.ZodString;
@@ -4973,7 +5160,7 @@ export declare const KayAppTargetManifest: z.ZodObject<{
4973
5160
  notificationRules: z.ZodOptional<z.ZodArray<z.ZodObject<{
4974
5161
  localId: z.ZodString;
4975
5162
  event: z.ZodString;
4976
- where: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>>;
5163
+ where: z.ZodOptional<z.ZodString>;
4977
5164
  rule: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
4978
5165
  }, z.core.$strict>>>;
4979
5166
  productEvents: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
@@ -5196,6 +5383,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5196
5383
  authScheme: z.ZodOptional<z.ZodString>;
5197
5384
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
5198
5385
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
5386
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
5199
5387
  claims: z.ZodExactOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
5200
5388
  kind: z.ZodLiteral<"scheme">;
5201
5389
  scheme: z.ZodString;
@@ -5672,9 +5860,6 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5672
5860
  bodyField: z.ZodString;
5673
5861
  }, z.core.$strict>], "kind">;
5674
5862
  valueSchema: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
5675
- presentation: z.ZodOptional<z.ZodObject<{
5676
- app: z.ZodString;
5677
- }, z.core.$strict>>;
5678
5863
  }, z.core.$strict>>>;
5679
5864
  approvalTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
5680
5865
  localId: z.ZodString;
@@ -5774,7 +5959,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5774
5959
  notificationRules: z.ZodOptional<z.ZodArray<z.ZodObject<{
5775
5960
  localId: z.ZodString;
5776
5961
  event: z.ZodString;
5777
- where: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>>;
5962
+ where: z.ZodOptional<z.ZodString>;
5778
5963
  rule: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
5779
5964
  }, z.core.$strict>>>;
5780
5965
  productEvents: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
@@ -5866,15 +6051,6 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5866
6051
  slot: z.ZodString;
5867
6052
  title: z.ZodOptional<z.ZodString>;
5868
6053
  }, z.core.$strict>>>;
5869
- settingsPanels: z.ZodOptional<z.ZodArray<z.ZodObject<{
5870
- localId: z.ZodString;
5871
- title: z.ZodString;
5872
- configSection: z.ZodOptional<z.ZodString>;
5873
- }, z.core.$strict>>>;
5874
- resultRenderers: z.ZodOptional<z.ZodArray<z.ZodObject<{
5875
- localId: z.ZodString;
5876
- resultKinds: z.ZodArray<z.ZodString>;
5877
- }, z.core.$strict>>>;
5878
6054
  referencePresentations: z.ZodOptional<z.ZodArray<z.ZodObject<{
5879
6055
  localId: z.ZodString;
5880
6056
  uriModule: z.ZodOptional<z.ZodString>;
@@ -5899,6 +6075,9 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5899
6075
  }, z.core.$strict>, z.ZodObject<{
5900
6076
  kind: z.ZodLiteral<"page">;
5901
6077
  pageId: z.ZodString;
6078
+ }, z.core.$strict>, z.ZodObject<{
6079
+ kind: z.ZodLiteral<"local-app">;
6080
+ schemes: z.ZodArray<z.ZodString>;
5902
6081
  }, z.core.$strict>], "kind">>;
5903
6082
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
5904
6083
  resourceKind: z.ZodString;
@@ -5966,11 +6145,28 @@ export declare const KayPluginManifestV1: z.ZodObject<{
5966
6145
  target: z.ZodOptional<z.ZodString>;
5967
6146
  kindNamesSource: z.ZodOptional<z.ZodLiteral<true>>;
5968
6147
  }, z.core.$strict>>;
5969
- }, z.core.$strict>>>;
5970
- views: z.ZodOptional<z.ZodArray<z.ZodObject<{
5971
- localId: z.ZodString;
5972
- title: z.ZodString;
5973
- route: z.ZodOptional<z.ZodString>;
6148
+ accountLinks: z.ZodOptional<z.ZodObject<{
6149
+ label: z.ZodOptional<z.ZodEnum<{
6150
+ email: "email";
6151
+ name: "name";
6152
+ }>>;
6153
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
6154
+ hostname: z.ZodString;
6155
+ pathname: z.ZodOptional<z.ZodString>;
6156
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
6157
+ setPathname: z.ZodOptional<z.ZodString>;
6158
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
6159
+ }, z.core.$strict>>>;
6160
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
6161
+ pattern: z.ZodObject<{
6162
+ protocol: z.ZodString;
6163
+ hostname: z.ZodString;
6164
+ pathname: z.ZodOptional<z.ZodString>;
6165
+ search: z.ZodOptional<z.ZodString>;
6166
+ }, z.core.$strict>;
6167
+ url: z.ZodString;
6168
+ }, z.core.$strict>>>;
6169
+ }, z.core.$strict>>;
5974
6170
  }, z.core.$strict>>>;
5975
6171
  apps: z.ZodOptional<z.ZodArray<z.ZodObject<{
5976
6172
  localId: z.ZodString;
@@ -6274,6 +6470,7 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6274
6470
  external: "external";
6275
6471
  embedded: "embedded";
6276
6472
  }>;
6473
+ signInFirst: z.ZodOptional<z.ZodString>;
6277
6474
  }, z.core.$strict>>;
6278
6475
  }, z.core.$strict>>>;
6279
6476
  }, z.core.$strict>>;
@@ -7032,15 +7229,6 @@ export declare const KayUiTargetManifest: z.ZodObject<{
7032
7229
  slot: z.ZodString;
7033
7230
  title: z.ZodOptional<z.ZodString>;
7034
7231
  }, z.core.$strict>>>;
7035
- settingsPanels: z.ZodOptional<z.ZodArray<z.ZodObject<{
7036
- localId: z.ZodString;
7037
- title: z.ZodString;
7038
- configSection: z.ZodOptional<z.ZodString>;
7039
- }, z.core.$strict>>>;
7040
- resultRenderers: z.ZodOptional<z.ZodArray<z.ZodObject<{
7041
- localId: z.ZodString;
7042
- resultKinds: z.ZodArray<z.ZodString>;
7043
- }, z.core.$strict>>>;
7044
7232
  referencePresentations: z.ZodOptional<z.ZodArray<z.ZodObject<{
7045
7233
  localId: z.ZodString;
7046
7234
  uriModule: z.ZodOptional<z.ZodString>;
@@ -7065,6 +7253,9 @@ export declare const KayUiTargetManifest: z.ZodObject<{
7065
7253
  }, z.core.$strict>, z.ZodObject<{
7066
7254
  kind: z.ZodLiteral<"page">;
7067
7255
  pageId: z.ZodString;
7256
+ }, z.core.$strict>, z.ZodObject<{
7257
+ kind: z.ZodLiteral<"local-app">;
7258
+ schemes: z.ZodArray<z.ZodString>;
7068
7259
  }, z.core.$strict>], "kind">>;
7069
7260
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
7070
7261
  resourceKind: z.ZodString;
@@ -7132,11 +7323,28 @@ export declare const KayUiTargetManifest: z.ZodObject<{
7132
7323
  target: z.ZodOptional<z.ZodString>;
7133
7324
  kindNamesSource: z.ZodOptional<z.ZodLiteral<true>>;
7134
7325
  }, z.core.$strict>>;
7135
- }, z.core.$strict>>>;
7136
- views: z.ZodOptional<z.ZodArray<z.ZodObject<{
7137
- localId: z.ZodString;
7138
- title: z.ZodString;
7139
- route: z.ZodOptional<z.ZodString>;
7326
+ accountLinks: z.ZodOptional<z.ZodObject<{
7327
+ label: z.ZodOptional<z.ZodEnum<{
7328
+ email: "email";
7329
+ name: "name";
7330
+ }>>;
7331
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
7332
+ hostname: z.ZodString;
7333
+ pathname: z.ZodOptional<z.ZodString>;
7334
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
7335
+ setPathname: z.ZodOptional<z.ZodString>;
7336
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
7337
+ }, z.core.$strict>>>;
7338
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
7339
+ pattern: z.ZodObject<{
7340
+ protocol: z.ZodString;
7341
+ hostname: z.ZodString;
7342
+ pathname: z.ZodOptional<z.ZodString>;
7343
+ search: z.ZodOptional<z.ZodString>;
7344
+ }, z.core.$strict>;
7345
+ url: z.ZodString;
7346
+ }, z.core.$strict>>>;
7347
+ }, z.core.$strict>>;
7140
7348
  }, z.core.$strict>>>;
7141
7349
  apps: z.ZodOptional<z.ZodArray<z.ZodObject<{
7142
7350
  localId: z.ZodString;
@@ -7397,6 +7605,13 @@ export declare interface OperationCaptureInput {
7397
7605
  readonly causes?: readonly ArtifactProvenanceCause[];
7398
7606
  }
7399
7607
 
7608
+ /**
7609
+ * OR wrapper — at least one child condition must be true.
7610
+ */
7611
+ declare type OrCondition = {
7612
+ $or: VisibilityCondition[];
7613
+ };
7614
+
7400
7615
  export declare const PackageAssetPath: z.ZodString;
7401
7616
 
7402
7617
  export declare type PackageAssetPath = z.infer<typeof PackageAssetPath>;
@@ -7443,9 +7658,12 @@ export declare function parseResolvedPluginContractV1(value: unknown): ResolvedP
7443
7658
  export declare function parseSemver(value: string): ParsedSemver | undefined;
7444
7659
 
7445
7660
  /**
7446
- * Parses a `where` expression: `||`, `&&`, `!`, parentheses, `==`, `!=`, strings, `true`, `false`
7447
- * and dotted keys, for example `markedForRetirement || proposedRewrite.stale == false`. A bare key
7448
- * means "is set". With `keyTypes`, only those keys parse, and each is checked against its type.
7661
+ * Parses a `where` expression: `||`, `&&`, `!`, parentheses, `==`, `!=`, `contains`, strings,
7662
+ * numbers, `true`, `false` and dotted keys, for example
7663
+ * `markedForRetirement || proposedRewrite.stale == false`. A bare key means "is set". `==` and `!=`
7664
+ * compare a whole value, so a list never equals a scalar; `labels contains 'urgent'` looks inside a
7665
+ * list. With `keyTypes`, only those keys parse, each is checked against its type, and `contains` is
7666
+ * refused, because those keys are scalars.
7449
7667
  */
7450
7668
  export declare function parseWhere(source: string, keyTypes?: WhereKeyTypes): WhereParseResult;
7451
7669
 
@@ -7664,6 +7882,7 @@ export declare const PluginAuthManifest: z.ZodObject<{
7664
7882
  external: "external";
7665
7883
  embedded: "embedded";
7666
7884
  }>;
7885
+ signInFirst: z.ZodOptional<z.ZodString>;
7667
7886
  }, z.core.$strict>>;
7668
7887
  }, z.core.$strict>>>;
7669
7888
  }, z.core.$strict>;
@@ -7955,6 +8174,7 @@ export declare const PluginAuthService: z.ZodObject<{
7955
8174
  external: "external";
7956
8175
  embedded: "embedded";
7957
8176
  }>;
8177
+ signInFirst: z.ZodOptional<z.ZodString>;
7958
8178
  }, z.core.$strict>>;
7959
8179
  }, z.core.$strict>;
7960
8180
 
@@ -9755,6 +9975,12 @@ export declare const PluginCardContribution: z.ZodObject<{
9755
9975
 
9756
9976
  export declare type PluginCardContribution = z.infer<typeof PluginCardContribution>;
9757
9977
 
9978
+ export declare type PluginCardReadResult<T> = PluginCardResult<T> | {
9979
+ readonly ok: true;
9980
+ readonly presentation: "layout";
9981
+ readonly layout: Spec;
9982
+ };
9983
+
9758
9984
  export declare type PluginCardResult<T> = {
9759
9985
  readonly ok: true;
9760
9986
  readonly data: T;
@@ -9764,6 +9990,14 @@ export declare type PluginCardResult<T> = {
9764
9990
  readonly message: string;
9765
9991
  };
9766
9992
 
9993
+ export declare type PluginCardSubmitResult<T> = {
9994
+ readonly ok: true;
9995
+ readonly data: T;
9996
+ readonly summary: string;
9997
+ } | Extract<PluginCardResult<T>, {
9998
+ readonly ok: false;
9999
+ }>;
10000
+
9767
10001
  export declare const PluginCompatibilityManifest: z.ZodObject<{
9768
10002
  supportedProtocols: z.ZodOptional<z.ZodArray<z.ZodLiteral<"kay.plugin.v1">>>;
9769
10003
  minKayVersion: z.ZodOptional<z.ZodString>;
@@ -9817,9 +10051,8 @@ export declare const PluginContributionKind: z.ZodEnum<{
9817
10051
  storage: "storage";
9818
10052
  uriModule: "uriModule";
9819
10053
  authService: "authService";
9820
- app: "app";
9821
10054
  command: "command";
9822
- configSection: "configSection";
10055
+ app: "app";
9823
10056
  skill: "skill";
9824
10057
  converter: "converter";
9825
10058
  artifactUriModule: "artifactUriModule";
@@ -9842,11 +10075,9 @@ export declare const PluginContributionKind: z.ZodEnum<{
9842
10075
  mcpServer: "mcpServer";
9843
10076
  uiCommand: "uiCommand";
9844
10077
  uiSlot: "uiSlot";
9845
- settingsPanel: "settingsPanel";
9846
- resultRenderer: "resultRenderer";
9847
10078
  referencePresentation: "referencePresentation";
9848
- view: "view";
9849
10079
  theme: "theme";
10080
+ configSection: "configSection";
9850
10081
  }>;
9851
10082
 
9852
10083
  export declare type PluginContributionKind = z.infer<typeof PluginContributionKind>;
@@ -10053,7 +10284,7 @@ export declare type PluginNamespace = z.infer<typeof PluginNamespace>;
10053
10284
  export declare const PluginNotificationRuleContribution: z.ZodObject<{
10054
10285
  localId: z.ZodString;
10055
10286
  event: z.ZodString;
10056
- where: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>>>;
10287
+ where: z.ZodOptional<z.ZodString>;
10057
10288
  rule: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
10058
10289
  }, z.core.$strict>;
10059
10290
 
@@ -10880,6 +11111,7 @@ export declare const PluginWebSessionDeclaration: z.ZodObject<{
10880
11111
  external: "external";
10881
11112
  embedded: "embedded";
10882
11113
  }>;
11114
+ signInFirst: z.ZodOptional<z.ZodString>;
10883
11115
  }, z.core.$strict>;
10884
11116
 
10885
11117
  export declare type PluginWebSessionDeclaration = z.infer<typeof PluginWebSessionDeclaration>;
@@ -10930,10 +11162,38 @@ export declare const ReferenceOpenBehavior: z.ZodDiscriminatedUnion<[z.ZodObject
10930
11162
  }, z.core.$strict>, z.ZodObject<{
10931
11163
  kind: z.ZodLiteral<"page">;
10932
11164
  pageId: z.ZodString;
11165
+ }, z.core.$strict>, z.ZodObject<{
11166
+ kind: z.ZodLiteral<"local-app">;
11167
+ schemes: z.ZodArray<z.ZodString>;
10933
11168
  }, z.core.$strict>], "kind">;
10934
11169
 
10935
11170
  export declare type ReferenceOpenBehavior = z.infer<typeof ReferenceOpenBehavior>;
10936
11171
 
11172
+ export declare const ReferencePresentationAccountLinks: z.ZodObject<{
11173
+ label: z.ZodOptional<z.ZodEnum<{
11174
+ email: "email";
11175
+ name: "name";
11176
+ }>>;
11177
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
11178
+ hostname: z.ZodString;
11179
+ pathname: z.ZodOptional<z.ZodString>;
11180
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
11181
+ setPathname: z.ZodOptional<z.ZodString>;
11182
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
11183
+ }, z.core.$strict>>>;
11184
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
11185
+ pattern: z.ZodObject<{
11186
+ protocol: z.ZodString;
11187
+ hostname: z.ZodString;
11188
+ pathname: z.ZodOptional<z.ZodString>;
11189
+ search: z.ZodOptional<z.ZodString>;
11190
+ }, z.core.$strict>;
11191
+ url: z.ZodString;
11192
+ }, z.core.$strict>>>;
11193
+ }, z.core.$strict>;
11194
+
11195
+ export declare type ReferencePresentationAccountLinks = z.infer<typeof ReferencePresentationAccountLinks>;
11196
+
10937
11197
  export declare const ReferencePresentationAddress: z.ZodObject<{
10938
11198
  pattern: z.ZodObject<{
10939
11199
  protocol: z.ZodString;
@@ -10973,6 +11233,9 @@ export declare const ReferencePresentationContribution: z.ZodObject<{
10973
11233
  }, z.core.$strict>, z.ZodObject<{
10974
11234
  kind: z.ZodLiteral<"page">;
10975
11235
  pageId: z.ZodString;
11236
+ }, z.core.$strict>, z.ZodObject<{
11237
+ kind: z.ZodLiteral<"local-app">;
11238
+ schemes: z.ZodArray<z.ZodString>;
10976
11239
  }, z.core.$strict>], "kind">>;
10977
11240
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
10978
11241
  resourceKind: z.ZodString;
@@ -11040,6 +11303,28 @@ export declare const ReferencePresentationContribution: z.ZodObject<{
11040
11303
  target: z.ZodOptional<z.ZodString>;
11041
11304
  kindNamesSource: z.ZodOptional<z.ZodLiteral<true>>;
11042
11305
  }, z.core.$strict>>;
11306
+ accountLinks: z.ZodOptional<z.ZodObject<{
11307
+ label: z.ZodOptional<z.ZodEnum<{
11308
+ email: "email";
11309
+ name: "name";
11310
+ }>>;
11311
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
11312
+ hostname: z.ZodString;
11313
+ pathname: z.ZodOptional<z.ZodString>;
11314
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
11315
+ setPathname: z.ZodOptional<z.ZodString>;
11316
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
11317
+ }, z.core.$strict>>>;
11318
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
11319
+ pattern: z.ZodObject<{
11320
+ protocol: z.ZodString;
11321
+ hostname: z.ZodString;
11322
+ pathname: z.ZodOptional<z.ZodString>;
11323
+ search: z.ZodOptional<z.ZodString>;
11324
+ }, z.core.$strict>;
11325
+ url: z.ZodString;
11326
+ }, z.core.$strict>>>;
11327
+ }, z.core.$strict>>;
11043
11328
  }, z.core.$strict>;
11044
11329
 
11045
11330
  export declare type ReferencePresentationContribution = z.infer<typeof ReferencePresentationContribution>;
@@ -11155,6 +11440,7 @@ export declare function refineWebSessionScopeConfined(webSession: {
11155
11440
  readonly probe: {
11156
11441
  readonly url: string;
11157
11442
  };
11443
+ readonly signInFirst?: string | undefined;
11158
11444
  }, ctx: z.RefinementCtx): void;
11159
11445
 
11160
11446
  export declare const RegistrableDomain: z.ZodString;
@@ -11510,6 +11796,7 @@ export declare const ResolvedKayAgentUriModule: z.ZodObject<{
11510
11796
  authSchemeId: z.ZodOptional<z.ZodString>;
11511
11797
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
11512
11798
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
11799
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
11513
11800
  }, z.core.$strict>;
11514
11801
 
11515
11802
  export declare type ResolvedKayAgentUriModule = z.infer<typeof ResolvedKayAgentUriModule>;
@@ -11673,9 +11960,6 @@ export declare const ResolvedKayAppWhiteboardType: z.ZodObject<{
11673
11960
  bodyField: z.ZodString;
11674
11961
  }, z.core.$strict>], "kind">;
11675
11962
  valueSchema: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
11676
- presentation: z.ZodOptional<z.ZodObject<{
11677
- app: z.ZodString;
11678
- }, z.core.$strict>>;
11679
11963
  }, z.core.$strict>;
11680
11964
 
11681
11965
  export declare type ResolvedKayAppWhiteboardType = z.infer<typeof ResolvedKayAppWhiteboardType>;
@@ -12047,6 +12331,7 @@ export declare const ResolvedPluginAuthService: z.ZodObject<{
12047
12331
  external: "external";
12048
12332
  embedded: "embedded";
12049
12333
  }>;
12334
+ signInFirst: z.ZodOptional<z.ZodString>;
12050
12335
  }, z.core.$strict>>;
12051
12336
  }, z.core.$strict>;
12052
12337
 
@@ -12088,9 +12373,8 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12088
12373
  storage: "storage";
12089
12374
  uriModule: "uriModule";
12090
12375
  authService: "authService";
12091
- app: "app";
12092
12376
  command: "command";
12093
- configSection: "configSection";
12377
+ app: "app";
12094
12378
  skill: "skill";
12095
12379
  converter: "converter";
12096
12380
  artifactUriModule: "artifactUriModule";
@@ -12113,11 +12397,9 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12113
12397
  mcpServer: "mcpServer";
12114
12398
  uiCommand: "uiCommand";
12115
12399
  uiSlot: "uiSlot";
12116
- settingsPanel: "settingsPanel";
12117
- resultRenderer: "resultRenderer";
12118
12400
  referencePresentation: "referencePresentation";
12119
- view: "view";
12120
12401
  theme: "theme";
12402
+ configSection: "configSection";
12121
12403
  }>;
12122
12404
  localId: z.ZodString;
12123
12405
  globalId: z.ZodString;
@@ -12286,6 +12568,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12286
12568
  external: "external";
12287
12569
  embedded: "embedded";
12288
12570
  }>;
12571
+ signInFirst: z.ZodOptional<z.ZodString>;
12289
12572
  }, z.core.$strict>>;
12290
12573
  }, z.core.$strict>>;
12291
12574
  grants: z.ZodOptional<z.ZodObject<{
@@ -12745,6 +13028,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12745
13028
  authSchemeId: z.ZodOptional<z.ZodString>;
12746
13029
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
12747
13030
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
13031
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
12748
13032
  }, z.core.$strict>>>;
12749
13033
  kayAgentArtifactUriModules: z.ZodOptional<z.ZodArray<z.ZodObject<{
12750
13034
  localId: z.ZodString;
@@ -12968,9 +13252,6 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12968
13252
  bodyField: z.ZodString;
12969
13253
  }, z.core.$strict>], "kind">;
12970
13254
  valueSchema: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
12971
- presentation: z.ZodOptional<z.ZodObject<{
12972
- app: z.ZodString;
12973
- }, z.core.$strict>>;
12974
13255
  }, z.core.$strict>>>;
12975
13256
  kayAppMcpServers: z.ZodOptional<z.ZodArray<z.ZodObject<{
12976
13257
  name: z.ZodString;
@@ -12996,6 +13277,29 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
12996
13277
  uriModule: z.ZodOptional<z.ZodString>;
12997
13278
  schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
12998
13279
  displayName: z.ZodOptional<z.ZodString>;
13280
+ authService: z.ZodOptional<z.ZodString>;
13281
+ accountLinks: z.ZodOptional<z.ZodObject<{
13282
+ label: z.ZodOptional<z.ZodEnum<{
13283
+ email: "email";
13284
+ name: "name";
13285
+ }>>;
13286
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
13287
+ hostname: z.ZodString;
13288
+ pathname: z.ZodOptional<z.ZodString>;
13289
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
13290
+ setPathname: z.ZodOptional<z.ZodString>;
13291
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
13292
+ }, z.core.$strict>>>;
13293
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
13294
+ pattern: z.ZodObject<{
13295
+ protocol: z.ZodString;
13296
+ hostname: z.ZodString;
13297
+ pathname: z.ZodOptional<z.ZodString>;
13298
+ search: z.ZodOptional<z.ZodString>;
13299
+ }, z.core.$strict>;
13300
+ url: z.ZodString;
13301
+ }, z.core.$strict>>>;
13302
+ }, z.core.$strict>>;
12999
13303
  addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
13000
13304
  pattern: z.ZodObject<{
13001
13305
  protocol: z.ZodString;
@@ -13016,6 +13320,9 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
13016
13320
  }, z.core.$strict>, z.ZodObject<{
13017
13321
  kind: z.ZodLiteral<"page">;
13018
13322
  pageId: z.ZodString;
13323
+ }, z.core.$strict>, z.ZodObject<{
13324
+ kind: z.ZodLiteral<"local-app">;
13325
+ schemes: z.ZodArray<z.ZodString>;
13019
13326
  }, z.core.$strict>], "kind">>;
13020
13327
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
13021
13328
  resourceKind: z.ZodString;
@@ -13141,9 +13448,8 @@ export declare const ResolvedPluginContributionId: z.ZodObject<{
13141
13448
  storage: "storage";
13142
13449
  uriModule: "uriModule";
13143
13450
  authService: "authService";
13144
- app: "app";
13145
13451
  command: "command";
13146
- configSection: "configSection";
13452
+ app: "app";
13147
13453
  skill: "skill";
13148
13454
  converter: "converter";
13149
13455
  artifactUriModule: "artifactUriModule";
@@ -13166,11 +13472,9 @@ export declare const ResolvedPluginContributionId: z.ZodObject<{
13166
13472
  mcpServer: "mcpServer";
13167
13473
  uiCommand: "uiCommand";
13168
13474
  uiSlot: "uiSlot";
13169
- settingsPanel: "settingsPanel";
13170
- resultRenderer: "resultRenderer";
13171
13475
  referencePresentation: "referencePresentation";
13172
- view: "view";
13173
13476
  theme: "theme";
13477
+ configSection: "configSection";
13174
13478
  }>;
13175
13479
  localId: z.ZodString;
13176
13480
  globalId: z.ZodString;
@@ -13506,6 +13810,7 @@ export declare const ResolvedPluginWebSession: z.ZodObject<{
13506
13810
  external: "external";
13507
13811
  embedded: "embedded";
13508
13812
  }>;
13813
+ signInFirst: z.ZodOptional<z.ZodString>;
13509
13814
  }, z.core.$strict>;
13510
13815
 
13511
13816
  export declare type ResolvedPluginWebSession = z.infer<typeof ResolvedPluginWebSession>;
@@ -13516,6 +13821,29 @@ export declare const ResolvedReferencePresentation: z.ZodObject<{
13516
13821
  uriModule: z.ZodOptional<z.ZodString>;
13517
13822
  schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
13518
13823
  displayName: z.ZodOptional<z.ZodString>;
13824
+ authService: z.ZodOptional<z.ZodString>;
13825
+ accountLinks: z.ZodOptional<z.ZodObject<{
13826
+ label: z.ZodOptional<z.ZodEnum<{
13827
+ email: "email";
13828
+ name: "name";
13829
+ }>>;
13830
+ pages: z.ZodOptional<z.ZodArray<z.ZodObject<{
13831
+ hostname: z.ZodString;
13832
+ pathname: z.ZodOptional<z.ZodString>;
13833
+ unlessPathname: z.ZodOptional<z.ZodArray<z.ZodString>>;
13834
+ setPathname: z.ZodOptional<z.ZodString>;
13835
+ addQuery: z.ZodRecord<z.ZodString, z.ZodString>;
13836
+ }, z.core.$strict>>>;
13837
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
13838
+ pattern: z.ZodObject<{
13839
+ protocol: z.ZodString;
13840
+ hostname: z.ZodString;
13841
+ pathname: z.ZodOptional<z.ZodString>;
13842
+ search: z.ZodOptional<z.ZodString>;
13843
+ }, z.core.$strict>;
13844
+ url: z.ZodString;
13845
+ }, z.core.$strict>>>;
13846
+ }, z.core.$strict>>;
13519
13847
  addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
13520
13848
  pattern: z.ZodObject<{
13521
13849
  protocol: z.ZodString;
@@ -13536,6 +13864,9 @@ export declare const ResolvedReferencePresentation: z.ZodObject<{
13536
13864
  }, z.core.$strict>, z.ZodObject<{
13537
13865
  kind: z.ZodLiteral<"page">;
13538
13866
  pageId: z.ZodString;
13867
+ }, z.core.$strict>, z.ZodObject<{
13868
+ kind: z.ZodLiteral<"local-app">;
13869
+ schemes: z.ZodArray<z.ZodString>;
13539
13870
  }, z.core.$strict>], "kind">>;
13540
13871
  variants: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
13541
13872
  resourceKind: z.ZodString;
@@ -13742,13 +14073,6 @@ export declare const ResourceContribution: z.ZodObject<{
13742
14073
 
13743
14074
  export declare type ResourceContribution = z.infer<typeof ResourceContribution>;
13744
14075
 
13745
- export declare const ResultRendererContribution: z.ZodObject<{
13746
- localId: z.ZodString;
13747
- resultKinds: z.ZodArray<z.ZodString>;
13748
- }, z.core.$strict>;
13749
-
13750
- export declare type ResultRendererContribution = z.infer<typeof ResultRendererContribution>;
13751
-
13752
14076
  /**
13753
14077
  * What a plugin declares about the host it can run under.
13754
14078
  *
@@ -13815,14 +14139,6 @@ export declare interface RetiredPermissionAsks {
13815
14139
  */
13816
14140
  export declare function retiredPermissionAsksIn(rawManifest: unknown): readonly RetiredPermissionAsks[];
13817
14141
 
13818
- export declare const RichViewContribution: z.ZodObject<{
13819
- localId: z.ZodString;
13820
- title: z.ZodString;
13821
- route: z.ZodOptional<z.ZodString>;
13822
- }, z.core.$strict>;
13823
-
13824
- export declare type RichViewContribution = z.infer<typeof RichViewContribution>;
13825
-
13826
14142
  /** Whether a `where` holds for one row. A field the row doesn't have is absent, not unknown. */
13827
14143
  export declare function rowMatchesWhere(where: Where, row: Readonly<Record<string, unknown>>): boolean;
13828
14144
 
@@ -14263,18 +14579,13 @@ export declare const SessionRelationship: z.ZodDiscriminatedUnion<[z.ZodObject<{
14263
14579
 
14264
14580
  export declare type SessionRelationship = z.infer<typeof SessionRelationship>;
14265
14581
 
14266
- export declare const SettingsPanelContribution: z.ZodObject<{
14267
- localId: z.ZodString;
14268
- title: z.ZodString;
14269
- configSection: z.ZodOptional<z.ZodString>;
14270
- }, z.core.$strict>;
14271
-
14272
- export declare type SettingsPanelContribution = z.infer<typeof SettingsPanelContribution>;
14273
-
14274
14582
  export declare const SignedInStatusCode: z.ZodNumber;
14275
14583
 
14276
14584
  export declare type SignedInStatusCode = z.infer<typeof SignedInStatusCode>;
14277
14585
 
14586
+ /** A single visibility condition (state, item, or index). */
14587
+ declare type SingleCondition = StateCondition | ItemCondition | IndexCondition;
14588
+
14278
14589
  export declare const SkillContribution: z.ZodObject<{
14279
14590
  localId: z.ZodString;
14280
14591
  displayName: z.ZodOptional<z.ZodString>;
@@ -14322,6 +14633,31 @@ export declare type SkillSuggestionEvidenceRef = {
14322
14633
  readonly raw: string;
14323
14634
  };
14324
14635
 
14636
+ /**
14637
+ * Flat UI tree structure (optimized for LLM generation)
14638
+ */
14639
+ declare interface Spec {
14640
+ /** Root element key */
14641
+ root: string;
14642
+ /** Flat map of elements by key */
14643
+ elements: Record<string, UIElement>;
14644
+ /** Optional initial state to seed the state model.
14645
+ * Components using statePath will read from / write to this state. */
14646
+ state?: Record<string, unknown>;
14647
+ }
14648
+
14649
+ /**
14650
+ * A single state-based condition.
14651
+ * Resolves `$state` to a value from the state model, then applies the operator.
14652
+ * Without an operator, checks truthiness.
14653
+ *
14654
+ * When `not` is `true`, the result of the entire condition is inverted.
14655
+ * For example `{ $state: "/count", gt: 5, not: true }` means "NOT greater than 5".
14656
+ */
14657
+ declare type StateCondition = {
14658
+ $state: string;
14659
+ } & ComparisonOperators;
14660
+
14325
14661
  export declare const StorageGrantRequest: z.ZodObject<{
14326
14662
  kind: z.ZodEnum<{
14327
14663
  sqlite: "sqlite";
@@ -14849,6 +15185,9 @@ export declare const UiAppContribution: z.ZodObject<{
14849
15185
 
14850
15186
  export declare type UiAppContribution = z.infer<typeof UiAppContribution>;
14851
15187
 
15188
+ /** Where a source entry's compiled stylesheet sits in its package, beside the entry. */
15189
+ export declare function uiAppSourceStylePath(module: string): string;
15190
+
14852
15191
  export declare const UiCommandContribution: z.ZodObject<{
14853
15192
  localId: z.ZodString;
14854
15193
  title: z.ZodString;
@@ -14866,6 +15205,33 @@ export declare type UiCommandContribution = z.infer<typeof UiCommandContribution
14866
15205
 
14867
15206
  declare type UiContributes = NonNullable<KayUiTargetManifest["contributes"]>;
14868
15207
 
15208
+ /**
15209
+ * Base UI element structure for v2
15210
+ */
15211
+ declare interface UIElement<T extends string = string, P = Record<string, unknown>> {
15212
+ /** Component type from the catalog */
15213
+ type: T;
15214
+ /** Component props */
15215
+ props: P;
15216
+ /** Child element keys (flat structure) */
15217
+ children?: string[];
15218
+ /** Visibility condition */
15219
+ visible?: VisibilityCondition;
15220
+ /** Event bindings — maps event names to action bindings */
15221
+ on?: Record<string, ActionBinding | ActionBinding[]>;
15222
+ /** Repeat children once per item in a state array */
15223
+ repeat?: {
15224
+ statePath: string;
15225
+ key?: string;
15226
+ };
15227
+ /**
15228
+ * State watchers — maps JSON Pointer state paths to action bindings.
15229
+ * When the value at a watched path changes, the bound actions fire.
15230
+ * Useful for cascading dependencies (e.g. country → city option loading).
15231
+ */
15232
+ watch?: Record<string, ActionBinding | ActionBinding[]>;
15233
+ }
15234
+
14869
15235
  export declare const UiEventSubscriptionContribution: z.ZodObject<{
14870
15236
  localId: z.ZodString;
14871
15237
  event: z.ZodString;
@@ -14931,6 +15297,7 @@ export declare const UriModuleContribution: z.ZodObject<{
14931
15297
  authScheme: z.ZodOptional<z.ZodString>;
14932
15298
  knownResources: z.ZodOptional<z.ZodLiteral<true>>;
14933
15299
  describesOperations: z.ZodOptional<z.ZodLiteral<true>>;
15300
+ looksUpWebLinks: z.ZodOptional<z.ZodLiteral<true>>;
14934
15301
  claims: z.ZodExactOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
14935
15302
  kind: z.ZodLiteral<"scheme">;
14936
15303
  scheme: z.ZodString;
@@ -15275,6 +15642,16 @@ export declare function validateKayUiEventSubscription(event: string, definedPlu
15275
15642
  readonly message: string;
15276
15643
  };
15277
15644
 
15645
+ /**
15646
+ * Visibility condition types.
15647
+ * - `boolean` — always/never
15648
+ * - `SingleCondition` — single condition (`$state`, `$item`, or `$index`)
15649
+ * - `SingleCondition[]` — implicit AND (all must be true)
15650
+ * - `AndCondition` — `{ $and: [...] }`, explicit AND (all must be true)
15651
+ * - `OrCondition` — `{ $or: [...] }`, at least one must be true
15652
+ */
15653
+ declare type VisibilityCondition = boolean | SingleCondition | SingleCondition[] | AndCondition | OrCondition;
15654
+
15278
15655
  /**
15279
15656
  * The one element a CSRF token is read from, as a COMPOUND SIMPLE selector: an optional tag
15280
15657
  * followed by any number of `#id` and `[attr]` / `[attr=value]` predicates, all on that one
@@ -15324,8 +15701,12 @@ export declare type Where = {
15324
15701
  } | {
15325
15702
  readonly kind: "equals";
15326
15703
  readonly key: string;
15327
- readonly value: boolean | string;
15704
+ readonly value: WhereLiteral;
15328
15705
  readonly negated: boolean;
15706
+ } | {
15707
+ readonly kind: "contains";
15708
+ readonly key: string;
15709
+ readonly value: WhereLiteral;
15329
15710
  } | {
15330
15711
  readonly kind: "not";
15331
15712
  readonly operand: Where;
@@ -15341,9 +15722,33 @@ declare const WHERE_KEY_TYPES: {
15341
15722
  readonly "app.channel": "string";
15342
15723
  };
15343
15724
 
15725
+ /** The longest `where`: the largest a rule file can be, so anything that loaded still loads. */
15726
+ export declare const WHERE_MAX_BYTES: number;
15727
+
15728
+ /**
15729
+ * The old list form of `where`, written as an expression: each clause is
15730
+ * `path == value`, or `(path == value || path contains value)` where `looksInsideLists` says so, and
15731
+ * all must hold. A path spelled `true`, `false` or as a number never resolved to anything, so its
15732
+ * clause is `false`. Undefined when the list isn't a non-empty list of `{ path, equals }`.
15733
+ */
15734
+ export declare function whereClausesAsExpression(clauses: unknown, looksInsideLists?: (path: string) => boolean): string | undefined;
15735
+
15344
15736
  /** What a caller's keys are, when it has a fixed set. A bare string key must be compared. */
15345
15737
  export declare type WhereKeyTypes = Readonly<Record<string, "boolean" | "string">>;
15346
15738
 
15739
+ export declare type WhereKeyUse = "bare" | "compared" | "contained";
15740
+
15741
+ /** Every key an expression reads, each with how that read uses it. */
15742
+ export declare function whereKeyUses(where: Where): readonly {
15743
+ readonly key: string;
15744
+ readonly use: WhereKeyUse;
15745
+ }[];
15746
+
15747
+ export declare type WhereLiteral = boolean | number | string;
15748
+
15749
+ /** Why a value that isn't a string can't be a `where`, showing an old list in its new form. */
15750
+ export declare function whereNotAStringMessage(value: unknown): string;
15751
+
15347
15752
  export declare type WhereParseResult = {
15348
15753
  readonly ok: true;
15349
15754
  readonly where: Where;
@@ -15352,6 +15757,9 @@ export declare type WhereParseResult = {
15352
15757
  readonly message: string;
15353
15758
  };
15354
15759
 
15760
+ /** Why a value can't be a saved `where`, or undefined when it can. */
15761
+ export declare function whereProblem(value: unknown): string | undefined;
15762
+
15355
15763
  /** Construct the exact claim row for one Whiteboard scope and operation. */
15356
15764
  export declare function whiteboardCapabilityClaim(operation: WhiteboardCapabilityOperation, scope: WhiteboardCapabilityScope, target?: "kay.agent"): WhiteboardCapabilityClaimV1;
15357
15765
 
@@ -15510,9 +15918,6 @@ export declare const WhiteboardTypeContribution: z.ZodObject<{
15510
15918
  bodyField: z.ZodString;
15511
15919
  }, z.core.$strict>], "kind">;
15512
15920
  valueSchema: z.ZodRecord<z.ZodString, z.ZodType<authoringCommonSchemas.JsonValue, unknown, z.core.$ZodTypeInternals<authoringCommonSchemas.JsonValue, unknown>>>;
15513
- presentation: z.ZodOptional<z.ZodObject<{
15514
- app: z.ZodString;
15515
- }, z.core.$strict>>;
15516
15921
  }, z.core.$strict>;
15517
15922
 
15518
15923
  export declare type WhiteboardTypeContribution = z.infer<typeof WhiteboardTypeContribution>;
@@ -15522,9 +15927,6 @@ export declare const WhiteboardTypeInfo: z.ZodObject<{
15522
15927
  displayName: z.ZodString;
15523
15928
  schemaVersion: z.ZodNumber;
15524
15929
  available: z.ZodBoolean;
15525
- presentation: z.ZodOptional<z.ZodObject<{
15526
- app: z.ZodString;
15527
- }, z.core.$strict>>;
15528
15930
  }, z.core.$strict>;
15529
15931
 
15530
15932
  export declare type WhiteboardTypeInfo = Readonly<z.infer<typeof WhiteboardTypeInfo>>;