openmeld 0.3.242 → 0.3.244

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 (100) hide show
  1. package/dist/{add-me-membership-JGpmeWkk.js → add-me-membership-CWS97GK8.js} +2 -2
  2. package/dist/{add-me-membership-JGpmeWkk.js.map → add-me-membership-CWS97GK8.js.map} +1 -1
  3. package/dist/{agents-4ldZFtzT.js → agents-BoapsuRq.js} +11 -10
  4. package/dist/{agents-4ldZFtzT.js.map → agents-BoapsuRq.js.map} +1 -1
  5. package/dist/{api-client-foundation-Dbc5MXyW.js → api-client-foundation-BYTxVhem.js} +3 -3
  6. package/dist/{api-client-foundation-Dbc5MXyW.js.map → api-client-foundation-BYTxVhem.js.map} +1 -1
  7. package/dist/{api-client-foundation-uYxH6diU.js → api-client-foundation-DDdQCc2T.js} +1 -1
  8. package/dist/{auth-session-Injt39gv.js → auth-session-CpKxiYC2.js} +2 -2
  9. package/dist/{auth-session-Injt39gv.js.map → auth-session-CpKxiYC2.js.map} +1 -1
  10. package/dist/auth-session-EhHX7q2K.js +4 -0
  11. package/dist/{channel-CxgYezuw.js → channel-BXovlRXN.js} +4 -4
  12. package/dist/{channel-CxgYezuw.js.map → channel-BXovlRXN.js.map} +1 -1
  13. package/dist/cloud-computer-D2VuZov1.js +21 -0
  14. package/dist/cloud-computer-D2VuZov1.js.map +1 -0
  15. package/dist/{command-D1poZMYq.js → command-BZvpjGWe.js} +19 -19
  16. package/dist/{command-D1poZMYq.js.map → command-BZvpjGWe.js.map} +1 -1
  17. package/dist/{computer-connection-CSa8O0op.js → computer-connection-Cd5R-jnA.js} +2 -2
  18. package/dist/{computer-connection-CSa8O0op.js.map → computer-connection-Cd5R-jnA.js.map} +1 -1
  19. package/dist/{computer-connection-review-DlPe08AU.js → computer-connection-review-lBDHLC0c.js} +5 -5
  20. package/dist/{computer-connection-review-DlPe08AU.js.map → computer-connection-review-lBDHLC0c.js.map} +1 -1
  21. package/dist/{computer-disconnect-C6xJfCMA.js → computer-disconnect-C6OH3940.js} +8 -8
  22. package/dist/{computer-disconnect-C6xJfCMA.js.map → computer-disconnect-C6OH3940.js.map} +1 -1
  23. package/dist/{computer-setup-continuation-fbbvdA8o.js → computer-setup-continuation-BsSM1pzW.js} +3 -3
  24. package/dist/{computer-setup-continuation-fbbvdA8o.js.map → computer-setup-continuation-BsSM1pzW.js.map} +1 -1
  25. package/dist/{daemon-device-id-CAKHWLK9.js → context-BbodhIFX.js} +7 -279
  26. package/dist/context-BbodhIFX.js.map +1 -0
  27. package/dist/{control-plane-QqGL-jtT.js → control-plane-TOfZ-veG.js} +2 -2
  28. package/dist/{control-plane-QqGL-jtT.js.map → control-plane-TOfZ-veG.js.map} +1 -1
  29. package/dist/daemon-device-id-DwMFWGI5.js +284 -0
  30. package/dist/daemon-device-id-DwMFWGI5.js.map +1 -0
  31. package/dist/{daemon-lifecycle-journal-eiHCp4B7.js → daemon-lifecycle-journal-NJaimyPD.js} +3 -3
  32. package/dist/{daemon-lifecycle-journal-eiHCp4B7.js.map → daemon-lifecycle-journal-NJaimyPD.js.map} +1 -1
  33. package/dist/{daemon-service-manager-C_ny0JhB.js → daemon-service-manager-DAEJlYsV.js} +1 -1
  34. package/dist/{daemon-service-manager-BXAp21GH.js → daemon-service-manager-SXQcFE9c.js} +2 -2
  35. package/dist/{daemon-service-manager-BXAp21GH.js.map → daemon-service-manager-SXQcFE9c.js.map} +1 -1
  36. package/dist/{daemon-service-runtime-zCpuDvfl.js → daemon-service-runtime-COC1JtWX.js} +5 -5
  37. package/dist/{daemon-service-runtime-zCpuDvfl.js.map → daemon-service-runtime-COC1JtWX.js.map} +1 -1
  38. package/dist/{daemon-service-update-coordinator-Q5ihbImP.js → daemon-service-update-coordinator-BmZHGGiO.js} +14 -13
  39. package/dist/{daemon-service-update-coordinator-Q5ihbImP.js.map → daemon-service-update-coordinator-BmZHGGiO.js.map} +1 -1
  40. package/dist/{dispatch-owned-runtime-B6HXvHVa.js → dispatch-owned-runtime-dLHDTL7f.js} +9 -8
  41. package/dist/{dispatch-owned-runtime-B6HXvHVa.js.map → dispatch-owned-runtime-dLHDTL7f.js.map} +1 -1
  42. package/dist/dist-BDix0nxy.js +4 -0
  43. package/dist/{dist-BE0dKSoc.js → dist-Cu_yzOuS.js} +325 -191
  44. package/dist/dist-Cu_yzOuS.js.map +1 -0
  45. package/dist/{dual-view-guide-catalog-Cf9dxh8-.js → dual-view-guide-catalog-8Pr5QO_z.js} +4 -4
  46. package/dist/{dual-view-guide-catalog-Cf9dxh8-.js.map → dual-view-guide-catalog-8Pr5QO_z.js.map} +1 -1
  47. package/dist/{elapsed-time-ZiuFKVLD.js → elapsed-time-DCufUrLA.js} +3 -3
  48. package/dist/{elapsed-time-ZiuFKVLD.js.map → elapsed-time-DCufUrLA.js.map} +1 -1
  49. package/dist/{entry-B3OCEi01.js → entry-CJ289WR7.js} +8 -7
  50. package/dist/{entry-B3OCEi01.js.map → entry-CJ289WR7.js.map} +1 -1
  51. package/dist/{installation-inventory-CRS2_ZJi.js → installation-inventory-dvcGmUBg.js} +3 -3
  52. package/dist/{installation-inventory-CRS2_ZJi.js.map → installation-inventory-dvcGmUBg.js.map} +1 -1
  53. package/dist/{installer-9RCKL6Dh.js → installer-D0fh4fzg.js} +2 -2
  54. package/dist/{installer-9RCKL6Dh.js.map → installer-D0fh4fzg.js.map} +1 -1
  55. package/dist/{meta-api-BBfF-3ln.js → meta-api-BdH7IJMv.js} +5 -5
  56. package/dist/{meta-api-BBfF-3ln.js.map → meta-api-BdH7IJMv.js.map} +1 -1
  57. package/dist/{openmeld-CAlNOxmA.js → openmeld-DQPDws0E.js} +55 -33
  58. package/dist/openmeld-DQPDws0E.js.map +1 -0
  59. package/dist/{openmeld-maintenance-worker-DR32kAsg.js → openmeld-maintenance-worker-ALfbSMyQ.js} +10 -10
  60. package/dist/{openmeld-maintenance-worker-DR32kAsg.js.map → openmeld-maintenance-worker-ALfbSMyQ.js.map} +1 -1
  61. package/dist/{openmeld-tools-update-join-DWRJ6WpO.js → openmeld-tools-update-join-Cezc7ARc.js} +4 -4
  62. package/dist/{openmeld-tools-update-join-DWRJ6WpO.js.map → openmeld-tools-update-join-Cezc7ARc.js.map} +1 -1
  63. package/dist/openmeld.js +4 -4
  64. package/dist/{prepare-provider-runtime-CpG_NTZF.js → prepare-provider-runtime-Cko0dLXN.js} +11 -10
  65. package/dist/{prepare-provider-runtime-CpG_NTZF.js.map → prepare-provider-runtime-Cko0dLXN.js.map} +1 -1
  66. package/dist/{prepare-session-executor-ByEiJyxT.js → prepare-session-executor-B-TWlSSd.js} +22 -22
  67. package/dist/{prepare-session-executor-ByEiJyxT.js.map → prepare-session-executor-B-TWlSSd.js.map} +1 -1
  68. package/dist/{process-channel-Ceb-ha2V.js → process-channel-z_4u04-k.js} +2 -2
  69. package/dist/{process-channel-Ceb-ha2V.js.map → process-channel-z_4u04-k.js.map} +1 -1
  70. package/dist/{runtime-DMHRemwP.js → runtime-C6SS6jm6.js} +17 -17
  71. package/dist/{runtime-DMHRemwP.js.map → runtime-C6SS6jm6.js.map} +1 -1
  72. package/dist/{runtime-agent-controller-reporting-submission-D51t3Q8e.js → runtime-agent-controller-reporting-submission-Cyb5OuVp.js} +8 -8
  73. package/dist/{runtime-agent-controller-reporting-submission-D51t3Q8e.js.map → runtime-agent-controller-reporting-submission-Cyb5OuVp.js.map} +1 -1
  74. package/dist/{runtime-transport-BPK70mkB.js → runtime-transport-DYbpUYBL.js} +3669 -3669
  75. package/dist/runtime-transport-DYbpUYBL.js.map +1 -0
  76. package/dist/{service-BhwxCPsM.js → service-DjqXdt6p.js} +25 -24
  77. package/dist/{service-BhwxCPsM.js.map → service-DjqXdt6p.js.map} +1 -1
  78. package/dist/{service-account-authorization-C6wZHidB.js → service-account-authorization-BZFLy1E7.js} +2 -2
  79. package/dist/{service-account-authorization-C6wZHidB.js.map → service-account-authorization-BZFLy1E7.js.map} +1 -1
  80. package/dist/{service-account-control-D_hTHF4w.js → service-account-control-CsXtCjRi.js} +10 -9
  81. package/dist/{service-account-control-D_hTHF4w.js.map → service-account-control-CsXtCjRi.js.map} +1 -1
  82. package/dist/{service-control-capabilities-CfKNg0x2.js → service-control-capabilities-C4SOrFHN.js} +1 -1
  83. package/dist/{service-control-capabilities-VYS3-qJC.js → service-control-capabilities-Ck-KcBXg.js} +4 -4
  84. package/dist/{service-control-capabilities-VYS3-qJC.js.map → service-control-capabilities-Ck-KcBXg.js.map} +1 -1
  85. package/dist/{state-Bef17OTn.js → state-BmiyrHe4.js} +2 -2
  86. package/dist/{state-Bef17OTn.js.map → state-BmiyrHe4.js.map} +1 -1
  87. package/dist/{updates-api-Cot1YmlU.js → updates-api-DD3p5dx5.js} +13 -12
  88. package/dist/{updates-api-Cot1YmlU.js.map → updates-api-DD3p5dx5.js.map} +1 -1
  89. package/dist/upgrade-3z755G8g.js +4 -0
  90. package/dist/{upgrade-9xk3iYag.js → upgrade-DIt6nkyo.js} +9 -9
  91. package/dist/{upgrade-9xk3iYag.js.map → upgrade-DIt6nkyo.js.map} +1 -1
  92. package/package.json +12 -12
  93. package/skills/openmeld-cli/SKILL.md +20 -0
  94. package/dist/auth-session-j1EhJkpg2.js +0 -4
  95. package/dist/daemon-device-id-CAKHWLK9.js.map +0 -1
  96. package/dist/dist-BE0dKSoc.js.map +0 -1
  97. package/dist/dist-D4nEGVsQ.js +0 -4
  98. package/dist/openmeld-CAlNOxmA.js.map +0 -1
  99. package/dist/runtime-transport-BPK70mkB.js.map +0 -1
  100. package/dist/upgrade-CGcMw4vC.js +0 -4
