@makaio/framework 1.0.0-dev-1779048017991 → 1.0.0-dev-1779051654000

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 (215) hide show
  1. package/dist/{account-identity-Ce1Bwrqi.mjs → account-identity-Bg_vKkcs.mjs} +1 -1
  2. package/dist/{adapter-CbyjCE2d.mjs → adapter-CpF2aK_-.mjs} +1 -1
  3. package/dist/adapters/config/index.d.mts +1 -1
  4. package/dist/adapters/config/index.mjs +1 -1
  5. package/dist/adapters/index.d.mts +2 -2
  6. package/dist/adapters/index.mjs +1 -1
  7. package/dist/adapters/node.d.mts +1 -1
  8. package/dist/adapters/node.mjs +1 -1
  9. package/dist/client-DMWXCWhM.mjs +1 -0
  10. package/dist/clients/index.d.mts +122 -347
  11. package/dist/clients/index.mjs +2 -1
  12. package/dist/{clients-namespace-B0xAPZ6J.d.mts → clients-namespace-UHj5wt-l.d.mts} +7 -7
  13. package/dist/contracts/adapter/index.d.mts +2 -2
  14. package/dist/contracts/adapter/index.mjs +1 -1
  15. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  16. package/dist/contracts/client/index.d.mts +3 -3
  17. package/dist/contracts/client/index.mjs +1 -1
  18. package/dist/contracts/common/index.d.mts +1 -1
  19. package/dist/contracts/config/index.d.mts +6 -6
  20. package/dist/contracts/config/index.mjs +1 -1
  21. package/dist/contracts/extension/index.d.mts +2 -2
  22. package/dist/contracts/extension/index.mjs +1 -1
  23. package/dist/contracts/harness/index.d.mts +1 -1
  24. package/dist/contracts/harness/index.mjs +1 -1
  25. package/dist/contracts/host/index.mjs +1 -1
  26. package/dist/contracts/index.d.mts +64 -63
  27. package/dist/contracts/index.mjs +1 -1
  28. package/dist/contracts/model-registry/index.mjs +1 -1
  29. package/dist/contracts/native-session-supervisor/index.mjs +1 -1
  30. package/dist/contracts/platform/index.mjs +1 -1
  31. package/dist/contracts/session/index.d.mts +2 -2
  32. package/dist/contracts/session/index.mjs +1 -1
  33. package/dist/contracts/shared/index.d.mts +1 -1
  34. package/dist/contracts/shared/index.mjs +1 -1
  35. package/dist/contracts/skill/index.mjs +1 -1
  36. package/dist/contracts/timeout/index.d.mts +2 -0
  37. package/dist/contracts/timeout/index.mjs +1 -0
  38. package/dist/contracts/toast/index.mjs +1 -1
  39. package/dist/contracts/variant/index.mjs +1 -1
  40. package/dist/{definition-DxvZ9e22.d.mts → definition-DB7bbFSa.d.mts} +84 -91
  41. package/dist/{extension-COqwS-2Q.mjs → extension-53GerdGg.mjs} +1 -1
  42. package/dist/extension-fJmv8Yri.mjs +1 -0
  43. package/dist/{handlers-iGKUJ380.mjs → handlers-DR_4_rAT.mjs} +1 -1
  44. package/dist/{harness-CEq1Zkf9.mjs → harness-B6lGP9rm.mjs} +1 -1
  45. package/dist/{index-DBQtpFLE.d.mts → index-BnSQE7z7.d.mts} +3 -3
  46. package/dist/{index-CVA0m1g9.d.mts → index-CnmPtjnA.d.mts} +4 -4
  47. package/dist/{index-hapw9_En.d.mts → index-Cq8B7cwK.d.mts} +67 -67
  48. package/dist/{index-BJOfdtbw.d.mts → index-DGTFJB_8.d.mts} +3 -3
  49. package/dist/{index-DubqLGH8.d.mts → index-DaEp4UWW.d.mts} +56 -62
  50. package/dist/{index-C9F3Fc1A.d.mts → index-DwCA1HWa.d.mts} +133 -79
  51. package/dist/index-E8d_RwaF.d.mts +28 -0
  52. package/dist/{index-BB419vv-.d.mts → index-e5C62_M3.d.mts} +31 -11
  53. package/dist/{index-Bv15sNLn.d.mts → index-sBob9D25.d.mts} +1 -1
  54. package/dist/{index-BAKM2GMH2.d.mts → index-tKvu34DJ2.d.mts} +6 -6
  55. package/dist/{index-BdPwu6c0.d.mts → index-yvN8UcEH.d.mts} +110 -110
  56. package/dist/kernel/cli/index.mjs +1 -1
  57. package/dist/kernel/cli/schemas.mjs +1 -1
  58. package/dist/kernel/extension/index.d.mts +1 -1
  59. package/dist/kernel/extension/index.mjs +1 -1
  60. package/dist/kernel/index.d.mts +2 -2
  61. package/dist/kernel/index.mjs +1 -1
  62. package/dist/kernel/namespace/index.mjs +1 -1
  63. package/dist/kernel/observability/index.d.mts +1 -1
  64. package/dist/kernel/observability/index.mjs +1 -1
  65. package/dist/kernel/providers/index.mjs +1 -1
  66. package/dist/kernel/window/index.mjs +1 -1
  67. package/dist/{namespace-CkLUtc0g.d.mts → namespace-B1E57soL.d.mts} +22 -22
  68. package/dist/{namespace-bq4Prtzn.d.mts → namespace-B5ZCshBw.d.mts} +75 -75
  69. package/dist/{namespace-CCDEOwmW.d.mts → namespace-BCRNwPnw.d.mts} +6 -6
  70. package/dist/{namespace-ptv-pw_g.d.mts → namespace-BKrV_2gZ.d.mts} +9 -9
  71. package/dist/{namespace-O5SNY-LV.d.mts → namespace-BpIE-jQW.d.mts} +14 -14
  72. package/dist/{namespace-8cNguvIp.mjs → namespace-DGMO2E8f.mjs} +1 -1
  73. package/dist/{namespace-FWx6HxaW.d.mts → namespace-DXnMk3U8.d.mts} +14 -14
  74. package/dist/{namespace-xkvVw3hf2.d.mts → namespace-DwCyOaZn2.d.mts} +2 -2
  75. package/dist/{namespace-C2ufjgaQ.d.mts → namespace-Ysg1N6rR.d.mts} +24 -24
  76. package/dist/{native-session-supervisor-L-UIaEfd.mjs → native-session-supervisor-zPt624Tp.mjs} +1 -1
  77. package/dist/node/bus-server/index.d.mts +1 -1
  78. package/dist/node/bus-server/index.mjs +1 -1
  79. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  80. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  81. package/dist/{orchestrator-shared-Wv1GI2mW.mjs → orchestrator-shared-D2txLAUs.mjs} +1 -1
  82. package/dist/profile-Cq4A7kQa.mjs +1 -0
  83. package/dist/{provider-context-CNRQ4d5m.mjs → provider-context-BB4eD8ON.mjs} +1 -1
  84. package/dist/{schema-BwzXEtT2.d.mts → schema-B295yplx.d.mts} +1 -1
  85. package/dist/{schema-CAw_BqaG.mjs → schema-C4iznV0q.mjs} +1 -1
  86. package/dist/{schema-introspection-D61TT_7b.mjs → schema-introspection-DCYC47_d.mjs} +1 -1
  87. package/dist/{schemas-BdMU-gew.d.mts → schemas-BWvuaL0w.d.mts} +4 -4
  88. package/dist/{schemas-D9108Iv1.d.mts → schemas-BfMZAwff.d.mts} +7 -7
  89. package/dist/{schemas-BXstpWVp.mjs → schemas-Bn8aqDIE.mjs} +1 -1
  90. package/dist/{schemas-qmn5SWPU.d.mts → schemas-C31qbb0s.d.mts} +4 -4
  91. package/dist/{schemas-DbWs_hj8.d.mts → schemas-DYqKRNju.d.mts} +3 -3
  92. package/dist/{schemas-DENVYyds.d.mts → schemas-Ra8pz5M-.d.mts} +14 -14
  93. package/dist/services/adapter-runtime/index.mjs +1 -1
  94. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  95. package/dist/services/adapter-subsystem/index.mjs +1 -1
  96. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  97. package/dist/services/adapter-subsystem/namespace.mjs +1 -1
  98. package/dist/services/capability/index.mjs +1 -1
  99. package/dist/services/context-rules/index.mjs +1 -1
  100. package/dist/services/execution-target/index.d.mts +3 -3
  101. package/dist/services/execution-target/index.mjs +1 -1
  102. package/dist/services/execution-target/namespace.d.mts +1 -1
  103. package/dist/services/execution-target/schemas.d.mts +1 -1
  104. package/dist/services/filesystem/namespace.d.mts +6 -6
  105. package/dist/services/filesystem/schemas.d.mts +3 -3
  106. package/dist/services/harness/index.d.mts +34 -34
  107. package/dist/services/harness/index.mjs +1 -1
  108. package/dist/services/harness/storage/schema.d.mts +4 -4
  109. package/dist/services/index.d.mts +70 -71
  110. package/dist/services/index.mjs +1 -1
  111. package/dist/services/log-import/log-import.mjs +1 -1
  112. package/dist/services/log-import/namespace.mjs +1 -1
  113. package/dist/services/log-import/schemas.mjs +1 -1
  114. package/dist/services/model-registry/index.mjs +1 -1
  115. package/dist/services/preferences/index.d.mts +2 -2
  116. package/dist/services/preferences/schemas.d.mts +1 -1
  117. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  118. package/dist/services/provider-context/index.mjs +1 -1
  119. package/dist/services/provider-runtime/index.mjs +1 -1
  120. package/dist/services/session/handlers/index.mjs +1 -1
  121. package/dist/services/session/index.d.mts +7 -7
  122. package/dist/services/session/index.mjs +1 -1
  123. package/dist/services/session/messages/namespace.d.mts +1 -1
  124. package/dist/services/session/messages/namespace.mjs +1 -1
  125. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  126. package/dist/services/session/session-events/namespace.d.mts +1 -1
  127. package/dist/services/session/session-events/namespace.mjs +1 -1
  128. package/dist/services/session/storage/namespace.d.mts +1 -1
  129. package/dist/services/session/storage/schema.d.mts +1 -1
  130. package/dist/services/session/testing/index.mjs +1 -1
  131. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  132. package/dist/services/session/turns/namespace.d.mts +1 -1
  133. package/dist/services/session/turns/namespace.mjs +1 -1
  134. package/dist/services/session-editor/index.mjs +1 -1
  135. package/dist/services/settings/index.d.mts +1 -1
  136. package/dist/services/settings/index.mjs +1 -1
  137. package/dist/services/settings/namespace.d.mts +9 -9
  138. package/dist/services/settings/namespace.mjs +1 -1
  139. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  140. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  141. package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
  142. package/dist/services/settings/storage/index.d.mts +1 -1
  143. package/dist/services/settings/storage/index.mjs +1 -1
  144. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  145. package/dist/services/tool-approval/index.mjs +1 -1
  146. package/dist/services/tools/index.mjs +1 -1
  147. package/dist/services/tray-menu/index.d.mts +2 -2
  148. package/dist/services/tray-menu/index.mjs +1 -1
  149. package/dist/services/tray-menu/namespace.d.mts +1 -1
  150. package/dist/services/tray-menu/schemas.d.mts +1 -1
  151. package/dist/services/turn/index.d.mts +1 -1
  152. package/dist/services/turn/namespace.d.mts +1 -1
  153. package/dist/services/turn/schemas.d.mts +11 -11
  154. package/dist/services/worker/index.d.mts +1 -1
  155. package/dist/services/worker/schemas.d.mts +1 -1
  156. package/dist/{session-piI1R5rP.mjs → session-BCSf-Fgj.mjs} +1 -1
  157. package/dist/{session-Do6lDZM4.mjs → session-BNo_cIiz.mjs} +1 -1
  158. package/dist/{shared-DxHLl9UP.mjs → shared-BhuSHZXH.mjs} +1 -1
  159. package/dist/{skill-CB5h-ZFQ.mjs → skill-20_SBXaI.mjs} +1 -1
  160. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  161. package/dist/storage/handlers/index.mjs +1 -1
  162. package/dist/{storage-namespace-DAm8iWEj.d.mts → storage-namespace-DoH-Wkjp.d.mts} +10 -10
  163. package/dist/timeout-D33CUZ0M.mjs +1 -0
  164. package/dist/{tool-approval-service-BcBSUZCO.mjs → tool-approval-service-CZCPfvVy.mjs} +1 -1
  165. package/dist/{tools-CDSgj0ee.mjs → tools-Cid9D99F.mjs} +1 -1
  166. package/dist/{types-BjToUrHp.d.mts → types--nrtGZ1V.d.mts} +24 -24
  167. package/dist/ui-kernel/index.d.mts +4 -4
  168. package/dist/ui-kernel/pages/namespace.d.mts +4 -4
  169. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  170. package/package.json +5 -1
  171. package/dist/client-Dh4x4GQN.mjs +0 -1
  172. package/dist/extension-Cbrl4YGX.mjs +0 -1
  173. package/dist/index-CNxS4Tlu.d.mts +0 -1
  174. package/dist/profile-4StaDQW0.mjs +0 -1
  175. package/dist/schemas-CGZy_rU6.d.mts +0 -13
  176. /package/dist/{base-orchestrator-9z8TuA5a.d.mts → base-orchestrator-BOAPgqF7.d.mts} +0 -0
  177. /package/dist/{capability-service-tnpR_TaB.mjs → capability-service-DV32ecwR.mjs} +0 -0
  178. /package/dist/{cleanEnvForAdapter-DvcIGXTG.mjs → cleanEnvForAdapter-hTPNvPU5.mjs} +0 -0
  179. /package/dist/{config-namespace-DLSs83zr.d.mts → config-namespace-ChZOpi1W.d.mts} +0 -0
  180. /package/dist/{config-namespace-MJT8P0Ud.mjs → config-namespace-wJ2CakDB.mjs} +0 -0
  181. /package/dist/{cursor-storage-DOQdvo9j.mjs → cursor-storage-BoNI7OAR.mjs} +0 -0
  182. /package/dist/{drizzle-CWVVw7Er.mjs → drizzle-Bn2GtW8c.mjs} +0 -0
  183. /package/dist/{execution-target-BW_uiBVe.mjs → execution-target-D6MgthYs.mjs} +0 -0
  184. /package/dist/{extension-namespace-zaGKi6Qj.mjs → extension-namespace-CTd9kOtt.mjs} +0 -0
  185. /package/dist/{host-CXAUGGN0.mjs → host-CvEht5RT.mjs} +0 -0
  186. /package/dist/{identity-B_A0mE63.mjs → identity-DBST3-XO.mjs} +0 -0
  187. /package/dist/{index-PdUSmPT2.d.mts → index-D2jejYlV.d.mts} +0 -0
  188. /package/dist/{index-T0471kWA.d.mts → index-DQWMu5fS.d.mts} +0 -0
  189. /package/dist/{model-registry-CIscwC52.mjs → model-registry-Dzpssh9j.mjs} +0 -0
  190. /package/dist/{model-registry-BNzpR6TU.mjs → model-registry-xINyxQUT.mjs} +0 -0
  191. /package/dist/{namespace-Bmc7AW4J2.mjs → namespace-C_h7scWx2.mjs} +0 -0
  192. /package/dist/{namespace-N0dfwSg6.mjs → namespace-DBw9BYr8.mjs} +0 -0
  193. /package/dist/{namespace-pNcSglBS.mjs → namespace-DUVgMfTR.mjs} +0 -0
  194. /package/dist/{namespace-0yuzAKlr.mjs → namespace-OwAf1Brw.mjs} +0 -0
  195. /package/dist/{namespace-CfEWMXBx.mjs → namespace-Zb8HAbyF.mjs} +0 -0
  196. /package/dist/{namespace-Db-p67Rg.mjs → namespace-aALq9tnE.mjs} +0 -0
  197. /package/dist/{namespace-D5Wrt7YU.mjs → namespace-yxIxUsjo.mjs} +0 -0
  198. /package/dist/{platform-BbSLVg5b.mjs → platform-BMFUpmTA.mjs} +0 -0
  199. /package/dist/{providers-Cr4Za8a1.mjs → providers-DhiW_fx4.mjs} +0 -0
  200. /package/dist/{schema-uSGW-6oM.mjs → schema-D3ZG13h9.mjs} +0 -0
  201. /package/dist/{schemas-C40ZAJ33.mjs → schemas-CEBe89yE.mjs} +0 -0
  202. /package/dist/{schemas-Co_sVhzz.mjs → schemas-COnLJnt_.mjs} +0 -0
  203. /package/dist/{schemas-CLxtoKFy.mjs → schemas-CrnlCRep.mjs} +0 -0
  204. /package/dist/{server-lifecycle-Cf_SZ27k.d.mts → server-lifecycle-BC6FRn86.d.mts} +0 -0
  205. /package/dist/{server-lifecycle-DbFwlrTW.mjs → server-lifecycle-Dx5WgfoS.mjs} +0 -0
  206. /package/dist/{session-lineage-Eev4uo4I.d.mts → session-lineage-B0cpHfuc.d.mts} +0 -0
  207. /package/dist/{shared-schemas-BgQv_tnu.mjs → shared-schemas-Byah36lG.mjs} +0 -0
  208. /package/dist/{storage-namespace-ADwyijoe.mjs → storage-namespace-BIDs9LPb.mjs} +0 -0
  209. /package/dist/{storage-namespace-definition-CHu2k14q.mjs → storage-namespace-definition-BjK9nZAN.mjs} +0 -0
  210. /package/dist/{tray-menu-service-CTXC1Elg.mjs → tray-menu-service-BAYtLdAg.mjs} +0 -0
  211. /package/dist/{types-CD1LJwPc.d.mts → types-C11LvekX.d.mts} +0 -0
  212. /package/dist/{ui-config-CXmbsqZV.mjs → ui-config-zawaoEfB.mjs} +0 -0
  213. /package/dist/{variant-D5kSrL3m.mjs → variant-BZWfmS0q.mjs} +0 -0
  214. /package/dist/{version-CjS20oXi.mjs → version-D8S4O22A.mjs} +0 -0
  215. /package/dist/{window-registry-CUftmDr3.mjs → window-registry-B_-hBEcV.mjs} +0 -0
