@githolon/runtime 0.112.5 → 0.112.7

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.
@@ -13,6 +13,7 @@
13
13
  0a687d73d1754114045dd64ab0125af437945ed11b1302753b1c3c46793a014b peer-office/src/runtime/replica_follow_lane.ts
14
14
  0b2994ee1fee5c72c7f27881aea421bdb1757b0c8c4042f155c433015b0b2455 node_modules/@bufbuild/protobuf/dist/esm/codegenv2/scalar.js
15
15
  0b5eee51991554d54865ea30f65f8803c8dfe73116cd815676f927021329259a peer-office/src/runtime/credential_vault.ts
16
+ 0cc6630541d404051f01d8b7aabebbc401a42c9ff2f52423eabb7873cc51ce3d peer-office/package/package.json
16
17
  0db0f42ba330749a7b05095ea1fd0ff63fd2b30e84cead30fe4c28359d15f194 node_modules/@bjorn3/browser_wasi_shim/dist/wasi_defs.js
17
18
  0eac20a9904c6ff7bda3196091da52097601091fcfc207b7fa1840faa2a3fcf4 adapter/proto/nomos/runtime/v2/recovery_desk_pb.js
18
19
  0f7629542b339f8fb043e2feddeee8db2e327dec91235d75e44bd58840e4a9b3 adapter/proto/nomos/runtime/v2/credentials_desk_pb.js
@@ -50,6 +51,7 @@
50
51
  24f5eb575e633b68771328cc12fa6fde751ecc5f2700a6f52ea325938dc94342 node_modules/is-unsafe/src/index.js
51
52
  25c033d29ed62a510d8c43054ec238776bcba0949808cb6054df5cbea951ddf7 adapter/proto/nomos/runtime/v2/interaction_desk_pb.js
52
53
  25d57b7e880708c04738087de674a8c98092e5bfd39d5193cdb63a2f1e33871e node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/compiler/plugin_pb.js
54
+ 27cd18d5bc8e1fa9ccc4d7e1322b2ca864023e8c268304b4f795a8ad9a222fd8 adapter/amortized_memory_file.ts
53
55
  27d164987aeae0cffae136eaa84ff39ca6efd9c07018dce4b63f0d352d3d855b adapter/proto/nomos/runtime/v2/maintenance_desk_pb.js
54
56
  27d996c3e9e0e5b3c45612da4588dd10cf1c7a0d3285e652c705c07e238a2b48 platform-shells/browser/custody_store.ts
55
57
  286c659a8f940c313077afe8a00c0dc128d4a138edf6d9a4519f29538b58c94f node_modules/fast-xml-parser/src/xmlparser/XMLParser.js
@@ -105,7 +107,6 @@
105
107
  589afd70975c49b5d8856a85ffb597b1412f04b35b6234c324564d8640fcae15 node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/type_pb.js
106
108
  59ceb09d3fd2402e81ed7e5992245f2b398c7ceeb80141138f4eab5da0244586 node_modules/is-unsafe/src/contexts/redos.js
107
109
  59dd7fdcd3eac52054ff1edd4667fbadb66c851a66f60ec528f9db6421a0eed9 node_modules/@bufbuild/protobuf/dist/esm/codegenv2/restore-json-names.js
108
- 5ac35f182ca8cdf2e187276f9c961a20799d7a2d64f3de3f5217d12ed3420890 peer-office/package/package.json
109
110
  5c47d871d691707bfa347b2c9199b433e277332ba4c523a4eb802d8c5cded105 peer-office/src/runtime/office_seat.ts
110
111
  5ce7673a392e7c11100428b040d6c9a08242021e33f859b2ad670edef31d80de node_modules/@bufbuild/protobuf/dist/esm/from-binary.js
111
112
  5cf55a0f51490590bf56e1ff2d6dd11002f8a8b43b0bc661d2cc15a6c6e0e981 adapter/git-fs.ts
@@ -120,6 +121,7 @@
120
121
  666242642051bff6e5bff6d2697b774fe518b78461bde4e0bdb497592cd56d95 peer-office/package/src/nominal_value.ts
121
122
  66e4fbb5e9f25130144ebc2a40f40d68d4027098a344448dc00661a8cf436234 peer-office/src/runtime/background_lanes.ts
122
123
  692c6542af574ad4ec2882ae9591db3be7635e7721b43af13158a5397f537ebb adapter/git_placement_custody.ts
124
+ 6b3d69203397fa63fa4d5d38a216de18193e128ee4843630531ef1e6232b3448 adapter/memory_custody_filesystem.ts
123
125
  6cfa5fe6f17219f03e2650dec635934cff6601dbee72f188bbd2874a9d1d4523 platform-shells/shared/credential_effects.ts
124
126
  6eb1b52bfa2c7eb3e36b6817973defd7be18dbc7ce4b56ca576b1222dd5df4d7 node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js
125
127
  6ec9654705968f0c75cb0b184d4bb6629a932c05e3d27d603eb42a3cb9447f6f node_modules/@bufbuild/protobuf/dist/esm/reflect/error.js
@@ -127,6 +129,7 @@
127
129
  71de64c0b205eed7bcbbe11bd937a363c83cb5ab8e9977c4bb4b73b3c5353cf3 peer-office/src/runtime/placement_discovery_desk.ts
128
130
  71edee071faa5f0ebbeda63fa23e009983da9e413db2340feb6287d95f497dcd node_modules/@bufbuild/protobuf/dist/esm/wire/varint.js
129
131
  720eb959038ea5a41d7ce358d5fb1f575199db3f4f90267bdaf0314440290546 platform-shells/node/sqlite_peer_desk_store.ts
132
+ 722cbe0b307c0e525ea25709dd7d6b307ec3413ab6887b2cc3a573995fd003e1 platform-shells/browser/kernel_work.ts
130
133
  7287f23bb63a7f10dbacc04c773050dcc279299948a70cec5a9a3a040be2a933 platform-shells/node/kernel_wasi_stdio.ts
131
134
  72f4dbde9d104ea96276198f8fab8b32e1a296d7ae57b74f8f175472627c2546 peer-office/src/runtime/custody_return_delta.ts
132
135
  73e489001027c703bc0224ae73f78ecefe028e88284bd06952e8603c3d81472c node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/api_pb.js
@@ -178,13 +181,13 @@
178
181
  98f70a85fe9d2578c977bbf26927910479cef472100b5ed7bebd4c390e79213c peer-office/src/runtime/workspace_access_desk.ts
179
182
  99ce0b71dc7acc73e48634ff609eeb3620cf24b524e89835e804d37fb6b51b2c adapter/offer_transport_contract.ts
180
183
  9a3d4c2296b0139778c8f61319349eac6dc0cdb723688f41ebf3c135dca85702 peer-office/src/runtime/history_acquisition_state.ts
184
+ 9b07729add8df9f24781f3135c821781e943780ef3374b16a884850949a6890a platform-shells/browser/peer.ts
181
185
  9b1e46d587a9ad5d1531a5755ba4feccd2878de77749edce8a0086db3eb2217d peer-office/src/runtime/admission_durability_desk.ts
182
186
  9c4c967ea6c149011acb8aabfbadb73651f84d572335c48391d627e5283c0cd0 node_modules/@bufbuild/protobuf/dist/esm/fields.js
183
187
  9e1bf39540fd14df32aa2307c44dd4d93a40a6024199f334ccf3db001f44a7f6 peer-office/src/runtime/local_copy_readability.ts
184
188
  9e82e1fc1bfd3e3573f64349dc42b4b624ed61d24e5c553f2bb4d041444f166c node_modules/@bjorn3/browser_wasi_shim/dist/fd.js
185
189
  9efa0e5824cc0370ea3596b30cd57ea860df0bae95a0caccbbfe97d845a7a09b peer-office/src/runtime/custody_offer.ts
186
190
  9f7a3b2bb0e2a2da849fd9101228bd9c9682b39d667e20900dd172d954b1a548 peer-office/src/runtime/observability_desk.ts
187
- 9fa129d6ec52dea4f992be9bc3786fca75fdf733903f489ca8b954eadbd90078 platform-shells/browser/entry.ts
188
191
  a0eca2694871be026546039e99a71291822d01ba81943d44e69a14b2d766fd1a peer-office/src/runtime/custody_desk.ts
189
192
  a0fcc6110f1154fd197a8ce056e2008dbc7d1750f8dd3ba77c3910af928ed3a1 node_modules/uri-js/dist/es5/uri.all.js
190
193
  a33120feed1faf765328722cee117f63e2147cb87052120fdacc9bd1086e67ab peer-office/src/runtime/receiving_group_framework_wire.generated.ts
@@ -193,6 +196,7 @@ a51ad595569ec83af14644004083aad7f5086703dd46d609e8b006e36bac0f55 peer-office/sr
193
196
  a5540af900952b2ea7fde1fa967d624d427bcec5f3d1d89f3e78453a8624c650 peer-office/src/runtime/identity_witness_cache.ts
194
197
  a56cf2bf8174e0adf94970d70e003afcfc3923a53d0cf973f92d374cfe684544 node_modules/@nodable/entities/src/EntityDecoder.js
195
198
  a6250aa83ce7f238614fb7421f31e541c63c415a295e3764687693464918f3c4 node_modules/path-expression-matcher/src/ExpressionSet.js
199
+ a7273df68b1a53d1efbc3919f0224119fcec335774a99f38e952dc8354ec375d platform-shells/browser/entry.ts
196
200
  a79a133a4f4ae9559b127aca26b20b0b40af3b6a2cc17d75bedbd413d78276af peer-office/src/runtime/receiving_group_desk.ts
