@yaklabs-ai/plugin-protocol 0.9.0 → 0.9.1

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
- "@kay/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.9.0"
14
+ "@kay/plugin-protocol": "npm:@yaklabs-ai/plugin-protocol@^0.9.1"
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.9.0",
4
+ "version": "0.9.1",
5
5
  "target": "npm",
6
6
  "firstPartyLicense": "MIT",
7
7
  "bundled": [],
package/dist/index.d.ts CHANGED
@@ -262,9 +262,11 @@ export declare const ArtifactProvenanceCaptureContextSchema: z.ZodObject<{
262
262
  type: z.ZodEnum<{
263
263
  "turn-settled": "turn-settled";
264
264
  "phase-shift": "phase-shift";
265
+ "human-message": "human-message";
265
266
  }>;
266
267
  entryId: z.ZodString;
267
268
  runId: z.ZodOptional<z.ZodString>;
269
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
268
270
  }, z.core.$strict>>;
269
271
  dedupeKey: z.ZodOptional<z.ZodString>;
270
272
  }, z.core.$strict>;
@@ -352,9 +354,11 @@ export declare const ArtifactProvenanceCaptureContextSchema: z.ZodObject<{
352
354
  type: z.ZodEnum<{
353
355
  "turn-settled": "turn-settled";
354
356
  "phase-shift": "phase-shift";
357
+ "human-message": "human-message";
355
358
  }>;
356
359
  entryId: z.ZodString;
357
360
  runId: z.ZodOptional<z.ZodString>;
361
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
358
362
  }, z.core.$strict>>;
359
363
  dedupeKey: z.ZodOptional<z.ZodString>;
360
364
  }, z.core.$strict>>;
@@ -446,9 +450,11 @@ export declare const ArtifactProvenanceCause: z.ZodDiscriminatedUnion<[z.ZodObje
446
450
  type: z.ZodEnum<{
447
451
  "turn-settled": "turn-settled";
448
452
  "phase-shift": "phase-shift";
453
+ "human-message": "human-message";
449
454
  }>;
450
455
  entryId: z.ZodString;
451
456
  runId: z.ZodOptional<z.ZodString>;
457
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
452
458
  }, z.core.$strict>>;
453
459
  dedupeKey: z.ZodOptional<z.ZodString>;
454
460
  }, z.core.$strict>;
@@ -521,9 +527,11 @@ export declare const ArtifactProvenanceEnvelopeV1: z.ZodPipe<z.ZodUnknown, z.Zod
521
527
  type: z.ZodEnum<{
522
528
  "turn-settled": "turn-settled";
523
529
  "phase-shift": "phase-shift";
530
+ "human-message": "human-message";
524
531
  }>;
525
532
  entryId: z.ZodString;
526
533
  runId: z.ZodOptional<z.ZodString>;
534
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
527
535
  }, z.core.$strict>>;
528
536
  dedupeKey: z.ZodOptional<z.ZodString>;
529
537
  }, z.core.$strict>;
@@ -610,9 +618,11 @@ export declare const ArtifactProvenanceEnvelopeV1: z.ZodPipe<z.ZodUnknown, z.Zod
610
618
  type: z.ZodEnum<{
611
619
  "turn-settled": "turn-settled";
612
620
  "phase-shift": "phase-shift";
621
+ "human-message": "human-message";
613
622
  }>;
614
623
  entryId: z.ZodString;
615
624
  runId: z.ZodOptional<z.ZodString>;
625
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
616
626
  }, z.core.$strict>>;
617
627
  dedupeKey: z.ZodOptional<z.ZodString>;
618
628
  }, z.core.$strict>;
@@ -724,9 +734,11 @@ export declare const ArtifactProvenanceEnvelopeV1: z.ZodPipe<z.ZodUnknown, z.Zod
724
734
  type: z.ZodEnum<{
725
735
  "turn-settled": "turn-settled";
726
736
  "phase-shift": "phase-shift";
737
+ "human-message": "human-message";
727
738
  }>;
728
739
  entryId: z.ZodString;
729
740
  runId: z.ZodOptional<z.ZodString>;
741
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
730
742
  }, z.core.$strict>>;