@@ -4,9 +4,9 @@ import * as _$_makaio_core0 from "@makaio/framework/core";
4
4
  import { EventMessagePayload, RequestMessagePayload, SchemaRecord, SubjectDefinition, SubjectRecord } from "@makaio/framework/core";
5
5
  import { IMakaioBus } from "@makaio/framework/bus";
6
6
  import * as _$_makaio_contracts0 from "@makaio/framework/contracts";
7
- import { ClientDefinition, ExtensionServiceLifecycle, LatestVersionSourceStatus, MakaioNodeExtension } from "@makaio/framework/contracts";
7
+ import { ClientDefinition, ExtensionServiceLifecycle, MakaioNodeExtension } from "@makaio/framework/contracts";
8
8
  import { BaseService } from "@makaio/framework/service-base";
9
- import { ClientAccountIdentifier, ClientDefinition as ClientDefinition$1, ClientExecutionContext, ClientInstallCompleted, ClientInstallProgress, ClientRuntimeObserveRequest, ClientSessionObservedBase, ClientSubjects, ClientUsageSnapshot, ClientWiringEntry, ClientWiringEntrySchema, LatestVersionSourceStatus as LatestVersionSourceStatus$1, ManagedInstallDescriptor, ManagedInstallStrategy, PostInstallDescriptor } from "@makaio/framework/contracts/client";
9
+ import { ClientAccountIdentifier, ClientDefinition as ClientDefinition$1, ClientExecutionContext, ClientInstallCompleted, ClientInstallProgress, ClientRuntimeObserveRequest, ClientSessionObservedBase, ClientSubjects, ClientUsageSnapshot, ClientWiringEntry, ClientWiringEntrySchema, ManagedInstallDescriptor, ManagedInstallStrategy, PostInstallDescriptor } from "@makaio/framework/contracts/client";
10
10
  import * as _$zod_v4_core0 from "zod/v4/core";