197
201
  a91848ee180529e2a60c05dfb9584cad19cd4e1c6f391fdb76a938bcae4c0328 node_modules/@bjorn3/browser_wasi_shim/dist/debug.js
198
202
  a98127162afc0a5038171882b19d62f1c035cc8706f2463fda52fdf73c8c21bc peer-office/src/runtime/live_correspondence_desk.ts
@@ -237,7 +241,6 @@ c41faf95c6c33b80349ff96f8127153672a6e6bf8bb9593f7aa67d2e2e642684 peer-office/sr
237
241
  c649d39c53ebe6817c71407de8105b6d8cbc2326867f90d59f49ab02d9271b44 node_modules/anynum/digitTable.js
238
242
  c6c85d892e445a8f84e9f628f2ac1ac6766103e90bb502ee9c101774831c4f0c peer-office/src/runtime/command_preparation_desk.ts
239
243
  c87f55e284241bdf08e06a54b09567c329e8cc24519dbd08f064d0230a19f8fd peer-office/src/runtime/correspondence_work_registry.ts
240
- c884aa80ac787299da2ec4ebd930c78372d82e227363980cc6a3baf08daf1889 platform-shells/browser/peer.ts
241
244
  caa925cb881f7586e9e01f09325f09ebdecf742debbfff21eb7c4c49ea09ef02 node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/java_features_pb.js
242
245
  cb095614d5f901cd00d46b930a23c64ebd909a77831aa666768fca47f3e7745f node_modules/@bufbuild/protobuf/dist/esm/reflect/scalar.js
243
246
  cce0e8a8876bd1d3305a666e70cd556fd1ae57560fbca9f4ff0577d91178a0b1 node_modules/fast-xml-parser/src/xmlparser/node2json.js
@@ -262,6 +265,7 @@ db05a3f19bc575c1ed771fc6882af337a49cde7bd469181f3acc772d1a76df3e node_modules/@
262
265
  db61a17ab4dbb3514b676cd93cc702fe62a6582d5ec292725f1ada20dfbc1f72 peer-office/src/runtime/custody_replacement.ts
263
266
  dd9f3f24fb154cfbfbde94e8f2647647c80c8ca050b98e981a407e760a4b9c1e node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/go_features_pb.js
264
267
  deaa25227d669aa3fbe99174275588dcc175de648ae6623fddf11d6ae69d7f67 platform-shells/node/local-development/peer_process.ts
268
+ dff6af323ca5f9c73dd06120879fcd5f561d22a8a7fd36d3317e564ae4e10e3b platform-shells/shared/kernel_work_accounting.ts
265
269
  e20a132033f105a29db1cfdb3d85bbadbb7206b9a7e3336bcb030a63d66b4ab2 node_modules/is-unsafe/src/contexts/nosql.js
266
270
  e2133d7e0f0ce5491a3e9bd560e9e47db2243a6a9f762be89c82e027d99d278e peer-office/src/runtime/credential_sessions.ts
267
271
  e34016b82b6f6e4c4a1cc2dd44ccd14a348e8156a1f6c5aeeb2c7fc36a15b8f9 adapter/proto/nomos/kernel/v1/kernel_pb.js
@@ -276,7 +280,6 @@ ece435d3784d928d02bff4d015b7cb686f8c06de8536ff9f8ebc38a8f403a3be node_modules/@
276
280
  eda289d9ef0e979fe77a578ffbbf8012cadcfec4629b66cd98c27d6229a9f020 node_modules/@bufbuild/protobuf/dist/esm/is-message.js
277
281
  efce20f9f127263ca66d855115e01b37af0afb8b8baafeba7dcc2e0834e99e4f node_modules/@bufbuild/protobuf/dist/esm/wkt/gen/google/protobuf/struct_pb.js
278
282
  f23513db2fea432df6121956d9bab4761dabf8034b6eba8988452104dba1783e adapter/proto/nomos/runtime/v2/records_desk_pb.js
279
- f3b65d81bf72f0cf4f8c6c36af75915e9146db35d590f1e51ffcececd4233147 adapter/memory_custody_filesystem.ts
280
283
  f3b9324922e08cffcc4c7ae3c6e08454f62e187a37404df31a00160cddf34d77 node_modules/@bufbuild/protobuf/dist/esm/reflect/guard.js
281
284
  f4eb625c1c0ebee8e5863b6958706af4635ca58d1d2544ae2b465e75060ba12c peer-office/src/runtime/placement_desk.ts
282
285
  f50218256bfd061c59b454fbaf8ca304f1799b1d0d09b0f7851ba2420e1129ca adapter/kernel_failure.ts
@@ -16,6 +16,10 @@
16
16
  var __commonJS = (cb, mod) => function __require() {
17
17
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
18
18
  };
19
+ var __export = (target3, all) => {
20
+ for (var name in all)
21
+ __defProp(target3, name, { get: all[name], enumerable: true });
22
+ };
19
23
  var __copyProps = (to, from, except, desc) => {
20
24
  if (from && typeof from === "object" || typeof from === "function") {
21
25
  for (let key of __getOwnPropNames(from))
@@ -8108,6 +8112,10 @@
8108
8112
  var ResidencyPressureRelievedSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 2);
8109
8113
  var ResidentPlacementSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 6);
8110
8114
  var ResidentOutboxSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 7);
8115
+ var KernelWorkCounterSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 8);
8116
+ var KernelWorkCpuBucketSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 9);
8117
+ var ActiveKernelWorkSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 10);
8118
+ var KernelWorkSnapshotSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 11);
8111
8119
  var CorrespondenceHoldSchema = /* @__PURE__ */ messageDesc(file_nomos_runtime_v2_residency_desk, 18);
8112
8120
  var LocalHistoryPostureSchema = /* @__PURE__ */ enumDesc(file_nomos_runtime_v2_residency_desk, 1);
8113
8121
  var LocalHistoryPosture = /* @__PURE__ */ tsEnum(LocalHistoryPostureSchema);
@@ -8133,22 +8141,288 @@
8133
8141
  init_shims();
8134
8142
 
8135
8143
  // ../../node_modules/@bjorn3/browser_wasi_shim/dist/wasi_defs.js
