openpond-sdk 0.6.2 → 0.6.4

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 (39) hide show
  1. package/dist/{chunk-6T23L3LH.js → chunk-2DMYAJLS.js} +2 -2
  2. package/dist/{chunk-355XXLO3.js → chunk-2EDLQPGZ.js} +2 -2
  3. package/dist/{chunk-IHBZQQMS.js → chunk-4AMFFI3A.js} +2 -2
  4. package/dist/{chunk-22RMONJA.js → chunk-CEZEVILU.js} +4 -4
  5. package/dist/chunk-CEZEVILU.js.map +7 -0
  6. package/dist/{chunk-E5IFONUB.js → chunk-CV67IFPB.js} +2 -2
  7. package/dist/{chunk-W2FCKYHV.js → chunk-F4O2EPY4.js} +3 -3
  8. package/dist/{chunk-FJ7IMEG5.js → chunk-IWT6JUZD.js} +2 -2
  9. package/dist/{chunk-5FBPNWT4.js → chunk-KWWOJY3T.js} +39 -1
  10. package/dist/{chunk-5FBPNWT4.js.map → chunk-KWWOJY3T.js.map} +4 -4
  11. package/dist/{chunk-JHKNPQD5.js → chunk-MEKWESBF.js} +2 -2
  12. package/dist/index.js +10 -8
  13. package/dist/index.js.map +2 -2
  14. package/dist/learning.js +1 -1
  15. package/dist/model-starter-catalog.js +2 -2
  16. package/dist/model-starters.js +2 -2
  17. package/dist/model-taskset-runs.js +1 -1
  18. package/dist/profile-actions.js +2 -2
  19. package/dist/project-actions.js +2 -2
  20. package/dist/taskset-drafts.js +4 -4
  21. package/dist/taskset-packages.js +5 -5
  22. package/dist/training-bundle.js +4 -4
  23. package/dist/training.js +2 -2
  24. package/dist/types/packages/cloud/src/api/core.d.ts +2 -1
  25. package/dist/types/packages/cloud/src/api/core.d.ts.map +1 -1
  26. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts +48 -0
  27. package/dist/types/packages/sdk/src/model-taskset-runs-contracts.d.ts.map +1 -1
  28. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts +96 -0
  29. package/dist/types/packages/sdk/src/model-taskset-runs.d.ts.map +1 -1
  30. package/dist/workflows.js +2 -2
  31. package/package.json +3 -3
  32. package/dist/chunk-22RMONJA.js.map +0 -7
  33. /package/dist/{chunk-6T23L3LH.js.map → chunk-2DMYAJLS.js.map} +0 -0
  34. /package/dist/{chunk-355XXLO3.js.map → chunk-2EDLQPGZ.js.map} +0 -0
  35. /package/dist/{chunk-IHBZQQMS.js.map → chunk-4AMFFI3A.js.map} +0 -0
  36. /package/dist/{chunk-E5IFONUB.js.map → chunk-CV67IFPB.js.map} +0 -0
  37. /package/dist/{chunk-W2FCKYHV.js.map → chunk-F4O2EPY4.js.map} +0 -0
  38. /package/dist/{chunk-FJ7IMEG5.js.map → chunk-IWT6JUZD.js.map} +0 -0
  39. /package/dist/{chunk-JHKNPQD5.js.map → chunk-MEKWESBF.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  apiFetch,
3
3
  readApiJson
4
- } from "./chunk-22RMONJA.js";
4
+ } from "./chunk-CEZEVILU.js";
5
5
 
6
6
  // src/profile-actions.ts
