indusagi-coding-agent 0.1.42 → 0.1.43

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 (220) hide show
  1. package/CHANGELOG.md +13 -2
  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/login-handler.d.ts.map +1 -1
  6. package/dist/command-line/login-handler.js +7 -0
  7. package/dist/command-line/login-handler.js.map +1 -1
  8. package/dist/dev/observe-deep.d.ts +2 -0
  9. package/dist/dev/observe-deep.d.ts.map +1 -0
  10. package/dist/dev/observe-deep.js +333 -0
  11. package/dist/dev/observe-deep.js.map +1 -0
  12. package/dist/dev/observe-smoke.d.ts +2 -0
  13. package/dist/dev/observe-smoke.d.ts.map +1 -0
  14. package/dist/dev/observe-smoke.js +264 -0
  15. package/dist/dev/observe-smoke.js.map +1 -0
  16. package/dist/interfaces/terminal-ui/components/oauth-selector.d.ts.map +1 -1
  17. package/dist/interfaces/terminal-ui/components/oauth-selector.js +1 -0
  18. package/dist/interfaces/terminal-ui/components/oauth-selector.js.map +1 -1
  19. package/dist/main.d.ts.map +1 -1
  20. package/dist/main.js +40 -18
  21. package/dist/main.js.map +1 -1
  22. package/dist/observe.d.ts +2 -0
  23. package/dist/observe.d.ts.map +1 -0
  24. package/dist/observe.js +2 -0
  25. package/dist/observe.js.map +1 -0
  26. package/dist/runtime/agent-session.d.ts +11 -0
  27. package/dist/runtime/agent-session.d.ts.map +1 -1
  28. package/dist/runtime/agent-session.js +391 -201
  29. package/dist/runtime/agent-session.js.map +1 -1
  30. package/dist/runtime/model-resolver.d.ts.map +1 -1
  31. package/dist/runtime/model-resolver.js +1 -0
  32. package/dist/runtime/model-resolver.js.map +1 -1
  33. package/dist/runtime/observe.d.ts +50 -0
  34. package/dist/runtime/observe.d.ts.map +1 -0
  35. package/dist/runtime/observe.js +233 -0
  36. package/dist/runtime/observe.js.map +1 -0
  37. package/dist/runtime/sdk.d.ts +2 -0
  38. package/dist/runtime/sdk.d.ts.map +1 -1
  39. package/dist/runtime/sdk.js +19 -6
  40. package/dist/runtime/sdk.js.map +1 -1
  41. package/dist/vendor/observe/adapters/agent-event-adapter.d.ts +28 -0
  42. package/dist/vendor/observe/adapters/agent-event-adapter.d.ts.map +1 -0
  43. package/dist/vendor/observe/adapters/agent-event-adapter.js +136 -0
  44. package/dist/vendor/observe/adapters/agent-event-adapter.js.map +1 -0
  45. package/dist/vendor/observe/adapters/ai-stream-adapter.d.ts +24 -0
  46. package/dist/vendor/observe/adapters/ai-stream-adapter.d.ts.map +1 -0
  47. package/dist/vendor/observe/adapters/ai-stream-adapter.js +118 -0
  48. package/dist/vendor/observe/adapters/ai-stream-adapter.js.map +1 -0
  49. package/dist/vendor/observe/artifacts/content-store.d.ts +12 -0
  50. package/dist/vendor/observe/artifacts/content-store.d.ts.map +1 -0
  51. package/dist/vendor/observe/artifacts/content-store.js +2 -0
  52. package/dist/vendor/observe/artifacts/content-store.js.map +1 -0
  53. package/dist/vendor/observe/artifacts/file-content-store.d.ts +16 -0
  54. package/dist/vendor/observe/artifacts/file-content-store.d.ts.map +1 -0
  55. package/dist/vendor/observe/artifacts/file-content-store.js +43 -0
  56. package/dist/vendor/observe/artifacts/file-content-store.js.map +1 -0
  57. package/dist/vendor/observe/batcher.d.ts +27 -0
  58. package/dist/vendor/observe/batcher.d.ts.map +1 -0
  59. package/dist/vendor/observe/batcher.js +66 -0
  60. package/dist/vendor/observe/batcher.js.map +1 -0
  61. package/dist/vendor/observe/client/artifacts-manager.d.ts +29 -0
  62. package/dist/vendor/observe/client/artifacts-manager.d.ts.map +1 -0
  63. package/dist/vendor/observe/client/artifacts-manager.js +120 -0
  64. package/dist/vendor/observe/client/artifacts-manager.js.map +1 -0
  65. package/dist/vendor/observe/client/datasets-manager.d.ts +16 -0
  66. package/dist/vendor/observe/client/datasets-manager.d.ts.map +1 -0
  67. package/dist/vendor/observe/client/datasets-manager.js +27 -0
  68. package/dist/vendor/observe/client/datasets-manager.js.map +1 -0
  69. package/dist/vendor/observe/client/experiments-manager.d.ts +61 -0
  70. package/dist/vendor/observe/client/experiments-manager.d.ts.map +1 -0
  71. package/dist/vendor/observe/client/experiments-manager.js +132 -0
  72. package/dist/vendor/observe/client/experiments-manager.js.map +1 -0
  73. package/dist/vendor/observe/client/index.d.ts +9 -0
  74. package/dist/vendor/observe/client/index.d.ts.map +1 -0
  75. package/dist/vendor/observe/client/index.js +9 -0
  76. package/dist/vendor/observe/client/index.js.map +1 -0
  77. package/dist/vendor/observe/client/observe-client.d.ts +30 -0
  78. package/dist/vendor/observe/client/observe-client.d.ts.map +1 -0
  79. package/dist/vendor/observe/client/observe-client.js +22 -0
  80. package/dist/vendor/observe/client/observe-client.js.map +1 -0
  81. package/dist/vendor/observe/client/prompts-manager.d.ts +17 -0
  82. package/dist/vendor/observe/client/prompts-manager.d.ts.map +1 -0
  83. package/dist/vendor/observe/client/prompts-manager.js +38 -0
  84. package/dist/vendor/observe/client/prompts-manager.js.map +1 -0
  85. package/dist/vendor/observe/client/scores-manager.d.ts +10 -0
  86. package/dist/vendor/observe/client/scores-manager.d.ts.map +1 -0
  87. package/dist/vendor/observe/client/scores-manager.js +15 -0
  88. package/dist/vendor/observe/client/scores-manager.js.map +1 -0
  89. package/dist/vendor/observe/client/sessions-manager.d.ts +15 -0
  90. package/dist/vendor/observe/client/sessions-manager.d.ts.map +1 -0
  91. package/dist/vendor/observe/client/sessions-manager.js +24 -0
  92. package/dist/vendor/observe/client/sessions-manager.js.map +1 -0
  93. package/dist/vendor/observe/client/traces-manager.d.ts +23 -0
  94. package/dist/vendor/observe/client/traces-manager.d.ts.map +1 -0
  95. package/dist/vendor/observe/client/traces-manager.js +39 -0
  96. package/dist/vendor/observe/client/traces-manager.js.map +1 -0
  97. package/dist/vendor/observe/console-exporter.d.ts +11 -0
  98. package/dist/vendor/observe/console-exporter.d.ts.map +1 -0
  99. package/dist/vendor/observe/console-exporter.js +18 -0
  100. package/dist/vendor/observe/console-exporter.js.map +1 -0
  101. package/dist/vendor/observe/context.d.ts +4 -0
  102. package/dist/vendor/observe/context.d.ts.map +1 -0
  103. package/dist/vendor/observe/context.js +9 -0
  104. package/dist/vendor/observe/context.js.map +1 -0
  105. package/dist/vendor/observe/entities/artifacts.d.ts +46 -0
  106. package/dist/vendor/observe/entities/artifacts.d.ts.map +1 -0
  107. package/dist/vendor/observe/entities/artifacts.js +2 -0
  108. package/dist/vendor/observe/entities/artifacts.js.map +1 -0
  109. package/dist/vendor/observe/entities/datasets.d.ts +37 -0
  110. package/dist/vendor/observe/entities/datasets.d.ts.map +1 -0
  111. package/dist/vendor/observe/entities/datasets.js +2 -0
  112. package/dist/vendor/observe/entities/datasets.js.map +1 -0
  113. package/dist/vendor/observe/entities/experiments.d.ts +66 -0
  114. package/dist/vendor/observe/entities/experiments.d.ts.map +1 -0
  115. package/dist/vendor/observe/entities/experiments.js +2 -0
  116. package/dist/vendor/observe/entities/experiments.js.map +1 -0
  117. package/dist/vendor/observe/entities/index.d.ts +9 -0
  118. package/dist/vendor/observe/entities/index.d.ts.map +1 -0
  119. package/dist/vendor/observe/entities/index.js +9 -0
  120. package/dist/vendor/observe/entities/index.js.map +1 -0
  121. package/dist/vendor/observe/entities/prompts.d.ts +25 -0
  122. package/dist/vendor/observe/entities/prompts.d.ts.map +1 -0
  123. package/dist/vendor/observe/entities/prompts.js +2 -0
  124. package/dist/vendor/observe/entities/prompts.js.map +1 -0
  125. package/dist/vendor/observe/entities/scores.d.ts +28 -0
  126. package/dist/vendor/observe/entities/scores.d.ts.map +1 -0
  127. package/dist/vendor/observe/entities/scores.js +2 -0
  128. package/dist/vendor/observe/entities/scores.js.map +1 -0
  129. package/dist/vendor/observe/entities/sessions.d.ts +36 -0
  130. package/dist/vendor/observe/entities/sessions.d.ts.map +1 -0
  131. package/dist/vendor/observe/entities/sessions.js +2 -0
  132. package/dist/vendor/observe/entities/sessions.js.map +1 -0
  133. package/dist/vendor/observe/entities/shared.d.ts +26 -0
  134. package/dist/vendor/observe/entities/shared.d.ts.map +1 -0
  135. package/dist/vendor/observe/entities/shared.js +2 -0
  136. package/dist/vendor/observe/entities/shared.js.map +1 -0
  137. package/dist/vendor/observe/entities/traces.d.ts +59 -0
  138. package/dist/vendor/observe/entities/traces.d.ts.map +1 -0
  139. package/dist/vendor/observe/entities/traces.js +2 -0
  140. package/dist/vendor/observe/entities/traces.js.map +1 -0
  141. package/dist/vendor/observe/exporter.d.ts +2 -0
  142. package/dist/vendor/observe/exporter.d.ts.map +1 -0
  143. package/dist/vendor/observe/exporter.js +2 -0
  144. package/dist/vendor/observe/exporter.js.map +1 -0
  145. package/dist/vendor/observe/file-exporter.d.ts +16 -0
  146. package/dist/vendor/observe/file-exporter.d.ts.map +1 -0
  147. package/dist/vendor/observe/file-exporter.js +39 -0
  148. package/dist/vendor/observe/file-exporter.js.map +1 -0
  149. package/dist/vendor/observe/global.d.ts +6 -0
  150. package/dist/vendor/observe/global.d.ts.map +1 -0
  151. package/dist/vendor/observe/global.js +17 -0
  152. package/dist/vendor/observe/global.js.map +1 -0
  153. package/dist/vendor/observe/index.d.ts +24 -0
  154. package/dist/vendor/observe/index.d.ts.map +1 -0
  155. package/dist/vendor/observe/index.js +24 -0
  156. package/dist/vendor/observe/index.js.map +1 -0
  157. package/dist/vendor/observe/noop.d.ts +17 -0
  158. package/dist/vendor/observe/noop.d.ts.map +1 -0
  159. package/dist/vendor/observe/noop.js +80 -0
  160. package/dist/vendor/observe/noop.js.map +1 -0
  161. package/dist/vendor/observe/privacy.d.ts +18 -0
  162. package/dist/vendor/observe/privacy.d.ts.map +1 -0
  163. package/dist/vendor/observe/privacy.js +160 -0
  164. package/dist/vendor/observe/privacy.js.map +1 -0
  165. package/dist/vendor/observe/query/simple-query-client.d.ts +11 -0
  166. package/dist/vendor/observe/query/simple-query-client.d.ts.map +1 -0
  167. package/dist/vendor/observe/query/simple-query-client.js +31 -0
  168. package/dist/vendor/observe/query/simple-query-client.js.map +1 -0
  169. package/dist/vendor/observe/replay/session-replay.d.ts +20 -0
  170. package/dist/vendor/observe/replay/session-replay.d.ts.map +1 -0
  171. package/dist/vendor/observe/replay/session-replay.js +180 -0
  172. package/dist/vendor/observe/replay/session-replay.js.map +1 -0
  173. package/dist/vendor/observe/runtime.d.ts +27 -0
  174. package/dist/vendor/observe/runtime.d.ts.map +1 -0
  175. package/dist/vendor/observe/runtime.js +177 -0
  176. package/dist/vendor/observe/runtime.js.map +1 -0
  177. package/dist/vendor/observe/server/dashboard-html.d.ts +6 -0
  178. package/dist/vendor/observe/server/dashboard-html.d.ts.map +1 -0
  179. package/dist/vendor/observe/server/dashboard-html.js +305 -0
  180. package/dist/vendor/observe/server/dashboard-html.js.map +1 -0
  181. package/dist/vendor/observe/server/http-observe-server.d.ts +62 -0
  182. package/dist/vendor/observe/server/http-observe-server.d.ts.map +1 -0
  183. package/dist/vendor/observe/server/http-observe-server.js +418 -0
  184. package/dist/vendor/observe/server/http-observe-server.js.map +1 -0
  185. package/dist/vendor/observe/server/in-memory-observe-server.d.ts +20 -0
  186. package/dist/vendor/observe/server/in-memory-observe-server.d.ts.map +1 -0
  187. package/dist/vendor/observe/server/in-memory-observe-server.js +76 -0
  188. package/dist/vendor/observe/server/in-memory-observe-server.js.map +1 -0
  189. package/dist/vendor/observe/span.d.ts +45 -0
  190. package/dist/vendor/observe/span.d.ts.map +1 -0
  191. package/dist/vendor/observe/span.js +110 -0
  192. package/dist/vendor/observe/span.js.map +1 -0
  193. package/dist/vendor/observe/store/contracts.d.ts +59 -0
  194. package/dist/vendor/observe/store/contracts.d.ts.map +1 -0
  195. package/dist/vendor/observe/store/contracts.js +2 -0
  196. package/dist/vendor/observe/store/contracts.js.map +1 -0
  197. package/dist/vendor/observe/store/file-control-plane-store.d.ts +33 -0
  198. package/dist/vendor/observe/store/file-control-plane-store.d.ts.map +1 -0
  199. package/dist/vendor/observe/store/file-control-plane-store.js +146 -0
  200. package/dist/vendor/observe/store/file-control-plane-store.js.map +1 -0
  201. package/dist/vendor/observe/store/in-memory-control-plane-store.d.ts +84 -0
  202. package/dist/vendor/observe/store/in-memory-control-plane-store.d.ts.map +1 -0
  203. package/dist/vendor/observe/store/in-memory-control-plane-store.js +447 -0
  204. package/dist/vendor/observe/store/in-memory-control-plane-store.js.map +1 -0
  205. package/dist/vendor/observe/store/index.d.ts +4 -0
  206. package/dist/vendor/observe/store/index.d.ts.map +1 -0
  207. package/dist/vendor/observe/store/index.js +4 -0
  208. package/dist/vendor/observe/store/index.js.map +1 -0
  209. package/dist/vendor/observe/types.d.ts +246 -0
  210. package/dist/vendor/observe/types.d.ts.map +1 -0
  211. package/dist/vendor/observe/types.js +152 -0
  212. package/dist/vendor/observe/types.js.map +1 -0
  213. package/dist/vendor/observe/worker/in-memory-observe-worker.d.ts +25 -0
  214. package/dist/vendor/observe/worker/in-memory-observe-worker.d.ts.map +1 -0
  215. package/dist/vendor/observe/worker/in-memory-observe-worker.js +82 -0
  216. package/dist/vendor/observe/worker/in-memory-observe-worker.js.map +1 -0
  217. package/guides/INDUSVX_OBSERVE_FULL_INTEGRATION_REPORT.md +543 -0
  218. package/guides/OBSERVE_DEEP_VALIDATION.md +252 -0
  219. package/guides/OBSERVE_LOCAL_TESTING.md +183 -0
  220. package/package.json +11 -4