@@ -0,0 +1,284 @@
1
+ #!/usr/bin/env node
2
+
3
+ import { U as systemDir } from "./paths-De9xdA2h.js";
4
+ import { t as CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH } from "./runtime-transport-DYbpUYBL.js";
5
+ import { E as agentProfileIdSchema, b as skippedDaemonProfileSchema } from "./control-plane-TOfZ-veG.js";
6
+ import { n as runtimeAgentControllerConversationIdMappingSpecSchema, o as runtimeStreamingModeSchema, r as runtimeAgentControllerLaunchContractSchema, s as runtimeTransportModeSchema, u as conversationPolicySchema } from "./controller-contract-DAOCaefz.js";
7
+ import { $ as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS$1, F as CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS$1, I as DAEMON_RUNTIME_CONTRACT_EPOCH$1, K as MIN_HEARTBEAT_INTERVAL_MS$1, L as DAEMON_STREAM_CONNECT_TIMEOUT_MS$1, P as CATALOG_SYNC_RETRY_INTERVAL_MS$1, R as DAEMON_STREAM_KEEPALIVE_INTERVAL_MS$1, U as HEARTBEAT_RESPONSE_TIMEOUT_MS$1, V as DEFAULT_HEARTBEAT_INTERVAL_MS$1, W as MAX_HEARTBEAT_INTERVAL_MS$1, X as PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS$1, Y as PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS$1, Z as REGISTER_RESPONSE_TIMEOUT_MS$1, et as RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS$1, tt as RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS$1, z as DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS$1 } from "./auth-session-CpKxiYC2.js";
8
+ import { r as daemonServiceLaneSchema } from "./service-contract-CRyDcIIf.js";
9
+ import { n as agentControllerPermissionModeSchema, r as agentControllerCollaborationModeSchema, t as openCodePermissionConfigSchema } from "./open-code-permission-DHFJYc_o.js";
10
+ import { n as toErrorMessage$1 } from "./dist-BLuEEVHh.js";
11
+ import { h as daemonRuntimeRootPath } from "./daemon-state-Dte9re5V.js";
12
+ import { randomUUID } from "node:crypto";
13
+ import { join } from "node:path";
14
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
15
+ import * as z$1 from "zod/v4";
16
+ //#region ../../packages/schemas/dist/schemas/runtime/agent-execution-steer.js
17
+ /** The caller must resolve and authorize the exact live execution's task. */
18
+ const agentExecutionSteerRequestSchema = z$1.strictObject({
19
+ taskId: z$1.string().min(1),
20
+ inputId: z$1.string().min(1),
21
+ text: z$1.string().trim().min(1).max(1e5)
22
+ });
23
+ const agentExecutionSteerResponseSchema = z$1.discriminatedUnion("status", [
24
+ z$1.strictObject({
25
+ status: z$1.literal("applied"),
26
+ taskId: z$1.string().min(1),
27
+ threadId: z$1.string().min(1),
28
+ turnId: z$1.string().min(1)
29
+ }),
30
+ z$1.strictObject({
31
+ status: z$1.literal("not_applied"),
32
+ taskId: z$1.string().min(1),
33
+ reasonCode: z$1.enum([
34
+ "execution_input.target_unavailable",
35
+ "execution_input.unsupported",
36
+ "execution_input.rejected"
37
+ ])
38
+ }),
39
+ z$1.strictObject({
40
+ status: z$1.literal("unconfirmed"),
41
+ taskId: z$1.string().min(1),
42
+ reasonCode: z$1.literal("execution_input.application_unconfirmed"),
43
+ diagnosticCode: z$1.string().min(1).max(160),
44
+ nativeErrorCode: z$1.number().int().optional()
45
+ })
46
+ ]);
47
+ //#endregion
48
+ //#region ../../packages/schemas/dist/schemas/daemon/route-catalog-cache.js
49
+ const DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME = "openmeld-daemon-route-catalog-cache-v4";
50
+ const cachedDaemonRouteConfigSchema = z$1.strictObject({
51
+ agentControllerRef: z$1.string().trim().min(1),
52
+ bindingId: z$1.string().trim().min(1).optional(),
53
+ agentControllerCollaborationMode: agentControllerCollaborationModeSchema.optional(),
54
+ agentControllerPermissionMode: agentControllerPermissionModeSchema.optional(),
55
+ configurationRevision: z$1.number().int().positive().optional(),
56
+ contextIdMappingSpec: runtimeAgentControllerConversationIdMappingSpecSchema,
57
+ conversationPolicy: conversationPolicySchema.optional(),
58
+ openCodePermission: openCodePermissionConfigSchema.optional(),
59
+ launchContract: runtimeAgentControllerLaunchContractSchema.nullable().optional(),
60
+ profileId: agentProfileIdSchema,
61
+ streamingMode: runtimeStreamingModeSchema,
62
+ transportMode: runtimeTransportModeSchema,
63
+ openMeldServiceRuntimeId: z$1.string().trim().min(1).optional()
64
+ });
65
+ const daemonRouteCatalogCacheBodySchema = z$1.strictObject({
66
+ cachedAt: z$1.iso.datetime({ offset: true }),
67
+ runtimeContractEpoch: z$1.literal(CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH),
68
+ ownerUserId: z$1.string().trim().min(1),
69
+ lane: daemonServiceLaneSchema,
70
+ serviceBundleId: z$1.string().trim().min(1),
71
+ profileIds: z$1.array(agentProfileIdSchema),
72
+ routes: z$1.array(cachedDaemonRouteConfigSchema),
73
+ skippedProfiles: z$1.array(skippedDaemonProfileSchema)
74
+ });
75
+ const daemonRouteCatalogCacheSchema = z$1.discriminatedUnion("v", [
76
+ daemonRouteCatalogCacheBodySchema.extend({
77
+ v: z$1.literal(2),
78
+ schema: z$1.literal("openmeld-daemon-route-catalog-cache-v2")
79
+ }),
80
+ daemonRouteCatalogCacheBodySchema.extend({
81
+ v: z$1.literal(3),
82
+ schema: z$1.literal("openmeld-daemon-route-catalog-cache-v3")
83
+ }),
84
+ daemonRouteCatalogCacheBodySchema.extend({
85
+ v: z$1.literal(4),
86
+ schema: z$1.literal(DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME)
87
+ })
88
+ ]).superRefine((value, ctx) => {
89
+ const routeIds = new Set(value.routes.map((route) => route.profileId));
90
+ for (const profileId of value.profileIds) if (!routeIds.has(profileId)) ctx.addIssue({
91
+ code: "custom",
92
+ message: "route catalog cache profileIds must match routes",
93
+ path: ["profileIds"]
94
+ });
95
+ });
96
+ //#endregion
97
+ //#region src/local-service/core/constants.ts
98
+ const CATALOG_SYNC_RETRY_INTERVAL_MS = CATALOG_SYNC_RETRY_INTERVAL_MS$1;
99
+ const CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS = CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS$1;
100
+ const DAEMON_RUNTIME_CONTRACT_EPOCH = DAEMON_RUNTIME_CONTRACT_EPOCH$1;
101
+ const DAEMON_STREAM_CONNECT_TIMEOUT_MS = DAEMON_STREAM_CONNECT_TIMEOUT_MS$1;
102
+ const DAEMON_STREAM_KEEPALIVE_INTERVAL_MS = DAEMON_STREAM_KEEPALIVE_INTERVAL_MS$1;
103
+ const DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS = DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS$1;
104
+ const DEFAULT_HEARTBEAT_INTERVAL_MS = DEFAULT_HEARTBEAT_INTERVAL_MS$1;
105
+ const HEARTBEAT_RESPONSE_TIMEOUT_MS = HEARTBEAT_RESPONSE_TIMEOUT_MS$1;
106
+ const MAX_HEARTBEAT_INTERVAL_MS = MAX_HEARTBEAT_INTERVAL_MS$1;
107
+ const MIN_HEARTBEAT_INTERVAL_MS = MIN_HEARTBEAT_INTERVAL_MS$1;
108
+ const PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS = PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS$1;
109
+ const PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS = PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS$1;
110
+ const REGISTER_RESPONSE_TIMEOUT_MS = REGISTER_RESPONSE_TIMEOUT_MS$1;
111
+ const RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS = RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS$1;
112
+ const RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS = RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS$1;
113
+ const RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS = RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS$1;
114
+ const DEFAULT_RECONNECT_DELAY_MS = 1e3;
115
+ const MAX_RECONNECT_DELAY_MS = 1e4;
116
+ const CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS = 5e3;
117
+ const CONTROLLED_SHUTDOWN_SOCKET_CLOSE_TIMEOUT_MS = 5e3;
118
+ const CONTROLLED_SHUTDOWN_REQUEST_TIMEOUT_MS = 15e3;
119
+ const DAEMON_DEVICE_ID_FILE = "daemon-device-id.txt";
120
+ const CONTEXT_STORE_FILE = "daemon-context-map.json";
121
+ const LEDGER_DIR_NAME = "openMeldDaemon-ledger";
122
+ const DAEMON_RUNTIME_CONTRACT_META_FILE = "runtime-contract-meta.json";
123
+ const DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE = "runtime-contract-repair-report.json";
124
+ //#endregion
125
+ //#region src/local-service/core/logger.ts
126
+ function emitRunLine(input) {
127
+ if (input.presenter.view === "agent") {
128
+ input.presenter.data({
129
+ code: input.code,
130
+ payload: {
131
+ message: input.text,
132
+ ...input.payload === void 0 ? {} : { payload: input.payload }
133
+ }
134
+ });
135
+ return;
136
+ }
137
+ input.presenter.line({
138
+ code: input.code,
139
+ text: input.text
140
+ });
141
+ }
142
+ function clampInteger(value, min, max) {
143
+ return Math.min(max, Math.max(min, Math.trunc(value)));
144
+ }
145
+ function normalizeHeartbeatIntervalMs(value) {
146
+ if (typeof value !== "number" || !Number.isFinite(value)) return DEFAULT_HEARTBEAT_INTERVAL_MS;
147
+ return clampInteger(value, MIN_HEARTBEAT_INTERVAL_MS, MAX_HEARTBEAT_INTERVAL_MS);
148
+ }
149
+ function parseTransportMode(value) {
150
+ const parsed = runtimeTransportModeSchema.safeParse(value);
151
+ return parsed.success ? parsed.data : null;
152
+ }
153
+ function parseStreamingMode(value) {
154
+ if (value === "final" || value === "stream") return value;
155
+ return null;
156
+ }
157
+ function parseRuntimeTransportMode(value) {
158
+ return parseTransportMode(value);
159
+ }
160
+ function parseContextIdMappingSpec(value) {
161
+ const record = asRecord(value);
162
+ if (!record) return null;
163
+ const sourceField = normalizeOptionalText(record.sourceField);
164
+ const mappingVersion = normalizePositiveInteger(record.mappingVersion);
165
+ if (!(sourceField && mappingVersion)) return null;
166
+ return {
167
+ sourceField,
168
+ mappingVersion
169
+ };
170
+ }
171
+ function parsePositiveInteger(value) {
172
+ if (!(typeof value === "number" && Number.isInteger(value) && value > 0)) return null;
173
+ return value;
174
+ }
175
+ function normalizeNonNegativeInteger(value) {
176
+ if (!(typeof value === "number" && Number.isInteger(value) && value >= 0)) return null;
177
+ return value;
178
+ }
179
+ function normalizePositiveInteger(value) {
180
+ return parsePositiveInteger(value);
181
+ }
182
+ function asRecord(value) {
183
+ if (!value || typeof value !== "object" || Array.isArray(value)) return null;
184
+ return value;
185
+ }
186
+ function normalizeText(value) {
187
+ return String(value ?? "").trim();
188
+ }
189
+ function normalizeOptionalText(value) {
190
+ const normalized = normalizeText(value);
191
+ return normalized.length > 0 ? normalized : null;
192
+ }
193
+ function nowIsoString() {
194
+ return (/* @__PURE__ */ new Date()).toISOString();
195
+ }
196
+ function warnDaemonEvent(eventName, fields) {
197
+ const definedFields = Object.fromEntries(Object.entries(fields).filter((entry) => entry[1] !== void 0));
198
+ console.warn(`${nowIsoString()} ${eventName} ${JSON.stringify(definedFields)}`);
199
+ }
200
+ const toErrorMessage = toErrorMessage$1;
201
+ function dirnamePath(path) {
202
+ const lastSlash = Math.max(path.lastIndexOf("/"), path.lastIndexOf("\\"));
203
+ if (lastSlash <= 0) return ".";
204
+ return path.slice(0, lastSlash);
205
+ }
206
+ //#endregion
207
+ //#region src/local-service/state/daemon-device-id.ts
208
+ function resolvePreferredDaemonDeviceId(input) {
209
+ return normalizeOptionalText(input.explicitDeviceId) ?? normalizeOptionalText(input.contractDeviceId) ?? void 0;
210
+ }
211
+ async function resolveDaemonDeviceId(input) {
212
+ const explicit = normalizeOptionalText(input.deviceId);
213
+ if (explicit) {
214
+ await persistDaemonDeviceIdIfNeeded({
215
+ deviceId: explicit,
216
+ deviceIdPath: input.deviceIdPath
217
+ });
218
+ return explicit;
219
+ }
220
+ const persisted = normalizeOptionalText(await readFile(input.deviceIdPath, "utf8").catch(() => ""));
221
+ if (persisted && !(input.shouldDiscardPersistedDeviceId?.(persisted) ?? false)) return persisted;
222
+ const generated = randomUUID();
223
+ await writeDaemonDeviceId({
224
+ deviceId: generated,
225
+ deviceIdPath: input.deviceIdPath
226
+ });
227
+ return generated;
228
+ }
229
+ async function ensureDaemonRuntimePaths() {
230
+ const dataRootPath = join(daemonRuntimeRootPath(), "data");
231
+ const contextStorePath = join(dataRootPath, CONTEXT_STORE_FILE);
232
+ const deviceIdPath = daemonDeviceIdPath();
233
+ const legacyDeviceIdPath = join(dataRootPath, DAEMON_DEVICE_ID_FILE);
234
+ const ledgerRootPath = join(dataRootPath, LEDGER_DIR_NAME);
235
+ await mkdir(dataRootPath, { recursive: true });
236
+ await mkdir(ledgerRootPath, { recursive: true });
237
+ await mkdir(dirnamePath(deviceIdPath), { recursive: true });
238
+ await migrateLegacyDaemonDeviceId({
239
+ deviceIdPath,
240
+ legacyDeviceIdPath
241
+ });
242
+ return {
243
+ contractMetaPath: join(dataRootPath, DAEMON_RUNTIME_CONTRACT_META_FILE),
244
+ contractRepairReportPath: join(dataRootPath, DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE),
245
+ contextStorePath,
246
+ dataRootPath,
247
+ deviceIdPath,
248
+ ledgerRootPath
249
+ };
250
+ }
251
+ function daemonDeviceIdPath() {
252
+ return join(systemDir(), DAEMON_DEVICE_ID_FILE);
253
+ }
254
+ function buildLedgerPaths(ledgerRootPath) {
255
+ return {
256
+ backupStateFilePath: join(ledgerRootPath, "state.backup.json"),
257
+ historyFilePath: join(ledgerRootPath, "history.ndjson"),
258
+ historyTempFilePath: join(ledgerRootPath, "history.tmp"),
259
+ rootDirPath: ledgerRootPath,
260
+ stateFilePath: join(ledgerRootPath, "state.json"),
261
+ stateTempFilePath: join(ledgerRootPath, "state.tmp")
262
+ };
263
+ }
264
+ async function persistDaemonDeviceIdIfNeeded(input) {
265
+ if (normalizeOptionalText(await readFile(input.deviceIdPath, "utf8").catch(() => "")) === input.deviceId) return;
266
+ await writeDaemonDeviceId(input);
267
+ }
268
+ async function writeDaemonDeviceId(input) {
269
+ await mkdir(dirnamePath(input.deviceIdPath), { recursive: true });
270
+ await writeFile(input.deviceIdPath, `${input.deviceId}\n`, "utf8");
271
+ }
272
+ async function migrateLegacyDaemonDeviceId(input) {
273
+ if (normalizeOptionalText(await readFile(input.deviceIdPath, "utf8").catch(() => ""))) return;
274
+ const legacy = normalizeOptionalText(await readFile(input.legacyDeviceIdPath, "utf8").catch(() => ""));
275
+ if (!legacy) return;
276
+ await writeDaemonDeviceId({
277
+ deviceId: legacy,
278
+ deviceIdPath: input.deviceIdPath
279
+ });
280
+ }
281
+ //#endregion
282
+ export { DEFAULT_RECONNECT_DELAY_MS as A, cachedDaemonRouteConfigSchema as B, CONTROLLED_SHUTDOWN_SOCKET_CLOSE_TIMEOUT_MS as C, DAEMON_STREAM_CONNECT_TIMEOUT_MS as D, DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE as E, REGISTER_RESPONSE_TIMEOUT_MS as F, agentExecutionSteerRequestSchema as H, RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS as I, RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS as L, MAX_RECONNECT_DELAY_MS as M, PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS as N, DAEMON_STREAM_KEEPALIVE_INTERVAL_MS as O, PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS as P, RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS as R, CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS as S, DAEMON_RUNTIME_CONTRACT_META_FILE as T, agentExecutionSteerResponseSchema as U, daemonRouteCatalogCacheSchema as V, toErrorMessage as _, asRecord as a, CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS as b, normalizeHeartbeatIntervalMs as c, normalizeText as d, nowIsoString as f, parseTransportMode as g, parseStreamingMode as h, resolvePreferredDaemonDeviceId as i, HEARTBEAT_RESPONSE_TIMEOUT_MS as j, DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS as k, normalizeNonNegativeInteger as l, parseRuntimeTransportMode as m, ensureDaemonRuntimePaths as n, dirnamePath as o, parseContextIdMappingSpec as p, resolveDaemonDeviceId as r, emitRunLine as s, buildLedgerPaths as t, normalizeOptionalText as u, warnDaemonEvent as v, DAEMON_RUNTIME_CONTRACT_EPOCH as w, CONTROLLED_SHUTDOWN_REQUEST_TIMEOUT_MS as x, CATALOG_SYNC_RETRY_INTERVAL_MS as y, DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME as z };
283
+
284
+ //# sourceMappingURL=daemon-device-id-DwMFWGI5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"daemon-device-id-DwMFWGI5.js","names":["STRATEGY_CATALOG_SYNC_RETRY_INTERVAL_MS","STRATEGY_CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS","STRATEGY_DAEMON_RUNTIME_CONTRACT_EPOCH","STRATEGY_DAEMON_STREAM_CONNECT_TIMEOUT_MS","STRATEGY_DAEMON_STREAM_KEEPALIVE_INTERVAL_MS","STRATEGY_DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS","STRATEGY_DEFAULT_HEARTBEAT_INTERVAL_MS","STRATEGY_HEARTBEAT_RESPONSE_TIMEOUT_MS","STRATEGY_MAX_HEARTBEAT_INTERVAL_MS","STRATEGY_MIN_HEARTBEAT_INTERVAL_MS","STRATEGY_PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS","STRATEGY_PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS","STRATEGY_REGISTER_RESPONSE_TIMEOUT_MS","STRATEGY_RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS","STRATEGY_RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS","STRATEGY_RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS","sharedToErrorMessage"],"sources":["../../../packages/schemas/dist/schemas/runtime/agent-execution-steer.js","../../../packages/schemas/dist/schemas/daemon/route-catalog-cache.js","../src/local-service/core/constants.ts","../src/local-service/core/logger.ts","../src/local-service/state/daemon-device-id.ts"],"sourcesContent":["import * as z$1 from \"zod/v4\";\n//#region src/schemas/runtime/agent-execution-steer.ts\n/** The caller must resolve and authorize the exact live execution's task. */\nconst agentExecutionSteerRequestSchema = z$1.strictObject({\n\ttaskId: z$1.string().min(1),\n\tinputId: z$1.string().min(1),\n\ttext: z$1.string().trim().min(1).max(1e5)\n});\nconst agentExecutionSteerResponseSchema = z$1.discriminatedUnion(\"status\", [\n\tz$1.strictObject({\n\t\tstatus: z$1.literal(\"applied\"),\n\t\ttaskId: z$1.string().min(1),\n\t\tthreadId: z$1.string().min(1),\n\t\tturnId: z$1.string().min(1)\n\t}),\n\tz$1.strictObject({\n\t\tstatus: z$1.literal(\"not_applied\"),\n\t\ttaskId: z$1.string().min(1),\n\t\treasonCode: z$1.enum([\n\t\t\t\"execution_input.target_unavailable\",\n\t\t\t\"execution_input.unsupported\",\n\t\t\t\"execution_input.rejected\"\n\t\t])\n\t}),\n\tz$1.strictObject({\n\t\tstatus: z$1.literal(\"unconfirmed\"),\n\t\ttaskId: z$1.string().min(1),\n\t\treasonCode: z$1.literal(\"execution_input.application_unconfirmed\"),\n\t\tdiagnosticCode: z$1.string().min(1).max(160),\n\t\tnativeErrorCode: z$1.number().int().optional()\n\t})\n]);\n//#endregion\nexport { agentExecutionSteerRequestSchema, agentExecutionSteerResponseSchema };\n\n//# sourceMappingURL=agent-execution-steer.js.map","import { agentProfileIdSchema } from \"../protocol/profile.js\";\nimport { daemonServiceLaneSchema } from \"./service-contract.js\";\nimport { conversationPolicySchema } from \"./conversation-contract.js\";\nimport { runtimeAgentControllerConversationIdMappingSpecSchema, runtimeAgentControllerLaunchContractSchema, runtimeStreamingModeSchema, runtimeTransportModeSchema } from \"./controller-contract.js\";\nimport { skippedDaemonProfileSchema } from \"./control-plane.js\";\nimport { CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH } from \"./runtime-transport.js\";\nimport { agentControllerCollaborationModeSchema } from \"../agent-controller-collaboration-mode.js\";\nimport { agentControllerPermissionModeSchema } from \"../agent-controller-permission-mode.js\";\nimport { openCodePermissionConfigSchema } from \"../open-code-permission.js\";\nimport * as z$1 from \"zod/v4\";\n//#region src/schemas/daemon/route-catalog-cache.ts\nconst DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_VERSION = 4;\nconst DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME = \"openmeld-daemon-route-catalog-cache-v4\";\nconst cachedDaemonRouteConfigSchema = z$1.strictObject({\n\tagentControllerRef: z$1.string().trim().min(1),\n\tbindingId: z$1.string().trim().min(1).optional(),\n\tagentControllerCollaborationMode: agentControllerCollaborationModeSchema.optional(),\n\tagentControllerPermissionMode: agentControllerPermissionModeSchema.optional(),\n\tconfigurationRevision: z$1.number().int().positive().optional(),\n\tcontextIdMappingSpec: runtimeAgentControllerConversationIdMappingSpecSchema,\n\tconversationPolicy: conversationPolicySchema.optional(),\n\topenCodePermission: openCodePermissionConfigSchema.optional(),\n\tlaunchContract: runtimeAgentControllerLaunchContractSchema.nullable().optional(),\n\tprofileId: agentProfileIdSchema,\n\tstreamingMode: runtimeStreamingModeSchema,\n\ttransportMode: runtimeTransportModeSchema,\n\topenMeldServiceRuntimeId: z$1.string().trim().min(1).optional()\n});\nconst daemonRouteCatalogCacheBodySchema = z$1.strictObject({\n\tcachedAt: z$1.iso.datetime({ offset: true }),\n\truntimeContractEpoch: z$1.literal(CURRENT_DAEMON_EXECUTION_CONTRACT_EPOCH),\n\townerUserId: z$1.string().trim().min(1),\n\tlane: daemonServiceLaneSchema,\n\tserviceBundleId: z$1.string().trim().min(1),\n\tprofileIds: z$1.array(agentProfileIdSchema),\n\troutes: z$1.array(cachedDaemonRouteConfigSchema),\n\tskippedProfiles: z$1.array(skippedDaemonProfileSchema)\n});\nconst daemonRouteCatalogCacheSchema = z$1.discriminatedUnion(\"v\", [\n\tdaemonRouteCatalogCacheBodySchema.extend({\n\t\tv: z$1.literal(2),\n\t\tschema: z$1.literal(\"openmeld-daemon-route-catalog-cache-v2\")\n\t}),\n\tdaemonRouteCatalogCacheBodySchema.extend({\n\t\tv: z$1.literal(3),\n\t\tschema: z$1.literal(\"openmeld-daemon-route-catalog-cache-v3\")\n\t}),\n\tdaemonRouteCatalogCacheBodySchema.extend({\n\t\tv: z$1.literal(4),\n\t\tschema: z$1.literal(DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME)\n\t})\n]).superRefine((value, ctx) => {\n\tconst routeIds = new Set(value.routes.map((route) => route.profileId));\n\tfor (const profileId of value.profileIds) if (!routeIds.has(profileId)) ctx.addIssue({\n\t\tcode: \"custom\",\n\t\tmessage: \"route catalog cache profileIds must match routes\",\n\t\tpath: [\"profileIds\"]\n\t});\n});\n//#endregion\nexport { DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_NAME, DAEMON_ROUTE_CATALOG_CACHE_SCHEMA_VERSION, cachedDaemonRouteConfigSchema, daemonRouteCatalogCacheSchema };\n\n//# sourceMappingURL=route-catalog-cache.js.map","import {\n CATALOG_SYNC_INTERVAL_MULTIPLIER as STRATEGY_CATALOG_SYNC_INTERVAL_MULTIPLIER,\n CATALOG_SYNC_RETRY_INTERVAL_MS as STRATEGY_CATALOG_SYNC_RETRY_INTERVAL_MS,\n CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS as STRATEGY_CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS,\n DAEMON_RUNTIME_CONTRACT_EPOCH as STRATEGY_DAEMON_RUNTIME_CONTRACT_EPOCH,\n DAEMON_STREAM_CONNECT_TIMEOUT_MS as STRATEGY_DAEMON_STREAM_CONNECT_TIMEOUT_MS,\n DAEMON_STREAM_KEEPALIVE_INTERVAL_MS as STRATEGY_DAEMON_STREAM_KEEPALIVE_INTERVAL_MS,\n DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS as STRATEGY_DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS,\n DEFAULT_HEARTBEAT_INTERVAL_MS as STRATEGY_DEFAULT_HEARTBEAT_INTERVAL_MS,\n HEARTBEAT_RESPONSE_TIMEOUT_MS as STRATEGY_HEARTBEAT_RESPONSE_TIMEOUT_MS,\n MAX_CATALOG_SYNC_INTERVAL_MS as STRATEGY_MAX_CATALOG_SYNC_INTERVAL_MS,\n MAX_HEARTBEAT_INTERVAL_MS as STRATEGY_MAX_HEARTBEAT_INTERVAL_MS,\n MIN_CATALOG_SYNC_INTERVAL_MS as STRATEGY_MIN_CATALOG_SYNC_INTERVAL_MS,\n MIN_HEARTBEAT_INTERVAL_MS as STRATEGY_MIN_HEARTBEAT_INTERVAL_MS,\n PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS as STRATEGY_PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS,\n PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS as STRATEGY_PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS,\n REGISTER_RESPONSE_TIMEOUT_MS as STRATEGY_REGISTER_RESPONSE_TIMEOUT_MS,\n RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS as STRATEGY_RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS,\n RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS as STRATEGY_RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS,\n RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS as STRATEGY_RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS,\n} from \"../../strategy-constants\";\n\nexport const ADAPTIVE_HEARTBEAT_GROWTH_FACTOR = 1.35;\nexport const ADAPTIVE_HEARTBEAT_JITTER_RATIO = 0.1;\nexport const CATALOG_SYNC_INTERVAL_MULTIPLIER =\n STRATEGY_CATALOG_SYNC_INTERVAL_MULTIPLIER;\nexport const CATALOG_SYNC_RETRY_INTERVAL_MS =\n STRATEGY_CATALOG_SYNC_RETRY_INTERVAL_MS;\nexport const CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS =\n STRATEGY_CATALOG_SYNC_SIGNAL_POLL_INTERVAL_MS;\nexport const DAEMON_RUNTIME_CONTRACT_EPOCH =\n STRATEGY_DAEMON_RUNTIME_CONTRACT_EPOCH;\nexport const DAEMON_STREAM_CONNECT_TIMEOUT_MS =\n STRATEGY_DAEMON_STREAM_CONNECT_TIMEOUT_MS;\nexport const DAEMON_STREAM_KEEPALIVE_INTERVAL_MS =\n STRATEGY_DAEMON_STREAM_KEEPALIVE_INTERVAL_MS;\nexport const DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS =\n STRATEGY_DAEMON_STREAM_KEEPALIVE_PONG_TIMEOUT_MS;\nexport const DEFAULT_HEARTBEAT_INTERVAL_MS =\n STRATEGY_DEFAULT_HEARTBEAT_INTERVAL_MS;\nexport const HEARTBEAT_RESPONSE_TIMEOUT_MS =\n STRATEGY_HEARTBEAT_RESPONSE_TIMEOUT_MS;\nexport const MAX_CATALOG_SYNC_INTERVAL_MS =\n STRATEGY_MAX_CATALOG_SYNC_INTERVAL_MS;\nexport const MAX_HEARTBEAT_INTERVAL_MS = STRATEGY_MAX_HEARTBEAT_INTERVAL_MS;\nexport const MIN_CATALOG_SYNC_INTERVAL_MS =\n STRATEGY_MIN_CATALOG_SYNC_INTERVAL_MS;\nexport const MIN_HEARTBEAT_INTERVAL_MS = STRATEGY_MIN_HEARTBEAT_INTERVAL_MS;\nexport const PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS =\n STRATEGY_PROVIDER_CONVERSATION_PROOF_SYNC_INTERVAL_MS;\nexport const PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS =\n STRATEGY_PROVIDER_CONVERSATION_PROOF_SYNC_RETRY_INTERVAL_MS;\nexport const REGISTER_RESPONSE_TIMEOUT_MS =\n STRATEGY_REGISTER_RESPONSE_TIMEOUT_MS;\nexport const RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS =\n STRATEGY_RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_INTERVAL_MS;\nexport const RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS =\n STRATEGY_RUNTIME_AGENT_CONTROLLER_REPORT_SYNC_RETRY_INTERVAL_MS;\nexport const RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS =\n STRATEGY_RUNTIME_STATE_PERSIST_MIN_INTERVAL_MS;\nexport const DEFAULT_RECONNECT_DELAY_MS = 1000;\nexport const MAX_RECONNECT_DELAY_MS = 10_000;\nexport const HEARTBEAT_CONSECUTIVE_FAILURES_BEFORE_CLOSE = 3;\nexport const CONTROLLED_SHUTDOWN_RESULT_ACK_TIMEOUT_MS = 5000;\nexport const CONTROLLED_SHUTDOWN_SOCKET_CLOSE_TIMEOUT_MS = 5000;\nexport const CONTROLLED_SHUTDOWN_REQUEST_TIMEOUT_MS = 15_000;\nexport const DAEMON_DEVICE_ID_FILE = \"daemon-device-id.txt\";\nexport const CONTEXT_STORE_FILE = \"daemon-context-map.json\";\nexport const LEDGER_DIR_NAME = \"openMeldDaemon-ledger\";\nexport const DAEMON_RUNTIME_CONTRACT_META_FILE = \"runtime-contract-meta.json\";\nexport const DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE =\n \"runtime-contract-repair-report.json\";\nexport const OPENMELD_CLI_NPX_COMMAND = \"npx -y openmeld@latest\";\nexport const SPACE_HISTORY_BOOTSTRAP_LIMIT = 200;\nexport const BOOTSTRAP_INJECTION_KEY_SEPARATOR = \"::\";\n","import { runtimeTransportModeSchema } from \"@openmeld/schemas\";\nimport type { RuntimeTransportMode } from \"@openmeld/schemas/types\";\nimport {\n sleep as sharedSleep,\n toErrorMessage as sharedToErrorMessage,\n} from \"@openmeld/utils\";\n\nimport type {\n RuntimeAgentControllerConversationIdMappingSpec,\n RuntimeAgentStreamingMode,\n RuntimeAgentTransportMode,\n} from \"../../config/runtime-config\";\nimport type { Presenter } from \"../../runtime/presenter/types\";\nimport {\n DEFAULT_HEARTBEAT_INTERVAL_MS,\n MAX_HEARTBEAT_INTERVAL_MS,\n MIN_HEARTBEAT_INTERVAL_MS,\n} from \"./constants\";\n\nexport function emitRunLine(input: {\n code: string;\n payload?: unknown;\n presenter: Presenter;\n text: string;\n}): void {\n if (input.presenter.view === \"agent\") {\n input.presenter.data({\n code: input.code,\n payload: {\n message: input.text,\n ...(input.payload === undefined ? {} : { payload: input.payload }),\n },\n });\n return;\n }\n input.presenter.line({\n code: input.code,\n text: input.text,\n });\n}\n\nexport function clampInteger(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, Math.trunc(value)));\n}\n\nexport function normalizeHeartbeatIntervalMs(\n value: number | undefined\n): number {\n if (typeof value !== \"number\" || !Number.isFinite(value)) {\n return DEFAULT_HEARTBEAT_INTERVAL_MS;\n }\n return clampInteger(\n value,\n MIN_HEARTBEAT_INTERVAL_MS,\n MAX_HEARTBEAT_INTERVAL_MS\n );\n}\n\nexport function parseTransportMode(\n value: unknown\n): RuntimeAgentTransportMode | null {\n const parsed = runtimeTransportModeSchema.safeParse(value);\n return parsed.success ? parsed.data : null;\n}\n\nexport function parseStreamingMode(\n value: unknown\n): RuntimeAgentStreamingMode | null {\n if (value === \"final\" || value === \"stream\") {\n return value;\n }\n return null;\n}\n\nexport function parseRuntimeTransportMode(\n value: unknown\n): RuntimeTransportMode | null {\n return parseTransportMode(value);\n}\n\nexport function parseDispatchSourceProfileKind(\n value: unknown\n): \"agent\" | \"human\" | \"system\" | null {\n const normalized = normalizeText(value).toLowerCase();\n if (\n normalized === \"agent\" ||\n normalized === \"human\" ||\n normalized === \"system\"\n ) {\n return normalized;\n }\n return null;\n}\n\nexport function parseContextIdMappingSpec(\n value: unknown\n): RuntimeAgentControllerConversationIdMappingSpec | null {\n const record = asRecord(value);\n if (!record) {\n return null;\n }\n const sourceField = normalizeOptionalText(record.sourceField);\n const mappingVersion = normalizePositiveInteger(record.mappingVersion);\n if (!(sourceField && mappingVersion)) {\n return null;\n }\n return {\n sourceField,\n mappingVersion,\n };\n}\n\nexport function parsePositiveInteger(value: unknown): number | null {\n if (!(typeof value === \"number\" && Number.isInteger(value) && value > 0)) {\n return null;\n }\n return value;\n}\n\nexport function normalizeNonNegativeInteger(value: unknown): number | null {\n if (!(typeof value === \"number\" && Number.isInteger(value) && value >= 0)) {\n return null;\n }\n return value;\n}\n\nexport function normalizePositiveInteger(value: unknown): number | null {\n return parsePositiveInteger(value);\n}\n\nexport function asRecord(value: unknown): Record<string, unknown> | null {\n if (!value || typeof value !== \"object\" || Array.isArray(value)) {\n return null;\n }\n return value as Record<string, unknown>;\n}\n\nexport function normalizeText(value: unknown): string {\n return String(value ?? \"\").trim();\n}\n\nexport function normalizeOptionalText(value: unknown): string | null {\n const normalized = normalizeText(value);\n return normalized.length > 0 ? normalized : null;\n}\n\nexport function nowIsoString(): string {\n return new Date().toISOString();\n}\n\ntype DaemonLogField =\n | string\n | number\n | boolean\n | null\n | readonly (string | number | boolean | null)[];\n\nexport function warnDaemonEvent(\n eventName: string,\n fields: Record<string, DaemonLogField | undefined>\n): void {\n const definedFields = Object.fromEntries(\n Object.entries(fields).filter((entry) => entry[1] !== undefined)\n );\n console.warn(\n `${nowIsoString()} ${eventName} ${JSON.stringify(definedFields)}`\n );\n}\n\nexport const toErrorMessage: (error: unknown) => string = sharedToErrorMessage;\n\nexport const sleep: (delayMs: number) => Promise<void> = sharedSleep;\n\nexport function dirnamePath(path: string): string {\n const lastSlash = Math.max(path.lastIndexOf(\"/\"), path.lastIndexOf(\"\\\\\"));\n if (lastSlash <= 0) {\n return \".\";\n }\n return path.slice(0, lastSlash);\n}\n","import { randomUUID } from \"node:crypto\";\nimport { mkdir, readFile, writeFile } from \"node:fs/promises\";\nimport { join } from \"node:path\";\nimport { daemonRuntimeRootPath } from \"../../config/daemon-state\";\nimport { systemDir } from \"../../config/paths\";\nimport {\n CONTEXT_STORE_FILE,\n DAEMON_DEVICE_ID_FILE,\n DAEMON_RUNTIME_CONTRACT_META_FILE,\n DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE,\n LEDGER_DIR_NAME,\n} from \"../core/constants\";\nimport { dirnamePath, normalizeOptionalText } from \"../core/logger\";\nimport type { DaemonRuntimePaths, LedgerPaths } from \"../core/types\";\n\nexport function resolvePreferredDaemonDeviceId(input: {\n explicitDeviceId?: string;\n contractDeviceId?: string | null;\n}): string | undefined {\n return (\n normalizeOptionalText(input.explicitDeviceId) ??\n normalizeOptionalText(input.contractDeviceId) ??\n undefined\n );\n}\n\nexport async function resolveDaemonDeviceId(input: {\n deviceId?: string;\n deviceIdPath: string;\n shouldDiscardPersistedDeviceId?: (deviceId: string) => boolean;\n}): Promise<string> {\n const explicit = normalizeOptionalText(input.deviceId);\n if (explicit) {\n await persistDaemonDeviceIdIfNeeded({\n deviceId: explicit,\n deviceIdPath: input.deviceIdPath,\n });\n return explicit;\n }\n\n const persisted = normalizeOptionalText(\n await readFile(input.deviceIdPath, \"utf8\").catch(() => \"\")\n );\n if (\n persisted &&\n !(input.shouldDiscardPersistedDeviceId?.(persisted) ?? false)\n ) {\n return persisted;\n }\n\n const generated = randomUUID();\n await writeDaemonDeviceId({\n deviceId: generated,\n deviceIdPath: input.deviceIdPath,\n });\n return generated;\n}\n\nexport async function ensureDaemonRuntimePaths(): Promise<DaemonRuntimePaths> {\n const dataRootPath = join(daemonRuntimeRootPath(), \"data\");\n const contextStorePath = join(dataRootPath, CONTEXT_STORE_FILE);\n const deviceIdPath = daemonDeviceIdPath();\n const legacyDeviceIdPath = join(dataRootPath, DAEMON_DEVICE_ID_FILE);\n const ledgerRootPath = join(dataRootPath, LEDGER_DIR_NAME);\n await mkdir(dataRootPath, {\n recursive: true,\n });\n await mkdir(ledgerRootPath, {\n recursive: true,\n });\n await mkdir(dirnamePath(deviceIdPath), { recursive: true });\n await migrateLegacyDaemonDeviceId({ deviceIdPath, legacyDeviceIdPath });\n return {\n contractMetaPath: join(dataRootPath, DAEMON_RUNTIME_CONTRACT_META_FILE),\n contractRepairReportPath: join(\n dataRootPath,\n DAEMON_RUNTIME_CONTRACT_REPAIR_REPORT_FILE\n ),\n contextStorePath,\n dataRootPath,\n deviceIdPath,\n ledgerRootPath,\n };\n}\n\nexport function daemonDeviceIdPath(): string {\n return join(systemDir(), DAEMON_DEVICE_ID_FILE);\n}\n\nexport function buildLedgerPaths(ledgerRootPath: string): LedgerPaths {\n return {\n backupStateFilePath: join(ledgerRootPath, \"state.backup.json\"),\n historyFilePath: join(ledgerRootPath, \"history.ndjson\"),\n historyTempFilePath: join(ledgerRootPath, \"history.tmp\"),\n rootDirPath: ledgerRootPath,\n stateFilePath: join(ledgerRootPath, \"state.json\"),\n stateTempFilePath: join(ledgerRootPath, \"state.tmp\"),\n };\n}\n\nasync function persistDaemonDeviceIdIfNeeded(input: {\n deviceId: string;\n deviceIdPath: string;\n}): Promise<void> {\n const persisted = normalizeOptionalText(\n await readFile(input.deviceIdPath, \"utf8\").catch(() => \"\")\n );\n if (persisted === input.deviceId) {\n return;\n }\n await writeDaemonDeviceId(input);\n}\n\nasync function writeDaemonDeviceId(input: {\n deviceId: string;\n deviceIdPath: string;\n}): Promise<void> {\n await mkdir(dirnamePath(input.deviceIdPath), { recursive: true });\n await writeFile(input.deviceIdPath, `${input.deviceId}\\n`, \"utf8\");\n}\n\nasync function migrateLegacyDaemonDeviceId(input: {\n deviceIdPath: string;\n legacyDeviceIdPath: string;\n}): Promise<void> {\n const current = normalizeOptionalText(\n await readFile(input.deviceIdPath, \"utf8\").catch(() => \"\")\n );\n if (current) {\n return;\n }\n const legacy = normalizeOptionalText(\n await readFile(input.legacyDeviceIdPath, \"utf8\").catch(() => \"\")\n );\n if (!legacy) {\n return;\n }\n await writeDaemonDeviceId({\n deviceId: legacy,\n deviceIdPath: input.deviceIdPath,\n });\n}\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { D as openMeldRootDir, P as resolveOpenMeldEnvPreset } from "./paths-De9xdA2h.js";
4
- import { s as openMeldDaemonControlPlaneResponseSchema } from "./control-plane-QqGL-jtT.js";
4
+ import { s as openMeldDaemonControlPlaneResponseSchema } from "./control-plane-TOfZ-veG.js";
5
5
  import { i as cliBinaryManifestSchema, o as resolveCliBinaryPlatform } from "./cli-binary-manifest-ETxqCzfS.js";