7
7
  var OpenPondProfileActionsClient = class {
@@ -69,4 +69,4 @@ function requiredValue(value, name) {
69
69
  export {
70
70
  OpenPondProfileActionsClient
71
71
  };
72
- //# sourceMappingURL=chunk-6T23L3LH.js.map
72
+ //# sourceMappingURL=chunk-2DMYAJLS.js.map
@@ -14,7 +14,7 @@ import {
14
14
  TasksetSourceRefSchema,
15
15
  computeTasksetHash,
16
16
  validateTaskset
17
- } from "./chunk-IHBZQQMS.js";
17
+ } from "./chunk-4AMFFI3A.js";
18
18
  import {
19
19
  MAX_TASKSET_PACKAGE_BYTES,
20
20
  TasksetPackageSchema,
@@ -917,4 +917,4 @@ export {
917
917
  saveTasksetDraftWorkspaceFile,
918
918
  decodeTasksetDraftWorkspaceFile
919
919
  };
920
- //# sourceMappingURL=chunk-355XXLO3.js.map
920
+ //# sourceMappingURL=chunk-2EDLQPGZ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ChatModelRefSchema
3
- } from "./chunk-5FBPNWT4.js";
3
+ } from "./chunk-KWWOJY3T.js";
4
4
  import {
5
5
  ImmutableReleaseRefSchema,
6
6
  ReleaseHashSchema,
@@ -1224,4 +1224,4 @@ export {
1224
1224
  computeTasksetHash,
1225
1225
  validatePortability
1226
1226
  };
1227
- //# sourceMappingURL=chunk-IHBZQQMS.js.map
1227
+ //# sourceMappingURL=chunk-4AMFFI3A.js.map
@@ -38,13 +38,13 @@ var OpenPondApiError = class extends Error {
38
38
  }
39
39
  };
