@yaklabs-ai/plugin-protocol 0.54.1 → 0.54.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -11,7 +11,7 @@ flow.
11
11
  ```json
12
12
  {
13
13
  "dependencies": {
14
- "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.54.1"
14
+ "@bonsai/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.54.2"
15
15
  }
16
16
  }
17
17
  ```
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "package": "@yaklabs-ai/plugin-protocol",
4
- "version": "0.54.1",
4
+ "version": "0.54.2",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [
package/dist/index.d.ts CHANGED
@@ -1801,6 +1801,7 @@ declare namespace authoringContributionSchemas {
1801
1801
  AppDataSourceContribution,
1802
1802
  WhiteboardTypeStorage,
1803
1803
  WhiteboardTypeContribution,
1804
+ WorkingDocumentProviderContribution,
1804
1805
  AppDataMaterializerContribution,
1805
1806
  ArtifactUriModuleContribution,
1806
1807
  CliBindingContribution,
@@ -2770,6 +2771,23 @@ declare const canonicalContributionSchemas: {
2770
2771
  }, z.core.$strict>>;
2771
2772
  handover: z.ZodOptional<z.ZodLiteral<true>>;
2772
2773
  }, z.core.$strict>;
2774
+ WorkingDocumentProviderContribution: z.ZodObject<{
2775
+ localId: z.ZodString;
2776
+ displayName: z.ZodString;
2777
+ schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
2778
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
2779
+ authService: z.ZodOptional<z.ZodString>;
2780
+ authScheme: z.ZodOptional<z.ZodString>;
2781
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
2782
+ purpose: z.ZodString;
2783
+ alternatives: z.ZodArray<z.ZodObject<{
2784
+ allOf: z.ZodArray<z.ZodObject<{
2785
+ scope: z.ZodString;
2786
+ reason: z.ZodExactOptional<z.ZodString>;
2787
+ }, z.core.$strict>>;
2788
+ }, z.core.$strict>>;
2789
+ }, z.core.$strict>>;
2790
+ }, z.core.$strict>;
2773
2791
  AppDataMaterializerContribution: z.ZodObject<{
2774
2792
  source: z.ZodString;
2775
2793
  }, z.core.$strict>;
@@ -3512,6 +3530,7 @@ declare const canonicalContributionSchemas: {
3512
3530
  eventSubscription: "eventSubscription";
3513
3531
  appDataSource: "appDataSource";
3514
3532
  whiteboardType: "whiteboardType";
3533
+ workingDocumentProvider: "workingDocumentProvider";
3515
3534
  approvalType: "approvalType";
3516
3535
  workflow: "workflow";
3517
3536
  contextContributor: "contextContributor";
@@ -4897,8 +4916,13 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
4897
4916
  *
4898
4917
  * 0.54.1 adds manifest-declared plugin workers on both backend targets and exposes the canonical
4899
4918
  * transcript placement and answer-stretch rules through the SDK.
4919
+ *
4920
+ * 0.54.2 lets a signal list the files that came with it (epic #15668). `PluginSignal` gains an
4921
+ * optional `attachments`: each file's name, media type, size and the address its bytes are read
4922
+ * from, never the bytes. Gmail lists a mail's attachments there, so Flows can file them. Additive:
4923
+ * a plugin that publishes attachments declares ^0.54.2.
4900
4924
  */
4901
- export declare const KAY_PLUGIN_SDK_VERSION: "0.54.1";
4925
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.54.2";
4902
4926
 
4903
4927
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
4904
4928
 
@@ -5574,6 +5598,23 @@ export declare const KayAppTargetManifest: z.ZodObject<{
5574
5598
  }, z.core.$strict>>;
5575
5599
  handover: z.ZodOptional<z.ZodLiteral<true>>;
5576
5600
  }, z.core.$strict>>>;
5601
+ workingDocumentProviders: z.ZodOptional<z.ZodArray<z.ZodObject<{
5602
+ localId: z.ZodString;
5603
+ displayName: z.ZodString;
5604
+ schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5605
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
5606
+ authService: z.ZodOptional<z.ZodString>;
5607
+ authScheme: z.ZodOptional<z.ZodString>;
5608
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
5609
+ purpose: z.ZodString;
5610
+ alternatives: z.ZodArray<z.ZodObject<{
5611
+ allOf: z.ZodArray<z.ZodObject<{
5612
+ scope: z.ZodString;
5613
+ reason: z.ZodExactOptional<z.ZodString>;
5614
+ }, z.core.$strict>>;
5615
+ }, z.core.$strict>>;
5616
+ }, z.core.$strict>>;
5617
+ }, z.core.$strict>>>;
5577
5618
  approvalTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
5578
5619
  localId: z.ZodString;
5579
5620
  kind: z.ZodLiteral<"message">;
@@ -6509,6 +6550,23 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6509
6550
  }, z.core.$strict>>;
6510
6551
  handover: z.ZodOptional<z.ZodLiteral<true>>;
6511
6552
  }, z.core.$strict>>>;
6553
+ workingDocumentProviders: z.ZodOptional<z.ZodArray<z.ZodObject<{
6554
+ localId: z.ZodString;
6555
+ displayName: z.ZodString;
6556
+ schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
6557
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
6558
+ authService: z.ZodOptional<z.ZodString>;
6559
+ authScheme: z.ZodOptional<z.ZodString>;
6560
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
6561
+ purpose: z.ZodString;
6562
+ alternatives: z.ZodArray<z.ZodObject<{
6563
+ allOf: z.ZodArray<z.ZodObject<{
6564
+ scope: z.ZodString;
6565
+ reason: z.ZodExactOptional<z.ZodString>;
6566
+ }, z.core.$strict>>;
6567
+ }, z.core.$strict>>;
6568
+ }, z.core.$strict>>;
6569
+ }, z.core.$strict>>>;
6512
6570
  approvalTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
6513
6571
  localId: z.ZodString;
6514
6572
  kind: z.ZodLiteral<"message">;
