@yaklabs-ai/plugin-protocol 0.54.1 → 0.55.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/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.55.0"
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.55.0",
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,16 @@ 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.
4924
+ *
4925
+ * 0.55.0 carries managed MCP calls over resource writes in both daemon and plugin-host code.
4926
+ * Existing agent and background MCP call shapes remain supported.
4900
4927
  */
4901
- export declare const KAY_PLUGIN_SDK_VERSION: "0.54.1";
4928
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.55.0";
4902
4929
 
4903
4930
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
4904
4931
 
@@ -5574,6 +5601,23 @@ export declare const KayAppTargetManifest: z.ZodObject<{
5574
5601
  }, z.core.$strict>>;
5575
5602
  handover: z.ZodOptional<z.ZodLiteral<true>>;
5576
5603
  }, z.core.$strict>>>;
5604
+ workingDocumentProviders: z.ZodOptional<z.ZodArray<z.ZodObject<{
5605
+ localId: z.ZodString;
5606
+ displayName: z.ZodString;
5607
+ schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
5608
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
5609
+ authService: z.ZodOptional<z.ZodString>;
5610
+ authScheme: z.ZodOptional<z.ZodString>;
5611
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
5612
+ purpose: z.ZodString;
5613
+ alternatives: z.ZodArray<z.ZodObject<{
5614
+ allOf: z.ZodArray<z.ZodObject<{
5615
+ scope: z.ZodString;
5616
+ reason: z.ZodExactOptional<z.ZodString>;
5617
+ }, z.core.$strict>>;
5618
+ }, z.core.$strict>>;
5619
+ }, z.core.$strict>>;
5620
+ }, z.core.$strict>>>;
5577
5621
  approvalTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
5578
5622
  localId: z.ZodString;
5579
5623
  kind: z.ZodLiteral<"message">;
@@ -6509,6 +6553,23 @@ export declare const KayPluginManifestV1: z.ZodObject<{
6509
6553
  }, z.core.$strict>>;
6510
6554
  handover: z.ZodOptional<z.ZodLiteral<true>>;
6511
6555
  }, z.core.$strict>>>;
6556
+ workingDocumentProviders: z.ZodOptional<z.ZodArray<z.ZodObject<{
6557
+ localId: z.ZodString;
6558
+ displayName: z.ZodString;
6559
+ schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
6560
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
6561
+ authService: z.ZodOptional<z.ZodString>;
6562
+ authScheme: z.ZodOptional<z.ZodString>;
6563
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
6564
+ purpose: z.ZodString;
6565
+ alternatives: z.ZodArray<z.ZodObject<{
6566
+ allOf: z.ZodArray<z.ZodObject<{
6567
+ scope: z.ZodString;
6568
+ reason: z.ZodExactOptional<z.ZodString>;
6569
+ }, z.core.$strict>>;
6570
+ }, z.core.$strict>>;
6571
+ }, z.core.$strict>>;
6572
+ }, z.core.$strict>>>;
6512
6573
  approvalTypes: z.ZodOptional<z.ZodArray<z.ZodObject<{
6513
6574
  localId: z.ZodString;
6514
6575
  kind: z.ZodLiteral<"message">;
@@ -8673,6 +8734,15 @@ export declare const PLUGIN_NOTIFICATION_RULE_HOST_KEYS: readonly ["id", "match"
8673
8734
  */
8674
8735
  export declare const PLUGIN_PRODUCT_EVENT_NAME_PATTERN: RegExp;
8675
8736
 
8737
+ /** An attachment's file name, at most this many characters. */
8738
+ export declare const PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX = 255;
8739
+
8740
+ /** An attachment's media type (`application/pdf`), at most this many characters. */
8741
+ export declare const PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX = 127;
8742
+
8743
+ /** At most this many entries in a signal's `attachments`; a source lists the first ones. */
8744
+ export declare const PLUGIN_SIGNAL_ATTACHMENTS_MAX = 10;
8745
+
8676
8746
  /** The `kind` values of `PluginSignal` v1. `status` is system state that clears itself. */
8677
8747
  export declare const PLUGIN_SIGNAL_KINDS: readonly ["message", "request", "mention", "invite", "status"];
8678
8748
 
@@ -11386,6 +11456,7 @@ export declare const PluginContributionKind: z.ZodEnum<{
11386
11456
  eventSubscription: "eventSubscription";
11387
11457
  appDataSource: "appDataSource";
11388
11458
  whiteboardType: "whiteboardType";
11459
+ workingDocumentProvider: "workingDocumentProvider";
11389
11460
  approvalType: "approvalType";
11390
11461
  workflow: "workflow";
11391
11462
  contextContributor: "contextContributor";
@@ -12415,6 +12486,12 @@ export declare const PluginSignal: z.ZodObject<{
12415
12486
  open: "open";
12416
12487
  resolved: "resolved";
12417
12488
  }>>;
12489
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
12490
+ name: z.ZodString;
12491
+ type: z.ZodString;
12492
+ size: z.ZodNumber;
12493
+ uri: z.ZodString;
12494
+ }, z.core.$strict>>>;
12418
12495
  }, z.core.$strict>;
12419
12496
 
12420
12497
  export declare type PluginSignal = z.infer<typeof PluginSignal>;
@@ -12459,6 +12536,12 @@ export declare const PluginSignalPublish: z.ZodObject<{
12459
12536
  open: "open";
12460
12537
  resolved: "resolved";
12461
12538
  }>>;
12539
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
12540
+ name: z.ZodString;
12541
+ type: z.ZodString;
12542
+ size: z.ZodNumber;
12543
+ uri: z.ZodString;
12544
+ }, z.core.$strict>>>;
12462
12545
  }, z.core.$strict>;
