@farmslot/protocol 0.74.0 → 0.74.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/CHANGELOG.md +19 -9
- package/README.md +9 -0
- package/dist/client-cache/cache.d.ts +4 -0
- package/dist/client-cache/cache.d.ts.map +1 -0
- package/dist/client-cache/cache.js +1102 -0
- package/dist/client-cache/cache.js.map +1 -0
- package/dist/client-cache/collector-admission.d.ts +29 -0
- package/dist/client-cache/collector-admission.d.ts.map +1 -0
- package/dist/client-cache/collector-admission.js +183 -0
- package/dist/client-cache/collector-admission.js.map +1 -0
- package/dist/client-cache/command-method.d.ts +5 -0
- package/dist/client-cache/command-method.d.ts.map +1 -0
- package/dist/client-cache/command-method.js +2 -0
- package/dist/client-cache/command-method.js.map +1 -0
- package/dist/client-cache/conformance.d.ts +36 -0
- package/dist/client-cache/conformance.d.ts.map +1 -0
- package/dist/client-cache/conformance.js +578 -0
- package/dist/client-cache/conformance.js.map +1 -0
- package/dist/client-cache/content.d.ts +29 -0
- package/dist/client-cache/content.d.ts.map +1 -0
- package/dist/client-cache/content.js +101 -0
- package/dist/client-cache/content.js.map +1 -0
- package/dist/client-cache/d07-domains.d.ts +17 -0
- package/dist/client-cache/d07-domains.d.ts.map +1 -0
- package/dist/client-cache/d07-domains.js +111 -0
- package/dist/client-cache/d07-domains.js.map +1 -0
- package/dist/client-cache/diff-apply.d.ts +29 -0
- package/dist/client-cache/diff-apply.d.ts.map +1 -0
- package/dist/client-cache/diff-apply.js +206 -0
- package/dist/client-cache/diff-apply.js.map +1 -0
- package/dist/client-cache/index.d.ts +14 -10
- package/dist/client-cache/index.d.ts.map +1 -1
- package/dist/client-cache/index.js +14 -1
- package/dist/client-cache/index.js.map +1 -1
- package/dist/client-cache/keys.d.ts +126 -0
- package/dist/client-cache/keys.d.ts.map +1 -0
- package/dist/client-cache/keys.js +25 -0
- package/dist/client-cache/keys.js.map +1 -0
- package/dist/client-cache/native-history.d.ts +64 -0
- package/dist/client-cache/native-history.d.ts.map +1 -0
- package/dist/client-cache/native-history.js +285 -0
- package/dist/client-cache/native-history.js.map +1 -0
- package/dist/client-cache/prefetch.d.ts +50 -0
- package/dist/client-cache/prefetch.d.ts.map +1 -0
- package/dist/client-cache/prefetch.js +507 -0
- package/dist/client-cache/prefetch.js.map +1 -0
- package/dist/client-cache/registry.d.ts +1365 -0
- package/dist/client-cache/registry.d.ts.map +1 -0
- package/dist/client-cache/registry.js +1038 -0
- package/dist/client-cache/registry.js.map +1 -0
- package/dist/client-cache/run-list-versions.d.ts +70 -0
- package/dist/client-cache/run-list-versions.d.ts.map +1 -0
- package/dist/client-cache/run-list-versions.js +309 -0
- package/dist/client-cache/run-list-versions.js.map +1 -0
- package/dist/client-cache/store.d.ts +128 -0
- package/dist/client-cache/store.d.ts.map +1 -0
- package/dist/client-cache/store.js +190 -0
- package/dist/client-cache/store.js.map +1 -0
- package/dist/client-cache/transport.d.ts +27 -0
- package/dist/client-cache/transport.d.ts.map +1 -0
- package/dist/client-cache/transport.js +56 -0
- package/dist/client-cache/transport.js.map +1 -0
- package/dist/client-cache/types.d.ts +116 -0
- package/dist/client-cache/types.d.ts.map +1 -0
- package/dist/client-cache/types.js +2 -0
- package/dist/client-cache/types.js.map +1 -0
- package/dist/client-cache/upstream-retention.d.ts +6 -0
- package/dist/client-cache/upstream-retention.d.ts.map +1 -0
- package/dist/client-cache/upstream-retention.js +28 -0
- package/dist/client-cache/upstream-retention.js.map +1 -0
- package/dist/client-cache/workspace-retention.d.ts +7 -0
- package/dist/client-cache/workspace-retention.d.ts.map +1 -0
- package/dist/client-cache/workspace-retention.js +46 -0
- package/dist/client-cache/workspace-retention.js.map +1 -0
- package/dist/contracts/provider-accounts.d.ts +31 -0
- package/dist/contracts/provider-accounts.d.ts.map +1 -1
- package/dist/contracts/provider-accounts.js +209 -1
- package/dist/contracts/provider-accounts.js.map +1 -1
- package/dist/contracts/run-bundles.d.ts.map +1 -1
- package/dist/contracts/run-bundles.js +2 -0
- package/dist/contracts/run-bundles.js.map +1 -1
- package/dist/contracts/runs.d.ts +2 -0
- package/dist/contracts/runs.d.ts.map +1 -1
- package/dist/contracts/runs.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/person-session-client.d.ts +4 -1
- package/dist/person-session-client.d.ts.map +1 -1
- package/dist/person-session-client.js.map +1 -1
- package/dist/rpc/auth.d.ts +17 -0
- package/dist/rpc/auth.d.ts.map +1 -1
- package/dist/rpc/auth.js.map +1 -1
- package/dist/rpc/config.d.ts +2 -0
- package/dist/rpc/config.d.ts.map +1 -1
- package/dist/rpc/config.js.map +1 -1
- package/dist/rpc/fs.d.ts +110 -4
- package/dist/rpc/fs.d.ts.map +1 -1
- package/dist/rpc/fs.js +7 -1
- package/dist/rpc/fs.js.map +1 -1
- package/dist/rpc/gateway.d.ts +3 -0
- package/dist/rpc/gateway.d.ts.map +1 -1
- package/dist/rpc/git.d.ts +42 -0
- package/dist/rpc/git.d.ts.map +1 -1
- package/dist/rpc/index.d.ts +1 -0
- package/dist/rpc/index.d.ts.map +1 -1
- package/dist/rpc/index.js +1 -0
- package/dist/rpc/index.js.map +1 -1
- package/dist/rpc/native-session.d.ts +2 -0
- package/dist/rpc/native-session.d.ts.map +1 -1
- package/dist/rpc/native-session.js.map +1 -1
- package/dist/rpc/nodes.d.ts +2 -0
- package/dist/rpc/nodes.d.ts.map +1 -1
- package/dist/rpc/nodes.js.map +1 -1
- package/dist/rpc/pr-observations.d.ts +22 -0
- package/dist/rpc/pr-observations.d.ts.map +1 -0
- package/dist/rpc/pr-observations.js +104 -0
- package/dist/rpc/pr-observations.js.map +1 -0
- package/dist/rpc/pr.d.ts +9 -0
- package/dist/rpc/pr.d.ts.map +1 -1
- package/dist/rpc/pr.js +1 -1
- package/dist/rpc/pr.js.map +1 -1
- package/dist/rpc/principal.d.ts +2 -0
- package/dist/rpc/principal.d.ts.map +1 -1
- package/dist/rpc/registry.d.ts +1 -0
- package/dist/rpc/registry.d.ts.map +1 -1
- package/dist/rpc/registry.js +2 -0
- package/dist/rpc/registry.js.map +1 -1
- package/dist/rpc/resource-observers.d.ts +32 -0
- package/dist/rpc/resource-observers.d.ts.map +1 -0
- package/dist/rpc/resource-observers.js +2 -0
- package/dist/rpc/resource-observers.js.map +1 -0
- package/dist/rpc/run.d.ts +23 -0
- package/dist/rpc/run.d.ts.map +1 -1
- package/dist/rpc/run.js.map +1 -1
- package/dist/rpc/runner-models.d.ts +15 -0
- package/dist/rpc/runner-models.d.ts.map +1 -1
- package/dist/rpc/runner-models.js +91 -0
- package/dist/rpc/runner-models.js.map +1 -1
- package/dist/runs/review-diff-identity.d.ts +15 -0
- package/dist/runs/review-diff-identity.d.ts.map +1 -0
- package/dist/runs/review-diff-identity.js +47 -0
- package/dist/runs/review-diff-identity.js.map +1 -0
- package/dist/runs/run-list-filter.d.ts +33 -0
- package/dist/runs/run-list-filter.d.ts.map +1 -0
- package/dist/runs/run-list-filter.js +116 -0
- package/dist/runs/run-list-filter.js.map +1 -0
- package/dist/runs/run-list-observation.d.ts +5 -0
- package/dist/runs/run-list-observation.d.ts.map +1 -0
- package/dist/runs/run-list-observation.js +36 -0
- package/dist/runs/run-list-observation.js.map +1 -0
- package/dist/runs/run-list-view.d.ts +6 -2
- package/dist/runs/run-list-view.d.ts.map +1 -1
- package/dist/runs/run-list-view.js +10 -4
- package/dist/runs/run-list-view.js.map +1 -1
- package/dist/slots/cancelled-run-slot.d.ts +2 -1
- package/dist/slots/cancelled-run-slot.d.ts.map +1 -1
- package/dist/sources/client.d.ts +10 -1
- package/dist/sources/client.d.ts.map +1 -1
- package/dist/sources/client.js +23 -4
- package/dist/sources/client.js.map +1 -1
- package/dist/sources/controller.d.ts +13 -14
- package/dist/sources/controller.d.ts.map +1 -1
- package/dist/sources/controller.js +87 -82
- package/dist/sources/controller.js.map +1 -1
- package/dist/sources/status-view.d.ts +2 -0
- package/dist/sources/status-view.d.ts.map +1 -1
- package/dist/sources/status-view.js +13 -0
- package/dist/sources/status-view.js.map +1 -1
- package/dist/transport/events.d.ts +1 -4
- package/dist/transport/events.d.ts.map +1 -1
- package/dist/transport/events.js +1 -0
- package/dist/transport/events.js.map +1 -1
- package/dist/transport/frames.d.ts +6 -0
- package/dist/transport/frames.d.ts.map +1 -1
- package/dist/transport/frames.js.map +1 -1
- package/dist/transport/observations.d.ts +24 -0
- package/dist/transport/observations.d.ts.map +1 -0
- package/dist/transport/observations.js +2 -0
- package/dist/transport/observations.js.map +1 -0
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/sources/changes.d.ts +0 -37
- package/dist/sources/changes.d.ts.map +0 -1
- package/dist/sources/changes.js +0 -79
- package/dist/sources/changes.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-list-view.js","sourceRoot":"","sources":["../../src/runs/run-list-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GAIjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-list-view.js","sourceRoot":"","sources":["../../src/runs/run-list-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,EACf,mBAAmB,EACnB,gBAAgB,GAIjB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAkBxD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAkB,EAClB,KAAmB;IAEnB,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,GAA4B,EAAE,EAAE,CAC/B,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;QACzB,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QAChF,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC;QAC9C,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC;QACxC,CAAC,CAAC,GAAG,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClD,CAAC,CAAC,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAC1C,CAAC;AACJ,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,cAAc,CAC5B,KAAsD;IAEtD,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,aAAa,CAAC,QAAwB,EAAE,QAAwB;IAC9E,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,GAAG,IAAI,QAAQ;QAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,MAAM,CAAC,GAA4B;IAC1C,OAAO,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,OAAO,CAAC,GAA4B,EAAE,KAAmB;IAChE,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC;IACpD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CACjB,GAA4B,EAC5B,QAA2B,EAC3B,YAAqD;IAErD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,MAAM,OAAO,GAAG,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,OAAO;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,aAAa,CAAC,GAA4B,EAAE,MAAc;IACjE,OAAO;QACL,GAAG,CAAC,UAAU;QACd,GAAG,CAAC,OAAO;QACX,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACzE,MAAM,CAAC,GAAG,CAAC;QACX,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;KACpB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Run } from '../contracts/runs.js';
|
|
2
2
|
import type { SlotStatus } from '../contracts/slots.js';
|
|
3
|
+
import { Methods } from '../rpc/registry.js';
|
|
3
4
|
import type { SlotReleaseParams, SlotReleaseResult } from '../rpc/slot.js';
|
|
4
5
|
/**
|
|
5
6
|
* The held reason of a slot a cancelled run keeps for replay (ADR-054
|
|
@@ -35,6 +36,6 @@ export declare function cancelledRunSlotChoices(run: Pick<Run, 'id' | 'status' |
|
|
|
35
36
|
/** A release resets the checkout and runs the recycle hook, which takes minutes on a remote node. */
|
|
36
37
|
export declare const CANCELLED_RUN_SLOT_RELEASE_TIMEOUT_MS: number;
|
|
37
38
|
/** Releases the slot; returns why it was not released, or null once it was. */
|
|
38
|
-
export declare function releaseCancelledRunSlot(request: (method:
|
|
39
|
+
export declare function releaseCancelledRunSlot(request: (method: typeof Methods.SLOT_RELEASE, params: SlotReleaseParams, timeoutMs: number) => Promise<SlotReleaseResult>, hold: CancelledRunSlotHold): Promise<string | null>;
|
|
39
40
|
export {};
|
|
40
41
|
//# sourceMappingURL=cancelled-run-slot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cancelled-run-slot.d.ts","sourceRoot":"","sources":["../../src/slots/cancelled-run-slot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"cancelled-run-slot.d.ts","sourceRoot":"","sources":["../../src/slots/cancelled-run-slot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE3E;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,sFAAsF;AACtF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,gFAAgF;IAChF,aAAa,EAAE,iBAAiB,CAAC;CAClC;AAED,KAAK,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,OAAO,GAAG,cAAc,GAAG,YAAY,CAAC,CAAC;AAEjG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,oBAAoB,GAAG,IAAI,CAYhF;AAED,8DAA8D;AAC9D,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,8DAA8D;IAC9D,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,QAAQ,GAAG,OAAO,CAAC,EACzC,KAAK,EAAE,SAAS,QAAQ,EAAE,GACzB,uBAAuB,GAAG,IAAI,CAUhC;AAED,qGAAqG;AACrG,eAAO,MAAM,qCAAqC,QAAa,CAAC;AAEhE,+EAA+E;AAC/E,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,CACP,MAAM,EAAE,OAAO,OAAO,CAAC,YAAY,EACnC,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,MAAM,KACd,OAAO,CAAC,iBAAiB,CAAC,EAC/B,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOxB"}
|
package/dist/sources/client.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { type GatewayResourceCache } from '../client-cache/index.js';
|
|
1
2
|
import { Methods } from '../rpc/registry.js';
|
|
2
3
|
import type { SourcesPinParams, SourcesPinResult, SourcesStatusParams, SourcesStatusResult, SourcesSyncParams, SourcesSyncResult, SourcesUnpinParams } from '../rpc/sources.js';
|
|
3
4
|
import { type SourcePinTarget } from './pins.js';
|
|
4
5
|
export type SourceRpcRequest = <T>(method: string, params: unknown) => Promise<T>;
|
|
6
|
+
/** A cache-backed client's transport: status comes from the shared cache, never this request. */
|
|
7
|
+
export type SourceCommandRequest = <T>(method: PreparedSourceCommand['method'], params: unknown) => Promise<T>;
|
|
5
8
|
export type SourcePinInput = Omit<SourcesPinParams, 'operationId' | 'expectedDeclarationRevision' | 'expectedPinRevision'>;
|
|
6
9
|
export type SourceUnpinInput = Omit<SourcePinInput, 'ref'>;
|
|
7
10
|
export type SourceSyncInput = Omit<SourcesSyncParams, 'operationId' | 'expectedDeclarationRevision'>;
|
|
@@ -23,10 +26,13 @@ interface SourceCommandResults {
|
|
|
23
26
|
export type SourceCommandResult<Command extends PreparedSourceCommand> = SourceCommandResults[Command['method']];
|
|
24
27
|
/** One target mapping serves SDK commands and every source status/picker context. */
|
|
25
28
|
export declare function sourceStatusParamsForTarget(sourceId?: string, target?: SourcePinTarget): SourcesStatusParams;
|
|
29
|
+
/** One registered query supplies source observations and command preconditions in both UIs. */
|
|
30
|
+
export declare function sourceStatusQuery(params?: SourcesStatusParams): import("../client-cache/registry.js").ResourceQuery<SourcesStatusResult>;
|
|
26
31
|
/** Existing authenticated transports own connectivity. This client never resolves refs. */
|
|
27
32
|
export declare class SourceCommandClient {
|
|
28
33
|
private readonly request;
|
|
29
|
-
|
|
34
|
+
private readonly readStatus;
|
|
35
|
+
constructor(request: SourceCommandRequest, readStatus: (params: SourcesStatusParams) => Promise<SourcesStatusResult>);
|
|
30
36
|
status(params?: SourcesStatusParams): Promise<SourcesStatusResult>;
|
|
31
37
|
private revisions;
|
|
32
38
|
preparePin(input: SourcePinInput, operationId?: string): Promise<Extract<PreparedSourceCommand, {
|
|
@@ -41,6 +47,9 @@ export declare class SourceCommandClient {
|
|
|
41
47
|
/** Retry this exact command after a lost response. Never recapture revisions or mint another ID. */
|
|
42
48
|
execute<Command extends PreparedSourceCommand>(command: Command): Promise<SourceCommandResult<Command>>;
|
|
43
49
|
}
|
|
50
|
+
/** The two UI clients supply the shared cache, so their transport carries commands only. */
|
|
51
|
+
export declare function createSourceCommandClient(request: SourceCommandRequest, resourceCache: () => GatewayResourceCache | undefined): SourceCommandClient;
|
|
52
|
+
/** CLI commands have no cache provider and remain direct status readers. */
|
|
44
53
|
export declare function createSourceCommandClient(request: SourceRpcRequest): SourceCommandClient;
|
|
45
54
|
export {};
|
|
46
55
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/sources/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,WAAW,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAClF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,gBAAgB,EAChB,aAAa,GAAG,6BAA6B,GAAG,qBAAqB,CACtE,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;AAC3D,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,iBAAiB,EACjB,aAAa,GAAG,6BAA6B,CAC9C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B;IAAE,MAAM,EAAE,OAAO,OAAO,CAAC,WAAW,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GAChE;IAAE,MAAM,EAAE,OAAO,OAAO,CAAC,aAAa,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;CAAE,GACpE;IAAE,MAAM,EAAE,OAAO,OAAO,CAAC,YAAY,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEvE,UAAU,oBAAoB;IAC5B,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IACxC,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,gBAAgB,CAAC;IAC1C,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAC3C;AACD,MAAM,MAAM,mBAAmB,CAAC,OAAO,SAAS,qBAAqB,IACnE,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAW1C,qFAAqF;AACrF,wBAAgB,2BAA2B,CACzC,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,eAAe,GACvB,mBAAmB,CAYrB;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/sources/client.ts"],"names":[],"mappings":"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"}
|
package/dist/sources/client.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resourceQuery } from '../client-cache/index.js';
|
|
1
2
|
import { Methods } from '../rpc/registry.js';
|
|
2
3
|
import { validateSourceSelection } from './pins.js';
|
|
3
4
|
function pinRevisions(status) {
|
|
@@ -21,16 +22,30 @@ export function sourceStatusParamsForTarget(sourceId, target) {
|
|
|
21
22
|
params.runId = target.targetId;
|
|
22
23
|
return params;
|
|
23
24
|
}
|
|
25
|
+
/** One registered query supplies source observations and command preconditions in both UIs. */
|
|
26
|
+
export function sourceStatusQuery(params = {}) {
|
|
27
|
+
return resourceQuery(Methods.SOURCES_STATUS, params);
|
|
28
|
+
}
|
|
24
29
|
function newOperationId() {
|
|
25
30
|
return `sources-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
|
|
26
31
|
}
|
|
32
|
+
async function cachedSourceStatus(resourceCache, params) {
|
|
33
|
+
const cache = resourceCache();
|
|
34
|
+
if (!cache)
|
|
35
|
+
throw new Error('Wait for source facts from the selected gateway.');
|
|
36
|
+
const state = await cache.retry(sourceStatusQuery(params));
|
|
37
|
+
if (state.status !== 'ready' || !state.data)
|
|
38
|
+
throw Object.assign(new Error(state.error?.message ?? 'Connect to refresh source facts before this action.'), { code: state.error?.code ?? 'RESOURCE_STALE' });
|
|
39
|
+
return state.data;
|
|
40
|
+
}
|
|
27
41
|
/** Existing authenticated transports own connectivity. This client never resolves refs. */
|
|
28
42
|
export class SourceCommandClient {
|
|
29
|
-
constructor(request) {
|
|
43
|
+
constructor(request, readStatus) {
|
|
30
44
|
this.request = request;
|
|
45
|
+
this.readStatus = readStatus;
|
|
31
46
|
}
|
|
32
47
|
status(params = {}) {
|
|
33
|
-
return this.
|
|
48
|
+
return this.readStatus(params);
|
|
34
49
|
}
|
|
35
50
|
async revisions(sourceId, target) {
|
|
36
51
|
const status = await this.status(sourceStatusParamsForTarget(sourceId, target));
|
|
@@ -77,7 +92,11 @@ export class SourceCommandClient {
|
|
|
77
92
|
return result;
|
|
78
93
|
}
|
|
79
94
|
}
|
|
80
|
-
export function createSourceCommandClient(request) {
|
|
81
|
-
|
|
95
|
+
export function createSourceCommandClient(request, resourceCache) {
|
|
96
|
+
if (resourceCache)
|
|
97
|
+
return new SourceCommandClient(request, (params) => cachedSourceStatus(resourceCache, params));
|
|
98
|
+
// Only the overload without a cache provider accepts a transport that reads status.
|
|
99
|
+
const direct = request;
|
|
100
|
+
return new SourceCommandClient(request, (params) => direct(Methods.SOURCES_STATUS, params));
|
|
82
101
|
}
|
|
83
102
|
//# sourceMappingURL=client.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/sources/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAW7C,OAAO,EAAwB,uBAAuB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/sources/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { GatewayResourceCache, ResourceQueryStatus } from '../client-cache/index.js';
|
|
2
2
|
import { type PreparedSourceCommand, type SourceCommandClient } from './client.js';
|
|
3
3
|
import type { SourceSelection } from './pins.js';
|
|
4
4
|
import { type SourceStatusViewContext, type SourceStatusViewModel, type SourceViewAction } from './status-view.js';
|
|
5
5
|
export interface SourceStatusSnapshot {
|
|
6
|
+
freshness: ResourceQueryStatus;
|
|
7
|
+
observedAt?: number;
|
|
6
8
|
loading: boolean;
|
|
7
9
|
busy: boolean;
|
|
8
10
|
view?: SourceStatusViewModel;
|
|
@@ -26,30 +28,27 @@ export interface SourceStatusSnapshot {
|
|
|
26
28
|
/** One context-bound controller serves thin web/native status and selection renderers. */
|
|
27
29
|
export declare class SourceStatusController {
|
|
28
30
|
private readonly client;
|
|
31
|
+
private cache?;
|
|
29
32
|
private context;
|
|
30
33
|
private status?;
|
|
31
34
|
private version;
|
|
32
35
|
private listeners;
|
|
33
36
|
private snapshot;
|
|
34
37
|
private pendingConnectionKey?;
|
|
35
|
-
private
|
|
36
|
-
private covered?;
|
|
37
|
-
/** The version of the read in flight; a context change abandons it. */
|
|
38
|
-
private readingVersion?;
|
|
39
|
-
private rereadAfterRead;
|
|
38
|
+
private stopQuery?;
|
|
40
39
|
private deniedRead;
|
|
41
|
-
|
|
40
|
+
private ageTimer?;
|
|
41
|
+
constructor(client: SourceCommandClient, context: SourceStatusViewContext, cache?: GatewayResourceCache | undefined);
|
|
42
42
|
getSnapshot: () => SourceStatusSnapshot;
|
|
43
43
|
subscribe: (listener: () => void) => (() => void);
|
|
44
|
+
/** Repaint relative age only; this clock never refreshes facts or changes selections. */
|
|
45
|
+
private updateAgeTimer;
|
|
44
46
|
private update;
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
* revision passes what the last read covered. Reconnects stay with the host,
|
|
48
|
-
* which already rereads on every new connection.
|
|
49
|
-
*/
|
|
50
|
-
attachFeed(feed: SourceChangeFeed): () => void;
|
|
51
|
-
private observeFeed;
|
|
47
|
+
private observeQuery;
|
|
48
|
+
dispose(): void;
|
|
52
49
|
setContext(context: SourceStatusViewContext): boolean;
|
|
50
|
+
/** A retired cache must never observe a context from the replacement connection. */
|
|
51
|
+
bind(context: SourceStatusViewContext, cache: GatewayResourceCache | undefined): boolean;
|
|
53
52
|
refresh(): Promise<void>;
|
|
54
53
|
select(selection: SourceSelection): void;
|
|
55
54
|
clearSelection(sourceId: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/sources/controller.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/sources/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG1F,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EAGzB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,qBAAqB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+FAA+F;IAC/F,MAAM,EAAE,OAAO,CAAC;IAChB,8CAA8C;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,2EAA2E;IAC3E,WAAW,EAAE,OAAO,CAAC;CACtB;AAQD,0FAA0F;AAC1F,qBAAa,sBAAsB;IAY/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,KAAK,CAAC;IAbhB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,MAAM,CAAC,CAAsB;IACrC,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,SAAS,CAAyB;IAC1C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,oBAAoB,CAAC,CAAS;IACtC,OAAO,CAAC,SAAS,CAAC,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,CAAgC;gBAG9B,MAAM,EAAE,mBAAmB,EAC5C,OAAO,EAAE,uBAAuB,EACxB,KAAK,CAAC,EAAE,oBAAoB,YAAA;IAkBtC,WAAW,QAAO,oBAAoB,CAAkB;IAExD,SAAS,GAAI,UAAU,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC,CAO9C;IAEF,yFAAyF;IACzF,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,MAAM;IAgDd,OAAO,CAAC,YAAY;IAkBpB,OAAO,IAAI,IAAI;IASf,UAAU,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO;IAIrD,oFAAoF;IACpF,IAAI,CAAC,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,oBAAoB,GAAG,SAAS,GAAG,OAAO;IA4ClF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAM9B,MAAM,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IASxC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAOhC,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCjE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YASd,aAAa;CAkC5B"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { sourceStatusParamsForTarget, } from './client.js';
|
|
1
|
+
import { sourceStatusParamsForTarget, sourceStatusQuery, } from './client.js';
|
|
3
2
|
import { deriveSourceStatusView, } from './status-view.js';
|
|
4
3
|
function commandLabel(command) {
|
|
5
4
|
if (command.method === 'sources.sync')
|
|
@@ -8,19 +7,24 @@ function commandLabel(command) {
|
|
|
8
7
|
}
|
|
9
8
|
/** One context-bound controller serves thin web/native status and selection renderers. */
|
|
10
9
|
export class SourceStatusController {
|
|
11
|
-
constructor(client, context) {
|
|
10
|
+
constructor(client, context, cache) {
|
|
12
11
|
this.client = client;
|
|
12
|
+
this.cache = cache;
|
|
13
13
|
this.version = 0;
|
|
14
14
|
this.listeners = new Set();
|
|
15
|
-
this.rereadAfterRead = false;
|
|
16
15
|
this.deniedRead = false;
|
|
17
16
|
this.getSnapshot = () => this.snapshot;
|
|
18
17
|
this.subscribe = (listener) => {
|
|
19
18
|
this.listeners.add(listener);
|
|
20
|
-
|
|
19
|
+
this.updateAgeTimer();
|
|
20
|
+
return () => {
|
|
21
|
+
this.listeners.delete(listener);
|
|
22
|
+
this.updateAgeTimer();
|
|
23
|
+
};
|
|
21
24
|
};
|
|
22
25
|
this.context = structuredClone(context);
|
|
23
26
|
this.snapshot = {
|
|
27
|
+
freshness: 'loading',
|
|
24
28
|
loading: false,
|
|
25
29
|
busy: false,
|
|
26
30
|
selections: structuredClone([...(context.selections ?? [])]),
|
|
@@ -31,18 +35,43 @@ export class SourceStatusController {
|
|
|
31
35
|
unsupported: false,
|
|
32
36
|
};
|
|
33
37
|
this.update({});
|
|
38
|
+
this.observeQuery();
|
|
39
|
+
}
|
|
40
|
+
/** Repaint relative age only; this clock never refreshes facts or changes selections. */
|
|
41
|
+
updateAgeTimer() {
|
|
42
|
+
if (this.ageTimer !== undefined)
|
|
43
|
+
clearTimeout(this.ageTimer);
|
|
44
|
+
this.ageTimer = undefined;
|
|
45
|
+
if (!this.listeners.size ||
|
|
46
|
+
this.snapshot.freshness === 'ready' ||
|
|
47
|
+
!this.snapshot.view ||
|
|
48
|
+
this.snapshot.observedAt === undefined)
|
|
49
|
+
return;
|
|
50
|
+
const elapsed = Math.max(0, Date.now() - this.snapshot.observedAt);
|
|
51
|
+
const interval = elapsed < 60_000 ? 1000 : 60_000;
|
|
52
|
+
this.ageTimer = setTimeout(() => {
|
|
53
|
+
this.ageTimer = undefined;
|
|
54
|
+
this.snapshot = { ...this.snapshot };
|
|
55
|
+
for (const listener of this.listeners)
|
|
56
|
+
listener();
|
|
57
|
+
this.updateAgeTimer();
|
|
58
|
+
}, interval - (elapsed % interval));
|
|
34
59
|
}
|
|
35
60
|
update(change) {
|
|
36
61
|
this.snapshot = { ...this.snapshot, ...change };
|
|
37
|
-
|
|
38
|
-
|
|
62
|
+
this.snapshot.view = this.status
|
|
63
|
+
? deriveSourceStatusView(this.status, {
|
|
39
64
|
...this.context,
|
|
40
65
|
...(this.context.selections !== undefined || this.snapshot.selections.length
|
|
41
66
|
? { selections: this.snapshot.selections }
|
|
42
67
|
: {}),
|
|
43
|
-
})
|
|
68
|
+
})
|
|
69
|
+
: undefined;
|
|
44
70
|
this.snapshot.interactive =
|
|
45
|
-
|
|
71
|
+
this.snapshot.freshness === 'ready' &&
|
|
72
|
+
!this.snapshot.busy &&
|
|
73
|
+
!this.snapshot.loading &&
|
|
74
|
+
!this.snapshot.pending;
|
|
46
75
|
this.snapshot.canEdit = this.snapshot.interactive && this.snapshot.view?.editable === true;
|
|
47
76
|
const view = this.snapshot.view;
|
|
48
77
|
// A failed read stays visible, even over a context that was empty when last read.
|
|
@@ -51,8 +80,11 @@ export class SourceStatusController {
|
|
|
51
80
|
(this.snapshot.error !== undefined && this.deniedRead) ||
|
|
52
81
|
(!view && this.snapshot.error === undefined && !this.snapshot.pending);
|
|
53
82
|
this.snapshot.controls = Boolean(view && (view.editable || view.draft || view.actions.length > 0));
|
|
54
|
-
this.snapshot.unsupported =
|
|
55
|
-
|
|
83
|
+
this.snapshot.unsupported = this.snapshot.freshness === 'unsupported';
|
|
84
|
+
this.snapshot.canRetry = Boolean(!this.snapshot.busy &&
|
|
85
|
+
this.snapshot.pending &&
|
|
86
|
+
this.snapshot.freshness === 'ready' &&
|
|
87
|
+
this.pendingConnectionKey === this.context.connectionKey);
|
|
56
88
|
this.snapshot.selectionRefusal =
|
|
57
89
|
this.snapshot.view?.selectionErrors[0] ??
|
|
58
90
|
(!this.context.target &&
|
|
@@ -67,43 +99,46 @@ export class SourceStatusController {
|
|
|
67
99
|
: undefined);
|
|
68
100
|
for (const listener of this.listeners)
|
|
69
101
|
listener();
|
|
102
|
+
this.updateAgeTimer();
|
|
70
103
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
this.
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
104
|
+
observeQuery() {
|
|
105
|
+
this.stopQuery?.();
|
|
106
|
+
this.stopQuery = undefined;
|
|
107
|
+
if (!this.cache)
|
|
108
|
+
return;
|
|
109
|
+
const params = this.context.params ?? sourceStatusParamsForTarget(undefined, this.context.target);
|
|
110
|
+
this.stopQuery = this.cache.observe(sourceStatusQuery(params), (state) => {
|
|
111
|
+
this.status = state.data;
|
|
112
|
+
this.deniedRead = state.error?.code === 'AUTH_FORBIDDEN';
|
|
113
|
+
this.update({
|
|
114
|
+
freshness: state.status,
|
|
115
|
+
observedAt: state.observedAt,
|
|
116
|
+
loading: state.status === 'loading',
|
|
117
|
+
error: state.error?.message,
|
|
118
|
+
});
|
|
119
|
+
});
|
|
85
120
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
}
|
|
94
|
-
// Before the first read the host's initial load covers the current state.
|
|
95
|
-
if (this.status || this.snapshot.error) {
|
|
96
|
-
void this.refresh();
|
|
97
|
-
return;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
this.update({});
|
|
121
|
+
dispose() {
|
|
122
|
+
this.version++;
|
|
123
|
+
this.stopQuery?.();
|
|
124
|
+
this.stopQuery = undefined;
|
|
125
|
+
this.cache = undefined;
|
|
126
|
+
this.listeners.clear();
|
|
127
|
+
this.updateAgeTimer();
|
|
101
128
|
}
|
|
102
129
|
setContext(context) {
|
|
103
|
-
|
|
130
|
+
return this.bind(context, this.cache);
|
|
131
|
+
}
|
|
132
|
+
/** A retired cache must never observe a context from the replacement connection. */
|
|
133
|
+
bind(context, cache) {
|
|
134
|
+
const cacheChanged = cache !== this.cache;
|
|
135
|
+
const contextChanged = JSON.stringify(context) !== JSON.stringify(this.context);
|
|
136
|
+
this.cache = cache;
|
|
137
|
+
if (!cacheChanged && !contextChanged)
|
|
104
138
|
return false;
|
|
105
|
-
if (
|
|
106
|
-
JSON.stringify({ ...
|
|
139
|
+
if (!cacheChanged &&
|
|
140
|
+
JSON.stringify({ ...context, selections: undefined }) ===
|
|
141
|
+
JSON.stringify({ ...this.context, selections: undefined })) {
|
|
107
142
|
this.context = structuredClone(context);
|
|
108
143
|
if (this.snapshot.busy && !this.snapshot.pending)
|
|
109
144
|
this.version++;
|
|
@@ -116,12 +151,14 @@ export class SourceStatusController {
|
|
|
116
151
|
// An uncertain mutation retains its exact old target/request even if the view changes.
|
|
117
152
|
const canRetry = this.pendingConnectionKey === context.connectionKey;
|
|
118
153
|
this.update({
|
|
154
|
+
freshness: 'loading',
|
|
155
|
+
observedAt: undefined,
|
|
119
156
|
loading: false,
|
|
120
157
|
view: undefined,
|
|
121
158
|
error: undefined,
|
|
122
159
|
operationError: undefined,
|
|
123
160
|
notice: undefined,
|
|
124
|
-
selections: structuredClone([...(context.selections ?? [])]),
|
|
161
|
+
selections: structuredClone(contextChanged ? [...(context.selections ?? [])] : this.snapshot.selections),
|
|
125
162
|
...(this.snapshot.pending
|
|
126
163
|
? {
|
|
127
164
|
canRetry,
|
|
@@ -131,60 +168,29 @@ export class SourceStatusController {
|
|
|
131
168
|
}
|
|
132
169
|
: {}),
|
|
133
170
|
});
|
|
171
|
+
this.observeQuery();
|
|
134
172
|
return true;
|
|
135
173
|
}
|
|
136
174
|
async refresh() {
|
|
137
|
-
const version = ++this.version;
|
|
138
175
|
const params = this.context.params ?? sourceStatusParamsForTarget(undefined, this.context.target);
|
|
139
|
-
|
|
140
|
-
this.covered = this.feed?.getState().latest;
|
|
141
|
-
this.readingVersion = version;
|
|
142
|
-
this.rereadAfterRead = false;
|
|
143
|
-
this.update({ loading: true, error: undefined });
|
|
144
|
-
try {
|
|
145
|
-
const status = await this.client.status(params);
|
|
146
|
-
if (version !== this.version)
|
|
147
|
-
return;
|
|
148
|
-
this.status = status;
|
|
149
|
-
this.deniedRead = false;
|
|
150
|
-
this.update({ loading: false });
|
|
151
|
-
}
|
|
152
|
-
catch (error) {
|
|
153
|
-
// Read failures remain visible; stale responses cannot replace another context's facts.
|
|
154
|
-
if (version === this.version) {
|
|
155
|
-
this.deniedRead = error.code === 'AUTH_FORBIDDEN';
|
|
156
|
-
this.update({ loading: false, error: error.message });
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
finally {
|
|
160
|
-
if (version === this.version) {
|
|
161
|
-
this.readingVersion = undefined;
|
|
162
|
-
// A change seen during the read is not covered by it: read once more.
|
|
163
|
-
if (this.rereadAfterRead) {
|
|
164
|
-
this.rereadAfterRead = false;
|
|
165
|
-
void this.refresh();
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
176
|
+
await this.cache?.retry(sourceStatusQuery(params));
|
|
169
177
|
}
|
|
170
178
|
select(selection) {
|
|
171
|
-
if (!this.snapshot.
|
|
179
|
+
if (!this.snapshot.canEdit)
|
|
172
180
|
return;
|
|
173
181
|
const selections = this.snapshot.selections.filter((value) => value.sourceId !== selection.sourceId);
|
|
174
182
|
selections.push(structuredClone(selection));
|
|
175
183
|
this.update({ selections });
|
|
176
184
|
}
|
|
177
185
|
clearSelection(sourceId) {
|
|
178
|
-
if (!this.snapshot.
|
|
186
|
+
if (!this.snapshot.canEdit)
|
|
179
187
|
return;
|
|
180
188
|
this.update({
|
|
181
189
|
selections: this.snapshot.selections.filter((selection) => selection.sourceId !== sourceId),
|
|
182
190
|
});
|
|
183
191
|
}
|
|
184
192
|
async apply(action, sourceId) {
|
|
185
|
-
if (this.snapshot.
|
|
186
|
-
this.snapshot.pending ||
|
|
187
|
-
!this.snapshot.view?.actions.includes(action))
|
|
193
|
+
if (!this.snapshot.interactive || !this.snapshot.view?.actions.includes(action))
|
|
188
194
|
return;
|
|
189
195
|
const version = this.version;
|
|
190
196
|
this.update({ busy: true, error: undefined, operationError: undefined, notice: undefined });
|
|
@@ -222,7 +228,7 @@ export class SourceStatusController {
|
|
|
222
228
|
}
|
|
223
229
|
}
|
|
224
230
|
async retry() {
|
|
225
|
-
if (this.snapshot.busy || !this.snapshot.pending)
|
|
231
|
+
if (this.snapshot.busy || !this.snapshot.pending || this.snapshot.freshness !== 'ready')
|
|
226
232
|
return;
|
|
227
233
|
if (this.pendingConnectionKey !== this.context.connectionKey) {
|
|
228
234
|
this.update({ error: 'Select the original farm connection to retry this source action.' });
|
|
@@ -252,7 +258,6 @@ export class SourceStatusController {
|
|
|
252
258
|
: undefined,
|
|
253
259
|
selections: [],
|
|
254
260
|
});
|
|
255
|
-
await this.refresh();
|
|
256
261
|
}
|
|
257
262
|
catch (error) {
|
|
258
263
|
// A missing acknowledgement keeps the same operation ID, revisions and explicit target.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/sources/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/sources/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,8 @@ import type { SourcesStatusParams, SourcesStatusResult } from '../rpc/sources.js
|
|
|
2
2
|
import type { SourceDeclaration, SourceLock, SourceLockEntry, SourceResolution } from './contracts.js';
|
|
3
3
|
import { type SourceEffectiveSelection, type SourcePinTarget, type SourceSelection } from './pins.js';
|
|
4
4
|
export type SourceViewAction = 'sync' | 'pin' | 'unpin';
|
|
5
|
+
/** Display the age of a retained observation without requesting newer facts. */
|
|
6
|
+
export declare function sourceObservationAge(observedAt: number | undefined, now?: number): string;
|
|
5
7
|
export declare const SOURCE_VIEW_ACTION_LABELS: Record<SourceViewAction, string>;
|
|
6
8
|
/** Callers select presentation and actions; the gateway remains the mutation authority. */
|
|
7
9
|
export interface SourceStatusViewContext {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-view.d.ts","sourceRoot":"","sources":["../../src/sources/status-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGlF,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,eAAe,EAGrB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"status-view.d.ts","sourceRoot":"","sources":["../../src/sources/status-view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGlF,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,eAAe,EAGrB,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAExD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,SAAa,GAAG,MAAM,CAQ7F;AACD,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAItE,CAAC;AAEF,2FAA2F;AAC3F,MAAM,WAAW,uBAAuB;IACtC,8FAA8F;IAC9F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC,UAAU,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,aAAa,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;QAAC,KAAK,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IACjG,gBAAgB,EAAE,KAAK,CAAC;QACtB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,EAAE,CAAC;KACjB,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,OAAO,CAAC;IACpB,wFAAwF;IACxF,MAAM,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,EAAE,mBAAmB,EAAE,CAAC;IAC5B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;CACvC;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,mBAAmB,EAC3B,OAAO,EAAE,uBAAuB,GAC/B,qBAAqB,CA+JvB"}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { sourceStatusParamsForTarget } from './client.js';
|
|
2
2
|
import { validateSourceSelection, validateSourceSelections, } from './pins.js';
|
|
3
|
+
/** Display the age of a retained observation without requesting newer facts. */
|
|
4
|
+
export function sourceObservationAge(observedAt, now = Date.now()) {
|
|
5
|
+
if (observedAt === undefined)
|
|
6
|
+
return 'age unknown';
|
|
7
|
+
const seconds = Math.floor(Math.max(0, now - observedAt) / 1000);
|
|
8
|
+
if (seconds < 60)
|
|
9
|
+
return `${seconds}s old`;
|
|
10
|
+
const minutes = Math.floor(seconds / 60);
|
|
11
|
+
if (minutes < 60)
|
|
12
|
+
return `${minutes}m old`;
|
|
13
|
+
const hours = Math.floor(minutes / 60);
|
|
14
|
+
return hours < 24 ? `${hours}h old` : `${Math.floor(hours / 24)}d old`;
|
|
15
|
+
}
|
|
3
16
|
export const SOURCE_VIEW_ACTION_LABELS = {
|
|
4
17
|
sync: 'Sync',
|
|
5
18
|
pin: 'Pin branch',
|