40
40
  async function apiFetch(baseUrl, token, requestPath, options = {}) {
41
- const { timeoutMs = DEFAULT_API_TIMEOUT_MS, maxResponseBytes = DEFAULT_API_RESPONSE_BYTES, useEnvironmentApiKey = true, ...init } = options;
41
+ const { timeoutMs = DEFAULT_API_TIMEOUT_MS, maxResponseBytes = DEFAULT_API_RESPONSE_BYTES, explicitBearerAuth = false, ...init } = options;
42
42
  const requestUrl = `${baseUrl}${requestPath}`;
43
43
  const headers = new Headers(init.headers);
44
44
  headers.set("Content-Type", "application/json");
45
- const apiKey = useEnvironmentApiKey ? process.env.OPENPOND_API_KEY : void 0;
45
+ const apiKey = !explicitBearerAuth ? process.env.OPENPOND_API_KEY : void 0;
46
46
  const trimmedToken = token?.trim() || "";
47
- const tokenIsApiKey = trimmedToken.startsWith("opk_");
47
+ const tokenIsApiKey = !explicitBearerAuth && trimmedToken.startsWith("opk_");
48
48
  const effectiveApiKey = apiKey || (tokenIsApiKey ? trimmedToken : null);
49
49
  if (effectiveApiKey && !headers.has("openpond-api-key"))
50
50
  headers.set("openpond-api-key", effectiveApiKey);
@@ -152,4 +152,4 @@ export {
152
152
  apiFetch,
153
153
  readApiJson
154
154
  };
155
- //# sourceMappingURL=chunk-22RMONJA.js.map
155
+ //# sourceMappingURL=chunk-CEZEVILU.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../cloud/src/api/core.ts"],
4
+ "sourcesContent": ["const DEFAULT_API_TIMEOUT_MS = 30_000;\nconst DEFAULT_API_RESPONSE_BYTES = 8 * 1024 * 1024;\nexport const LONG_STREAM_API_OPTIONS = { timeoutMs: 15 * 60 * 1000, maxResponseBytes: 64 * 1024 * 1024 } as const;\n\nexport type ApiFetchOptions = RequestInit & {\n /** Generic services always use their explicit bearer token, regardless of prefix. */\n explicitBearerAuth?: boolean;\n timeoutMs?: number;\n maxResponseBytes?: number;\n};\n\nexport class ApiTimeoutError extends Error {\n readonly code = \"OPENPOND_API_TIMEOUT\";\n\n constructor(readonly timeoutMs: number, readonly requestUrl: string) {\n super(`API request timed out after ${timeoutMs}ms: ${requestUrl}`);\n this.name = \"ApiTimeoutError\";\n }\n}\n\nexport class ApiResponseTooLargeError extends Error {\n readonly code = \"OPENPOND_API_RESPONSE_TOO_LARGE\";\n\n constructor(readonly maximumBytes: number, readonly requestUrl: string) {\n super(`API response exceeded ${maximumBytes} bytes: ${requestUrl}`);\n this.name = \"ApiResponseTooLargeError\";\n }\n}\n\nexport class OpenPondApiError extends Error {\n readonly code: string;\n\n constructor(\n readonly status: number,\n errorCode: string | null,\n label: string,\n readonly apiMessage: string | null = null,\n ) {\n const detail = apiMessage || errorCode;\n super(`${label} failed: ${status}${detail ? ` ${detail}` : \"\"}`);\n this.name = \"OpenPondApiError\";\n this.code = errorCode || \"OPENPOND_API_ERROR\";\n }\n}\n\nexport async function apiFetch(\n baseUrl: string,\n token: string | null,\n requestPath: string,\n options: ApiFetchOptions = {},\n): Promise<Response> {\n const { timeoutMs = DEFAULT_API_TIMEOUT_MS, maxResponseBytes = DEFAULT_API_RESPONSE_BYTES, explicitBearerAuth = false, ...init } = options;\n const requestUrl = `${baseUrl}${requestPath}`;\n const headers = new Headers(init.headers);\n headers.set(\"Content-Type\", \"application/json\");\n const apiKey = !explicitBearerAuth ? process.env.OPENPOND_API_KEY : undefined;\n const trimmedToken = token?.trim() || \"\";\n const tokenIsApiKey = !explicitBearerAuth && trimmedToken.startsWith(\"opk_\");\n const effectiveApiKey = apiKey || (tokenIsApiKey ? trimmedToken : null);\n if (effectiveApiKey && !headers.has(\"openpond-api-key\")) headers.set(\"openpond-api-key\", effectiveApiKey);\n if (token) {\n headers.set(\"Authorization\", tokenIsApiKey ? `ApiKey ${trimmedToken}` : `Bearer ${token}`);\n } else if (apiKey && !headers.has(\"Authorization\")) {\n headers.set(\"Authorization\", `ApiKey ${apiKey}`);\n }\n\n const timeoutController = new AbortController();\n const timeoutError = new ApiTimeoutError(timeoutMs, requestUrl);\n const timer = timeoutMs > 0\n ? setTimeout(() => timeoutController.abort(timeoutError), timeoutMs)\n : null;\n timer?.unref?.();\n const signal = composedSignal(init.signal, timeoutController.signal, timeoutMs);\n const cleanup = () => {\n if (timer) clearTimeout(timer);\n };\n\n try {\n const response = await fetch(requestUrl, { ...init, headers, signal });\n return boundedResponse(response, {\n cleanup,\n maximumBytes: maxResponseBytes,\n requestUrl,\n timeoutController,\n timeoutError,\n });\n } catch (error) {\n cleanup();\n if (timeoutController.signal.aborted) throw timeoutError;\n throw error;\n }\n}\n\nexport async function readApiJson<T>(response: Response, label: string): Promise<T> {\n let payload: T & { error?: unknown; message?: unknown };\n try {\n const text = await response.text();\n payload = (text ? JSON.parse(text) : {}) as T & { error?: unknown; message?: unknown };\n } catch (error) {\n if (error instanceof ApiTimeoutError || error instanceof ApiResponseTooLargeError) throw error;\n payload = {} as T & { error?: unknown; message?: unknown };\n }\n if (!response.ok) {\n const errorCode = typeof payload.error === \"string\" ? payload.error : null;\n const apiMessage =\n typeof payload.message === \"string\" ? payload.message : null;\n throw new OpenPondApiError(response.status, errorCode, label, apiMessage);\n }\n return payload as T;\n}\n\nfunction boundedResponse(\n response: Response,\n input: {\n cleanup: () => void;\n maximumBytes: number;\n requestUrl: string;\n timeoutController: AbortController;\n timeoutError: ApiTimeoutError;\n },\n): Response {\n if (!response.body) {\n input.cleanup();\n return response;\n }\n const contentLength = Number(response.headers.get(\"content-length\"));\n if (input.maximumBytes > 0 && Number.isFinite(contentLength) && contentLength > input.maximumBytes) {\n input.cleanup();\n void response.body.cancel();\n throw new ApiResponseTooLargeError(input.maximumBytes, input.requestUrl);\n }\n\n const reader = response.body.getReader();\n let receivedBytes = 0;\n const body = new ReadableStream<Uint8Array>({\n async pull(controller) {\n try {\n const result = await reader.read();\n if (result.done) {\n input.cleanup();\n controller.close();\n return;\n }\n receivedBytes += result.value.byteLength;\n if (input.maximumBytes > 0 && receivedBytes > input.maximumBytes) {\n input.cleanup();\n await reader.cancel();\n controller.error(new ApiResponseTooLargeError(input.maximumBytes, input.requestUrl));\n return;\n }\n controller.enqueue(result.value);\n } catch (error) {\n input.cleanup();\n controller.error(input.timeoutController.signal.aborted ? input.timeoutError : error);\n }\n },\n async cancel(reason) {\n input.cleanup();\n await reader.cancel(reason);\n },\n });\n return new Response(body, {\n headers: response.headers,\n status: response.status,\n statusText: response.statusText,\n });\n}\n\nfunction composedSignal(\n callerSignal: AbortSignal | null | undefined,\n timeoutSignal: AbortSignal,\n timeoutMs: number,\n): AbortSignal | undefined {\n if (timeoutMs <= 0) return callerSignal ?? undefined;\n return callerSignal ? AbortSignal.any([callerSignal, timeoutSignal]) : timeoutSignal;\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  validateHarnessSourcePackage
3
- } from "./chunk-5FBPNWT4.js";
3
+ } from "./chunk-KWWOJY3T.js";
4
4
  import {
5
5
  ImmutableReleaseRefSchema
6
6
  } from "./chunk-QUOW6URQ.js";
