@frockbot/computer-core 0.3.16 → 0.3.17

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.
Files changed (2) hide show
  1. package/package.json +2 -2
  2. package/src/core.ts +20 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frockbot/computer-core",
3
- "version": "0.3.16",
3
+ "version": "0.3.17",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -12,7 +12,7 @@
12
12
  "typecheck": "tsc --noEmit -p tsconfig.json"
13
13
  },
14
14
  "dependencies": {
15
- "@frockbot/kernel-contracts": "0.3.16",
15
+ "@frockbot/kernel-contracts": "0.3.17",
16
16
  "cordis": "4.0.0-rc.8"
17
17
  },
18
18
  "devDependencies": {
package/src/core.ts CHANGED
@@ -663,7 +663,7 @@ export type ComputerSyncReasonV1 = "open" | "signal" | "turn-end" | "publish";
663
663
  * answers `unavailable` and a Turn continues.
664
664
  */
665
665
  export interface ComputerSyncSummaryV1 {
666
- status: "ok" | "unavailable" | "refused" | "skipped";
666
+ status: "ok" | "degraded" | "unavailable" | "refused" | "skipped";
667
667
  /** Human-readable reason, empty when the run had nothing to say. */
668
668
  detail: string;
669
669
  pulled: number;
@@ -671,6 +671,10 @@ export interface ComputerSyncSummaryV1 {
671
671
  restored: number;
672
672
  removed: number;
673
673
  adopted: number;
674
+ /** Reproducible directories and durable entries excluded by policy. */
675
+ ignored: number;
676
+ /** Manifest entries left out after the scan reached its hard bound. */
677
+ omitted: number;
674
678
  conflicts: number;
675
679
  failures: number;
676
680
  }
@@ -687,6 +691,8 @@ export function computerSyncSummaryV1(
687
691
  restored: 0,
688
692
  removed: 0,
689
693
  adopted: 0,
694
+ ignored: 0,
695
+ omitted: 0,
690
696
  conflicts: 0,
691
697
  failures: 0,
692
698
  };
@@ -720,7 +726,7 @@ export interface ComputerSyncV1 {
720
726
  reconcileRoot?(
721
727
  root: WorkspaceRootV1,
722
728
  reason: ComputerSyncReasonV1,
723
- options?: ComputerOperationOptions,
729
+ options?: ComputerRootSyncOptionsV1,
724
730
  ): Promise<ComputerSyncSummaryV1>;
725
731
  /**
726
732
  * The Computer-side watcher's change signal, or `undefined` when it cannot
@@ -730,6 +736,18 @@ export interface ComputerSyncV1 {
730
736
  signal(options?: ComputerOperationOptions): Promise<string | undefined>;
731
737
  }
732
738
 
739
+ /** Options for the one-root reconciliation used by artifact publishers. */
740
+ export interface ComputerRootSyncOptionsV1 extends ComputerOperationOptions {
741
+ /**
742
+ * Exact root-relative files that are required even when they live below a
743
+ * reproducible directory the ordinary Workspace sync excludes.
744
+ *
745
+ * This is a path selection, not a Package exception: the Computer provider
746
+ * does not learn which caller or Package needs the bytes.
747
+ */
748
+ requiredPaths?: readonly string[];
749
+ }
750
+
733
751
  /**
734
752
  * What a host supplies so a Computer Package can build the sync: the
735
753
  * object-storage side of the durable roots, and the Durable Object records the