@botiverse/oar 0.10.2 → 0.11.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.
Files changed (72) hide show
  1. package/README.md +8 -0
  2. package/dist/contracts/runtime.d.ts +5 -0
  3. package/dist/contracts/runtime.d.ts.map +1 -1
  4. package/dist/contracts/runtime.js.map +1 -1
  5. package/dist/contracts/update.d.ts +77 -0
  6. package/dist/contracts/update.d.ts.map +1 -0
  7. package/dist/contracts/update.js +2 -0
  8. package/dist/contracts/update.js.map +1 -0
  9. package/dist/index.d.ts +1 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/runtimes/antigravity/index.d.ts +1 -0
  13. package/dist/runtimes/antigravity/index.d.ts.map +1 -1
  14. package/dist/runtimes/antigravity/index.js +2 -0
  15. package/dist/runtimes/antigravity/index.js.map +1 -1
  16. package/dist/runtimes/antigravity/update.d.ts +11 -0
  17. package/dist/runtimes/antigravity/update.d.ts.map +1 -0
  18. package/dist/runtimes/antigravity/update.js +28 -0
  19. package/dist/runtimes/antigravity/update.js.map +1 -0
  20. package/dist/runtimes/claude/index.d.ts +3 -0
  21. package/dist/runtimes/claude/index.d.ts.map +1 -1
  22. package/dist/runtimes/claude/index.js +3 -0
  23. package/dist/runtimes/claude/index.js.map +1 -1
  24. package/dist/runtimes/claude/update.d.ts +32 -0
  25. package/dist/runtimes/claude/update.d.ts.map +1 -0
  26. package/dist/runtimes/claude/update.js +88 -0
  27. package/dist/runtimes/claude/update.js.map +1 -0
  28. package/dist/runtimes/codex/index.d.ts +3 -0
  29. package/dist/runtimes/codex/index.d.ts.map +1 -1
  30. package/dist/runtimes/codex/index.js +3 -0
  31. package/dist/runtimes/codex/index.js.map +1 -1
  32. package/dist/runtimes/codex/update.d.ts +14 -0
  33. package/dist/runtimes/codex/update.d.ts.map +1 -0
  34. package/dist/runtimes/codex/update.js +47 -0
  35. package/dist/runtimes/codex/update.js.map +1 -0
  36. package/dist/runtimes/cursor/index.d.ts +3 -0
  37. package/dist/runtimes/cursor/index.d.ts.map +1 -1
  38. package/dist/runtimes/cursor/index.js +3 -0
  39. package/dist/runtimes/cursor/index.js.map +1 -1
  40. package/dist/runtimes/cursor/update.d.ts +19 -0
  41. package/dist/runtimes/cursor/update.d.ts.map +1 -0
  42. package/dist/runtimes/cursor/update.js +88 -0
  43. package/dist/runtimes/cursor/update.js.map +1 -0
  44. package/dist/runtimes/grok/index.d.ts +3 -0
  45. package/dist/runtimes/grok/index.d.ts.map +1 -1
  46. package/dist/runtimes/grok/index.js +3 -0
  47. package/dist/runtimes/grok/index.js.map +1 -1
  48. package/dist/runtimes/grok/update.d.ts +12 -0
  49. package/dist/runtimes/grok/update.d.ts.map +1 -0
  50. package/dist/runtimes/grok/update.js +37 -0
  51. package/dist/runtimes/grok/update.js.map +1 -0
  52. package/dist/runtimes/kimi/index.d.ts +2 -0
  53. package/dist/runtimes/kimi/index.d.ts.map +1 -1
  54. package/dist/runtimes/kimi/index.js +3 -0
  55. package/dist/runtimes/kimi/index.js.map +1 -1
  56. package/dist/runtimes/kimi/update.d.ts +18 -0
  57. package/dist/runtimes/kimi/update.d.ts.map +1 -0
  58. package/dist/runtimes/kimi/update.js +56 -0
  59. package/dist/runtimes/kimi/update.js.map +1 -0
  60. package/dist/shared/executable/index.d.ts +1 -0
  61. package/dist/shared/executable/index.d.ts.map +1 -1
  62. package/dist/shared/executable/index.js +1 -0
  63. package/dist/shared/executable/index.js.map +1 -1
  64. package/dist/shared/executable/isolated.d.ts +19 -0
  65. package/dist/shared/executable/isolated.d.ts.map +1 -0
  66. package/dist/shared/executable/isolated.js +73 -0
  67. package/dist/shared/executable/isolated.js.map +1 -0
  68. package/dist/shared/update.d.ts +56 -0
  69. package/dist/shared/update.d.ts.map +1 -0
  70. package/dist/shared/update.js +139 -0
  71. package/dist/shared/update.js.map +1 -0
  72. package/package.json +3 -3