@@ -865,4 +865,4 @@ export {
865
865
  TrainingCapabilitiesSchema,
866
866
  createTrainingClient
867
867
  };
868
- //# sourceMappingURL=chunk-E5IFONUB.js.map
868
+ //# sourceMappingURL=chunk-CV67IFPB.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  GraderSpecSchema
3
- } from "./chunk-IHBZQQMS.js";
3
+ } from "./chunk-4AMFFI3A.js";
4
4
  import {
5
5
  decodeTasksetPackageFile
6
6
  } from "./chunk-T5JMZVQR.js";
7
7
  import {
8
8
  CapabilityRequirementSchema,
9
9
  ToolDeclarationSchema
10
- } from "./chunk-5FBPNWT4.js";
10
+ } from "./chunk-KWWOJY3T.js";
11
11
  import {
12
12
  ImmutableAssetRefSchema,
13
13
  contentHash,
@@ -466,4 +466,4 @@ export {
466
466
  projectLearningBatchGraders,
467
467
  learningVerifierModule
468
468
  };
469
- //# sourceMappingURL=chunk-W2FCKYHV.js.map
469
+ //# sourceMappingURL=chunk-F4O2EPY4.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  apiFetch,
3
3
  readApiJson
4
- } from "./chunk-22RMONJA.js";
4
+ } from "./chunk-CEZEVILU.js";
5
5
 
