@arizeai/phoenix-client 5.2.1 → 5.4.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 (151) hide show
  1. package/README.md +3 -3
  2. package/dist/esm/__generated__/api/v1.d.ts +321 -9
  3. package/dist/esm/__generated__/api/v1.d.ts.map +1 -1
  4. package/dist/esm/experiments/createExperiment.d.ts +39 -0
  5. package/dist/esm/experiments/createExperiment.d.ts.map +1 -0
  6. package/dist/esm/experiments/createExperiment.js +43 -0
  7. package/dist/esm/experiments/createExperiment.js.map +1 -0
  8. package/dist/esm/experiments/deleteExperiment.d.ts +36 -0
  9. package/dist/esm/experiments/deleteExperiment.d.ts.map +1 -0
  10. package/dist/esm/experiments/deleteExperiment.js +49 -0
  11. package/dist/esm/experiments/deleteExperiment.js.map +1 -0
  12. package/dist/esm/experiments/getExperimentInfo.d.ts.map +1 -1
  13. package/dist/esm/experiments/getExperimentInfo.js +9 -2
  14. package/dist/esm/experiments/getExperimentInfo.js.map +1 -1
  15. package/dist/esm/experiments/helpers/asExperimentEvaluator.d.ts +19 -0
  16. package/dist/esm/experiments/helpers/asExperimentEvaluator.d.ts.map +1 -0
  17. package/dist/esm/experiments/helpers/asExperimentEvaluator.js +19 -0
  18. package/dist/esm/experiments/helpers/asExperimentEvaluator.js.map +1 -0
  19. package/dist/esm/experiments/helpers/fromPhoenixLLMEvaluator.d.ts +9 -0
  20. package/dist/esm/experiments/helpers/fromPhoenixLLMEvaluator.d.ts.map +1 -0
  21. package/dist/esm/experiments/helpers/fromPhoenixLLMEvaluator.js +18 -0
  22. package/dist/esm/experiments/helpers/fromPhoenixLLMEvaluator.js.map +1 -0
  23. package/dist/esm/experiments/helpers/getExperimentEvaluators.d.ts +6 -0
  24. package/dist/esm/experiments/helpers/getExperimentEvaluators.d.ts.map +1 -0
  25. package/dist/esm/experiments/helpers/getExperimentEvaluators.js +58 -0
  26. package/dist/esm/experiments/helpers/getExperimentEvaluators.js.map +1 -0
  27. package/dist/esm/experiments/helpers/index.d.ts +4 -0
  28. package/dist/esm/experiments/helpers/index.d.ts.map +1 -0
  29. package/dist/esm/experiments/helpers/index.js +4 -0
  30. package/dist/esm/experiments/helpers/index.js.map +1 -0
  31. package/dist/esm/experiments/index.d.ts +6 -0
  32. package/dist/esm/experiments/index.d.ts.map +1 -1
  33. package/dist/esm/experiments/index.js +6 -0
  34. package/dist/esm/experiments/index.js.map +1 -1
  35. package/dist/esm/experiments/listExperiments.d.ts +29 -0
  36. package/dist/esm/experiments/listExperiments.d.ts.map +1 -0
  37. package/dist/esm/experiments/listExperiments.js +59 -0
  38. package/dist/esm/experiments/listExperiments.js.map +1 -0
  39. package/dist/esm/experiments/resumeEvaluation.d.ts +105 -0
  40. package/dist/esm/experiments/resumeEvaluation.d.ts.map +1 -0
  41. package/dist/esm/experiments/resumeEvaluation.js +559 -0
  42. package/dist/esm/experiments/resumeEvaluation.js.map +1 -0
  43. package/dist/esm/experiments/resumeExperiment.d.ts +102 -0
  44. package/dist/esm/experiments/resumeExperiment.d.ts.map +1 -0
  45. package/dist/esm/experiments/resumeExperiment.js +517 -0
  46. package/dist/esm/experiments/resumeExperiment.js.map +1 -0
  47. package/dist/esm/experiments/runExperiment.d.ts +4 -3
  48. package/dist/esm/experiments/runExperiment.d.ts.map +1 -1
  49. package/dist/esm/experiments/runExperiment.js +32 -3
  50. package/dist/esm/experiments/runExperiment.js.map +1 -1
  51. package/dist/esm/prompts/createPrompt.d.ts +19 -1
  52. package/dist/esm/prompts/createPrompt.d.ts.map +1 -1
  53. package/dist/esm/prompts/createPrompt.js +14 -1
  54. package/dist/esm/prompts/createPrompt.js.map +1 -1
  55. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  56. package/dist/esm/types/experiments.d.ts +66 -3
  57. package/dist/esm/types/experiments.d.ts.map +1 -1
  58. package/dist/esm/utils/channel.d.ts +229 -0
  59. package/dist/esm/utils/channel.d.ts.map +1 -0
  60. package/dist/esm/utils/channel.js +352 -0
  61. package/dist/esm/utils/channel.js.map +1 -0
  62. package/dist/esm/utils/formatPromptMessages.d.ts.map +1 -1
  63. package/dist/esm/utils/getPromptBySelector.d.ts.map +1 -1
  64. package/dist/esm/utils/isHttpError.d.ts +21 -0
  65. package/dist/esm/utils/isHttpError.d.ts.map +1 -0
  66. package/dist/esm/utils/isHttpError.js +33 -0
  67. package/dist/esm/utils/isHttpError.js.map +1 -0
  68. package/dist/src/__generated__/api/v1.d.ts +321 -9
  69. package/dist/src/__generated__/api/v1.d.ts.map +1 -1
  70. package/dist/src/experiments/createExperiment.d.ts +39 -0
  71. package/dist/src/experiments/createExperiment.d.ts.map +1 -0
  72. package/dist/src/experiments/createExperiment.js +43 -0
  73. package/dist/src/experiments/createExperiment.js.map +1 -0
  74. package/dist/src/experiments/deleteExperiment.d.ts +36 -0
  75. package/dist/src/experiments/deleteExperiment.d.ts.map +1 -0
  76. package/dist/src/experiments/deleteExperiment.js +52 -0
  77. package/dist/src/experiments/deleteExperiment.js.map +1 -0
  78. package/dist/src/experiments/getExperimentInfo.d.ts.map +1 -1
  79. package/dist/src/experiments/getExperimentInfo.js +9 -2
  80. package/dist/src/experiments/getExperimentInfo.js.map +1 -1
  81. package/dist/src/experiments/helpers/asExperimentEvaluator.d.ts +19 -0
  82. package/dist/src/experiments/helpers/asExperimentEvaluator.d.ts.map +1 -0
  83. package/dist/src/experiments/helpers/asExperimentEvaluator.js +22 -0
  84. package/dist/src/experiments/helpers/asExperimentEvaluator.js.map +1 -0
  85. package/dist/src/experiments/helpers/fromPhoenixLLMEvaluator.d.ts +9 -0
  86. package/dist/src/experiments/helpers/fromPhoenixLLMEvaluator.d.ts.map +1 -0
  87. package/dist/src/experiments/helpers/fromPhoenixLLMEvaluator.js +21 -0
  88. package/dist/src/experiments/helpers/fromPhoenixLLMEvaluator.js.map +1 -0
  89. package/dist/src/experiments/helpers/getExperimentEvaluators.d.ts +6 -0
  90. package/dist/src/experiments/helpers/getExperimentEvaluators.d.ts.map +1 -0
  91. package/dist/src/experiments/helpers/getExperimentEvaluators.js +61 -0
  92. package/dist/src/experiments/helpers/getExperimentEvaluators.js.map +1 -0
  93. package/dist/src/experiments/helpers/index.d.ts +4 -0
  94. package/dist/src/experiments/helpers/index.d.ts.map +1 -0
  95. package/dist/src/experiments/helpers/index.js +20 -0
  96. package/dist/src/experiments/helpers/index.js.map +1 -0
  97. package/dist/src/experiments/index.d.ts +6 -0
  98. package/dist/src/experiments/index.d.ts.map +1 -1
  99. package/dist/src/experiments/index.js +6 -0
  100. package/dist/src/experiments/index.js.map +1 -1
  101. package/dist/src/experiments/listExperiments.d.ts +29 -0
  102. package/dist/src/experiments/listExperiments.d.ts.map +1 -0
  103. package/dist/src/experiments/listExperiments.js +66 -0
  104. package/dist/src/experiments/listExperiments.js.map +1 -0
  105. package/dist/src/experiments/resumeEvaluation.d.ts +105 -0
  106. package/dist/src/experiments/resumeEvaluation.d.ts.map +1 -0
  107. package/dist/src/experiments/resumeEvaluation.js +585 -0
  108. package/dist/src/experiments/resumeEvaluation.js.map +1 -0
  109. package/dist/src/experiments/resumeExperiment.d.ts +102 -0
  110. package/dist/src/experiments/resumeExperiment.d.ts.map +1 -0
  111. package/dist/src/experiments/resumeExperiment.js +540 -0
  112. package/dist/src/experiments/resumeExperiment.js.map +1 -0
  113. package/dist/src/experiments/runExperiment.d.ts +4 -3
  114. package/dist/src/experiments/runExperiment.d.ts.map +1 -1
  115. package/dist/src/experiments/runExperiment.js +32 -3
  116. package/dist/src/experiments/runExperiment.js.map +1 -1
  117. package/dist/src/prompts/createPrompt.d.ts +19 -1
  118. package/dist/src/prompts/createPrompt.d.ts.map +1 -1
  119. package/dist/src/prompts/createPrompt.js +14 -1
  120. package/dist/src/prompts/createPrompt.js.map +1 -1
  121. package/dist/src/types/experiments.d.ts +66 -3
  122. package/dist/src/types/experiments.d.ts.map +1 -1
  123. package/dist/src/utils/channel.d.ts +229 -0
  124. package/dist/src/utils/channel.d.ts.map +1 -0
  125. package/dist/src/utils/channel.js +385 -0
  126. package/dist/src/utils/channel.js.map +1 -0
  127. package/dist/src/utils/formatPromptMessages.d.ts.map +1 -1
  128. package/dist/src/utils/getPromptBySelector.d.ts.map +1 -1
  129. package/dist/src/utils/isHttpError.d.ts +21 -0
  130. package/dist/src/utils/isHttpError.d.ts.map +1 -0
  131. package/dist/src/utils/isHttpError.js +37 -0
  132. package/dist/src/utils/isHttpError.js.map +1 -0
  133. package/dist/tsconfig.tsbuildinfo +1 -1
  134. package/package.json +6 -5
  135. package/src/__generated__/api/v1.ts +321 -9
  136. package/src/experiments/createExperiment.ts +90 -0
  137. package/src/experiments/deleteExperiment.ts +67 -0
  138. package/src/experiments/getExperimentInfo.ts +9 -2
  139. package/src/experiments/helpers/asExperimentEvaluator.ts +29 -0
  140. package/src/experiments/helpers/fromPhoenixLLMEvaluator.ts +24 -0
  141. package/src/experiments/helpers/getExperimentEvaluators.ts +74 -0
  142. package/src/experiments/helpers/index.ts +3 -0
  143. package/src/experiments/index.ts +6 -0
  144. package/src/experiments/listExperiments.ts +83 -0
  145. package/src/experiments/resumeEvaluation.ts +804 -0
  146. package/src/experiments/resumeExperiment.ts +745 -0
  147. package/src/experiments/runExperiment.ts +37 -5
  148. package/src/prompts/createPrompt.ts +19 -1
  149. package/src/types/experiments.ts +72 -3
  150. package/src/utils/channel.ts +397 -0
  151. package/src/utils/isHttpError.ts +45 -0