8144
+ var wasi_defs_exports = {};
8145
+ __export(wasi_defs_exports, {
8146
+ ADVICE_DONTNEED: () => ADVICE_DONTNEED,
8147
+ ADVICE_NOREUSE: () => ADVICE_NOREUSE,
8148
+ ADVICE_NORMAL: () => ADVICE_NORMAL,
8149
+ ADVICE_RANDOM: () => ADVICE_RANDOM,
8150
+ ADVICE_SEQUENTIAL: () => ADVICE_SEQUENTIAL,
8151
+ ADVICE_WILLNEED: () => ADVICE_WILLNEED,
8152
+ CLOCKID_MONOTONIC: () => CLOCKID_MONOTONIC,
8153
+ CLOCKID_PROCESS_CPUTIME_ID: () => CLOCKID_PROCESS_CPUTIME_ID,
8154
+ CLOCKID_REALTIME: () => CLOCKID_REALTIME,
8155
+ CLOCKID_THREAD_CPUTIME_ID: () => CLOCKID_THREAD_CPUTIME_ID,
8156
+ Ciovec: () => Ciovec,
8157
+ Dirent: () => Dirent,
8158
+ ERRNO_2BIG: () => ERRNO_2BIG,
8159
+ ERRNO_ACCES: () => ERRNO_ACCES,
8160
+ ERRNO_ADDRINUSE: () => ERRNO_ADDRINUSE,
8161
+ ERRNO_ADDRNOTAVAIL: () => ERRNO_ADDRNOTAVAIL,
8162
+ ERRNO_AFNOSUPPORT: () => ERRNO_AFNOSUPPORT,
8163
+ ERRNO_AGAIN: () => ERRNO_AGAIN,
8164
+ ERRNO_ALREADY: () => ERRNO_ALREADY,
8165
+ ERRNO_BADF: () => ERRNO_BADF,
8166
+ ERRNO_BADMSG: () => ERRNO_BADMSG,
8167
+ ERRNO_BUSY: () => ERRNO_BUSY,
8168
+ ERRNO_CANCELED: () => ERRNO_CANCELED,
8169
+ ERRNO_CHILD: () => ERRNO_CHILD,
8170
+ ERRNO_CONNABORTED: () => ERRNO_CONNABORTED,
8171
+ ERRNO_CONNREFUSED: () => ERRNO_CONNREFUSED,
8172
+ ERRNO_CONNRESET: () => ERRNO_CONNRESET,
8173
+ ERRNO_DEADLK: () => ERRNO_DEADLK,
8174
+ ERRNO_DESTADDRREQ: () => ERRNO_DESTADDRREQ,
8175
+ ERRNO_DOM: () => ERRNO_DOM,
8176
+ ERRNO_DQUOT: () => ERRNO_DQUOT,
8177
+ ERRNO_EXIST: () => ERRNO_EXIST,
8178
+ ERRNO_FAULT: () => ERRNO_FAULT,
8179
+ ERRNO_FBIG: () => ERRNO_FBIG,
8180
+ ERRNO_HOSTUNREACH: () => ERRNO_HOSTUNREACH,
8181
+ ERRNO_IDRM: () => ERRNO_IDRM,
8182
+ ERRNO_ILSEQ: () => ERRNO_ILSEQ,
8183
+ ERRNO_INPROGRESS: () => ERRNO_INPROGRESS,
8184
+ ERRNO_INTR: () => ERRNO_INTR,
8185
+ ERRNO_INVAL: () => ERRNO_INVAL,
8186
+ ERRNO_IO: () => ERRNO_IO,
8187
+ ERRNO_ISCONN: () => ERRNO_ISCONN,
8188
+ ERRNO_ISDIR: () => ERRNO_ISDIR,
8189
+ ERRNO_LOOP: () => ERRNO_LOOP,
8190
+ ERRNO_MFILE: () => ERRNO_MFILE,
8191
+ ERRNO_MLINK: () => ERRNO_MLINK,
8192
+ ERRNO_MSGSIZE: () => ERRNO_MSGSIZE,
8193
+ ERRNO_MULTIHOP: () => ERRNO_MULTIHOP,
8194
+ ERRNO_NAMETOOLONG: () => ERRNO_NAMETOOLONG,
8195
+ ERRNO_NETDOWN: () => ERRNO_NETDOWN,
8196
+ ERRNO_NETRESET: () => ERRNO_NETRESET,
8197
+ ERRNO_NETUNREACH: () => ERRNO_NETUNREACH,
8198
+ ERRNO_NFILE: () => ERRNO_NFILE,
8199
+ ERRNO_NOBUFS: () => ERRNO_NOBUFS,
8200
+ ERRNO_NODEV: () => ERRNO_NODEV,
8201
+ ERRNO_NOENT: () => ERRNO_NOENT,
8202
+ ERRNO_NOEXEC: () => ERRNO_NOEXEC,
8203
+ ERRNO_NOLCK: () => ERRNO_NOLCK,
8204
+ ERRNO_NOLINK: () => ERRNO_NOLINK,
8205
+ ERRNO_NOMEM: () => ERRNO_NOMEM,
8206
+ ERRNO_NOMSG: () => ERRNO_NOMSG,
8207
+ ERRNO_NOPROTOOPT: () => ERRNO_NOPROTOOPT,
8208
+ ERRNO_NOSPC: () => ERRNO_NOSPC,
8209
+ ERRNO_NOSYS: () => ERRNO_NOSYS,
8210
+ ERRNO_NOTCAPABLE: () => ERRNO_NOTCAPABLE,
8211
+ ERRNO_NOTCONN: () => ERRNO_NOTCONN,
8212
+ ERRNO_NOTDIR: () => ERRNO_NOTDIR,
8213
+ ERRNO_NOTEMPTY: () => ERRNO_NOTEMPTY,
8214
+ ERRNO_NOTRECOVERABLE: () => ERRNO_NOTRECOVERABLE,
8215
+ ERRNO_NOTSOCK: () => ERRNO_NOTSOCK,
8216
+ ERRNO_NOTSUP: () => ERRNO_NOTSUP,
8217
+ ERRNO_NOTTY: () => ERRNO_NOTTY,
8218
+ ERRNO_NXIO: () => ERRNO_NXIO,
8219
+ ERRNO_OVERFLOW: () => ERRNO_OVERFLOW,
8220
+ ERRNO_OWNERDEAD: () => ERRNO_OWNERDEAD,
8221
+ ERRNO_PERM: () => ERRNO_PERM,
8222
+ ERRNO_PIPE: () => ERRNO_PIPE,
8223
+ ERRNO_PROTO: () => ERRNO_PROTO,
8224
+ ERRNO_PROTONOSUPPORT: () => ERRNO_PROTONOSUPPORT,
8225
+ ERRNO_PROTOTYPE: () => ERRNO_PROTOTYPE,
8226
+ ERRNO_RANGE: () => ERRNO_RANGE,
8227
+ ERRNO_ROFS: () => ERRNO_ROFS,
8228
+ ERRNO_SPIPE: () => ERRNO_SPIPE,
8229
+ ERRNO_SRCH: () => ERRNO_SRCH,
8230
+ ERRNO_STALE: () => ERRNO_STALE,
8231
+ ERRNO_SUCCESS: () => ERRNO_SUCCESS,
8232
+ ERRNO_TIMEDOUT: () => ERRNO_TIMEDOUT,
8233
+ ERRNO_TXTBSY: () => ERRNO_TXTBSY,
8234
+ ERRNO_XDEV: () => ERRNO_XDEV,
8235
+ EVENTRWFLAGS_FD_READWRITE_HANGUP: () => EVENTRWFLAGS_FD_READWRITE_HANGUP,
8236
+ EVENTTYPE_CLOCK: () => EVENTTYPE_CLOCK,
8237
+ EVENTTYPE_FD_READ: () => EVENTTYPE_FD_READ,
8238
+ EVENTTYPE_FD_WRITE: () => EVENTTYPE_FD_WRITE,
8239
+ Event: () => Event,
8240
+ FDFLAGS_APPEND: () => FDFLAGS_APPEND,
8241
+ FDFLAGS_DSYNC: () => FDFLAGS_DSYNC,
8242
+ FDFLAGS_NONBLOCK: () => FDFLAGS_NONBLOCK,
8243
+ FDFLAGS_RSYNC: () => FDFLAGS_RSYNC,
8244
+ FDFLAGS_SYNC: () => FDFLAGS_SYNC,
8245
+ FD_STDERR: () => FD_STDERR,
8246
+ FD_STDIN: () => FD_STDIN,
8247
+ FD_STDOUT: () => FD_STDOUT,
8248
+ FILETYPE_BLOCK_DEVICE: () => FILETYPE_BLOCK_DEVICE,
8249
+ FILETYPE_CHARACTER_DEVICE: () => FILETYPE_CHARACTER_DEVICE,
8250
+ FILETYPE_DIRECTORY: () => FILETYPE_DIRECTORY,
8251
+ FILETYPE_REGULAR_FILE: () => FILETYPE_REGULAR_FILE,
8252
+ FILETYPE_SOCKET_DGRAM: () => FILETYPE_SOCKET_DGRAM,
8253
+ FILETYPE_SOCKET_STREAM: () => FILETYPE_SOCKET_STREAM,
8254
+ FILETYPE_SYMBOLIC_LINK: () => FILETYPE_SYMBOLIC_LINK,
8255
+ FILETYPE_UNKNOWN: () => FILETYPE_UNKNOWN,
8256
+ FSTFLAGS_ATIM: () => FSTFLAGS_ATIM,
8257
+ FSTFLAGS_ATIM_NOW: () => FSTFLAGS_ATIM_NOW,
8258
+ FSTFLAGS_MTIM: () => FSTFLAGS_MTIM,
8259
+ FSTFLAGS_MTIM_NOW: () => FSTFLAGS_MTIM_NOW,
8260
+ Fdstat: () => Fdstat,
8261
+ Filestat: () => Filestat,
8262
+ Iovec: () => Iovec,
8263
+ OFLAGS_CREAT: () => OFLAGS_CREAT,
8264
+ OFLAGS_DIRECTORY: () => OFLAGS_DIRECTORY,
8265
+ OFLAGS_EXCL: () => OFLAGS_EXCL,
8266
+ OFLAGS_TRUNC: () => OFLAGS_TRUNC,
8267
+ PREOPENTYPE_DIR: () => PREOPENTYPE_DIR,
8268
+ Prestat: () => Prestat,
8269
+ PrestatDir: () => PrestatDir,
8270
+ RIFLAGS_RECV_PEEK: () => RIFLAGS_RECV_PEEK,
8271
+ RIFLAGS_RECV_WAITALL: () => RIFLAGS_RECV_WAITALL,
8272
+ RIGHTS_FD_ADVISE: () => RIGHTS_FD_ADVISE,
8273
+ RIGHTS_FD_ALLOCATE: () => RIGHTS_FD_ALLOCATE,
8274
+ RIGHTS_FD_DATASYNC: () => RIGHTS_FD_DATASYNC,
8275
+ RIGHTS_FD_FDSTAT_SET_FLAGS: () => RIGHTS_FD_FDSTAT_SET_FLAGS,
8276
+ RIGHTS_FD_FILESTAT_GET: () => RIGHTS_FD_FILESTAT_GET,
8277
+ RIGHTS_FD_FILESTAT_SET_SIZE: () => RIGHTS_FD_FILESTAT_SET_SIZE,
8278
+ RIGHTS_FD_FILESTAT_SET_TIMES: () => RIGHTS_FD_FILESTAT_SET_TIMES,
8279
+ RIGHTS_FD_READ: () => RIGHTS_FD_READ,
8280
+ RIGHTS_FD_READDIR: () => RIGHTS_FD_READDIR,
8281
+ RIGHTS_FD_SEEK: () => RIGHTS_FD_SEEK,
8282
+ RIGHTS_FD_SYNC: () => RIGHTS_FD_SYNC,
8283
+ RIGHTS_FD_TELL: () => RIGHTS_FD_TELL,
8284
+ RIGHTS_FD_WRITE: () => RIGHTS_FD_WRITE,
8285
+ RIGHTS_PATH_CREATE_DIRECTORY: () => RIGHTS_PATH_CREATE_DIRECTORY,
8286
+ RIGHTS_PATH_CREATE_FILE: () => RIGHTS_PATH_CREATE_FILE,
8287
+ RIGHTS_PATH_FILESTAT_GET: () => RIGHTS_PATH_FILESTAT_GET,
8288
+ RIGHTS_PATH_FILESTAT_SET_SIZE: () => RIGHTS_PATH_FILESTAT_SET_SIZE,
8289
+ RIGHTS_PATH_FILESTAT_SET_TIMES: () => RIGHTS_PATH_FILESTAT_SET_TIMES,
8290
+ RIGHTS_PATH_LINK_SOURCE: () => RIGHTS_PATH_LINK_SOURCE,
8291
+ RIGHTS_PATH_LINK_TARGET: () => RIGHTS_PATH_LINK_TARGET,
8292
+ RIGHTS_PATH_OPEN: () => RIGHTS_PATH_OPEN,
8293
+ RIGHTS_PATH_READLINK: () => RIGHTS_PATH_READLINK,
8294
+ RIGHTS_PATH_REMOVE_DIRECTORY: () => RIGHTS_PATH_REMOVE_DIRECTORY,
8295
+ RIGHTS_PATH_RENAME_SOURCE: () => RIGHTS_PATH_RENAME_SOURCE,
8296
+ RIGHTS_PATH_RENAME_TARGET: () => RIGHTS_PATH_RENAME_TARGET,
8297
+ RIGHTS_PATH_SYMLINK: () => RIGHTS_PATH_SYMLINK,
8298
+ RIGHTS_PATH_UNLINK_FILE: () => RIGHTS_PATH_UNLINK_FILE,
8299
+ RIGHTS_POLL_FD_READWRITE: () => RIGHTS_POLL_FD_READWRITE,
8300
+ RIGHTS_SOCK_SHUTDOWN: () => RIGHTS_SOCK_SHUTDOWN,
8301
+ ROFLAGS_RECV_DATA_TRUNCATED: () => ROFLAGS_RECV_DATA_TRUNCATED,
8302
+ SDFLAGS_RD: () => SDFLAGS_RD,
8303
+ SDFLAGS_WR: () => SDFLAGS_WR,
8304
+ SIGNAL_ABRT: () => SIGNAL_ABRT,
8305
+ SIGNAL_ALRM: () => SIGNAL_ALRM,
8306
+ SIGNAL_BUS: () => SIGNAL_BUS,
8307
+ SIGNAL_CHLD: () => SIGNAL_CHLD,
8308
+ SIGNAL_CONT: () => SIGNAL_CONT,
8309
+ SIGNAL_FPE: () => SIGNAL_FPE,
8310
+ SIGNAL_HUP: () => SIGNAL_HUP,
8311
+ SIGNAL_ILL: () => SIGNAL_ILL,
8312
+ SIGNAL_INT: () => SIGNAL_INT,
8313
+ SIGNAL_KILL: () => SIGNAL_KILL,
8314
+ SIGNAL_NONE: () => SIGNAL_NONE,
8315
+ SIGNAL_PIPE: () => SIGNAL_PIPE,
8316
+ SIGNAL_POLL: () => SIGNAL_POLL,
8317
+ SIGNAL_PROF: () => SIGNAL_PROF,
8318
+ SIGNAL_PWR: () => SIGNAL_PWR,
8319
+ SIGNAL_QUIT: () => SIGNAL_QUIT,
8320
+ SIGNAL_SEGV: () => SIGNAL_SEGV,
8321
+ SIGNAL_STOP: () => SIGNAL_STOP,
8322
+ SIGNAL_SYS: () => SIGNAL_SYS,
8323
+ SIGNAL_TERM: () => SIGNAL_TERM,
8324
+ SIGNAL_TRAP: () => SIGNAL_TRAP,
8325
+ SIGNAL_TSTP: () => SIGNAL_TSTP,
8326
+ SIGNAL_TTIN: () => SIGNAL_TTIN,
8327
+ SIGNAL_TTOU: () => SIGNAL_TTOU,
8328
+ SIGNAL_URG: () => SIGNAL_URG,
8329
+ SIGNAL_USR1: () => SIGNAL_USR1,
8330
+ SIGNAL_USR2: () => SIGNAL_USR2,
8331
+ SIGNAL_VTALRM: () => SIGNAL_VTALRM,
8332
+ SIGNAL_WINCH: () => SIGNAL_WINCH,
8333
+ SIGNAL_XCPU: () => SIGNAL_XCPU,
8334
+ SIGNAL_XFSZ: () => SIGNAL_XFSZ,
8335
+ SUBCLOCKFLAGS_SUBSCRIPTION_CLOCK_ABSTIME: () => SUBCLOCKFLAGS_SUBSCRIPTION_CLOCK_ABSTIME,
8336
+ Subscription: () => Subscription,
8337
+ WHENCE_CUR: () => WHENCE_CUR,
8338
+ WHENCE_END: () => WHENCE_END,
8339
+ WHENCE_SET: () => WHENCE_SET
8340
+ });
8136
8341
  init_define_NOMOS_KERNEL_RELEASE();
