@noopolis/daimon 0.2.0 → 0.2.2

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 (261) hide show
  1. package/README.md +6 -0
  2. package/dist/contracts/attentionContract.d.ts +25 -0
  3. package/dist/contracts/attentionContract.d.ts.map +1 -1
  4. package/dist/contracts/attentionContract.js +8 -1
  5. package/dist/contracts/grokBrokerTaskClock.d.ts +18 -0
  6. package/dist/contracts/grokBrokerTaskClock.d.ts.map +1 -0
  7. package/dist/contracts/grokBrokerTaskClock.js +16 -0
  8. package/dist/contracts/organizationRuntimeContract.d.ts +76 -0
  9. package/dist/contracts/organizationRuntimeContract.d.ts.map +1 -1
  10. package/dist/contracts/organizationRuntimeContract.js +2 -0
  11. package/dist/contracts/runtimeContractManifest.d.ts +222 -15
  12. package/dist/contracts/runtimeContractManifest.d.ts.map +1 -1
  13. package/dist/contracts/runtimeContractManifest.js +35 -10
  14. package/dist/contracts/shellEnvironmentPolicy.d.ts +3 -0
  15. package/dist/contracts/shellEnvironmentPolicy.d.ts.map +1 -0
  16. package/dist/contracts/shellEnvironmentPolicy.js +5 -0
  17. package/dist/contracts/wakeMomentContract.d.ts +61 -0
  18. package/dist/contracts/wakeMomentContract.d.ts.map +1 -0
  19. package/dist/contracts/wakeMomentContract.js +27 -0
  20. package/dist/core/types.d.ts +2 -0
  21. package/dist/core/types.d.ts.map +1 -1
  22. package/dist/examples/jungianPlayAgent.d.ts +1 -0
  23. package/dist/examples/jungianPlayAgent.d.ts.map +1 -1
  24. package/dist/examples/jungianPlayAgent.js +6 -2
  25. package/dist/observability/causalEvents.d.ts +3 -3
  26. package/dist/observability/causalEvents.d.ts.map +1 -1
  27. package/dist/observability/causalEvents.js +4 -4
  28. package/dist/pi/cliEngineSpawn.d.ts +2 -2
  29. package/dist/pi/cliEngineSpawn.d.ts.map +1 -1
  30. package/dist/pi/cliEngineSpawn.js +7 -2
  31. package/dist/pi/cliEnvironment.d.ts.map +1 -1
  32. package/dist/pi/cliEnvironment.js +2 -0
  33. package/dist/pi/cliMcpRegistration.d.ts +1 -1
  34. package/dist/pi/cliMcpRegistration.d.ts.map +1 -1
  35. package/dist/pi/cliMcpRegistration.js +1 -1
  36. package/dist/pi/cliSession.d.ts +2 -0
  37. package/dist/pi/cliSession.d.ts.map +1 -1
  38. package/dist/pi/cliSession.js +3 -80
  39. package/dist/pi/cliSessionMcp.d.ts +9 -0
  40. package/dist/pi/cliSessionMcp.d.ts.map +1 -0
  41. package/dist/pi/cliSessionMcp.js +80 -0
  42. package/dist/pi/engineTaskClock.d.ts +9 -0
  43. package/dist/pi/engineTaskClock.d.ts.map +1 -0
  44. package/dist/pi/engineTaskClock.js +28 -0
  45. package/dist/pi/grokHomeMcpRegistration.d.ts.map +1 -1
  46. package/dist/pi/grokHomeMcpRegistration.js +2 -1
  47. package/dist/pi/grokSandbox.js +1 -1
  48. package/dist/pi/memoryClock.d.ts +25 -0
  49. package/dist/pi/memoryClock.d.ts.map +1 -0
  50. package/dist/pi/memoryClock.js +18 -0
  51. package/dist/pi/piAgentHandle.d.ts +3 -1
  52. package/dist/pi/piAgentHandle.d.ts.map +1 -1
  53. package/dist/pi/piAgentHandle.js +5 -2
  54. package/dist/pi/piHarness.d.ts +8 -2
  55. package/dist/pi/piHarness.d.ts.map +1 -1
  56. package/dist/pi/piHarness.js +28 -12
  57. package/dist/pi/taskClockProcess.d.ts +6 -0
  58. package/dist/pi/taskClockProcess.d.ts.map +1 -0
  59. package/dist/pi/taskClockProcess.js +8 -0
  60. package/dist/pi/turnCausal.d.ts +4 -2
  61. package/dist/pi/turnCausal.d.ts.map +1 -1
  62. package/dist/pi/turnCausal.js +4 -4
  63. package/dist/pi/wakeAcceptance.d.ts +1 -1
  64. package/dist/pi/wakeAcceptance.d.ts.map +1 -1
  65. package/dist/pi/wakeAcceptance.js +2 -2
  66. package/dist/runtime/agentSkillsDirectory.d.ts +25 -0
  67. package/dist/runtime/agentSkillsDirectory.d.ts.map +1 -0
  68. package/dist/runtime/agentSkillsDirectory.js +101 -0
  69. package/dist/runtime/agySubscriptionBootstrap.js +1 -1
  70. package/dist/runtime/agySubscriptionRealm.js +1 -1
  71. package/dist/runtime/attention.d.ts +5 -0
  72. package/dist/runtime/attention.d.ts.map +1 -1
  73. package/dist/runtime/attention.js +14 -1
  74. package/dist/runtime/attentionDispatcher.d.ts +14 -2
  75. package/dist/runtime/attentionDispatcher.d.ts.map +1 -1
  76. package/dist/runtime/attentionDispatcher.js +127 -33
  77. package/dist/runtime/cli.js +5 -0
  78. package/dist/runtime/contract-manifest.json +1 -1
  79. package/dist/runtime/contract-manifest.sha256 +1 -1
  80. package/dist/runtime/engineBrokerCapabilities.d.ts +10 -0
  81. package/dist/runtime/engineBrokerCapabilities.d.ts.map +1 -1
  82. package/dist/runtime/engineBrokerCapabilities.js +10 -0
  83. package/dist/runtime/engineBrokerControlClient.d.ts +12 -1
  84. package/dist/runtime/engineBrokerControlClient.d.ts.map +1 -1
  85. package/dist/runtime/engineBrokerControlClient.js +139 -43
  86. package/dist/runtime/engineBrokerCredentialJournal.d.ts +2 -0
  87. package/dist/runtime/engineBrokerCredentialJournal.d.ts.map +1 -1
  88. package/dist/runtime/engineBrokerCredentialJournal.js +9 -0
  89. package/dist/runtime/engineBrokerInferenceProtocol.d.ts +3 -2
  90. package/dist/runtime/engineBrokerInferenceProtocol.d.ts.map +1 -1
  91. package/dist/runtime/engineBrokerInferenceProtocol.js +4 -4
  92. package/dist/runtime/engineBrokerMcpCallLog.d.ts +11 -0
  93. package/dist/runtime/engineBrokerMcpCallLog.d.ts.map +1 -1
  94. package/dist/runtime/engineBrokerMcpCallLog.js +13 -1
  95. package/dist/runtime/engineBrokerMcpFacade.d.ts +5 -2
  96. package/dist/runtime/engineBrokerMcpFacade.d.ts.map +1 -1
  97. package/dist/runtime/engineBrokerMcpFacade.js +5 -2
  98. package/dist/runtime/engineBrokerNativeClient.js +2 -2
  99. package/dist/runtime/engineBrokerProtocol.d.ts +42 -10
  100. package/dist/runtime/engineBrokerProtocol.d.ts.map +1 -1
  101. package/dist/runtime/engineBrokerProtocol.js +97 -14
  102. package/dist/runtime/engineBrokerSealLedger.d.ts.map +1 -1
  103. package/dist/runtime/engineBrokerSealLedger.js +9 -0
  104. package/dist/runtime/engineBrokerService.d.ts +8 -2
  105. package/dist/runtime/engineBrokerService.d.ts.map +1 -1
  106. package/dist/runtime/engineBrokerService.js +95 -37
  107. package/dist/runtime/engineBrokerServiceCli.js +1 -1
  108. package/dist/runtime/engineBrokerServiceConfig.d.ts +15 -2
  109. package/dist/runtime/engineBrokerServiceConfig.d.ts.map +1 -1
  110. package/dist/runtime/engineBrokerServiceConfig.js +53 -11
  111. package/dist/runtime/engineBrokerTurnRegistry.d.ts +1 -1
  112. package/dist/runtime/engineBrokerTurnRegistry.d.ts.map +1 -1
  113. package/dist/runtime/engineBrokerTurnRegistry.js +7 -6
  114. package/dist/runtime/engineDispatcher.d.ts +2 -0
  115. package/dist/runtime/engineDispatcher.d.ts.map +1 -1
  116. package/dist/runtime/engineDispatcher.js +14 -2
  117. package/dist/runtime/engineReadiness.js +1 -1
  118. package/dist/runtime/grokBrokerCredentialAuthority.d.ts +1 -0
  119. package/dist/runtime/grokBrokerCredentialAuthority.d.ts.map +1 -1
  120. package/dist/runtime/grokBrokerCredentialAuthority.js +48 -22
  121. package/dist/runtime/grokBrokerCredentialReader.d.ts +1 -0
  122. package/dist/runtime/grokBrokerCredentialReader.d.ts.map +1 -1
  123. package/dist/runtime/grokBrokerCredentialReader.js +2 -1
  124. package/dist/runtime/grokBrokerProjection.d.ts +26 -2
  125. package/dist/runtime/grokBrokerProjection.d.ts.map +1 -1
  126. package/dist/runtime/grokBrokerProjection.js +18 -7
  127. package/dist/runtime/grokBrokerProviderClock.d.ts +26 -0
  128. package/dist/runtime/grokBrokerProviderClock.d.ts.map +1 -0
  129. package/dist/runtime/grokBrokerProviderClock.js +133 -0
  130. package/dist/runtime/grokBrokerProxy.d.ts +17 -3
  131. package/dist/runtime/grokBrokerProxy.d.ts.map +1 -1
  132. package/dist/runtime/grokBrokerProxy.js +73 -9
  133. package/dist/runtime/grokBrokerProxyJson.d.ts +10 -0
  134. package/dist/runtime/grokBrokerProxyJson.d.ts.map +1 -0
  135. package/dist/runtime/grokBrokerProxyJson.js +31 -0
  136. package/dist/runtime/grokBrokerProxyRequest.d.ts.map +1 -1
  137. package/dist/runtime/grokBrokerProxyRequest.js +17 -6
  138. package/dist/runtime/grokBrokerRealmLease.js +1 -1
  139. package/dist/runtime/grokBrokerRefresh.js +1 -1
  140. package/dist/runtime/grokBrokerRunBudget.d.ts +20 -0
  141. package/dist/runtime/grokBrokerRunBudget.d.ts.map +1 -0
  142. package/dist/runtime/grokBrokerRunBudget.js +85 -0
  143. package/dist/runtime/grokBrokerSlot.d.ts +6 -0
  144. package/dist/runtime/grokBrokerSlot.d.ts.map +1 -0
  145. package/dist/runtime/grokBrokerSlot.js +21 -0
  146. package/dist/runtime/grokBrokerTaskClock.d.ts +32 -0
  147. package/dist/runtime/grokBrokerTaskClock.d.ts.map +1 -0
  148. package/dist/runtime/grokBrokerTaskClock.js +120 -0
  149. package/dist/runtime/grokBrokerTurnMeter.d.ts +55 -3
  150. package/dist/runtime/grokBrokerTurnMeter.d.ts.map +1 -1
  151. package/dist/runtime/grokBrokerTurnMeter.js +90 -4
  152. package/dist/runtime/grokBrokerWorkerConfig.d.ts +5 -2
  153. package/dist/runtime/grokBrokerWorkerConfig.d.ts.map +1 -1
  154. package/dist/runtime/grokBrokerWorkerConfig.js +22 -3
  155. package/dist/runtime/grokEngineBroker.d.ts +43 -3
  156. package/dist/runtime/grokEngineBroker.d.ts.map +1 -1
  157. package/dist/runtime/grokEngineBroker.js +159 -71
  158. package/dist/runtime/grokEngineBrokerTurn.d.ts +32 -8
  159. package/dist/runtime/grokEngineBrokerTurn.d.ts.map +1 -1
  160. package/dist/runtime/grokEngineBrokerTurn.js +204 -21
  161. package/dist/runtime/grokEngineBrokerTurnEnd.d.ts +88 -0
  162. package/dist/runtime/grokEngineBrokerTurnEnd.d.ts.map +1 -0
  163. package/dist/runtime/grokEngineBrokerTurnEnd.js +148 -0
  164. package/dist/runtime/grokInferenceProxy.d.ts.map +1 -1
  165. package/dist/runtime/grokInferenceProxy.js +3 -0
  166. package/dist/runtime/grokSubscriptionRealm.js +1 -1
  167. package/dist/runtime/grokWorkerAttestation.d.ts +12 -5
  168. package/dist/runtime/grokWorkerAttestation.d.ts.map +1 -1
  169. package/dist/runtime/grokWorkerAttestation.js +5 -3
  170. package/dist/runtime/grokWorkerHomeAttestation.d.ts +51 -5
  171. package/dist/runtime/grokWorkerHomeAttestation.d.ts.map +1 -1
  172. package/dist/runtime/grokWorkerHomeAttestation.js +103 -8
  173. package/dist/runtime/grokWorkerSkills.d.ts +86 -0
  174. package/dist/runtime/grokWorkerSkills.d.ts.map +1 -0
  175. package/dist/runtime/grokWorkerSkills.js +135 -0
  176. package/dist/runtime/index.d.ts +10 -2
  177. package/dist/runtime/index.d.ts.map +1 -1
  178. package/dist/runtime/index.js +8 -1
  179. package/dist/runtime/native/daimon-engine-broker +0 -0
  180. package/dist/runtime/organizationRuntime.d.ts +3 -0
  181. package/dist/runtime/organizationRuntime.d.ts.map +1 -1
  182. package/dist/runtime/organizationRuntimeAdmission.d.ts +6 -0
  183. package/dist/runtime/organizationRuntimeAdmission.d.ts.map +1 -0
  184. package/dist/runtime/organizationRuntimeAdmission.js +22 -0
  185. package/dist/runtime/organizationRuntimeControl.d.ts +9 -0
  186. package/dist/runtime/organizationRuntimeControl.d.ts.map +1 -1
  187. package/dist/runtime/organizationRuntimeControl.js +72 -24
  188. package/dist/runtime/organizationRuntimeHost.d.ts.map +1 -1
  189. package/dist/runtime/organizationRuntimeHost.js +13 -4
  190. package/dist/runtime/organizationRuntimeParsing.d.ts.map +1 -1
  191. package/dist/runtime/organizationRuntimeParsing.js +4 -1
  192. package/dist/runtime/organizationRuntimeReadiness.d.ts.map +1 -1
  193. package/dist/runtime/organizationRuntimeReadiness.js +8 -0
  194. package/dist/runtime/organizationRuntimeRecording.d.ts +7 -0
  195. package/dist/runtime/organizationRuntimeRecording.d.ts.map +1 -0
  196. package/dist/runtime/organizationRuntimeRecording.js +58 -0
  197. package/dist/runtime/physicalReadiness.d.ts +12 -0
  198. package/dist/runtime/physicalReadiness.d.ts.map +1 -1
  199. package/dist/runtime/physicalReadiness.js +43 -9
  200. package/dist/runtime/productionAgentTools.d.ts.map +1 -1
  201. package/dist/runtime/productionAgentTools.js +13 -5
  202. package/dist/runtime/relocateRuntimeConfig.d.ts +14 -0
  203. package/dist/runtime/relocateRuntimeConfig.d.ts.map +1 -0
  204. package/dist/runtime/relocateRuntimeConfig.js +38 -0
  205. package/dist/runtime/schedule.d.ts.map +1 -1
  206. package/dist/runtime/schedule.js +12 -7
  207. package/dist/runtime/storeCoordination.d.ts +10 -0
  208. package/dist/runtime/storeCoordination.d.ts.map +1 -1
  209. package/dist/runtime/storeCoordination.js +23 -0
  210. package/dist/runtime/taskClock.d.ts +42 -0
  211. package/dist/runtime/taskClock.d.ts.map +1 -0
  212. package/dist/runtime/taskClock.js +102 -0
  213. package/dist/runtime/taskClockProcess.d.ts +17 -0
  214. package/dist/runtime/taskClockProcess.d.ts.map +1 -0
  215. package/dist/runtime/taskClockProcess.js +58 -0
  216. package/dist/runtime/turnRequestLedger.d.ts +0 -5
  217. package/dist/runtime/turnRequestLedger.d.ts.map +1 -1
  218. package/dist/runtime/turnRequestLedger.js +23 -21
  219. package/dist/runtime/wakeAcceptanceClaimDiagnostics.d.ts +34 -0
  220. package/dist/runtime/wakeAcceptanceClaimDiagnostics.d.ts.map +1 -0
  221. package/dist/runtime/wakeAcceptanceClaimDiagnostics.js +79 -0
  222. package/dist/runtime/wakeAcceptanceIndex.d.ts +55 -0
  223. package/dist/runtime/wakeAcceptanceIndex.d.ts.map +1 -0
  224. package/dist/runtime/wakeAcceptanceIndex.js +158 -0
  225. package/dist/runtime/wakeAcceptanceProcessIdentity.d.ts +9 -1
  226. package/dist/runtime/wakeAcceptanceProcessIdentity.d.ts.map +1 -1
  227. package/dist/runtime/wakeAcceptanceProcessIdentity.js +5 -1
  228. package/dist/runtime/wakeAcceptanceRecord.d.ts +2 -0
  229. package/dist/runtime/wakeAcceptanceRecord.d.ts.map +1 -1
  230. package/dist/runtime/wakeAcceptanceRecord.js +4 -2
  231. package/dist/runtime/wakeAcceptanceRetention.d.ts +25 -1
  232. package/dist/runtime/wakeAcceptanceRetention.d.ts.map +1 -1
  233. package/dist/runtime/wakeAcceptanceRetention.js +28 -2
  234. package/dist/runtime/wakeAcceptanceStore.d.ts +8 -8
  235. package/dist/runtime/wakeAcceptanceStore.d.ts.map +1 -1
  236. package/dist/runtime/wakeAcceptanceStore.js +66 -63
  237. package/dist/runtime/wakeFuse.d.ts +58 -3
  238. package/dist/runtime/wakeFuse.d.ts.map +1 -1
  239. package/dist/runtime/wakeFuse.js +106 -7
  240. package/dist/runtime/wakeMomentFs.d.ts +27 -0
  241. package/dist/runtime/wakeMomentFs.d.ts.map +1 -0
  242. package/dist/runtime/wakeMomentFs.js +223 -0
  243. package/dist/runtime/wakeMomentHistory.d.ts +26 -0
  244. package/dist/runtime/wakeMomentHistory.d.ts.map +1 -0
  245. package/dist/runtime/wakeMomentHistory.js +109 -0
  246. package/dist/runtime/wakeMomentIo.d.ts +22 -0
  247. package/dist/runtime/wakeMomentIo.d.ts.map +1 -0
  248. package/dist/runtime/wakeMomentIo.js +114 -0
  249. package/dist/runtime/wakeMomentRecorder.d.ts +33 -0
  250. package/dist/runtime/wakeMomentRecorder.d.ts.map +1 -0
  251. package/dist/runtime/wakeMomentRecorder.js +81 -0
  252. package/dist/runtime/wakeMomentRetention.d.ts +7 -0
  253. package/dist/runtime/wakeMomentRetention.d.ts.map +1 -0
  254. package/dist/runtime/wakeMomentRetention.js +143 -0
  255. package/dist/runtime/wakeMomentRows.d.ts +8 -0
  256. package/dist/runtime/wakeMomentRows.d.ts.map +1 -0
  257. package/dist/runtime/wakeMomentRows.js +66 -0
  258. package/dist/runtime/wakeMomentSnapshot.d.ts +56 -0
  259. package/dist/runtime/wakeMomentSnapshot.d.ts.map +1 -0
  260. package/dist/runtime/wakeMomentSnapshot.js +248 -0
  261. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"grokWorkerAttestation.d.ts","sourceRoot":"","sources":["../../src/runtime/grokWorkerAttestation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"grokWorkerAttestation.d.ts","sourceRoot":"","sources":["../../src/runtime/grokWorkerAttestation.ts"],"names":[],"mappings":"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"}
@@ -64,7 +64,8 @@ export function parseGrokWorkerSandboxProfile(bytes, profileSha256) {
64
64
  * the events watermark it requires the 1.0.34 layout: events under
65
65
  * `$GROK_HOME/sessions/` (the root `sandbox-events.jsonl` stays empty on
66
66
  * 1.0.34), and a root-owned read-only worker home whose `config.toml` hashes to
67
- * the declared renderer output (`grokWorkerHomeAttestation.ts`).
67
+ * the declared renderer output and whose `skills/` is exactly the declared
68
+ * skills (`skillsSha256`; absent for none) (`grokWorkerHomeAttestation.ts`).
68
69
  *
69
70
  * It also refuses a deny list bubblewrap could not materialize
70
71
  * (`grokWorkerDenyPlacement.ts`), naming the entry and the ancestor that stops
@@ -100,11 +101,12 @@ export async function prepareGrokWorkerAttestation(input, profileOwner = { uid:
100
101
  if (workers.some((worker) => worker.home === undefined))
101
102
  throw new Error("Grok worker isolation attestation unavailable");
102
103
  await verifyGrokWorkerTmp(workers, profileOwner.tmp);
103
- await verifyGrokWorkerHome(path.dirname(input.profilePath), input.configSha256);
104
+ // The home's read-only files share the profile's owner (root in production: `sandbox.toml` is one of them).
105
+ const configVariant = await verifyGrokWorkerHome(path.dirname(input.profilePath), input.configSha256, profileOwner.uid, input.skillsSha256);
104
106
  const events = await secureOpen(input.eventsPath, input.workerUid, input.brokerGid, 0o640, 16 * 1024 * 1024);
105
107
  try {
106
108
  const stat = await events.stat();
107
- return { dev: Number(stat.dev), ino: Number(stat.ino), size: Number(stat.size), denyPaths };
109
+ return { dev: Number(stat.dev), ino: Number(stat.ino), size: Number(stat.size), denyPaths, configVariant };
108
110
  }
109
111
  finally {
110
112
  await events.close();
@@ -1,4 +1,6 @@
1
1
  import { type Stats } from "node:fs";
2
+ import type { GrokWorkerConfigVariant } from "../contracts/grokBrokerTaskClock.js";
3
+ export type GrokWorkerConfigPins = string | Readonly<Record<GrokWorkerConfigVariant, string>>;
2
4
  type Entry = Pick<Stats, "uid" | "mode" | "nlink"> & Partial<Pick<Stats, "dev" | "ino">> & Readonly<{
3
5
  isFile(): boolean;
4
6
  isDirectory(): boolean;
@@ -11,7 +13,7 @@ type Entry = Pick<Stats, "uid" | "mode" | "nlink"> & Partial<Pick<Stats, "dev" |
11
13
  * so the directory is worker-group writable — but root-owned and sticky, so a
12
14
  * worker can neither rename nor unlink a root-owned file in it. Every file
13
15
  * that decides a turn's behaviour is root-owned with no write bit: `config.toml`
14
- * (model, effort, MCP, skills), `sandbox.toml`, `trusted_folders.toml` (trust
16
+ * (model, effort, MCP, bundled-skill toggles), `sandbox.toml`, `trusted_folders.toml` (trust
15
17
  * would re-enable cwd `AGENTS.md` and project skills), and the managed and
16
18
  * requirements layers that can override user config. A missing file fails
17
19
  * too: the worker could create it.
@@ -20,11 +22,55 @@ type Entry = Pick<Stats, "uid" | "mode" | "nlink"> & Partial<Pick<Stats, "dev" |
20
22
  */
21
23
  export declare function assertGrokWorkerHomeEntries(entries: Readonly<Record<string, Entry | undefined>>, rootUid?: number): void;
22
24
  /** The worker's `config.toml` must be exactly the renderer's bytes for the declared policy. */
23
- export declare function assertGrokWorkerConfigBytes(bytes: Uint8Array, configSha256: string): void;
25
+ export declare function assertGrokWorkerConfigBytes(bytes: Uint8Array, pins: GrokWorkerConfigPins): GrokWorkerConfigVariant;
24
26
  /**
25
- * Attests the worker home layout and that `config.toml` is exactly the
26
- * renderer's bytes for the declared model policy (`configSha256`).
27
+ * The worker's `$GROK_HOME/skills` must be exactly the declared skills.
28
+ *
29
+ * Grok loads that directory as user-scoped skills even in an untrusted
30
+ * workspace, and `$GROK_HOME` is worker-group writable, so a worker could plant
31
+ * a skill there for its next turn. With no `skillsSha256` declared the
32
+ * directory must be absent (or an empty root-owned read-only directory); with
33
+ * one declared, every entry must be root-owned with no write bit and the tree
34
+ * must hash to it. A worker-created or worker-modified tree fails either way.
35
+ */
36
+ export declare function verifyGrokWorkerSkills(grokHome: string, skillsSha256: string | undefined, rootUid?: number): Promise<void>;
37
+ /**
38
+ * Every other skill root Grok discovers at user scope, which the worker could
39
+ * plant into: under `$GROK_HOME` (root-owned but worker-group writable and
40
+ * sticky, so the worker can create new entries) and under the worker's own
41
+ * `$HOME` (the launcher exports `HOME=<home>` and `GROK_HOME=<home>/.grok`;
42
+ * `<home>` is worker-owned). Only `$GROK_HOME/skills` may carry skills, and only
43
+ * the declared ones; each root here must be absent, or an empty root-owned
44
+ * directory with no write bit.
45
+ *
46
+ * Set from `grok inspect` with scratch `HOME`/`GROK_HOME` and no network
47
+ * (1.0.60: every root below listed a planted skill or command; `.codex/skills`,
48
+ * `.ai/skills`, `$HOME/.config/*` and `$HOME/.agents/plugins` did not) and from
49
+ * the pinned 1.0.34 binary's own skills table (`~/.grok/{skills,commands}`,
50
+ * `~/.claude/{skills,commands}`, `~/.cursor/skills`, `.agents/{skills,commands}`
51
+ * at each tier). `bundled/skills` is the bundled-skill cache: never created on
52
+ * 1.0.34 (P0 container evidence), but a skill planted there loads with a name
53
+ * `[skills] disabled` does not cover. `plugins/` folders load their skills and
54
+ * commands as trusted user plugins.
55
+ */
56
+ export declare const GROK_WORKER_FOREIGN_SKILL_ROOTS: Readonly<{
57
+ grokHome: readonly ["commands", "bundled/skills", "plugins"];
58
+ home: readonly [".agents/skills", ".agents/commands", ".claude/skills", ".claude/commands", ".cursor/skills", ".cursor/commands"];
59
+ }>;
60
+ /**
61
+ * Refuses a foreign skill root (`GROK_WORKER_FOREIGN_SKILL_ROOTS`) that exists
62
+ * and is not an empty root-owned read-only directory. A deployment that never
63
+ * creates them passes unchanged. `grokHome` must be `<home>/.grok`, the
64
+ * launcher's layout, so `<home>` is its parent.
65
+ */
66
+ export declare function verifyGrokWorkerForeignSkillRoots(grokHome: string, rootUid?: number): Promise<void>;
67
+ /**
68
+ * Attests the worker home layout, that `config.toml` is exactly the
69
+ * renderer's bytes for the declared model policy (`configSha256`), that
70
+ * `skills/` is exactly the declared skills (`skillsSha256`, absent for none),
71
+ * and that no other user skill root holds anything
72
+ * (`verifyGrokWorkerForeignSkillRoots`).
27
73
  */
28
- export declare function verifyGrokWorkerHome(grokHome: string, configSha256: string, rootUid?: number): Promise<void>;
74
+ export declare function verifyGrokWorkerHome(grokHome: string, configSha256: GrokWorkerConfigPins, rootUid?: number, skillsSha256?: string): Promise<GrokWorkerConfigVariant>;
29
75
  export {};
30
76
  //# sourceMappingURL=grokWorkerHomeAttestation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"grokWorkerHomeAttestation.d.ts","sourceRoot":"","sources":["../../src/runtime/grokWorkerHomeAttestation.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAMhD,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC;IAAE,MAAM,IAAI,OAAO,CAAC;IAAC,WAAW,IAAI,OAAO,CAAC;IAAC,cAAc,IAAI,OAAO,CAAA;CAAE,CAAC,CAAC;AAG9K;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,GAAE,MAA2B,GAAG,IAAI,CAS5I;AAED,+FAA+F;AAC/F,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAEzF;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAE,MAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAetI"}
1
+ {"version":3,"file":"grokWorkerHomeAttestation.d.ts","sourceRoot":"","sources":["../../src/runtime/grokWorkerHomeAttestation.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAKhD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAInF,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAC;AAE9F,KAAK,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC;IAAE,MAAM,IAAI,OAAO,CAAC;IAAC,WAAW,IAAI,OAAO,CAAC;IAAC,cAAc,IAAI,OAAO,CAAA;CAAE,CAAC,CAAC;AAG9K;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,GAAG,SAAS,CAAC,CAAC,EAAE,OAAO,GAAE,MAA2B,GAAG,IAAI,CAS5I;AAED,+FAA+F;AAC/F,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,oBAAoB,GAAG,uBAAuB,CAQlH;AAED;;;;;;;;;GASG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,GAAE,MAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAKpJ;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,+BAA+B;;;EAG1C,CAAC;AAEH;;;;;GAKG;AACH,wBAAsB,iCAAiC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAgB7H;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,OAAO,GAAE,MAA2B,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAkB9L"}
@@ -1,8 +1,10 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { constants } from "node:fs";
3
- import { lstat, open } from "node:fs/promises";
3
+ import { lstat, open, readdir } from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import { GROK_ENGINE_BROKER } from "../contracts/runtimeContractManifest.js";
6
+ import { readAgentSkillsDirectory } from "./agentSkillsDirectory.js";
7
+ import { GROK_WORKER_SKILLS_LAYOUT, grokWorkerSkillsSha256 } from "./grokWorkerSkills.js";
6
8
  const HOME = GROK_ENGINE_BROKER.worker.home;
7
9
  /**
8
10
  * The worker must not be able to change what Grok reads before its next turn.
@@ -11,7 +13,7 @@ const HOME = GROK_ENGINE_BROKER.worker.home;
11
13
  * so the directory is worker-group writable — but root-owned and sticky, so a
12
14
  * worker can neither rename nor unlink a root-owned file in it. Every file
13
15
  * that decides a turn's behaviour is root-owned with no write bit: `config.toml`
14
- * (model, effort, MCP, skills), `sandbox.toml`, `trusted_folders.toml` (trust
16
+ * (model, effort, MCP, bundled-skill toggles), `sandbox.toml`, `trusted_folders.toml` (trust
15
17
  * would re-enable cwd `AGENTS.md` and project skills), and the managed and
16
18
  * requirements layers that can override user config. A missing file fails
17
19
  * too: the worker could create it.
@@ -30,15 +32,105 @@ export function assertGrokWorkerHomeEntries(entries, rootUid = HOME.directory.ui
30
32
  }
31
33
  }
32
34
  /** The worker's `config.toml` must be exactly the renderer's bytes for the declared policy. */
33
- export function assertGrokWorkerConfigBytes(bytes, configSha256) {
34
- if (!/^[0-9a-f]{64}$/u.test(configSha256) || createHash("sha256").update(bytes).digest("hex") !== configSha256)
35
+ export function assertGrokWorkerConfigBytes(bytes, pins) {
36
+ const digest = createHash("sha256").update(bytes).digest("hex");
37
+ const variants = typeof pins === "string" ? { unclocked: pins } : pins;
38
+ for (const variant of ["unclocked", "clocked"]) {
39
+ const pin = variants[variant];
40
+ if (pin !== undefined && /^[0-9a-f]{64}$/u.test(pin) && digest === pin)
41
+ return variant;
42
+ }
43
+ throw unavailable();
44
+ }
45
+ /**
46
+ * The worker's `$GROK_HOME/skills` must be exactly the declared skills.
47
+ *
48
+ * Grok loads that directory as user-scoped skills even in an untrusted
49
+ * workspace, and `$GROK_HOME` is worker-group writable, so a worker could plant
50
+ * a skill there for its next turn. With no `skillsSha256` declared the
51
+ * directory must be absent (or an empty root-owned read-only directory); with
52
+ * one declared, every entry must be root-owned with no write bit and the tree
53
+ * must hash to it. A worker-created or worker-modified tree fails either way.
54
+ */
55
+ export async function verifyGrokWorkerSkills(grokHome, skillsSha256, rootUid = HOME.directory.uid) {
56
+ if (skillsSha256 !== undefined && !/^[0-9a-f]{64}$/u.test(skillsSha256))
57
+ throw unavailable();
58
+ let skills;
59
+ try {
60
+ skills = await readAgentSkillsDirectory(path.join(grokHome, GROK_WORKER_SKILLS_LAYOUT.relativePath), { ownerUid: rootUid, readOnly: true });
61
+ }
62
+ catch {
63
+ throw unavailable();
64
+ }
65
+ if (grokWorkerSkillsSha256(skills ?? []) !== (skillsSha256 ?? grokWorkerSkillsSha256([])))
66
+ throw unavailable();
67
+ }
68
+ /**
69
+ * Every other skill root Grok discovers at user scope, which the worker could
70
+ * plant into: under `$GROK_HOME` (root-owned but worker-group writable and
71
+ * sticky, so the worker can create new entries) and under the worker's own
72
+ * `$HOME` (the launcher exports `HOME=<home>` and `GROK_HOME=<home>/.grok`;
73
+ * `<home>` is worker-owned). Only `$GROK_HOME/skills` may carry skills, and only
74
+ * the declared ones; each root here must be absent, or an empty root-owned
75
+ * directory with no write bit.
76
+ *
77
+ * Set from `grok inspect` with scratch `HOME`/`GROK_HOME` and no network
78
+ * (1.0.60: every root below listed a planted skill or command; `.codex/skills`,
79
+ * `.ai/skills`, `$HOME/.config/*` and `$HOME/.agents/plugins` did not) and from
80
+ * the pinned 1.0.34 binary's own skills table (`~/.grok/{skills,commands}`,
81
+ * `~/.claude/{skills,commands}`, `~/.cursor/skills`, `.agents/{skills,commands}`
82
+ * at each tier). `bundled/skills` is the bundled-skill cache: never created on
83
+ * 1.0.34 (P0 container evidence), but a skill planted there loads with a name
84
+ * `[skills] disabled` does not cover. `plugins/` folders load their skills and
85
+ * commands as trusted user plugins.
86
+ */
87
+ export const GROK_WORKER_FOREIGN_SKILL_ROOTS = Object.freeze({
88
+ grokHome: Object.freeze(["commands", "bundled/skills", "plugins"]),
89
+ home: Object.freeze([".agents/skills", ".agents/commands", ".claude/skills", ".claude/commands", ".cursor/skills", ".cursor/commands"])
90
+ });
91
+ /**
92
+ * Refuses a foreign skill root (`GROK_WORKER_FOREIGN_SKILL_ROOTS`) that exists
93
+ * and is not an empty root-owned read-only directory. A deployment that never
94
+ * creates them passes unchanged. `grokHome` must be `<home>/.grok`, the
95
+ * launcher's layout, so `<home>` is its parent.
96
+ */
97
+ export async function verifyGrokWorkerForeignSkillRoots(grokHome, rootUid = HOME.directory.uid) {
98
+ if (path.basename(grokHome) !== ".grok")
35
99
  throw unavailable();
100
+ const home = path.dirname(grokHome);
101
+ const roots = [...GROK_WORKER_FOREIGN_SKILL_ROOTS.grokHome.map((root) => path.join(grokHome, root)), ...GROK_WORKER_FOREIGN_SKILL_ROOTS.home.map((root) => path.join(home, root))];
102
+ for (const root of roots) {
103
+ let entry;
104
+ try {
105
+ entry = await lstat(root);
106
+ }
107
+ catch (error) {
108
+ // Absent, or a parent that is not a directory: Grok finds nothing there either.
109
+ if (["ENOENT", "ENOTDIR"].includes(error.code ?? ""))
110
+ continue;
111
+ throw unavailable();
112
+ }
113
+ if (entry.isSymbolicLink() || !entry.isDirectory() || entry.uid !== rootUid || (Number(entry.mode) & 0o7222) !== 0)
114
+ throw unavailable();
115
+ let children;
116
+ try {
117
+ children = await readdir(root);
118
+ }
119
+ catch {
120
+ throw unavailable();
121
+ }
122
+ if (children.length !== 0)
123
+ throw unavailable();
124
+ }
36
125
  }
37
126
  /**
38
- * Attests the worker home layout and that `config.toml` is exactly the
39
- * renderer's bytes for the declared model policy (`configSha256`).
127
+ * Attests the worker home layout, that `config.toml` is exactly the
128
+ * renderer's bytes for the declared model policy (`configSha256`), that
129
+ * `skills/` is exactly the declared skills (`skillsSha256`, absent for none),
130
+ * and that no other user skill root holds anything
131
+ * (`verifyGrokWorkerForeignSkillRoots`).
40
132
  */
41
- export async function verifyGrokWorkerHome(grokHome, configSha256, rootUid = HOME.directory.uid) {
133
+ export async function verifyGrokWorkerHome(grokHome, configSha256, rootUid = HOME.directory.uid, skillsSha256) {
42
134
  const entries = {};
43
135
  for (const name of [".", HOME.sessionsDirectory.relativePath, ...HOME.readOnlyFiles.names]) {
44
136
  try {
@@ -57,7 +149,10 @@ export async function verifyGrokWorkerHome(grokHome, configSha256, rootUid = HOM
57
149
  // Same inode as the lstat above, as in `secureOpen`: a rename between the two cannot swap in other bytes.
58
150
  if (!opened.isFile() || opened.size > 65_536 || opened.dev !== before.dev || opened.ino !== before.ino || opened.uid !== before.uid || opened.mode !== before.mode || opened.nlink !== 1)
59
151
  throw unavailable();
60
- assertGrokWorkerConfigBytes(await handle.readFile(), configSha256);
152
+ const variant = assertGrokWorkerConfigBytes(await handle.readFile(), configSha256);
153
+ await verifyGrokWorkerSkills(grokHome, skillsSha256, rootUid);
154
+ await verifyGrokWorkerForeignSkillRoots(grokHome, rootUid);
155
+ return variant;
61
156
  }
62
157
  catch {
63
158
  throw unavailable();
@@ -0,0 +1,86 @@
1
+ /**
2
+ * Where root provisioning renders the agent's declared skills inside the worker
3
+ * home (`$GROK_HOME/skills`), and what every entry must be: root-owned, no
4
+ * write bit. Grok discovers that directory as user-scoped skills even in an
5
+ * untrusted workspace. Absent when the registration declares no `skillsSha256`.
6
+ *
7
+ * Deliberately *not* folded into `RUNTIME_CONTRACT_MANIFEST`, as with
8
+ * `TURN_USAGE_LEDGER`: the manifest's canonical bytes are digest-pinned by
9
+ * Spawnfile and attested against the selected runtime image, so a new key
10
+ * there makes every pinned image fail to attest. Only Daimon reads this layout
11
+ * (the renderer below and the broker's pre-turn attestation); Spawnfile
12
+ * consumes it through `renderGrokWorkerSkillsTree`.
13
+ */
14
+ export declare const GROK_WORKER_SKILLS_LAYOUT: Readonly<{
15
+ readonly relativePath: "skills";
16
+ readonly uid: 0;
17
+ readonly gid: 0;
18
+ readonly directoryMode: 365;
19
+ readonly fileMode: 292;
20
+ readonly digestVersion: "noopolis.daimon.grok-worker-skills.v1";
21
+ }>;
22
+ /**
23
+ * One file of a declared agent skill, relative to the skill's own directory.
24
+ * `SKILL.md` is required; supporting files (references, scripts) are optional.
25
+ */
26
+ export type AgentSkillFile = Readonly<{
27
+ path: string;
28
+ content: string;
29
+ }>;
30
+ /** One declared agent skill: its directory name and every file under it. */
31
+ export type AgentSkill = Readonly<{
32
+ name: string;
33
+ files: readonly AgentSkillFile[];
34
+ }>;
35
+ /**
36
+ * The engine-neutral skills input. It is the compiled workspace tree every
37
+ * engine is given — Spawnfile lowers declared skills (and Moltnet installs its
38
+ * own) into `<workspace>/.agents/skills/<name>/SKILL.md`, which Codex reads in
39
+ * place. A brokered Grok worker cannot read it there: its workspace stays
40
+ * untrusted, so root provisioning renders the same skills into
41
+ * `$GROK_HOME/skills` instead.
42
+ */
43
+ export declare const AGENT_SKILLS_WORKSPACE_DIRECTORY: ".agents/skills";
44
+ export declare const GROK_WORKER_SKILLS_VERSION: "noopolis.daimon.grok-worker-skills.v1";
45
+ export declare const AGENT_SKILLS_BOUNDS: Readonly<{
46
+ skills: 64;
47
+ filesPerSkill: 64;
48
+ fileBytes: 262144;
49
+ totalBytes: 4194304;
50
+ depth: 8;
51
+ }>;
52
+ /**
53
+ * Strict, canonicalizing parser: names and path components are plain
54
+ * identifiers (no `.`/`..`, no hidden entries, no separators other than `/`),
55
+ * every skill carries `SKILL.md`, nothing collides, and the sizes are bounded.
56
+ * Output is sorted by name and path so equal sets digest equally.
57
+ */
58
+ export declare function parseAgentSkills(value: unknown): readonly AgentSkill[];
59
+ /**
60
+ * sha256 over the canonical description of the rendered tree: every skill's
61
+ * name and, per file, its path, byte length and content digest. The broker
62
+ * attests `$GROK_HOME/skills` against it before every turn, and the Grok broker
63
+ * projection carries it, so the slot preflight receipt and every recomputed
64
+ * projection bind the exact skills a subject was given.
65
+ */
66
+ export declare function grokWorkerSkillsSha256(skills: readonly AgentSkill[]): string;
67
+ /** One entry root provisioning creates, relative to `$GROK_HOME`, owned `uid:gid`. */
68
+ export type GrokWorkerSkillsEntry = Readonly<{
69
+ path: string;
70
+ kind: "directory" | "file";
71
+ uid: number;
72
+ gid: number;
73
+ mode: number;
74
+ content?: string;
75
+ }>;
76
+ /**
77
+ * Every directory and file root provisioning writes for these skills, parents
78
+ * before children: `skills/` itself, each `skills/<name>/`, any intermediate
79
+ * directory, and each file. Directories are `root:root 0555` and files
80
+ * `root:root 0444` (single link), so a worker-uid process can read them but
81
+ * neither change nor replace them; `$GROK_HOME` is root-owned and sticky, so the
82
+ * worker cannot rename `skills/` away either. No skills renders nothing: the
83
+ * directory must then be absent, exactly as before this layout existed.
84
+ */
85
+ export declare function renderGrokWorkerSkillsTree(skills: readonly AgentSkill[]): readonly GrokWorkerSkillsEntry[];
86
+ //# sourceMappingURL=grokWorkerSkills.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grokWorkerSkills.d.ts","sourceRoot":"","sources":["../../src/runtime/grokWorkerSkills.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB;;;;;;;EAE3B,CAAC;AAGZ;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACzE,4EAA4E;AAC5E,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;CAAE,CAAC,CAAC;AAEtF;;;;;;;GAOG;AACH,eAAO,MAAM,gCAAgC,EAAG,gBAAyB,CAAC;AAC1E,eAAO,MAAM,0BAA0B,yCAAuB,CAAC;AAC/D,eAAO,MAAM,mBAAmB;;;;;;EAAwG,CAAC;AASzI;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,UAAU,EAAE,CA6BtE;AAID;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CAO5E;AAED,sFAAsF;AACtF,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAErJ;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,UAAU,EAAE,GAAG,SAAS,qBAAqB,EAAE,CAiB1G"}
@@ -0,0 +1,135 @@
1
+ import { createHash } from "node:crypto";
2
+ import { canonicalJson } from "../contracts/canonicalJson.js";
3
+ /**
4
+ * Where root provisioning renders the agent's declared skills inside the worker
5
+ * home (`$GROK_HOME/skills`), and what every entry must be: root-owned, no
6
+ * write bit. Grok discovers that directory as user-scoped skills even in an
7
+ * untrusted workspace. Absent when the registration declares no `skillsSha256`.
8
+ *
9
+ * Deliberately *not* folded into `RUNTIME_CONTRACT_MANIFEST`, as with
10
+ * `TURN_USAGE_LEDGER`: the manifest's canonical bytes are digest-pinned by
11
+ * Spawnfile and attested against the selected runtime image, so a new key
12
+ * there makes every pinned image fail to attest. Only Daimon reads this layout
13
+ * (the renderer below and the broker's pre-turn attestation); Spawnfile
14
+ * consumes it through `renderGrokWorkerSkillsTree`.
15
+ */
16
+ export const GROK_WORKER_SKILLS_LAYOUT = Object.freeze({
17
+ relativePath: "skills", uid: 0, gid: 0, directoryMode: 0o555, fileMode: 0o444, digestVersion: "noopolis.daimon.grok-worker-skills.v1"
18
+ });
19
+ const LAYOUT = GROK_WORKER_SKILLS_LAYOUT;
20
+ /**
21
+ * The engine-neutral skills input. It is the compiled workspace tree every
22
+ * engine is given — Spawnfile lowers declared skills (and Moltnet installs its
23
+ * own) into `<workspace>/.agents/skills/<name>/SKILL.md`, which Codex reads in
24
+ * place. A brokered Grok worker cannot read it there: its workspace stays
25
+ * untrusted, so root provisioning renders the same skills into
26
+ * `$GROK_HOME/skills` instead.
27
+ */
28
+ export const AGENT_SKILLS_WORKSPACE_DIRECTORY = ".agents/skills";
29
+ export const GROK_WORKER_SKILLS_VERSION = LAYOUT.digestVersion;
30
+ export const AGENT_SKILLS_BOUNDS = Object.freeze({ skills: 64, filesPerSkill: 64, fileBytes: 262_144, totalBytes: 4_194_304, depth: 8 });
31
+ const COMPONENT = /^[A-Za-z0-9_][A-Za-z0-9._-]{0,127}$/u;
32
+ const invalid = (detail) => new TypeError(`invalid agent skills: ${detail}`);
33
+ const plain = (value) => value !== null && typeof value === "object" && !Array.isArray(value);
34
+ const exact = (value, keys) => Object.keys(value).length === keys.length && keys.every((key) => Object.hasOwn(value, key));
35
+ const byteLength = (content) => Buffer.byteLength(content, "utf8");
36
+ /**
37
+ * Strict, canonicalizing parser: names and path components are plain
38
+ * identifiers (no `.`/`..`, no hidden entries, no separators other than `/`),
39
+ * every skill carries `SKILL.md`, nothing collides, and the sizes are bounded.
40
+ * Output is sorted by name and path so equal sets digest equally.
41
+ */
42
+ export function parseAgentSkills(value) {
43
+ if (!Array.isArray(value) || value.length > AGENT_SKILLS_BOUNDS.skills)
44
+ throw invalid("expected a bounded array");
45
+ let total = 0;
46
+ const names = new Set();
47
+ const skills = value.map((entry) => {
48
+ if (!plain(entry) || !exact(entry, ["name", "files"]) || typeof entry.name !== "string" || !COMPONENT.test(entry.name))
49
+ throw invalid(`skill name ${plain(entry) && typeof entry.name === "string" ? JSON.stringify(entry.name) : "(missing)"}`);
50
+ if (names.has(entry.name))
51
+ throw invalid(`duplicate skill ${entry.name}`);
52
+ names.add(entry.name);
53
+ if (!Array.isArray(entry.files) || entry.files.length === 0 || entry.files.length > AGENT_SKILLS_BOUNDS.filesPerSkill)
54
+ throw invalid(`files of ${entry.name}`);
55
+ const paths = new Set();
56
+ const files = entry.files.map((file) => {
57
+ if (!plain(file) || !exact(file, ["path", "content"]) || typeof file.path !== "string" || typeof file.content !== "string")
58
+ throw invalid(`file ${plain(file) && typeof file.path === "string" ? JSON.stringify(`${entry.name}/${file.path}`) : `of ${entry.name}`}`);
59
+ const parts = file.path.split("/");
60
+ if (parts.length > AGENT_SKILLS_BOUNDS.depth || parts.some((part) => !COMPONENT.test(part)))
61
+ throw invalid(`path ${JSON.stringify(`${entry.name}/${file.path}`)}`);
62
+ const bytes = byteLength(file.content);
63
+ if (bytes > AGENT_SKILLS_BOUNDS.fileBytes)
64
+ throw invalid(`size of ${entry.name}/${file.path}`);
65
+ total += bytes;
66
+ if (paths.has(file.path))
67
+ throw invalid(`duplicate path ${entry.name}/${file.path}`);
68
+ paths.add(file.path);
69
+ try {
70
+ canonicalJson(file.content);
71
+ }
72
+ catch {
73
+ throw invalid(`content of ${entry.name}/${file.path} is not Unicode text`);
74
+ }
75
+ return Object.freeze({ path: file.path, content: file.content });
76
+ });
77
+ // A file may not also be the directory of another file.
78
+ for (const candidate of paths)
79
+ if ([...paths].some((other) => other.startsWith(`${candidate}/`)))
80
+ throw invalid(`path collision ${entry.name}/${candidate}`);
81
+ if (!paths.has("SKILL.md"))
82
+ throw invalid(`${entry.name} has no SKILL.md`);
83
+ return Object.freeze({ name: entry.name, files: Object.freeze(files.sort((a, b) => compare(a.path, b.path))) });
84
+ });
85
+ if (total > AGENT_SKILLS_BOUNDS.totalBytes)
86
+ throw invalid("total size");
87
+ return Object.freeze(skills.sort((a, b) => compare(a.name, b.name)));
88
+ }
89
+ const compare = (left, right) => left < right ? -1 : left > right ? 1 : 0;
90
+ /**
91
+ * sha256 over the canonical description of the rendered tree: every skill's
92
+ * name and, per file, its path, byte length and content digest. The broker
93
+ * attests `$GROK_HOME/skills` against it before every turn, and the Grok broker
94
+ * projection carries it, so the slot preflight receipt and every recomputed
95
+ * projection bind the exact skills a subject was given.
96
+ */
97
+ export function grokWorkerSkillsSha256(skills) {
98
+ const parsed = parseAgentSkills(skills);
99
+ const description = { version: GROK_WORKER_SKILLS_VERSION, skills: parsed.map((skill) => ({
100
+ name: skill.name,
101
+ files: skill.files.map((file) => ({ path: file.path, bytes: byteLength(file.content), sha256: createHash("sha256").update(file.content, "utf8").digest("hex") }))
102
+ })) };
103
+ return createHash("sha256").update(canonicalJson(description)).digest("hex");
104
+ }
105
+ /**
106
+ * Every directory and file root provisioning writes for these skills, parents
107
+ * before children: `skills/` itself, each `skills/<name>/`, any intermediate
108
+ * directory, and each file. Directories are `root:root 0555` and files
109
+ * `root:root 0444` (single link), so a worker-uid process can read them but
110
+ * neither change nor replace them; `$GROK_HOME` is root-owned and sticky, so the
111
+ * worker cannot rename `skills/` away either. No skills renders nothing: the
112
+ * directory must then be absent, exactly as before this layout existed.
113
+ */
114
+ export function renderGrokWorkerSkillsTree(skills) {
115
+ const parsed = parseAgentSkills(skills);
116
+ if (parsed.length === 0)
117
+ return Object.freeze([]);
118
+ const directory = (relative) => Object.freeze({ path: relative, kind: "directory", uid: LAYOUT.uid, gid: LAYOUT.gid, mode: LAYOUT.directoryMode });
119
+ const entries = [directory(LAYOUT.relativePath)];
120
+ const seen = new Set([LAYOUT.relativePath]);
121
+ for (const skill of parsed) {
122
+ for (const file of skill.files) {
123
+ const parts = [LAYOUT.relativePath, skill.name, ...file.path.split("/")];
124
+ for (let depth = 2; depth < parts.length; depth += 1) {
125
+ const relative = parts.slice(0, depth).join("/");
126
+ if (!seen.has(relative)) {
127
+ seen.add(relative);
128
+ entries.push(directory(relative));
129
+ }
130
+ }
131
+ entries.push(Object.freeze({ path: parts.join("/"), kind: "file", uid: LAYOUT.uid, gid: LAYOUT.gid, mode: LAYOUT.fileMode, content: file.content }));
132
+ }
133
+ }
134
+ return Object.freeze(entries);
135
+ }
@@ -1,4 +1,8 @@
1
+ export { brokerTaskClockFileFor } from "./grokBrokerSlot.js";
2
+ export { GROK_BROKER_TASK_CLOCK, GROK_BROKER_TASK_CLOCK_PRELOAD_PATH, GROK_BROKER_TASK_CLOCK_FILE_PATH, type GrokWorkerConfigVariant } from "../contracts/grokBrokerTaskClock.js";
1
3
  export * from "./organizationRuntime.js";
4
+ export { relocateRuntimeConfig, type RuntimeConfigLocation } from "./relocateRuntimeConfig.js";
5
+ export { parseTaskClock, TASK_CLOCK_VERSION } from "./taskClock.js";
2
6
  export * from "./contractManifest.js";
3
7
  export * from "./agySubscriptionRealm.js";
4
8
  export { createOrganizationRuntimeHost } from "./organizationRuntimeHost.js";
@@ -14,7 +18,10 @@ export { GROK_INFERENCE_AUTH_STALE_BODY } from "./grokInferenceProxy.js";
14
18
  export { assertGrokWorkerDenyPathPlacement, assertGrokWorkerDenyPathShape, assertGrokWorkerDenyPathsPlaceable, GROK_WORKER_BASE_PROFILE_GRANTS, grokWorkerCanSearch, grokWorkerDenyPathChain, GrokWorkerDenyPlacementError, readGrokWorkerDenyPathChain } from "./grokWorkerDenyPlacement.js";
15
19
  export type { GrokWorkerDenyPathEntry, GrokWorkerDenyPathStep, GrokWorkerDenyPathWorker } from "./grokWorkerDenyPlacement.js";
16
20
  export { grokWorkerSandboxProfileSha256, renderGrokWorkerSandboxProfile } from "./grokWorkerSandboxProfile.js";
17
- export { engineBrokerRequestLedgerPathFor, engineBrokerSealLedgerPathFor, parseEngineBrokerServiceConfig, type EngineBrokerServiceConfig, type EngineBrokerServiceRegistration } from "./engineBrokerServiceConfig.js";
21
+ export { AGENT_SKILLS_BOUNDS, AGENT_SKILLS_WORKSPACE_DIRECTORY, GROK_WORKER_SKILLS_LAYOUT, GROK_WORKER_SKILLS_VERSION, grokWorkerSkillsSha256, parseAgentSkills, renderGrokWorkerSkillsTree, type AgentSkill, type AgentSkillFile, type GrokWorkerSkillsEntry } from "./grokWorkerSkills.js";
22
+ export { readAgentSkillsDirectory, type AgentSkillsTreePolicy } from "./agentSkillsDirectory.js";
23
+ export { GROK_WORKER_FOREIGN_SKILL_ROOTS, verifyGrokWorkerForeignSkillRoots, verifyGrokWorkerSkills } from "./grokWorkerHomeAttestation.js";
24
+ export { ENGINE_BROKER_SERVICE_V3, engineBrokerRequestLedgerPathFor, engineBrokerSealLedgerPathFor, parseEngineBrokerServiceConfig, type EngineBrokerServiceConfig, type EngineBrokerServiceRegistration } from "./engineBrokerServiceConfig.js";
18
25
  export { TURN_SEAL_LEDGER, TURN_SEAL_LEDGER_VERSION } from "./engineBrokerSealLedger.js";
19
26
  export { DEFAULT_GROK_BROKER_TURN_LIMITS, ENGINE_BROKER_LIMIT_REASONS, type EngineBrokerLimitReason, type EngineBrokerTurnAccounting, type EngineBrokerTurnLimits, type EngineBrokerTurnUsage } from "./engineBrokerTurnAccounting.js";
20
27
  export { dedupeTurnUsageRows } from "./turnUsageLedger.js";
@@ -22,5 +29,6 @@ export { WakeTransitionLockBlockedError } from "./wakeAcceptanceStore.js";
22
29
  export { OFFLINE_RECONCILIATION_BLOCKED_CODE, OFFLINE_RECONCILIATION_REQUEST_SCHEMA, OFFLINE_RECONCILIATION_VERSION, assertOfflineReconciliationLeaseAvailable, OfflineTransitionReconciliationBlockedError, parseOfflineTransitionReconciliationRequest, reconcileOfflineWakeTransition, type OfflineDeploymentAttestation, type OfflineTransitionReconciliationAuthorizationContext, type OfflineTransitionReconciliationOptions, type OfflineTransitionReconciliationProofReceipt, type OfflineTransitionReconciliationReceipt, type OfflineTransitionReconciliationRequest, type OfflineTransitionReconciliationResult } from "./wakeAcceptanceReconciliation.js";
23
30
  export { MAX_WAKE_ACCEPTANCE_BYTES, MAX_WAKE_ACCEPTANCE_RECORD_BYTES, WAKE_ACCEPTANCE_VERSION, WAKE_ACCEPTANCE_REQUEST_SCHEMA, WAKE_RECEIPT_STATUS_VERSION, WAKE_RECEIPT_STATUS_SCHEMA, WAKE_V2_VERSION, parseWakeAcceptanceRequest, wakeAcceptanceDigest, type OrganizationRuntimeWakeAcceptance, type OrganizationRuntimeWakeAcceptanceRequest, type OrganizationRuntimeWakeAcceptanceResult, type OrganizationRuntimeWakeReceiptStatus, type WakeReceiptCode, type WakeReceiptState } from "./wakeAcceptanceTypes.js";
24
31
  export type { OrganizationRuntimeControlHost, OrganizationRuntimeControlOptions } from "./organizationRuntimeControl.js";
25
- export { EngineBrokerControlClient, EngineBrokerInferenceGrantRefused, type EngineBrokerInferenceGrant } from "./engineBrokerControlClient.js";
32
+ export { EngineBrokerControlClient, EngineBrokerInferenceGrantRefused, type EngineBrokerInferenceGrant, type EngineBrokerTurnOptions } from "./engineBrokerControlClient.js";
33
+ export type { GrokBrokerProviderClockObservation } from "./grokBrokerProviderClock.js";
26
34
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,8 @@
1
+ export { brokerTaskClockFileFor } from "./grokBrokerSlot.js";
2
+ export { GROK_BROKER_TASK_CLOCK, GROK_BROKER_TASK_CLOCK_PRELOAD_PATH, GROK_BROKER_TASK_CLOCK_FILE_PATH } from "../contracts/grokBrokerTaskClock.js";
1
3
  export * from "./organizationRuntime.js";
4
+ export { relocateRuntimeConfig } from "./relocateRuntimeConfig.js";
5
+ export { parseTaskClock, TASK_CLOCK_VERSION } from "./taskClock.js";
2
6
  export * from "./contractManifest.js";
3
7
  export * from "./agySubscriptionRealm.js";
4
8
  export { createOrganizationRuntimeHost } from "./organizationRuntimeHost.js";
@@ -13,7 +17,10 @@ export { dedupeInferenceUsageRows, INFERENCE_USAGE_LEDGER_VERSION, GROK_INFERENC
13
17
  export { GROK_INFERENCE_AUTH_STALE_BODY } from "./grokInferenceProxy.js";
14
18
  export { assertGrokWorkerDenyPathPlacement, assertGrokWorkerDenyPathShape, assertGrokWorkerDenyPathsPlaceable, GROK_WORKER_BASE_PROFILE_GRANTS, grokWorkerCanSearch, grokWorkerDenyPathChain, GrokWorkerDenyPlacementError, readGrokWorkerDenyPathChain } from "./grokWorkerDenyPlacement.js";
15
19
  export { grokWorkerSandboxProfileSha256, renderGrokWorkerSandboxProfile } from "./grokWorkerSandboxProfile.js";
16
- export { engineBrokerRequestLedgerPathFor, engineBrokerSealLedgerPathFor, parseEngineBrokerServiceConfig } from "./engineBrokerServiceConfig.js";
20
+ export { AGENT_SKILLS_BOUNDS, AGENT_SKILLS_WORKSPACE_DIRECTORY, GROK_WORKER_SKILLS_LAYOUT, GROK_WORKER_SKILLS_VERSION, grokWorkerSkillsSha256, parseAgentSkills, renderGrokWorkerSkillsTree } from "./grokWorkerSkills.js";
21
+ export { readAgentSkillsDirectory } from "./agentSkillsDirectory.js";
22
+ export { GROK_WORKER_FOREIGN_SKILL_ROOTS, verifyGrokWorkerForeignSkillRoots, verifyGrokWorkerSkills } from "./grokWorkerHomeAttestation.js";
23
+ export { ENGINE_BROKER_SERVICE_V3, engineBrokerRequestLedgerPathFor, engineBrokerSealLedgerPathFor, parseEngineBrokerServiceConfig } from "./engineBrokerServiceConfig.js";
17
24
  export { TURN_SEAL_LEDGER, TURN_SEAL_LEDGER_VERSION } from "./engineBrokerSealLedger.js";
18
25
  export { DEFAULT_GROK_BROKER_TURN_LIMITS, ENGINE_BROKER_LIMIT_REASONS } from "./engineBrokerTurnAccounting.js";
19
26
  export { dedupeTurnUsageRows } from "./turnUsageLedger.js";
@@ -1,4 +1,6 @@
1
1
  import type { AttentionConfig } from "../contracts/attentionContract.js";
2
+ import type { WakeMomentRecording } from "../contracts/wakeMomentContract.js";
3
+ export type { WakeMomentRecording } from "../contracts/wakeMomentContract.js";
2
4
  import { ORGANIZATION_RUNTIME_CODEX_REASONING_EFFORTS, ORGANIZATION_RUNTIME_CODEX_WORKSPACE_NO_NETWORK_POLICY, ORGANIZATION_RUNTIME_CONFIG_SCHEMA, ORGANIZATION_RUNTIME_CONFIG_V2_SCHEMA, ORGANIZATION_RUNTIME_MAX_AGENTS, ORGANIZATION_RUNTIME_MAX_CONFIG_BYTES, ORGANIZATION_RUNTIME_MAX_INSTRUCTIONS_CODEPOINTS, ORGANIZATION_RUNTIME_MAX_STRING_BYTES, ORGANIZATION_RUNTIME_MAX_STRING_CODEPOINTS, ORGANIZATION_RUNTIME_MAX_WAKE_TEXT_BYTES, ORGANIZATION_RUNTIME_MAX_SCHEDULE_INTERVAL_MS, ORGANIZATION_RUNTIME_MAX_SCHEDULE_JITTER_SECONDS, ORGANIZATION_RUNTIME_V2_VERSION, ORGANIZATION_RUNTIME_VERSION } from "../contracts/organizationRuntimeContract.js";
3
5
  export { ORGANIZATION_RUNTIME_CODEX_REASONING_EFFORTS, ORGANIZATION_RUNTIME_CODEX_WORKSPACE_NO_NETWORK_POLICY, ORGANIZATION_RUNTIME_CONFIG_SCHEMA, ORGANIZATION_RUNTIME_CONFIG_V2_SCHEMA, ORGANIZATION_RUNTIME_MAX_AGENTS, ORGANIZATION_RUNTIME_MAX_CONFIG_BYTES, ORGANIZATION_RUNTIME_MAX_INSTRUCTIONS_CODEPOINTS, ORGANIZATION_RUNTIME_MAX_STRING_BYTES, ORGANIZATION_RUNTIME_MAX_STRING_CODEPOINTS, ORGANIZATION_RUNTIME_MAX_WAKE_TEXT_BYTES, ORGANIZATION_RUNTIME_MAX_SCHEDULE_INTERVAL_MS, ORGANIZATION_RUNTIME_MAX_SCHEDULE_JITTER_SECONDS, ORGANIZATION_RUNTIME_V2_VERSION, ORGANIZATION_RUNTIME_VERSION };
4
6
  export type OrganizationRuntimeEngineKind = "codex" | "grok" | "agy";
@@ -67,6 +69,7 @@ export type OrganizationRuntimeAgentConfig = Readonly<{
67
69
  runtimeHomePath: string;
68
70
  engine: OrganizationRuntimeEngineIntent;
69
71
  attention?: AttentionConfig;
72
+ recording?: WakeMomentRecording;
70
73
  schedule?: OrganizationRuntimeSchedule;
71
74
  mcp?: readonly OrganizationRuntimeMcpServer[];
72
75
  moltnet?: OrganizationRuntimeMoltnet;
@@ -1 +1 @@
1
- {"version":3,"file":"organizationRuntime.d.ts","sourceRoot":"","sources":["../../src/runtime/organizationRuntime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"organizationRuntime.d.ts","sourceRoot":"","sources":["../../src/runtime/organizationRuntime.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { OrganizationRuntimeHost, OrganizationRuntimeWakeRequest, OrganizationRuntimeWakeResult } from "./organizationRuntime.js";
2
+ export declare function wakeFromDurableInbox(host: OrganizationRuntimeHost, request: OrganizationRuntimeWakeRequest): Promise<OrganizationRuntimeWakeResult>;
3
+ export declare function consumeDurableAdmission(request: OrganizationRuntimeWakeRequest): boolean;
4
+ export declare function registerRecordingVerifier(host: OrganizationRuntimeHost, verify: (agentId: string) => Promise<void>): OrganizationRuntimeHost;
5
+ export declare function verifyHostRecordingStore(host: OrganizationRuntimeHost, agentId: string): Promise<void>;
6
+ //# sourceMappingURL=organizationRuntimeAdmission.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organizationRuntimeAdmission.d.ts","sourceRoot":"","sources":["../../src/runtime/organizationRuntimeAdmission.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAMvI,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAIzJ;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,8BAA8B,GAAG,OAAO,CAExF;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAG5I;AAED,wBAAsB,wBAAwB,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5G"}