@makaio/framework 1.0.0-dev-1779046984397 → 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.
- package/README.md +32 -315
- package/dist/{account-identity-Ce1Bwrqi.mjs → account-identity-Bg_vKkcs.mjs} +1 -1
- package/dist/{adapter-CbyjCE2d.mjs → adapter-CpF2aK_-.mjs} +1 -1
- package/dist/adapters/config/index.d.mts +1 -1
- package/dist/adapters/config/index.mjs +1 -1
- package/dist/adapters/index.d.mts +2 -2
- package/dist/adapters/index.mjs +1 -1
- package/dist/adapters/node.d.mts +1 -1
- package/dist/adapters/node.mjs +1 -1
- package/dist/client-DMWXCWhM.mjs +1 -0
- package/dist/clients/index.d.mts +122 -347
- package/dist/clients/index.mjs +2 -1
- package/dist/{clients-namespace-B0xAPZ6J.d.mts → clients-namespace-UHj5wt-l.d.mts} +7 -7
- package/dist/contracts/adapter/index.d.mts +2 -2
- package/dist/contracts/adapter/index.mjs +1 -1
- package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
- package/dist/contracts/client/index.d.mts +3 -3
- package/dist/contracts/client/index.mjs +1 -1
- package/dist/contracts/common/index.d.mts +1 -1
- package/dist/contracts/config/index.d.mts +6 -6
- package/dist/contracts/config/index.mjs +1 -1
- package/dist/contracts/extension/index.d.mts +2 -2
- package/dist/contracts/extension/index.mjs +1 -1
- package/dist/contracts/harness/index.d.mts +1 -1
- package/dist/contracts/harness/index.mjs +1 -1
- package/dist/contracts/host/index.mjs +1 -1
- package/dist/contracts/index.d.mts +64 -63
- package/dist/contracts/index.mjs +1 -1
- package/dist/contracts/model-registry/index.mjs +1 -1
- package/dist/contracts/native-session-supervisor/index.mjs +1 -1
- package/dist/contracts/platform/index.mjs +1 -1
- package/dist/contracts/session/index.d.mts +2 -2
- package/dist/contracts/session/index.mjs +1 -1
- package/dist/contracts/shared/index.d.mts +1 -1
- package/dist/contracts/shared/index.mjs +1 -1
- package/dist/contracts/skill/index.mjs +1 -1
- package/dist/contracts/timeout/index.d.mts +2 -0
- package/dist/contracts/timeout/index.mjs +1 -0
- package/dist/contracts/toast/index.mjs +1 -1
- package/dist/contracts/variant/index.mjs +1 -1
- package/dist/{definition-DxvZ9e22.d.mts → definition-DB7bbFSa.d.mts} +84 -91
- package/dist/{extension-COqwS-2Q.mjs → extension-53GerdGg.mjs} +1 -1
- package/dist/extension-fJmv8Yri.mjs +1 -0
- package/dist/{handlers-iGKUJ380.mjs → handlers-DR_4_rAT.mjs} +1 -1
- package/dist/{harness-CEq1Zkf9.mjs → harness-B6lGP9rm.mjs} +1 -1
- package/dist/{index-DBQtpFLE.d.mts → index-BnSQE7z7.d.mts} +3 -3
- package/dist/{index-CVA0m1g9.d.mts → index-CnmPtjnA.d.mts} +4 -4
- package/dist/{index-hapw9_En.d.mts → index-Cq8B7cwK.d.mts} +67 -67
- package/dist/{index-BJOfdtbw.d.mts → index-DGTFJB_8.d.mts} +3 -3
- package/dist/{index-DubqLGH8.d.mts → index-DaEp4UWW.d.mts} +56 -62
- package/dist/{index-C9F3Fc1A.d.mts → index-DwCA1HWa.d.mts} +133 -79
- package/dist/index-E8d_RwaF.d.mts +28 -0
- package/dist/{index-BB419vv-.d.mts → index-e5C62_M3.d.mts} +31 -11
- package/dist/{index-Bv15sNLn.d.mts → index-sBob9D25.d.mts} +1 -1
- package/dist/{index-BAKM2GMH2.d.mts → index-tKvu34DJ2.d.mts} +6 -6
- package/dist/{index-BdPwu6c0.d.mts → index-yvN8UcEH.d.mts} +110 -110
- package/dist/kernel/cli/index.mjs +1 -1
- package/dist/kernel/cli/schemas.mjs +1 -1
- package/dist/kernel/extension/index.d.mts +1 -1
- package/dist/kernel/extension/index.mjs +1 -1
- package/dist/kernel/index.d.mts +2 -2
- package/dist/kernel/index.mjs +1 -1
- package/dist/kernel/namespace/index.mjs +1 -1
- package/dist/kernel/observability/index.d.mts +1 -1
- package/dist/kernel/observability/index.mjs +1 -1
- package/dist/kernel/providers/index.mjs +1 -1
- package/dist/kernel/window/index.mjs +1 -1
- package/dist/{namespace-CkLUtc0g.d.mts → namespace-B1E57soL.d.mts} +22 -22
- package/dist/{namespace-bq4Prtzn.d.mts → namespace-B5ZCshBw.d.mts} +75 -75
- package/dist/{namespace-CCDEOwmW.d.mts → namespace-BCRNwPnw.d.mts} +6 -6
- package/dist/{namespace-ptv-pw_g.d.mts → namespace-BKrV_2gZ.d.mts} +9 -9
- package/dist/{namespace-O5SNY-LV.d.mts → namespace-BpIE-jQW.d.mts} +14 -14
- package/dist/{namespace-8cNguvIp.mjs → namespace-DGMO2E8f.mjs} +1 -1
- package/dist/{namespace-FWx6HxaW.d.mts → namespace-DXnMk3U8.d.mts} +14 -14
- package/dist/{namespace-xkvVw3hf2.d.mts → namespace-DwCyOaZn2.d.mts} +2 -2
- package/dist/{namespace-C2ufjgaQ.d.mts → namespace-Ysg1N6rR.d.mts} +24 -24
- package/dist/{native-session-supervisor-L-UIaEfd.mjs → native-session-supervisor-zPt624Tp.mjs} +1 -1
- package/dist/node/bus-server/index.d.mts +1 -1
- package/dist/node/bus-server/index.mjs +1 -1
- package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
- package/dist/node/bus-server/server-lifecycle.mjs +1 -1
- package/dist/{orchestrator-shared-Wv1GI2mW.mjs → orchestrator-shared-D2txLAUs.mjs} +1 -1
- package/dist/profile-Cq4A7kQa.mjs +1 -0
- package/dist/{provider-context-CNRQ4d5m.mjs → provider-context-BB4eD8ON.mjs} +1 -1
- package/dist/{schema-BwzXEtT2.d.mts → schema-B295yplx.d.mts} +1 -1
- package/dist/{schema-CAw_BqaG.mjs → schema-C4iznV0q.mjs} +1 -1
- package/dist/{schema-introspection-D61TT_7b.mjs → schema-introspection-DCYC47_d.mjs} +1 -1
- package/dist/{schemas-BdMU-gew.d.mts → schemas-BWvuaL0w.d.mts} +4 -4
- package/dist/{schemas-D9108Iv1.d.mts → schemas-BfMZAwff.d.mts} +7 -7
- package/dist/{schemas-BXstpWVp.mjs → schemas-Bn8aqDIE.mjs} +1 -1
- package/dist/{schemas-qmn5SWPU.d.mts → schemas-C31qbb0s.d.mts} +4 -4
- package/dist/{schemas-DbWs_hj8.d.mts → schemas-DYqKRNju.d.mts} +3 -3
- package/dist/{schemas-DENVYyds.d.mts → schemas-Ra8pz5M-.d.mts} +14 -14
- package/dist/services/adapter-runtime/index.mjs +1 -1
- package/dist/services/adapter-subsystem/index.d.mts +2 -2
- package/dist/services/adapter-subsystem/index.mjs +1 -1
- package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
- package/dist/services/adapter-subsystem/namespace.mjs +1 -1
- package/dist/services/capability/index.mjs +1 -1
- package/dist/services/context-rules/index.mjs +1 -1
- package/dist/services/execution-target/index.d.mts +3 -3
- package/dist/services/execution-target/index.mjs +1 -1
- package/dist/services/execution-target/namespace.d.mts +1 -1
- package/dist/services/execution-target/schemas.d.mts +1 -1
- package/dist/services/filesystem/namespace.d.mts +6 -6
- package/dist/services/filesystem/schemas.d.mts +3 -3
- package/dist/services/harness/index.d.mts +34 -34
- package/dist/services/harness/index.mjs +1 -1
- package/dist/services/harness/storage/schema.d.mts +4 -4
- package/dist/services/index.d.mts +70 -71
- package/dist/services/index.mjs +1 -1
- package/dist/services/log-import/log-import.mjs +1 -1
- package/dist/services/log-import/namespace.mjs +1 -1
- package/dist/services/log-import/schemas.mjs +1 -1
- package/dist/services/model-registry/index.mjs +1 -1
- package/dist/services/preferences/index.d.mts +2 -2
- package/dist/services/preferences/schemas.d.mts +1 -1
- package/dist/services/preferences/storage-namespace.d.mts +2 -2
- package/dist/services/provider-context/index.mjs +1 -1
- package/dist/services/provider-runtime/index.mjs +1 -1
- package/dist/services/session/handlers/index.mjs +1 -1
- package/dist/services/session/index.d.mts +7 -7
- package/dist/services/session/index.mjs +1 -1
- package/dist/services/session/messages/namespace.d.mts +1 -1
- package/dist/services/session/messages/namespace.mjs +1 -1
- package/dist/services/session/orchestrator-testing/index.mjs +1 -1
- package/dist/services/session/session-events/namespace.d.mts +1 -1
- package/dist/services/session/session-events/namespace.mjs +1 -1
- package/dist/services/session/storage/namespace.d.mts +1 -1
- package/dist/services/session/storage/schema.d.mts +1 -1
- package/dist/services/session/testing/index.mjs +1 -1
- package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
- package/dist/services/session/turns/namespace.d.mts +1 -1
- package/dist/services/session/turns/namespace.mjs +1 -1
- package/dist/services/session-editor/index.mjs +1 -1
- package/dist/services/settings/index.d.mts +1 -1
- package/dist/services/settings/index.mjs +1 -1
- package/dist/services/settings/namespace.d.mts +9 -9
- package/dist/services/settings/namespace.mjs +1 -1
- package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
- package/dist/services/settings/storage/clients-namespace.mjs +1 -1
- package/dist/services/settings/storage/extension-configs/namespace.d.mts +3 -3
- package/dist/services/settings/storage/index.d.mts +1 -1
- package/dist/services/settings/storage/index.mjs +1 -1
- package/dist/services/settings/storage/providers-namespace.mjs +1 -1
- package/dist/services/tool-approval/index.mjs +1 -1
- package/dist/services/tools/index.mjs +1 -1
- package/dist/services/tray-menu/index.d.mts +2 -2
- package/dist/services/tray-menu/index.mjs +1 -1
- package/dist/services/tray-menu/namespace.d.mts +1 -1
- package/dist/services/tray-menu/schemas.d.mts +1 -1
- package/dist/services/turn/index.d.mts +1 -1
- package/dist/services/turn/namespace.d.mts +1 -1
- package/dist/services/turn/schemas.d.mts +11 -11
- package/dist/services/worker/index.d.mts +1 -1
- package/dist/services/worker/schemas.d.mts +1 -1
- package/dist/{session-piI1R5rP.mjs → session-BCSf-Fgj.mjs} +1 -1
- package/dist/{session-Do6lDZM4.mjs → session-BNo_cIiz.mjs} +1 -1
- package/dist/{shared-DxHLl9UP.mjs → shared-BhuSHZXH.mjs} +1 -1
- package/dist/{skill-CB5h-ZFQ.mjs → skill-20_SBXaI.mjs} +1 -1
- package/dist/storage/handlers/drizzle/index.mjs +1 -1
- package/dist/storage/handlers/index.mjs +1 -1
- package/dist/{storage-namespace-DAm8iWEj.d.mts → storage-namespace-DoH-Wkjp.d.mts} +10 -10
- package/dist/timeout-D33CUZ0M.mjs +1 -0
- package/dist/{tool-approval-service-BcBSUZCO.mjs → tool-approval-service-CZCPfvVy.mjs} +1 -1
- package/dist/{tools-CDSgj0ee.mjs → tools-Cid9D99F.mjs} +1 -1
- package/dist/{types-BjToUrHp.d.mts → types--nrtGZ1V.d.mts} +24 -24
- package/dist/ui-kernel/index.d.mts +4 -4
- package/dist/ui-kernel/pages/namespace.d.mts +4 -4
- package/dist/ui-kernel/pages/schemas.d.mts +1 -1
- package/package.json +5 -1
- package/dist/client-Dh4x4GQN.mjs +0 -1
- package/dist/extension-Cbrl4YGX.mjs +0 -1
- package/dist/index-CNxS4Tlu.d.mts +0 -1
- package/dist/profile-4StaDQW0.mjs +0 -1
- package/dist/schemas-CGZy_rU6.d.mts +0 -13
- /package/dist/{base-orchestrator-9z8TuA5a.d.mts → base-orchestrator-BOAPgqF7.d.mts} +0 -0
- /package/dist/{capability-service-tnpR_TaB.mjs → capability-service-DV32ecwR.mjs} +0 -0
- /package/dist/{cleanEnvForAdapter-DvcIGXTG.mjs → cleanEnvForAdapter-hTPNvPU5.mjs} +0 -0
- /package/dist/{config-namespace-DLSs83zr.d.mts → config-namespace-ChZOpi1W.d.mts} +0 -0
- /package/dist/{config-namespace-MJT8P0Ud.mjs → config-namespace-wJ2CakDB.mjs} +0 -0
- /package/dist/{cursor-storage-DOQdvo9j.mjs → cursor-storage-BoNI7OAR.mjs} +0 -0
- /package/dist/{drizzle-CWVVw7Er.mjs → drizzle-Bn2GtW8c.mjs} +0 -0
- /package/dist/{execution-target-BW_uiBVe.mjs → execution-target-D6MgthYs.mjs} +0 -0
- /package/dist/{extension-namespace-zaGKi6Qj.mjs → extension-namespace-CTd9kOtt.mjs} +0 -0
- /package/dist/{host-CXAUGGN0.mjs → host-CvEht5RT.mjs} +0 -0
- /package/dist/{identity-B_A0mE63.mjs → identity-DBST3-XO.mjs} +0 -0
- /package/dist/{index-PdUSmPT2.d.mts → index-D2jejYlV.d.mts} +0 -0
- /package/dist/{index-T0471kWA.d.mts → index-DQWMu5fS.d.mts} +0 -0
- /package/dist/{model-registry-CIscwC52.mjs → model-registry-Dzpssh9j.mjs} +0 -0
- /package/dist/{model-registry-BNzpR6TU.mjs → model-registry-xINyxQUT.mjs} +0 -0
- /package/dist/{namespace-Bmc7AW4J2.mjs → namespace-C_h7scWx2.mjs} +0 -0
- /package/dist/{namespace-N0dfwSg6.mjs → namespace-DBw9BYr8.mjs} +0 -0
- /package/dist/{namespace-pNcSglBS.mjs → namespace-DUVgMfTR.mjs} +0 -0
- /package/dist/{namespace-0yuzAKlr.mjs → namespace-OwAf1Brw.mjs} +0 -0
- /package/dist/{namespace-CfEWMXBx.mjs → namespace-Zb8HAbyF.mjs} +0 -0
- /package/dist/{namespace-Db-p67Rg.mjs → namespace-aALq9tnE.mjs} +0 -0
- /package/dist/{namespace-D5Wrt7YU.mjs → namespace-yxIxUsjo.mjs} +0 -0
- /package/dist/{platform-BbSLVg5b.mjs → platform-BMFUpmTA.mjs} +0 -0
- /package/dist/{providers-Cr4Za8a1.mjs → providers-DhiW_fx4.mjs} +0 -0
- /package/dist/{schema-uSGW-6oM.mjs → schema-D3ZG13h9.mjs} +0 -0
- /package/dist/{schemas-C40ZAJ33.mjs → schemas-CEBe89yE.mjs} +0 -0
- /package/dist/{schemas-Co_sVhzz.mjs → schemas-COnLJnt_.mjs} +0 -0
- /package/dist/{schemas-CLxtoKFy.mjs → schemas-CrnlCRep.mjs} +0 -0
- /package/dist/{server-lifecycle-Cf_SZ27k.d.mts → server-lifecycle-BC6FRn86.d.mts} +0 -0
- /package/dist/{server-lifecycle-DbFwlrTW.mjs → server-lifecycle-Dx5WgfoS.mjs} +0 -0
- /package/dist/{session-lineage-Eev4uo4I.d.mts → session-lineage-B0cpHfuc.d.mts} +0 -0
- /package/dist/{shared-schemas-BgQv_tnu.mjs → shared-schemas-Byah36lG.mjs} +0 -0
- /package/dist/{storage-namespace-ADwyijoe.mjs → storage-namespace-BIDs9LPb.mjs} +0 -0
- /package/dist/{storage-namespace-definition-CHu2k14q.mjs → storage-namespace-definition-BjK9nZAN.mjs} +0 -0
- /package/dist/{tray-menu-service-CTXC1Elg.mjs → tray-menu-service-BAYtLdAg.mjs} +0 -0
- /package/dist/{types-CD1LJwPc.d.mts → types-C11LvekX.d.mts} +0 -0
- /package/dist/{ui-config-CXmbsqZV.mjs → ui-config-zawaoEfB.mjs} +0 -0
- /package/dist/{variant-D5kSrL3m.mjs → variant-BZWfmS0q.mjs} +0 -0
- /package/dist/{version-CjS20oXi.mjs → version-D8S4O22A.mjs} +0 -0
- /package/dist/{window-registry-CUftmDr3.mjs → window-registry-B_-hBEcV.mjs} +0 -0
package/dist/clients/index.d.mts
CHANGED
|
@@ -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,
|
|
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,
|
|
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
|
|
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
|
-
*
|
|
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 (
|
|
548
|
-
* a `jobId` immediately. The job
|
|
549
|
-
*
|
|
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
|
|
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
|
-
*
|
|
557
|
-
*
|
|
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.
|
|
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
|
-
*
|
|
646
|
-
*
|
|
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 -
|
|
640
|
+
* @param config - Job-runner configuration
|
|
686
641
|
*/
|
|
687
|
-
constructor(strategyDeps: StrategyDependencies, config:
|
|
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
|
-
*
|
|
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
|
|
869
|
+
interface ResolvedInstallVersion {
|
|
910
870
|
/**
|
|
911
|
-
*
|
|
871
|
+
* Concrete version string to install.
|
|
912
872
|
*
|
|
913
|
-
*
|
|
914
|
-
*
|
|
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
|
-
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
949
|
-
* -
|
|
950
|
-
*
|
|
951
|
-
*
|
|
952
|
-
*
|
|
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
|
-
*
|
|
957
|
-
*
|
|
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
|
|
972
|
-
*
|
|
973
|
-
*
|
|
974
|
-
*
|
|
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
|
|
978
|
-
* @param explicitVersion - Version string supplied by the caller, or
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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,
|
|
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 };
|