@@ -0,0 +1,110 @@
1
+ import { normalizeObserveAttributes, normalizeObserveData } from "./types.js";
2
+ function normalizeError(error) {
3
+ if (error instanceof Error) {
4
+ return {
5
+ name: error.name,
6
+ message: error.message,
7
+ stack: error.stack ?? null,
8
+ };
9
+ }
10
+ return normalizeObserveData(error) ?? "Unknown error";
11
+ }
12
+ export class ObserveSpanImpl {
13
+ constructor(init, hooks) {
14
+ this.status = "ok";
15
+ this.ended = false;
16
+ this.name = init.name;
17
+ this.kind = init.kind;
18
+ this.context = init.context;
19
+ this.isRoot = init.isRoot;
20
+ this.input = init.input;
21
+ this.attributes = normalizeObserveAttributes(init.attributes);
22
+ this.startTime = init.startTime;
23
+ this.hooks = hooks;
24
+ this.emitTraceRecord = init.emitTraceRecord;
25
+ this.traceMetadata = normalizeObserveAttributes(init.traceMetadata);
26
+ this.traceTags = init.traceTags?.slice();
27
+ }
28
+ get isEnded() {
29
+ return this.ended;
30
+ }
31
+ addEvent(options) {
32
+ const time = options.time ?? this.hooks.now();
33
+ const record = {
34
+ id: this.context.traceId + ":" + this.context.spanId + ":event:" + String(time) + ":" + options.name,
35
+ recordType: "event",
36
+ ts: time,
37
+ traceId: this.context.traceId,
38
+ spanId: this.context.spanId,
39
+ parentSpanId: this.context.parentSpanId,
40
+ name: options.name,
41
+ kind: options.kind ?? "custom",
42
+ source: "runtime",
43
+ time,
44
+ attributes: normalizeObserveAttributes(options.attributes),
45
+ data: normalizeObserveData(options.data),
46
+ };
47
+ this.hooks.emitEvent(record);
48
+ return record;
49
+ }
50
+ setAttribute(key, value) {
51
+ if (this.ended)
52
+ return;
53
+ const normalized = normalizeObserveData(value);
54
+ if (normalized === undefined)
55
+ return;
56
+ this.attributes = this.attributes ?? {};
57
+ this.attributes[key] = normalized;
58
+ }
59
+ createChild(options) {
60
+ return this.hooks.startChild({ ...options, parent: this });
61
+ }
62
+ end(options) {
63
+ if (this.ended) {
64
+ return this.createRecord(options?.endTime ?? this.hooks.now());
65
+ }
66
+ this.ended = true;
67
+ this.status = options?.status ?? (options?.error ? "error" : this.status);
68
+ const attrs = normalizeObserveAttributes(options?.attributes);
69
+ if (attrs) {
70
+ this.attributes = { ...(this.attributes ?? {}), ...attrs };
71
+ }
72
+ this.output = options?.output !== undefined ? normalizeObserveData(options.output) : this.output;
73
+ this.error = options?.error !== undefined ? normalizeObserveData(options.error) : this.error;
74
+ if (this.error !== undefined && this.status === "ok") {
75
+ this.status = "error";
76
+ }
77
+ const record = this.createRecord(options?.endTime ?? this.hooks.now());
78
+ this.hooks.emitEnd(this, record);
79
+ return record;
80
+ }
81
+ fail(error, options) {
82
+ return this.end({
83
+ ...options,
84
+ status: "error",
85
+ error: normalizeError(error),
86
+ });
87
+ }
88
+ createRecord(endTime) {
89
+ return {
90
+ id: this.context.spanId,
91
+ recordType: "span",
92
+ ts: endTime,
93
+ traceId: this.context.traceId,
94
+ spanId: this.context.spanId,
95
+ parentSpanId: this.context.parentSpanId,
96
+ name: this.name,
97
+ kind: this.kind,
98
+ source: "runtime",
99
+ status: this.status,
100
+ startTime: this.startTime,
101
+ endTime,
102
+ durationMs: Math.max(0, endTime - this.startTime),
103
+ attributes: normalizeObserveAttributes(this.attributes),
104
+ input: this.input,
105
+ output: this.output,
106
+ error: this.error,
107
+ };
108
+ }
109
+ }
110
+ //# sourceMappingURL=span.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"span.js","sourceRoot":"","sources":["../../../app/vendor/observe/span.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { CreateObserveArtifactInput, CreateObserveDatasetInput, CreateObserveDatasetItemInput, CreateObserveExperimentInput, CreateObserveScoreInput, CreateObserveSessionInput, CreateObserveTraceInput, IngestObserveTraceRecordInput, ObserveArtifact, ObserveArtifactFilter, ObserveDataset, ObserveDatasetFilter, ObserveDatasetItem, ObserveDatasetItemFilter, ObserveExperiment, ObserveExperimentFilter, ObserveExperimentRun, ObserveExperimentRunFilter, ObservePrompt, ObservePromptFilter, ObserveScore, ObserveScoreFilter, ObserveSession, ObserveSessionFilter, ObserveTrace, ObserveTraceFilter, PublishObservePromptInput, StartObserveExperimentRunInput, UpdateObserveExperimentInput, UpdateObserveExperimentRunInput, UpdateObserveSessionInput, UpdateObserveTraceInput } from "../entities/index.js";
2
+ export interface ObserveSessionsStore {
3
+ create(input: CreateObserveSessionInput): Promise<ObserveSession>;
4
+ get(id: string): Promise<ObserveSession | undefined>;
5
+ list(filter?: ObserveSessionFilter): Promise<ObserveSession[]>;
6
+ update(id: string, patch: UpdateObserveSessionInput): Promise<ObserveSession>;
7
+ }
8
+ export interface ObserveTracesStore {
9
+ create(input: CreateObserveTraceInput): Promise<ObserveTrace>;
10
+ ingest(input: IngestObserveTraceRecordInput): Promise<ObserveTrace>;
11
+ get(id: string): Promise<ObserveTrace | undefined>;
12
+ list(filter?: ObserveTraceFilter): Promise<ObserveTrace[]>;
13
+ update(id: string, patch: UpdateObserveTraceInput): Promise<ObserveTrace>;
14
+ }
15
+ export interface ObserveArtifactsStore {
16
+ create(input: CreateObserveArtifactInput): Promise<ObserveArtifact>;
17
+ get(id: string): Promise<ObserveArtifact | undefined>;
18
+ list(filter?: ObserveArtifactFilter): Promise<ObserveArtifact[]>;
19
+ }
20
+ export interface ObservePromptsStore {
21
+ publish(input: PublishObservePromptInput): Promise<ObservePrompt>;
22
+ get(id: string): Promise<ObservePrompt | undefined>;
23
+ list(filter?: ObservePromptFilter): Promise<ObservePrompt[]>;
24
+ resolve(name: string, ref?: {
25
+ version?: string;
26
+ label?: string;
27
+ }): Promise<ObservePrompt | undefined>;
28
+ }
29
+ export interface ObserveDatasetsStore {
30
+ create(input: CreateObserveDatasetInput): Promise<ObserveDataset>;
31
+ get(id: string): Promise<ObserveDataset | undefined>;
32
+ list(filter?: ObserveDatasetFilter): Promise<ObserveDataset[]>;
33
+ createItems(datasetId: string, items: CreateObserveDatasetItemInput[]): Promise<ObserveDatasetItem[]>;
34
+ listItems(filter?: ObserveDatasetItemFilter): Promise<ObserveDatasetItem[]>;
35
+ }
36
+ export interface ObserveExperimentsStore {
37
+ create(input: CreateObserveExperimentInput): Promise<ObserveExperiment>;
38
+ get(id: string): Promise<ObserveExperiment | undefined>;
39
+ list(filter?: ObserveExperimentFilter): Promise<ObserveExperiment[]>;
40
+ update(id: string, patch: UpdateObserveExperimentInput): Promise<ObserveExperiment>;
41
+ startRun(input: StartObserveExperimentRunInput): Promise<ObserveExperimentRun>;
42
+ updateRun(id: string, patch: UpdateObserveExperimentRunInput): Promise<ObserveExperimentRun>;
43
+ listRuns(filter?: ObserveExperimentRunFilter): Promise<ObserveExperimentRun[]>;
44
+ }
45
+ export interface ObserveScoresStore {
46
+ create(input: CreateObserveScoreInput): Promise<ObserveScore>;
47
+ get(id: string): Promise<ObserveScore | undefined>;
48
+ list(filter?: ObserveScoreFilter): Promise<ObserveScore[]>;
49
+ }
50
+ export interface ObserveControlPlaneStore {
51
+ sessions: ObserveSessionsStore;
52
+ traces: ObserveTracesStore;
53
+ artifacts: ObserveArtifactsStore;
54
+ prompts: ObservePromptsStore;
55
+ datasets: ObserveDatasetsStore;
56
+ experiments: ObserveExperimentsStore;
57
+ scores: ObserveScoresStore;
58
+ }
59
+ //# sourceMappingURL=contracts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../app/vendor/observe/store/contracts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=contracts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../../app/vendor/observe/store/contracts.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import type { ObserveArtifactsStore, ObserveControlPlaneStore, ObserveDatasetsStore, ObserveExperimentsStore, ObservePromptsStore, ObserveScoresStore, ObserveSessionsStore, ObserveTracesStore } from "./contracts.js";
2
+ import { type InMemoryObserveControlPlaneStoreOptions, type ObserveControlPlaneSnapshot } from "./in-memory-control-plane-store.js";
3
+ export interface FileObserveControlPlaneStoreOptions extends Omit<InMemoryObserveControlPlaneStoreOptions, "snapshot"> {
4
+ path: string;
5
+ }
6
+ export declare class FileObserveControlPlaneStore implements ObserveControlPlaneStore {
7
+ readonly path: string;
8
+ private readonly options;
9
+ private store?;
10
+ private readonly initPromise;
11
+ private writeQueue;
12
+ constructor(options: FileObserveControlPlaneStoreOptions);
13
+ readonly sessions: ObserveSessionsStore;
14
+ readonly traces: ObserveTracesStore;
15
+ readonly artifacts: ObserveArtifactsStore;
16
+ readonly prompts: ObservePromptsStore;
17
+ readonly datasets: ObserveDatasetsStore;
18
+ readonly experiments: ObserveExperimentsStore;
19
+ readonly scores: ObserveScoresStore;
20
+ flush(): Promise<void>;
21
+ snapshot(): Promise<ObserveControlPlaneSnapshot>;
22
+ private withStore;
23
+ private mutate;
24
+ private load;
25
+ private getStore;
26
+ private enqueuePersist;
27
+ private persist;
28
+ private readSnapshot;
29
+ private isEnvelope;
30
+ private isSnapshot;
31
+ private isMissingFileError;
32
+ }
33
+ //# sourceMappingURL=file-control-plane-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-control-plane-store.d.ts","sourceRoot":"","sources":["../../../../app/vendor/observe/store/file-control-plane-store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEL,KAAK,uCAAuC,EAC5C,KAAK,2BAA2B,EACjC,MAAM,oCAAoC,CAAC;AAO5C,MAAM,WAAW,mCACf,SAAQ,IAAI,CAAC,uCAAuC,EAAE,UAAU,CAAC;IACjE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAAa,4BAA6B,YAAW,wBAAwB;IAC3E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoD;IAC5E,OAAO,CAAC,KAAK,CAAC,CAAmC;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAgB;IAC5C,OAAO,CAAC,UAAU,CAAoC;gBAE1C,OAAO,EAAE,mCAAmC;IASxD,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAKrC;IAEF,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAMjC;IAEF,QAAQ,CAAC,SAAS,EAAE,qBAAqB,CAIvC;IAEF,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAKnC;IAEF,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAMrC;IAEF,QAAQ,CAAC,WAAW,EAAE,uBAAuB,CAQ3C;IAEF,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAIjC;IAEI,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,QAAQ,IAAI,OAAO,CAAC,2BAA2B,CAAC;YAIxC,SAAS;YAKT,MAAM;YAON,IAAI;IAQlB,OAAO,CAAC,QAAQ;YAOF,cAAc;YAKd,OAAO;YAWP,YAAY;IAmB1B,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,kBAAkB;CAG3B"}
@@ -0,0 +1,146 @@
1
+ import { mkdir, readFile, rename, writeFile } from "node:fs/promises";
2
+ import { dirname } from "node:path";
3
+ import { InMemoryObserveControlPlaneStore, } from "./in-memory-control-plane-store.js";
4
+ export class FileObserveControlPlaneStore {
5
+ constructor(options) {
6
+ this.writeQueue = Promise.resolve();
7
+ this.sessions = {
8
+ create: async (input) => this.mutate((store) => store.sessions.create(input)),
9
+ get: async (id) => this.withStore((store) => store.sessions.get(id)),
10
+ list: async (filter) => this.withStore((store) => store.sessions.list(filter)),
11
+ update: async (id, patch) => this.mutate((store) => store.sessions.update(id, patch)),
12
+ };
13
+ this.traces = {
14
+ create: async (input) => this.mutate((store) => store.traces.create(input)),
15
+ ingest: async (input) => this.mutate((store) => store.traces.ingest(input)),
16
+ get: async (id) => this.withStore((store) => store.traces.get(id)),
17
+ list: async (filter) => this.withStore((store) => store.traces.list(filter)),
18
+ update: async (id, patch) => this.mutate((store) => store.traces.update(id, patch)),
19
+ };
20
+ this.artifacts = {
21
+ create: async (input) => this.mutate((store) => store.artifacts.create(input)),
22
+ get: async (id) => this.withStore((store) => store.artifacts.get(id)),
23
+ list: async (filter) => this.withStore((store) => store.artifacts.list(filter)),
24
+ };
25
+ this.prompts = {
26
+ publish: async (input) => this.mutate((store) => store.prompts.publish(input)),
27
+ get: async (id) => this.withStore((store) => store.prompts.get(id)),
28
+ list: async (filter) => this.withStore((store) => store.prompts.list(filter)),
29
+ resolve: async (name, ref) => this.withStore((store) => store.prompts.resolve(name, ref)),
30
+ };
31
+ this.datasets = {
32
+ create: async (input) => this.mutate((store) => store.datasets.create(input)),
33
+ get: async (id) => this.withStore((store) => store.datasets.get(id)),
34
+ list: async (filter) => this.withStore((store) => store.datasets.list(filter)),
35
+ createItems: async (datasetId, items) => this.mutate((store) => store.datasets.createItems(datasetId, items)),
36
+ listItems: async (filter) => this.withStore((store) => store.datasets.listItems(filter)),
37
+ };
38
+ this.experiments = {
39
+ create: async (input) => this.mutate((store) => store.experiments.create(input)),
40
+ get: async (id) => this.withStore((store) => store.experiments.get(id)),
41
+ list: async (filter) => this.withStore((store) => store.experiments.list(filter)),
42
+ update: async (id, patch) => this.mutate((store) => store.experiments.update(id, patch)),
43
+ startRun: async (input) => this.mutate((store) => store.experiments.startRun(input)),
44
+ updateRun: async (id, patch) => this.mutate((store) => store.experiments.updateRun(id, patch)),
45
+ listRuns: async (filter) => this.withStore((store) => store.experiments.listRuns(filter)),
46
+ };
47
+ this.scores = {
48
+ create: async (input) => this.mutate((store) => store.scores.create(input)),
49
+ get: async (id) => this.withStore((store) => store.scores.get(id)),
50
+ list: async (filter) => this.withStore((store) => store.scores.list(filter)),
51
+ };
52
+ this.path = options.path;
53
+ this.options = {
54
+ now: options.now,
55
+ idGenerator: options.idGenerator,
56
+ };
57
+ this.initPromise = this.load();
58
+ }
59
+ async flush() {
60
+ await this.initPromise;
61
+ await this.writeQueue;
62
+ }
63
+ async snapshot() {
64
+ return this.withStore((store) => store.snapshot());
65
+ }
66
+ async withStore(fn) {
67
+ await this.initPromise;
68
+ return fn(this.getStore());
69
+ }
70
+ async mutate(fn) {
71
+ await this.initPromise;
72
+ const result = await fn(this.getStore());
73
+ await this.enqueuePersist();
74
+ return result;
75
+ }
76
+ async load() {
77
+ const snapshot = await this.readSnapshot();
78
+ this.store = new InMemoryObserveControlPlaneStore({
79
+ ...this.options,
80
+ snapshot,
81
+ });
82
+ }
83
+ getStore() {
84
+ if (!this.store) {
85
+ throw new Error("Observe file store not initialized");
86
+ }
87
+ return this.store;
88
+ }
89
+ async enqueuePersist() {
90
+ this.writeQueue = this.writeQueue.then(() => this.persist());
91
+ await this.writeQueue;
92
+ }
93
+ async persist() {
94
+ const envelope = {
95
+ version: 1,
96
+ snapshot: this.getStore().snapshot(),
97
+ };
98
+ const tempPath = `${this.path}.tmp`;
99
+ await mkdir(dirname(this.path), { recursive: true });
100
+ await writeFile(tempPath, JSON.stringify(envelope, null, 2), "utf8");
101
+ await rename(tempPath, this.path);
102
+ }
103
+ async readSnapshot() {
104
+ try {
105
+ const raw = await readFile(this.path, "utf8");
106
+ const parsed = JSON.parse(raw);
107
+ if (this.isEnvelope(parsed)) {
108
+ return parsed.snapshot;
109
+ }
110
+ if (this.isSnapshot(parsed)) {
111
+ return parsed;
112
+ }
113
+ throw new Error(`Invalid Observe control-plane store file: ${this.path}`);
114
+ }
115
+ catch (error) {
116
+ if (this.isMissingFileError(error)) {
117
+ return undefined;
118
+ }
119
+ throw error;
120
+ }
121
+ }
122
+ isEnvelope(value) {
123
+ if (!value || typeof value !== "object")
124
+ return false;
125
+ const candidate = value;
126
+ return candidate.version === 1 && this.isSnapshot(candidate.snapshot);
127
+ }
128
+ isSnapshot(value) {
129
+ if (!value || typeof value !== "object")
130
+ return false;
131
+ const candidate = value;
132
+ return (Array.isArray(candidate.sessions) &&
133
+ Array.isArray(candidate.traces) &&
134
+ Array.isArray(candidate.artifacts) &&
135
+ Array.isArray(candidate.prompts) &&
136
+ Array.isArray(candidate.datasets) &&
137
+ Array.isArray(candidate.datasetItems) &&
138
+ Array.isArray(candidate.experiments) &&
139
+ Array.isArray(candidate.experimentRuns) &&
140
+ Array.isArray(candidate.scores));
141
+ }
142
+ isMissingFileError(error) {
143
+ return !!error && typeof error === "object" && "code" in error && error.code === "ENOENT";
144
+ }
145
+ }
146
+ //# sourceMappingURL=file-control-plane-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-control-plane-store.js","sourceRoot":"","sources":["../../../../app/vendor/observe/store/file-control-plane-store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import type { ObserveControlPlaneStore } from "./contracts.js";
2
+ import type { CreateObserveArtifactInput, CreateObserveDatasetInput, CreateObserveDatasetItemInput, CreateObserveExperimentInput, CreateObserveScoreInput, CreateObserveSessionInput, CreateObserveTraceInput, IngestObserveTraceRecordInput, ObserveArtifact, ObserveArtifactFilter, ObserveDataset, ObserveDatasetFilter, ObserveDatasetItem, ObserveDatasetItemFilter, ObserveExperiment, ObserveExperimentFilter, ObserveExperimentRun, ObserveExperimentRunFilter, ObservePrompt, ObservePromptFilter, ObserveScore, ObserveScoreFilter, ObserveSession, ObserveSessionFilter, ObserveTrace, ObserveTraceFilter, PublishObservePromptInput, StartObserveExperimentRunInput, UpdateObserveExperimentInput, UpdateObserveExperimentRunInput, UpdateObserveSessionInput, UpdateObserveTraceInput } from "../entities/index.js";
3
+ export interface ObserveControlPlaneSnapshot {
4
+ sessions: ObserveSession[];
5
+ traces: ObserveTrace[];
6
+ artifacts: ObserveArtifact[];
7
+ prompts: ObservePrompt[];
8
+ datasets: ObserveDataset[];
9
+ datasetItems: ObserveDatasetItem[];
10
+ experiments: ObserveExperiment[];
11
+ experimentRuns: ObserveExperimentRun[];
12
+ scores: ObserveScore[];
13
+ }
14
+ export interface InMemoryObserveControlPlaneStoreOptions {
15
+ now?: () => number;
16
+ idGenerator?: () => string;
17
+ snapshot?: Partial<ObserveControlPlaneSnapshot>;
18
+ }
19
+ export declare class InMemoryObserveControlPlaneStore implements ObserveControlPlaneStore {
20
+ private readonly now;
21
+ private readonly idGenerator;
22
+ private readonly sessionsById;
23
+ private readonly tracesById;
24
+ private readonly artifactsById;
25
+ private readonly promptsById;
26
+ private readonly datasetsById;
27
+ private readonly datasetItemsById;
28
+ private readonly experimentsById;
29
+ private readonly experimentRunsById;
30
+ private readonly scoresById;
31
+ constructor(options?: InMemoryObserveControlPlaneStoreOptions);
32
+ snapshot(): ObserveControlPlaneSnapshot;
33
+ readonly sessions: {
34
+ create: (input: CreateObserveSessionInput) => Promise<ObserveSession>;
35
+ get: (id: string) => Promise<ObserveSession | undefined>;
36
+ list: (filter?: ObserveSessionFilter) => Promise<ObserveSession[]>;
37
+ update: (id: string, patch: UpdateObserveSessionInput) => Promise<ObserveSession>;
38
+ };
39
+ readonly traces: {
40
+ create: (input: CreateObserveTraceInput) => Promise<ObserveTrace>;
41
+ ingest: (input: IngestObserveTraceRecordInput) => Promise<ObserveTrace>;
42
+ get: (id: string) => Promise<ObserveTrace | undefined>;
43
+ list: (filter?: ObserveTraceFilter) => Promise<ObserveTrace[]>;
44
+ update: (id: string, patch: UpdateObserveTraceInput) => Promise<ObserveTrace>;
45
+ };
46
+ readonly artifacts: {
47
+ create: (input: CreateObserveArtifactInput) => Promise<ObserveArtifact>;
48
+ get: (id: string) => Promise<ObserveArtifact | undefined>;
49
+ list: (filter?: ObserveArtifactFilter) => Promise<ObserveArtifact[]>;
50
+ };
51
+ readonly prompts: {
52
+ publish: (input: PublishObservePromptInput) => Promise<ObservePrompt>;
53
+ get: (id: string) => Promise<ObservePrompt | undefined>;
54
+ list: (filter?: ObservePromptFilter) => Promise<ObservePrompt[]>;
55
+ resolve: (name: string, ref?: {
56
+ version?: string;
57
+ label?: string;
58
+ }) => Promise<ObservePrompt | undefined>;
59
+ };
60
+ readonly datasets: {
61
+ create: (input: CreateObserveDatasetInput) => Promise<ObserveDataset>;
62
+ get: (id: string) => Promise<ObserveDataset | undefined>;
63
+ list: (filter?: ObserveDatasetFilter) => Promise<ObserveDataset[]>;
64
+ createItems: (datasetId: string, items: CreateObserveDatasetItemInput[]) => Promise<ObserveDatasetItem[]>;
65
+ listItems: (filter?: ObserveDatasetItemFilter) => Promise<ObserveDatasetItem[]>;
66
+ };
67
+ readonly experiments: {
68
+ create: (input: CreateObserveExperimentInput) => Promise<ObserveExperiment>;
69
+ get: (id: string) => Promise<ObserveExperiment | undefined>;
70
+ list: (filter?: ObserveExperimentFilter) => Promise<ObserveExperiment[]>;
71
+ update: (id: string, patch: UpdateObserveExperimentInput) => Promise<ObserveExperiment>;
72
+ startRun: (input: StartObserveExperimentRunInput) => Promise<ObserveExperimentRun>;
73
+ updateRun: (id: string, patch: UpdateObserveExperimentRunInput) => Promise<ObserveExperimentRun>;
74
+ listRuns: (filter?: ObserveExperimentRunFilter) => Promise<ObserveExperimentRun[]>;
75
+ };
76
+ readonly scores: {
77
+ create: (input: CreateObserveScoreInput) => Promise<ObserveScore>;
78
+ get: (id: string) => Promise<ObserveScore | undefined>;
79
+ list: (filter?: ObserveScoreFilter) => Promise<ObserveScore[]>;
80
+ };
81
+ private filterValues;
82
+ private requireEntity;
83
+ }
84
+ //# sourceMappingURL=in-memory-control-plane-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-control-plane-store.d.ts","sourceRoot":"","sources":["../../../../app/vendor/observe/store/in-memory-control-plane-store.ts"],"names":[],"mappings":"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"}