11
11
 
12
12
  //#region packages/clients-core/src/atomic-modify-file.d.ts
@@ -152,67 +152,6 @@ declare class ClientAccountRegistry {
152
152
  private mergeInto;
153
153
  }
154
154
  //#endregion
155
- //#region packages/clients-core/src/client-binary-feed-cache.d.ts
156
- /**
157
- * In-memory cache of latest-available-version metadata per managed client.
158
- *
159
- * **Lifecycle:**
160
- * 1. Call {@link ClientBinaryFeedCache.hydrate} at boot to populate the cache
161
- * from persisted state rows.
162
- * 2. Call {@link ClientBinaryFeedCache.update} after every feed refresh to
163
- * update the in-memory entry and persist the new metadata to the database.
164
- *
165
- * The cache is write-only from the outside: the manager reads feed metadata
166
- * exclusively via {@link ClientBinaryVersionResolver.getLatestVersionMeta}.
167
- * The in-memory `cache` Map is retained internally so that
168
- * {@link ClientBinaryFeedCache.update} can preserve the last-successful
169
- * `lastCheckedAt` timestamp on error without an extra storage round-trip.
170
- */
171
- declare class ClientBinaryFeedCache {
172
- private readonly cache;
173
- private readonly bus;
174
- /**
175
- * @param bus - Bus instance used to persist feed-cache updates to storage
176
- */
177
- constructor(bus: IMakaioBus);
178
- /**
179
- * Hydrates the in-memory cache from all persisted state rows.
180
- *
181
- * Must be called once at boot, before any calls to {@link update}. Rows that
182
- * have `latestVersionLastCheckedAt` set are
183
- * classified as `'cached'`; rows without it are classified as `'error'`
184
- * (the feed has never been successfully checked).
185
- *
186
- * Returns the raw state rows so the caller can reuse them (e.g. to seed
187
- * the version resolver) without a second `loadAllState` bus round-trip.
188
- * @returns All persisted state rows fetched during hydration
189
- */
190
- hydrate(): Promise<ReadonlyArray<{
191
- clientId: string;
192
- latestAvailableVersion: string | null;
193
- latestVersionLastCheckedAt: number | null;
194
- latestVersionSourceStatus: LatestVersionSourceStatus;
195
- }>>;
196
- /**
197
- * Persist the feed-cache entry for a client to storage and then update the
198
- * in-memory cache.
199
- *
200
- * Storage is written first so that a bus failure leaves the in-memory cache
201
- * unchanged, keeping the resolver and storage in sync. The in-memory entry is
202
- * only updated after the bus request succeeds.
203
- *
204
- * Call this after every feed refresh attempt, including failures (using
205
- * `'error'` as the `sourceStatus`). On error the caller should pass the
206
- * last-known version from the version resolver — not `null` — so that the
207
- * cached value remains useful for subsequent list operations.
208
- * @param clientId - Stable client identifier to update
209
- * @param latestAvailableVersion - Latest version from the upstream feed,
210
- * or the previously cached version when the refresh failed
211
- * @param sourceStatus - Freshness classification for this update
212
- */
213
- update(clientId: string, latestAvailableVersion: string | null, sourceStatus: LatestVersionSourceStatus): Promise<void>;
214
- }
215
- //#endregion
216
155
  //#region packages/clients-core/src/binary-strategies/types.d.ts