731
743
  dedupeKey: z.ZodOptional<z.ZodString>;
732
744
  }, z.core.$strict>>;
@@ -893,9 +905,11 @@ export declare const ArtifactProvenanceMutation: z.ZodObject<{
893
905
  type: z.ZodEnum<{
894
906
  "turn-settled": "turn-settled";
895
907
  "phase-shift": "phase-shift";
908
+ "human-message": "human-message";
896
909
  }>;
897
910
  entryId: z.ZodString;
898
911
  runId: z.ZodOptional<z.ZodString>;
912
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
899
913
  }, z.core.$strict>>;
900
914
  dedupeKey: z.ZodOptional<z.ZodString>;
901
915
  }, z.core.$strict>;
@@ -986,9 +1000,11 @@ export declare const ArtifactProvenanceOperation: z.ZodObject<{
986
1000
  type: z.ZodEnum<{
987
1001
  "turn-settled": "turn-settled";
988
1002
  "phase-shift": "phase-shift";
1003
+ "human-message": "human-message";
989
1004
  }>;
990
1005
  entryId: z.ZodString;
991
1006
  runId: z.ZodOptional<z.ZodString>;
1007
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
992
1008
  }, z.core.$strict>>;
993
1009
  dedupeKey: z.ZodOptional<z.ZodString>;
994
1010
  }, z.core.$strict>;
@@ -1124,9 +1140,11 @@ export declare const ArtifactProvenanceSession: z.ZodObject<{
1124
1140
  type: z.ZodEnum<{
1125
1141
  "turn-settled": "turn-settled";
1126
1142
  "phase-shift": "phase-shift";
1143
+ "human-message": "human-message";
1127
1144
  }>;
1128
1145
  entryId: z.ZodString;
1129
1146
  runId: z.ZodOptional<z.ZodString>;
1147
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1130
1148
  }, z.core.$strict>>;
1131
1149
  dedupeKey: z.ZodOptional<z.ZodString>;
1132
1150
  }, z.core.$strict>>;
