humanish 0.101.0 → 0.103.0

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 (138) hide show
  1. package/README.md +4 -2
  2. package/dist/affordance.d.ts +2 -0
  3. package/dist/affordance.js +3 -0
  4. package/dist/affordance.js.map +1 -1
  5. package/dist/browser-control-client.d.ts +5 -1
  6. package/dist/browser-control-client.js +45 -5
  7. package/dist/browser-control-client.js.map +1 -1
  8. package/dist/browser-control-dispatcher.d.ts +6 -1
  9. package/dist/browser-control-dispatcher.js +41 -3
  10. package/dist/browser-control-dispatcher.js.map +1 -1
  11. package/dist/browser-control-protocol.d.ts +101 -0
  12. package/dist/browser-control-protocol.js +38 -8
  13. package/dist/browser-control-protocol.js.map +1 -1
  14. package/dist/browser-control-recording-transfer.d.ts +4 -0
  15. package/dist/browser-control-recording-transfer.js +42 -0
  16. package/dist/browser-control-recording-transfer.js.map +1 -0
  17. package/dist/browser-control-transport.d.ts +3 -0
  18. package/dist/browser-control-transport.js +23 -2
  19. package/dist/browser-control-transport.js.map +1 -1
  20. package/dist/computer-use.d.ts +9 -0
  21. package/dist/computer-use.js +36 -8
  22. package/dist/computer-use.js.map +1 -1
  23. package/dist/cua-actor-lab.d.ts +6 -2
  24. package/dist/cua-actor-lab.js +19 -7
  25. package/dist/cua-actor-lab.js.map +1 -1
  26. package/dist/cua-desktop-lane.d.ts +1 -1
  27. package/dist/cua-speech.d.ts +13 -0
  28. package/dist/cua-speech.js +2 -0
  29. package/dist/cua-speech.js.map +1 -0
  30. package/dist/desktop-recorder.d.ts +39 -0
  31. package/dist/desktop-recorder.js +220 -0
  32. package/dist/desktop-recorder.js.map +1 -0
  33. package/dist/desktop-recording-artifact.d.ts +5 -0
  34. package/dist/desktop-recording-artifact.js +54 -0
  35. package/dist/desktop-recording-artifact.js.map +1 -0
  36. package/dist/desktop-recording-types.d.ts +24 -0
  37. package/dist/desktop-recording-types.js +14 -0
  38. package/dist/desktop-recording-types.js.map +1 -0
  39. package/dist/desktop-session.js +1 -0
  40. package/dist/desktop-session.js.map +1 -1
  41. package/dist/doctor-lab.js +1 -1
  42. package/dist/doctor-lab.js.map +1 -1
  43. package/dist/e2b-cua-desktop.js +77 -44
  44. package/dist/e2b-cua-desktop.js.map +1 -1
  45. package/dist/e2b-cua-provisioning.d.ts +4 -1
  46. package/dist/e2b-cua-provisioning.js +8 -2
  47. package/dist/e2b-cua-provisioning.js.map +1 -1
  48. package/dist/e2b-desktop-executor.js +3 -0
  49. package/dist/e2b-desktop-executor.js.map +1 -1
  50. package/dist/e2b-desktop-launch.d.ts +19 -1
  51. package/dist/e2b-desktop-launch.js.map +1 -1
  52. package/dist/e2b-desktop-media.d.ts +14 -0
  53. package/dist/e2b-desktop-media.js +58 -0
  54. package/dist/e2b-desktop-media.js.map +1 -0
  55. package/dist/e2b-desktop-recording.d.ts +16 -0
  56. package/dist/e2b-desktop-recording.js +162 -0
  57. package/dist/e2b-desktop-recording.js.map +1 -0
  58. package/dist/export-bundle.js +2 -0
  59. package/dist/export-bundle.js.map +1 -1
  60. package/dist/export.js +19 -3
  61. package/dist/export.js.map +1 -1
  62. package/dist/guest-bootstrap.d.ts +6 -2
  63. package/dist/guest-bootstrap.js +22 -9
  64. package/dist/guest-bootstrap.js.map +1 -1
  65. package/dist/guest-desktop-executor.js +1 -0
  66. package/dist/guest-desktop-executor.js.map +1 -1
  67. package/dist/guest-desktop-media.d.ts +33 -0
  68. package/dist/guest-desktop-media.js +281 -0
  69. package/dist/guest-desktop-media.js.map +1 -0
  70. package/dist/guest-media-config.d.ts +15 -0
  71. package/dist/guest-media-config.js +8 -0
  72. package/dist/guest-media-config.js.map +1 -0
  73. package/dist/guest-media-worker.d.ts +1 -0
  74. package/dist/guest-media-worker.js +319 -0
  75. package/dist/guest-media-worker.js.map +1 -0
  76. package/dist/guest-runtime-desktop.d.ts +5 -1
  77. package/dist/guest-runtime-desktop.js +62 -3
  78. package/dist/guest-runtime-desktop.js.map +1 -1
  79. package/dist/guest-runtime-main.js +3 -2
  80. package/dist/guest-runtime-main.js.map +1 -1
  81. package/dist/guest-runtime.d.ts +8 -2
  82. package/dist/guest-runtime.js +3 -2
  83. package/dist/guest-runtime.js.map +1 -1
  84. package/dist/lab-config.d.ts +6 -2
  85. package/dist/lab-config.js +26 -4
  86. package/dist/lab-config.js.map +1 -1
  87. package/dist/lab-summary.js +1 -1
  88. package/dist/lab-summary.js.map +1 -1
  89. package/dist/local-firecracker-desktop.d.ts +10 -1
  90. package/dist/local-firecracker-desktop.js +16 -2
  91. package/dist/local-firecracker-desktop.js.map +1 -1
  92. package/dist/local-firecracker-study.js +29 -3
  93. package/dist/local-firecracker-study.js.map +1 -1
  94. package/dist/local-runtime-config.js +5 -2
  95. package/dist/local-runtime-config.js.map +1 -1
  96. package/dist/local-runtime-release.d.ts +2 -0
  97. package/dist/local-runtime-release.js +15 -0
  98. package/dist/local-runtime-release.js.map +1 -1
  99. package/dist/local-runtime.d.ts +1 -0
  100. package/dist/local-runtime.js +11 -9
  101. package/dist/local-runtime.js.map +1 -1
  102. package/dist/observer-app.html +9 -9
  103. package/dist/observer-serve.js +1 -1
  104. package/dist/observer-serve.js.map +1 -1
  105. package/dist/observer.d.ts +2 -2
  106. package/dist/observer.js +106 -27
  107. package/dist/observer.js.map +1 -1
  108. package/dist/program.js +3 -2
  109. package/dist/program.js.map +1 -1
  110. package/dist/restricted-codex-participant-policy.d.ts +2 -1
  111. package/dist/restricted-codex-participant-policy.js +9 -6
  112. package/dist/restricted-codex-participant-policy.js.map +1 -1
  113. package/dist/restricted-codex-participant-run.js +2 -1
  114. package/dist/restricted-codex-participant-run.js.map +1 -1
  115. package/dist/restricted-codex-participant.d.ts +2 -0
  116. package/dist/restricted-codex-participant.js +20 -7
  117. package/dist/restricted-codex-participant.js.map +1 -1
  118. package/dist/run.d.ts +12 -7
  119. package/dist/run.js +55 -15
  120. package/dist/run.js.map +1 -1
  121. package/dist/selected-output-paths.d.ts +3 -0
  122. package/dist/selected-output-paths.js +29 -17
  123. package/dist/selected-output-paths.js.map +1 -1
  124. package/dist/study-analysis-engine.d.ts +1 -1
  125. package/dist/study-analysis-engine.js +53 -10
  126. package/dist/study-analysis-engine.js.map +1 -1
  127. package/docs/architecture/desktop-recording.md +65 -0
  128. package/docs/architecture/local-browser-runtime.md +3 -2
  129. package/docs/architecture/participant-media.md +90 -0
  130. package/docs/contracts/run-bundle.md +27 -0
  131. package/docs/contracts/schemas.md +1 -1
  132. package/docs/contracts/study-analysis.md +14 -0
  133. package/docs/goals/current.md +13 -9
  134. package/docs/ramp/README.md +11 -1
  135. package/docs/release/0.102.0-participant-media.md +43 -0
  136. package/docs/release/0.103.0-desktop-recording.md +29 -0
  137. package/package.json +5 -4
  138. package/skills/humanish/SKILL.md +14 -5