@@ -3,7 +3,7 @@ import { type PhoenixClient } from "../client";
3
3
  import { AnnotatorKind } from "../types/annotations";
4
4
  import { ClientFn } from "../types/core";
5
5
  import { DatasetSelector } from "../types/datasets";
6
- import type { Evaluator, ExperimentTask, RanExperiment } from "../types/experiments";
6
+ import type { Evaluator, ExperimentEvaluatorLike, ExperimentTask, RanExperiment } from "../types/experiments";
7
7
  import { type Logger } from "../types/logger";
8
8
  /**
9
9
  * Parameters for running an experiment.
@@ -36,7 +36,7 @@ export type RunExperimentParams = ClientFn & {
36
36
  /**
37
37
  * The evaluators to use
38
38
  */
39
- evaluators?: Evaluator[];
39
+ evaluators?: ExperimentEvaluatorLike[];
40
40
  /**
41
41
  * The logger to use
42
42
  */
@@ -117,7 +117,7 @@ export declare function evaluateExperiment({ experiment, evaluators, client: _cl
117
117
  **/
118
118
  experiment: RanExperiment;
119
119
  /** The evaluators to use */
120
- evaluators: Evaluator[];
120
+ evaluators: ExperimentEvaluatorLike[];
121
121
  /** The client to use */
122
122
  client?: PhoenixClient;
123
123
  /** The logger to use */
@@ -161,6 +161,7 @@ export declare function evaluateExperiment({ experiment, evaluators, client: _cl
161
161
  * @param params.kind - The kind of evaluator (e.g., "CODE", "LLM")
162
162
  * @param params.evaluate - The evaluator function.
163
163
  * @returns The evaluator object.
164
+ * @deprecated use asExperimentEvaluator instead
164
165
  */
165
166
  export declare function asEvaluator({ name, kind, evaluate, }: {
166
167
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"runExperiment.d.ts","sourceRoot":"","sources":["../../../src/experiments/runExperiment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runExperiment.d.ts","sourceRoot":"","sources":["../../../src/experiments/runExperiment.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ const pluralize_1 = require("../utils/pluralize");
15
15
  const promisifyResult_1 = require("../utils/promisifyResult");
16
16
  const toObjectHeaders_1 = require("../utils/toObjectHeaders");
17
17
  const urlUtils_1 = require("../utils/urlUtils");
18
+ const getExperimentInfo_1 = require("./getExperimentInfo");
19
+ const helpers_1 = require("./helpers");
18
20
  const assert_1 = __importDefault(require("assert"));
19
21
  const async_1 = require("async");
20
22
  const tiny_invariant_1 = __importDefault(require("tiny-invariant"));
@@ -77,6 +79,8 @@ async function runExperiment({ experimentName, experimentDescription, experiment
77
79
  let taskTracer;
78
80
  let experiment;
79
81
  if (isDryRun) {
82
+ const now = new Date().toISOString();
83
+ const totalExamples = nExamples;
80
84
  experiment = {
81
85
  id: localId(),
82
86
  datasetId: dataset.id,
@@ -85,6 +89,13 @@ async function runExperiment({ experimentName, experimentDescription, experiment
85
89
  datasetSplits: (_a = datasetSelector === null || datasetSelector === void 0 ? void 0 : datasetSelector.splits) !== null && _a !== void 0 ? _a : [],
86
90
  projectName,
87
91
  metadata: experimentMetadata,
92
+ repetitions,
93
+ createdAt: now,
94
+ updatedAt: now,
95
+ exampleCount: totalExamples,
96
+ successfulRunCount: 0,
97
+ failedRunCount: 0,
98
+ missingRunCount: totalExamples * repetitions,
88
99
  };
89
100
  taskTracer = (0, phoenix_otel_1.createNoOpProvider)().getTracer("no-op");
90
101
  }
@@ -110,7 +121,14 @@ async function runExperiment({ experimentName, experimentDescription, experiment
110
121
  // @todo: the dataset should return splits in response body
111
122
  datasetSplits: (_c = datasetSelector === null || datasetSelector === void 0 ? void 0 : datasetSelector.splits) !== null && _c !== void 0 ? _c : [],
112
123
  projectName,
113
- metadata: experimentResponse.metadata,
124
+ repetitions: experimentResponse.repetitions,
125
+ metadata: experimentResponse.metadata || {},
126
+ createdAt: experimentResponse.created_at,
127
+ updatedAt: experimentResponse.updated_at,
128
+ exampleCount: experimentResponse.example_count,
129
+ successfulRunCount: experimentResponse.successful_run_count,
130
+ failedRunCount: experimentResponse.failed_run_count,
131
+ missingRunCount: experimentResponse.missing_run_count,
114
132
  };
115
133
  // Initialize the tracer, now that we have a project name
116
134
  const baseUrl = client.config.baseUrl;
@@ -180,6 +198,15 @@ async function runExperiment({ experimentName, experimentDescription, experiment
180
198
  });
181
199
  ranExperiment.evaluationRuns = evaluationRuns;
182
200
  logger.info(`✅ Experiment ${experiment.id} completed`);
201
+ // Refresh experiment info from server to get updated counts (non-dry-run only)
202
+ if (!isDryRun) {
203
+ const updatedExperiment = await (0, getExperimentInfo_1.getExperimentInfo)({
204
+ client,
205
+ experimentId: experiment.id,
206
+ });
207
+ // Update the experiment info with the latest from the server
208
+ Object.assign(ranExperiment, updatedExperiment);
209
+ }
183
210
  if (!isDryRun && client.config.baseUrl) {
184
211
  const experimentUrl = (0, urlUtils_1.getExperimentUrl)({
185
212
  baseUrl: client.config.baseUrl,
@@ -343,7 +370,8 @@ async function evaluateExperiment({ experiment, evaluators, client: _client, log
343
370
  };
344
371
  // Run evaluators against all runs
345
372
  // Flat list of evaluator + run tuples
346
- const evaluatorsAndRuns = evaluators.flatMap((evaluator) => runsToEvaluate.map((run) => ({
373
+ const normalizedEvaluators = (0, helpers_1.getExperimentEvaluators)(evaluators);
374
+ const evaluatorsAndRuns = normalizedEvaluators.flatMap((evaluator) => runsToEvaluate.map((run) => ({
347
375
  evaluator,
348
376
  run,
349
377
  })));
@@ -360,7 +388,7 @@ async function evaluateExperiment({ experiment, evaluators, client: _client, log
360
388
  span.setAttributes({
361
389
  [openinference_semantic_conventions_1.SemanticConventions.OPENINFERENCE_SPAN_KIND]: openinference_semantic_conventions_1.OpenInferenceSpanKind.EVALUATOR,
362
390
  [openinference_semantic_conventions_1.SemanticConventions.INPUT_MIME_TYPE]: openinference_semantic_conventions_1.MimeType.JSON,
363
- [openinference_semantic_conventions_1.SemanticConventions.INPUT_VALUE]: JSON.stringify({
391
+ [openinference_semantic_conventions_1.SemanticConventions.INPUT_VALUE]: (0, ensureString_1.ensureString)({
364
392
  input: (_a = examplesById[evaluatorAndRun.run.datasetExampleId]) === null || _a === void 0 ? void 0 : _a.input,
365
393
  output: evaluatorAndRun.run.output,
366
394
  expected: (_b = examplesById[evaluatorAndRun.run.datasetExampleId]) === null || _b === void 0 ? void 0 : _b.output,
@@ -474,6 +502,7 @@ async function runEvaluator({ evaluator, run, exampleCache, onComplete, logger,
474
502
  * @param params.kind - The kind of evaluator (e.g., "CODE", "LLM")
475
503
  * @param params.evaluate - The evaluator function.
476
504
  * @returns The evaluator object.
505
+ * @deprecated use asExperimentEvaluator instead
477
506
  */
478
507
  function asEvaluator({ name, kind, evaluate, }) {
479
508
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"runExperiment.js","sourceRoot":"","sources":["../../../src/experiments/runExperiment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runExperiment.js","sourceRoot":"","sources":["../../../src/experiments/runExperiment.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,11 @@ export interface CreatePromptParams extends ClientFn, PromptData {
12
12
  * The description of the prompt
13
13
  */
14
14
  description?: string;
15
+ /**
16
+ * Optional metadata for the prompt as a JSON object
17
+ * @example { "environment": "production", "version": "1.0" }
18
+ */
19
+ metadata?: Record<string, unknown>;
15
20
  /**
16
21
  * The prompt version to push onto the history of the prompt
17
22
  */
@@ -22,8 +27,21 @@ export interface CreatePromptParams extends ClientFn, PromptData {
22
27
  *
23
28
  * If a prompt with the same name exists, a new version of the prompt will be appended to the history.
24
29
  *
25
- * @param params - The parameters to create a prompt.
30
+ * @param params - The parameters to create a prompt, including optional metadata.
26
31
  * @returns The created prompt version.
32
+ * @example
33
+ * ```typescript
34
+ * await createPrompt({
35
+ * name: "my-prompt",
36
+ * description: "A helpful prompt",
37
+ * metadata: { environment: "production", team: "ai" },
38
+ * version: promptVersion({
39
+ * modelProvider: "OPENAI",
40
+ * modelName: "gpt-4",
41
+ * template: [{ role: "user", content: "Hello {{name}}" }]
42
+ * })
43
+ * });
44
+ * ```
27
45
  */
28
46
  export declare function createPrompt({ client: _client, version, ...promptParams }: CreatePromptParams): Promise<PromptVersion>;
29
47
  interface PromptVersionInputBase {
@@ -1 +1 @@
1
- {"version":3,"file":"createPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/createPrompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,EAAE,UAAU;IAC9D;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,EACjC,MAAM,EAAE,OAAO,EACf,OAAO,EACP,GAAG,YAAY,EAChB,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAa7C;AAED,UAAU,sBAAsB;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC3C;;;OAGG;IACH,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,aAAa,EAAE,QAAQ,CAAC;IACxB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC3E,aAAa,EAAE,cAAc,CAAC;IAC9B,oBAAoB,CAAC,EAAE,+BAA+B,CAAC;CACxD;AAED,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IACzE,aAAa,EAAE,WAAW,CAAC;IAC3B;;;OAGG;IACH,oBAAoB,EAAE,6BAA6B,CAAC;CACrD;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,aAAa,EAAE,QAAQ,CAAC;IACxB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,aAAa,EAAE,UAAU,CAAC;IAC1B,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;CACrD;AAED,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,aAAa,EAAE,KAAK,CAAC;IACrB,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;CAChD;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,aAAa,EAAE,QAAQ,CAAC;IACxB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,aAAa,EAAE,KAAK,CAAC;IACrB,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;CAChD;AAED,MAAM,MAAM,kBAAkB,GAC1B,wBAAwB,GACxB,6BAA6B,GAC7B,2BAA2B,GAC3B,wBAAwB,GACxB,0BAA0B,GAC1B,qBAAqB,GACrB,wBAAwB,GACxB,qBAAqB,CAAC;AAE1B;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,CA6I3E"}
1
+ {"version":3,"file":"createPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/createPrompt.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,6BAA6B,EAC7B,uBAAuB,EACvB,+BAA+B,EAC/B,4BAA4B,EAC5B,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,iBAAiB,EACjB,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACxB,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,MAAM,WAAW,kBAAmB,SAAQ,QAAQ,EAAE,UAAU;IAC9D;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,iBAAiB,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,YAAY,CAAC,EACjC,MAAM,EAAE,OAAO,EACf,OAAO,EACP,GAAG,YAAY,EAChB,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAa7C;AAED,UAAU,sBAAsB;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,SAAS,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC3C;;;OAGG;IACH,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;;OAGG;IACH,cAAc,CAAC,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;CACvD;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,aAAa,EAAE,QAAQ,CAAC;IACxB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,MAAM,WAAW,6BAA8B,SAAQ,sBAAsB;IAC3E,aAAa,EAAE,cAAc,CAAC;IAC9B,oBAAoB,CAAC,EAAE,+BAA+B,CAAC;CACxD;AAED,MAAM,WAAW,2BAA4B,SAAQ,sBAAsB;IACzE,aAAa,EAAE,WAAW,CAAC;IAC3B;;;OAGG;IACH,oBAAoB,EAAE,6BAA6B,CAAC;CACrD;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,aAAa,EAAE,QAAQ,CAAC;IACxB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,MAAM,WAAW,0BAA2B,SAAQ,sBAAsB;IACxE,aAAa,EAAE,UAAU,CAAC;IAC1B,oBAAoB,CAAC,EAAE,4BAA4B,CAAC;CACrD;AAED,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,aAAa,EAAE,KAAK,CAAC;IACrB,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;CAChD;AAED,MAAM,WAAW,wBAAyB,SAAQ,sBAAsB;IACtE,aAAa,EAAE,QAAQ,CAAC;IACxB,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;CACnD;AAED,MAAM,WAAW,qBAAsB,SAAQ,sBAAsB;IACnE,aAAa,EAAE,KAAK,CAAC;IACrB,oBAAoB,CAAC,EAAE,uBAAuB,CAAC;CAChD;AAED,MAAM,MAAM,kBAAkB,GAC1B,wBAAwB,GACxB,6BAA6B,GAC7B,2BAA2B,GAC3B,wBAAwB,GACxB,0BAA0B,GAC1B,qBAAqB,GACrB,wBAAwB,GACxB,qBAAqB,CAAC;AAE1B;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,kBAAkB,GAAG,iBAAiB,CA6I3E"}
@@ -20,8 +20,21 @@ const assertUnreachable_1 = require("../utils/assertUnreachable");
20
20
  *
21
21
  * If a prompt with the same name exists, a new version of the prompt will be appended to the history.
22
22
  *
23
- * @param params - The parameters to create a prompt.
23
+ * @param params - The parameters to create a prompt, including optional metadata.
24
24
  * @returns The created prompt version.
25
+ * @example
26
+ * ```typescript
27
+ * await createPrompt({
28
+ * name: "my-prompt",
29
+ * description: "A helpful prompt",
30
+ * metadata: { environment: "production", team: "ai" },
31
+ * version: promptVersion({
32
+ * modelProvider: "OPENAI",
33
+ * modelName: "gpt-4",
34
+ * template: [{ role: "user", content: "Hello {{name}}" }]
35
+ * })
36
+ * });
37
+ * ```
25
38
  */
26
39
  async function createPrompt(_a) {
27
40
  var _b;
@@ -1 +1 @@
1
- {"version":3,"file":"createPrompt.js","sourceRoot":"","sources":["../../../src/prompts/createPrompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createPrompt.js","sourceRoot":"","sources":["../../../src/prompts/createPrompt.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
+ import type { LLMEvaluator } from "@arizeai/phoenix-evals";
1
2
  import { AnnotatorKind } from "./annotations";
2
3
  import { Node } from "./core";
3
- import { Example } from "./datasets";
4
+ import { Example, ExampleWithId } from "./datasets";
4
5
  /**
5
6
  * An experiment is a set of task runs on a dataset version
6
7
  */
@@ -9,16 +10,73 @@ export interface ExperimentInfo extends Node {
9
10
  datasetVersionId: string;
10
11
  datasetSplits?: string[];
11
12
  /**
12
- * The project under which the experiment task traces are recorded
13
+ * Number of times the experiment is repeated
13
14
  */
14
- projectName: string;
15
+ repetitions: number;
15
16
  /**
16
17
  * Metadata about the experiment as an object of key values
17
18
  * e.x. model name
18
19
  */
19
20
  metadata: Record<string, unknown>;
21
+ /**
22
+ * The project under which the experiment task traces are recorded
23
+ * Note: This can be null when no project is associated with the experiment
24
+ */
25
+ projectName: string | null;
26
+ /**
27
+ * The creation timestamp of the experiment
28
+ */
29
+ createdAt: string;
30
+ /**
31
+ * The last update timestamp of the experiment
32
+ */
33
+ updatedAt: string;
34
+ /**
35
+ * Number of examples in the experiment
36
+ */
37
+ exampleCount: number;
38
+ /**
39
+ * Number of successful runs in the experiment
40
+ */
41
+ successfulRunCount: number;
42
+ /**
43
+ * Number of failed runs in the experiment
44
+ */
45
+ failedRunCount: number;
46
+ /**
47
+ * Number of missing (not yet executed) runs in the experiment
48
+ */
49
+ missingRunCount: number;
20
50
  }
21
51
  export type ExperimentRunID = string;
52
+ /**
53
+ * Represents incomplete experiment runs for a dataset example
54
+ * Groups all incomplete repetitions for a single example
55
+ */
56
+ export interface IncompleteRun {
57
+ /**
58
+ * The dataset example that has incomplete runs
59
+ */
60
+ datasetExample: Example;
61
+ /**
62
+ * List of repetition numbers that need to be run for this example
63
+ */
64
+ repetitionNumbers: number[];
65
+ }
66
+ export interface IncompleteEvaluation {
67
+ /**
68
+ * The experiment run with incomplete evaluations
69
+ */
70
+ experimentRun: ExperimentRun;
71
+ /**
72
+ * The dataset example for this run
73
+ */
74
+ datasetExample: ExampleWithId;
75
+ /**
76
+ * List of evaluation names that are incomplete (either missing or failed)
77
+ */
78
+ evaluationNames: string[];
79
+ }
22
80
  /**
23
81
  * A map of an experiment runId to the run
24
82
  */
@@ -100,4 +158,9 @@ export interface ExperimentParameters {
100
158
  */
101
159
  nExamples: number;
102
160
  }
161
+ /**
162
+ * A type that represents any type of evaluator that can be used in an experiment.
163
+ * Unknown is used to capture evaluators from an external library such as phoenix-evals.
164
+ */
165
+ export type ExperimentEvaluatorLike = Evaluator | LLMEvaluator<Record<string, unknown>>;
103
166
  //# sourceMappingURL=experiments.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../../src/types/experiments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IAEzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc,EAAE,iBAAiB;IACtE,cAAc,CAAC,EAAE,uBAAuB,EAAE,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI;IACzC,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACnD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,eAAe,CAAC,cAAc,GAAG,UAAU,IAAI;IACzD;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB;;OAEG;IACH,MAAM,EAAE,cAAc,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,CACR,IAAI,EAAE,eAAe,KAClB,OAAO,CAAC,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,uBAAwB,SAAQ,IAAI;IACnD,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,aAAa,CAAC;IAC7B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC;;;OAGG;IACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAEnE,MAAM,MAAM,cAAc,GAAG,CAC3B,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"experiments.d.ts","sourceRoot":"","sources":["../../../src/types/experiments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,229 @@
1
+ /**
2
+ * A bounded, buffered CSP channel implementation for TypeScript.
3
+ *
4
+ * Implements the Producer-Consumer pattern with automatic backpressure via
5
+ * blocking send/receive semantics. Based on Communicating Sequential Processes (Hoare, 1978).
6
+ *
7
+ * Properties:
8
+ * - Bounded buffer: O(capacity) memory usage
9
+ * - Blocking send: Blocks when buffer is full
10
+ * - Blocking receive: Blocks when buffer is empty
11
+ * - Graceful shutdown: Close drains buffer before terminating
12
+ *
13
+ * Performance Characteristics:
14
+ * - send(): O(R) where R = pending receivers (typically 0-10)
15
+ * - receive(): O(B + S) where B = buffer size, S = pending senders
16
+ * - Uses Array.shift() which is O(n) but acceptable for small queues
17
+ * - Same complexity trade-off as async.queue, p-limit, and similar libraries
18
+ * - For typical usage (buffer < 100, queues < 10), overhead is negligible (<10ms per 5000 operations)
19
+ *
20
+ * Note: Could be optimized to O(1) with linked list or circular buffer, but current
21
+ * implementation prioritizes simplicity and is comparable to standard JS libraries.
22
+ *
23
+ * Deadlock Prevention:
24
+ * JavaScript channels use cooperative blocking via Promises, not true thread blocking.
25
+ * Deadlocks are rare but possible in certain patterns:
26
+ *
27
+ * ❌ AVOID: Sequential operations on unbuffered channels
28
+ * ```typescript
29
+ * const ch = new Channel<number>(0);
30
+ * await ch.send(1); // Blocks forever - no receiver started
31
+ * await ch.receive(); // Never reached
32
+ * ```
33
+ *
34
+ * ❌ AVOID: Circular dependencies between channels
35
+ * ```typescript
36
+ * const ch1 = new Channel(0);
37
+ * const ch2 = new Channel(0);
38
+ * // Task 1: await ch1.send() → await ch2.receive()
39
+ * // Task 2: await ch2.send() → await ch1.receive()
40
+ * // Both block on send, never reach receive
41
+ * ```
42
+ *
43
+ * ✅ SAFE: Concurrent start with buffered channels (recommended pattern)
44
+ * ```typescript
45
+ * const ch = new Channel<number>(); // Default (10) is safe
46
+ *
47
+ * // Start producer immediately
48
+ * const producer = (async () => {
49
+ * for (let i = 0; i < 100; i++) {
50
+ * await ch.send(i);
51
+ * }
52
+ * ch.close(); // Always close in finally block
53
+ * })();
54
+ *
55
+ * // Start consumers immediately
56
+ * const consumers = Array.from({ length: 5 }, async () => {
57
+ * for await (const value of ch) {
58
+ * await processValue(value);
59
+ * }
60
+ * });
61
+ *
62
+ * // Wait for all to complete
63
+ * await Promise.all([producer, ...consumers]);
64
+ * ```
65
+ *
66
+ * Best Practices:
67
+ * 1. Use default capacity or higher (10+) for production - provides safety and throughput
68
+ * 2. Always close() channels in a finally block to prevent hanging operations
69
+ * 3. Start producers and consumers concurrently, not sequentially
70
+ * 4. Use for-await loops for automatic cleanup on close
71
+ * 5. Avoid circular dependencies between channels
72
+ * 6. Handle errors in workers so they don't crash and leave channel blocked
73
+ * 7. Only use unbuffered (capacity=0) when you need strict happens-before guarantees
74
+ *
75
+ * @see https://en.wikipedia.org/wiki/Communicating_sequential_processes
76
+ *
77
+ * @template T The type of values sent through the channel
78
+ *
79
+ * @example Safe Producer-Consumer Pattern
80
+ * ```typescript
81
+ * // Default capacity (10) is safe for most cases
82
+ * const ch = new Channel<number>(); // or explicit: new Channel<number>(50)
83
+ *
84
+ * // Producer with proper cleanup
85
+ * const producer = (async () => {
86
+ * try {
87
+ * for (let i = 0; i < 100; i++) {
88
+ * await ch.send(i); // Blocks if buffer full (backpressure)
89
+ * }
90
+ * } finally {
91
+ * ch.close(); // Guaranteed cleanup
92
+ * }
93
+ * })();
94
+ *
95
+ * // Multiple consumers
96
+ * const consumers = Array.from({ length: 3 }, async () => {
97
+ * for await (const value of ch) {
98
+ * console.log(value);
99
+ * }
100
+ * });
101
+ *
102
+ * await Promise.all([producer, ...consumers]);
103
+ * ```
104
+ *
105
+ * @example Unbuffered Channel (Rendezvous)
106
+ * ```typescript
107
+ * const ch = new Channel<number>(0); // Unbuffered - use with care!
108
+ *
109
+ * // Must start both operations before awaiting
110
+ * const sendPromise = ch.send(42); // Starts but doesn't block caller yet
111
+ * const value = await ch.receive(); // Unblocks the sender
112
+ * await sendPromise; // Now safe to await
113
+ * ```
114
+ */
115
+ /**
116
+ * Custom error class for channel operations
117
+ */
118
+ export declare class ChannelError extends Error {
119
+ constructor(message: string, options?: ErrorOptions);
120
+ }
121
+ export declare class Channel<T> {
122
+ #private;
123
+ /**
124
+ * Create a new channel with the specified buffer capacity.
125
+ *
126
+ * @param capacity - Buffer size (default: 10)
127
+ * - 0: Unbuffered/rendezvous channel - strict synchronization, higher deadlock risk.
128
+ * Use only when you need guaranteed happens-before ordering.
129
+ * - 1-100: Buffered channel - recommended for production use.
130
+ * - Higher values: Better throughput but more memory usage.
131
+ *
132
+ * @example
133
+ * ```typescript
134
+ * // Default buffered (safe for most cases)
135
+ * const ch1 = new Channel<number>();
136
+ *
137
+ * // Explicit buffer size (production pattern)
138
+ * const ch2 = new Channel<number>(50);
139
+ *
140
+ * // Unbuffered (advanced - strict synchronization)
141
+ * const ch3 = new Channel<number>(0);
142
+ * ```
143
+ */
144
+ constructor(capacity?: number);
145
+ /**
146
+ * Send a value to the channel
147
+ * Blocks if the buffer is full until space is available
148
+ *
149
+ * @param value - The value to send
150
+ * @throws {ChannelError} If channel is closed
151
+ */
152
+ send(value: T): Promise<void>;
153
+ /**
154
+ * Receive a value from the channel
155
+ * Blocks if no value is available until one arrives
156
+ *
157
+ * @returns The received value, or CLOSED symbol if channel is closed and empty
158
+ */
159
+ receive(): Promise<T | typeof CLOSED>;
160
+ /**
161
+ * Try to receive a value without blocking
162
+ * Returns immediately with value or undefined if channel is empty
163
+ *
164
+ * @returns The received value, CLOSED if channel is closed, or undefined if empty
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * const ch = new Channel<number>(10);
169
+ * await ch.send(42);
170
+ *
171
+ * const value = ch.tryReceive();
172
+ * if (value !== undefined && value !== CLOSED) {
173
+ * console.log("Got:", value);
174
+ * }
175
+ * ```
176
+ */
177
+ tryReceive(): T | typeof CLOSED | undefined;
178
+ /**
179
+ * Close the channel
180
+ * No more sends allowed, but remaining values can be received
181
+ */
182
+ close(): void;
183
+ /**
184
+ * Check if channel is closed
185
+ */
186
+ get isClosed(): boolean;
187
+ /**
188
+ * Get current buffer length
189
+ */
190
+ get length(): number;
191
+ /**
192
+ * Get the channel's capacity
193
+ */
194
+ get capacity(): number;
195
+ /**
196
+ * Get the number of blocked senders waiting
197
+ */
198
+ get pendingSends(): number;
199
+ /**
200
+ * Get the number of blocked receivers waiting
201
+ */
202
+ get pendingReceives(): number;
203
+ /**
204
+ * Async iterator support for for-await-of loops
205
+ */
206
+ [Symbol.asyncIterator](): AsyncIterableIterator<T>;
207
+ }
208
+ /**
209
+ * Special symbol to indicate channel is closed
210
+ */
211
+ export declare const CLOSED: unique symbol;
212
+ /**
213
+ * Type guard to check if a value is the CLOSED symbol
214
+ *
215
+ * @param value - Value to check
216
+ * @returns true if value is CLOSED symbol
217
+ *
218
+ * @example
219
+ * ```typescript
220
+ * const value = await ch.receive();
221
+ * if (isClosed(value)) {
222
+ * console.log("Channel is closed");
223
+ * } else {
224
+ * console.log("Got value:", value);
225
+ * }
226
+ * ```
227
+ */
228
+ export declare function isClosed<T>(value: T | typeof CLOSED): value is typeof CLOSED;
229
+ //# sourceMappingURL=channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../../src/utils/channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiHG;AAmBH;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD;AAWD,qBAAa,OAAO,CAAC,CAAC;;IAOpB;;;;;;;;;;;;;;;;;;;;OAoBG;gBACS,QAAQ,GAAE,MAAW;IAOjC;;;;;;OAMG;IACG,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBnC;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,OAAO,MAAM,CAAC;IAiC3C;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,IAAI,CAAC,GAAG,OAAO,MAAM,GAAG,SAAS;IA+B3C;;;OAGG;IACH,KAAK,IAAI,IAAI;IAkBb;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,CAE5B;IAED;;OAEG;IACI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC;CAO1D;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,eAAmB,CAAC;AAEvC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,MAAM,GAAG,KAAK,IAAI,OAAO,MAAM,CAE5E"}