@@ -1556,6 +1574,93 @@ export declare const CorpusContribution: z.ZodObject<{
1556
1574
 
1557
1575
  export declare type CorpusContribution = z.infer<typeof CorpusContribution>;
1558
1576
 
1577
+ export declare interface CorpusResourceInvocation {
1578
+ readonly eventId: string;
1579
+ /** Envelope recording time, never a run/message/incident identifier. */
1580
+ readonly at: string;
1581
+ readonly kind: CorpusResourceKind;
1582
+ readonly sessionId: string;
1583
+ /** Falls back to sessionId for legacy events without a recorded root. */
1584
+ readonly rootSessionId: string;
1585
+ readonly name: string;
1586
+ readonly sourceId?: string;
1587
+ /** Absent on unresolved legacy rows; names/aliases are not a substitute. */
1588
+ readonly resourceId?: string;
1589
+ readonly version?: string;
1590
+ readonly variantId?: string;
1591
+ readonly rootProvenance: SessionProvenanceRecord;
1592
+ /** Current index hints, not the session's historical context at invocation. */
1593
+ readonly currentContext: {
1594
+ readonly cwd: string;
1595
+ readonly projectId?: string;
1596
+ };
1597
+ }
1598
+
1599
+ /** Exclusive keyset position; preserve timestamp precision when returning it. */
1600
+ export declare const CorpusResourceInvocationCursor: z.ZodObject<{
1601
+ at: z.ZodISODateTime;
1602
+ eventId: z.ZodString;
1603
+ }, z.core.$strict>;
1604
+
1605
+ export declare type CorpusResourceInvocationCursor = z.infer<typeof CorpusResourceInvocationCursor>;
1606
+
1607
+ export declare interface CorpusResourceInvocationExclusion {
1608
+ readonly eventId: string;
1609
+ readonly sessionId: string;
1610
+ readonly rootSessionId: string;
1611
+ readonly reason: "session-missing" | "root-missing" | "root-provenance-unverified" | "root-creator-filtered";
1612
+ }
1613
+
1614
+ export declare type CorpusResourceInvocationPage = {
1615
+ readonly state: "available";
1616
+ readonly items: readonly CorpusResourceInvocation[];
1617
+ /** Absent only when this recording-time window is exhausted. */
1618
+ readonly next?: CorpusResourceInvocationCursor;
1619
+ /** Telemetry import succeeded; exclusions still describe missing or filtered index facts. */
1620
+ readonly coverage: {
1621
+ readonly scanned: number;
1622
+ readonly exclusions: readonly CorpusResourceInvocationExclusion[];
1623
+ };
1624
+ } | {
1625
+ readonly state: "unavailable";
1626
+ readonly reason: "not-wired" | "telemetry-unavailable" | "telemetry-incomplete" | "index-unavailable" | "invalid-record";
1627
+ readonly message: string;
1628
+ };
1629
+
1630
+ /** Half-open recording-time window. Limits bound scanned rows, including exclusions. */
1631
+ export declare const CorpusResourceInvocationQuery: z.ZodObject<{
1632
+ kind: z.ZodEnum<{
1633
+ skill: "skill";
1634
+ "context-file": "context-file";
1635
+ "prompt-command": "prompt-command";
1636
+ }>;
1637
+ since: z.ZodISODateTime;
1638
+ until: z.ZodISODateTime;
1639
+ after: z.ZodOptional<z.ZodObject<{
1640
+ at: z.ZodISODateTime;
1641
+ eventId: z.ZodString;
1642
+ }, z.core.$strict>>;
1643
+ limit: z.ZodOptional<z.ZodNumber>;
1644
+ rootCreatedByKind: z.ZodOptional<z.ZodEnum<{
1645
+ human: "human";
1646
+ agent: "agent";
1647
+ plugin: "plugin";
1648
+ trigger: "trigger";
1649
+ daemon: "daemon";
1650
+ }>>;
1651
+ }, z.core.$strict>;
1652
+
1653
+ export declare type CorpusResourceInvocationQuery = z.infer<typeof CorpusResourceInvocationQuery>;
1654
+
1655
+ /** Roster invocation facts, not evidence that a read completed successfully. */
1656
+ export declare const CorpusResourceKind: z.ZodEnum<{
1657
+ skill: "skill";
1658
+ "context-file": "context-file";
1659
+ "prompt-command": "prompt-command";
1660
+ }>;
1661
+
1662
+ export declare type CorpusResourceKind = z.infer<typeof CorpusResourceKind>;
1663
+
1559
1664
  /** Drop repeats under {@link sameClaim}, preserving first-seen order (a sort settles the rest). */
1560
1665
  export declare function dedupeClaims(claims: readonly PluginCapabilityClaimV1[]): PluginCapabilityClaimV1[];
1561
1666
 
@@ -1830,7 +1935,7 @@ export declare const KAY_APP_DATA_SNAPSHOT_MAX_BYTES: number;
1830
1935
  export declare const KAY_EVENT_PUBLISHER_ID: "kay";
1831
1936
 
1832
1937
  /** Released SDK contracts still implemented by the host, alongside its current SDK. */
1833
- export declare const KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS: readonly ["0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5"];
1938
+ export declare const KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS: readonly ["0.8.0", "0.8.1", "0.8.2", "0.8.3", "0.8.4", "0.8.5", "0.9.0"];
1834
1939
 
1835
1940
  export declare const KAY_PLUGIN_PROTOCOL_PACKAGE_NAME: "@kay/plugin-protocol";
1836
1941
 
@@ -1935,7 +2040,7 @@ export declare const KAY_PLUGIN_PROTOCOL_VERSION: "kay.plugin.v1";
1935
2040
  * slot: nothing a `^0.8.1`/`^0.8.3` plugin already compiles against changes
1936
2041
  * shape, and the fix is which bytes reach npm, not what the contract promises.
1937
2042
  */
1938
- export declare const KAY_PLUGIN_SDK_VERSION: "0.9.0";
2043
+ export declare const KAY_PLUGIN_SDK_VERSION: "0.9.1";
1939
2044
 
1940
2045
  export declare const KAY_PLUGIN_TARGET_NAMES: readonly ["kay.agent", "kay.app", "kay.ui"];
1941
2046
 
@@ -7353,9 +7458,11 @@ export declare const SessionCausedByEvent: z.ZodObject<{
7353
7458
  type: z.ZodEnum<{
7354
7459
  "turn-settled": "turn-settled";
7355
7460
  "phase-shift": "phase-shift";
7461
+ "human-message": "human-message";
7356
7462
  }>;
7357
7463
  entryId: z.ZodString;
7358
7464
  runId: z.ZodOptional<z.ZodString>;
7465
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7359
7466
  }, z.core.$strict>>;
7360
7467
  dedupeKey: z.ZodOptional<z.ZodString>;
7361
7468
  }, z.core.$strict>;