217
156
  /**
218
157
  * Injected I/O dependencies for install strategy implementations.
@@ -246,11 +185,14 @@ interface StrategyDependencies {
246
185
  * Execute a shell command and return its stdout.
247
186
  * @param command - The executable to run (no shell expansion).
248
187
  * @param args - Positional arguments passed to the executable.
249
- * @param options - Optional execution options.
188
+ * @param options - Optional execution options. `cwd` sets the working
189
+ * directory; `env` is merged on top of the parent environment when present
190
+ * (when absent the parent environment is inherited unchanged).
250
191
  * @returns Trimmed stdout string.
251
192
  */
252
193
  exec(command: string, args: string[], options?: {
253
194
  cwd?: string;
195
+ env?: Record<string, string>;
254
196
  }): Promise<string>;
255
197
  /**
256
198
  * Extract an archive file into `destDir`.
@@ -291,17 +233,26 @@ interface StrategyDependencies {
291
233
  *
292
234
  * The manager derives per-client, per-version install directories from
293
235
  * `basePath` using the pattern `{basePath}/{clientId}/{version}/`.
294
- *
295
- * TODO: ClientBinaryJobRunner only consumes basePath — introduce a narrowed
296
- * runner-specific config (e.g. `Pick<ClientBinaryManagerConfig, 'basePath'>`) to
297
- * decouple the runner from manager-only config such as configBasePath.
298
236
  */