@@ -8673,6 +8731,15 @@ export declare const PLUGIN_NOTIFICATION_RULE_HOST_KEYS: readonly ["id", "match"
8673
8731
  */
8674
8732
  export declare const PLUGIN_PRODUCT_EVENT_NAME_PATTERN: RegExp;
8675
8733
 
8734
+ /** An attachment's file name, at most this many characters. */
8735
+ export declare const PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX = 255;
8736
+
8737
+ /** An attachment's media type (`application/pdf`), at most this many characters. */
8738
+ export declare const PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX = 127;
8739
+
8740
+ /** At most this many entries in a signal's `attachments`; a source lists the first ones. */
8741
+ export declare const PLUGIN_SIGNAL_ATTACHMENTS_MAX = 10;
8742
+
8676
8743
  /** The `kind` values of `PluginSignal` v1. `status` is system state that clears itself. */
8677
8744
  export declare const PLUGIN_SIGNAL_KINDS: readonly ["message", "request", "mention", "invite", "status"];
8678
8745
 
@@ -11386,6 +11453,7 @@ export declare const PluginContributionKind: z.ZodEnum<{
11386
11453
  eventSubscription: "eventSubscription";
11387
11454
  appDataSource: "appDataSource";
11388
11455
  whiteboardType: "whiteboardType";
11456
+ workingDocumentProvider: "workingDocumentProvider";
11389
11457
  approvalType: "approvalType";
11390
11458
  workflow: "workflow";
11391
11459
  contextContributor: "contextContributor";
@@ -12415,6 +12483,12 @@ export declare const PluginSignal: z.ZodObject<{
12415
12483
  open: "open";
12416
12484
  resolved: "resolved";
12417
12485
  }>>;
12486
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
12487
+ name: z.ZodString;
12488
+ type: z.ZodString;
12489
+ size: z.ZodNumber;
12490
+ uri: z.ZodString;
12491
+ }, z.core.$strict>>>;
12418
12492
  }, z.core.$strict>;
12419
12493
 
12420
12494
  export declare type PluginSignal = z.infer<typeof PluginSignal>;
@@ -12459,6 +12533,12 @@ export declare const PluginSignalPublish: z.ZodObject<{
12459
12533
  open: "open";
12460
12534
  resolved: "resolved";
12461
12535
  }>>;
12536
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
12537
+ name: z.ZodString;
12538
+ type: z.ZodString;
12539
+ size: z.ZodNumber;
12540
+ uri: z.ZodString;
12541
+ }, z.core.$strict>>>;
12462
12542
  }, z.core.$strict>;
