indusagi-coding-agent 0.1.42 → 0.1.44

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 (288) hide show
  1. package/CHANGELOG.md +23 -3
  2. package/README.md +3 -0
  3. package/dist/command-line/args.js +1 -1
  4. package/dist/command-line/args.js.map +1 -1
  5. package/dist/command-line/list-models.js +1 -1
  6. package/dist/command-line/list-models.js.map +1 -1
  7. package/dist/command-line/login-handler.d.ts.map +1 -1
  8. package/dist/command-line/login-handler.js +39 -0
  9. package/dist/command-line/login-handler.js.map +1 -1
  10. package/dist/dev/observe-deep.d.ts +2 -0
  11. package/dist/dev/observe-deep.d.ts.map +1 -0
  12. package/dist/dev/observe-deep.js +333 -0
  13. package/dist/dev/observe-deep.js.map +1 -0
  14. package/dist/dev/observe-smoke.d.ts +2 -0
  15. package/dist/dev/observe-smoke.d.ts.map +1 -0
  16. package/dist/dev/observe-smoke.js +264 -0
  17. package/dist/dev/observe-smoke.js.map +1 -0
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/interfaces/induscode-ui-delegate.d.ts +3 -0
  23. package/dist/interfaces/induscode-ui-delegate.d.ts.map +1 -0
  24. package/dist/interfaces/induscode-ui-delegate.js +148 -0
  25. package/dist/interfaces/induscode-ui-delegate.js.map +1 -0
  26. package/dist/interfaces/terminal-ui/components/footer.d.ts.map +1 -1
  27. package/dist/interfaces/terminal-ui/components/footer.js +9 -15
  28. package/dist/interfaces/terminal-ui/components/footer.js.map +1 -1
  29. package/dist/interfaces/terminal-ui/components/model-selector.d.ts.map +1 -1
  30. package/dist/interfaces/terminal-ui/components/model-selector.js +1 -1
  31. package/dist/interfaces/terminal-ui/components/model-selector.js.map +1 -1
  32. package/dist/interfaces/terminal-ui/components/oauth-selector.d.ts.map +1 -1
  33. package/dist/interfaces/terminal-ui/components/oauth-selector.js +1 -0
  34. package/dist/interfaces/terminal-ui/components/oauth-selector.js.map +1 -1
  35. package/dist/main.d.ts.map +1 -1
  36. package/dist/main.js +42 -18
  37. package/dist/main.js.map +1 -1
  38. package/dist/observe.d.ts +2 -0
  39. package/dist/observe.d.ts.map +1 -0
  40. package/dist/observe.js +2 -0
  41. package/dist/observe.js.map +1 -0
  42. package/dist/runtime/agent-session.d.ts +15 -0
  43. package/dist/runtime/agent-session.d.ts.map +1 -1
  44. package/dist/runtime/agent-session.js +444 -223
  45. package/dist/runtime/agent-session.js.map +1 -1
  46. package/dist/runtime/index.d.ts +5 -0
  47. package/dist/runtime/index.d.ts.map +1 -1
  48. package/dist/runtime/index.js +5 -0
  49. package/dist/runtime/index.js.map +1 -1
  50. package/dist/runtime/model-registry.d.ts +6 -0
  51. package/dist/runtime/model-registry.d.ts.map +1 -1
  52. package/dist/runtime/model-registry.js +71 -14
  53. package/dist/runtime/model-registry.js.map +1 -1
  54. package/dist/runtime/model-resolver.d.ts.map +1 -1
  55. package/dist/runtime/model-resolver.js +6 -3
  56. package/dist/runtime/model-resolver.js.map +1 -1
  57. package/dist/runtime/observe.d.ts +50 -0
  58. package/dist/runtime/observe.d.ts.map +1 -0
  59. package/dist/runtime/observe.js +233 -0
  60. package/dist/runtime/observe.js.map +1 -0
  61. package/dist/runtime/plugins/types.d.ts +3 -0
  62. package/dist/runtime/plugins/types.d.ts.map +1 -1
  63. package/dist/runtime/plugins/types.js.map +1 -1
  64. package/dist/runtime/providers/adapters/claude-cli-adapter.d.ts +19 -0
  65. package/dist/runtime/providers/adapters/claude-cli-adapter.d.ts.map +1 -0
  66. package/dist/runtime/providers/adapters/claude-cli-adapter.js +242 -0
  67. package/dist/runtime/providers/adapters/claude-cli-adapter.js.map +1 -0
  68. package/dist/runtime/providers/adapters/codex-cli-adapter.d.ts +18 -0
  69. package/dist/runtime/providers/adapters/codex-cli-adapter.d.ts.map +1 -0
  70. package/dist/runtime/providers/adapters/codex-cli-adapter.js +177 -0
  71. package/dist/runtime/providers/adapters/codex-cli-adapter.js.map +1 -0
  72. package/dist/runtime/providers/adapters/indusagi-cli-adapter.d.ts +21 -0
  73. package/dist/runtime/providers/adapters/indusagi-cli-adapter.d.ts.map +1 -0
  74. package/dist/runtime/providers/adapters/indusagi-cli-adapter.js +162 -0
  75. package/dist/runtime/providers/adapters/indusagi-cli-adapter.js.map +1 -0
  76. package/dist/runtime/providers/adapters/utils.d.ts +12 -0
  77. package/dist/runtime/providers/adapters/utils.d.ts.map +1 -0
  78. package/dist/runtime/providers/adapters/utils.js +122 -0
  79. package/dist/runtime/providers/adapters/utils.js.map +1 -0
  80. package/dist/runtime/providers/builtins.d.ts +3 -0
  81. package/dist/runtime/providers/builtins.d.ts.map +1 -0
  82. package/dist/runtime/providers/builtins.js +99 -0
  83. package/dist/runtime/providers/builtins.js.map +1 -0
  84. package/dist/runtime/providers/provider-adapter-registry.d.ts +11 -0
  85. package/dist/runtime/providers/provider-adapter-registry.d.ts.map +1 -0
  86. package/dist/runtime/providers/provider-adapter-registry.js +36 -0
  87. package/dist/runtime/providers/provider-adapter-registry.js.map +1 -0
  88. package/dist/runtime/providers/provider-adapter.d.ts +33 -0
  89. package/dist/runtime/providers/provider-adapter.d.ts.map +1 -0
  90. package/dist/runtime/providers/provider-adapter.js +2 -0
  91. package/dist/runtime/providers/provider-adapter.js.map +1 -0
  92. package/dist/runtime/providers/provider-service.d.ts +33 -0
  93. package/dist/runtime/providers/provider-service.d.ts.map +1 -0
  94. package/dist/runtime/providers/provider-service.js +157 -0
  95. package/dist/runtime/providers/provider-service.js.map +1 -0
  96. package/dist/runtime/providers/types.d.ts +29 -0
  97. package/dist/runtime/providers/types.d.ts.map +1 -0
  98. package/dist/runtime/providers/types.js +9 -0
  99. package/dist/runtime/providers/types.js.map +1 -0
  100. package/dist/runtime/sdk.d.ts +6 -0
  101. package/dist/runtime/sdk.d.ts.map +1 -1
  102. package/dist/runtime/sdk.js +55 -8
  103. package/dist/runtime/sdk.js.map +1 -1
  104. package/dist/telemetry/core/types.d.ts +1 -1
  105. package/dist/telemetry/core/types.js +1 -1
  106. package/dist/vendor/observe/adapters/agent-event-adapter.d.ts +28 -0
  107. package/dist/vendor/observe/adapters/agent-event-adapter.d.ts.map +1 -0
  108. package/dist/vendor/observe/adapters/agent-event-adapter.js +136 -0
  109. package/dist/vendor/observe/adapters/agent-event-adapter.js.map +1 -0
  110. package/dist/vendor/observe/adapters/ai-stream-adapter.d.ts +24 -0
  111. package/dist/vendor/observe/adapters/ai-stream-adapter.d.ts.map +1 -0
  112. package/dist/vendor/observe/adapters/ai-stream-adapter.js +118 -0
  113. package/dist/vendor/observe/adapters/ai-stream-adapter.js.map +1 -0
  114. package/dist/vendor/observe/artifacts/content-store.d.ts +12 -0
  115. package/dist/vendor/observe/artifacts/content-store.d.ts.map +1 -0
  116. package/dist/vendor/observe/artifacts/content-store.js +2 -0
  117. package/dist/vendor/observe/artifacts/content-store.js.map +1 -0
  118. package/dist/vendor/observe/artifacts/file-content-store.d.ts +16 -0
  119. package/dist/vendor/observe/artifacts/file-content-store.d.ts.map +1 -0
  120. package/dist/vendor/observe/artifacts/file-content-store.js +43 -0
  121. package/dist/vendor/observe/artifacts/file-content-store.js.map +1 -0
  122. package/dist/vendor/observe/batcher.d.ts +27 -0
  123. package/dist/vendor/observe/batcher.d.ts.map +1 -0
  124. package/dist/vendor/observe/batcher.js +66 -0
  125. package/dist/vendor/observe/batcher.js.map +1 -0
  126. package/dist/vendor/observe/client/artifacts-manager.d.ts +29 -0
  127. package/dist/vendor/observe/client/artifacts-manager.d.ts.map +1 -0
  128. package/dist/vendor/observe/client/artifacts-manager.js +120 -0
  129. package/dist/vendor/observe/client/artifacts-manager.js.map +1 -0
  130. package/dist/vendor/observe/client/datasets-manager.d.ts +16 -0
  131. package/dist/vendor/observe/client/datasets-manager.d.ts.map +1 -0
  132. package/dist/vendor/observe/client/datasets-manager.js +27 -0
  133. package/dist/vendor/observe/client/datasets-manager.js.map +1 -0
  134. package/dist/vendor/observe/client/experiments-manager.d.ts +61 -0
  135. package/dist/vendor/observe/client/experiments-manager.d.ts.map +1 -0
  136. package/dist/vendor/observe/client/experiments-manager.js +132 -0
  137. package/dist/vendor/observe/client/experiments-manager.js.map +1 -0
  138. package/dist/vendor/observe/client/index.d.ts +9 -0
  139. package/dist/vendor/observe/client/index.d.ts.map +1 -0
  140. package/dist/vendor/observe/client/index.js +9 -0
  141. package/dist/vendor/observe/client/index.js.map +1 -0
  142. package/dist/vendor/observe/client/observe-client.d.ts +30 -0
  143. package/dist/vendor/observe/client/observe-client.d.ts.map +1 -0
  144. package/dist/vendor/observe/client/observe-client.js +22 -0
  145. package/dist/vendor/observe/client/observe-client.js.map +1 -0
  146. package/dist/vendor/observe/client/prompts-manager.d.ts +17 -0
  147. package/dist/vendor/observe/client/prompts-manager.d.ts.map +1 -0
  148. package/dist/vendor/observe/client/prompts-manager.js +38 -0
  149. package/dist/vendor/observe/client/prompts-manager.js.map +1 -0
  150. package/dist/vendor/observe/client/scores-manager.d.ts +10 -0
  151. package/dist/vendor/observe/client/scores-manager.d.ts.map +1 -0
  152. package/dist/vendor/observe/client/scores-manager.js +15 -0
  153. package/dist/vendor/observe/client/scores-manager.js.map +1 -0
  154. package/dist/vendor/observe/client/sessions-manager.d.ts +15 -0
  155. package/dist/vendor/observe/client/sessions-manager.d.ts.map +1 -0
  156. package/dist/vendor/observe/client/sessions-manager.js +24 -0
  157. package/dist/vendor/observe/client/sessions-manager.js.map +1 -0
  158. package/dist/vendor/observe/client/traces-manager.d.ts +23 -0
  159. package/dist/vendor/observe/client/traces-manager.d.ts.map +1 -0
  160. package/dist/vendor/observe/client/traces-manager.js +39 -0
  161. package/dist/vendor/observe/client/traces-manager.js.map +1 -0
  162. package/dist/vendor/observe/console-exporter.d.ts +11 -0
  163. package/dist/vendor/observe/console-exporter.d.ts.map +1 -0
  164. package/dist/vendor/observe/console-exporter.js +18 -0
  165. package/dist/vendor/observe/console-exporter.js.map +1 -0
  166. package/dist/vendor/observe/context.d.ts +4 -0
  167. package/dist/vendor/observe/context.d.ts.map +1 -0
  168. package/dist/vendor/observe/context.js +9 -0
  169. package/dist/vendor/observe/context.js.map +1 -0
  170. package/dist/vendor/observe/entities/artifacts.d.ts +46 -0
  171. package/dist/vendor/observe/entities/artifacts.d.ts.map +1 -0
  172. package/dist/vendor/observe/entities/artifacts.js +2 -0
  173. package/dist/vendor/observe/entities/artifacts.js.map +1 -0
  174. package/dist/vendor/observe/entities/datasets.d.ts +37 -0
  175. package/dist/vendor/observe/entities/datasets.d.ts.map +1 -0
  176. package/dist/vendor/observe/entities/datasets.js +2 -0
  177. package/dist/vendor/observe/entities/datasets.js.map +1 -0
  178. package/dist/vendor/observe/entities/experiments.d.ts +66 -0
  179. package/dist/vendor/observe/entities/experiments.d.ts.map +1 -0
  180. package/dist/vendor/observe/entities/experiments.js +2 -0
  181. package/dist/vendor/observe/entities/experiments.js.map +1 -0
  182. package/dist/vendor/observe/entities/index.d.ts +9 -0
  183. package/dist/vendor/observe/entities/index.d.ts.map +1 -0
  184. package/dist/vendor/observe/entities/index.js +9 -0
  185. package/dist/vendor/observe/entities/index.js.map +1 -0
  186. package/dist/vendor/observe/entities/prompts.d.ts +25 -0
  187. package/dist/vendor/observe/entities/prompts.d.ts.map +1 -0
  188. package/dist/vendor/observe/entities/prompts.js +2 -0
  189. package/dist/vendor/observe/entities/prompts.js.map +1 -0
  190. package/dist/vendor/observe/entities/scores.d.ts +28 -0
  191. package/dist/vendor/observe/entities/scores.d.ts.map +1 -0
  192. package/dist/vendor/observe/entities/scores.js +2 -0
  193. package/dist/vendor/observe/entities/scores.js.map +1 -0
  194. package/dist/vendor/observe/entities/sessions.d.ts +36 -0
  195. package/dist/vendor/observe/entities/sessions.d.ts.map +1 -0
  196. package/dist/vendor/observe/entities/sessions.js +2 -0
  197. package/dist/vendor/observe/entities/sessions.js.map +1 -0
  198. package/dist/vendor/observe/entities/shared.d.ts +26 -0
  199. package/dist/vendor/observe/entities/shared.d.ts.map +1 -0
  200. package/dist/vendor/observe/entities/shared.js +2 -0
  201. package/dist/vendor/observe/entities/shared.js.map +1 -0
  202. package/dist/vendor/observe/entities/traces.d.ts +59 -0
  203. package/dist/vendor/observe/entities/traces.d.ts.map +1 -0
  204. package/dist/vendor/observe/entities/traces.js +2 -0
  205. package/dist/vendor/observe/entities/traces.js.map +1 -0
  206. package/dist/vendor/observe/exporter.d.ts +2 -0
  207. package/dist/vendor/observe/exporter.d.ts.map +1 -0
  208. package/dist/vendor/observe/exporter.js +2 -0
  209. package/dist/vendor/observe/exporter.js.map +1 -0
  210. package/dist/vendor/observe/file-exporter.d.ts +16 -0
  211. package/dist/vendor/observe/file-exporter.d.ts.map +1 -0
  212. package/dist/vendor/observe/file-exporter.js +39 -0
  213. package/dist/vendor/observe/file-exporter.js.map +1 -0
  214. package/dist/vendor/observe/global.d.ts +6 -0
  215. package/dist/vendor/observe/global.d.ts.map +1 -0
  216. package/dist/vendor/observe/global.js +17 -0
  217. package/dist/vendor/observe/global.js.map +1 -0
  218. package/dist/vendor/observe/index.d.ts +24 -0
  219. package/dist/vendor/observe/index.d.ts.map +1 -0
  220. package/dist/vendor/observe/index.js +24 -0
  221. package/dist/vendor/observe/index.js.map +1 -0
  222. package/dist/vendor/observe/noop.d.ts +17 -0
  223. package/dist/vendor/observe/noop.d.ts.map +1 -0
  224. package/dist/vendor/observe/noop.js +80 -0
  225. package/dist/vendor/observe/noop.js.map +1 -0
  226. package/dist/vendor/observe/privacy.d.ts +18 -0
  227. package/dist/vendor/observe/privacy.d.ts.map +1 -0
  228. package/dist/vendor/observe/privacy.js +160 -0
  229. package/dist/vendor/observe/privacy.js.map +1 -0
  230. package/dist/vendor/observe/query/simple-query-client.d.ts +11 -0
  231. package/dist/vendor/observe/query/simple-query-client.d.ts.map +1 -0
  232. package/dist/vendor/observe/query/simple-query-client.js +31 -0
  233. package/dist/vendor/observe/query/simple-query-client.js.map +1 -0
  234. package/dist/vendor/observe/replay/session-replay.d.ts +20 -0
  235. package/dist/vendor/observe/replay/session-replay.d.ts.map +1 -0
  236. package/dist/vendor/observe/replay/session-replay.js +180 -0
  237. package/dist/vendor/observe/replay/session-replay.js.map +1 -0
  238. package/dist/vendor/observe/runtime.d.ts +27 -0
  239. package/dist/vendor/observe/runtime.d.ts.map +1 -0
  240. package/dist/vendor/observe/runtime.js +177 -0
  241. package/dist/vendor/observe/runtime.js.map +1 -0
  242. package/dist/vendor/observe/server/dashboard-html.d.ts +6 -0
  243. package/dist/vendor/observe/server/dashboard-html.d.ts.map +1 -0
  244. package/dist/vendor/observe/server/dashboard-html.js +305 -0
  245. package/dist/vendor/observe/server/dashboard-html.js.map +1 -0
  246. package/dist/vendor/observe/server/http-observe-server.d.ts +62 -0
  247. package/dist/vendor/observe/server/http-observe-server.d.ts.map +1 -0
  248. package/dist/vendor/observe/server/http-observe-server.js +418 -0
  249. package/dist/vendor/observe/server/http-observe-server.js.map +1 -0
  250. package/dist/vendor/observe/server/in-memory-observe-server.d.ts +20 -0
  251. package/dist/vendor/observe/server/in-memory-observe-server.d.ts.map +1 -0
  252. package/dist/vendor/observe/server/in-memory-observe-server.js +76 -0
  253. package/dist/vendor/observe/server/in-memory-observe-server.js.map +1 -0
  254. package/dist/vendor/observe/span.d.ts +45 -0
  255. package/dist/vendor/observe/span.d.ts.map +1 -0
  256. package/dist/vendor/observe/span.js +110 -0
  257. package/dist/vendor/observe/span.js.map +1 -0
  258. package/dist/vendor/observe/store/contracts.d.ts +59 -0
  259. package/dist/vendor/observe/store/contracts.d.ts.map +1 -0
  260. package/dist/vendor/observe/store/contracts.js +2 -0
  261. package/dist/vendor/observe/store/contracts.js.map +1 -0
  262. package/dist/vendor/observe/store/file-control-plane-store.d.ts +33 -0
  263. package/dist/vendor/observe/store/file-control-plane-store.d.ts.map +1 -0
  264. package/dist/vendor/observe/store/file-control-plane-store.js +146 -0
  265. package/dist/vendor/observe/store/file-control-plane-store.js.map +1 -0
  266. package/dist/vendor/observe/store/in-memory-control-plane-store.d.ts +84 -0
  267. package/dist/vendor/observe/store/in-memory-control-plane-store.d.ts.map +1 -0
  268. package/dist/vendor/observe/store/in-memory-control-plane-store.js +447 -0
  269. package/dist/vendor/observe/store/in-memory-control-plane-store.js.map +1 -0
  270. package/dist/vendor/observe/store/index.d.ts +4 -0
  271. package/dist/vendor/observe/store/index.d.ts.map +1 -0
  272. package/dist/vendor/observe/store/index.js +4 -0
  273. package/dist/vendor/observe/store/index.js.map +1 -0
  274. package/dist/vendor/observe/types.d.ts +246 -0
  275. package/dist/vendor/observe/types.d.ts.map +1 -0
  276. package/dist/vendor/observe/types.js +152 -0
  277. package/dist/vendor/observe/types.js.map +1 -0
  278. package/dist/vendor/observe/worker/in-memory-observe-worker.d.ts +25 -0
  279. package/dist/vendor/observe/worker/in-memory-observe-worker.d.ts.map +1 -0
  280. package/dist/vendor/observe/worker/in-memory-observe-worker.js +82 -0
  281. package/dist/vendor/observe/worker/in-memory-observe-worker.js.map +1 -0
  282. package/guides/CLAUDE_CODEX_CLI_INTEGRATION_PLAN.md +321 -0
  283. package/guides/{PI_MONO_MIT_REMOVAL_GUIDE.md → INDUSAGI_MONO_MIT_REMOVAL_GUIDE.md} +29 -29
  284. package/guides/INDUSVX_OBSERVE_FULL_INTEGRATION_REPORT.md +543 -0
  285. package/guides/OBSERVE_DEEP_VALIDATION.md +252 -0
  286. package/guides/OBSERVE_LOCAL_TESTING.md +183 -0
  287. package/guides/OPTION3_PROVIDER_ADAPTER_RUNTIME_PLAN.md +370 -0
  288. package/package.json +11 -4