299
- interface ClientBinaryManagerConfig {
237
+ interface ClientBinaryJobRunnerConfig {
300
238
  /**
301
239
  * Absolute base directory under which all managed binary versions are
302
240
  * installed (e.g. `~/.makaio/binaries/`).
303
241
  */
304
242
  basePath: string;
243
+ /**
244
+ * Framework-owned handlers for declarative post-install descriptors.
245
+ *
246
+ * Client packages declare `postInstall.kind`; the host supplies the handler
247
+ * implementation here. Missing handlers fail the install job rather than
248
+ * silently skipping a declared lifecycle step.
249
+ */
250
+ postInstallHandlers?: ReadonlyMap<string, PostInstallHandler>;
251
+ }
252
+ /**
253
+ * Configuration for the managed binary manager.
254
+ */
255
+ interface ClientBinaryManagerConfig extends ClientBinaryJobRunnerConfig {
305
256
  /**
306
257
  * Base directory for per-client config isolation directories.
307
258
  *
@@ -312,14 +263,6 @@ interface ClientBinaryManagerConfig {
312
263
  * the definition declares `configIsolation`.
313
264
  */
314
265
  configBasePath: string;
315
- /**
316
- * Framework-owned handlers for declarative post-install descriptors.
317
- *
318
- * Client packages declare `postInstall.kind`; the host supplies the handler
319
- * implementation here. Missing handlers fail the install job rather than
320
- * silently skipping a declared lifecycle step.
321
- */
322
- postInstallHandlers?: ReadonlyMap<string, PostInstallHandler>;
323
266
  }
324
267
  /**
325
268
  * Context passed to a framework-owned post-install handler.
@@ -481,7 +424,6 @@ declare function resolveAndValidateBasePath(basePath: string, caller: string): s
481
424
  * In-memory manager for the global `client.*` binary-management contracts.
482
425
  *
483
426
  * **Responsibilities:**
484
- * - Hydrate the feed cache and version resolver from storage on boot.
485
427
  * - Handle `client.list`, `client.install`, `client.update`,
486
428
  * `client.setActive`, and `client.uninstall` bus subjects.
487
429
  * - Delegate async install/update execution to {@link ClientBinaryJobRunner}.
@@ -493,15 +435,19 @@ declare function resolveAndValidateBasePath(basePath: string, caller: string): s
493
435
  * **One job per client invariant:** only one install or update job is allowed
494
436
  * to run for a given client at a time. Concurrent requests are rejected with
495
437
  * an error until the in-flight job completes.
438
+ *
439
+ * **Pin-only installs:** version resolution is always derived from the
440
+ * descriptor pin. No upstream feed fetches are performed at runtime; the
441
+ * version is determined statically from the client package.
496
442
  */
497
443
  declare class ClientBinaryManager extends BaseService {
498
444
  private readonly config;
499
445
  private readonly definitionLookup;
500
- private readonly feedCache;
501
446
  private readonly versionResolver;
502
447
  private readonly jobRunner;
503
448
  private readonly strategyDeps;
504
449
  private readonly resolvedBasePath;
450
+ private readonly resolvedConfigBasePath;
505
451
  private readonly resolver;
506
452
  /**
507
453
  * Set of client IDs with an operation (install, update, or uninstall) in
@@ -526,7 +472,7 @@ declare class ClientBinaryManager extends BaseService {
526
472
  */
527
473
  constructor(bus: IMakaioBus | undefined, config: ClientBinaryManagerConfig, definitionLookup?: ClientDefinitionLookup, strategyDeps?: StrategyDependencies);
528
474
  /**
529
- * Hydrate state from storage and register bus handlers.
475
+ * Register bus handlers.
530
476
  */
531
477
  protected onInit(): Promise<void>;
532
478
  /**
@@ -537,24 +483,27 @@ declare class ClientBinaryManager extends BaseService {
537
483
  * Assemble the installation inventory for all managed clients.
538
484
  *
539
485
  * Delegates to {@link assembleBinaryList} for the read-model assembly logic.
540
- * @param forceRefresh - When `true`, force a live upstream feed refresh
541
486
  * @returns Assembled list of client binary entries
542
487
  */
543
488
  private handleList;
544
489
  /**
545
490
  * Enqueue a background install job for a managed client binary.
546
491
  *
547
- * Resolves the target version (explicit or latest-from-feed) and returns
548
- * a `jobId` immediately. The job runs asynchronously; callers track progress
549
- * via `client.installJob.progress` and `client.installJob.completed` events.
492
+ * Resolves the target version from the descriptor pin (or validates the
493
+ * explicit version against it) and returns a `jobId` immediately. The job
494
+ * runs asynchronously; callers track progress via
495
+ * `client.installJob.progress` and `client.installJob.completed` events.
550
496
  * @param clientId - Stable client identifier to install
551
- * @param requestedVersion - Explicit version to install, or `undefined` for latest
497
+ * @param requestedVersion - Explicit version to install (must match the
498
+ * descriptor pin), or `undefined` to use the pin directly
552
499
  * @returns Job acknowledgement with resolved version
553
500
  */
554
501
  private handleInstall;
555
502
  /**
556
- * Refresh the feed, resolve the latest version, and enqueue an update job
557
- * that installs and activates the result.
503
+ * Install the descriptor pin and activate it.
504
+ *
505
+ * Resolves the version from the descriptor pin and enqueues a job with
506
+ * `makeActive: true`. No upstream feed fetch is performed.
558
507
  * @param clientId - Stable client identifier to update
559
508
  * @returns Job acknowledgement with resolved version
560
509
  */
@@ -590,23 +539,13 @@ declare class ClientBinaryManager extends BaseService {
590
539
  * `client.version.changed`.
591
540
  *
592
541
  * Centralizes the storage-side active-version mutation used by
593
- * `handleSetActive` and the job completion callback. Feed-cache fields are
594
- * preserved by `client-binary:storage.setActiveVersion`.
542
+ * `handleSetActive` and the job completion callback.
595
543
  * @param clientId - Stable client identifier
596
544
  * @param newActiveVersion - Version to set active, or `null` to clear
597
545
  * @param reason - Operation that triggered the change
598
546
  * @returns The previous active version before the mutation
599
547
  */
600
548
  private patchActiveVersion;
601
- /**
602
- * Hydrate feed cache and version resolver from persisted storage.
603
- *
604
- * Called once during `onInit()`. Populates the in-memory caches so that
605
- * `client.list` and `client.install` requests do not need a live feed fetch
606
- * on the first call after a process restart. Both caches are seeded from
607
- * a single `loadAllState` bus round-trip.
608
- */
609
- private hydrateFromStorage;
610
549
  /**
611
550
  * Look up and validate a managed client definition.
612
551
  *
@@ -642,8 +581,14 @@ declare class ClientBinaryManager extends BaseService {
642
581
  /**
643
582
  * Create the completion callback passed to the job runner.
644
583
  *
645
- * Persists the installed version to storage and optionally sets it as active,
646
- * then emits `client.version.changed` with the originating operation reason.
584
+ * Primes the managed config directory for the installed client, then persists
585
+ * the installed version to storage and optionally sets it as active, then
586
+ * emits `client.version.changed` with the originating operation reason.
587
+ *
588
+ * **Order of operations:**
589
+ * 1. Prime the managed config directory (blocking, no-op if no handler).
590
+ * 2. Record the installed version and optional activation atomically.
591
+ * 3. Emit `client.version.changed` on activation (best-effort).
647
592
  *
648
593
  * **Consistency guarantee:** version persistence and optional activation
649
594
  * are committed through one storage transaction, so a failed activation
@@ -651,6 +596,16 @@ declare class ClientBinaryManager extends BaseService {
651
596
  * @returns Bound completion callback for the job runner
652
597
  */
653
598
  private makeCompletionCallback;
599
+ /**
600
+ * Resolve the managed config directory for a client.
601
+ *
602
+ * The managed config directory follows the convention established by
603
+ * {@link ClientBinaryManagerConfig.configBasePath}:
604
+ * `{configBasePath}/{clientId}/config/`.
605
+ * @param clientId - Stable client identifier.
606
+ * @returns Absolute path to the client's managed config directory.
607
+ */
608
+ private resolveManagedConfigDir;
654
609
  }
655
610
  //#endregion
656
611
  //#region packages/clients-core/src/client-binary-job-runner.d.ts
@@ -682,9 +637,9 @@ declare class ClientBinaryJobRunner {
682
637
  private readonly resolvedBasePath;
683
638
  /**
684
639
  * @param strategyDeps - I/O dependency implementations forwarded to each strategy
685
- * @param config - Manager configuration (provides `basePath`)
640
+ * @param config - Job-runner configuration
686
641
  */
687
- constructor(strategyDeps: StrategyDependencies, config: ClientBinaryManagerConfig);
642
+ constructor(strategyDeps: StrategyDependencies, config: ClientBinaryJobRunnerConfig);
688
643
  /**
689
644
  * Start a background install job and return immediately.
690
645
  *
@@ -777,6 +732,16 @@ declare class ClientBinaryJobRunner {
777
732
  * @param installPath - Absolute staged install directory to remove
778
733
  */
779
734
  private cleanupStagedArtifact;
735
+ /**
736
+ * Execute the install strategy and clean the target directory if the strategy
737
+ * fails after staging files.
738
+ * @param job - Running job descriptor.
739
+ * @param strategy - Concrete install strategy.
740
+ * @param targetDir - Versioned install directory.
741
+ * @param onProgress - Progress notification callback.
742
+ * @returns Normalized install artifact from the strategy.
743
+ */
744
+ private executeStrategy;
780
745
  /**
781
746
  * Run the optional declarative post-install hook through a framework-owned
782
747
  * handler registered on the manager config.
@@ -899,132 +864,51 @@ declare class ClientDefinitionRegistry implements ClientDefinitionLookup {
899
864
  //#endregion
900
865
  //#region packages/clients-core/src/client-binary-version-resolver.d.ts
901
866
  /**
902
- * Upstream feed fetcher abstraction.
903
- *
904
- * Implementors are responsible for the strategy-specific network calls needed
905
- * to discover the latest published version of a managed client binary. The
906
- * resolver treats this as a pure dependency so callers can substitute a mock
907
- * in tests.
867
+ * Resolution result returned by {@link ClientBinaryVersionResolver.resolveInstallVersion}.
908
868
  */
909
- interface FeedFetcher {
869
+ interface ResolvedInstallVersion {
910
870
  /**
911
- * Fetch the latest available version string for the given install descriptor.
871
+ * Concrete version string to install.
912
872
  *
913
- * The returned string must be a non-empty version identifier (semver or
914
- * opaque tag). The implementor should throw on any network or parse error so
915
- * the resolver can apply its fallback logic.
916
- * @param descriptor - Managed install descriptor for the client
917
- * @returns Resolved latest version string
873
+ * Always equals the pinned version from the descriptor. When an explicit
874
+ * version was supplied by the caller it has been validated to match the pin.
918
875
  */
919
- fetchLatestVersion(descriptor: ManagedInstallDescriptor): Promise<string>;
920
- }
921
- /**
922
- * Resolution result returned by {@link ClientBinaryVersionResolver.resolveInstallVersion}.
923
- */
924
- interface ResolvedInstallVersion {
925
- /** Concrete version string to install. */
926
- version: string;
876
+ readonly version: string;
927
877
  /**
928
- * `true` when the version was supplied explicitly by the caller;
929
- * `false` when the resolver fell back to the cached latest.
878
+ * `true` when the version was supplied explicitly by the caller and matches
879
+ * the descriptor pin; `false` when the pin was used directly.
930
880
  */
931
- explicit: boolean;
881
+ readonly explicit: boolean;
932
882
  }
933
883
  /**
934
- * Latest-version metadata for a single client, suitable for inclusion in a
935
- * `client.list` response.
936
- */
937
- interface LatestVersionMeta {
938
- /** Latest version string known to the resolver, or `null` when unknown. */
939
- latestAvailableVersion: string | null;
940
- /** Epoch timestamp when the latest-version index was last checked, or `null`. */
941
- latestVersionLastCheckedAt: number | null;
942
- /** Freshness classification of the cache entry. */
943
- latestVersionSourceStatus: LatestVersionSourceStatus$1;
944
- }
945
- /**
946
- * In-memory version resolver for managed client binaries.
884
+ * Synchronous, stateless version resolver for managed client binaries.
947
885
  *
948
- * Responsibilities:
949
- * - Resolving a concrete version for `client.install` requests, falling back
950
- * to the last known latest when no explicit version is given.
951
- * - Refreshing the latest-version cache on demand (for `client.list` with
952
- * `forceRefresh: true`), with a graceful fallback to the cached value on
953
- * network failure.
954
- * - Exposing the cache state for `client.list` response assembly.
886
+ * The resolver enforces the pin-only install contract:
887
+ * - When no explicit version is supplied, it returns the descriptor pin.
888
+ * - When an explicit version is supplied, it is accepted only when it equals
889
+ * the descriptor pin; any mismatch throws immediately so the caller can
890
+ * reject the request with a clear message.
955
891
  *
956
- * This class is intentionally bus-free. The `ClientBinaryManager` owns bus
957
- * registration and calls into this resolver.
892
+ * No network calls, no cache, no async I/O. The concrete version is always
893
+ * known at construction time from the descriptor.
958
894
  */
959
895
  declare class ClientBinaryVersionResolver {
960
- #private;
961
- private readonly feedFetcher;
962
- private readonly cache;
963
- /**
964
- * Creates a new resolver instance.
965
- * @param feedFetcher - Strategy-agnostic upstream feed fetcher
966
- */
967
- constructor(feedFetcher: FeedFetcher);
968
896
  /**
969
897
  * Resolve the version to install for a `client.install` request.
970
898
  *
971
- * When `explicitVersion` is supplied it is returned unchanged. When it is
972
- * absent the resolver returns the last cached latest version. If no cache
973
- * entry exists for the client, the resolver attempts a live feed refresh; if
974
- * that also fails, an error is thrown so the caller can reject the request
975
- * with a clear message rather than installing a phantom version.
899
+ * When `explicitVersion` is `undefined`, the descriptor pin is returned
900
+ * directly. When `explicitVersion` is provided, it must exactly match the
901
+ * pin or an error is thrown. Whitespace-only explicit versions are also
902
+ * rejected.
976
903
  * @param clientId - Stable client identifier (e.g. `'claude-code'`)
977
- * @param descriptor - Managed install descriptor for the client
978
- * @param explicitVersion - Version string supplied by the caller, or `undefined`
904
+ * @param descriptor - Managed install descriptor carrying the pinned version
905
+ * @param explicitVersion - Version string supplied by the caller, or
906
+ * `undefined` to use the descriptor pin
979
907
  * @returns Resolved version and whether it was explicitly requested
908
+ * @throws When `explicitVersion` is an empty/whitespace-only string
909
+ * @throws When `explicitVersion` does not match the descriptor pin
980
910
  */
981
- resolveInstallVersion(clientId: string, descriptor: ManagedInstallDescriptor, explicitVersion: string | undefined): Promise<ResolvedInstallVersion>;
982
- /**
983
- * Attempt a live feed refresh and update the in-memory cache.
984
- *
985
- * On success the cache entry is updated to `'fresh'`. On failure the
986
- * existing entry (if any) is retained but its status is set to `'error'` so
987
- * that callers can surface degraded-mode metadata without losing the last
988
- * known version.
989
- * @param clientId - Stable client identifier (e.g. `'claude-code'`)
990
- * @param descriptor - Managed install descriptor for the client
991
- * @returns `true` when the refresh succeeded, `false` when it failed
992
- */
993
- refresh(clientId: string, descriptor: ManagedInstallDescriptor): Promise<boolean>;
994
- /**
995
- * Return the current latest-version metadata for a client, suitable for
996
- * embedding in a `client.list` response.
997
- *
998
- * When no cache entry exists, the returned object has `null` fields and
999
- * status `'error'` — the absence of a cached value is itself an error state
1000
- * from the perspective of the list consumer.
1001
- * @param clientId - Stable client identifier (e.g. `'claude-code'`)
1002
- * @returns Latest-version metadata object
1003
- */
1004
- getLatestVersionMeta(clientId: string): LatestVersionMeta;
1005
- /**
1006
- * Seed the cache with a previously persisted latest-version entry.
1007
- *
1008
- * This is called by the `ClientBinaryManager` at startup to restore the
1009
- * feed-cache state from durable storage so that `resolveInstallVersion` does
1010
- * not need a live fetch on the first call after a restart.
1011
- *
1012
- * The seeded entry defaults to `'cached'` because it survived a process
1013
- * restart and has not been confirmed live in this session. Callers may pass
1014
- * `'error'` when the persisted row records a failed refresh attempt that
1015
- * should remain visible after hydration.
1016
- * @param clientId - Stable client identifier (e.g. `'claude-code'`)
1017
- * @param version - Version string from storage
1018
- * @param checkedAt - Epoch timestamp when the version was last fetched
1019
- * @param status - Persisted source status to seed
1020
- */
1021
- seedFromStorage(clientId: string, version: string, checkedAt: number, status?: LatestVersionSourceStatus$1): void;
1022
- /**
1023
- * Clear all in-memory cache entries.
1024
- *
1025
- * Intended for use in tests and on service destroy.
1026
- */
1027
- clear(): void;
911
+ resolveInstallVersion(clientId: string, descriptor: ManagedInstallDescriptor, explicitVersion?: string): ResolvedInstallVersion;
1028
912
  }
1029
913
  //#endregion
1030
914
  //#region packages/clients-core/src/client-runtime-registry-types.d.ts
@@ -1235,6 +1119,21 @@ declare class ClientRuntimeService extends BaseService {
1235
1119
  private consolidateMergedSnapshots;
1236
1120
  }
1237
1121
  //#endregion
1122
+ //#region packages/clients-core/src/client-config-prime-service.d.ts
1123
+ /**
1124
+ * Handles the generic `client.config.prime` request subject.
1125
+ */
1126
+ declare class ClientConfigPrimeService extends BaseService {
1127
+ /**
1128
+ * @param bus - Bus instance used for handler registration and delegation.
1129
+ */
1130
+ constructor(bus?: IMakaioBus);
1131
+ /**
1132
+ * Register the generic config-prime handler.
1133
+ */
1134
+ protected onInit(): void;
1135
+ }
1136
+ //#endregion
1238
1137
  //#region packages/clients-core/src/client-profile-service.d.ts
1239
1138
  /**
1240
1139
  * Handles the `client.profile.*` bus subjects, providing full CRUD for named
@@ -1680,27 +1579,30 @@ declare function createClientWiringListSubjectDef(clientId: string): ClientWirin
1680
1579
  /**
1681
1580
  * Composite service that initialises and destroys the
1682
1581
  * {@link ClientRuntimeService}, the {@link ClientBinaryManager}, the
1683
- * {@link ClientProfileService}, and the {@link ClientSessionConfigService}
1582
+ * {@link ClientConfigPrimeService}, the {@link ClientProfileService}, and the
1583
+ * {@link ClientSessionConfigService}
1684
1584
  * under a single {@link ExtensionServiceLifecycle} handle.
1685
1585
  *
1686
1586
  * The host coordinator calls `init()` once and `destroy()` once; this class
1687
- * ensures all four services participate in the same lifecycle without any
1587
+ * ensures all five services participate in the same lifecycle without any
1688
1588
  * requiring knowledge of the others.
1689
1589
  */
1690
1590
  declare class ClientsCoreService implements ExtensionServiceLifecycle {
1691
1591
  private readonly runtimeService;
1692
1592
  private readonly binaryManager;
1593
+ private readonly configPrimeService;
1693
1594
  private readonly profileService;
1694
1595
  private readonly sessionConfigService;
1695
1596
  /**
1696
1597
  * @param runtimeService - Handles `client.*` runtime observation subjects
1697
1598
  * @param binaryManager - Handles `client.*` binary-management subjects
1599
+ * @param configPrimeService - Handles generic `client.config.prime` delegation
1698
1600
  * @param profileService - Handles `client.profile.*` CRUD subjects
1699
1601
  * @param sessionConfigService - Handles `client.sessionConfig.*` isolation subjects
1700
1602
  */
1701
- constructor(runtimeService: ClientRuntimeService, binaryManager: ClientBinaryManager, profileService: ClientProfileService, sessionConfigService: ClientSessionConfigService);
1603
+ constructor(runtimeService: ClientRuntimeService, binaryManager: ClientBinaryManager, configPrimeService: ClientConfigPrimeService, profileService: ClientProfileService, sessionConfigService: ClientSessionConfigService);
1702
1604
  /**
1703
- * Initialize all four sub-services in parallel.
1605
+ * Initialize all five sub-services in parallel.
1704
1606
  *
1705
1607
  * Uses {@link Promise.allSettled} so every service always attempts
1706
1608
  * initialisation — matching the resilience pattern used by {@link destroy}.
@@ -1709,7 +1611,7 @@ declare class ClientsCoreService implements ExtensionServiceLifecycle {
1709
1611
  */
1710
1612
  init(): Promise<void>;
1711
1613
  /**
1712
- * Destroy all four sub-services in parallel.
1614
+ * Destroy all five sub-services in parallel.
1713
1615
  *
1714
1616
  * Uses {@link Promise.allSettled} to guarantee every cleanup runs even when
1715
1617
  * one rejects. Any rejections are logged for observability — matching the
@@ -1809,13 +1711,6 @@ declare const ClientBinaryVersionRecordSchema: z.ZodObject<{
1809
1711
  declare const ClientBinaryStateRecordSchema: z.ZodObject<{
1810
1712
  clientId: z.ZodString;
1811
1713
  activeVersion: z.ZodNullable<z.ZodString>;
1812
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
1813
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
1814
- latestVersionSourceStatus: z.ZodEnum<{
1815
- error: "error";
1816
- fresh: "fresh";
1817
- cached: "cached";
1818
- }>;
1819
1714
  updatedAt: z.ZodNumber;
1820
1715
  }, z.core.$strip>;
1821
1716
  /**
@@ -1889,13 +1784,6 @@ declare const ClientBinaryStorageNamespace: _$_makaio_core0.BusNamespaceDefiniti
1889
1784
  state: z.ZodNullable<z.ZodObject<{
1890
1785
  clientId: z.ZodString;
1891
1786
  activeVersion: z.ZodNullable<z.ZodString>;
1892
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
1893
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
1894
- latestVersionSourceStatus: z.ZodEnum<{
1895
- error: "error";
1896
- fresh: "fresh";
1897
- cached: "cached";
1898
- }>;
1899
1787
  updatedAt: z.ZodNumber;
1900
1788
  }, z.core.$strip>>;
1901
1789
  versions: z.ZodArray<z.ZodObject<{
@@ -1920,18 +1808,11 @@ declare const ClientBinaryStorageNamespace: _$_makaio_core0.BusNamespaceDefiniti
1920
1808
  createdAt: z.ZodNumber;
1921
1809
  }, z.core.$strip>>;
1922
1810
  }, z.core.$strip>;
1923
- }; /** Upsert the per-client binary state row (active version + feed cache). */
1811
+ }; /** Upsert the per-client binary state row. */
1924
1812
  upsertState: {
1925
1813
  request: z.ZodObject<{
1926
1814
  clientId: z.ZodString;
1927
1815
  activeVersion: z.ZodNullable<z.ZodString>;
1928
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
1929
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
1930
- latestVersionSourceStatus: z.ZodEnum<{
1931
- error: "error";
1932
- fresh: "fresh";
1933
- cached: "cached";
1934
- }>;
1935
1816
  updatedAt: z.ZodNumber;
1936
1817
  }, z.core.$strip>;
1937
1818
  response: z.ZodObject<{
@@ -1939,9 +1820,7 @@ declare const ClientBinaryStorageNamespace: _$_makaio_core0.BusNamespaceDefiniti
1939
1820
  }, z.core.$strip>;
1940
1821
  };
1941
1822
  /**
1942
- * Set the active version without touching feed-cache fields.
1943
- *
1944
- * Creates a minimal state row when one does not exist yet.
1823
+ * Set the active version, creating a state row when one does not exist yet.
1945
1824
  */
1946
1825
  setActiveVersion: {
1947
1826
  request: z.ZodObject<{
@@ -1962,13 +1841,6 @@ declare const ClientBinaryStorageNamespace: _$_makaio_core0.BusNamespaceDefiniti
1962
1841
  state: z.ZodNullable<z.ZodObject<{
1963
1842
  clientId: z.ZodString;
1964
1843
  activeVersion: z.ZodNullable<z.ZodString>;
1965
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
1966
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
1967
- latestVersionSourceStatus: z.ZodEnum<{
1968
- error: "error";
1969
- fresh: "fresh";
1970
- cached: "cached";
1971
- }>;
1972
1844
  updatedAt: z.ZodNumber;
1973
1845
  }, z.core.$strip>>;
1974
1846
  }, z.core.$strip>;
@@ -1979,13 +1851,6 @@ declare const ClientBinaryStorageNamespace: _$_makaio_core0.BusNamespaceDefiniti
1979
1851
  states: z.ZodArray<z.ZodObject<{
1980
1852
  clientId: z.ZodString;
1981
1853
  activeVersion: z.ZodNullable<z.ZodString>;
1982
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
1983
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
1984
- latestVersionSourceStatus: z.ZodEnum<{
1985
- error: "error";
1986
- fresh: "fresh";
1987
- cached: "cached";
1988
- }>;
1989
1854
  updatedAt: z.ZodNumber;
1990
1855
  }, z.core.$strip>>;
1991
1856
  }, z.core.$strip>;
@@ -1996,13 +1861,6 @@ declare const ClientBinaryStorageNamespace: _$_makaio_core0.BusNamespaceDefiniti
1996
1861
  states: z.ZodArray<z.ZodObject<{
1997
1862
  clientId: z.ZodString;
1998
1863
  activeVersion: z.ZodNullable<z.ZodString>;
1999
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
2000
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
2001
- latestVersionSourceStatus: z.ZodEnum<{
2002
- error: "error";
2003
- fresh: "fresh";
2004
- cached: "cached";
2005
- }>;
2006
1864
  updatedAt: z.ZodNumber;
2007
1865
  }, z.core.$strip>>;
2008
1866
  versions: z.ZodArray<z.ZodObject<{
@@ -2015,29 +1873,6 @@ declare const ClientBinaryStorageNamespace: _$_makaio_core0.BusNamespaceDefiniti
2015
1873
  }, z.core.$strip>>;
2016
1874
  }, z.core.$strip>;
2017
1875
  };
2018
- /**
2019
- * Persist an updated feed-cache entry for a client.
2020
- *
2021
- * This is a subset of `upsertState` — the handler merges the feed fields
2022
- * into the existing row (or creates a minimal row) without touching
2023
- * `activeVersion`.
2024
- */
2025
- updateFeedCache: {
2026
- request: z.ZodObject<{
2027
- clientId: z.ZodString;
2028
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
2029
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
2030
- latestVersionSourceStatus: z.ZodEnum<{
2031
- error: "error";
2032
- fresh: "fresh";
2033
- cached: "cached";
2034
- }>;
2035
- updatedAt: z.ZodNumber;
2036
- }, z.core.$strip>;
2037
- response: z.ZodObject<{
2038
- success: z.ZodBoolean;
2039
- }, z.core.$strip>;
2040
- };
2041
1876
  /**
2042
1877
  * Atomically remove an installed-version row and clear the active-version
2043
1878
  * pointer when it currently points to the deleted version.
@@ -2125,13 +1960,6 @@ declare const ClientBinaryStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio
2125
1960
  state: z.ZodNullable<z.ZodObject<{
2126
1961
  clientId: z.ZodString;
2127
1962
  activeVersion: z.ZodNullable<z.ZodString>;
2128
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
2129
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
2130
- latestVersionSourceStatus: z.ZodEnum<{
2131
- error: "error";
2132
- fresh: "fresh";
2133
- cached: "cached";
2134
- }>;
2135
1963
  updatedAt: z.ZodNumber;
2136
1964
  }, z.core.$strip>>;
2137
1965
  versions: z.ZodArray<z.ZodObject<{
@@ -2156,18 +1984,11 @@ declare const ClientBinaryStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio
2156
1984
  createdAt: z.ZodNumber;
2157
1985
  }, z.core.$strip>>;
2158
1986
  }, z.core.$strip>;
2159
- }; /** Upsert the per-client binary state row (active version + feed cache). */
1987
+ }; /** Upsert the per-client binary state row. */
2160
1988
  upsertState: {
2161
1989
  request: z.ZodObject<{
2162
1990
  clientId: z.ZodString;
2163
1991
  activeVersion: z.ZodNullable<z.ZodString>;
2164
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
2165
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
2166
- latestVersionSourceStatus: z.ZodEnum<{
2167
- error: "error";
2168
- fresh: "fresh";
2169
- cached: "cached";
2170
- }>;
2171
1992
  updatedAt: z.ZodNumber;
2172
1993
  }, z.core.$strip>;
2173
1994
  response: z.ZodObject<{
@@ -2175,9 +1996,7 @@ declare const ClientBinaryStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio
2175
1996
  }, z.core.$strip>;
2176
1997
  };
2177
1998
  /**
2178
- * Set the active version without touching feed-cache fields.
2179
- *
2180
- * Creates a minimal state row when one does not exist yet.
1999
+ * Set the active version, creating a state row when one does not exist yet.
2181
2000
  */
2182
2001
  setActiveVersion: {
2183
2002
  request: z.ZodObject<{
@@ -2198,13 +2017,6 @@ declare const ClientBinaryStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio
2198
2017
  state: z.ZodNullable<z.ZodObject<{
2199
2018
  clientId: z.ZodString;
2200
2019
  activeVersion: z.ZodNullable<z.ZodString>;
2201
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
2202
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
2203
- latestVersionSourceStatus: z.ZodEnum<{
2204
- error: "error";
2205
- fresh: "fresh";
2206
- cached: "cached";
2207
- }>;
2208
2020
  updatedAt: z.ZodNumber;
2209
2021
  }, z.core.$strip>>;
2210
2022
  }, z.core.$strip>;
@@ -2215,13 +2027,6 @@ declare const ClientBinaryStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio
2215
2027
  states: z.ZodArray<z.ZodObject<{
2216
2028
  clientId: z.ZodString;
2217
2029
  activeVersion: z.ZodNullable<z.ZodString>;
2218
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
2219
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
2220
- latestVersionSourceStatus: z.ZodEnum<{
2221
- error: "error";
2222
- fresh: "fresh";
2223
- cached: "cached";
2224
- }>;
2225
2030
  updatedAt: z.ZodNumber;
2226
2031
  }, z.core.$strip>>;
2227
2032
  }, z.core.$strip>;
@@ -2232,13 +2037,6 @@ declare const ClientBinaryStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio
2232
2037
  states: z.ZodArray<z.ZodObject<{
2233
2038
  clientId: z.ZodString;
2234
2039
  activeVersion: z.ZodNullable<z.ZodString>;
2235
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
2236
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
2237
- latestVersionSourceStatus: z.ZodEnum<{
2238
- error: "error";
2239
- fresh: "fresh";
2240
- cached: "cached";
2241
- }>;
2242
2040
  updatedAt: z.ZodNumber;
2243
2041
  }, z.core.$strip>>;
2244
2042
  versions: z.ZodArray<z.ZodObject<{
@@ -2251,29 +2049,6 @@ declare const ClientBinaryStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio
2251
2049
  }, z.core.$strip>>;
2252
2050
  }, z.core.$strip>;