8137
8342
  init_shims();
8343
+ var FD_STDIN = 0;
8344
+ var FD_STDOUT = 1;
8345
+ var FD_STDERR = 2;
8138
8346
  var CLOCKID_REALTIME = 0;
8139
8347
  var CLOCKID_MONOTONIC = 1;
8348
+ var CLOCKID_PROCESS_CPUTIME_ID = 2;
8349
+ var CLOCKID_THREAD_CPUTIME_ID = 3;
8140
8350
  var ERRNO_SUCCESS = 0;
8351
+ var ERRNO_2BIG = 1;
8352
+ var ERRNO_ACCES = 2;
8353
+ var ERRNO_ADDRINUSE = 3;
8354
+ var ERRNO_ADDRNOTAVAIL = 4;
8355
+ var ERRNO_AFNOSUPPORT = 5;
8356
+ var ERRNO_AGAIN = 6;
8357
+ var ERRNO_ALREADY = 7;
8141
8358
  var ERRNO_BADF = 8;
8359
+ var ERRNO_BADMSG = 9;
8360
+ var ERRNO_BUSY = 10;
8361
+ var ERRNO_CANCELED = 11;
8362
+ var ERRNO_CHILD = 12;
8363
+ var ERRNO_CONNABORTED = 13;
8364
+ var ERRNO_CONNREFUSED = 14;
8365
+ var ERRNO_CONNRESET = 15;
8366
+ var ERRNO_DEADLK = 16;
8367
+ var ERRNO_DESTADDRREQ = 17;
8368
+ var ERRNO_DOM = 18;
8369
+ var ERRNO_DQUOT = 19;
8142
8370
  var ERRNO_EXIST = 20;
8371
+ var ERRNO_FAULT = 21;
8372
+ var ERRNO_FBIG = 22;
8373
+ var ERRNO_HOSTUNREACH = 23;
8374
+ var ERRNO_IDRM = 24;
8375
+ var ERRNO_ILSEQ = 25;
8376
+ var ERRNO_INPROGRESS = 26;
8377
+ var ERRNO_INTR = 27;
8143
8378
  var ERRNO_INVAL = 28;
8379
+ var ERRNO_IO = 29;
8380
+ var ERRNO_ISCONN = 30;
8144
8381
  var ERRNO_ISDIR = 31;
8382
+ var ERRNO_LOOP = 32;
8383
+ var ERRNO_MFILE = 33;
8384
+ var ERRNO_MLINK = 34;
8385
+ var ERRNO_MSGSIZE = 35;
8386
+ var ERRNO_MULTIHOP = 36;
8145
8387
  var ERRNO_NAMETOOLONG = 37;
8388
+ var ERRNO_NETDOWN = 38;
8389
+ var ERRNO_NETRESET = 39;
8390
+ var ERRNO_NETUNREACH = 40;
8391
+ var ERRNO_NFILE = 41;
8392
+ var ERRNO_NOBUFS = 42;
8393
+ var ERRNO_NODEV = 43;
8146
8394
  var ERRNO_NOENT = 44;
8395
+ var ERRNO_NOEXEC = 45;
8396
+ var ERRNO_NOLCK = 46;
8397
+ var ERRNO_NOLINK = 47;
8398
+ var ERRNO_NOMEM = 48;
8399
+ var ERRNO_NOMSG = 49;
8400
+ var ERRNO_NOPROTOOPT = 50;
8401
+ var ERRNO_NOSPC = 51;
8147
8402
  var ERRNO_NOSYS = 52;
8403
+ var ERRNO_NOTCONN = 53;
8148
8404
  var ERRNO_NOTDIR = 54;
8149
8405
  var ERRNO_NOTEMPTY = 55;
8406
+ var ERRNO_NOTRECOVERABLE = 56;
8407
+ var ERRNO_NOTSOCK = 57;
8150
8408
  var ERRNO_NOTSUP = 58;
8409
+ var ERRNO_NOTTY = 59;
8410
+ var ERRNO_NXIO = 60;
8411
+ var ERRNO_OVERFLOW = 61;
8412
+ var ERRNO_OWNERDEAD = 62;
8151
8413
  var ERRNO_PERM = 63;
8414
+ var ERRNO_PIPE = 64;
8415
+ var ERRNO_PROTO = 65;
8416
+ var ERRNO_PROTONOSUPPORT = 66;
8417
+ var ERRNO_PROTOTYPE = 67;
8418
+ var ERRNO_RANGE = 68;
8419
+ var ERRNO_ROFS = 69;
8420
+ var ERRNO_SPIPE = 70;
8421
+ var ERRNO_SRCH = 71;
8422
+ var ERRNO_STALE = 72;
8423
+ var ERRNO_TIMEDOUT = 73;
8424
+ var ERRNO_TXTBSY = 74;
8425
+ var ERRNO_XDEV = 75;
8152
8426
  var ERRNO_NOTCAPABLE = 76;
8153
8427
  var RIGHTS_FD_DATASYNC = 1 << 0;
8154
8428
  var RIGHTS_FD_READ = 1 << 1;
@@ -8212,9 +8486,14 @@
8212
8486
  var WHENCE_SET = 0;
8213
8487
  var WHENCE_CUR = 1;
8214
8488
  var WHENCE_END = 2;