@@ -7574,9 +7681,11 @@ export declare const SessionProvenanceRecord: z.ZodObject<{
7574
7681
  type: z.ZodEnum<{
7575
7682
  "turn-settled": "turn-settled";
7576
7683
  "phase-shift": "phase-shift";
7684
+ "human-message": "human-message";
7577
7685
  }>;
7578
7686
  entryId: z.ZodString;
7579
7687
  runId: z.ZodOptional<z.ZodString>;
7688
+ throughEntryId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
7580
7689
  }, z.core.$strict>>;
7581
7690
  dedupeKey: z.ZodOptional<z.ZodString>;
7582
7691
  }, z.core.$strict>>;
package/dist/index.js CHANGED
@@ -115,14 +115,15 @@ import { z as z2 } from "zod";
115
115
  import { z } from "zod";
116
116
  var KAY_PLUGIN_PROTOCOL_VERSION = "kay.plugin.v1";
117
117
  var KAY_PLUGIN_PROTOCOL_PACKAGE_NAME = "@kay/plugin-protocol";
118
- var KAY_PLUGIN_SDK_VERSION = "0.9.0";
118
+ var KAY_PLUGIN_SDK_VERSION = "0.9.1";
119
119
  var KAY_PLUGIN_COMPATIBLE_SDK_VERSIONS = [
120
120
  "0.8.0",
121
121
  "0.8.1",
122
122
  "0.8.2",
123
123
  "0.8.3",
124
124
  "0.8.4",
125
- "0.8.5"
125
+ "0.8.5",
126
+ "0.9.0"
126
127
  ];