12463
12543
  related: z.ZodObject<{
12464
12544
  thread: z.ZodString;
@@ -13567,6 +13647,27 @@ export declare const ResolvedKayAppWorkflow: z.ZodObject<{
13567
13647
 
13568
13648
  export declare type ResolvedKayAppWorkflow = z.infer<typeof ResolvedKayAppWorkflow>;
13569
13649
 
13650
+ export declare const ResolvedKayAppWorkingDocumentProvider: z.ZodObject<{
13651
+ localId: z.ZodString;
13652
+ globalId: z.ZodString;
13653
+ displayName: z.ZodString;
13654
+ schemes: z.ZodArray<z.ZodString>;
13655
+ hosts: z.ZodArray<z.ZodString>;
13656
+ authServiceId: z.ZodOptional<z.ZodString>;
13657
+ authSchemeId: z.ZodOptional<z.ZodString>;
13658
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
13659
+ purpose: z.ZodString;
13660
+ alternatives: z.ZodArray<z.ZodObject<{
13661
+ allOf: z.ZodArray<z.ZodObject<{
13662
+ scope: z.ZodString;
13663
+ reason: z.ZodExactOptional<z.ZodString>;
13664
+ }, z.core.$strict>>;
13665
+ }, z.core.$strict>>;
13666
+ }, z.core.$strict>>;
13667
+ }, z.core.$strict>;
13668
+
13669
+ export declare type ResolvedKayAppWorkingDocumentProvider = z.infer<typeof ResolvedKayAppWorkingDocumentProvider>;
13670
+
13570
13671
  export declare const ResolvedKayUiApp: z.ZodObject<{
13571
13672
  localId: z.ZodString;
13572
13673
  globalId: z.ZodString;
@@ -14054,6 +14155,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
14054
14155
  eventSubscription: "eventSubscription";
14055
14156
  appDataSource: "appDataSource";
14056
14157
  whiteboardType: "whiteboardType";
14158
+ workingDocumentProvider: "workingDocumentProvider";
14057
14159
  approvalType: "approvalType";
14058
14160
  workflow: "workflow";
14059
14161
  contextContributor: "contextContributor";
@@ -15113,6 +15215,24 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
15113
15215
  handover: z.ZodOptional<z.ZodLiteral<true>>;
15114
15216
  globalId: z.ZodString;
15115
15217
  }, z.core.$strict>>>;
15218
+ kayAppWorkingDocumentProviders: z.ZodOptional<z.ZodArray<z.ZodObject<{
15219
+ localId: z.ZodString;
15220
+ globalId: z.ZodString;
15221
+ displayName: z.ZodString;
15222
+ schemes: z.ZodArray<z.ZodString>;
15223
+ hosts: z.ZodArray<z.ZodString>;
15224
+ authServiceId: z.ZodOptional<z.ZodString>;
15225
+ authSchemeId: z.ZodOptional<z.ZodString>;
15226
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
15227
+ purpose: z.ZodString;
15228
+ alternatives: z.ZodArray<z.ZodObject<{
15229
+ allOf: z.ZodArray<z.ZodObject<{
15230
+ scope: z.ZodString;
15231
+ reason: z.ZodExactOptional<z.ZodString>;
15232
+ }, z.core.$strict>>;
15233
+ }, z.core.$strict>>;
15234
+ }, z.core.$strict>>;
15235
+ }, z.core.$strict>>>;
15116
15236
  kayAppMcpServers: z.ZodOptional<z.ZodArray<z.ZodObject<{
15117
15237
  name: z.ZodString;
15118
15238
  pluginId: z.ZodString;
@@ -15344,6 +15464,7 @@ export declare const ResolvedPluginContributionId: z.ZodObject<{
15344
15464
  eventSubscription: "eventSubscription";
15345
15465
  appDataSource: "appDataSource";
15346
15466
  whiteboardType: "whiteboardType";
15467
+ workingDocumentProvider: "workingDocumentProvider";
15347
15468
  approvalType: "approvalType";
15348
15469
  workflow: "workflow";
15349
15470
  contextContributor: "contextContributor";
@@ -18190,4 +18311,24 @@ export declare const WorkflowContribution: z.ZodObject<{
18190
18311
 
18191
18312
  export declare type WorkflowContribution = z.infer<typeof WorkflowContribution>;
18192
18313
 
18314
+ export declare const WorkingDocumentProviderContribution: z.ZodObject<{
18315
+ localId: z.ZodString;
18316
+ displayName: z.ZodString;
18317
+ schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
18318
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
18319
+ authService: z.ZodOptional<z.ZodString>;
18320
+ authScheme: z.ZodOptional<z.ZodString>;
18321
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
18322
+ purpose: z.ZodString;
18323
+ alternatives: z.ZodArray<z.ZodObject<{
18324
+ allOf: z.ZodArray<z.ZodObject<{
18325
+ scope: z.ZodString;
18326
+ reason: z.ZodExactOptional<z.ZodString>;
18327
+ }, z.core.$strict>>;
18328
+ }, z.core.$strict>>;
18329
+ }, z.core.$strict>>;
18330
+ }, z.core.$strict>;
18331
+
18332
+ export declare type WorkingDocumentProviderContribution = z.infer<typeof WorkingDocumentProviderContribution>;
18333
+
18193
18334
  export { }
package/dist/index.js CHANGED
@@ -260,8 +260,9 @@ var JsonSchema = z4.record(z4.string(), JsonValue);
260
260
  var KAY_PLUGIN_MANIFEST_SIZE_CAP_BYTES = 1024 * 1024;
261
261
  var KAY_PLUGIN_PROTOCOL_VERSION = "kay.plugin.v1";
262
262
  var KAY_PLUGIN_PROTOCOL_PACKAGE_NAME = "@bonsai/plugin-protocol";
263
- var KAY_PLUGIN_SDK_VERSION = "0.54.1";
263
+ var KAY_PLUGIN_SDK_VERSION = "0.54.2";
264
264
  var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
265
+ "0.54.1",
265
266
  "0.54.0",
266
267
  "0.53.0",
267
268
  "0.52.1",
@@ -2934,6 +2935,7 @@ __export(contributions_exports, {
2934
2935
  WhiteboardTypeContribution: () => WhiteboardTypeContribution,
2935
2936
  WhiteboardTypeStorage: () => WhiteboardTypeStorage,
2936
2937
  WorkflowContribution: () => WorkflowContribution,
2938
+ WorkingDocumentProviderContribution: () => WorkingDocumentProviderContribution,
2937
2939
  canonicalContributionSchemas: () => canonicalContributionSchemas,
2938
2940
  isUiAppSourceModule: () => isUiAppSourceModule,
2939
2941
  uiAppSourceStylePath: () => uiAppSourceStylePath
@@ -2945,6 +2947,9 @@ var plugin_events_exports = {};
2945
2947
  __export(plugin_events_exports, {
2946
2948
  PLUGIN_EVENT_ID_MAX_BYTES: () => PLUGIN_EVENT_ID_MAX_BYTES,
2947
2949
  PLUGIN_EVENT_REFUSED_ERROR_NAME: () => PLUGIN_EVENT_REFUSED_ERROR_NAME,
2950
+ PLUGIN_SIGNAL_ATTACHMENTS_MAX: () => PLUGIN_SIGNAL_ATTACHMENTS_MAX,
2951
+ PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX: () => PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX,
2952
+ PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX: () => PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX,
2948
2953
  PLUGIN_SIGNAL_KINDS: () => PLUGIN_SIGNAL_KINDS,
2949
2954
  PLUGIN_SIGNAL_LABELS_MAX: () => PLUGIN_SIGNAL_LABELS_MAX,
2950
2955
  PLUGIN_SIGNAL_LABEL_MAX: () => PLUGIN_SIGNAL_LABEL_MAX,
@@ -2980,6 +2985,9 @@ var PLUGIN_SIGNAL_TITLE_MAX = 300;
2980
2985
  var PLUGIN_SIGNAL_SNIPPET_MAX = 500;
2981
2986
  var PLUGIN_SIGNAL_LABELS_MAX = 20;
2982
2987
  var PLUGIN_SIGNAL_LABEL_MAX = 64;
2988
+ var PLUGIN_SIGNAL_ATTACHMENTS_MAX = 10;
2989
+ var PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX = 255;
2990
+ var PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX = 127;
2983
2991
  var PLUGIN_SIGNAL_RELATED_KEYS = [
2984
2992
  "thread",
2985
2993
  "from",
@@ -3051,7 +3059,19 @@ function createPluginEventsSchemas(canonical) {
3051
3059
  addressed: z12.enum(["direct", "cc", "mention", "group", "none"]).optional(),
3052
3060
  labels: z12.array(z12.string().min(1).max(PLUGIN_SIGNAL_LABEL_MAX)).max(PLUGIN_SIGNAL_LABELS_MAX).optional(),
3053
3061
  dueAt: PluginEventTimestamp2.optional(),
3054
- state: z12.enum(["open", "resolved"]).optional()
3062
+ state: z12.enum(["open", "resolved"]).optional(),
3063
+ /**
3064
+ * Files that came with the item, such as a mail's attachments: each one's name, media type,
3065
+ * size in bytes, and the address its bytes are read from. Never the bytes themselves. A
3066
+ * source leaves out what it knows is not a document of the person's (a mail's inline
3067
+ * signature image), and lists at most `PLUGIN_SIGNAL_ATTACHMENTS_MAX`.
3068
+ */
3069
+ attachments: z12.array(z12.strictObject({
3070
+ name: z12.string().min(1).max(PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX),
3071
+ type: z12.string().min(1).max(PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX),
3072
+ size: z12.number().int().nonnegative(),
3073
+ uri: PluginEventUri2
3074
+ })).max(PLUGIN_SIGNAL_ATTACHMENTS_MAX).optional()
3055
3075
  }).refine((signal) => signal.state === void 0 || signal.kind === "status", {
3056
3076
  message: "state is only for a status signal",
3057
3077
  path: ["state"]
@@ -3886,6 +3906,42 @@ function createContributionsSchemas(canonical) {
3886
3906
  });
3887
3907
  }
3888
3908
  });
3909
+ const WorkingDocumentProviderContribution2 = z14.strictObject({
3910
+ localId: LocalContributionId2,
3911
+ /** What it pulls, as a short noun phrase for copy: `a Google Doc`. */
3912
+ displayName: NonEmptyString3,
3913
+ /** URI schemes it claims (`gdrive`), compared without case. */
3914
+ schemes: z14.array(UriScheme2).min(1).optional(),
3915
+ /** Web hosts it claims (`docs.google.com`), compared without case. */
3916
+ hosts: z14.array(NonEmptyString3).min(1).optional(),
3917
+ /** The sign-in its token comes from, as on a URI module. */
3918
+ authService: AuthServiceReference2.optional(),
3919
+ /** The scheme of `authService` every call uses, as on a URI module. */
3920
+ authScheme: AuthSchemeReference2.optional(),
3921
+ /** What a stored grant must carry; absent means any credential of the scheme. */
3922
+ scopeRequirement: ScopeRequirement2.optional()
3923
+ }).superRefine((provider, ctx) => {
3924
+ if (provider.schemes === void 0 && provider.hosts === void 0) {
3925
+ ctx.addIssue({
3926
+ code: "custom",
3927
+ message: "A working-document provider must claim a scheme or a host."
3928
+ });
3929
+ }
3930
+ if (provider.authService === void 0 !== (provider.authScheme === void 0)) {
3931
+ ctx.addIssue({
3932
+ code: "custom",
3933
+ path: ["authScheme"],
3934
+ message: "authService and authScheme are declared together."
3935
+ });
3936
+ }
3937
+ if (provider.scopeRequirement !== void 0 && provider.authService === void 0) {
3938
+ ctx.addIssue({
3939
+ code: "custom",
3940
+ path: ["scopeRequirement"],
3941
+ message: "A scope requirement needs an authService."
3942
+ });
3943
+ }
3944
+ });
3889
3945
  const WhiteboardTypeStorage2 = z14.discriminatedUnion("kind", [
3890
3946
  z14.strictObject({ kind: z14.literal("json") }),
3891
3947
  z14.strictObject({ kind: z14.literal("payload") }),
@@ -4632,6 +4688,7 @@ function createContributionsSchemas(canonical) {
4632
4688
  "eventSubscription",
4633
4689
  "appDataSource",
4634
4690
  "whiteboardType",
4691
+ "workingDocumentProvider",
4635
4692
  "approvalType",
4636
4693
  "workflow",
4637
4694
  "contextContributor",
@@ -4662,6 +4719,7 @@ function createContributionsSchemas(canonical) {
4662
4719
  AppDataSourceContribution: AppDataSourceContribution2,
4663
4720
  WhiteboardTypeStorage: WhiteboardTypeStorage2,
4664
4721
  WhiteboardTypeContribution: WhiteboardTypeContribution2,
4722
+ WorkingDocumentProviderContribution: WorkingDocumentProviderContribution2,
4665
4723
  AppDataMaterializerContribution: AppDataMaterializerContribution2,
4666
4724
  ArtifactUriModuleContribution: ArtifactUriModuleContribution2,
4667
4725
  CliBindingContribution: CliBindingContribution2,
@@ -4713,7 +4771,7 @@ function createContributionsSchemas(canonical) {
4713
4771
  PluginContributionKind: PluginContributionKind2
4714
4772
  };
4715
4773
  }
4716
- var { ApprovalCardForm, ApprovalCardStoredForm, ApprovalTypeContribution, UriModuleFacts, ToolContribution, ToolPermission, AgentToolContribution, ConverterContribution, UriModuleContribution, AppUriModuleContribution, AppDataSourceContribution, WhiteboardTypeStorage, WhiteboardTypeContribution, AppDataMaterializerContribution, ArtifactUriModuleContribution, CliBindingContribution, GitHostContribution, ResourceContribution, SkillContribution, PluginSkillSourceDeclaration, SearchProviderContribution, InteractionDriverContribution, EntityResolverContribution, AgentRenderContribution, EndpointContribution, PluginCardContribution, WorkflowContribution, McpServerUrl, McpServerAuthMode, McpServerContribution, McpServerContributions, AppEventSubscription, ContextContributorContribution, PluginEventDefinitionContribution, PluginNotificationRuleContribution, PluginProductEventContribution, UiEventSubscriptionContribution, DeviceDelegationContribution, SessionReaderContribution, UiCommandContribution, UiSlotContribution, ReferenceOpenBehavior, ReferencePresentationVariant, ReferencePresentationVariants, ReferencePresentationUriPattern, ReferencePresentationUrlClaim, ReferencePresentationTooltip, ReferencePresentationAddress, ReferencePresentationAccountLinks, ReferencePresentationWords, ReferencePresentationContribution, KayUiAppHostCapability, UiAppCapabilityReference, UiAppCapabilities, UiRailEntryContribution, UiToastPreviewContribution, UiPageContribution, UiAppContribution, ThemeContribution, CommandHandler, CommandContribution, PluginContributionKind } = createContributionsSchemas(false);
4774
+ var { ApprovalCardForm, ApprovalCardStoredForm, ApprovalTypeContribution, UriModuleFacts, ToolContribution, ToolPermission, AgentToolContribution, ConverterContribution, UriModuleContribution, AppUriModuleContribution, AppDataSourceContribution, WhiteboardTypeStorage, WhiteboardTypeContribution, WorkingDocumentProviderContribution, AppDataMaterializerContribution, ArtifactUriModuleContribution, CliBindingContribution, GitHostContribution, ResourceContribution, SkillContribution, PluginSkillSourceDeclaration, SearchProviderContribution, InteractionDriverContribution, EntityResolverContribution, AgentRenderContribution, EndpointContribution, PluginCardContribution, WorkflowContribution, McpServerUrl, McpServerAuthMode, McpServerContribution, McpServerContributions, AppEventSubscription, ContextContributorContribution, PluginEventDefinitionContribution, PluginNotificationRuleContribution, PluginProductEventContribution, UiEventSubscriptionContribution, DeviceDelegationContribution, SessionReaderContribution, UiCommandContribution, UiSlotContribution, ReferenceOpenBehavior, ReferencePresentationVariant, ReferencePresentationVariants, ReferencePresentationUriPattern, ReferencePresentationUrlClaim, ReferencePresentationTooltip, ReferencePresentationAddress, ReferencePresentationAccountLinks, ReferencePresentationWords, ReferencePresentationContribution, KayUiAppHostCapability, UiAppCapabilityReference, UiAppCapabilities, UiRailEntryContribution, UiToastPreviewContribution, UiPageContribution, UiAppContribution, ThemeContribution, CommandHandler, CommandContribution, PluginContributionKind } = createContributionsSchemas(false);
4717
4775
  var canonicalContributionSchemas = createContributionsSchemas(true);
4718
4776
  var UI_APP_SOURCE_MODULE = /\.(?:tsx|ts|jsx)$/;
4719
4777
  function isUiAppSourceModule(module) {
@@ -4868,7 +4926,7 @@ var KAY_UI_NATIVE_EVENT_SUBSCRIPTIONS = [
4868
4926
  var KAY_UI_NATIVE_EVENT_ALLOWLIST = new Set(KAY_UI_NATIVE_EVENT_SUBSCRIPTIONS);
4869
4927
  var RETIRED_COMPATIBILITY_KEYS = ["policy"];
4870
4928
  function createManifestSchemas(canonical) {
4871
- const { AgentRenderContribution: AgentRenderContribution2, ApprovalTypeContribution: ApprovalTypeContribution2, WorkflowContribution: WorkflowContribution2, PluginCardContribution: PluginCardContribution2, AppDataMaterializerContribution: AppDataMaterializerContribution2, AppDataSourceContribution: AppDataSourceContribution2, AppUriModuleContribution: AppUriModuleContribution2, AppEventSubscription: AppEventSubscription2, ArtifactUriModuleContribution: ArtifactUriModuleContribution2, CliBindingContribution: CliBindingContribution2, CommandContribution: CommandContribution2, ContextContributorContribution: ContextContributorContribution2, ConverterContribution: ConverterContribution2, SessionReaderContribution: SessionReaderContribution2, DeviceDelegationContribution: DeviceDelegationContribution2, EndpointContribution: EndpointContribution2, EntityResolverContribution: EntityResolverContribution2, GitHostContribution: GitHostContribution2, McpServerContributions: McpServerContributions2, PluginEventDefinitionContribution: PluginEventDefinitionContribution2, PluginNotificationRuleContribution: PluginNotificationRuleContribution2, PluginProductEventContribution: PluginProductEventContribution2, ResourceContribution: ResourceContribution2, ReferencePresentationContribution: ReferencePresentationContribution2, PluginSkillSourceDeclaration: PluginSkillSourceDeclaration2, InteractionDriverContribution: InteractionDriverContribution2, SearchProviderContribution: SearchProviderContribution2, SkillContribution: SkillContribution2, ThemeContribution: ThemeContribution2, AgentToolContribution: AgentToolContribution2, ToolContribution: ToolContribution2, UiCommandContribution: UiCommandContribution2, UiAppContribution: UiAppContribution2, UiRailEntryContribution: UiRailEntryContribution2, UiToastPreviewContribution: UiToastPreviewContribution2, UiPageContribution: UiPageContribution2, UiEventSubscriptionContribution: UiEventSubscriptionContribution2, UiSlotContribution: UiSlotContribution2, UriModuleContribution: UriModuleContribution2, WhiteboardTypeContribution: WhiteboardTypeContribution2 } = canonical ? canonicalContributionSchemas : contributions_exports;
4929
+ const { AgentRenderContribution: AgentRenderContribution2, ApprovalTypeContribution: ApprovalTypeContribution2, WorkflowContribution: WorkflowContribution2, PluginCardContribution: PluginCardContribution2, AppDataMaterializerContribution: AppDataMaterializerContribution2, AppDataSourceContribution: AppDataSourceContribution2, AppUriModuleContribution: AppUriModuleContribution2, AppEventSubscription: AppEventSubscription2, ArtifactUriModuleContribution: ArtifactUriModuleContribution2, CliBindingContribution: CliBindingContribution2, CommandContribution: CommandContribution2, ContextContributorContribution: ContextContributorContribution2, ConverterContribution: ConverterContribution2, SessionReaderContribution: SessionReaderContribution2, DeviceDelegationContribution: DeviceDelegationContribution2, EndpointContribution: EndpointContribution2, EntityResolverContribution: EntityResolverContribution2, GitHostContribution: GitHostContribution2, McpServerContributions: McpServerContributions2, PluginEventDefinitionContribution: PluginEventDefinitionContribution2, PluginNotificationRuleContribution: PluginNotificationRuleContribution2, PluginProductEventContribution: PluginProductEventContribution2, ResourceContribution: ResourceContribution2, ReferencePresentationContribution: ReferencePresentationContribution2, PluginSkillSourceDeclaration: PluginSkillSourceDeclaration2, InteractionDriverContribution: InteractionDriverContribution2, SearchProviderContribution: SearchProviderContribution2, SkillContribution: SkillContribution2, ThemeContribution: ThemeContribution2, AgentToolContribution: AgentToolContribution2, ToolContribution: ToolContribution2, UiCommandContribution: UiCommandContribution2, UiAppContribution: UiAppContribution2, UiRailEntryContribution: UiRailEntryContribution2, UiToastPreviewContribution: UiToastPreviewContribution2, UiPageContribution: UiPageContribution2, UiEventSubscriptionContribution: UiEventSubscriptionContribution2, UiSlotContribution: UiSlotContribution2, UriModuleContribution: UriModuleContribution2, WhiteboardTypeContribution: WhiteboardTypeContribution2, WorkingDocumentProviderContribution: WorkingDocumentProviderContribution2 } = canonical ? canonicalContributionSchemas : contributions_exports;
4872
4930
  const { HttpsUrl: HttpsUrl2, LocalContributionId: LocalContributionId2, NonEmptyString: NonEmptyString3, PackageAssetPath: PackageAssetPath2, PluginId: PluginId2, PluginNamespace: PluginNamespace2, RegistrableDomain: RegistrableDomain2, SignedInStatusCode: SignedInStatusCode2, TargetEntrypoint: TargetEntrypoint2 } = canonical ? canonicalCommonSchemas : common_exports;
4873
4931
  const { PluginPermissionManifest: PluginPermissionManifest2 } = canonical ? canonicalPermissionSchemas : permissions_exports;
4874
4932
  const KayAgentTargetManifest2 = z18.strictObject({
@@ -4963,6 +5021,8 @@ function createManifestSchemas(canonical) {
4963
5021
  uriModules: z18.array(AppUriModuleContribution2).optional(),
4964
5022
  dataSources: z18.array(AppDataSourceContribution2).optional(),
4965
5023
  whiteboardTypes: z18.array(WhiteboardTypeContribution2).optional(),
5024
+ // Document sources whose pull, push and revision check the app entrypoint registers.
5025
+ workingDocumentProviders: z18.array(WorkingDocumentProviderContribution2).optional(),
4966
5026
  approvalTypes: z18.array(ApprovalTypeContribution2).optional(),
4967
5027
  workflows: z18.array(WorkflowContribution2).optional(),
4968
5028
  eventDefinitions: z18.array(PluginEventDefinitionContribution2).optional(),
@@ -5565,6 +5625,34 @@ function createManifestSchemas(canonical) {
5565
5625
  });
5566
5626
  }
5567
5627
  reportDuplicateLocalIds(ctx, ["targets", "kay", "app", "contributes", "whiteboardTypes"], manifest.targets?.kay?.app?.contributes?.whiteboardTypes, "Whiteboard type");
5628
+ reportDuplicateLocalIds(ctx, ["targets", "kay", "app", "contributes", "workingDocumentProviders"], manifest.targets?.kay?.app?.contributes?.workingDocumentProviders, "Working-document provider");
5629
+ for (const [index, provider] of (manifest.targets?.kay?.app?.contributes?.workingDocumentProviders ?? []).entries()) {
5630
+ const path = [
5631
+ "targets",
5632
+ "kay",
5633
+ "app",
5634
+ "contributes",
5635
+ "workingDocumentProviders",
5636
+ index
5637
+ ];
5638
+ if (manifest.targets?.kay?.app?.entrypoint === void 0) {
5639
+ ctx.addIssue({
5640
+ code: "custom",
5641
+ path,
5642
+ message: `working-document provider ${provider.localId} needs a kay.app entrypoint to implement it`
5643
+ });
5644
+ }
5645
+ if (provider.authService === void 0)
5646
+ continue;
5647
+ const granted = manifest.permissions?.byTarget["kay.app"]?.auth?.some((grant) => grant.service === provider.authService && grant.operations.includes("resolve"));
5648
+ if (granted !== true) {
5649
+ ctx.addIssue({
5650
+ code: "custom",
5651
+ path: [...path, "authService"],
5652
+ message: `working-document provider ${provider.localId} needs a kay.app auth grant that resolves ${provider.authService}`
5653
+ });
5654
+ }
5655
+ }
5568
5656
  const uiAppIds = new Set(manifest.targets?.kay?.ui?.contributes?.apps?.map((app) => app.localId) ?? []);
5569
5657
  for (const [index, entry] of (manifest.targets?.kay?.ui?.contributes?.railEntries ?? []).entries()) {
5570
5658
  const body = entry.panel?.body;
@@ -6540,6 +6628,7 @@ function collectKayAppContributionIds(manifest) {
6540
6628
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "uriModules"], contributes?.uriModules);
6541
6629
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "dataSources"], contributes?.dataSources);
6542
6630
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "whiteboardTypes"], contributes?.whiteboardTypes);
6631
+ pushContributionIds(output, ["targets", "kay", "app", "contributes", "workingDocumentProviders"], contributes?.workingDocumentProviders);
6543
6632
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "eventDefinitions"], contributes?.eventDefinitions);
6544
6633
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "eventSubscriptions"], contributes?.eventSubscriptions);
6545
6634
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "deviceDelegations"], contributes?.deviceDelegations);
@@ -6610,7 +6699,7 @@ function createResolvedContractSchemas(canonical) {
6610
6699
  const { ApprovalTypeContribution: ApprovalTypeContribution2, KayUiAppHostCapability: KayUiAppHostCapability2, McpServerAuthMode: McpServerAuthMode2, McpServerUrl: McpServerUrl2, PluginContributionKind: PluginContributionKindSchema, ReferenceOpenBehavior: ReferenceOpenBehavior2, ReferencePresentationUriPattern: ReferencePresentationUriPattern2, ReferencePresentationAccountLinks: ReferencePresentationAccountLinks2, ReferencePresentationAddress: ReferencePresentationAddress2, ReferencePresentationUrlClaim: ReferencePresentationUrlClaim2, ReferencePresentationVariants: ReferencePresentationVariants2, ReferencePresentationWords: ReferencePresentationWords2, UriModuleFacts: UriModuleFacts2, WhiteboardTypeContribution: WhiteboardTypeContribution2 } = canonical ? canonicalContributionSchemas : contributions_exports;
6611
6700
  const { FileExtensionToken: FileExtensionToken2, GitBasicAuthUser: GitBasicAuthUser2, GitHostName: GitHostName2, GlobalContributionId: GlobalContributionId2, HttpsUrl: HttpsUrl2, LocalContributionId: LocalContributionId2, MimeTypeString: MimeTypeString2, NonEmptyString: NonEmptyString3, PackageAssetPath: PackageAssetPath2, PluginId: PluginId2, PluginNamespace: PluginNamespace2, PluginToolName: PluginToolName2, RegistrableDomain: RegistrableDomain2, SignedInStatusCode: SignedInStatusCode2, TargetEntrypoint: TargetEntrypoint2, UriScheme: UriScheme2 } = canonical ? canonicalCommonSchemas : common_exports;
6612
6701
  const { PluginExternalCliConnect: PluginExternalCliConnect2, PluginOAuthClientSupplier: PluginOAuthClientSupplier2 } = canonical ? canonicalManifestSchemas : manifest_exports;
6613
- const { ResolvedPluginGrants: ResolvedPluginGrants2 } = canonical ? canonicalPermissionSchemas : permissions_exports;
6702
+ const { ResolvedPluginGrants: ResolvedPluginGrants2, ScopeRequirement: ScopeRequirement2 } = canonical ? canonicalPermissionSchemas : permissions_exports;
6614
6703
  const ResolvedPluginContributionId2 = z19.strictObject({
6615
6704
  target: PluginTargetName,
6616
6705
  kind: PluginContributionKindSchema,
@@ -6731,6 +6820,16 @@ function createResolvedContractSchemas(canonical) {
6731
6820
  auth: McpServerAuthMode2,
6732
6821
  authServiceId: GlobalContributionId2.optional()
6733
6822
  });
6823
+ const ResolvedKayAppWorkingDocumentProvider2 = z19.strictObject({
6824
+ localId: LocalContributionId2,
6825
+ globalId: GlobalContributionId2,
6826
+ displayName: NonEmptyString3,
6827
+ schemes: z19.array(UriScheme2),
6828
+ hosts: z19.array(NonEmptyString3),
6829
+ authServiceId: GlobalContributionId2.optional(),
6830
+ authSchemeId: GlobalContributionId2.optional(),
6831
+ scopeRequirement: ScopeRequirement2.optional()
6832
+ });
6734
6833
  const ResolvedKayAgentUriModule2 = z19.strictObject({
6735
6834
  localId: LocalContributionId2,
6736
6835
  adapterId: z19.string().min(1).optional(),
@@ -6994,6 +7093,7 @@ function createResolvedContractSchemas(canonical) {
6994
7093
  kayAppCards: z19.array(ResolvedPluginCard2).optional(),
6995
7094
  kayAppDataSources: z19.array(ResolvedKayAppDataSource2).optional(),
6996
7095
  kayAppWhiteboardTypes: z19.array(ResolvedKayAppWhiteboardType2).optional(),
7096
+ kayAppWorkingDocumentProviders: z19.array(ResolvedKayAppWorkingDocumentProvider2).optional(),
6997
7097
  kayAppMcpServers: z19.array(ResolvedKayAppMcpServer2).optional(),
6998
7098
  kayAgentConverters: z19.array(ResolvedKayAgentConverter2).optional(),
6999
7099
  referencePresentations: z19.array(ResolvedReferencePresentation2).optional(),
@@ -7008,6 +7108,7 @@ function createResolvedContractSchemas(canonical) {
7008
7108
  ResolvedPluginCard: ResolvedPluginCard2,
7009
7109
  ResolvedKayAppDataSource: ResolvedKayAppDataSource2,
7010
7110
  ResolvedKayAppWhiteboardType: ResolvedKayAppWhiteboardType2,
7111
+ ResolvedKayAppWorkingDocumentProvider: ResolvedKayAppWorkingDocumentProvider2,
7011
7112
  ResolvedKayAppMcpServer: ResolvedKayAppMcpServer2,
7012
7113
  ResolvedKayAgentUriModule: ResolvedKayAgentUriModule2,
7013
7114
  ResolvedKayAgentArtifactUriModule: ResolvedKayAgentArtifactUriModule2,
@@ -7024,7 +7125,7 @@ function createResolvedContractSchemas(canonical) {
7024
7125
  ResolvedPluginContractV1: ResolvedPluginContractV12
7025
7126
  };
7026
7127
  }
7027
- var { ResolvedKayAppApprovalType, ResolvedKayAppWorkflow, ResolvedPluginCard, ResolvedPluginContributionId, ResolvedKayAgentTool, ResolvedKayAppTool, ResolvedKayAppDataSource, ResolvedKayAppWhiteboardType, ResolvedKayAppMcpServer, ResolvedKayAgentUriModule, ResolvedKayAgentArtifactUriModule, ResolvedKayAgentEntityResolver, ResolvedKayAgentGitHostClaim, ResolvedKayAgentConverter, ResolvedReferencePresentation, ResolvedPluginProvisioningRequirement, ResolvedPluginAuthScheme, ResolvedPluginWebSession, ResolvedPluginAuthService, ResolvedKayUiAppEndpointCapability, ResolvedKayUiApp, ResolvedPluginContractV1 } = createResolvedContractSchemas(false);
7128
+ var { ResolvedKayAppApprovalType, ResolvedKayAppWorkflow, ResolvedPluginCard, ResolvedPluginContributionId, ResolvedKayAgentTool, ResolvedKayAppTool, ResolvedKayAppDataSource, ResolvedKayAppWhiteboardType, ResolvedKayAppWorkingDocumentProvider, ResolvedKayAppMcpServer, ResolvedKayAgentUriModule, ResolvedKayAgentArtifactUriModule, ResolvedKayAgentEntityResolver, ResolvedKayAgentGitHostClaim, ResolvedKayAgentConverter, ResolvedReferencePresentation, ResolvedPluginProvisioningRequirement, ResolvedPluginAuthScheme, ResolvedPluginWebSession, ResolvedPluginAuthService, ResolvedKayUiAppEndpointCapability, ResolvedKayUiApp, ResolvedPluginContractV1 } = createResolvedContractSchemas(false);
7028
7129
  var canonicalResolvedContractSchemas = createResolvedContractSchemas(true);
7029
7130
  function narrowestAccountSelectors() {
7030
7131
  return [{ kind: "active" }];
@@ -7064,6 +7165,7 @@ function collectContributionSources(manifest) {
7064
7165
  pushAll(output, "kay.app", "uriModule", app?.uriModules);
7065
7166
  pushAll(output, "kay.app", "appDataSource", app?.dataSources);
7066
7167
  pushAll(output, "kay.app", "whiteboardType", app?.whiteboardTypes);
7168
+ pushAll(output, "kay.app", "workingDocumentProvider", app?.workingDocumentProviders);
7067
7169
  pushAll(output, "kay.app", "approvalType", app?.approvalTypes);
7068
7170
  pushAll(output, "kay.app", "workflow", app?.workflows);
7069
7171
  pushAll(output, "kay.app", "command", app?.commands);
@@ -7165,6 +7267,9 @@ function collectConsumedAuthServiceIds(manifest) {
7165
7267
  for (const card of manifest.targets?.kay?.app?.contributes?.cards ?? []) {
7166
7268
  add(card.authService);
7167
7269
  }
7270
+ for (const provider of manifest.targets?.kay?.app?.contributes?.workingDocumentProviders ?? []) {
7271
+ add(provider.authService);
7272
+ }
7168
7273
  for (const target of KAY_PLUGIN_TARGET_NAMES) {
7169
7274
  for (const grant of manifest.permissions?.byTarget[target]?.auth ?? []) {
7170
7275
  add(grant.service);
@@ -7417,6 +7522,20 @@ function resolveKayPluginContractV1(manifest) {
7417
7522
  ...type.reference === void 0 ? {} : { reference: type.reference },
7418
7523
  ...type.handover === void 0 ? {} : { handover: type.handover }
7419
7524
  }));
7525
+ const kayAppWorkingDocumentProviders = manifest.targets?.kay?.app?.contributes?.workingDocumentProviders?.map((provider) => ({
7526
+ localId: provider.localId,
7527
+ globalId: resolveGlobalContributionId(namespace, provider.localId),
7528
+ displayName: provider.displayName,
7529
+ schemes: (provider.schemes ?? []).map((scheme) => scheme.toLowerCase()),
7530
+ hosts: (provider.hosts ?? []).map((host) => host.toLowerCase()),
7531
+ ...provider.authService === void 0 ? {} : {
7532
+ authServiceId: isQualifiedAuthServiceRef(provider.authService) ? provider.authService : resolveGlobalContributionId(namespace, provider.authService)
7533
+ },
7534
+ ...provider.authScheme === void 0 ? {} : {
7535
+ authSchemeId: isQualifiedAuthSchemeRef(provider.authScheme) ? provider.authScheme : resolveGlobalContributionId(namespace, provider.authScheme)
7536
+ },
7537
+ ...provider.scopeRequirement === void 0 ? {} : { scopeRequirement: provider.scopeRequirement }
7538
+ }));
7420
7539
  const kayAppMcpServers = Object.entries(manifest.targets?.kay?.app?.contributes?.mcpServers ?? {}).map(([name, server]) => ({
7421
7540
  name,
7422
7541
  pluginId: manifest.id,
@@ -7565,6 +7684,7 @@ function resolveKayPluginContractV1(manifest) {
7565
7684
  ...kayAppWorkflows && kayAppWorkflows.length > 0 ? { kayAppWorkflows } : {},
7566
7685
  ...kayAppDataSources && kayAppDataSources.length > 0 ? { kayAppDataSources } : {},
7567
7686
  ...kayAppWhiteboardTypes && kayAppWhiteboardTypes.length > 0 ? { kayAppWhiteboardTypes } : {},
7687
+ ...kayAppWorkingDocumentProviders && kayAppWorkingDocumentProviders.length > 0 ? { kayAppWorkingDocumentProviders } : {},
7568
7688
  ...kayAppMcpServers.length > 0 ? { kayAppMcpServers } : {},
7569
7689
  ...kayAgentConverters && kayAgentConverters.length > 0 ? { kayAgentConverters } : {},
7570
7690
  ...referencePresentations && referencePresentations.length > 0 ? { referencePresentations } : {},
@@ -8446,6 +8566,9 @@ export {
8446
8566
  PLUGIN_ICON_SHAPE_ATTRIBUTE,
8447
8567
  PLUGIN_NOTIFICATION_RULE_HOST_KEYS,
8448
8568
  PLUGIN_PRODUCT_EVENT_NAME_PATTERN,
8569
+ PLUGIN_SIGNAL_ATTACHMENTS_MAX,
8570
+ PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX,
8571
+ PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX,
8449
8572
  PLUGIN_SIGNAL_KINDS,
8450
8573
  PLUGIN_SIGNAL_LABELS_MAX,
8451
8574
  PLUGIN_SIGNAL_LABEL_MAX,
@@ -8538,6 +8661,7 @@ export {
8538
8661
  ResolvedKayAppTool,
8539
8662
  ResolvedKayAppWhiteboardType,
8540
8663
  ResolvedKayAppWorkflow,
8664
+ ResolvedKayAppWorkingDocumentProvider,
8541
8665
  ResolvedKayUiApp,
8542
8666
  ResolvedKayUiAppEndpointCapability,
8543
8667
  ResolvedPluginAuthScheme,
@@ -8612,6 +8736,7 @@ export {
8612
8736
  WhiteboardTypeStorage,
8613
8737
  WhiteboardValue,
8614
8738
  WorkflowContribution,
8739
+ WorkingDocumentProviderContribution,
8615
8740
  appDataSourceDeclaration,
8616
8741
  approvalKindSchema,
8617
8742
  boundPluginDiagnosticMessage,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.54.1",
3
+ "version": "0.54.2",
4
4
  "description": "The Kay plugin manifest schema (`kay.plugin.v1`) — parse and validate a kay-plugin.json.",
5
5
  "author": "YakLabs",
6
6
  "type": "module",