8489
+ var FILETYPE_UNKNOWN = 0;
8490
+ var FILETYPE_BLOCK_DEVICE = 1;
8215
8491
  var FILETYPE_CHARACTER_DEVICE = 2;
8216
8492
  var FILETYPE_DIRECTORY = 3;
8217
8493
  var FILETYPE_REGULAR_FILE = 4;
8494
+ var FILETYPE_SOCKET_DGRAM = 5;
8495
+ var FILETYPE_SOCKET_STREAM = 6;
8496
+ var FILETYPE_SYMBOLIC_LINK = 7;
8218
8497
  var Dirent = class {
8219
8498
  head_length() {
8220
8499
  return 24;
@@ -8240,6 +8519,12 @@
8240
8519
  this.dir_name = encoded_name;
8241
8520
  }
8242
8521
  };
8522
+ var ADVICE_NORMAL = 0;
8523
+ var ADVICE_SEQUENTIAL = 1;
8524
+ var ADVICE_RANDOM = 2;
8525
+ var ADVICE_WILLNEED = 3;
8526
+ var ADVICE_DONTNEED = 4;
8527
+ var ADVICE_NOREUSE = 5;
8243
8528
  var FDFLAGS_APPEND = 1 << 0;
8244
8529
  var FDFLAGS_DSYNC = 1 << 1;
8245
8530
  var FDFLAGS_NONBLOCK = 1 << 2;
@@ -8290,6 +8575,8 @@
8290
8575
  }
8291
8576
  };
8292
8577
  var EVENTTYPE_CLOCK = 0;
8578
+ var EVENTTYPE_FD_READ = 1;
8579
+ var EVENTTYPE_FD_WRITE = 2;
8293
8580
  var EVENTRWFLAGS_FD_READWRITE_HANGUP = 1 << 0;
8294
8581
  var SUBCLOCKFLAGS_SUBSCRIPTION_CLOCK_ABSTIME = 1 << 0;
8295
8582
  var Subscription = class _Subscription {
@@ -8316,6 +8603,37 @@
8316
8603
  this.eventtype = eventtype;
8317
8604
  }
8318
8605
  };
8606
+ var SIGNAL_NONE = 0;
8607
+ var SIGNAL_HUP = 1;
8608
+ var SIGNAL_INT = 2;
8609
+ var SIGNAL_QUIT = 3;
8610
+ var SIGNAL_ILL = 4;
8611
+ var SIGNAL_TRAP = 5;
8612
+ var SIGNAL_ABRT = 6;
8613
+ var SIGNAL_BUS = 7;
8614
+ var SIGNAL_FPE = 8;
8615
+ var SIGNAL_KILL = 9;
8616
+ var SIGNAL_USR1 = 10;
8617
+ var SIGNAL_SEGV = 11;
8618
+ var SIGNAL_USR2 = 12;
8619
+ var SIGNAL_PIPE = 13;
8620
+ var SIGNAL_ALRM = 14;
8621
+ var SIGNAL_TERM = 15;
8622
+ var SIGNAL_CHLD = 16;
8623
+ var SIGNAL_CONT = 17;
8624
+ var SIGNAL_STOP = 18;
8625
+ var SIGNAL_TSTP = 19;
8626
+ var SIGNAL_TTIN = 20;
8627
+ var SIGNAL_TTOU = 21;
8628
+ var SIGNAL_URG = 22;
8629
+ var SIGNAL_XCPU = 23;
8630
+ var SIGNAL_XFSZ = 24;
8631
+ var SIGNAL_VTALRM = 25;
8632
+ var SIGNAL_PROF = 26;
8633
+ var SIGNAL_WINCH = 27;
8634
+ var SIGNAL_POLL = 28;
8635
+ var SIGNAL_PWR = 29;
8636
+ var SIGNAL_SYS = 30;
8319
8637
  var RIFLAGS_RECV_PEEK = 1 << 0;
8320
8638
  var RIFLAGS_RECV_WAITALL = 1 << 1;
8321
8639
  var ROFLAGS_RECV_DATA_TRUNCATED = 1 << 0;
@@ -9639,11 +9957,86 @@
9639
9957
  return { promises };
9640
9958
  }
9641
9959
 
9960
+ // ../../adapter/amortized_memory_file.ts
9961
+ init_define_NOMOS_KERNEL_RELEASE();
9962
+ init_shims();
9963
+ var AmortizedOpenFile = class extends OpenFile {
9964
+ growTo(length) {
9965
+ const previous = this.file.data;
9966
+ if (length <= previous.byteLength) return;
9967
+ const available = previous.buffer.byteLength - previous.byteOffset;
9968
+ let buffer = previous.buffer;
9969
+ let offset = previous.byteOffset;
9970
+ if (length > available) {
9971
+ const capacity = Math.max(length, available > 0 ? available * 2 : 4096);
9972
+ const replacement = new Uint8Array(capacity);
9973
+ replacement.set(previous);
9974
+ buffer = replacement.buffer;
9975
+ offset = 0;
9976
+ }
9977
+ const view = new Uint8Array(buffer, offset, length);
9978
+ view.fill(0, previous.byteLength);
9979
+ this.file.data = view;
9980
+ }
9981
+ fd_write(data) {
9982
+ if (this.file.readonly) return { ret: wasi_defs_exports.ERRNO_BADF, nwritten: 0 };
9983
+ const end = Number(this.file_pos + BigInt(data.byteLength));
9984
+ this.growTo(end);
9985
+ this.file.data.set(data, Number(this.file_pos));
9986
+ this.file_pos += BigInt(data.byteLength);
9987
+ return { ret: wasi_defs_exports.ERRNO_SUCCESS, nwritten: data.byteLength };
9988
+ }
9989
+ fd_pwrite(data, offset) {
9990
+ if (this.file.readonly) return { ret: wasi_defs_exports.ERRNO_BADF, nwritten: 0 };
9991
+ this.growTo(Number(offset + BigInt(data.byteLength)));
9992
+ this.file.data.set(data, Number(offset));
9993
+ return { ret: wasi_defs_exports.ERRNO_SUCCESS, nwritten: data.byteLength };
9994
+ }
9995
+ fd_allocate(offset, length) {
9996
+ this.growTo(Number(offset + length));
9997
+ return wasi_defs_exports.ERRNO_SUCCESS;
9998
+ }
9999
+ fd_filestat_set_size(size) {
10000
+ const length = Number(size);
10001
+ if (length < this.file.data.byteLength) {
10002
+ this.file.data = this.file.data.slice(0, length);
10003
+ } else {
10004
+ this.growTo(length);
10005
+ }
10006
+ return wasi_defs_exports.ERRNO_SUCCESS;
10007
+ }
10008
+ };
10009
+ var AmortizedFile = class extends File {
10010
+ path_open(oflags, rights, flags) {
10011
+ const opened = super.path_open(oflags, rights, flags);
10012
+ if (!(opened.fd_obj instanceof OpenFile)) return opened;
10013
+ const file = new AmortizedOpenFile(this);
10014
+ file.file_pos = opened.fd_obj.file_pos;
10015
+ return { ret: opened.ret, fd_obj: file };
10016
+ }
10017
+ };
10018
+ var AmortizedDirectory = class extends Directory {
10019
+ create_entry_for_path(path, isDirectory) {
10020
+ const created = super.create_entry_for_path(path, isDirectory);
10021
+ if (created.entry) promoteMemoryNode(created.entry);
10022
+ return created;
10023
+ }
10024
+ };
10025
+ function promoteMemoryNode(node) {
10026
+ if (node instanceof File && !(node instanceof AmortizedFile)) {
10027
+ Object.setPrototypeOf(node, AmortizedFile.prototype);
10028
+ } else if (node instanceof Directory && !(node instanceof AmortizedDirectory)) {
10029
+ Object.setPrototypeOf(node, AmortizedDirectory.prototype);
10030
+ for (const child of node.contents.values()) promoteMemoryNode(child);
10031
+ }
10032
+ }
10033
+
9642
10034
  // ../../adapter/memory_custody_filesystem.ts
9643
10035
  function fail(code, path) {
9644
10036
  throw Object.assign(new Error(`${code}: ${path}`), { code });
9645
10037
  }