127
128
  var KAY_PLUGIN_TARGET_NAMES = [
128
129
  "kay.agent",
@@ -341,10 +342,12 @@ var SessionCausedByEventShape = z3.strictObject({
341
342
  /** Required when `kind` is `"session-event"` or absent; must be omitted when `kind` is `"backfill"`. */
342
343
  event: z3.strictObject({
343
344
  /** {@link KayAppSessionEventType} in `@kay/plugin-sdk`, mirrored: a closed, extensible union. */
344
- type: z3.enum(["turn-settled", "phase-shift"]),
345
+ type: z3.enum(["turn-settled", "phase-shift", "human-message"]),
345
346
  entryId: NonEmptyString2,
346
347
  /** The source run captured at the event boundary; absence remains unresolved. */
347
- runId: NonEmptyString2.optional()
348
+ runId: NonEmptyString2.optional(),
349
+ /** Exact prior persisted boundary for a projected human-message event; null means empty history. */
350
+ throughEntryId: NonEmptyString2.nullable().optional()
348
351
  }).optional(),
349
352
  /**
350
353
  * The plugin-supplied exact-match dedupe key, when it gave one. Absent when the handler chose
@@ -4440,15 +4443,37 @@ function sessionHealthPWellDecile(pWell) {
4440
4443
  return Math.min(9, Math.floor(pWell * 10));
4441
4444
  }
4442
4445
 
4443
- // packages/plugin-protocol/dist/ui-app-package.js
4446
+ // packages/plugin-protocol/dist/resource-invocations.js
4444
4447
  import { z as z11 } from "zod";
4448
+ var CorpusResourceKind = z11.enum([
4449
+ "skill",
4450
+ "context-file",
4451
+ "prompt-command"
4452
+ ]);
4453
+ var CorpusResourceInvocationCursor = z11.strictObject({
4454
+ at: z11.iso.datetime({ offset: true }),
4455
+ eventId: z11.string().min(1)
4456
+ });
4457
+ var CorpusResourceInvocationQuery = z11.strictObject({
4458
+ kind: CorpusResourceKind,
4459
+ since: z11.iso.datetime({ offset: true }),
4460
+ until: z11.iso.datetime({ offset: true }),
4461
+ after: CorpusResourceInvocationCursor.optional(),
4462
+ limit: z11.number().int().min(1).max(1e3).optional(),
4463
+ rootCreatedByKind: z11.enum(AGENT_RUNTIME_SESSION_CREATOR_KINDS).optional()
4464
+ }).refine((value) => Date.parse(value.since) < Date.parse(value.until), {
4465
+ message: "since must precede until"
4466
+ });
4467
+
4468
+ // packages/plugin-protocol/dist/ui-app-package.js
4469
+ import { z as z12 } from "zod";
4445
4470
  var KAY_UI_APP_PACKAGE_PROTOCOL = "kay.ui.app-package.v1";
4446
4471
  var KAY_UI_BUNDLE_INDEX_PROTOCOL = "kay.ui.bundle-index.v1";
4447
- var KayUiBundleOutputPath = z11.string().trim().min(1).refine((value) => !value.startsWith("/") && !value.startsWith("./") && !value.includes("\\") && !value.split("/").includes(".."), { message: "bundle output path must stay relative to the bundle root" });
4448
- var KayUiBundleIndexV1 = z11.strictObject({
4449
- protocol: z11.literal(KAY_UI_BUNDLE_INDEX_PROTOCOL),
4472
+ var KayUiBundleOutputPath = z12.string().trim().min(1).refine((value) => !value.startsWith("/") && !value.startsWith("./") && !value.includes("\\") && !value.split("/").includes(".."), { message: "bundle output path must stay relative to the bundle root" });
4473
+ var KayUiBundleIndexV1 = z12.strictObject({
4474
+ protocol: z12.literal(KAY_UI_BUNDLE_INDEX_PROTOCOL),
4450
4475
  entryPath: KayUiBundleOutputPath,
4451
- files: z11.array(z11.strictObject({
4476
+ files: z12.array(z12.strictObject({
4452
4477
  path: KayUiBundleOutputPath,
4453
4478
  mediaType: NonEmptyString
4454
4479
  })).min(1)
@@ -4475,19 +4500,19 @@ var KayUiBundleIndexV1 = z11.strictObject({
4475
4500
  function parseKayUiBundleIndexV1(input) {
4476
4501
  return KayUiBundleIndexV1.parse(input);
4477
4502
  }
4478
- var KayUiAppPackageFile = z11.strictObject({
4503
+ var KayUiAppPackageFile = z12.strictObject({
4479
4504
  path: PackageAssetPath,
4480
4505
  mediaType: NonEmptyString,
4481
- bytes: z11.instanceof(Uint8Array).refine((bytes) => bytes.byteLength > 0, {
4506
+ bytes: z12.instanceof(Uint8Array).refine((bytes) => bytes.byteLength > 0, {
4482
4507
  message: "app package file bytes must not be empty"
4483
4508
  })
4484
4509
  });
4485
- var KayUiAppPackageV1 = z11.strictObject({
4486
- protocol: z11.literal(KAY_UI_APP_PACKAGE_PROTOCOL),
4510
+ var KayUiAppPackageV1 = z12.strictObject({
4511
+ protocol: z12.literal(KAY_UI_APP_PACKAGE_PROTOCOL),
4487
4512
  appLocalId: LocalContributionId,
4488
4513
  entry: KayUiAppPackageFile,
4489
- styles: z11.array(KayUiAppPackageFile).optional(),
4490
- assets: z11.array(KayUiAppPackageFile).optional()
4514
+ styles: z12.array(KayUiAppPackageFile).optional(),
4515
+ assets: z12.array(KayUiAppPackageFile).optional()
4491
4516
  }).superRefine((appPackage, ctx) => {
4492
4517
  if (appPackage.entry.mediaType !== "application/javascript") {
4493
4518
  ctx.addIssue({
@@ -4524,16 +4549,16 @@ function parseKayUiAppPackageV1(input) {
4524
4549
  }
4525
4550
 
4526
4551
  // packages/plugin-protocol/dist/whiteboard.js
4527
- import { z as z12 } from "zod";
4552
+ import { z as z13 } from "zod";
4528
4553
  var WhiteboardValue = JsonValue;
4529
- var WhiteboardEntryEnvelope = z12.strictObject({
4554
+ var WhiteboardEntryEnvelope = z13.strictObject({
4530
4555
  id: NonEmptyString,
4531
4556
  typeId: GlobalContributionId,
4532
- schemaVersion: z12.number().int().positive(),
4533
- title: z12.string(),
4557
+ schemaVersion: z13.number().int().positive(),
4558
+ title: z13.string(),
4534
4559
  authorSessionId: NonEmptyString.nullable()
4535
4560
  });
4536
- var WhiteboardEntrySummary = z12.strictObject({
4561
+ var WhiteboardEntrySummary = z13.strictObject({
4537
4562
  name: NonEmptyString,
4538
4563
  entry: WhiteboardEntryEnvelope,
4539
4564
  revision: NonEmptyString
@@ -4541,31 +4566,31 @@ var WhiteboardEntrySummary = z12.strictObject({
4541
4566
  var WhiteboardEntrySnapshot = WhiteboardEntrySummary.extend({
4542
4567
  value: WhiteboardValue
4543
4568
  });
4544
- var WhiteboardDiagnostic = z12.strictObject({
4569
+ var WhiteboardDiagnostic = z13.strictObject({
4545
4570
  ruleId: NonEmptyString,
4546
- severity: z12.enum(["error", "warning"]),
4571
+ severity: z13.enum(["error", "warning"]),
4547
4572
  message: NonEmptyString
4548
4573
  });
4549
- var WhiteboardEntryInfo = z12.strictObject({
4574
+ var WhiteboardEntryInfo = z13.strictObject({
4550
4575
  name: NonEmptyString,
4551
4576
  revision: NonEmptyString,
4552
4577
  entry: WhiteboardEntryEnvelope.optional(),
4553
- state: z12.enum(["available", "unavailable", "unsupported-version", "invalid"]),
4554
- mutable: z12.boolean(),
4555
- diagnostics: z12.array(z12.string())
4578
+ state: z13.enum(["available", "unavailable", "unsupported-version", "invalid"]),
4579
+ mutable: z13.boolean(),
4580
+ diagnostics: z13.array(z13.string())
4556
4581
  });
4557
4582
  var WhiteboardEntryInspection = WhiteboardEntryInfo.extend({
4558
4583
  value: WhiteboardValue.optional(),
4559
- text: z12.string(),
4560
- truncated: z12.boolean()
4584
+ text: z13.string(),
4585
+ truncated: z13.boolean()
4561
4586
  });
4562
- var WhiteboardTypeInfo = z12.strictObject({
4587
+ var WhiteboardTypeInfo = z13.strictObject({
4563
4588
  typeId: GlobalContributionId,
4564
4589
  displayName: NonEmptyString,
4565
- schemaVersion: z12.number().int().positive(),
4566
- available: z12.boolean(),
4590
+ schemaVersion: z13.number().int().positive(),
4591
+ available: z13.boolean(),
4567
4592
  /** A plugin-owned readonly presentation; absent types use the host fallback. */
4568
- presentation: z12.strictObject({
4593
+ presentation: z13.strictObject({
4569
4594
  app: GlobalContributionId
4570
4595
  }).optional()
4571
4596
  });
@@ -4607,6 +4632,9 @@ export {
4607
4632
  ContextContributorContribution,
4608
4633
  ConverterContribution,
4609
4634
  CorpusContribution,
4635
+ CorpusResourceInvocationCursor,
4636
+ CorpusResourceInvocationQuery,
4637
+ CorpusResourceKind,
4610
4638
  DeviceDelegationContribution,
4611
4639
  EndpointContribution,
4612
4640
  EndpointGrantRequest,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaklabs-ai/plugin-protocol",
3
- "version": "0.9.0",
3
+ "version": "0.9.1",
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",