2253
2051
  };
2254
- /**
2255
- * Persist an updated feed-cache entry for a client.
2256
- *
2257
- * This is a subset of `upsertState` — the handler merges the feed fields
2258
- * into the existing row (or creates a minimal row) without touching
2259
- * `activeVersion`.
2260
- */
2261
- updateFeedCache: {
2262
- request: z.ZodObject<{
2263
- clientId: z.ZodString;
2264
- latestAvailableVersion: z.ZodNullable<z.ZodString>;
2265
- latestVersionLastCheckedAt: z.ZodNullable<z.ZodNumber>;
2266
- latestVersionSourceStatus: z.ZodEnum<{
2267
- error: "error";
2268
- fresh: "fresh";
2269
- cached: "cached";
2270
- }>;
2271
- updatedAt: z.ZodNumber;
2272
- }, z.core.$strip>;
2273
- response: z.ZodObject<{
2274
- success: z.ZodBoolean;
2275
- }, z.core.$strip>;
2276
- };
2277
2052
  /**
2278
2053
  * Atomically remove an installed-version row and clear the active-version
2279
2054
  * pointer when it currently points to the deleted version.
@@ -2783,4 +2558,4 @@ declare function buildHookCommand(makaioCommand: string, sentinel: string, event
2783
2558
  */