9646
10038
  function memoryCustodyFilesystem(preopen = new PreopenDirectory("/work", /* @__PURE__ */ new Map())) {
10039
+ promoteMemoryNode(preopen.dir);
9647
10040
  const parts = (path) => {
9648
10041
  if (path === "/work") return [];
9649
10042
  if (!path.startsWith("/work/") || path.includes("\\") || path.includes("\0"))
@@ -9671,12 +10064,12 @@
9671
10064
  mkdir(path) {
9672
10065
  const [directory, leaf] = parent(path);
9673
10066
  if (directory.has(leaf)) fail("EEXIST", path);
9674
- directory.set(leaf, new Directory(/* @__PURE__ */ new Map()));
10067
+ directory.set(leaf, new AmortizedDirectory(/* @__PURE__ */ new Map()));
9675
10068
  },
9676
10069
  writeFile(path, bytes) {
9677
10070
  const [directory, leaf] = parent(path);
9678
10071
  if (directory.get(leaf)?.contents) fail("EISDIR", path);
9679
- directory.set(leaf, new File(bytes.slice()));
10072
+ directory.set(leaf, new AmortizedFile(bytes.slice()));
9680
10073
  },
9681
10074
  unlink(path) {
9682
10075
  const [directory, leaf] = parent(path);
@@ -9751,7 +10144,7 @@
9751
10144
  fs: makeGitFs(
9752
10145
  preopen,
9753
10146
  "/work",
9754
- { File, Directory }
10147
+ { File: AmortizedFile, Directory: AmortizedDirectory }
9755
10148
  )
9756
10149
  };
9757
10150
  }
@@ -10408,6 +10801,274 @@
10408
10801
  // ../../adapter/kernel_execution_desk.ts
10409
10802
  var kernelExecutionDesk = (machine) => runtimeKernelPort(machine);
10410
10803
 
10804
+ // ../../platform-shells/shared/kernel_work_accounting.ts
10805
+ init_define_NOMOS_KERNEL_RELEASE();
10806
+ init_shims();
10807
+ var KERNEL_WORK_CPU_BUCKET_MICROS = [
10808
+ 100,
10809
+ 250,
10810
+ 500,
10811
+ 1e3,
10812
+ 2500,
10813
+ 5e3,
10814
+ 1e4,
10815
+ 25e3,
10816
+ 5e4,
10817
+ 1e5,
10818
+ 25e4,
10819
+ 5e5,
10820
+ 1e6,
10821
+ 25e5,
10822
+ 5e6,
10823
+ 1e7,
10824
+ 3e7,
10825
+ 6e7
10826
+ ];
10827
+ var custodyValidation = /* @__PURE__ */ new Set([
10828
+ "inspectChange",
10829
+ "inspectRefusalVerdict",
10830
+ "lawClosureInfo",
10831
+ "resolveStatePosition",
10832
+ "proveCompactionEquivalence"
10833
+ ]);
10834
+ var custodyOpenRestore = /* @__PURE__ */ new Set([
10835
+ "checkpointExport",
10836
+ "checkpointImport",
10837
+ "restoreMain",
10838
+ "openGitState",
10839
+ "attachLocalFrontier",
10840
+ "releaseWorkspaceState"
10841
+ ]);
10842
+ var custodyWrites = /* @__PURE__ */ new Set([
10843
+ "writeRef",
10844
+ "deleteRef",
10845
+ "writeMetaCommit",
10846
+ "recordWorkspaceEffectOutcome"
10847
+ ]);
10848
+ var custodyTransfers = /* @__PURE__ */ new Set([
10849
+ "packDelta",
10850
+ "applyPack",
10851
+ "intentsAbove",
10852
+ "historySummary",
10853
+ "readBlob",
10854
+ "resolveRef",
10855
+ "listRefs"
10856
+ ]);
10857
+ var telemetryMeasurements = /* @__PURE__ */ new Set(["residentFootprint", "aggregateCensus"]);
10858
+ var lawQueries = /* @__PURE__ */ new Set([
10859
+ "authorizationCheck",
10860
+ "authorizationExpand",
10861
+ "frontierTransition",
10862
+ "ownedDeviceRequest",
10863
+ "ownedPrepareApproval",
10864
+ "authenticationPosture",
10865
+ "authoringRequirements",
10866
+ "identityProviderWitness",
10867
+ "interfaceCompatibility"
10868
+ ]);
10869
+ var authoringOperations = /* @__PURE__ */ new Set([
10870
+ "signPreparedOffer",
10871
+ "prepareRemoteOffer",
10872
+ "signOfferPreparation"
10873
+ ]);
10874
+ var cryptographicOperations = /* @__PURE__ */ new Set([
10875
+ "signBirthCertificate",
10876
+ "signingIdentity",
10877
+ "signAuthorityAttestation",
10878
+ "mintTypedId",
10879
+ "encryptionIdentity",
10880
+ "wrapScopeKey",
10881
+ "unwrapScopeKey"
10882
+ ]);
10883
+ function classifyKernelWork(frame) {
10884
+ try {
10885
+ const decoded = fromBinary(CallRequestSchema, frame);
10886
+ const operation = decoded.operation;
10887
+ if (!operation.case) return { family: "other", operation: "unspecified" };
10888
+ if (operation.case === "query") {
10889
+ const detail = operation.value.query.case || "unspecified";
10890
+ const family = detail === "maintenanceQuantum" ? "read_index_maintenance" : detail === "fullHistoryAudit" ? "custody_validation" : lawQueries.has(detail) ? "law_evaluation" : "read_query";
10891
+ return { family, operation: `query.${detail}`, workspace: operation.value.target?.workspace };
10892
+ }
10893
+ if (operation.case === "custody") {
10894
+ const detail = operation.value.operation.case || "unspecified";
10895
+ const value = operation.value.operation.value;
10896
+ const target3 = value && "target" in value ? value.target : void 0;
10897
+ const workspace = typeof target3 === "string" ? target3 : target3?.workspace;
10898
+ const family = telemetryMeasurements.has(detail) ? "telemetry_measurement" : custodyValidation.has(detail) ? "custody_validation" : custodyOpenRestore.has(detail) ? "custody_open_restore" : custodyWrites.has(detail) ? "git_state_write" : custodyTransfers.has(detail) ? "sync_transfer" : "custody_inspection";
10899
+ return { family, operation: `custody.${detail}`, workspace };
10900
+ }
10901
+ if (operation.case === "offer") {
10902
+ const detail = operation.value.intent.case || "unspecified";
10903
+ return {
10904
+ family: "offer_adjudication",
10905
+ operation: `offer.${detail}`,
10906
+ workspace: operation.value.target?.workspace
10907
+ };
10908
+ }
10909
+ if (operation.case === "open") {
10910
+ return {
10911
+ family: "custody_open_restore",
10912
+ operation: "open",
10913
+ workspace: operation.value.target?.workspace
10914
+ };
10915
+ }
10916
+ if (operation.case === "outbox") {
10917
+ return {
10918
+ family: "correspondence_outbox",
10919
+ operation: operation.value.prepare ? "outbox.prepare" : "outbox.inventory",
10920
+ workspace: operation.value.target?.workspace
10921
+ };
10922
+ }
10923
+ if (operation.case === "sync") {
10924
+ return { family: "sync_transfer", operation: "sync", workspace: operation.value.target?.workspace };
10925
+ }
10926
+ if (operation.case === "configure") return { family: "configuration", operation: "configure" };
10927
+ if (authoringOperations.has(operation.case)) {
10928
+ return { family: "offer_authoring", operation: operation.case };
10929
+ }
10930
+ if (cryptographicOperations.has(operation.case)) {
10931
+ return { family: "cryptography", operation: operation.case };
10932
+ }
10933
+ return { family: "other", operation: operation.case };
10934
+ } catch {
10935
+ return { family: "other", operation: "undecodable" };
10936
+ }
10937
+ }
10938
+ function classifyCompletedKernelWork(work, result) {
10939
+ if (work.family !== "offer_adjudication") return work;
10940
+ try {
10941
+ if (result) {
10942
+ const response = fromBinary(CallResponseSchema, result);
10943
+ if (response.outcome.case === "offer" && response.outcome.value.outcome.case === "admitted") {
10944
+ const admitted = response.outcome.value.outcome.value;
10945
+ if (!admitted.dryRun && !admitted.placement && !admitted.alreadyApplied) {
10946
+ return { ...work, family: "offer_admitted" };
10947
+ }
10948
+ }
10949
+ }
10950
+ } catch {
10951
+ }
10952
+ return { ...work, family: "offer_not_admitted" };
10953
+ }
10954
+ var _counters, _activeChanged, _cpuAvailable, _startedUnixMillis, _active;
10955
+ var KernelWorkAccounting = class {
10956
+ constructor(activeChanged, cpuAvailable = true) {
10957
+ __privateAdd(this, _counters, /* @__PURE__ */ new Map());
10958
+ __privateAdd(this, _activeChanged);
10959
+ __privateAdd(this, _cpuAvailable);
10960
+ __privateAdd(this, _startedUnixMillis, Date.now());
10961
+ __privateAdd(this, _active);
10962
+ __privateSet(this, _activeChanged, activeChanged);
10963
+ __privateSet(this, _cpuAvailable, cpuAvailable);
10964
+ }
10965
+ begin(work, startedUnixMillis) {
10966
+ var _a;
10967
+ __privateSet(this, _active, create(ActiveKernelWorkSchema, {
10968
+ family: work.family,
10969
+ operation: work.operation,
10970
+ startedUnixMillis: BigInt(startedUnixMillis)
10971
+ }));
10972
+ try {
10973
+ (_a = __privateGet(this, _activeChanged)) == null ? void 0 : _a.call(this, __privateGet(this, _active));
10974
+ } catch {
10975
+ }
10976
+ }
10977
+ complete(work, elapsedMillis2, cpuMicros, completed) {
10978
+ var _a;
10979
+ const key = `${work.family}\0${work.operation}`;
10980
+ let counter = __privateGet(this, _counters).get(key);
10981
+ if (!counter) {
10982
+ counter = {
10983
+ calls: 0n,
10984
+ failures: 0n,
10985
+ cpuMicros: __privateGet(this, _cpuAvailable) ? 0n : void 0,
10986
+ wallMicros: 0n,
10987
+ bucketCalls: __privateGet(this, _cpuAvailable) ? KERNEL_WORK_CPU_BUCKET_MICROS.map(() => 0n) : [],
10988
+ lastCompletedUnixMillis: 0n
10989
+ };
10990
+ __privateGet(this, _counters).set(key, counter);
10991
+ }
10992
+ const boundedCpuMicros = cpuMicros === void 0 ? void 0 : Math.max(0, Math.round(cpuMicros));
10993
+ counter.calls += 1n;
10994
+ if (!completed) counter.failures += 1n;
10995
+ if (boundedCpuMicros !== void 0 && counter.cpuMicros !== void 0) {
10996
+ counter.cpuMicros += BigInt(boundedCpuMicros);
10997
+ }
10998
+ counter.wallMicros += BigInt(Math.max(0, Math.round(elapsedMillis2 * 1e3)));
10999
+ counter.lastCompletedUnixMillis = BigInt(Date.now());
11000
+ for (let index = 0; boundedCpuMicros !== void 0 && index < counter.bucketCalls.length; index += 1) {
11001
+ if (boundedCpuMicros <= KERNEL_WORK_CPU_BUCKET_MICROS[index]) counter.bucketCalls[index] += 1n;
11002
+ }
11003
+ __privateSet(this, _active, void 0);
11004
+ try {
11005
+ (_a = __privateGet(this, _activeChanged)) == null ? void 0 : _a.call(this, void 0);
11006
+ } catch {
11007
+ }
11008
+ }
11009
+ snapshot(observedUnixMillis = Date.now()) {
11010
+ const counters = [...__privateGet(this, _counters).entries()].sort(([left], [right]) => left.localeCompare(right)).map(([key, value]) => {
11011
+ const [family, operation] = key.split("\0");
11012
+ return create(KernelWorkCounterSchema, {
11013
+ family,
11014
+ operation,
11015
+ calls: value.calls,
11016
+ failures: value.failures,
11017
+ cpuMicros: value.cpuMicros,
11018
+ wallMicros: value.wallMicros,
11019
+ cpuBuckets: value.bucketCalls.map((calls, index) => create(KernelWorkCpuBucketSchema, { leMicros: BigInt(KERNEL_WORK_CPU_BUCKET_MICROS[index]), calls })),
11020
+ lastCompletedUnixMillis: value.lastCompletedUnixMillis
11021
+ });
11022
+ });
11023
+ return create(KernelWorkSnapshotSchema, {
11024
+ startedUnixMillis: BigInt(__privateGet(this, _startedUnixMillis)),
11025
+ observedUnixMillis: BigInt(observedUnixMillis),
11026
+ counters,
11027
+ active: __privateGet(this, _active)
11028
+ });
11029
+ }
11030
+ reset() {
11031
+ var _a;
11032
+ __privateGet(this, _counters).clear();
11033
+ __privateSet(this, _startedUnixMillis, Date.now());
11034
+ __privateSet(this, _active, void 0);
11035
+ try {
11036
+ (_a = __privateGet(this, _activeChanged)) == null ? void 0 : _a.call(this, void 0);
11037
+ } catch {
11038
+ }
11039
+ }
11040
+ };
11041
+ _counters = new WeakMap();
11042
+ _activeChanged = new WeakMap();
11043
+ _cpuAvailable = new WeakMap();
11044
+ _startedUnixMillis = new WeakMap();
11045
+ _active = new WeakMap();
11046
+
11047
+ // ../../platform-shells/browser/kernel_work.ts
11048
+ init_define_NOMOS_KERNEL_RELEASE();
11049
+ init_shims();
11050
+ function observeBrowserKernelCalls(kernel, accounting, now = () => performance.now()) {
11051
+ return {
11052
+ ...kernel,
11053
+ call(frame) {
11054
+ const work = classifyKernelWork(frame);
11055
+ accounting.begin(work, Date.now());
11056
+ const started = now();
11057
+ let completed = false;
11058
+ let completedWork = work;
11059
+ try {
11060
+ const result = kernel.call(frame);
11061
+ completedWork = classifyCompletedKernelWork(work, result);
11062
+ completed = true;
11063
+ return result;
11064
+ } finally {
11065
+ if (!completed) completedWork = classifyCompletedKernelWork(work);
11066
+ accounting.complete(completedWork, now() - started, void 0, completed);
11067
+ }
11068
+ }
11069
+ };
11070
+ }
11071
+
10411
11072
  // ../../adapter/git_custody_desk.ts
10412
11073
  init_define_NOMOS_KERNEL_RELEASE();
10413
11074
  init_shims();
@@ -14749,7 +15410,7 @@
14749
15410
  }