6
6
  // src/project-actions.ts
7
7
  import { promises as fs } from "node:fs";
@@ -80,4 +80,4 @@ function projectActionPath(projectId, suffix, teamId) {
80
80
  export {
81
81
  OpenPondProjectActionsClient
82
82
  };
83
- //# sourceMappingURL=chunk-FJ7IMEG5.js.map
83
+ //# sourceMappingURL=chunk-IWT6JUZD.js.map
@@ -1483,6 +1483,44 @@ var ReadInputSchema = z9.object({
1483
1483
  length: z9.number().int().positive().max(65536).default(16384)
1484
1484
  }).strict();
1485
1485
 
1486
+ // ../harness/dist/profile-workflows.js
1487
+ import { z as z10 } from "zod";
1488
+ var WorkflowIdSchema = z10.string().regex(/^[a-z][a-z0-9_-]{0,119}$/);
1489
+ var SourcePathSchema = z10.string().min(1).max(2e3).refine((value) => !value.includes("\\") && !value.includes(":") && !value.startsWith("/") && value.split("/").every((part) => part !== "" && part !== "." && part !== ".."), "workflow references require portable relative paths");
1490
+ var ProfileWorkflowSchema = z10.object({
1491
+ id: WorkflowIdSchema,
1492
+ label: z10.string().trim().min(1).max(240),
1493
+ description: z10.string().max(4e3),
1494
+ inputSchema: z10.record(z10.string(), z10.unknown()),
1495
+ invocation: z10.discriminatedUnion("kind", [
1496
+ z10.object({ kind: z10.literal("instructions"), instructions: z10.string().trim().min(1).max(1e5) }).strict(),
1497
+ z10.object({ kind: z10.literal("agent_action"), actionId: z10.string().trim().min(1).max(240) }).strict()
1498
+ ]),
1499
+ skillPaths: z10.array(SourcePathSchema).max(100)
1500
+ }).strict();
1501
+ var ProfileWorkflowCatalogSchema = z10.object({
1502
+ schemaVersion: z10.literal("openpond.profileWorkflows.v1"),
1503
+ workflows: z10.array(ProfileWorkflowSchema).max(1e3)
1504
+ }).strict();
1505
+ var ProfileWorkflowActionSchema = z10.object({
1506
+ id: z10.string().trim().min(1).max(240),
1507
+ agentId: z10.string().regex(/^[a-zA-Z0-9_-]{1,240}$/),
1508
+ sourceActionId: z10.string().trim().min(1).max(240),
1509
+ inputSchema: z10.record(z10.string(), z10.unknown())
1510
+ }).strict();
1511
+ var ProfileWorkflowActionsSchema = z10.object({
1512
+ schemaVersion: z10.literal("openpond.profileWorkflowActions.v1"),
1513
+ actions: z10.array(ProfileWorkflowActionSchema).max(200)
1514
+ }).strict();
1515
+ var ProfileWorkflowBindingSchema = z10.object({
1516
+ schemaVersion: z10.literal("openpond.profileWorkflowBinding.v1"),
1517
+ profileId: z10.string().trim().min(1).max(240),
1518
+ sourceRevision: z10.string().trim().min(1).max(240),
1519
+ harnessRelease: ImmutableReleaseRefSchema,
1520
+ catalogHash: ReleaseHashSchema,
1521
+ workflowId: WorkflowIdSchema
1522
+ }).strict();
1523
+
1486
1524
  export {
1487
1525
  ToolDeclarationSchema,
1488
1526
  CapabilityRequirementSchema,
@@ -1492,4 +1530,4 @@ export {
1492
1530
  HarnessSourceSelectionSchema,
1493
1531
  validateHarnessSourcePackage
1494
1532
  };
1495
- //# sourceMappingURL=chunk-5FBPNWT4.js.map
1533
+ //# sourceMappingURL=chunk-KWWOJY3T.js.map