12463
12546
  related: z.ZodObject<{
12464
12547
  thread: z.ZodString;
@@ -13567,6 +13650,27 @@ export declare const ResolvedKayAppWorkflow: z.ZodObject<{
13567
13650
 
13568
13651
  export declare type ResolvedKayAppWorkflow = z.infer<typeof ResolvedKayAppWorkflow>;
13569
13652
 
13653
+ export declare const ResolvedKayAppWorkingDocumentProvider: z.ZodObject<{
13654
+ localId: z.ZodString;
13655
+ globalId: z.ZodString;
13656
+ displayName: z.ZodString;
13657
+ schemes: z.ZodArray<z.ZodString>;
13658
+ hosts: z.ZodArray<z.ZodString>;
13659
+ authServiceId: z.ZodOptional<z.ZodString>;
13660
+ authSchemeId: z.ZodOptional<z.ZodString>;
13661
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
13662
+ purpose: z.ZodString;
13663
+ alternatives: z.ZodArray<z.ZodObject<{
13664
+ allOf: z.ZodArray<z.ZodObject<{
13665
+ scope: z.ZodString;
13666
+ reason: z.ZodExactOptional<z.ZodString>;
13667
+ }, z.core.$strict>>;
13668
+ }, z.core.$strict>>;
13669
+ }, z.core.$strict>>;
13670
+ }, z.core.$strict>;
13671
+
13672
+ export declare type ResolvedKayAppWorkingDocumentProvider = z.infer<typeof ResolvedKayAppWorkingDocumentProvider>;
13673
+
13570
13674
  export declare const ResolvedKayUiApp: z.ZodObject<{
13571
13675
  localId: z.ZodString;
13572
13676
  globalId: z.ZodString;
@@ -14054,6 +14158,7 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
14054
14158
  eventSubscription: "eventSubscription";
14055
14159
  appDataSource: "appDataSource";
14056
14160
  whiteboardType: "whiteboardType";
14161
+ workingDocumentProvider: "workingDocumentProvider";
14057
14162
  approvalType: "approvalType";
14058
14163
  workflow: "workflow";
14059
14164
  contextContributor: "contextContributor";
@@ -15113,6 +15218,24 @@ export declare const ResolvedPluginContractV1: z.ZodObject<{
15113
15218
  handover: z.ZodOptional<z.ZodLiteral<true>>;
15114
15219
  globalId: z.ZodString;
15115
15220
  }, z.core.$strict>>>;
15221
+ kayAppWorkingDocumentProviders: z.ZodOptional<z.ZodArray<z.ZodObject<{
15222
+ localId: z.ZodString;
15223
+ globalId: z.ZodString;
15224
+ displayName: z.ZodString;
15225
+ schemes: z.ZodArray<z.ZodString>;
15226
+ hosts: z.ZodArray<z.ZodString>;
15227
+ authServiceId: z.ZodOptional<z.ZodString>;
15228
+ authSchemeId: z.ZodOptional<z.ZodString>;
15229
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
15230
+ purpose: z.ZodString;
15231
+ alternatives: z.ZodArray<z.ZodObject<{
15232
+ allOf: z.ZodArray<z.ZodObject<{
15233
+ scope: z.ZodString;
15234
+ reason: z.ZodExactOptional<z.ZodString>;
15235
+ }, z.core.$strict>>;
15236
+ }, z.core.$strict>>;
15237
+ }, z.core.$strict>>;
15238
+ }, z.core.$strict>>>;
15116
15239
  kayAppMcpServers: z.ZodOptional<z.ZodArray<z.ZodObject<{
15117
15240
  name: z.ZodString;
15118
15241
  pluginId: z.ZodString;
@@ -15344,6 +15467,7 @@ export declare const ResolvedPluginContributionId: z.ZodObject<{
15344
15467
  eventSubscription: "eventSubscription";
15345
15468
  appDataSource: "appDataSource";
15346
15469
  whiteboardType: "whiteboardType";
15470
+ workingDocumentProvider: "workingDocumentProvider";
15347
15471
  approvalType: "approvalType";
15348
15472
  workflow: "workflow";
15349
15473
  contextContributor: "contextContributor";
@@ -18190,4 +18314,24 @@ export declare const WorkflowContribution: z.ZodObject<{
18190
18314
 
18191
18315
  export declare type WorkflowContribution = z.infer<typeof WorkflowContribution>;
18192
18316
 
18317
+ export declare const WorkingDocumentProviderContribution: z.ZodObject<{
18318
+ localId: z.ZodString;
18319
+ displayName: z.ZodString;
18320
+ schemes: z.ZodOptional<z.ZodArray<z.ZodString>>;
18321
+ hosts: z.ZodOptional<z.ZodArray<z.ZodString>>;
18322
+ authService: z.ZodOptional<z.ZodString>;
18323
+ authScheme: z.ZodOptional<z.ZodString>;
18324
+ scopeRequirement: z.ZodOptional<z.ZodObject<{
18325
+ purpose: z.ZodString;
18326
+ alternatives: z.ZodArray<z.ZodObject<{
18327
+ allOf: z.ZodArray<z.ZodObject<{
18328
+ scope: z.ZodString;
18329
+ reason: z.ZodExactOptional<z.ZodString>;
18330
+ }, z.core.$strict>>;
18331
+ }, z.core.$strict>>;
18332
+ }, z.core.$strict>>;
18333
+ }, z.core.$strict>;
18334
+
18335
+ export declare type WorkingDocumentProviderContribution = z.infer<typeof WorkingDocumentProviderContribution>;
18336
+
18193
18337
  export { }
package/dist/index.js CHANGED
@@ -260,8 +260,10 @@ var JsonSchema = z4.record(z4.string(), JsonValue);
260
260
  var KAY_PLUGIN_MANIFEST_SIZE_CAP_BYTES = 1024 * 1024;
261
261
  var KAY_PLUGIN_PROTOCOL_VERSION = "kay.plugin.v1";
262
262
  var KAY_PLUGIN_PROTOCOL_PACKAGE_NAME = "@bonsai/plugin-protocol";
263
- var KAY_PLUGIN_SDK_VERSION = "0.54.1";
263
+ var KAY_PLUGIN_SDK_VERSION = "0.55.0";
264
264
  var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
265
+ "0.54.2",
266
+ "0.54.1",
265
267
  "0.54.0",
266
268
  "0.53.0",
267
269
  "0.52.1",
@@ -2934,6 +2936,7 @@ __export(contributions_exports, {
2934
2936
  WhiteboardTypeContribution: () => WhiteboardTypeContribution,
2935
2937
  WhiteboardTypeStorage: () => WhiteboardTypeStorage,
2936
2938
  WorkflowContribution: () => WorkflowContribution,
2939
+ WorkingDocumentProviderContribution: () => WorkingDocumentProviderContribution,
2937
2940
  canonicalContributionSchemas: () => canonicalContributionSchemas,
2938
2941
  isUiAppSourceModule: () => isUiAppSourceModule,
2939
2942
  uiAppSourceStylePath: () => uiAppSourceStylePath
@@ -2945,6 +2948,9 @@ var plugin_events_exports = {};
2945
2948
  __export(plugin_events_exports, {
2946
2949
  PLUGIN_EVENT_ID_MAX_BYTES: () => PLUGIN_EVENT_ID_MAX_BYTES,
2947
2950
  PLUGIN_EVENT_REFUSED_ERROR_NAME: () => PLUGIN_EVENT_REFUSED_ERROR_NAME,
2951
+ PLUGIN_SIGNAL_ATTACHMENTS_MAX: () => PLUGIN_SIGNAL_ATTACHMENTS_MAX,
2952
+ PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX: () => PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX,
2953
+ PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX: () => PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX,
2948
2954
  PLUGIN_SIGNAL_KINDS: () => PLUGIN_SIGNAL_KINDS,
2949
2955
  PLUGIN_SIGNAL_LABELS_MAX: () => PLUGIN_SIGNAL_LABELS_MAX,
2950
2956
  PLUGIN_SIGNAL_LABEL_MAX: () => PLUGIN_SIGNAL_LABEL_MAX,
@@ -2980,6 +2986,9 @@ var PLUGIN_SIGNAL_TITLE_MAX = 300;
2980
2986
  var PLUGIN_SIGNAL_SNIPPET_MAX = 500;
2981
2987
  var PLUGIN_SIGNAL_LABELS_MAX = 20;
2982
2988
  var PLUGIN_SIGNAL_LABEL_MAX = 64;
2989
+ var PLUGIN_SIGNAL_ATTACHMENTS_MAX = 10;
2990
+ var PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX = 255;
2991
+ var PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX = 127;
2983
2992
  var PLUGIN_SIGNAL_RELATED_KEYS = [
2984
2993
  "thread",
2985
2994
  "from",
@@ -3051,7 +3060,19 @@ function createPluginEventsSchemas(canonical) {
3051
3060
  addressed: z12.enum(["direct", "cc", "mention", "group", "none"]).optional(),
3052
3061
  labels: z12.array(z12.string().min(1).max(PLUGIN_SIGNAL_LABEL_MAX)).max(PLUGIN_SIGNAL_LABELS_MAX).optional(),
3053
3062
  dueAt: PluginEventTimestamp2.optional(),
3054
- state: z12.enum(["open", "resolved"]).optional()
3063
+ state: z12.enum(["open", "resolved"]).optional(),
3064
+ /**
3065
+ * Files that came with the item, such as a mail's attachments: each one's name, media type,
3066
+ * size in bytes, and the address its bytes are read from. Never the bytes themselves. A
3067
+ * source leaves out what it knows is not a document of the person's (a mail's inline
3068
+ * signature image), and lists at most `PLUGIN_SIGNAL_ATTACHMENTS_MAX`.
3069
+ */
3070
+ attachments: z12.array(z12.strictObject({
3071
+ name: z12.string().min(1).max(PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX),
3072
+ type: z12.string().min(1).max(PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX),
3073
+ size: z12.number().int().nonnegative(),
3074
+ uri: PluginEventUri2
3075
+ })).max(PLUGIN_SIGNAL_ATTACHMENTS_MAX).optional()
3055
3076
  }).refine((signal) => signal.state === void 0 || signal.kind === "status", {
3056
3077
  message: "state is only for a status signal",
3057
3078
  path: ["state"]
@@ -3886,6 +3907,42 @@ function createContributionsSchemas(canonical) {
3886
3907
  });
3887
3908
  }
3888
3909
  });
3910
+ const WorkingDocumentProviderContribution2 = z14.strictObject({
3911
+ localId: LocalContributionId2,
3912
+ /** What it pulls, as a short noun phrase for copy: `a Google Doc`. */
3913
+ displayName: NonEmptyString3,
3914
+ /** URI schemes it claims (`gdrive`), compared without case. */
3915
+ schemes: z14.array(UriScheme2).min(1).optional(),
3916
+ /** Web hosts it claims (`docs.google.com`), compared without case. */
3917
+ hosts: z14.array(NonEmptyString3).min(1).optional(),
3918
+ /** The sign-in its token comes from, as on a URI module. */
3919
+ authService: AuthServiceReference2.optional(),
3920
+ /** The scheme of `authService` every call uses, as on a URI module. */
3921
+ authScheme: AuthSchemeReference2.optional(),
3922
+ /** What a stored grant must carry; absent means any credential of the scheme. */
3923
+ scopeRequirement: ScopeRequirement2.optional()
3924
+ }).superRefine((provider, ctx) => {
3925
+ if (provider.schemes === void 0 && provider.hosts === void 0) {
3926
+ ctx.addIssue({
3927
+ code: "custom",
3928
+ message: "A working-document provider must claim a scheme or a host."
3929
+ });
3930
+ }
3931
+ if (provider.authService === void 0 !== (provider.authScheme === void 0)) {
3932
+ ctx.addIssue({
3933
+ code: "custom",
3934
+ path: ["authScheme"],
3935
+ message: "authService and authScheme are declared together."
3936
+ });
3937
+ }
3938
+ if (provider.scopeRequirement !== void 0 && provider.authService === void 0) {
3939
+ ctx.addIssue({
3940
+ code: "custom",
3941
+ path: ["scopeRequirement"],
3942
+ message: "A scope requirement needs an authService."
3943
+ });
3944
+ }
3945
+ });
3889
3946
  const WhiteboardTypeStorage2 = z14.discriminatedUnion("kind", [
3890
3947
  z14.strictObject({ kind: z14.literal("json") }),
3891
3948
  z14.strictObject({ kind: z14.literal("payload") }),
@@ -4632,6 +4689,7 @@ function createContributionsSchemas(canonical) {
4632
4689
  "eventSubscription",
4633
4690
  "appDataSource",
4634
4691
  "whiteboardType",
4692
+ "workingDocumentProvider",
4635
4693
  "approvalType",
4636
4694
  "workflow",
4637
4695
  "contextContributor",
@@ -4662,6 +4720,7 @@ function createContributionsSchemas(canonical) {
4662
4720
  AppDataSourceContribution: AppDataSourceContribution2,
4663
4721
  WhiteboardTypeStorage: WhiteboardTypeStorage2,
4664
4722
  WhiteboardTypeContribution: WhiteboardTypeContribution2,
4723
+ WorkingDocumentProviderContribution: WorkingDocumentProviderContribution2,
4665
4724
  AppDataMaterializerContribution: AppDataMaterializerContribution2,
4666
4725
  ArtifactUriModuleContribution: ArtifactUriModuleContribution2,
4667
4726
  CliBindingContribution: CliBindingContribution2,
@@ -4713,7 +4772,7 @@ function createContributionsSchemas(canonical) {
4713
4772
  PluginContributionKind: PluginContributionKind2
4714
4773
  };
4715
4774
  }
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);
4775
+ 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
4776
  var canonicalContributionSchemas = createContributionsSchemas(true);
4718
4777
  var UI_APP_SOURCE_MODULE = /\.(?:tsx|ts|jsx)$/;
4719
4778
  function isUiAppSourceModule(module) {
@@ -4868,7 +4927,7 @@ var KAY_UI_NATIVE_EVENT_SUBSCRIPTIONS = [
4868
4927
  var KAY_UI_NATIVE_EVENT_ALLOWLIST = new Set(KAY_UI_NATIVE_EVENT_SUBSCRIPTIONS);
4869
4928
  var RETIRED_COMPATIBILITY_KEYS = ["policy"];
4870
4929
  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;
4930
+ 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
4931
  const { HttpsUrl: HttpsUrl2, LocalContributionId: LocalContributionId2, NonEmptyString: NonEmptyString3, PackageAssetPath: PackageAssetPath2, PluginId: PluginId2, PluginNamespace: PluginNamespace2, RegistrableDomain: RegistrableDomain2, SignedInStatusCode: SignedInStatusCode2, TargetEntrypoint: TargetEntrypoint2 } = canonical ? canonicalCommonSchemas : common_exports;
4873
4932
  const { PluginPermissionManifest: PluginPermissionManifest2 } = canonical ? canonicalPermissionSchemas : permissions_exports;
4874
4933
  const KayAgentTargetManifest2 = z18.strictObject({
@@ -4963,6 +5022,8 @@ function createManifestSchemas(canonical) {
4963
5022
  uriModules: z18.array(AppUriModuleContribution2).optional(),
4964
5023
  dataSources: z18.array(AppDataSourceContribution2).optional(),
4965
5024
  whiteboardTypes: z18.array(WhiteboardTypeContribution2).optional(),
5025
+ // Document sources whose pull, push and revision check the app entrypoint registers.
5026
+ workingDocumentProviders: z18.array(WorkingDocumentProviderContribution2).optional(),
4966
5027
  approvalTypes: z18.array(ApprovalTypeContribution2).optional(),
4967
5028
  workflows: z18.array(WorkflowContribution2).optional(),
4968
5029
  eventDefinitions: z18.array(PluginEventDefinitionContribution2).optional(),
@@ -5565,6 +5626,34 @@ function createManifestSchemas(canonical) {
5565
5626
  });
5566
5627
  }
5567
5628
  reportDuplicateLocalIds(ctx, ["targets", "kay", "app", "contributes", "whiteboardTypes"], manifest.targets?.kay?.app?.contributes?.whiteboardTypes, "Whiteboard type");
5629
+ reportDuplicateLocalIds(ctx, ["targets", "kay", "app", "contributes", "workingDocumentProviders"], manifest.targets?.kay?.app?.contributes?.workingDocumentProviders, "Working-document provider");
5630
+ for (const [index, provider] of (manifest.targets?.kay?.app?.contributes?.workingDocumentProviders ?? []).entries()) {
5631
+ const path = [
5632
+ "targets",
5633
+ "kay",
5634
+ "app",
5635
+ "contributes",
5636
+ "workingDocumentProviders",
5637
+ index
5638
+ ];
5639
+ if (manifest.targets?.kay?.app?.entrypoint === void 0) {
5640
+ ctx.addIssue({
5641
+ code: "custom",
5642
+ path,
5643
+ message: `working-document provider ${provider.localId} needs a kay.app entrypoint to implement it`
5644
+ });
5645
+ }
5646
+ if (provider.authService === void 0)
5647
+ continue;
5648
+ const granted = manifest.permissions?.byTarget["kay.app"]?.auth?.some((grant) => grant.service === provider.authService && grant.operations.includes("resolve"));
5649
+ if (granted !== true) {
5650
+ ctx.addIssue({
5651
+ code: "custom",
5652
+ path: [...path, "authService"],
5653
+ message: `working-document provider ${provider.localId} needs a kay.app auth grant that resolves ${provider.authService}`
5654
+ });
5655
+ }
5656
+ }
5568
5657
  const uiAppIds = new Set(manifest.targets?.kay?.ui?.contributes?.apps?.map((app) => app.localId) ?? []);
5569
5658
  for (const [index, entry] of (manifest.targets?.kay?.ui?.contributes?.railEntries ?? []).entries()) {
5570
5659
  const body = entry.panel?.body;
@@ -6540,6 +6629,7 @@ function collectKayAppContributionIds(manifest) {
6540
6629
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "uriModules"], contributes?.uriModules);
6541
6630
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "dataSources"], contributes?.dataSources);
6542
6631
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "whiteboardTypes"], contributes?.whiteboardTypes);
6632
+ pushContributionIds(output, ["targets", "kay", "app", "contributes", "workingDocumentProviders"], contributes?.workingDocumentProviders);
6543
6633
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "eventDefinitions"], contributes?.eventDefinitions);
6544
6634
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "eventSubscriptions"], contributes?.eventSubscriptions);
6545
6635
  pushContributionIds(output, ["targets", "kay", "app", "contributes", "deviceDelegations"], contributes?.deviceDelegations);
@@ -6610,7 +6700,7 @@ function createResolvedContractSchemas(canonical) {
6610
6700
  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
6701
  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
6702
  const { PluginExternalCliConnect: PluginExternalCliConnect2, PluginOAuthClientSupplier: PluginOAuthClientSupplier2 } = canonical ? canonicalManifestSchemas : manifest_exports;
6613
- const { ResolvedPluginGrants: ResolvedPluginGrants2 } = canonical ? canonicalPermissionSchemas : permissions_exports;
6703
+ const { ResolvedPluginGrants: ResolvedPluginGrants2, ScopeRequirement: ScopeRequirement2 } = canonical ? canonicalPermissionSchemas : permissions_exports;
6614
6704
  const ResolvedPluginContributionId2 = z19.strictObject({
6615
6705
  target: PluginTargetName,
6616
6706
  kind: PluginContributionKindSchema,
@@ -6731,6 +6821,16 @@ function createResolvedContractSchemas(canonical) {
6731
6821
  auth: McpServerAuthMode2,
6732
6822
  authServiceId: GlobalContributionId2.optional()
6733
6823
  });
6824
+ const ResolvedKayAppWorkingDocumentProvider2 = z19.strictObject({
6825
+ localId: LocalContributionId2,
6826
+ globalId: GlobalContributionId2,
6827
+ displayName: NonEmptyString3,
6828
+ schemes: z19.array(UriScheme2),
6829
+ hosts: z19.array(NonEmptyString3),
6830
+ authServiceId: GlobalContributionId2.optional(),
6831
+ authSchemeId: GlobalContributionId2.optional(),
6832
+ scopeRequirement: ScopeRequirement2.optional()
6833
+ });
6734
6834
  const ResolvedKayAgentUriModule2 = z19.strictObject({
6735
6835
  localId: LocalContributionId2,
6736
6836
  adapterId: z19.string().min(1).optional(),
@@ -6994,6 +7094,7 @@ function createResolvedContractSchemas(canonical) {
6994
7094
  kayAppCards: z19.array(ResolvedPluginCard2).optional(),
6995
7095
  kayAppDataSources: z19.array(ResolvedKayAppDataSource2).optional(),
6996
7096
  kayAppWhiteboardTypes: z19.array(ResolvedKayAppWhiteboardType2).optional(),
7097
+ kayAppWorkingDocumentProviders: z19.array(ResolvedKayAppWorkingDocumentProvider2).optional(),
6997
7098
  kayAppMcpServers: z19.array(ResolvedKayAppMcpServer2).optional(),
6998
7099
  kayAgentConverters: z19.array(ResolvedKayAgentConverter2).optional(),
6999
7100
  referencePresentations: z19.array(ResolvedReferencePresentation2).optional(),
@@ -7008,6 +7109,7 @@ function createResolvedContractSchemas(canonical) {
7008
7109
  ResolvedPluginCard: ResolvedPluginCard2,
7009
7110
  ResolvedKayAppDataSource: ResolvedKayAppDataSource2,
7010
7111
  ResolvedKayAppWhiteboardType: ResolvedKayAppWhiteboardType2,
7112
+ ResolvedKayAppWorkingDocumentProvider: ResolvedKayAppWorkingDocumentProvider2,
7011
7113
  ResolvedKayAppMcpServer: ResolvedKayAppMcpServer2,
7012
7114
  ResolvedKayAgentUriModule: ResolvedKayAgentUriModule2,
7013
7115
  ResolvedKayAgentArtifactUriModule: ResolvedKayAgentArtifactUriModule2,
@@ -7024,7 +7126,7 @@ function createResolvedContractSchemas(canonical) {
7024
7126
  ResolvedPluginContractV1: ResolvedPluginContractV12
7025
7127
  };
7026
7128
  }
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);
7129
+ 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
7130
  var canonicalResolvedContractSchemas = createResolvedContractSchemas(true);
7029
7131
  function narrowestAccountSelectors() {
7030
7132
  return [{ kind: "active" }];
@@ -7064,6 +7166,7 @@ function collectContributionSources(manifest) {
7064
7166
  pushAll(output, "kay.app", "uriModule", app?.uriModules);
7065
7167
  pushAll(output, "kay.app", "appDataSource", app?.dataSources);
7066
7168
  pushAll(output, "kay.app", "whiteboardType", app?.whiteboardTypes);
7169
+ pushAll(output, "kay.app", "workingDocumentProvider", app?.workingDocumentProviders);
7067
7170
  pushAll(output, "kay.app", "approvalType", app?.approvalTypes);
7068
7171
  pushAll(output, "kay.app", "workflow", app?.workflows);
7069
7172
  pushAll(output, "kay.app", "command", app?.commands);
@@ -7165,6 +7268,9 @@ function collectConsumedAuthServiceIds(manifest) {
7165
7268
  for (const card of manifest.targets?.kay?.app?.contributes?.cards ?? []) {
7166
7269
  add(card.authService);
7167
7270
  }
7271
+ for (const provider of manifest.targets?.kay?.app?.contributes?.workingDocumentProviders ?? []) {
7272
+ add(provider.authService);
7273
+ }
7168
7274
  for (const target of KAY_PLUGIN_TARGET_NAMES) {
7169
7275
  for (const grant of manifest.permissions?.byTarget[target]?.auth ?? []) {
7170
7276
  add(grant.service);
@@ -7417,6 +7523,20 @@ function resolveKayPluginContractV1(manifest) {
7417
7523
  ...type.reference === void 0 ? {} : { reference: type.reference },
7418
7524
  ...type.handover === void 0 ? {} : { handover: type.handover }
7419
7525
  }));
7526
+ const kayAppWorkingDocumentProviders = manifest.targets?.kay?.app?.contributes?.workingDocumentProviders?.map((provider) => ({
7527
+ localId: provider.localId,
7528
+ globalId: resolveGlobalContributionId(namespace, provider.localId),
7529
+ displayName: provider.displayName,
7530
+ schemes: (provider.schemes ?? []).map((scheme) => scheme.toLowerCase()),
7531
+ hosts: (provider.hosts ?? []).map((host) => host.toLowerCase()),
7532
+ ...provider.authService === void 0 ? {} : {
7533
+ authServiceId: isQualifiedAuthServiceRef(provider.authService) ? provider.authService : resolveGlobalContributionId(namespace, provider.authService)
7534
+ },
7535
+ ...provider.authScheme === void 0 ? {} : {
7536
+ authSchemeId: isQualifiedAuthSchemeRef(provider.authScheme) ? provider.authScheme : resolveGlobalContributionId(namespace, provider.authScheme)
7537
+ },
7538
+ ...provider.scopeRequirement === void 0 ? {} : { scopeRequirement: provider.scopeRequirement }
7539
+ }));
7420
7540
  const kayAppMcpServers = Object.entries(manifest.targets?.kay?.app?.contributes?.mcpServers ?? {}).map(([name, server]) => ({
7421
7541
  name,
7422
7542
  pluginId: manifest.id,
@@ -7565,6 +7685,7 @@ function resolveKayPluginContractV1(manifest) {
7565
7685
  ...kayAppWorkflows && kayAppWorkflows.length > 0 ? { kayAppWorkflows } : {},
7566
7686
  ...kayAppDataSources && kayAppDataSources.length > 0 ? { kayAppDataSources } : {},
7567
7687
  ...kayAppWhiteboardTypes && kayAppWhiteboardTypes.length > 0 ? { kayAppWhiteboardTypes } : {},
7688
+ ...kayAppWorkingDocumentProviders && kayAppWorkingDocumentProviders.length > 0 ? { kayAppWorkingDocumentProviders } : {},
7568
7689
  ...kayAppMcpServers.length > 0 ? { kayAppMcpServers } : {},
7569
7690
  ...kayAgentConverters && kayAgentConverters.length > 0 ? { kayAgentConverters } : {},
7570
7691
  ...referencePresentations && referencePresentations.length > 0 ? { referencePresentations } : {},
@@ -8446,6 +8567,9 @@ export {
8446
8567
  PLUGIN_ICON_SHAPE_ATTRIBUTE,
8447
8568
  PLUGIN_NOTIFICATION_RULE_HOST_KEYS,
8448
8569
  PLUGIN_PRODUCT_EVENT_NAME_PATTERN,
8570
+ PLUGIN_SIGNAL_ATTACHMENTS_MAX,
8571
+ PLUGIN_SIGNAL_ATTACHMENT_NAME_MAX,
8572
+ PLUGIN_SIGNAL_ATTACHMENT_TYPE_MAX,
8449
8573
  PLUGIN_SIGNAL_KINDS,
8450
8574
  PLUGIN_SIGNAL_LABELS_MAX,
8451
8575
  PLUGIN_SIGNAL_LABEL_MAX,
@@ -8538,6 +8662,7 @@ export {
8538
8662
  ResolvedKayAppTool,
8539
8663
  ResolvedKayAppWhiteboardType,
8540
8664
  ResolvedKayAppWorkflow,
8665
+ ResolvedKayAppWorkingDocumentProvider,
8541
8666
  ResolvedKayUiApp,
8542
8667
  ResolvedKayUiAppEndpointCapability,
8543
8668
  ResolvedPluginAuthScheme,
@@ -8612,6 +8737,7 @@ export {
8612
8737
  WhiteboardTypeStorage,
8613
8738
  WhiteboardValue,
8614
8739
  WorkflowContribution,
8740
+ WorkingDocumentProviderContribution,
8615
8741
  appDataSourceDeclaration,
8616
8742
  approvalKindSchema,
8617
8743
  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.55.0",
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",