6
6
  import { v as resolveCliContextId } from "./lock-BMI00i2F.js";
7
7
  import { t as isBinaryDistribution } from "./distribution-BDQT2ilb.js";
@@ -180,7 +180,7 @@ async function writeControlPlaneRequest(input) {
180
180
  var package_default = {
181
181
  $schema: "https://www.schemastore.org/package.json",
182
182
  name: "openmeld",
183
- version: "0.3.242",
183
+ version: "0.3.244",
184
184
  openMeldReleaseDate: "2026-10-05",
185
185
  description: "OpenMeld CLI - https://openmeld.ai",
186
186
  license: "MIT",
@@ -808,4 +808,4 @@ function formatDaemonLifecycleIntent(intent) {
808
808
  //#endregion
809
809
  export { requestLocalSyncRouteCatalog as C, requestLocalDaemonShutdown as S, writeVersionState as _, readRecentDaemonLifecycleEvents as a, requestLocalAgentActivitySync as b, runWithDaemonLifecycleCommandJournal as c, compareSemver as d, ensureVersionStateReady as f, readVersionState as g, isPlainReleaseVersion as h, readLatestDaemonLifecycleOriginEvent as i, OPENMELD_VERSION as l, fetchLatestPackageInfo as m, formatDaemonLifecycleOriginSummary as n, resolveRecentDaemonSignalStopCause as o, fetchLatestCliBinaryRelease as p, readLatestDaemonLifecycleConnectionStateEvent as r, runDaemonServiceManagerAction as s, emitDaemonLifecycleEvent as t, buildNextVersionState as u, package_default as v, sendLocalDaemonControlPlaneRequest as w, requestLocalDaemonServiceUpdateReadiness as x, LocalDaemonControlPlaneClientError as y };
810
810
 
811
- //# sourceMappingURL=daemon-lifecycle-journal-eiHCp4B7.js.map
811
+ //# sourceMappingURL=daemon-lifecycle-journal-NJaimyPD.js.map