package/README.md CHANGED
@@ -62,6 +62,14 @@ has it. `runtime.accountUsage(installation)` reads account quota on claude,
62
62
  codex, grok and kimi; its failure semantics are documented in the
63
63
  [account usage reference](https://github.com/botiverse/oar/blob/main/docs/spec/account-usage.md).
64
64
 
65
+ `runtime.checkUpdate(installation)` reports the version the runtime's own
66
+ updater would install and where that answer came from;
67
+ `runtime.upgrade(installation)` runs that updater without a terminal and
68
+ judges the result by the version the same executable reports afterwards,
69
+ never by its exit code. oar never upgrades on its own. Claude, Codex, Cursor,
70
+ Grok and Kimi have both; Antigravity has only the check; Pi moves with oar.
71
+ See [runtime updates](https://github.com/botiverse/oar/blob/main/docs/spec/update.md).
72
+
65
73
  Images go with an input through `InputOptions.images` (absolute paths to png,
66
74
  jpeg, gif or webp files) on prompt, steer and queue, as the runtime's own image
67
75
  content. `session.capabilities.images` says whether the runtime takes them; an
@@ -1,4 +1,5 @@
1
1
  import type { RuntimeInventories } from "./inventory.js";
2
+ import type { UpdateChecker, Upgrader } from "./update.js";
2
3
  import type { AccountUsageReader } from "./account-usage.js";
3
4
  import type { InstallationProbe } from "./installation.js";
4
5
  import type { ModelLister } from "./list-models.js";
@@ -12,6 +13,10 @@ export interface Runtime extends RuntimeInventories {
12
13
  readonly installation?: InstallationProbe;
13
14
  readonly accountUsage?: AccountUsageReader;
14
15
  readonly listModels?: ModelLister;
16
+ /** Read only: the version the runtime's own updater would install. */
17
+ readonly checkUpdate?: UpdateChecker;
18
+ /** Runs the runtime's own updater; changes the machine, so only on the host's explicit call. */
19
+ readonly upgrade?: Upgrader;
15
20
  }
16
21
  export declare function defineRuntime<const T extends Omit<Runtime, keyof RuntimeInventories | "brand"> & Partial<RuntimeInventories> & {
17
22
  readonly brand?: RuntimeBrand;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/contracts/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,sDAAsD;AACtD,MAAM,WAAW,OAAQ,SAAQ,kBAAkB;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;CACnC;AAWD,wBAAgB,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,kBAAkB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAExO"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/contracts/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEjD,sDAAsD;AACtD,MAAM,WAAW,OAAQ,SAAQ,kBAAkB;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,YAAY,CAAC,EAAE,iBAAiB,CAAC;IAC1C,QAAQ,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAC3C,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,CAAC;IAClC,sEAAsE;IACtE,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC;IACrC,gGAAgG;IAChG,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;CAC7B;AAWD,wBAAgB,aAAa,CAAC,KAAK,CAAC,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,GAAG;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,kBAAkB,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAA;CAAE,CAExO"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/contracts/runtime.ts"],"names":[],"mappings":"AAiBA,KAAK,UAAU,WAAW;IACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,+DAA+D;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAsI,OAAU;IAC3K,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACpJ,CAAC"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/contracts/runtime.ts"],"names":[],"mappings":"AAsBA,KAAK,UAAU,WAAW;IACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,+DAA+D;KACxE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAsI,OAAU;IAC3K,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;AACpJ,CAAC"}
@@ -0,0 +1,77 @@
1
+ import type { AvailableInstallation } from "./installation.js";
2
+ /**
3
+ * Why a check could not name the version the runtime's own updater would
4
+ * install. Never a guess that the installation is current.
5
+ */
6
+ export type UpdateCheckUnavailableReason = "unsupported_installation" | "package_manager" | "unmanaged_installation" | "updates_disabled" | "lookup_failed" | "version_unreadable";
7
+ /**
8
+ * What the installed runtime's own updater would do. `source` names where
9
+ * the answer came from: the runtime command that answered, or the release
10
+ * URL its updater reads. `latest` is that source's version for the
11
+ * installation's channel, so it can be older than `installed` (a stable
12
+ * channel behind a newer manual install); `updateAvailable` is then the
13
+ * runtime's own verdict where it gives one, otherwise `latest !== installed`.
14
+ */
15
+ export type UpdateCheck = {
16
+ readonly kind: "ok";
17
+ readonly installed: string;
18
+ readonly latest: string;
19
+ readonly updateAvailable: boolean;
20
+ /** Release channel the check followed, when the runtime has channels. */
21
+ readonly channel?: string;
22
+ readonly source: string;
23
+ } | {
24
+ readonly kind: "unavailable";
25
+ readonly reason: UpdateCheckUnavailableReason;
26
+ readonly detail?: string;
27
+ readonly source?: string;
28
+ };
29
+ export interface UpdateCheckOptions {
30
+ readonly timeoutMs?: number;
31
+ }
32
+ /** Read only: never installs, never changes the runtime's update settings. */
33
+ export type UpdateChecker = (installation: AvailableInstallation, options?: UpdateCheckOptions) => Promise<UpdateCheck>;
34
+ /**
35
+ * The outcome of running the runtime's own updater, judged by the version
36
+ * the same executable reports afterwards, never by the updater's exit code
37
+ * or message (updaters report success for a copy they did not touch).
38
+ * `output` is the updater's stdout and stderr verbatim.
39
+ */
40
+ export type UpgradeResult = {
41
+ readonly kind: "upgraded";
42
+ readonly from: string;
43
+ readonly to: string;
44
+ readonly output: string;
45
+ }
46
+ /** The check found nothing newer, so no updater ran. */
47
+ | {
48
+ readonly kind: "current";
49
+ readonly version: string;
50
+ readonly check: UpdateCheck;
51
+ }
52
+ /** The updater ran and exited 0, yet the executable reports the same version. */
53
+ | {
54
+ readonly kind: "unchanged";
55
+ readonly version: string;
56
+ readonly output: string;
57
+ }
58
+ /** The updater failed (non-zero exit, timeout) and the version did not move. */
59
+ | {
60
+ readonly kind: "failed";
61
+ readonly exitCode: number | null;
62
+ readonly output: string;
63
+ } | {
64
+ readonly kind: "unsupported";
65
+ readonly reason: "unsupported_installation" | "requires_terminal";
66
+ readonly detail?: string;
67
+ };
68
+ export interface UpgradeOptions {
69
+ /** Bound for the updater run; downloads can take minutes. */
70
+ readonly timeoutMs?: number;
71
+ }
72
+ /**
73
+ * Runs the runtime's own updater, non-interactively, against this
74
+ * installation. Changes the machine: oar never calls it on its own.
75
+ */
76
+ export type Upgrader = (installation: AvailableInstallation, options?: UpgradeOptions) => Promise<UpgradeResult>;
77
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/contracts/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D;;;GAGG;AACH,MAAM,MAAM,4BAA4B,GACpC,0BAA0B,GAC1B,iBAAiB,GACjB,wBAAwB,GACxB,kBAAkB,GAClB,eAAe,GACf,oBAAoB,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,yEAAyE;IACzE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,4BAA4B,CAAC;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,CAC1B,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,kBAAkB,KACzB,OAAO,CAAC,WAAW,CAAC,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACrB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACpG,wDAAwD;GACtD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;CAAE;AACrF,iFAAiF;GAC/E;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE;AACnF,gFAAgF;GAC9E;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACtF;IACE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,0BAA0B,GAAG,mBAAmB,CAAC;IAClE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,CACrB,YAAY,EAAE,qBAAqB,EACnC,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,aAAa,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/contracts/update.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export type { AvailableInstallation, BundledInstallation, ExecutableInstallation
5
5
  export type { ProviderAuthFacade, ProviderAuthStatus, ProviderLoginEvent, ProviderLoginInteraction, ProviderLoginMethod, ProviderLoginPrompt, } from "./contracts/provider-auth.js";
6
6
  export type { CatalogModel, CatalogProvider, CatalogRefreshOptions, CatalogRefreshResult, ModelCatalogFacade, } from "./contracts/model-catalog.js";
7
7
  export type { ListModelsOptions, ListModelsResult, ModelEntry, ModelLister, } from "./contracts/list-models.js";
8
+ export type { UpdateCheck, UpdateChecker, UpdateCheckOptions, UpdateCheckUnavailableReason, Upgrader, UpgradeOptions, UpgradeResult, } from "./contracts/update.js";
8
9
  export type { Runtime } from "./contracts/runtime.js";
9
10
  export type { AdapterSession, AttributionTier, ContextUsage, ControlAction, ControlEventBody, ControlOutcome, ControlResult, Cursor, Event, EventBody, EventObserver, EventsOptions, FailureClass, Frame, FrameBody, InputImage, InputOptions, QueryResult, ReasoningContent, RecordEnvelope, RecordKind, RejectionCode, RequestBody, RequestDirection, RequestRecord, ResponseBody, ResponseRecord, RuntimeEventBody, UserMessage, Session, SessionCapabilities, SessionEdge, SessionGraph, SessionNode, RawEventObserver, SessionOptions, RawEvent, SessionUsage, StartSession, SteerOrQueueResult, TokenTotals, TurnOutcome, Unsubscribe, UsageReport, } from "./contracts/session.js";
10
11
  export { defineRuntime } from "./contracts/runtime.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare const antigravityRuntime: {
7
7
  readonly installation: import("../../index.js").InstallationProbe;
8
8
  readonly session: import("../../index.js").StartSession;
9
9
  readonly listModels: import("../../index.js").ModelLister;
10
+ readonly checkUpdate: import("../../index.js").UpdateChecker;
10
11
  } & import("../../index.js").RuntimeInventories & {
11
12
  readonly brand: import("../../brands.js").RuntimeBrand;
12
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/antigravity/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB;;;;;;;;;;;CAM7B,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/antigravity/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAO7B,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
@@ -2,6 +2,7 @@ import { runtimeBrands } from "../../brands.js";
2
2
  import { defineRuntime } from "../../contracts/runtime.js";
3
3
  import { antigravityInstallation } from "./installation.js";
4
4
  import { antigravityListModels } from "./list-models.js";
5
+ import { antigravityCheckUpdate } from "./update.js";
5
6
  import { antigravitySession } from "./session.js";
6
7
  export const antigravityRuntime = defineRuntime({
7
8
  id: "antigravity",
@@ -9,6 +10,7 @@ export const antigravityRuntime = defineRuntime({
9
10
  installation: antigravityInstallation,
10
11
  session: antigravitySession,
11
12
  listModels: antigravityListModels,
13
+ checkUpdate: antigravityCheckUpdate,
12
14
  });
13
15
  export { antigravitySession } from "./session.js";
14
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/antigravity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC9C,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,aAAa,CAAC,WAAW;IAChC,YAAY,EAAE,uBAAuB;IACrC,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,qBAAqB;CAClC,CAAC,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/antigravity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;IAC9C,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,aAAa,CAAC,WAAW;IAChC,YAAY,EAAE,uBAAuB;IACrC,OAAO,EAAE,kBAAkB;IAC3B,UAAU,EAAE,qBAAqB;IACjC,WAAW,EAAE,sBAAsB;CACpC,CAAC,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { UpdateChecker } from "../../contracts/update.js";
2
+ /**
3
+ * agy_acp_server has no updater and Google publishes no latest pointer; the
4
+ * ACP registry entry is the only release listing, and it trails Google's
5
+ * own downloads (1.2.1 listed while 1.3.0 was downloadable on 2026-10-01).
6
+ * So this check names the registry as its source, counts only a newer
7
+ * registry version as an update, and there is no upgrade.
8
+ */
9
+ export declare function antigravityUpdateCheck(registry?: string): UpdateChecker;
10
+ export declare const antigravityCheckUpdate: UpdateChecker;
11
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/runtimes/antigravity/update.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAmC,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAIhG;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,SAAmG,GAC1G,aAAa,CAgBf;AAED,eAAO,MAAM,sBAAsB,eAA2B,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { asRecord, parseJson } from "../../shared/json.js";
2
+ import { CHECK_TIMEOUT_MS, comparedCheck, executableUpdate, readReleaseSource, versionAtLeast } from "../../shared/update.js";
3
+ /**
4
+ * agy_acp_server has no updater and Google publishes no latest pointer; the
5
+ * ACP registry entry is the only release listing, and it trails Google's
6
+ * own downloads (1.2.1 listed while 1.3.0 was downloadable on 2026-10-01).
7
+ * So this check names the registry as its source, counts only a newer
8
+ * registry version as an update, and there is no upgrade.
9
+ */
10
+ export function antigravityUpdateCheck(registry = "https://raw.githubusercontent.com/agentclientprotocol/registry/main/antigravity-acp/agent.json") {
11
+ return async (installation, options = {}) => {
12
+ const update = executableUpdate(installation);
13
+ if (update.kind === "unavailable") {
14
+ return update.check;
15
+ }
16
+ const read = await readReleaseSource(registry, options.timeoutMs ?? CHECK_TIMEOUT_MS);
17
+ if (!read.ok) {
18
+ return read.check;
19
+ }
20
+ const version = asRecord(parseJson(read.text))?.version;
21
+ const check = comparedCheck(update.installed, typeof version === "string" ? version : "", registry);
22
+ return check.kind === "ok" && check.updateAvailable
23
+ ? { ...check, updateAvailable: !versionAtLeast(check.installed, check.latest) }
24
+ : check;
25
+ };
26
+ }
27
+ export const antigravityCheckUpdate = antigravityUpdateCheck();
28
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/runtimes/antigravity/update.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE9H;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAQ,GAAG,gGAAgG;IAE3G,OAAO,KAAK,EAAE,YAAmC,EAAE,UAA8B,EAAE,EAAwB,EAAE;QAC3G,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,gBAAgB,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC;QACxD,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACpG,OAAO,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,eAAe;YACjD,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,eAAe,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;YAC/E,CAAC,CAAC,KAAK,CAAC;IACZ,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,sBAAsB,EAAE,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { claudeUpgrade } from "./update.js";
1
2
  export declare const claudeRuntime: {
2
3
  readonly id: "claude";
3
4
  readonly brand: {
@@ -10,6 +11,8 @@ export declare const claudeRuntime: {
10
11
  readonly installation: import("../../index.js").InstallationProbe;
11
12
  readonly accountUsage: import("../../index.js").AccountUsageReader;
12
13
  readonly listModels: import("../../index.js").ModelLister;
14
+ readonly checkUpdate: import("../../index.js").UpdateChecker;
15
+ readonly upgrade: typeof claudeUpgrade;
13
16
  readonly session: import("../../index.js").StartSession;
14
17
  } & import("../../index.js").RuntimeInventories & {
15
18
  readonly brand: import("../../brands.js").RuntimeBrand;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAWxB,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAqB,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;CAaxB,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -4,6 +4,7 @@ import { defineRuntime } from "../../contracts/runtime.js";
4
4
  import { claudeAccountUsage } from "./account-usage.js";
5
5
  import { claudeInstallation } from "./installation.js";
6
6
  import { claudeListModels } from "./list-models.js";
7
+ import { claudeCheckUpdate, claudeUpgrade } from "./update.js";
7
8
  import { claudeSession } from "./session.js";
8
9
  export const claudeRuntime = defineRuntime({
9
10
  id: "claude",
@@ -14,6 +15,8 @@ export const claudeRuntime = defineRuntime({
14
15
  installation: claudeInstallation,
15
16
  accountUsage: claudeAccountUsage,
16
17
  listModels: claudeListModels,
18
+ checkUpdate: claudeCheckUpdate,
19
+ upgrade: claudeUpgrade,
17
20
  session: claudeSession,
18
21
  });
19
22
  export { claudeAccountUsage } from "./account-usage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/claude/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,aAAa,CAAC,MAAM;IAC3B,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,gBAAgB;IAC5B,KAAK,EAAE,WAAW;IAElB,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,UAAU,EAAE,gBAAgB;IAC5B,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/claude/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG,aAAa,CAAC;IACzC,EAAE,EAAE,QAAQ;IACZ,KAAK,EAAE,aAAa,CAAC,MAAM;IAC3B,MAAM,EAAE,YAAY;IACpB,UAAU,EAAE,gBAAgB;IAC5B,KAAK,EAAE,WAAW;IAElB,YAAY,EAAE,kBAAkB;IAChC,YAAY,EAAE,kBAAkB;IAChC,UAAU,EAAE,gBAAgB;IAC5B,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE,aAAa;IACtB,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,32 @@
1
+ import type { AvailableInstallation } from "../../contracts/installation.js";
2
+ import type { UpdateChecker, UpgradeOptions, UpgradeResult } from "../../contracts/update.js";
3
+ /**
4
+ * Claude has no check-only command, so the check reads what `claude update`
5
+ * reads (claude 2.1.286): the native build follows
6
+ * `downloads.claude.ai/claude-code-releases/<channel>`, an npm copy the npm
7
+ * dist-tag of the same channel; the channel is settings `autoUpdatesChannel`
8
+ * (`latest` unless `stable`), and a `minimumVersion` above that channel keeps
9
+ * the installed version. Package-manager copies update through their package
10
+ * manager, and `DISABLE_UPDATES` turns every update path off. Managed
11
+ * (administrator) settings are not read.
12
+ */
13
+ export interface ClaudeUpdateSources {
14
+ readonly releases: string;
15
+ readonly npm: string;
16
+ readonly configDir: () => string;
17
+ /** `.claude.json`, where claude records its `installMethod`. */
18
+ readonly globalConfig: () => string;
19
+ }
20
+ type ClaudeInstallMethod = "native" | "npm" | "package_manager";
21
+ /**
22
+ * The layout decides where it is unambiguous (the native versions directory,
23
+ * an npm package, a package manager's tree). A shim the path does not
24
+ * explain (a pnpm bin, a Windows `claude.cmd`) falls back to the
25
+ * `installMethod` claude recorded: `global` is its npm method.
26
+ */
27
+ export declare function claudeInstallMethod(realPath: string, recorded?: unknown): ClaudeInstallMethod;
28
+ export declare function claudeUpdateCheck(from?: ClaudeUpdateSources): UpdateChecker;
29
+ export declare const claudeCheckUpdate: UpdateChecker;
30
+ export declare function claudeUpgrade(installation: AvailableInstallation, options?: UpgradeOptions): Promise<UpgradeResult>;
31
+ export {};
32
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/runtimes/claude/update.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAmC,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAY/H;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,CAAC;IACjC,gEAAgE;IAChE,QAAQ,CAAC,YAAY,EAAE,MAAM,MAAM,CAAC;CACrC;AAWD,KAAK,mBAAmB,GAAG,QAAQ,GAAG,KAAK,GAAG,iBAAiB,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,mBAAmB,CAW7F;AAoCD,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,mBAA6B,GAAG,aAAa,CAwBpF;AAED,eAAO,MAAM,iBAAiB,eAAsB,CAAC;AAErD,wBAAsB,aAAa,CAAC,YAAY,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAGzH"}
@@ -0,0 +1,88 @@
1
+ import { readFileSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import path from "node:path";
4
+ import { asRecord, parseJson } from "../../shared/json.js";
5
+ import { CHECK_TIMEOUT_MS, comparedCheck, executableUpdate, installedPath, readReleaseSource, upgradeExecutable, versionAtLeast, } from "../../shared/update.js";
6
+ const sources = {
7
+ releases: "https://downloads.claude.ai/claude-code-releases",
8
+ npm: "https://registry.npmjs.org/@anthropic-ai/claude-code",
9
+ configDir: () => process.env.CLAUDE_CONFIG_DIR ?? path.join(homedir(), ".claude"),
10
+ globalConfig: () => path.join(process.env.CLAUDE_CONFIG_DIR ?? homedir(), ".claude.json"),
11
+ };
12
+ const PACKAGE_MANAGED = ["/Caskroom/", "/Cellar/", "/mise/", "/asdf/", "/WinGet/", "/winget/"];
13
+ /**
14
+ * The layout decides where it is unambiguous (the native versions directory,
15
+ * an npm package, a package manager's tree). A shim the path does not
16
+ * explain (a pnpm bin, a Windows `claude.cmd`) falls back to the
17
+ * `installMethod` claude recorded: `global` is its npm method.
18
+ */
19
+ export function claudeInstallMethod(realPath, recorded) {
20
+ if (realPath.includes("/claude/versions/")) {
21
+ return "native";
22
+ }
23
+ if (realPath.includes("/node_modules/@anthropic-ai/claude-code/")) {
24
+ return "npm";
25
+ }
26
+ if (PACKAGE_MANAGED.some((segment) => realPath.includes(segment))) {
27
+ return "package_manager";
28
+ }
29
+ return recorded === "global" ? "npm" : "native";
30
+ }
31
+ function readJsonRecord(file) {
32
+ try {
33
+ return asRecord(parseJson(readFileSync(file, "utf8"))) ?? {};
34
+ }
35
+ catch {
36
+ return {};
37
+ }
38
+ }
39
+ function updatesDisabled(settings) {
40
+ const fromEnv = process.env.DISABLE_UPDATES;
41
+ const flag = fromEnv === undefined || fromEnv === "" ? asRecord(settings.env)?.DISABLE_UPDATES : fromEnv;
42
+ return flag !== undefined && flag !== "" && flag !== "0" && flag !== false;
43
+ }
44
+ /** claude stays on its version when the channel is below settings `minimumVersion`. */
45
+ function withMinimum(check, minimum) {
46
+ return check.kind === "ok" && typeof minimum === "string" && !versionAtLeast(check.latest, minimum)
47
+ ? { ...check, updateAvailable: false }
48
+ : check;
49
+ }
50
+ async function npmCheck(installed, channel, source) {
51
+ const read = await readReleaseSource(source.url, source.timeoutMs);
52
+ if (!read.ok) {
53
+ return read.check;
54
+ }
55
+ const version = asRecord(parseJson(read.text))?.version;
56
+ return comparedCheck(installed, typeof version === "string" ? version : "", source.url, channel);
57
+ }
58
+ export function claudeUpdateCheck(from = sources) {
59
+ return async (installation, options = {}) => {
60
+ const update = executableUpdate(installation);
61
+ if (update.kind === "unavailable") {
62
+ return update.check;
63
+ }
64
+ const recorded = readJsonRecord(from.globalConfig()).installMethod;
65
+ const method = claudeInstallMethod(installedPath(update.installation.command), recorded);
66
+ if (method === "package_manager") {
67
+ return { kind: "unavailable", reason: "package_manager", detail: "this copy updates through its package manager" };
68
+ }
69
+ const settings = readJsonRecord(path.join(from.configDir(), "settings.json"));
70
+ if (updatesDisabled(settings)) {
71
+ return { kind: "unavailable", reason: "updates_disabled", detail: "DISABLE_UPDATES is set" };
72
+ }
73
+ const channel = settings.autoUpdatesChannel === "stable" ? "stable" : "latest";
74
+ const timeoutMs = options.timeoutMs ?? CHECK_TIMEOUT_MS;
75
+ if (method === "npm") {
76
+ return withMinimum(await npmCheck(update.installed, channel, { url: `${from.npm}/${channel}`, timeoutMs }), settings.minimumVersion);
77
+ }
78
+ const url = `${from.releases}/${channel}`;
79
+ const read = await readReleaseSource(url, timeoutMs);
80
+ return read.ok ? withMinimum(comparedCheck(update.installed, read.text.trim(), url, channel), settings.minimumVersion) : read.check;
81
+ };
82
+ }
83
+ export const claudeCheckUpdate = claudeUpdateCheck();
84
+ export async function claudeUpgrade(installation, options) {
85
+ const result = await upgradeExecutable(installation, { check: claudeCheckUpdate, args: ["update"] }, options);
86
+ return result;
87
+ }
88
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/runtimes/claude/update.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { codexCheckUpdate, codexUpgrade } from "./update.js";
1
2
  export declare const codexRuntime: {
2
3
  readonly id: "codex";
3
4
  readonly brand: {
@@ -14,6 +15,8 @@ export declare const codexRuntime: {
14
15
  readonly installation: import("../../index.js").InstallationProbe;
15
16
  readonly accountUsage: import("../../index.js").AccountUsageReader;
16
17
  readonly listModels: import("../../index.js").ModelLister;
18
+ readonly checkUpdate: typeof codexCheckUpdate;
19
+ readonly upgrade: typeof codexUpgrade;
17
20
  readonly session: import("../../index.js").StartSession;
18
21
  } & import("../../index.js").RuntimeInventories & {
19
22
  readonly brand: import("../../brands.js").RuntimeBrand;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/codex/index.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;CAUvB,CAAC;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/codex/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG7D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;CAYvB,CAAC;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
@@ -4,6 +4,7 @@ import { defineRuntime } from "../../contracts/runtime.js";
4
4
  import { codexAccountUsage } from "./account-usage.js";
5
5
  import { codexInstallation } from "./installation.js";
6
6
  import { codexListModels } from "./list-models.js";
7
+ import { codexCheckUpdate, codexUpgrade } from "./update.js";
7
8
  import { codexSession } from "./session.js";
8
9
  export const codexRuntime = defineRuntime({
9
10
  id: "codex",
@@ -14,6 +15,8 @@ export const codexRuntime = defineRuntime({
14
15
  installation: codexInstallation,
15
16
  accountUsage: codexAccountUsage,
16
17
  listModels: codexListModels,
18
+ checkUpdate: codexCheckUpdate,
19
+ upgrade: codexUpgrade,
17
20
  session: codexSession,
18
21
  });
19
22
  export { codexAccountUsage, projectCodexUsage } from "./account-usage.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/codex/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;IACxC,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,aAAa,CAAC,KAAK;IAC1B,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,eAAe;IAC3B,KAAK,EAAE,UAAU;IACjB,YAAY,EAAE,iBAAiB;IAC/B,YAAY,EAAE,iBAAiB;IAC/B,UAAU,EAAE,eAAe;IAC3B,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtimes/codex/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAC;IACxC,EAAE,EAAE,OAAO;IACX,KAAK,EAAE,aAAa,CAAC,KAAK;IAC1B,MAAM,EAAE,WAAW;IACnB,UAAU,EAAE,eAAe;IAC3B,KAAK,EAAE,UAAU;IACjB,YAAY,EAAE,iBAAiB;IAC/B,YAAY,EAAE,iBAAiB;IAC/B,UAAU,EAAE,eAAe;IAC3B,WAAW,EAAE,gBAAgB;IAC7B,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;CACtB,CAAC,CAAC;AAEH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,14 @@
1
+ import type { AvailableInstallation } from "../../contracts/installation.js";
2
+ import type { UpdateCheck, UpdateCheckOptions, UpgradeOptions, UpgradeResult } from "../../contracts/update.js";
3
+ /**
4
+ * Codex's own check is the `updates.status` row of `codex doctor --json`
5
+ * (codex 0.158.0): `latest version` and a `latest version status` verdict.
6
+ * doctor exits 1 whenever any other row fails (no login, for one), so the
7
+ * JSON decides, not the exit code. Its `update action` is `manual or unknown`
8
+ * for a copy `codex update` cannot update (a copied binary, an app bundle).
9
+ */
10
+ export declare function projectCodexUpdateStatus(installed: string, doctor: unknown): UpdateCheck;
11
+ export declare function codexCheckUpdate(installation: AvailableInstallation, options?: UpdateCheckOptions): Promise<UpdateCheck>;
12
+ /** `codex update` never checks and reports success even when its download failed, hence the version read-back. */
13
+ export declare function codexUpgrade(installation: AvailableInstallation, options?: UpgradeOptions): Promise<UpgradeResult>;
14
+ //# sourceMappingURL=update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/runtimes/codex/update.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAYhH;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,WAAW,CAmBxF;AAED,wBAAsB,gBAAgB,CAAC,YAAY,EAAE,qBAAqB,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,WAAW,CAAC,CAUlI;AAED,kHAAkH;AAClH,wBAAsB,YAAY,CAAC,YAAY,EAAE,qBAAqB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAGxH"}
@@ -0,0 +1,47 @@
1
+ import { asRecord } from "../../shared/json.js";
2
+ import { CHECK_TIMEOUT_MS, comparedCheck, executableUpdate, runCheckCommand, upgradeExecutable, } from "../../shared/update.js";
3
+ const SOURCE = "codex doctor --json";
4
+ /**
5
+ * Codex's own check is the `updates.status` row of `codex doctor --json`
6
+ * (codex 0.158.0): `latest version` and a `latest version status` verdict.
7
+ * doctor exits 1 whenever any other row fails (no login, for one), so the
8
+ * JSON decides, not the exit code. Its `update action` is `manual or unknown`
9
+ * for a copy `codex update` cannot update (a copied binary, an app bundle).
10
+ */
11
+ export function projectCodexUpdateStatus(installed, doctor) {
12
+ const checks = asRecord(asRecord(doctor)?.checks);
13
+ const details = asRecord(asRecord(checks?.["updates.status"])?.details);
14
+ const latest = details?.["latest version"];
15
+ if (typeof latest !== "string") {
16
+ return { kind: "unavailable", reason: "lookup_failed", detail: "codex doctor --json reports no latest version", source: SOURCE };
17
+ }
18
+ if (details?.["update action"] === "manual or unknown") {
19
+ return { kind: "unavailable", reason: "unmanaged_installation", detail: "codex update cannot update this copy", source: SOURCE };
20
+ }
21
+ const check = comparedCheck(installed, latest, SOURCE);
22
+ const status = details?.["latest version status"];
23
+ if (check.kind !== "ok" || typeof status !== "string") {
24
+ return check;
25
+ }
26
+ if (status.includes("newer version is available")) {
27
+ return { ...check, updateAvailable: true };
28
+ }
29
+ return status.includes("not older") ? { ...check, updateAvailable: false } : check;
30
+ }
31
+ export async function codexCheckUpdate(installation, options = {}) {
32
+ const update = executableUpdate(installation);
33
+ if (update.kind === "unavailable") {
34
+ return update.check;
35
+ }
36
+ const { json } = await runCheckCommand(update.installation.command, ["doctor", "--json"], options.timeoutMs ?? CHECK_TIMEOUT_MS);
37
+ if (json === undefined) {
38
+ return { kind: "unavailable", reason: "lookup_failed", detail: "codex doctor --json printed no JSON", source: SOURCE };
39
+ }
40
+ return projectCodexUpdateStatus(update.installed, json);
41
+ }
42
+ /** `codex update` never checks and reports success even when its download failed, hence the version read-back. */
43
+ export async function codexUpgrade(installation, options) {
44
+ const result = await upgradeExecutable(installation, { check: codexCheckUpdate, args: ["update"] }, options);
45
+ return result;
46
+ }
47
+ //# sourceMappingURL=update.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/runtimes/codex/update.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { cursorUpgrade } from "./update.js";
1
2
  export declare const cursorRuntime: {
2
3
  readonly id: "cursor";
3
4
  readonly brand: {
@@ -10,6 +11,8 @@ export declare const cursorRuntime: {
10
11
  };
11
12
  readonly installation: import("../../index.js").InstallationProbe;
12
13
  readonly listModels: import("../../index.js").ModelLister;
14
+ readonly checkUpdate: import("../../index.js").UpdateChecker;
15
+ readonly upgrade: typeof cursorUpgrade;
13
16
  readonly session: import("../../index.js").StartSession;
14
17
  } & import("../../index.js").RuntimeInventories & {
15
18
  readonly brand: import("../../brands.js").RuntimeBrand;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/cursor/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAMxB,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtimes/cursor/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAqB,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;CAQxB,CAAC;AAEH,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}