14750
15411
 
14751
15412
  // ../src/runtime/credential_recovery_desk.ts
14752
- var _ports, _waiting, _background, _renewing, _active, _replicaWaiters, _joining, _completed2, _sequence2, _CredentialRecoveryDesk_instances, now_fn, unixMillis_fn, tokenless_fn, prune_fn, begin_fn, wake_fn, callOnce_fn, remember_fn2, finishReplicaWaiters_fn;
15413
+ var _ports, _waiting, _background, _renewing, _active2, _replicaWaiters, _joining, _completed2, _sequence2, _CredentialRecoveryDesk_instances, now_fn, unixMillis_fn, tokenless_fn, prune_fn, begin_fn, wake_fn, callOnce_fn, remember_fn2, finishReplicaWaiters_fn;
14753
15414
  var CredentialRecoveryDesk = class {
14754
15415
  constructor(ports) {
14755
15416
  __privateAdd(this, _CredentialRecoveryDesk_instances);
@@ -14759,7 +15420,7 @@
14759
15420
  /** Capabilities whose renewal-ahead-of-expiry is in flight: one refresh per capability, not one per offer. */
14760
15421
  __privateAdd(this, _renewing, /* @__PURE__ */ new Map());
14761
15422
  /** One physical acquisition per capability; other callers wait outside the serial kernel lane. */
14762
- __privateAdd(this, _active, /* @__PURE__ */ new Map());
15423
+ __privateAdd(this, _active2, /* @__PURE__ */ new Map());
14763
15424
  /** Headless follows joining an interaction-owned refresh of the same
14764
15425
  * capability. They need no synthetic session or second provider request. */
14765
15426
  __privateAdd(this, _replicaWaiters, /* @__PURE__ */ new Map());
@@ -14797,7 +15458,7 @@
14797
15458
  request: fromBinary(RuntimeRequestSchema, toBinary(RuntimeRequestSchema, request))
14798
15459
  }, { allowCached: false, rejectCurrent: false });
14799
15460
  if (step.case !== "pending") throw new Error("credential renewal did not produce its physical paper");
14800
- __privateGet(this, _renewing).set(capability, __privateGet(this, _active).get(capability));
15461
+ __privateGet(this, _renewing).set(capability, __privateGet(this, _active2).get(capability));
14801
15462
  return step;
14802
15463
  }