@@ -0,0 +1,447 @@
1
+ import { randomUUID } from "node:crypto";
2
+ function clone(value) {
3
+ return structuredClone(value);
4
+ }
5
+ function toMap(values) {
6
+ return new Map((values ?? []).map((value) => [value.id, clone(value)]));
7
+ }
8
+ export class InMemoryObserveControlPlaneStore {
9
+ constructor(options = {}) {
10
+ this.sessions = {
11
+ create: async (input) => {
12
+ const timestamp = this.now();
13
+ const entity = {
14
+ id: input.id ?? this.idGenerator(),
15
+ name: input.name,
16
+ externalSessionId: input.externalSessionId,
17
+ parentSessionId: input.parentSessionId,
18
+ status: "active",
19
+ startedAt: input.startedAt ?? timestamp,
20
+ endedAt: undefined,
21
+ cwdHash: input.cwdHash,
22
+ agentVersion: input.agentVersion,
23
+ tags: input.tags,
24
+ metadata: input.metadata,
25
+ createdAt: timestamp,
26
+ updatedAt: timestamp,
27
+ };
28
+ this.sessionsById.set(entity.id, clone(entity));
29
+ return clone(entity);
30
+ },
31
+ get: async (id) => {
32
+ const entity = this.sessionsById.get(id);
33
+ return entity ? clone(entity) : undefined;
34
+ },
35
+ list: async (filter = {}) => {
36
+ return this.filterValues(this.sessionsById, (entity) => {
37
+ if (filter.parentSessionId && entity.parentSessionId !== filter.parentSessionId)
38
+ return false;
39
+ if (filter.externalSessionId && entity.externalSessionId !== filter.externalSessionId)
40
+ return false;
41
+ if (filter.status && entity.status !== filter.status)
42
+ return false;
43
+ return true;
44
+ });
45
+ },
46
+ update: async (id, patch) => {
47
+ const current = this.requireEntity(this.sessionsById, id, "session");
48
+ const next = {
49
+ ...current,
50
+ ...patch,
51
+ metadata: patch.metadata ? { ...(current.metadata ?? {}), ...patch.metadata } : current.metadata,
52
+ updatedAt: this.now(),
53
+ };
54
+ this.sessionsById.set(id, clone(next));
55
+ return clone(next);
56
+ },
57
+ };
58
+ this.traces = {
59
+ create: async (input) => {
60
+ const timestamp = this.now();
61
+ const entity = {
62
+ id: input.id ?? this.idGenerator(),
63
+ name: input.name,
64
+ sessionId: input.sessionId,
65
+ rootSpanId: input.rootSpanId,
66
+ status: input.status ?? "ok",
67
+ kind: input.kind ?? "agent_run",
68
+ startedAt: input.startedAt ?? timestamp,
69
+ endedAt: input.endedAt,
70
+ durationMs: input.durationMs,
71
+ input: input.input,
72
+ output: input.output,
73
+ promptId: input.promptId,
74
+ datasetItemId: input.datasetItemId,
75
+ experimentRunId: input.experimentRunId,
76
+ tags: input.tags,
77
+ metadata: input.metadata,
78
+ createdAt: timestamp,
79
+ updatedAt: timestamp,
80
+ };
81
+ this.tracesById.set(entity.id, clone(entity));
82
+ return clone(entity);
83
+ },
84
+ ingest: async (input) => {
85
+ const record = input.record;
86
+ const existing = this.tracesById.get(record.traceId);
87
+ const timestamp = this.now();
88
+ const next = {
89
+ id: record.traceId,
90
+ name: record.name,
91
+ sessionId: input.sessionId ?? existing?.sessionId,
92
+ rootSpanId: record.spanId,
93
+ status: record.status,
94
+ kind: record.kind,
95
+ startedAt: record.startTime,
96
+ endedAt: record.endTime,
97
+ durationMs: record.durationMs,
98
+ input: existing?.input,
99
+ output: existing?.output,
100
+ promptId: existing?.promptId,
101
+ datasetItemId: existing?.datasetItemId,
102
+ experimentRunId: existing?.experimentRunId,
103
+ tags: record.tags ?? existing?.tags,
104
+ metadata: record.metadata ?? existing?.metadata,
105
+ createdAt: existing?.createdAt ?? timestamp,
106
+ updatedAt: timestamp,
107
+ };
108
+ this.tracesById.set(next.id, clone(next));
109
+ return clone(next);
110
+ },
111
+ get: async (id) => {
112
+ const entity = this.tracesById.get(id);
113
+ return entity ? clone(entity) : undefined;
114
+ },
115
+ list: async (filter = {}) => {
116
+ return this.filterValues(this.tracesById, (entity) => {
117
+ if (filter.sessionId && entity.sessionId !== filter.sessionId)
118
+ return false;
119
+ if (filter.status && entity.status !== filter.status)
120
+ return false;
121
+ if (filter.promptId && entity.promptId !== filter.promptId)
122
+ return false;
123
+ if (filter.datasetItemId && entity.datasetItemId !== filter.datasetItemId)
124
+ return false;
125
+ if (filter.experimentRunId && entity.experimentRunId !== filter.experimentRunId)
126
+ return false;
127
+ return true;
128
+ });
129
+ },
130
+ update: async (id, patch) => {
131
+ const current = this.requireEntity(this.tracesById, id, "trace");
132
+ const next = {
133
+ ...current,
134
+ ...patch,
135
+ metadata: patch.metadata ? { ...(current.metadata ?? {}), ...patch.metadata } : current.metadata,
136
+ updatedAt: this.now(),
137
+ };
138
+ this.tracesById.set(id, clone(next));
139
+ return clone(next);
140
+ },
141
+ };
142
+ this.artifacts = {
143
+ create: async (input) => {
144
+ const timestamp = this.now();
145
+ const entity = {
146
+ id: input.id ?? this.idGenerator(),
147
+ name: input.name,
148
+ kind: input.kind,
149
+ storage: input.storage ?? (input.contentRef ? "external" : "inline"),
150
+ mimeType: input.mimeType,
151
+ sizeBytes: input.sizeBytes,
152
+ sha256: input.sha256,
153
+ preview: input.preview,
154
+ content: input.content,
155
+ contentRef: input.contentRef,
156
+ target: input.target,
157
+ tags: input.tags,
158
+ metadata: input.metadata,
159
+ createdAt: timestamp,
160
+ updatedAt: timestamp,
161
+ };
162
+ this.artifactsById.set(entity.id, clone(entity));
163
+ return clone(entity);
164
+ },
165
+ get: async (id) => {
166
+ const entity = this.artifactsById.get(id);
167
+ return entity ? clone(entity) : undefined;
168
+ },
169
+ list: async (filter = {}) => {
170
+ return this.filterValues(this.artifactsById, (entity) => {
171
+ if (filter.kind && entity.kind !== filter.kind)
172
+ return false;
173
+ if (filter.storage && entity.storage !== filter.storage)
174
+ return false;
175
+ if (filter.targetKind && entity.target?.kind !== filter.targetKind)
176
+ return false;
177
+ if (filter.targetId && entity.target?.id !== filter.targetId)
178
+ return false;
179
+ return true;
180
+ });
181
+ },
182
+ };
183
+ this.prompts = {
184
+ publish: async (input) => {
185
+ const timestamp = this.now();
186
+ const entity = {
187
+ id: input.id ?? this.idGenerator(),
188
+ name: input.name,
189
+ version: input.version,
190
+ labels: input.labels,
191
+ template: input.template,
192
+ config: input.config,
193
+ tags: input.tags,
194
+ metadata: input.metadata,
195
+ createdAt: timestamp,
196
+ updatedAt: timestamp,
197
+ };
198
+ this.promptsById.set(entity.id, clone(entity));
199
+ return clone(entity);
200
+ },
201
+ get: async (id) => {
202
+ const entity = this.promptsById.get(id);
203
+ return entity ? clone(entity) : undefined;
204
+ },
205
+ list: async (filter = {}) => {
206
+ return this.filterValues(this.promptsById, (entity) => {
207
+ if (filter.name && entity.name !== filter.name)
208
+ return false;
209
+ if (filter.label && !entity.labels?.includes(filter.label))
210
+ return false;
211
+ return true;
212
+ });
213
+ },
214
+ resolve: async (name, ref = {}) => {
215
+ let prompts = await this.prompts.list({ name, label: ref.label });
216
+ if (ref.version) {
217
+ prompts = prompts.filter((prompt) => prompt.version === ref.version);
218
+ }
219
+ prompts.sort((a, b) => b.updatedAt - a.updatedAt);
220
+ return prompts[0] ? clone(prompts[0]) : undefined;
221
+ },
222
+ };
223
+ this.datasets = {
224
+ create: async (input) => {
225
+ const timestamp = this.now();
226
+ const entity = {
227
+ id: input.id ?? this.idGenerator(),
228
+ name: input.name,
229
+ description: input.description,
230
+ tags: input.tags,
231
+ metadata: input.metadata,
232
+ createdAt: timestamp,
233
+ updatedAt: timestamp,
234
+ };
235
+ this.datasetsById.set(entity.id, clone(entity));
236
+ return clone(entity);
237
+ },
238
+ get: async (id) => {
239
+ const entity = this.datasetsById.get(id);
240
+ return entity ? clone(entity) : undefined;
241
+ },
242
+ list: async (filter = {}) => {
243
+ return this.filterValues(this.datasetsById, (entity) => {
244
+ if (filter.name && entity.name !== filter.name)
245
+ return false;
246
+ return true;
247
+ });
248
+ },
249
+ createItems: async (datasetId, items) => {
250
+ this.requireEntity(this.datasetsById, datasetId, "dataset");
251
+ const timestamp = this.now();
252
+ const created = items.map((input) => {
253
+ const entity = {
254
+ id: input.id ?? this.idGenerator(),
255
+ datasetId,
256
+ name: input.name,
257
+ input: input.input,
258
+ expectedOutput: input.expectedOutput,
259
+ sourceTraceId: input.sourceTraceId,
260
+ tags: input.tags,
261
+ metadata: input.metadata,
262
+ createdAt: timestamp,
263
+ updatedAt: timestamp,
264
+ };
265
+ this.datasetItemsById.set(entity.id, clone(entity));
266
+ return clone(entity);
267
+ });
268
+ return created;
269
+ },
270
+ listItems: async (filter = {}) => {
271
+ return this.filterValues(this.datasetItemsById, (entity) => {
272
+ if (filter.datasetId && entity.datasetId !== filter.datasetId)
273
+ return false;
274
+ if (filter.sourceTraceId && entity.sourceTraceId !== filter.sourceTraceId)
275
+ return false;
276
+ return true;
277
+ });
278
+ },
279
+ };
280
+ this.experiments = {
281
+ create: async (input) => {
282
+ const timestamp = this.now();
283
+ const entity = {
284
+ id: input.id ?? this.idGenerator(),
285
+ name: input.name,
286
+ datasetId: input.datasetId,
287
+ status: "draft",
288
+ promptId: input.promptId,
289
+ model: input.model,
290
+ provider: input.provider,
291
+ tags: input.tags,
292
+ metadata: input.metadata,
293
+ createdAt: timestamp,
294
+ updatedAt: timestamp,
295
+ };
296
+ this.experimentsById.set(entity.id, clone(entity));
297
+ return clone(entity);
298
+ },
299
+ get: async (id) => {
300
+ const entity = this.experimentsById.get(id);
301
+ return entity ? clone(entity) : undefined;
302
+ },
303
+ list: async (filter = {}) => {
304
+ return this.filterValues(this.experimentsById, (entity) => {
305
+ if (filter.datasetId && entity.datasetId !== filter.datasetId)
306
+ return false;
307
+ if (filter.promptId && entity.promptId !== filter.promptId)
308
+ return false;
309
+ if (filter.status && entity.status !== filter.status)
310
+ return false;
311
+ return true;
312
+ });
313
+ },
314
+ update: async (id, patch) => {
315
+ const current = this.requireEntity(this.experimentsById, id, "experiment");
316
+ const next = {
317
+ ...current,
318
+ ...patch,
319
+ metadata: patch.metadata ? { ...(current.metadata ?? {}), ...patch.metadata } : current.metadata,
320
+ updatedAt: this.now(),
321
+ };
322
+ this.experimentsById.set(id, clone(next));
323
+ return clone(next);
324
+ },
325
+ startRun: async (input) => {
326
+ const experiment = this.requireEntity(this.experimentsById, input.experimentId, "experiment");
327
+ if (input.datasetItemId) {
328
+ this.requireEntity(this.datasetItemsById, input.datasetItemId, "dataset item");
329
+ }
330
+ const timestamp = this.now();
331
+ const entity = {
332
+ id: input.id ?? this.idGenerator(),
333
+ experimentId: input.experimentId,
334
+ datasetItemId: input.datasetItemId,
335
+ traceId: input.traceId,
336
+ status: "running",
337
+ startedAt: input.startedAt ?? timestamp,
338
+ tags: input.tags,
339
+ metadata: input.metadata,
340
+ createdAt: timestamp,
341
+ updatedAt: timestamp,
342
+ };
343
+ this.experimentRunsById.set(entity.id, clone(entity));
344
+ this.experimentsById.set(experiment.id, clone({ ...experiment, status: "running", updatedAt: timestamp }));
345
+ return clone(entity);
346
+ },
347
+ updateRun: async (id, patch) => {
348
+ const current = this.requireEntity(this.experimentRunsById, id, "experiment run");
349
+ const next = {
350
+ ...current,
351
+ ...patch,
352
+ metadata: patch.metadata ? { ...(current.metadata ?? {}), ...patch.metadata } : current.metadata,
353
+ updatedAt: this.now(),
354
+ };
355
+ this.experimentRunsById.set(id, clone(next));
356
+ return clone(next);
357
+ },
358
+ listRuns: async (filter = {}) => {
359
+ return this.filterValues(this.experimentRunsById, (entity) => {
360
+ if (filter.experimentId && entity.experimentId !== filter.experimentId)
361
+ return false;
362
+ if (filter.datasetItemId && entity.datasetItemId !== filter.datasetItemId)
363
+ return false;
364
+ if (filter.traceId && entity.traceId !== filter.traceId)
365
+ return false;
366
+ if (filter.status && entity.status !== filter.status)
367
+ return false;
368
+ return true;
369
+ });
370
+ },
371
+ };
372
+ this.scores = {
373
+ create: async (input) => {
374
+ const timestamp = this.now();
375
+ const entity = {
376
+ id: input.id ?? this.idGenerator(),
377
+ target: input.target,
378
+ key: input.key,
379
+ value: input.value,
380
+ source: input.source ?? "system",
381
+ comment: input.comment,
382
+ name: input.key,
383
+ tags: input.tags,
384
+ metadata: input.metadata,
385
+ createdAt: timestamp,
386
+ updatedAt: timestamp,
387
+ };
388
+ this.scoresById.set(entity.id, clone(entity));
389
+ return clone(entity);
390
+ },
391
+ get: async (id) => {
392
+ const entity = this.scoresById.get(id);
393
+ return entity ? clone(entity) : undefined;
394
+ },
395
+ list: async (filter = {}) => {
396
+ return this.filterValues(this.scoresById, (entity) => {
397
+ if (filter.targetKind && entity.target.kind !== filter.targetKind)
398
+ return false;
399
+ if (filter.targetId && entity.target.id !== filter.targetId)
400
+ return false;
401
+ if (filter.key && entity.key !== filter.key)
402
+ return false;
403
+ if (filter.source && entity.source !== filter.source)
404
+ return false;
405
+ return true;
406
+ });
407
+ },
408
+ };
409
+ this.now = options.now ?? Date.now;
410
+ this.idGenerator = options.idGenerator ?? randomUUID;
411
+ this.sessionsById = toMap(options.snapshot?.sessions);
412
+ this.tracesById = toMap(options.snapshot?.traces);
413
+ this.artifactsById = toMap(options.snapshot?.artifacts);
414
+ this.promptsById = toMap(options.snapshot?.prompts);
415
+ this.datasetsById = toMap(options.snapshot?.datasets);
416
+ this.datasetItemsById = toMap(options.snapshot?.datasetItems);
417
+ this.experimentsById = toMap(options.snapshot?.experiments);
418
+ this.experimentRunsById = toMap(options.snapshot?.experimentRuns);
419
+ this.scoresById = toMap(options.snapshot?.scores);
420
+ }
421
+ snapshot() {
422
+ return {
423
+ sessions: this.filterValues(this.sessionsById, () => true),
424
+ traces: this.filterValues(this.tracesById, () => true),
425
+ artifacts: this.filterValues(this.artifactsById, () => true),
426
+ prompts: this.filterValues(this.promptsById, () => true),
427
+ datasets: this.filterValues(this.datasetsById, () => true),
428
+ datasetItems: this.filterValues(this.datasetItemsById, () => true),
429
+ experiments: this.filterValues(this.experimentsById, () => true),
430
+ experimentRuns: this.filterValues(this.experimentRunsById, () => true),
431
+ scores: this.filterValues(this.scoresById, () => true),
432
+ };
433
+ }
434
+ filterValues(map, predicate) {
435
+ return Array.from(map.values())
436
+ .filter(predicate)
437
+ .map((value) => clone(value));
438
+ }
439
+ requireEntity(map, id, label) {
440
+ const value = map.get(id);
441
+ if (!value) {
442
+ throw new Error(`Observe ${label} not found: ${id}`);
443
+ }
444
+ return clone(value);
445
+ }
446
+ }
447
+ //# sourceMappingURL=in-memory-control-plane-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-control-plane-store.js","sourceRoot":"","sources":["../../../../app/vendor/observe/store/in-memory-control-plane-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAuDzC,SAAS,KAAK,CAAI,KAAQ;IACxB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,KAAK,CAA2B,MAAuB;IAC9D,OAAO,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,MAAM,OAAO,gCAAgC;IAc3C,YAAY,UAAmD,EAAE;QA4BxD,aAAQ,GAAG;YAClB,MAAM,EAAE,KAAK,EAAE,KAAgC,EAA2B,EAAE;gBAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAmB;oBAC7B,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;oBAC1C,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,MAAM,EAAE,QAAQ;oBAChB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;oBACvC,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,EAAU,EAAuC,EAAE;gBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,SAA+B,EAAE,EAA6B,EAAE;gBAC3E,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;oBACrD,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe;wBAAE,OAAO,KAAK,CAAC;oBAC9F,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,KAAK,MAAM,CAAC,iBAAiB;wBAAE,OAAO,KAAK,CAAC;oBACpG,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;wBAAE,OAAO,KAAK,CAAC;oBACnE,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,EAAU,EAAE,KAAgC,EAA2B,EAAE;gBACtF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBACrE,MAAM,IAAI,GAAmB;oBAC3B,GAAG,OAAO;oBACV,GAAG,KAAK;oBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBAChG,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;SACF,CAAC;QAEO,WAAM,GAAG;YAChB,MAAM,EAAE,KAAK,EAAE,KAA8B,EAAyB,EAAE;gBACtE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAiB;oBAC3B,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;oBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,WAAW;oBAC/B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;oBACvC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,eAAe,EAAE,KAAK,CAAC,eAAe;oBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,KAAoC,EAAyB,EAAE;gBAC5E,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACrD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAiB;oBACzB,EAAE,EAAE,MAAM,CAAC,OAAO;oBAClB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,QAAQ,EAAE,SAAS;oBACjD,UAAU,EAAE,MAAM,CAAC,MAAM;oBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,KAAK,EAAE,QAAQ,EAAE,KAAK;oBACtB,MAAM,EAAE,QAAQ,EAAE,MAAM;oBACxB,QAAQ,EAAE,QAAQ,EAAE,QAAQ;oBAC5B,aAAa,EAAE,QAAQ,EAAE,aAAa;oBACtC,eAAe,EAAE,QAAQ,EAAE,eAAe;oBAC1C,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,QAAQ,EAAE,IAAI;oBACnC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,QAAQ,EAAE,QAAQ;oBAC/C,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,SAAS;oBAC3C,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,EAAU,EAAqC,EAAE;gBAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,SAA6B,EAAE,EAA2B,EAAE;gBACvE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;oBACnD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS;wBAAE,OAAO,KAAK,CAAC;oBAC5E,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;wBAAE,OAAO,KAAK,CAAC;oBACnE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;wBAAE,OAAO,KAAK,CAAC;oBACzE,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;wBAAE,OAAO,KAAK,CAAC;oBACxF,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe;wBAAE,OAAO,KAAK,CAAC;oBAC9F,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,EAAU,EAAE,KAA8B,EAAyB,EAAE;gBAClF,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBACjE,MAAM,IAAI,GAAiB;oBACzB,GAAG,OAAO;oBACV,GAAG,KAAK;oBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBAChG,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;SACF,CAAC;QAEO,cAAS,GAAG;YACnB,MAAM,EAAE,KAAK,EAAE,KAAiC,EAA4B,EAAE;gBAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAoB;oBAC9B,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACpE,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACjD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,EAAU,EAAwC,EAAE;gBAC9D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,SAAgC,EAAE,EAA8B,EAAE;gBAC7E,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,EAAE;oBACtD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;wBAAE,OAAO,KAAK,CAAC;oBAC7D,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAC;oBACtE,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI,KAAK,MAAM,CAAC,UAAU;wBAAE,OAAO,KAAK,CAAC;oBACjF,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,KAAK,MAAM,CAAC,QAAQ;wBAAE,OAAO,KAAK,CAAC;oBAC3E,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QAEO,YAAO,GAAG;YACjB,OAAO,EAAE,KAAK,EAAE,KAAgC,EAA0B,EAAE;gBAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAkB;oBAC5B,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC/C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,EAAU,EAAsC,EAAE;gBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,SAA8B,EAAE,EAA4B,EAAE;gBACzE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;oBACpD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;wBAAE,OAAO,KAAK,CAAC;oBAC7D,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC;wBAAE,OAAO,KAAK,CAAC;oBACzE,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YACD,OAAO,EAAE,KAAK,EACZ,IAAY,EACZ,MAA4C,EAAE,EACV,EAAE;gBACtC,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClE,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBAChB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvE,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;gBAClD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpD,CAAC;SACF,CAAC;QAEO,aAAQ,GAAG;YAClB,MAAM,EAAE,KAAK,EAAE,KAAgC,EAA2B,EAAE;gBAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAmB;oBAC7B,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAChD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,EAAU,EAAuC,EAAE;gBAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,SAA+B,EAAE,EAA6B,EAAE;gBAC3E,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE;oBACrD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;wBAAE,OAAO,KAAK,CAAC;oBAC7D,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YACD,WAAW,EAAE,KAAK,EAChB,SAAiB,EACjB,KAAsC,EACP,EAAE;gBACjC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;gBAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBAClC,MAAM,MAAM,GAAuB;wBACjC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;wBAClC,SAAS;wBACT,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,cAAc,EAAE,KAAK,CAAC,cAAc;wBACpC,aAAa,EAAE,KAAK,CAAC,aAAa;wBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,SAAS,EAAE,SAAS;wBACpB,SAAS,EAAE,SAAS;qBACrB,CAAC;oBACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;oBACpD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;gBACvB,CAAC,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;YACjB,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,SAAmC,EAAE,EAAiC,EAAE;gBACxF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,EAAE;oBACzD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS;wBAAE,OAAO,KAAK,CAAC;oBAC5E,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;wBAAE,OAAO,KAAK,CAAC;oBACxF,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QAEO,gBAAW,GAAG;YACrB,MAAM,EAAE,KAAK,EAAE,KAAmC,EAA8B,EAAE;gBAChF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAsB;oBAChC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,MAAM,EAAE,OAAO;oBACf,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACnD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,EAAU,EAA0C,EAAE;gBAChE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,SAAkC,EAAE,EAAgC,EAAE;gBACjF,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,EAAE;oBACxD,IAAI,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,SAAS;wBAAE,OAAO,KAAK,CAAC;oBAC5E,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,MAAM,CAAC,QAAQ;wBAAE,OAAO,KAAK,CAAC;oBACzE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;wBAAE,OAAO,KAAK,CAAC;oBACnE,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,EAAE,KAAK,EAAE,EAAU,EAAE,KAAmC,EAA8B,EAAE;gBAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC;gBAC3E,MAAM,IAAI,GAAsB;oBAC9B,GAAG,OAAO;oBACV,GAAG,KAAK;oBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBAChG,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC;gBACF,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,KAAqC,EAAiC,EAAE;gBACvF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;gBAC9F,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;oBACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;gBACjF,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAyB;oBACnC,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClC,YAAY,EAAE,KAAK,CAAC,YAAY;oBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,SAAS;oBACjB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;oBACvC,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBACtD,IAAI,CAAC,eAAe,CAAC,GAAG,CACtB,UAAU,CAAC,EAAE,EACb,KAAK,CAAC,EAAE,GAAG,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAClE,CAAC;gBACF,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YACD,SAAS,EAAE,KAAK,EAAE,EAAU,EAAE,KAAsC,EAAiC,EAAE;gBACrG,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAClF,MAAM,IAAI,GAAyB;oBACjC,GAAG,OAAO;oBACV,GAAG,KAAK;oBACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ;oBAChG,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;iBACtB,CAAC;gBACF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7C,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YACD,QAAQ,EAAE,KAAK,EAAE,SAAqC,EAAE,EAAmC,EAAE;gBAC3F,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE;oBAC3D,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,YAAY;wBAAE,OAAO,KAAK,CAAC;oBACrF,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,KAAK,MAAM,CAAC,aAAa;wBAAE,OAAO,KAAK,CAAC;oBACxF,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO;wBAAE,OAAO,KAAK,CAAC;oBACtE,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;wBAAE,OAAO,KAAK,CAAC;oBACnE,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QAEO,WAAM,GAAG;YAChB,MAAM,EAAE,KAAK,EAAE,KAA8B,EAAyB,EAAE;gBACtE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAiB;oBAC3B,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;oBAClC,MAAM,EAAE,KAAK,CAAC,MAAM;oBACpB,GAAG,EAAE,KAAK,CAAC,GAAG;oBACd,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ;oBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,IAAI,EAAE,KAAK,CAAC,GAAG;oBACf,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,SAAS,EAAE,SAAS;oBACpB,SAAS,EAAE,SAAS;iBACrB,CAAC;gBACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC9C,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC;YACD,GAAG,EAAE,KAAK,EAAE,EAAU,EAAqC,EAAE;gBAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvC,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5C,CAAC;YACD,IAAI,EAAE,KAAK,EAAE,SAA6B,EAAE,EAA2B,EAAE;gBACvE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;oBACnD,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU;wBAAE,OAAO,KAAK,CAAC;oBAChF,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ;wBAAE,OAAO,KAAK,CAAC;oBAC1E,IAAI,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG;wBAAE,OAAO,KAAK,CAAC;oBAC1D,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;wBAAE,OAAO,KAAK,CAAC;oBACnE,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;QA5ZA,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;QACnC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;QACrD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAClD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,QAAQ;QACN,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAC1D,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YACtD,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAC5D,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YACxD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAC1D,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAClE,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YAChE,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;YACtE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC;SACvD,CAAC;IACJ,CAAC;IAqYO,YAAY,CAAI,GAAmB,EAAE,SAAgC;QAC3E,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;aAC5B,MAAM,CAAC,SAAS,CAAC;aACjB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAClC,CAAC;IAEO,aAAa,CAAI,GAAmB,EAAE,EAAU,EAAE,KAAa;QACrE,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CAAC,WAAW,KAAK,eAAe,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export * from "./contracts.js";
2
+ export * from "./in-memory-control-plane-store.js";
3
+ export * from "./file-control-plane-store.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../app/vendor/observe/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from "./contracts.js";
2
+ export * from "./in-memory-control-plane-store.js";
3
+ export * from "./file-control-plane-store.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../app/vendor/observe/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC"}