2784
2559
  declare function deriveSessionEventDescriptors(clientDefinition: ClientDefinition$1): ReadonlyArray<SessionEventDescriptor>;
2785
2560
  //#endregion
2786
- export { AbsolutePathSchema, type AtomicContentParser, type AtomicModifier, type AtomicModifyOutcome, BinaryNotFoundError, type BuildClientSessionBaseOpts, CLIENT_RUNTIME_STATUSES, ClientAccountRegistry, type ClientAccountUpsertResult, ClientBinaryFeedCache, ClientBinaryJobRunner, ClientBinaryManager, type ClientBinaryManagerConfig, type ClientBinaryStateRecord, ClientBinaryStateRecordSchema, ClientBinaryStorageNamespace, ClientBinaryStorageSubjects, type ClientBinaryVersionRecord, ClientBinaryVersionRecordSchema, ClientBinaryVersionResolver, type ClientDefinitionLookup, ClientDefinitionRegistry, type ClientNamespaceResult, type ClientProfileRecord, ClientProfileRecordSchema, ClientProfileService, ClientProfileStorageNamespace, ClientProfileStorageSubjects, type ClientRuntimeRecord, ClientRuntimeRegistry, ClientRuntimeService, type ClientRuntimeStatus, ClientRuntimeStorageNamespace, ClientRuntimeStorageSubjects, ClientSessionConfigService, ClientSubjects, type ClientWiringAggregatedResult, ClientWiringAggregatedResultSchema, type ClientWiringApplyResponse, ClientWiringApplyResponseSchema, type ClientWiringEntry, ClientWiringEntrySchema, type ClientWiringListResponse, ClientWiringListResponseSchema, type ClientWiringListSubjectDef, type ClientWiringRemoveResponse, ClientWiringRemoveResponseSchema, type ClientWiringSubjectDefBase, type ClientsCorePackageOptions, ClientsCoreService, ClientsCoreToken, type FeedFetcher, type InstallJob, type JobCompletedCallback, type JobCompletionCallback, type JobCompletionResult, type JobProgressCallback, type LatestVersionMeta, type PostInstallContext, type PostInstallHandler, type RawClientHookPayload, RawClientHookPayloadSchema, type RawClientHookReceivedSubject, type ResolvedInstallVersion, RuntimeRecordSchema, type RuntimeUpsertResult, type SessionEventDescriptor, type StrategyDependencies, assertAbsoluteProjectDir, atomicModifyFile, buildClientCommand, buildClientSessionBase, buildHookCommand, canonicalizeClientId, createClientNamespace, createClientWiringListSubjectDef, createClientWiringSubjectDef, createClientsCorePackage, createRawClientHookReceivedSubject, deriveSessionEventDescriptors, emitBestEffort, isPathWithinBase, pickNonEmptyString, pickNonEmptyStringValue, registerStorageHandlersWithRollback, resolveAndValidateBasePath, resolveClientBinary };
2561
+ export { AbsolutePathSchema, type AtomicContentParser, type AtomicModifier, type AtomicModifyOutcome, BinaryNotFoundError, type BuildClientSessionBaseOpts, CLIENT_RUNTIME_STATUSES, ClientAccountRegistry, type ClientAccountUpsertResult, ClientBinaryJobRunner, ClientBinaryManager, type ClientBinaryManagerConfig, type ClientBinaryStateRecord, ClientBinaryStateRecordSchema, ClientBinaryStorageNamespace, ClientBinaryStorageSubjects, type ClientBinaryVersionRecord, ClientBinaryVersionRecordSchema, ClientBinaryVersionResolver, ClientConfigPrimeService, type ClientDefinitionLookup, ClientDefinitionRegistry, type ClientNamespaceResult, type ClientProfileRecord, ClientProfileRecordSchema, ClientProfileService, ClientProfileStorageNamespace, ClientProfileStorageSubjects, type ClientRuntimeRecord, ClientRuntimeRegistry, ClientRuntimeService, type ClientRuntimeStatus, ClientRuntimeStorageNamespace, ClientRuntimeStorageSubjects, ClientSessionConfigService, ClientSubjects, type ClientWiringAggregatedResult, ClientWiringAggregatedResultSchema, type ClientWiringApplyResponse, ClientWiringApplyResponseSchema, type ClientWiringEntry, ClientWiringEntrySchema, type ClientWiringListResponse, ClientWiringListResponseSchema, type ClientWiringListSubjectDef, type ClientWiringRemoveResponse, ClientWiringRemoveResponseSchema, type ClientWiringSubjectDefBase, type ClientsCorePackageOptions, ClientsCoreService, ClientsCoreToken, type InstallJob, type JobCompletedCallback, type JobCompletionCallback, type JobCompletionResult, type JobProgressCallback, type PostInstallContext, type PostInstallHandler, type RawClientHookPayload, RawClientHookPayloadSchema, type RawClientHookReceivedSubject, type ResolvedInstallVersion, RuntimeRecordSchema, type RuntimeUpsertResult, type SessionEventDescriptor, type StrategyDependencies, assertAbsoluteProjectDir, atomicModifyFile, buildClientCommand, buildClientSessionBase, buildHookCommand, canonicalizeClientId, createClientNamespace, createClientWiringListSubjectDef, createClientWiringSubjectDef, createClientsCorePackage, createRawClientHookReceivedSubject, deriveSessionEventDescriptors, emitBestEffort, isPathWithinBase, pickNonEmptyString, pickNonEmptyStringValue, registerStorageHandlersWithRollback, resolveAndValidateBasePath, resolveClientBinary };