14803
15464
  beginOffer(request, command, response) {
@@ -14812,7 +15473,7 @@
14812
15473
  ensurePresent(session) {
14813
15474
  if (__privateGet(this, _ports).authToken(session).byteLength > 0 || __privateMethod(this, _CredentialRecoveryDesk_instances, tokenless_fn).call(this, session)) return true;
14814
15475
  __privateMethod(this, _CredentialRecoveryDesk_instances, prune_fn).call(this);
14815
- const active = __privateGet(this, _active).get(__privateGet(this, _ports).capabilityFor(session));
15476
+ const active = __privateGet(this, _active2).get(__privateGet(this, _ports).capabilityFor(session));
14816
15477
  if (active !== void 0) {
14817
15478
  __privateGet(this, _waiting).get(active)?.affectedSessions.add(session);
14818
15479
  return false;
@@ -14826,7 +15487,7 @@
14826
15487
  if (!syncNeedsCredentialRefresh(event.result, event.failure) || __privateMethod(this, _CredentialRecoveryDesk_instances, tokenless_fn).call(this, session)) return;
14827
15488
  __privateMethod(this, _CredentialRecoveryDesk_instances, prune_fn).call(this);
14828
15489
  const capability = __privateGet(this, _ports).capabilityFor(session);
14829
- const existing = __privateGet(this, _active).get(capability);
15490
+ const existing = __privateGet(this, _active2).get(capability);
14830
15491
  if (existing !== void 0) {
14831
15492
  __privateGet(this, _waiting).get(existing)?.affectedSessions.add(session);
14832
15493
  return;
@@ -14844,7 +15505,7 @@
14844
15505
  return { case: "refreshed", value: create(CredentialsRefreshedSchema, { session: capability }) };
14845
15506
  }
14846
15507
  __privateMethod(this, _CredentialRecoveryDesk_instances, prune_fn).call(this);
14847
- if (__privateGet(this, _active).has(capability)) {
15508
+ if (__privateGet(this, _active2).has(capability)) {
14848
15509
  const waiting = __privateGet(this, _replicaWaiters).get(capability) ?? /* @__PURE__ */ new Set();
14849
15510
  waiting.add(workspace);
14850
15511
  __privateGet(this, _replicaWaiters).set(capability, waiting);
@@ -14893,7 +15554,7 @@
14893
15554
  __privateGet(this, _waiting).delete(command.workId);
14894
15555
  if (__privateGet(this, _background).get(work.capability) === command.workId) __privateGet(this, _background).delete(work.capability);
14895
15556
  if (__privateGet(this, _renewing).get(work.capability) === command.workId) __privateGet(this, _renewing).delete(work.capability);
14896
- if (__privateGet(this, _active).get(work.capability) === command.workId) __privateGet(this, _active).delete(work.capability);
15557
+ if (__privateGet(this, _active2).get(work.capability) === command.workId) __privateGet(this, _active2).delete(work.capability);
14897
15558
  const sameContext = __privateMethod(this, _CredentialRecoveryDesk_instances, now_fn).call(this) < work.expiresAt && (work.directCapability || __privateGet(this, _ports).capabilityFor(work.session) === work.capability) && (work.directCapability ? __privateGet(this, _ports).deviceChallengeForCapability(work.capability) : __privateGet(this, _ports).deviceChallenge(work.session)) === work.deviceChallenge;
14898
15559
  const material = sameContext && receipt.outcome.case === "credentialRefreshed" ? receipt.outcome.value : void 0;
14899
15560
  let refreshed = create(CredentialsRefreshedSchema, { session: work.session });
@@ -14930,7 +15591,7 @@
14930
15591
  clear() {
14931
15592
  __privateGet(this, _waiting).clear();
14932
15593
  __privateGet(this, _joining).clear();
14933
- __privateGet(this, _active).clear();
15594
+ __privateGet(this, _active2).clear();
14934
15595
  __privateGet(this, _replicaWaiters).clear();
14935
15596
  __privateGet(this, _background).clear();
14936
15597
  __privateGet(this, _renewing).clear();
@@ -14941,7 +15602,7 @@
14941
15602
  _waiting = new WeakMap();
14942
15603
  _background = new WeakMap();
14943
15604
  _renewing = new WeakMap();
14944
- _active = new WeakMap();
15605
+ _active2 = new WeakMap();
14945
15606
  _replicaWaiters = new WeakMap();
14946
15607
  _joining = new WeakMap();
14947
15608
  _completed2 = new WeakMap();
@@ -14962,7 +15623,7 @@
14962
15623
  __privateGet(this, _waiting).delete(id);
14963
15624
  if (__privateGet(this, _background).get(work.capability) === id) __privateGet(this, _background).delete(work.capability);
14964
15625
  if (__privateGet(this, _renewing).get(work.capability) === id) __privateGet(this, _renewing).delete(work.capability);
14965
- if (__privateGet(this, _active).get(work.capability) === id) __privateGet(this, _active).delete(work.capability);
15626
+ if (__privateGet(this, _active2).get(work.capability) === id) __privateGet(this, _active2).delete(work.capability);
14966
15627
  __privateMethod(this, _CredentialRecoveryDesk_instances, finishReplicaWaiters_fn).call(this, work.capability, false);
14967
15628
  }
14968
15629
  for (const [id, work] of __privateGet(this, _joining)) if (work.expiresAt <= now) __privateGet(this, _joining).delete(id);
@@ -14972,7 +15633,7 @@
14972
15633
  const id = `credential-recovery-${++__privateWrapper(this, _sequence2)._}`;
14973
15634
  const effectId2 = `${id}:refresh`;
14974
15635
  const capability = direct ? session : __privateGet(this, _ports).capabilityFor(session);
14975
- const active = __privateGet(this, _active).get(capability);
15636
+ const active = __privateGet(this, _active2).get(capability);
14976
15637
  if (active !== void 0 && original !== void 0) {
14977
15638
  __privateGet(this, _waiting).get(active)?.affectedSessions.add(session);
14978
15639
  const current2 = __privateMethod(this, _CredentialRecoveryDesk_instances, wake_fn).call(this, id, 0);
@@ -14999,7 +15660,7 @@
14999
15660
  ...direct === void 0 ? {} : { workspace: direct.workspace },
15000
15661
  ...original === void 0 ? {} : { original }
15001
15662
  });
15002
- __privateGet(this, _active).set(capability, id);
15663
+ __privateGet(this, _active2).set(capability, id);
15003
15664
  return { case: "pending", value: create(CorrespondencePendingSchema, { workId: id, effect: {
15004
15665
  case: "refreshCredential",
15005
15666
  value: create(PeerCredentialRefreshEffectSchema, {
@@ -19372,27 +20033,27 @@
19372
20033
  // ../src/runtime/residency_pins.ts
19373
20034
  init_define_NOMOS_KERNEL_RELEASE();
19374
20035
  init_shims();
19375
- var _pending2, _resumed, _active2;
20036
+ var _pending2, _resumed, _active3;
19376
20037
  var ResidencyPins = class {
19377
20038
  constructor() {
19378
20039
  __privateAdd(this, _pending2, /* @__PURE__ */ new Map());
19379
20040
  __privateAdd(this, _resumed, /* @__PURE__ */ new WeakMap());
19380
- __privateAdd(this, _active2, []);
20041
+ __privateAdd(this, _active3, []);
19381
20042
  }
19382
20043
  begin(workId2, effectId2) {
19383
20044
  const pending = workId2 ? __privateGet(this, _pending2).get(workId2) : void 0;
19384
20045
  const correlated = pending && pending.effectId === effectId2;
19385
20046
  const scope = new Set(correlated ? pending.scope : void 0);
19386
20047
  if (correlated) __privateGet(this, _resumed).set(scope, workId2);
19387
- __privateGet(this, _active2).push(scope);
20048
+ __privateGet(this, _active3).push(scope);
19388
20049
  return scope;
19389
20050
  }
19390
20051
  touch(workspace) {
19391
- if (workspace) for (const scope of __privateGet(this, _active2)) scope.add(workspace);
20052
+ if (workspace) for (const scope of __privateGet(this, _active3)) scope.add(workspace);
19392
20053
  }
19393
20054
  end(scope, previousWorkId, pendingWorkId, pendingEffectId) {
19394
- if (__privateGet(this, _active2).at(-1) !== scope) throw new Error("residency scopes must settle in stack order");
19395
- __privateGet(this, _active2).pop();
20055
+ if (__privateGet(this, _active3).at(-1) !== scope) throw new Error("residency scopes must settle in stack order");
20056
+ __privateGet(this, _active3).pop();
19396
20057
  if (previousWorkId && __privateGet(this, _resumed).get(scope) === previousWorkId) __privateGet(this, _pending2).delete(previousWorkId);
19397
20058
  if (pendingWorkId) __privateGet(this, _pending2).set(pendingWorkId, {
19398
20059
  scope,
@@ -19400,7 +20061,7 @@
19400
20061
  });
19401
20062
  }
19402
20063
  workspaces() {
19403
- return new Set([...__privateGet(this, _active2), ...[...__privateGet(this, _pending2).values()].map((pending) => pending.scope)].flatMap((scope) => [...scope]));
20064
+ return new Set([...__privateGet(this, _active3), ...[...__privateGet(this, _pending2).values()].map((pending) => pending.scope)].flatMap((scope) => [...scope]));
19404
20065
  }
19405
20066
  clear() {
19406
20067
  __privateGet(this, _pending2).clear();
@@ -19408,7 +20069,7 @@
19408
20069
  };
19409
20070
  _pending2 = new WeakMap();
19410
20071
  _resumed = new WeakMap();
19411
- _active2 = new WeakMap();
20072
+ _active3 = new WeakMap();
19412
20073
 
19413
20074
  // ../src/runtime/subscription_manager.ts
19414
20075
  init_define_NOMOS_KERNEL_RELEASE();
@@ -35250,7 +35911,8 @@
35250
35911
  replica: options.replica ?? storage.replica,
35251
35912
  trustRootPublicKey: options.trustRootPublicKey
35252
35913
  }, storage.filesystem, storage.changed);
35253
- const physicalKernel = kernelExecutionDesk(machine);
35914
+ const kernelWork = new KernelWorkAccounting(options.onKernelWorkChanged, false);
35915
+ const physicalKernel = observeBrowserKernelCalls(kernelExecutionDesk(machine), kernelWork);
35254
35916
  const kernel = options.observeKernel?.(physicalKernel) ?? physicalKernel;
35255
35917
  const custodyDesk = gitCustodyDesk(kernel, fetchImpl);
35256
35918
  const kernelStore = browserKernelCustody(kernel, () => storage.checkpoint(), () => storage.isCheckpointCurrent(), options.provisionedGenesisWorkspace);
@@ -35288,6 +35950,7 @@
35288
35950
  await storage.checkpoint();
35289
35951
  return result;
35290
35952
  },
35953
+ kernelWorkSnapshot: () => kernelWork.snapshot(),
35291
35954
  close: async () => {
35292
35955
  await office.settleRetention();
35293
35956
  office.close();
@@ -35393,6 +36056,12 @@
35393
36056
  warmResidencyMillis: 86400000n
35394
36057
  },
35395
36058
  postEvent,
36059
+ onKernelWorkChanged: (active) => {
36060
+ try {
36061
+ window.__nomosKernelWorkChanged?.(active ? toJsonString(ActiveKernelWorkSchema, active) : "");
36062
+ } catch {
36063
+ }
36064
+ },
35396
36065
  kernelCache: kernelCache()
35397
36066
  });
35398
36067
  flushEvents();
@@ -35406,6 +36075,7 @@
35406
36075
  if (!peer) throw new Error("Nomos peer runtime is not booted");
35407
36076
  return frameToBase64(await peer.invoke(frameFromBase64(frameBase64)));
35408
36077
  };
36078
+ window.__nomosKernelWorkSnapshot = () => peer ? toJsonString(KernelWorkSnapshotSchema, peer.kernelWorkSnapshot()) : void 0;
35409
36079
  window.NomosRunner = {
35410
36080
  version: 2,
35411
36081
  dispose: () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@githolon/runtime",
3
- "version": "0.112.5",
3
+ "version": "0.112.7",
4
4
  "type": "module",
5
5
  "description": "The portable Nomos application runtime, reception contracts, and Node/browser runners.",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -6490,6 +6490,9 @@ init_define_NOMOS_KERNEL_RELEASE();
6490
6490
  // ../../adapter/git-fs.ts
6491
6491
  init_define_NOMOS_KERNEL_RELEASE();
6492
6492
 
6493
+ // ../../adapter/amortized_memory_file.ts
6494
+ init_define_NOMOS_KERNEL_RELEASE();
6495
+
6493
6496
  // ../../adapter/kernel_call_desk.ts
6494
6497
  init_define_NOMOS_KERNEL_RELEASE();
6495
6498
  var PROTOCOL_VERSION = 1;