@@ -1,3 +1,4 @@
1
+ import { type FileHandle } from "node:fs/promises";
1
2
  import { type PreparedRunArtifactPaths } from "./run-paths.js";
2
3
  interface FileIdentity {
3
4
  readonly birthtimeNs: bigint;
@@ -45,5 +46,7 @@ export declare function prepareContainedOutputFile(rootInput: PreparedOutputRoot
45
46
  export declare function writeContainedOutputFile(rootInput: PreparedOutputRoot, relativePath: string, data: string | Uint8Array, encoding?: BufferEncoding): Promise<void>;
46
47
  /** Read one regular file only when both lexical and physical paths stay in root. */
47
48
  export declare function readContainedRegularFile(rootInput: PreparedOutputRoot, relativePath: string): Promise<Buffer | null>;
49
+ /** The caller owns this checked descriptor and must close it after reading/streaming. */
50
+ export declare function openContainedRegularFile(rootInput: PreparedOutputRoot, relativePath: string): Promise<FileHandle | null>;
48
51
  export declare function assertSafeOutputPathSegment(value: string, label?: string): void;
49
52
  export {};
@@ -124,6 +124,22 @@ export async function writeContainedOutputFile(rootInput, relativePath, data, en
124
124
  }
125
125
  /** Read one regular file only when both lexical and physical paths stay in root. */
126
126
  export async function readContainedRegularFile(rootInput, relativePath) {
127
+ const handle = await openContainedRegularFile(rootInput, relativePath);
128
+ if (!handle)
129
+ return null;
130
+ try {
131
+ return await handle.readFile();
132
+ }
133
+ catch {
134
+ return null;
135
+ }
136
+ finally {
137
+ await handle.close().catch(() => { });
138
+ }
139
+ }
140
+ /** The caller owns this checked descriptor and must close it after reading/streaming. */
141
+ export async function openContainedRegularFile(rootInput, relativePath) {
142
+ let handle;
127
143
  try {
128
144
  assertSafeRelativeOutputPath(relativePath, false);
129
145
  const root = await resolveOutputRoot(rootInput);
@@ -140,27 +156,23 @@ export async function readContainedRegularFile(rootInput, relativePath) {
140
156
  if (!isPathInside(root, physicalFile)) {
141
157
  return null;
142
158
  }
143
- const handle = await open(candidate, constants.O_RDONLY | constants.O_NOFOLLOW);
144
- try {
145
- const after = await handle.stat({ bigint: true });
146
- if (!after.isFile()
147
- || after.nlink > 1n
148
- || after.dev !== before.dev
149
- || after.ino !== before.ino) {
150
- return null;
151
- }
152
- const revalidatedRoot = await resolveOutputRoot(rootInput);
153
- if (revalidatedRoot !== root) {
154
- return null;
155
- }
156
- await assertContainedDirectoryChain(root, path.dirname(candidate));
157
- return await handle.readFile();
159
+ handle = await open(candidate, constants.O_RDONLY | constants.O_NOFOLLOW);
160
+ const after = await handle.stat({ bigint: true });
161
+ if (!after.isFile()
162
+ || after.nlink > 1n
163
+ || after.dev !== before.dev
164
+ || after.ino !== before.ino) {
165
+ throw new Error("Artifact identity changed.");
158
166
  }
159
- finally {
160
- await handle.close();
167
+ const revalidatedRoot = await resolveOutputRoot(rootInput);
168
+ if (revalidatedRoot !== root) {
169
+ throw new Error("Artifact root changed.");
161
170
  }
171
+ await assertContainedDirectoryChain(root, path.dirname(candidate));
172
+ return handle;
162
173
  }
163
174
  catch {
175
+ await handle?.close().catch(() => { });
164
176
  return null;
165
177
  }
166
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"selected-output-paths.js","sourceRoot":"","sources":["../src/selected-output-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,YAAY,EACZ,+BAA+B,EAC/B,uCAAuC,EAEvC,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,gBAAgB,CAAC;AAyBxB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAe,EACf,YAAoB;IAEpB,cAAc,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC,aAAa,CAAC,CAAC;IAC3E,OAAO,8BAA8B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,GAAW,EACX,GAAG,QAAkB;IAErB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,MAAM,+BAA+B,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClD,OAAO,8BAA8B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,0CAA0C,CAC9D,GAAW,EACX,GAAG,QAAkB;IAErB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,uCAAuC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IACjF,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,8BAA8B,CAAC,aAAa,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,YAAoB;IAEpB,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,IAAI,aAAa,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,eAAe,CAAC,CAAC;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,cAAc;QACd,cAAc;QACd,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IACH,MAAM,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,QAAyC;IAEzC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,+BAA+B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,qBAAqB,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrE,IAAI,qBAAqB,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,uBAAuB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,QAAoC;IAEpC,MAAM,uBAAuB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACrF,IAAI,uBAAuB,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,uBAAuB,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;IAC1G,MAAM,0BAA0B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,QAAoC,EACpC,IAAyB,EACzB,QAAyB;IAEzB,MAAM,qBAAqB,CACzB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,YAAY,EACrB,IAAI,EACJ,QAAQ,EACR,GAAG,EAAE,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,QAAkC,EAClC,IAAyB,EACzB,QAAyB;IAEzB,MAAM,qBAAqB,CACzB,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,qBAAqB,EAC9B,IAAI,EACJ,QAAQ,EACR,KAAK,IAAI,EAAE;QACT,MAAM,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,SAA6B,EAC7B,YAAoB;IAEpB,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,0BAA0B,CAAC,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,SAAkC,EAClC,YAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,+BAA+B,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;IACnF,OAAO,8BAA8B,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAA6B,EAC7B,YAAoB;IAEpB,4BAA4B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAA6B,EAC7B,YAAoB,EACpB,IAAyB,EACzB,QAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,qBAAqB,CACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,IAAI,EAAE;QACT,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CACF,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAA6B,EAC7B,YAAoB;IAEpB,IAAI,CAAC;QACH,4BAA4B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClD,IACE,CAAC,KAAK,CAAC,MAAM,EAAE;mBACZ,KAAK,CAAC,KAAK,GAAG,EAAE;mBAChB,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG;mBACxB,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAC3B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;YAC3D,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;YACnE,OAAO,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,CAAC;gBAAS,CAAC;YACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa,EAAE,KAAK,GAAG,qBAAqB;IACtF,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;WACf,KAAK,KAAK,GAAG;WACb,KAAK,KAAK,IAAI;WACd,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;WACnB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;WACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sCAAsC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa,EAAE,UAAmB;IACtE,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,IAAY,EAAE,YAAoB;IAC1E,MAAM,QAAQ,GAAG,YAAY,KAAK,EAAE;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,aAAqB,EACrB,YAAoB,EACpB,SAAoC;IAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,QAAQ,EAAE,MAAM,wBAAwB,CAAC,YAAY,CAAC;QACtD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IACH,MAAM,qCAAqC,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,YAAoB;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACpG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAwB;IACvD,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,MAAM,qCAAqC,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,YAAY,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,KAAa;IAClE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,QAAgB;IACxD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,SAAiB;IACvD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,SAAiB,EACjB,QAAsB,EACtB,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IACE,KAAK,CAAC,cAAc,EAAE;WACnB,CAAC,KAAK,CAAC,WAAW,EAAE;WACpB,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;WAC1C,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;WAC1B,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;WAC1B,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAC1C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0CAA0C,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,IAAY,EAAE,SAAiB;IAC1E,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,MAAc,EACd,IAAyB,EACzB,QAAoC,EACpC,UAA+B;IAE/B,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"selected-output-paths.js","sourceRoot":"","sources":["../src/selected-output-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAmB,MAAM,kBAAkB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,YAAY,EACZ,+BAA+B,EAC/B,uCAAuC,EAEvC,gCAAgC,EAChC,+BAA+B,EAChC,MAAM,gBAAgB,CAAC;AAyBxB;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,OAAe,EACf,YAAoB;IAEpB,cAAc,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACjD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,YAAY,GAAG,MAAM,gCAAgC,CAAC,aAAa,CAAC,CAAC;IAC3E,OAAO,8BAA8B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,GAAW,EACX,GAAG,QAAkB;IAErB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,MAAM,+BAA+B,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;IAClD,OAAO,8BAA8B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACrE,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,KAAK,UAAU,0CAA0C,CAC9D,GAAW,EACX,GAAG,QAAkB;IAErB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,uCAAuC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IACjF,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,8BAA8B,CAAC,aAAa,EAAE,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,OAAe,EACf,YAAoB;IAEpB,cAAc,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,IAAI,aAAa,KAAK,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,MAAM,gCAAgC,CAAC,eAAe,CAAC,CAAC;IAC/E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACzD,MAAM,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,wBAAwB,CAAC,cAAc,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,cAAc;QACd,cAAc;QACd,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IACH,MAAM,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,QAAyC;IAEzC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,+BAA+B,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,qBAAqB,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACrE,IAAI,qBAAqB,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,uBAAuB,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,QAAoC;IAEpC,MAAM,uBAAuB,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACrF,IAAI,uBAAuB,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,uBAAuB,CAAC,QAAQ,CAAC,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,wBAAwB,CAAC,CAAC;IAC1G,MAAM,0BAA0B,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,QAAoC,EACpC,IAAyB,EACzB,QAAyB;IAEzB,MAAM,qBAAqB,CACzB,QAAQ,CAAC,cAAc,EACvB,QAAQ,CAAC,YAAY,EACrB,IAAI,EACJ,QAAQ,EACR,GAAG,EAAE,CAAC,gCAAgC,CAAC,QAAQ,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,QAAkC,EAClC,IAAyB,EACzB,QAAyB;IAEzB,MAAM,qBAAqB,CACzB,QAAQ,CAAC,gBAAgB,EACzB,QAAQ,CAAC,qBAAqB,EAC9B,IAAI,EACJ,QAAQ,EACR,KAAK,IAAI,EAAE;QACT,MAAM,gCAAgC,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CACF,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,SAA6B,EAC7B,YAAoB;IAEpB,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO,0BAA0B,CAAC,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,mCAAmC,CACvD,SAAkC,EAClC,YAAoB;IAEpB,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,YAAY,GAAG,MAAM,+BAA+B,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACpF,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC3D,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;IACnF,OAAO,8BAA8B,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAA6B,EAC7B,YAAoB;IAEpB,4BAA4B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/E,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5D,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAA6B,EAC7B,YAAoB,EACpB,IAAyB,EACzB,QAAyB;IAEzB,MAAM,QAAQ,GAAG,MAAM,0BAA0B,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,qBAAqB,CACzB,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EACtB,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,KAAK,IAAI,EAAE;QACT,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClE,MAAM,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC,CACF,CAAC;AACJ,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAA6B,EAC7B,YAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,CAAC;QAAC,OAAO,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;IAAC,CAAC;IACvC,MAAM,CAAC;QAAC,OAAO,IAAI,CAAC;IAAC,CAAC;YACd,CAAC;QAAC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAAC,CAAC;AACnD,CAAC;AAED,yFAAyF;AACzF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAA6B,EAC7B,YAAoB;IAEpB,IAAI,MAA8B,CAAC;IACnC,IAAI,CAAC;QACH,4BAA4B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,YAAY,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACzD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,CAAC;YACrE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,IACE,CAAC,KAAK,CAAC,MAAM,EAAE;eACZ,KAAK,CAAC,KAAK,GAAG,EAAE;eAChB,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG;eACxB,KAAK,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,EAC3B,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,6BAA6B,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAa,EAAE,KAAK,GAAG,qBAAqB;IACtF,IACE,KAAK,CAAC,MAAM,KAAK,CAAC;WACf,KAAK,KAAK,GAAG;WACb,KAAK,KAAK,IAAI;WACd,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;WACnB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;WACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,sCAAsC,CAAC,CAAC;IAClE,CAAC;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAa,EAAE,UAAmB;IACtE,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,KAAK,EAAE,IAAI,UAAU,EAAE,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3F,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,KAAa;IAChD,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,IAAY,EAAE,YAAoB;IAC1E,MAAM,QAAQ,GAAG,YAAY,KAAK,EAAE;QAClC,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACrC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,aAAqB,EACrB,YAAoB,EACpB,SAAoC;IAEpC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;QAC7B,QAAQ,EAAE,MAAM,wBAAwB,CAAC,YAAY,CAAC;QACtD,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,YAAY;QACZ,aAAa;KACd,CAAC,CAAC;IACH,MAAM,qCAAqC,CAAC,QAAQ,CAAC,CAAC;IACtD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,gCAAgC,CAAC,YAAoB;IAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1C,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,wBAAwB,CAAC,CAAC;IACpG,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACvC,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,SAAiB;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAChG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAwB;IACvD,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;QAC9B,MAAM,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IACD,MAAM,qCAAqC,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,YAAY,CAAC;AAC3B,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,SAAiB,EAAE,KAAa;IAClE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,uBAAuB,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,QAAgB;IACxD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,2FAA2F,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO;QACT,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,SAAiB;IACvD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9F,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;AAC3F,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,SAAiB,EACjB,QAAsB,EACtB,KAAa;IAEb,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,IACE,KAAK,CAAC,cAAc,EAAE;WACnB,CAAC,KAAK,CAAC,WAAW,EAAE;WACpB,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW;WAC1C,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;WAC1B,KAAK,CAAC,GAAG,KAAK,QAAQ,CAAC,GAAG;WAC1B,MAAM,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAC1C,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,0CAA0C,CAAC,CAAC;IACtE,CAAC;AACH,CAAC;AAED,KAAK,UAAU,6BAA6B,CAAC,IAAY,EAAE,SAAiB;IAC1E,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAChD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,MAAM,OAAO,IAAI,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtE,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,4EAA4E,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,MAAc,EACd,MAAc,EACd,IAAyB,EACzB,QAAoC,EACpC,UAA+B;IAE/B,MAAM,UAAU,EAAE,CAAC;IACnB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,mBAAmB,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,IAAI,MAAM,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,SAAS,CAAC;QACnB,MAAM,UAAU,EAAE,CAAC;QACnB,MAAM,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,MAAM,MAAM,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,gCAAgC,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type StudyAnalysisArtifact, type StudyAnalysisConfig, type StudyAnalysisInput } from "./study-analysis.js";
2
2
  import { type StudyAnalysisProvider } from "./study-analysis-provider.js";
3
- export declare const STUDY_ANALYSIS_PROMPT_VERSION = "study-evidence-5";
3
+ export declare const STUDY_ANALYSIS_PROMPT_VERSION = "study-evidence-6";
4
4
  export declare const SUPPORTED_STUDY_ANALYSIS_MODELS: readonly string[];
5
5
  export interface StudyAnalysisAdmission {
6
6
  allowed: boolean;
@@ -5,8 +5,8 @@ import { containsSensitive } from "./redaction.js";
5
5
  import { scrubTransientCommsText } from "./run-narration-secrets.js";
6
6
  import { STUDY_ANALYSIS_SCHEMA } from "./study-analysis.js";
7
7
  import { createStudyAnalysisProvider } from "./study-analysis-provider.js";
8
- import { hashStudyAnalysisValue, studyAnalysisResponseSchema, studyAnalysisResultJsonSchema, validateAnalysisResult, validateStudyAnalysisInputMetadata } from "./study-analysis-validation.js";
9
- export const STUDY_ANALYSIS_PROMPT_VERSION = "study-evidence-5";
8
+ import { checkAnalysisResult, hashStudyAnalysisValue, studyAnalysisResponseSchema, studyAnalysisResultJsonSchema, validateStudyAnalysisInputMetadata } from "./study-analysis-validation.js";
9
+ export const STUDY_ANALYSIS_PROMPT_VERSION = "study-evidence-6";
10
10
  export const SUPPORTED_STUDY_ANALYSIS_MODELS = Object.freeze(["gpt-6-astra", "gpt-5.5", "gpt-5.6", "gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"]);
11
11
  const SUPPORTED_MODELS = new Set(SUPPORTED_STUDY_ANALYSIS_MODELS);
12
12
  const IMAGE_DATA = /^data:image\/(png|jpeg|webp);base64,([A-Za-z0-9+/]+={0,2})$/;
@@ -32,7 +32,9 @@ Completed requires affirmative evidence for all essential assigned requirements,
32
32
 
33
33
  Preserve each participant's structured provenance separately from your interpretation. recordedStatus is the stream's status; provenance.actorStatus is the actor's status and may conflict with it. completionReason and stopCause describe the recorded ending, not a product diagnosis. goalSource=participant_report means a reported endpoint; condition_matched establishes only the declared condition, not every task requirement or visible state. unavailable or null means the source is not established. declaredOutcome is the participant's account, even when structured. For taskOutcomes, completed records a matched task criterion; observable=false means no completion criterion, and inputsObserved=false means the task was never measured. Null fields are unavailable information, not false, failure, or corroboration. Preserve conflicting source accounts, explain evidence limits, and do not turn provenance metadata into visual evidence.
34
34
 
35
- Use only supplied evidence IDs. Review every included participant once. Every participant review must cite that participant's evidence. Quote feedback only from quoteEligible evidence, using exact text. Use no made-up quotes, captures, timestamps, event IDs, or results. A visual observation must cite an actual supplied capture. No capture means no visual finding. Do not infer what happened between captures without supporting actions or statements; record coverage gaps and unreadable text as limitations.
35
+ Use only the supplied evidence entries' id values for citations; eventId identifies a source event and is not a citation ID. Review every included participant once. Within each participant review, every evidenceIds entry must be unique, exist in the packet, and have exactly that participant's streamId. Including some of the participant's own evidence does not permit adding another participant's references. Feedback must likewise cite that participant's quoteEligible evidence using exact text. Check these ownership and uniqueness rules before returning the report.
36
+
37
+ Shared interactions can need evidence from multiple participants. Put those combined observations in findings or concernReviews, which may cite multiple included participants under their exposure rules. Keep each participant review grounded in that participant's recording and state any resulting limits; another participant's recording does not become their own evidence. Use no made-up quotes, captures, timestamps, event IDs, or results. A visual observation must cite an actual supplied capture. No capture means no visual finding. Do not infer what happened between captures without supporting actions or statements; record coverage gaps and unreadable text as limitations.
36
38
 
37
39
  An observation labeled action must cite at least one entry whose kind is ui_action, command, tool_call, file_change, or approval. Other kinds, including run_event entries, do not establish an action basis. Participant_statement observations must cite only quoteEligible entries. Use inference with an explicit limitation when interpreting recorded context that does not establish one of these direct evidence bases.
38
40
 
@@ -172,6 +174,46 @@ function scrubGeneratedNarrative(result) {
172
174
  ...(result.concernReviews === undefined ? {} : { concernReviews: result.concernReviews.map(value => ({ ...observation(value), reason: scrub(value.reason) })) })
173
175
  };
174
176
  }
177
+ const VALIDATION_FAILURES = Object.freeze({
178
+ ANALYSIS_RESULT_SCHEMA_INVALID: "analysis_validation_failed_schema_invalid",
179
+ ANALYSIS_INPUT_DUPLICATES: "analysis_validation_failed_input_duplicates",
180
+ ANALYSIS_PARTICIPANT_COVERAGE_INVALID: "analysis_validation_failed_participant_coverage_invalid",
181
+ ANALYSIS_PARTICIPANT_REFERENCE_INVALID: "analysis_validation_failed_participant_reference_invalid",
182
+ ANALYSIS_OUTCOME_WITHOUT_EVIDENCE: "analysis_validation_failed_outcome_without_evidence",
183
+ ANALYSIS_QUOTE_INVALID: "analysis_validation_failed_quote_invalid",
184
+ ANALYSIS_FINDING_ID_DUPLICATE: "analysis_validation_failed_finding_id_duplicate",
185
+ ANALYSIS_OBSERVATION_REFERENCE_INVALID: "analysis_validation_failed_observation_reference_invalid",
186
+ ANALYSIS_VISUAL_WITHOUT_CAPTURE: "analysis_validation_failed_visual_without_capture",
187
+ ANALYSIS_ACTION_SOURCE_INVALID: "analysis_validation_failed_action_source_invalid",
188
+ ANALYSIS_STATEMENT_SOURCE_INVALID: "analysis_validation_failed_statement_source_invalid",
189
+ ANALYSIS_FINDING_MEMBERSHIP_INVALID: "analysis_validation_failed_finding_membership_invalid",
190
+ ANALYSIS_AFFECTED_WITHOUT_EVIDENCE: "analysis_validation_failed_affected_without_evidence",
191
+ ANALYSIS_CONCERN_FINDING_INVALID: "analysis_validation_failed_concern_finding_invalid"
192
+ });
193
+ function checkProviderAnalysis(input, value) {
194
+ try {
195
+ const parsed = studyAnalysisResponseSchema.safeParse(value);
196
+ if (!parsed.success)
197
+ return { ok: false, error: VALIDATION_FAILURES.ANALYSIS_RESULT_SCHEMA_INVALID };
198
+ let scrubbed;
199
+ try {
200
+ scrubbed = scrubGeneratedNarrative(parsed.data);
201
+ }
202
+ catch (error) {
203
+ return { ok: false, error: error instanceof Error && error.message === "ANALYSIS_TRANSIENT_SECRET_IN_STRUCTURE"
204
+ ? "analysis_validation_failed_scrub_rejected"
205
+ : "analysis_validation_failed_unexpected" };
206
+ }
207
+ const checked = checkAnalysisResult(input, scrubbed);
208
+ if (!checked.ok)
209
+ return { ok: false,
210
+ error: VALIDATION_FAILURES[checked.errors[0] ?? ""] ?? "analysis_validation_failed_unexpected" };
211
+ return checked;
212
+ }
213
+ catch {
214
+ return { ok: false, error: "analysis_validation_failed_unexpected" };
215
+ }
216
+ }
175
217
  /** Explicit invocation or an opted-in post-run owner; Observer readers never call this. */
176
218
  export async function runStudyAnalysis(input, config, options) {
177
219
  // Callers retain their own object references. Snapshot once so a display callback or later
@@ -261,10 +303,12 @@ export async function runStudyAnalysis(input, config, options) {
261
303
  return finish();
262
304
  }
263
305
  progress("validating");
264
- try {
265
- // Parse the bounded shape first, then scrub and validate again. Changed exact quotes or
266
- // expanded field lengths fail closed under the original validator; source bytes stay intact.
267
- artifact.result = validateAnalysisResult(input, scrubGeneratedNarrative(studyAnalysisResponseSchema.parse(response.output)));
306
+ // Parse the bounded shape first, then scrub and validate again. Changed exact quotes or
307
+ // expanded field lengths fail closed under the original validator; source bytes stay intact.
308
+ // Only an allowlisted stage or first rule code survives; rejected output and exceptions do not.
309
+ const checked = checkProviderAnalysis(input, response.output);
310
+ if (checked.ok) {
311
+ artifact.result = checked.result;
268
312
  artifact.status = input.coverage.complete ? "complete" : "partial";
269
313
  artifact.error = null;
270
314
  if (config.provider !== "codex" && ((response.usage?.output ?? 0) > config.maxOutputTokens
@@ -274,10 +318,9 @@ export async function runStudyAnalysis(input, config, options) {
274
318
  artifact.error = "analysis_admission_estimate_exceeded";
275
319
  }
276
320
  }
277
- catch {
278
- // Validation errors may quote model output; only the stable code leaves this boundary.
321
+ else {
279
322
  artifact.result = null;
280
- artifact.error = "analysis_validation_failed";
323
+ artifact.error = checked.error;
281
324
  }
282
325
  return finish();
283
326
  }
@@ -1 +1 @@
1
- {"version":3,"file":"study-analysis-engine.js","sourceRoot":"","sources":["../src/study-analysis-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"study-analysis-engine.js","sourceRoot":"","sources":["../src/study-analysis-engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ # Optional desktop recording
2
+
3
+ Humanish keeps screenshots, actions, participant feedback and analysis by default.
4
+ For continuous playback, opt into a desktop video:
5
+
6
+ ```yaml
7
+ execution:
8
+ desktop:
9
+ recording: { audio: true }
10
+ ```
11
+
12
+ Set `audio: false` for screen-only video. Omit `recording` to keep the lightweight
13
+ snapshot recording. This applies to independent computer-use desktop lanes on
14
+ local Firecracker and E2B; scripted-browser, shared-world and in-process executors
15
+ do not consume this setting and reject it before execution.
16
+
17
+ Recording does not enable a camera, speech synthesis or speech recognition.
18
+ Those remain separate [participant media](participant-media.md) options. With
19
+ audio enabled, microphone input and speaker output are mixed into one AAC track.
20
+ `audioSources` identifies the capture points feeding that mix, not separate
21
+ retained tracks. The microphone can be silent when speech is not configured.
22
+ A recorded microphone signal proves what was offered to the browser, not what
23
+ another person received. Confirm reciprocal delivery from the other
24
+ participant's evidence.
25
+
26
+ ## Capture and playback
27
+
28
+ The desktop runs FFmpeg against its X display. MP4 carries H.264 video and optional
29
+ AAC audio. Recording stops and streams to the run directory before desktop cleanup.
30
+ Both providers use the same encoding settings and artifact metadata. The local
31
+ runtime transfers one bounded file over its existing owner connection; E2B uses
32
+ the SDK's streaming file download. Participant tools cannot request arbitrary files.
33
+
34
+ Local recording uses the existing optional media runtime archive. This keeps the
35
+ browser-only download unchanged, but the optional archive also contains speech
36
+ assets even when speech is disabled. Recording alone does not start Whisper or
37
+ text-to-speech. E2B's stock desktop already has the recording dependencies; a custom
38
+ template must provide compatible FFmpeg, X11 and, for audio, PulseAudio tools.
39
+
40
+ Observer uses the existing study clock to play the selected participant's video.
41
+ Scrubbing, opening a participant and returning to the grid preserve study time.
42
+ The grid continues to show lightweight captures; only the selected participant
43
+ has audible playback. Outside the retained media interval, Observer shows that
44
+ video is unavailable rather than extending its coverage. Old screenshot-only runs
45
+ continue to work.
46
+
47
+ The file and its measured interval are recorded in `streams[].recording` and a
48
+ `recording` artifact entry. A recorder failure warns and preserves screenshots,
49
+ actions and feedback; it does not fail an otherwise useful participant. Incomplete
50
+ but playable media is labeled partial. Forced VM loss may leave no retrievable
51
+ video. Analysis continues to use the existing screenshot and text evidence; it
52
+ does not inspect the MP4.
53
+
54
+ ## Local evidence and exports
55
+
56
+ Video and audio are raw local evidence. `policies.redactScreenshots` does not redact
57
+ them, and verification keeps a run with continuous media `local_only`. The recorder
58
+ has a 128 MiB per-participant file limit; a retained size-limited recording is partial.
59
+ Encoding consumes additional CPU, memory and disk, so snapshots remain the default.
60
+
61
+ `humanish export --local-only` produces the existing portable HTML with screenshots
62
+ and text, excludes continuous media and displays that exclusion. Open the original
63
+ run through `humanish watch` or `humanish serve` to play its video. Redacted bundle
64
+ export does not redact video/audio and rejects these runs. There is no new portable
65
+ video format or automatic audio/video redaction in this feature.
@@ -100,8 +100,9 @@ Later participant actions and observations do not use this startup wait.
100
100
  - Chromium at 960×720, 2 vCPUs and 2 GiB guest RAM per participant. Docker's
101
101
  enclosing memory limit is 3 GiB. Start with a small concurrency for your host;
102
102
  these allocations are not a promise of measured peak memory or capacity.
103
- - Browser-only. Inbox and camera/microphone declarations are rejected until
104
- integrated. TAP/NAT networking preserves the path to optional media.
103
+ - Browser-only by default. [Optional camera and spoken conversation](participant-media.md)
104
+ use a separate media image and the same study loop. Local inbox declarations
105
+ remain unsupported.
105
106
  - A 20-minute default and maximum participant session budget, within the runtime
106
107
  image's 30-minute process lifetime. A shorter `execution.timeoutMs` is supported.
107
108
  - Codex participants currently use `gpt-6-astra` at low effort. Hosted templates,
@@ -0,0 +1,90 @@
1
+ # Optional participant media
2
+
3
+ Media belongs to the desktop. The participant still navigates through screenshots
4
+ and the shared computer-use loop, using one continuing Codex conversation for
5
+ clicks, listening and spoken replies.
6
+
7
+ ```yaml
8
+ actors:
9
+ - type: local-agent
10
+ localAgent: codex
11
+ execution:
12
+ target: local
13
+ desktop:
14
+ media:
15
+ camera: { source: synthetic }
16
+ microphone: { source: speech }
17
+ policies:
18
+ mediaPermission: prompt
19
+ ```
20
+
21
+ Omit `media` and `recording` for ordinary browser studies. They keep the smaller
22
+ browser image and start no audio server, camera producer or speech worker. Camera and speech
23
+ can also be requested separately. Local media setup uses a separately pinned
24
+ image, prepared by the first live study or `humanish runtime setup --media`.
25
+
26
+ The local camera is an animated test pattern behind a native V4L2 device. Speech
27
+ uses a synthetic microphone and a separate speaker sink. Chromium uses its
28
+ ordinary devices and permission dialog. `mediaPermission: granted` bypasses the
29
+ dialog explicitly; it does not replace the devices.
30
+
31
+ ## Speaking and listening
32
+
33
+ With speech enabled, `humanish_ui` accepts `{kind: "speak", text: "..."}` in
34
+ addition to browser actions. It plays into the microphone; the participant must
35
+ join and unmute through the app. Tool narration is never automatically spoken.
36
+ Keep each utterance within 400 characters. Playback acknowledgement establishes
37
+ local microphone input, not delivery to another caller.
38
+
39
+ The desktop captures actual speaker audio. Finalized English transcriptions
40
+ arrive as `heardSpeech` observations with an utterance ID, `speaker_audio` source
41
+ and duration. A participant can use the existing `wait` action while listening.
42
+ Hearing something counts as progress even when the screen stays unchanged.
43
+
44
+ Transcription and synthetic speech run inside the Linux desktop, without a
45
+ speech API key or a host Python installation. Codex inference still runs remotely
46
+ using the selected account. The first voice uses espeak-ng and sounds robotic;
47
+ whisper.cpp uses the pinned English `base.en` model for recognition. This is bounded turn-taking, with recognition
48
+ latency and possible transcription errors, not a streaming voice conversation
49
+ with interruption handling.
50
+
51
+ Spoken text and heard observations pass through the existing evidence redaction
52
+ before being retained in the trace. Analysis reads that evidence alongside the
53
+ recording. Raw audio is not saved by default. [Optional desktop recording](desktop-recording.md)
54
+ can retain actual screen and audio playback alongside this evidence.
55
+
56
+ ## Hosted desktops
57
+
58
+ The same worker and participant loop support hosted speech. Humanish selects a
59
+ versioned public E2B media template when speech is requested; ordinary browser
60
+ studies keep the stock desktop. The usual E2B credentials and Codex login are
61
+ sufficient. `execution.desktop.template` remains an explicit override for your
62
+ own compatible image; see the [build recipe](../../runtime/browser-media/E2B.md).
63
+ The host starts the worker through the SDK's streaming command interface, and
64
+ model credentials stay on the host. Missing dependencies fail desktop preparation
65
+ before a participant starts.
66
+
67
+ Existing hosted synthetic cameras use Chromium's fake-device flags. Those flags
68
+ also replace its microphone, so hosted camera and speech cannot currently be
69
+ combined. Use a local native-media desktop for both, or a hosted audio-only
70
+ study. Microphone files and speech through other participant providers are not
71
+ supported. A template alone cannot add camera support to a kernel without V4L2.
72
+
73
+ ## Runtime maintenance
74
+
75
+ `runtime/local-firecracker/build.py --media` extends the maintained browser image
76
+ with native devices and the speech worker. The published media image must carry
77
+ `to.humanish.runtime.media=1`; a cached browser image cannot satisfy a media
78
+ request. Source builds can select an already-built media image with
79
+ `HUMANISH_LOCAL_MEDIA_RUNTIME_IMAGE`.
80
+
81
+ The media worker owns its subprocesses and buffers. Failed speech recognition,
82
+ worker exit and queue overflow stop the media session instead of appearing as
83
+ successful silence. Closing the desktop stops media and reclaims its isolated
84
+ state. No conferencing vendor or room-specific behavior is implemented in core.
85
+
86
+ Retain the matching media sources and package notices when publishing runtime
87
+ assets. Pass `--media-browser` and `--media-inputs` to the existing
88
+ `runtime/local-firecracker/sources.py` collector alongside its ordinary inputs.
89
+ Hardware capacity and conferencing topology require their own measured proof;
90
+ requesting media does not qualify twenty concurrent participants or TURN.
@@ -140,6 +140,33 @@ first-participant scenario goal and feedback goal copies receive the same known-
140
140
  redaction; the actual execution prompt is unchanged. Verification
141
141
  accepts absence and rejects malformed assignment fields or extra task fields such as criteria.
142
142
 
143
+ ## Continuous desktop recording
144
+
145
+ A stream can add `recording` without changing the screenshot/action contract:
146
+
147
+ ```yaml
148
+ recording:
149
+ schema: humanish.desktop-recording.v1
150
+ path: recordings/lane-01/desktop.mp4
151
+ mimeType: video/mp4
152
+ startedAt: "2026-09-26T10:00:00.000Z"
153
+ durationMs: 12000
154
+ bytes: 240000
155
+ audioSources: [microphone-input, speaker-output]
156
+ complete: true
157
+ ```
158
+
159
+ The stream registers the same path as an artifact with `kind: recording`.
160
+ `durationMs` comes from the retained file, not the participant's lifetime.
161
+ `complete: false` means the retained media stopped early. Audio sources describe
162
+ capture points, not remote delivery; an empty list means screen-only. No recording
163
+ field means no retained video, not proof that nothing happened between captures.
164
+
165
+ Verification checks the local file, declared size, MP4 header and matching artifact
166
+ entry without loading the whole video into memory. Raw continuous media makes the
167
+ run `local_only` regardless of screenshot redaction. Analysis input remains text
168
+ and screenshots. See [desktop recording](../architecture/desktop-recording.md).
169
+
143
170
  ## Hosted Desktop Geometry
144
171
 
145
172
  Hosted browser streams may carry additive `desktopGeometry` evidence. Its fields keep five
@@ -3,7 +3,7 @@
3
3
  Date: 2026-06-02 (current-state note updated 2026-07-14)
4
4
 
5
5
  Status: reference map for the major contracts shipped through source version
6
- `0.101.0`; it is not an exhaustive inventory of command/result envelopes. Exported types,
6
+ `0.103.0`; it is not an exhaustive inventory of command/result envelopes. Exported types,
7
7
  schema constants, parsers, and validators in `src/` are authoritative. Rows
8
8
  marked "reserved" name layering intent only — no code emits or validates them
9
9
  yet. Do not emit a reserved schema.
@@ -165,6 +165,20 @@ integrity. Visual claims require retained captures; screenshot-free evidence
165
165
  opens its original event. These checks do not prove that every interpretation
166
166
  is correct or every consequential issue was found.
167
167
 
168
+ A rejected response keeps `result` null and records only an allowlisted code in
169
+ the artifact's existing `error` field. The code distinguishes schema rejection,
170
+ generated-text scrubbing, an unexpected validation exception, or the first
171
+ failed reference rule (for example, an invalid quote or observation reference).
172
+ It never includes provider output, exception text, evidence values or IDs.
173
+ Historical artifacts with the generic `analysis_validation_failed` code remain
174
+ valid and unchanged.
175
+
176
+ Participant reviews cite distinct packet-local evidence IDs belonging only to
177
+ that participant's stream; source event IDs are not citation IDs. Shared
178
+ interactions can cite multiple included participants in findings and concern
179
+ reviews under the existing exposure rules. The `study-evidence-6` prompt makes
180
+ this distinction explicit without changing the validator or historical reports.
181
+
168
182
  Elapsed replay time starts at the first retained capture. It is not a video
169
183
  offset. Nonvisual events retain event identity without invented frame offsets.
170
184
  Scripted captures without recorded timestamps keep null analysis times; any