@perstack/api-client 0.0.35 → 0.0.38

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/fetcher.ts","../src/registry/types.ts","../src/registry/experts.ts","../src/utils.ts","../src/studio/types.ts","../src/studio/expert-jobs.ts","../src/studio/experts.ts","../src/studio/workspace.ts","../src/client.ts"],"names":["z","ownerSchema","expertDigestSchema"],"mappings":"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","file":"index.js","sourcesContent":["import type { ZodType } from \"zod\"\nimport type { ApiClientConfig, ApiError, ApiResult, RequestOptions } from \"./types.js\"\n\nconst DEFAULT_BASE_URL = \"https://api.perstack.ai\"\nconst DEFAULT_TIMEOUT = 30000\n\nexport interface Fetcher {\n get<T>(path: string, schema: ZodType<T>, options?: RequestOptions): Promise<ApiResult<T>>\n post<T>(\n path: string,\n body: unknown,\n schema: ZodType<T>,\n options?: RequestOptions,\n ): Promise<ApiResult<T>>\n delete<T>(path: string, schema: ZodType<T>, options?: RequestOptions): Promise<ApiResult<T>>\n getBlob(path: string, options?: RequestOptions): Promise<ApiResult<Blob>>\n}\n\nfunction createAbortError(): ApiError {\n return {\n code: 0,\n message: \"Request aborted\",\n aborted: true,\n }\n}\n\nfunction createNetworkError(error: unknown): ApiError {\n return {\n code: 0,\n message: error instanceof Error ? error.message : \"Network error\",\n reason: error,\n }\n}\n\nfunction createHttpError(status: number, statusText: string, body?: unknown): ApiError {\n if (typeof body === \"object\" && body !== null) {\n const errorBody = body as Record<string, unknown>\n return {\n code: status,\n message: (errorBody.error as string) ?? statusText,\n reason: errorBody.reason,\n }\n }\n return {\n code: status,\n message: statusText,\n }\n}\n\nfunction createValidationError(error: unknown): ApiError {\n return {\n code: 0,\n message: \"Response validation failed\",\n reason: error,\n }\n}\n\nexport function createFetcher(config?: ApiClientConfig): Fetcher {\n const baseUrl = config?.baseUrl ?? DEFAULT_BASE_URL\n const timeout = config?.timeout ?? DEFAULT_TIMEOUT\n const apiKey = config?.apiKey\n\n function buildUrl(path: string): string {\n return `${baseUrl}${path}`\n }\n\n function buildHeaders(additionalHeaders?: Record<string, string>): Record<string, string> {\n const headers: Record<string, string> = {\n \"Content-Type\": \"application/json\",\n ...additionalHeaders,\n }\n if (apiKey) {\n headers.Authorization = `Bearer ${apiKey}`\n }\n return headers\n }\n\n function createTimeoutSignal(externalSignal?: AbortSignal): {\n signal: AbortSignal\n cleanup: () => void\n } {\n const controller = new AbortController()\n const timeoutId = setTimeout(() => controller.abort(), timeout)\n\n if (externalSignal) {\n if (externalSignal.aborted) {\n controller.abort()\n } else {\n externalSignal.addEventListener(\"abort\", () => controller.abort())\n }\n }\n\n return {\n signal: controller.signal,\n cleanup: () => clearTimeout(timeoutId),\n }\n }\n\n async function request<T>(\n method: string,\n path: string,\n schema: ZodType<T>,\n body?: unknown,\n options?: RequestOptions,\n ): Promise<ApiResult<T>> {\n const { signal, cleanup } = createTimeoutSignal(options?.signal)\n\n try {\n const response = await fetch(buildUrl(path), {\n method,\n headers: buildHeaders(),\n body: body ? JSON.stringify(body) : undefined,\n signal,\n })\n\n if (!response.ok) {\n let errorBody: unknown\n try {\n errorBody = await response.json()\n } catch {\n errorBody = undefined\n }\n return {\n ok: false,\n error: createHttpError(response.status, response.statusText, errorBody),\n }\n }\n\n const json = await response.json()\n const parsed = schema.safeParse(json)\n\n if (!parsed.success) {\n return { ok: false, error: createValidationError(parsed.error) }\n }\n\n return { ok: true, data: parsed.data }\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n return { ok: false, error: createAbortError() }\n }\n return { ok: false, error: createNetworkError(error) }\n } finally {\n cleanup()\n }\n }\n\n async function requestBlob(path: string, options?: RequestOptions): Promise<ApiResult<Blob>> {\n const { signal, cleanup } = createTimeoutSignal(options?.signal)\n\n try {\n const response = await fetch(buildUrl(path), {\n method: \"GET\",\n headers: buildHeaders(),\n signal,\n })\n\n if (!response.ok) {\n let errorBody: unknown\n try {\n errorBody = await response.json()\n } catch {\n errorBody = undefined\n }\n return {\n ok: false,\n error: createHttpError(response.status, response.statusText, errorBody),\n }\n }\n\n const blob = await response.blob()\n return { ok: true, data: blob }\n } catch (error) {\n if (error instanceof Error && error.name === \"AbortError\") {\n return { ok: false, error: createAbortError() }\n }\n return { ok: false, error: createNetworkError(error) }\n } finally {\n cleanup()\n }\n }\n\n return {\n get: <T>(path: string, schema: ZodType<T>, options?: RequestOptions) =>\n request(\"GET\", path, schema, undefined, options),\n post: <T>(path: string, body: unknown, schema: ZodType<T>, options?: RequestOptions) =>\n request(\"POST\", path, schema, body, options),\n delete: <T>(path: string, schema: ZodType<T>, options?: RequestOptions) =>\n request(\"DELETE\", path, schema, undefined, options),\n getBlob: (path: string, options?: RequestOptions) => requestBlob(path, options),\n }\n}\n","import type { Skill } from \"@perstack/core\"\nimport { z } from \"zod\"\n\nexport const registryExpertStatusSchema = z.enum([\"available\", \"deprecated\", \"disabled\"])\nexport type RegistryExpertStatus = z.infer<typeof registryExpertStatusSchema>\n\nexport const ownerSchema = z.object({\n name: z.string().optional(),\n organizationId: z.string(),\n createdAt: z.string().transform((s) => new Date(s)),\n})\nexport type Owner = z.infer<typeof ownerSchema>\n\nexport const registryExpertSchema = z.object({\n type: z.literal(\"registryExpert\"),\n id: z.string(),\n key: z.string(),\n name: z.string(),\n minRuntimeVersion: z.literal(\"v1.0\"),\n description: z.string(),\n owner: ownerSchema,\n createdAt: z.string().transform((s) => new Date(s)),\n updatedAt: z.string().transform((s) => new Date(s)),\n version: z.string(),\n status: registryExpertStatusSchema,\n instruction: z.string(),\n skills: z.record(z.string(), z.unknown()).transform((s) => s as Record<string, Skill>),\n delegates: z.array(z.string()),\n tags: z.array(z.string()),\n})\nexport type RegistryExpert = z.infer<typeof registryExpertSchema>\n\nexport const expertDigestSchema = z.object({\n type: z.literal(\"expertDigest\"),\n id: z.string(),\n key: z.string(),\n name: z.string(),\n minRuntimeVersion: z.literal(\"v1.0\"),\n description: z.string(),\n owner: ownerSchema,\n createdAt: z.string().transform((s) => new Date(s)),\n updatedAt: z.string().transform((s) => new Date(s)),\n version: z.string().optional(),\n tags: z.array(z.string()),\n})\nexport type ExpertDigest = z.infer<typeof expertDigestSchema>\n\nexport const getExpertResponseSchema = z.object({\n data: z.object({\n expert: registryExpertSchema,\n }),\n})\n\nexport const listExpertsResponseSchema = z.object({\n data: z.object({\n experts: z.array(registryExpertSchema),\n }),\n meta: z.object({\n total: z.number(),\n take: z.number(),\n skip: z.number(),\n }),\n})\n\nexport const createExpertResponseSchema = z.object({\n data: z.object({\n expert: registryExpertSchema,\n }),\n})\n\nexport const updateExpertResponseSchema = z.object({\n data: z.object({\n expert: registryExpertSchema,\n }),\n})\n\nexport const deleteExpertResponseSchema = z.object({})\n\nexport const getExpertVersionsResponseSchema = z.object({\n data: z.object({\n versions: z.array(expertDigestSchema),\n latest: z.string(),\n }),\n meta: z.object({\n total: z.number(),\n }),\n})\n\nexport interface CreateExpertInput {\n name: string\n version: string\n minRuntimeVersion: \"v1.0\"\n description: string\n instruction: string\n skills: Record<string, unknown>\n delegates?: string[]\n tags?: string[]\n}\n\nexport interface UpdateExpertInput {\n status?: RegistryExpertStatus\n tags?: string[]\n}\n\nexport interface ListExpertsParams {\n organizationId?: string\n filter?: string\n sort?: \"name\" | \"version\" | \"createdAt\" | \"updatedAt\"\n order?: \"asc\" | \"desc\"\n take?: number\n skip?: number\n}\n","/**\n * Registry Experts API\n *\n * @see docs/api-reference/registry-v1/experts.md\n */\nimport type { Fetcher } from \"../fetcher.js\"\nimport type { ApiResult, PaginatedResult, RequestOptions } from \"../types.js\"\nimport {\n type CreateExpertInput,\n createExpertResponseSchema,\n deleteExpertResponseSchema,\n type ExpertDigest,\n getExpertResponseSchema,\n getExpertVersionsResponseSchema,\n type ListExpertsParams,\n listExpertsResponseSchema,\n type RegistryExpert,\n type UpdateExpertInput,\n updateExpertResponseSchema,\n} from \"./types.js\"\n\nexport interface RegistryExpertsApi {\n get(key: string, options?: RequestOptions): Promise<ApiResult<RegistryExpert>>\n list(\n params?: ListExpertsParams,\n options?: RequestOptions,\n ): Promise<ApiResult<PaginatedResult<RegistryExpert>>>\n create(input: CreateExpertInput, options?: RequestOptions): Promise<ApiResult<RegistryExpert>>\n update(\n key: string,\n input: UpdateExpertInput,\n options?: RequestOptions,\n ): Promise<ApiResult<RegistryExpert>>\n delete(key: string, options?: RequestOptions): Promise<ApiResult<void>>\n getVersions(\n key: string,\n options?: RequestOptions,\n ): Promise<ApiResult<{ versions: ExpertDigest[]; latest: string; total: number }>>\n}\n\nexport function createRegistryExpertsApi(fetcher: Fetcher): RegistryExpertsApi {\n return {\n async get(key, options) {\n const result = await fetcher.get(\n `/api/registry/v1/experts/${encodeURIComponent(key)}`,\n getExpertResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expert }\n },\n\n async list(params, options) {\n const searchParams = new URLSearchParams()\n if (params?.organizationId) searchParams.set(\"organizationId\", params.organizationId)\n if (params?.filter) searchParams.set(\"filter\", params.filter)\n if (params?.sort) searchParams.set(\"sort\", params.sort)\n if (params?.order) searchParams.set(\"order\", params.order)\n if (params?.take !== undefined) searchParams.set(\"take\", params.take.toString())\n if (params?.skip !== undefined) searchParams.set(\"skip\", params.skip.toString())\n\n const query = searchParams.toString()\n const path = `/api/registry/v1/experts/${query ? `?${query}` : \"\"}`\n\n const result = await fetcher.get(path, listExpertsResponseSchema, options)\n if (!result.ok) return result\n return {\n ok: true,\n data: {\n data: result.data.data.experts,\n meta: result.data.meta,\n },\n }\n },\n\n async create(input, options) {\n const result = await fetcher.post(\n \"/api/registry/v1/experts/\",\n input,\n createExpertResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expert }\n },\n\n async update(key, input, options) {\n const result = await fetcher.post(\n `/api/registry/v1/experts/${encodeURIComponent(key)}`,\n input,\n updateExpertResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expert }\n },\n\n async delete(key, options) {\n const result = await fetcher.delete(\n `/api/registry/v1/experts/${encodeURIComponent(key)}`,\n deleteExpertResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: undefined }\n },\n\n async getVersions(key, options) {\n const result = await fetcher.get(\n `/api/registry/v1/experts/${encodeURIComponent(key)}/versions`,\n getExpertVersionsResponseSchema,\n options,\n )\n if (!result.ok) return result\n return {\n ok: true,\n data: {\n versions: result.data.data.versions,\n latest: result.data.data.latest,\n total: result.data.meta.total,\n },\n }\n },\n }\n}\n","export async function blobToBase64(blob: Blob): Promise<string> {\n const buffer = await blob.arrayBuffer()\n const bytes = new Uint8Array(buffer)\n let binary = \"\"\n for (let i = 0; i < bytes.byteLength; i++) {\n binary += String.fromCharCode(bytes[i])\n }\n return btoa(binary)\n}\n","import type { Skill } from \"@perstack/core\"\nimport { z } from \"zod\"\n\nexport const applicationSchema = z.object({\n id: z.string(),\n name: z.string(),\n})\nexport type Application = z.infer<typeof applicationSchema>\n\nexport const ownerSchema = z.object({\n name: z.string().optional(),\n organizationId: z.string(),\n createdAt: z.string().transform((s) => new Date(s)),\n})\nexport type Owner = z.infer<typeof ownerSchema>\n\nexport const studioExpertSchema = z.object({\n type: z.literal(\"studioExpert\"),\n id: z.string(),\n key: z.string(),\n name: z.string(),\n minRuntimeVersion: z.literal(\"v1.0\"),\n description: z.string(),\n owner: ownerSchema,\n createdAt: z.string().transform((s) => new Date(s)),\n updatedAt: z.string().transform((s) => new Date(s)),\n instruction: z.string(),\n skills: z.record(z.string(), z.unknown()).transform((s) => s as Record<string, Skill>),\n delegates: z.array(z.string()),\n forkFrom: z.string().optional(),\n application: applicationSchema,\n})\nexport type StudioExpert = z.infer<typeof studioExpertSchema>\n\nexport const expertDigestSchema = z.object({\n type: z.literal(\"expertDigest\"),\n id: z.string(),\n key: z.string(),\n name: z.string(),\n minRuntimeVersion: z.literal(\"v1.0\"),\n description: z.string(),\n owner: ownerSchema,\n createdAt: z.string().transform((s) => new Date(s)),\n updatedAt: z.string().transform((s) => new Date(s)),\n version: z.string().optional(),\n tags: z.array(z.string()),\n})\nexport type ExpertDigest = z.infer<typeof expertDigestSchema>\n\nexport const getStudioExpertResponseSchema = z.object({\n data: z.object({\n expert: studioExpertSchema,\n }),\n})\n\nexport const listStudioExpertsResponseSchema = z.object({\n data: z.object({\n experts: z.array(expertDigestSchema),\n }),\n meta: z.object({\n total: z.number(),\n take: z.number(),\n skip: z.number(),\n }),\n})\n\nexport const createStudioExpertResponseSchema = z.object({\n data: z.object({\n expert: studioExpertSchema,\n }),\n})\n\nexport const updateStudioExpertResponseSchema = z.object({\n data: z.object({\n expert: studioExpertSchema,\n }),\n})\n\nexport const deleteStudioExpertResponseSchema = z.object({})\n\nexport interface CreateStudioExpertInput {\n name: string\n minRuntimeVersion: \"v1.0\"\n description: string\n instruction: string\n skills: Record<string, unknown>\n delegates: string[]\n forkFrom?: string\n}\n\nexport interface UpdateStudioExpertInput {\n minRuntimeVersion?: \"v1.0\"\n description?: string\n instruction?: string\n skills?: Record<string, unknown>\n delegates?: string[]\n forkFrom?: string\n}\n\nexport interface ListStudioExpertsParams {\n applicationId: string\n filter?: string\n sort?: \"name\" | \"version\" | \"createdAt\" | \"updatedAt\"\n order?: \"asc\" | \"desc\"\n take?: number\n skip?: number\n}\n\nexport const expertJobStatusSchema = z.enum([\n \"queued\",\n \"processing\",\n \"completed\",\n \"requestInteractiveToolResult\",\n \"requestDelegateResult\",\n \"exceededMaxSteps\",\n \"failed\",\n \"canceling\",\n \"canceled\",\n \"expired\",\n])\nexport type ExpertJobStatus = z.infer<typeof expertJobStatusSchema>\n\nexport const expertJobSchema = z.object({\n id: z.string(),\n expertKey: z.string(),\n status: expertJobStatusSchema,\n query: z.string().optional(),\n createdAt: z.string().transform((s) => new Date(s)),\n updatedAt: z.string().transform((s) => new Date(s)),\n startedAt: z\n .string()\n .transform((s) => new Date(s))\n .optional(),\n completedAt: z\n .string()\n .transform((s) => new Date(s))\n .optional(),\n})\nexport type ExpertJob = z.infer<typeof expertJobSchema>\n\nexport const getExpertJobResponseSchema = z.object({\n data: z.object({\n expertJob: expertJobSchema,\n }),\n})\n\nexport const listExpertJobsResponseSchema = z.object({\n data: z.object({\n expertJobs: z.array(expertJobSchema),\n }),\n meta: z.object({\n total: z.number(),\n take: z.number(),\n skip: z.number(),\n }),\n})\n\nexport const startExpertJobResponseSchema = z.object({\n data: z.object({\n expertJob: expertJobSchema,\n }),\n})\n\nexport const continueExpertJobResponseSchema = z.object({\n data: z.object({\n expertJob: expertJobSchema,\n }),\n})\n\nexport const updateExpertJobResponseSchema = z.object({\n data: z.object({\n expertJob: expertJobSchema,\n }),\n})\n\nexport interface StartExpertJobInput {\n expertKey: string\n query: string\n workspaceInstanceId?: string\n}\n\nexport interface ContinueExpertJobInput {\n response: string\n}\n\nexport interface UpdateExpertJobInput {\n status?: ExpertJobStatus\n}\n\nexport interface ListExpertJobsParams {\n applicationId: string\n filter?: string\n sort?: \"createdAt\" | \"updatedAt\" | \"status\"\n order?: \"asc\" | \"desc\"\n take?: number\n skip?: number\n}\n\nexport const checkpointSchema = z.object({\n id: z.string(),\n expertJobId: z.string(),\n sequence: z.number(),\n createdAt: z.string().transform((s) => new Date(s)),\n})\nexport type Checkpoint = z.infer<typeof checkpointSchema>\n\nexport const getCheckpointResponseSchema = z.object({\n data: z.object({\n checkpoint: checkpointSchema,\n }),\n})\n\nexport const listCheckpointsResponseSchema = z.object({\n data: z.object({\n checkpoints: z.array(checkpointSchema),\n }),\n meta: z.object({\n total: z.number(),\n take: z.number(),\n skip: z.number(),\n }),\n})\n\nexport const createCheckpointResponseSchema = z.object({\n data: z.object({\n checkpoint: checkpointSchema,\n }),\n})\n\nexport interface ListCheckpointsParams {\n take?: number\n skip?: number\n sort?: \"sequence\" | \"createdAt\"\n order?: \"asc\" | \"desc\"\n}\n\nexport const workspaceInstanceSchema = z.object({\n id: z.string(),\n expertJobId: z.string(),\n createdAt: z.string().transform((s) => new Date(s)),\n})\nexport type WorkspaceInstance = z.infer<typeof workspaceInstanceSchema>\n\nexport const getWorkspaceInstanceResponseSchema = z.object({\n data: z.object({\n workspaceInstance: workspaceInstanceSchema,\n }),\n})\n\nexport const workspaceItemSchema = z.object({\n id: z.string(),\n path: z.string(),\n type: z.enum([\"file\", \"directory\"]),\n size: z.number().optional(),\n createdAt: z.string().transform((s) => new Date(s)),\n updatedAt: z.string().transform((s) => new Date(s)),\n})\nexport type WorkspaceItem = z.infer<typeof workspaceItemSchema>\n\nexport const getWorkspaceItemResponseSchema = z.object({\n data: z.object({\n item: workspaceItemSchema,\n }),\n})\n\nexport const listWorkspaceItemsResponseSchema = z.object({\n data: z.object({\n workspaceItems: z.array(workspaceItemSchema),\n }),\n meta: z.object({\n total: z.number(),\n take: z.number(),\n skip: z.number(),\n }),\n})\n\nexport const createWorkspaceItemResponseSchema = z.object({\n data: z.object({\n item: workspaceItemSchema,\n }),\n})\n\nexport const updateWorkspaceItemResponseSchema = z.object({\n data: z.object({\n item: workspaceItemSchema,\n }),\n})\n\nexport const deleteWorkspaceItemResponseSchema = z.object({})\n\nexport const findWorkspaceItemsResponseSchema = z.object({\n data: z.object({\n workspaceItems: z.array(workspaceItemSchema),\n }),\n})\n\nexport interface ListWorkspaceItemsParams {\n take?: number\n skip?: number\n path?: string\n}\n\nexport const workspaceSchema = z.object({\n id: z.string(),\n applicationId: z.string(),\n createdAt: z.string().transform((s) => new Date(s)),\n updatedAt: z.string().transform((s) => new Date(s)),\n})\nexport type Workspace = z.infer<typeof workspaceSchema>\n\nexport const getWorkspaceResponseSchema = z.object({\n data: z.object({\n workspace: workspaceSchema,\n }),\n})\n\nexport const workspaceVariableSchema = z.object({\n name: z.string(),\n value: z.string(),\n})\nexport type WorkspaceVariable = z.infer<typeof workspaceVariableSchema>\n\nexport const workspaceSecretSchema = z.object({\n name: z.string(),\n})\nexport type WorkspaceSecret = z.infer<typeof workspaceSecretSchema>\n\nexport const createWorkspaceVariableResponseSchema = z.object({\n data: z.object({\n variable: workspaceVariableSchema,\n }),\n})\n\nexport const updateWorkspaceVariableResponseSchema = z.object({\n data: z.object({\n variable: workspaceVariableSchema,\n }),\n})\n\nexport const deleteWorkspaceVariableResponseSchema = z.object({})\n\nexport const createWorkspaceSecretResponseSchema = z.object({\n data: z.object({\n secret: workspaceSecretSchema,\n }),\n})\n\nexport const deleteWorkspaceSecretResponseSchema = z.object({})\n\nexport interface CreateWorkspaceVariableInput {\n name: string\n value: string\n}\n\nexport interface UpdateWorkspaceVariableInput {\n value: string\n}\n\nexport interface CreateWorkspaceSecretInput {\n name: string\n value: string\n}\n","/**\n * Studio Expert Jobs API\n *\n * @see docs/api-reference/studio-v1/expert-jobs.md\n */\nimport type { Fetcher } from \"../fetcher.js\"\nimport type { ApiResult, PaginatedResult, RequestOptions } from \"../types.js\"\nimport { blobToBase64 } from \"../utils.js\"\nimport {\n type Checkpoint,\n type ContinueExpertJobInput,\n continueExpertJobResponseSchema,\n createCheckpointResponseSchema,\n createWorkspaceItemResponseSchema,\n deleteWorkspaceItemResponseSchema,\n type ExpertJob,\n findWorkspaceItemsResponseSchema,\n getCheckpointResponseSchema,\n getExpertJobResponseSchema,\n getWorkspaceInstanceResponseSchema,\n getWorkspaceItemResponseSchema,\n type ListCheckpointsParams,\n type ListExpertJobsParams,\n type ListWorkspaceItemsParams,\n listCheckpointsResponseSchema,\n listExpertJobsResponseSchema,\n listWorkspaceItemsResponseSchema,\n type StartExpertJobInput,\n startExpertJobResponseSchema,\n type UpdateExpertJobInput,\n updateExpertJobResponseSchema,\n updateWorkspaceItemResponseSchema,\n type WorkspaceInstance,\n type WorkspaceItem,\n} from \"./types.js\"\n\nexport interface StudioExpertJobsApi {\n get(id: string, options?: RequestOptions): Promise<ApiResult<ExpertJob>>\n list(\n params: ListExpertJobsParams,\n options?: RequestOptions,\n ): Promise<ApiResult<PaginatedResult<ExpertJob>>>\n start(input: StartExpertJobInput, options?: RequestOptions): Promise<ApiResult<ExpertJob>>\n continue(\n id: string,\n input: ContinueExpertJobInput,\n options?: RequestOptions,\n ): Promise<ApiResult<ExpertJob>>\n update(\n id: string,\n input: UpdateExpertJobInput,\n options?: RequestOptions,\n ): Promise<ApiResult<ExpertJob>>\n checkpoints: CheckpointsApi\n workspaceInstance: WorkspaceInstanceApi\n}\n\nexport interface CheckpointsApi {\n get(jobId: string, checkpointId: string, options?: RequestOptions): Promise<ApiResult<Checkpoint>>\n list(\n jobId: string,\n params?: ListCheckpointsParams,\n options?: RequestOptions,\n ): Promise<ApiResult<PaginatedResult<Checkpoint>>>\n create(jobId: string, options?: RequestOptions): Promise<ApiResult<Checkpoint>>\n}\n\nexport interface WorkspaceInstanceApi {\n get(jobId: string, options?: RequestOptions): Promise<ApiResult<WorkspaceInstance>>\n items: WorkspaceInstanceItemsApi\n}\n\nexport interface WorkspaceInstanceItemsApi {\n get(jobId: string, itemId: string, options?: RequestOptions): Promise<ApiResult<WorkspaceItem>>\n list(\n jobId: string,\n params?: ListWorkspaceItemsParams,\n options?: RequestOptions,\n ): Promise<ApiResult<PaginatedResult<WorkspaceItem>>>\n create(\n jobId: string,\n path: string,\n content: Blob,\n options?: RequestOptions,\n ): Promise<ApiResult<WorkspaceItem>>\n update(\n jobId: string,\n itemId: string,\n content: Blob,\n options?: RequestOptions,\n ): Promise<ApiResult<WorkspaceItem>>\n delete(jobId: string, itemId: string, options?: RequestOptions): Promise<ApiResult<void>>\n download(jobId: string, itemId: string, options?: RequestOptions): Promise<ApiResult<Blob>>\n find(\n jobId: string,\n pattern: string,\n options?: RequestOptions,\n ): Promise<ApiResult<WorkspaceItem[]>>\n}\n\nexport function createStudioExpertJobsApi(fetcher: Fetcher): StudioExpertJobsApi {\n return {\n async get(id, options) {\n const result = await fetcher.get(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(id)}`,\n getExpertJobResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expertJob }\n },\n\n async list(params, options) {\n const searchParams = new URLSearchParams()\n searchParams.set(\"applicationId\", params.applicationId)\n if (params.filter) searchParams.set(\"filter\", params.filter)\n if (params.sort) searchParams.set(\"sort\", params.sort)\n if (params.order) searchParams.set(\"order\", params.order)\n if (params.take !== undefined) searchParams.set(\"take\", params.take.toString())\n if (params.skip !== undefined) searchParams.set(\"skip\", params.skip.toString())\n\n const path = `/api/studio/v1/expert_jobs/?${searchParams.toString()}`\n\n const result = await fetcher.get(path, listExpertJobsResponseSchema, options)\n if (!result.ok) return result\n return {\n ok: true,\n data: {\n data: result.data.data.expertJobs,\n meta: result.data.meta,\n },\n }\n },\n\n async start(input, options) {\n const result = await fetcher.post(\n \"/api/studio/v1/expert_jobs/\",\n input,\n startExpertJobResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expertJob }\n },\n\n async continue(id, input, options) {\n const result = await fetcher.post(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(id)}/continue`,\n input,\n continueExpertJobResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expertJob }\n },\n\n async update(id, input, options) {\n const result = await fetcher.post(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(id)}`,\n input,\n updateExpertJobResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expertJob }\n },\n\n checkpoints: createCheckpointsApi(fetcher),\n workspaceInstance: createWorkspaceInstanceApi(fetcher),\n }\n}\n\nfunction createCheckpointsApi(fetcher: Fetcher): CheckpointsApi {\n return {\n async get(jobId, checkpointId, options) {\n const result = await fetcher.get(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/checkpoints/${encodeURIComponent(checkpointId)}`,\n getCheckpointResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.checkpoint }\n },\n\n async list(jobId, params, options) {\n const searchParams = new URLSearchParams()\n if (params?.take !== undefined) searchParams.set(\"take\", params.take.toString())\n if (params?.skip !== undefined) searchParams.set(\"skip\", params.skip.toString())\n if (params?.sort) searchParams.set(\"sort\", params.sort)\n if (params?.order) searchParams.set(\"order\", params.order)\n\n const query = searchParams.toString()\n const path = `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/checkpoints/${query ? `?${query}` : \"\"}`\n\n const result = await fetcher.get(path, listCheckpointsResponseSchema, options)\n if (!result.ok) return result\n return {\n ok: true,\n data: {\n data: result.data.data.checkpoints,\n meta: result.data.meta,\n },\n }\n },\n\n async create(jobId, options) {\n const result = await fetcher.post(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/checkpoints/`,\n {},\n createCheckpointResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.checkpoint }\n },\n }\n}\n\nfunction createWorkspaceInstanceApi(fetcher: Fetcher): WorkspaceInstanceApi {\n return {\n async get(jobId, options) {\n const result = await fetcher.get(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/workspace_instance/`,\n getWorkspaceInstanceResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.workspaceInstance }\n },\n\n items: createWorkspaceInstanceItemsApi(fetcher),\n }\n}\n\nfunction createWorkspaceInstanceItemsApi(fetcher: Fetcher): WorkspaceInstanceItemsApi {\n return {\n async get(jobId, itemId, options) {\n const result = await fetcher.get(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/workspace_instance/items/${encodeURIComponent(itemId)}`,\n getWorkspaceItemResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.item }\n },\n\n async list(jobId, params, options) {\n const searchParams = new URLSearchParams()\n if (params?.take !== undefined) searchParams.set(\"take\", params.take.toString())\n if (params?.skip !== undefined) searchParams.set(\"skip\", params.skip.toString())\n if (params?.path) searchParams.set(\"path\", params.path)\n\n const query = searchParams.toString()\n const path = `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/workspace_instance/items/${query ? `?${query}` : \"\"}`\n\n const result = await fetcher.get(path, listWorkspaceItemsResponseSchema, options)\n if (!result.ok) return result\n return {\n ok: true,\n data: {\n data: result.data.data.workspaceItems,\n meta: result.data.meta,\n },\n }\n },\n\n async create(jobId, itemPath, content, options) {\n const result = await fetcher.post(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/workspace_instance/items/`,\n { path: itemPath, content: await blobToBase64(content) },\n createWorkspaceItemResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.item }\n },\n\n async update(jobId, itemId, content, options) {\n const result = await fetcher.post(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/workspace_instance/items/${encodeURIComponent(itemId)}`,\n { content: await blobToBase64(content) },\n updateWorkspaceItemResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.item }\n },\n\n async delete(jobId, itemId, options) {\n const result = await fetcher.delete(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/workspace_instance/items/${encodeURIComponent(itemId)}`,\n deleteWorkspaceItemResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: undefined }\n },\n\n async download(jobId, itemId, options) {\n return fetcher.getBlob(\n `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/workspace_instance/items/${encodeURIComponent(itemId)}/download`,\n options,\n )\n },\n\n async find(jobId, pathPattern, options) {\n const searchParams = new URLSearchParams()\n searchParams.set(\"path\", pathPattern)\n\n const path = `/api/studio/v1/expert_jobs/${encodeURIComponent(jobId)}/workspace_instance/items/find?${searchParams.toString()}`\n\n const result = await fetcher.get(path, findWorkspaceItemsResponseSchema, options)\n if (!result.ok) return result\n return { ok: true, data: result.data.data.workspaceItems }\n },\n }\n}\n","/**\n * Studio Experts API\n *\n * @see docs/api-reference/studio-v1/experts.md\n */\nimport type { Fetcher } from \"../fetcher.js\"\nimport type { ApiResult, PaginatedResult, RequestOptions } from \"../types.js\"\nimport {\n type CreateStudioExpertInput,\n createStudioExpertResponseSchema,\n deleteStudioExpertResponseSchema,\n type ExpertDigest,\n getStudioExpertResponseSchema,\n type ListStudioExpertsParams,\n listStudioExpertsResponseSchema,\n type StudioExpert,\n type UpdateStudioExpertInput,\n updateStudioExpertResponseSchema,\n} from \"./types.js\"\n\nexport interface StudioExpertsApi {\n get(key: string, options?: RequestOptions): Promise<ApiResult<StudioExpert>>\n list(\n params: ListStudioExpertsParams,\n options?: RequestOptions,\n ): Promise<ApiResult<PaginatedResult<ExpertDigest>>>\n create(input: CreateStudioExpertInput, options?: RequestOptions): Promise<ApiResult<StudioExpert>>\n update(\n key: string,\n input: UpdateStudioExpertInput,\n options?: RequestOptions,\n ): Promise<ApiResult<StudioExpert>>\n delete(key: string, options?: RequestOptions): Promise<ApiResult<void>>\n}\n\nexport function createStudioExpertsApi(fetcher: Fetcher): StudioExpertsApi {\n return {\n async get(key, options) {\n const result = await fetcher.get(\n `/api/studio/v1/experts/${encodeURIComponent(key)}`,\n getStudioExpertResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expert }\n },\n\n async list(params, options) {\n const searchParams = new URLSearchParams()\n searchParams.set(\"applicationId\", params.applicationId)\n if (params.filter) searchParams.set(\"filter\", params.filter)\n if (params.sort) searchParams.set(\"sort\", params.sort)\n if (params.order) searchParams.set(\"order\", params.order)\n if (params.take !== undefined) searchParams.set(\"take\", params.take.toString())\n if (params.skip !== undefined) searchParams.set(\"skip\", params.skip.toString())\n\n const path = `/api/studio/v1/experts/?${searchParams.toString()}`\n\n const result = await fetcher.get(path, listStudioExpertsResponseSchema, options)\n if (!result.ok) return result\n return {\n ok: true,\n data: {\n data: result.data.data.experts,\n meta: result.data.meta,\n },\n }\n },\n\n async create(input, options) {\n const result = await fetcher.post(\n \"/api/studio/v1/experts/\",\n input,\n createStudioExpertResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expert }\n },\n\n async update(key, input, options) {\n const result = await fetcher.post(\n `/api/studio/v1/experts/${encodeURIComponent(key)}`,\n input,\n updateStudioExpertResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.expert }\n },\n\n async delete(key, options) {\n const result = await fetcher.delete(\n `/api/studio/v1/experts/${encodeURIComponent(key)}`,\n deleteStudioExpertResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: undefined }\n },\n }\n}\n","/**\n * Studio Workspace API\n *\n * @see docs/api-reference/studio-v1/workspace.md\n */\nimport type { Fetcher } from \"../fetcher.js\"\nimport type { ApiResult, PaginatedResult, RequestOptions } from \"../types.js\"\nimport { blobToBase64 } from \"../utils.js\"\nimport {\n type CreateWorkspaceSecretInput,\n type CreateWorkspaceVariableInput,\n createWorkspaceItemResponseSchema,\n createWorkspaceSecretResponseSchema,\n createWorkspaceVariableResponseSchema,\n deleteWorkspaceItemResponseSchema,\n deleteWorkspaceSecretResponseSchema,\n deleteWorkspaceVariableResponseSchema,\n findWorkspaceItemsResponseSchema,\n getWorkspaceItemResponseSchema,\n getWorkspaceResponseSchema,\n type ListWorkspaceItemsParams,\n listWorkspaceItemsResponseSchema,\n type UpdateWorkspaceVariableInput,\n updateWorkspaceItemResponseSchema,\n updateWorkspaceVariableResponseSchema,\n type Workspace,\n type WorkspaceItem,\n type WorkspaceSecret,\n type WorkspaceVariable,\n} from \"./types.js\"\n\nexport interface StudioWorkspaceApi {\n get(options?: RequestOptions): Promise<ApiResult<Workspace>>\n items: WorkspaceItemsApi\n variables: WorkspaceVariablesApi\n secrets: WorkspaceSecretsApi\n}\n\nexport interface WorkspaceItemsApi {\n get(itemId: string, options?: RequestOptions): Promise<ApiResult<WorkspaceItem>>\n list(\n params?: ListWorkspaceItemsParams,\n options?: RequestOptions,\n ): Promise<ApiResult<PaginatedResult<WorkspaceItem>>>\n create(path: string, content: Blob, options?: RequestOptions): Promise<ApiResult<WorkspaceItem>>\n update(itemId: string, content: Blob, options?: RequestOptions): Promise<ApiResult<WorkspaceItem>>\n delete(itemId: string, options?: RequestOptions): Promise<ApiResult<void>>\n download(itemId: string, options?: RequestOptions): Promise<ApiResult<Blob>>\n find(pattern: string, options?: RequestOptions): Promise<ApiResult<WorkspaceItem[]>>\n}\n\nexport interface WorkspaceVariablesApi {\n create(\n input: CreateWorkspaceVariableInput,\n options?: RequestOptions,\n ): Promise<ApiResult<WorkspaceVariable>>\n update(\n name: string,\n input: UpdateWorkspaceVariableInput,\n options?: RequestOptions,\n ): Promise<ApiResult<WorkspaceVariable>>\n delete(name: string, options?: RequestOptions): Promise<ApiResult<void>>\n}\n\nexport interface WorkspaceSecretsApi {\n create(\n input: CreateWorkspaceSecretInput,\n options?: RequestOptions,\n ): Promise<ApiResult<WorkspaceSecret>>\n delete(name: string, options?: RequestOptions): Promise<ApiResult<void>>\n}\n\nexport function createStudioWorkspaceApi(fetcher: Fetcher): StudioWorkspaceApi {\n return {\n async get(options) {\n const result = await fetcher.get(\n \"/api/studio/v1/workspace/\",\n getWorkspaceResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.workspace }\n },\n\n items: createWorkspaceItemsApi(fetcher),\n variables: createWorkspaceVariablesApi(fetcher),\n secrets: createWorkspaceSecretsApi(fetcher),\n }\n}\n\nfunction createWorkspaceItemsApi(fetcher: Fetcher): WorkspaceItemsApi {\n return {\n async get(itemId, options) {\n const result = await fetcher.get(\n `/api/studio/v1/workspace/items/${encodeURIComponent(itemId)}`,\n getWorkspaceItemResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.item }\n },\n\n async list(params, options) {\n const searchParams = new URLSearchParams()\n if (params?.take !== undefined) searchParams.set(\"take\", params.take.toString())\n if (params?.skip !== undefined) searchParams.set(\"skip\", params.skip.toString())\n if (params?.path) searchParams.set(\"path\", params.path)\n\n const query = searchParams.toString()\n const path = `/api/studio/v1/workspace/items/${query ? `?${query}` : \"\"}`\n\n const result = await fetcher.get(path, listWorkspaceItemsResponseSchema, options)\n if (!result.ok) return result\n return {\n ok: true,\n data: {\n data: result.data.data.workspaceItems,\n meta: result.data.meta,\n },\n }\n },\n\n async create(itemPath, content, options) {\n const result = await fetcher.post(\n \"/api/studio/v1/workspace/items/\",\n { path: itemPath, content: await blobToBase64(content) },\n createWorkspaceItemResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.item }\n },\n\n async update(itemId, content, options) {\n const result = await fetcher.post(\n `/api/studio/v1/workspace/items/${encodeURIComponent(itemId)}`,\n { content: await blobToBase64(content) },\n updateWorkspaceItemResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.item }\n },\n\n async delete(itemId, options) {\n const result = await fetcher.delete(\n `/api/studio/v1/workspace/items/${encodeURIComponent(itemId)}`,\n deleteWorkspaceItemResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: undefined }\n },\n\n async download(itemId, options) {\n return fetcher.getBlob(\n `/api/studio/v1/workspace/items/${encodeURIComponent(itemId)}/download`,\n options,\n )\n },\n\n async find(pathPattern, options) {\n const searchParams = new URLSearchParams()\n searchParams.set(\"path\", pathPattern)\n\n const path = `/api/studio/v1/workspace/items/find?${searchParams.toString()}`\n\n const result = await fetcher.get(path, findWorkspaceItemsResponseSchema, options)\n if (!result.ok) return result\n return { ok: true, data: result.data.data.workspaceItems }\n },\n }\n}\n\nfunction createWorkspaceVariablesApi(fetcher: Fetcher): WorkspaceVariablesApi {\n return {\n async create(input, options) {\n const result = await fetcher.post(\n \"/api/studio/v1/workspace/variables/\",\n input,\n createWorkspaceVariableResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.variable }\n },\n\n async update(name, input, options) {\n const result = await fetcher.post(\n `/api/studio/v1/workspace/variables/${encodeURIComponent(name)}`,\n input,\n updateWorkspaceVariableResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.variable }\n },\n\n async delete(name, options) {\n const result = await fetcher.delete(\n `/api/studio/v1/workspace/variables/${encodeURIComponent(name)}`,\n deleteWorkspaceVariableResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: undefined }\n },\n }\n}\n\nfunction createWorkspaceSecretsApi(fetcher: Fetcher): WorkspaceSecretsApi {\n return {\n async create(input, options) {\n const result = await fetcher.post(\n \"/api/studio/v1/workspace/secrets/\",\n input,\n createWorkspaceSecretResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: result.data.data.secret }\n },\n\n async delete(name, options) {\n const result = await fetcher.delete(\n `/api/studio/v1/workspace/secrets/${encodeURIComponent(name)}`,\n deleteWorkspaceSecretResponseSchema,\n options,\n )\n if (!result.ok) return result\n return { ok: true, data: undefined }\n },\n }\n}\n","import { createFetcher } from \"./fetcher.js\"\nimport { createRegistryExpertsApi, type RegistryExpertsApi } from \"./registry/experts.js\"\nimport { createStudioExpertJobsApi, type StudioExpertJobsApi } from \"./studio/expert-jobs.js\"\nimport { createStudioExpertsApi, type StudioExpertsApi } from \"./studio/experts.js\"\nimport { createStudioWorkspaceApi, type StudioWorkspaceApi } from \"./studio/workspace.js\"\nimport type { ApiClientConfig } from \"./types.js\"\n\nexport interface ApiClient {\n registry: {\n experts: RegistryExpertsApi\n }\n studio: {\n experts: StudioExpertsApi\n expertJobs: StudioExpertJobsApi\n workspace: StudioWorkspaceApi\n }\n}\n\nexport function createApiClient(config?: ApiClientConfig): ApiClient {\n const fetcher = createFetcher(config)\n\n return {\n registry: {\n experts: createRegistryExpertsApi(fetcher),\n },\n studio: {\n experts: createStudioExpertsApi(fetcher),\n expertJobs: createStudioExpertJobsApi(fetcher),\n workspace: createStudioWorkspaceApi(fetcher),\n },\n }\n}\n"]}
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "@perstack/api-client",
3
- "version": "0.0.35",
3
+ "version": "0.0.38",
4
4
  "description": "Perstack API Client",
5
5
  "author": "Wintermute Technologies, Inc.",
6
6
  "license": "Apache-2.0",
7
7
  "type": "module",
8
8
  "exports": {
9
- ".": "./dist/v1/index.js",
10
- "./v1": "./dist/v1/index.js"
9
+ ".": "./dist/index.js"
11
10
  },
12
11
  "publishConfig": {
13
12
  "access": "public"
@@ -17,7 +16,7 @@
17
16
  ],
18
17
  "dependencies": {
19
18
  "zod": "^4.2.1",
20
- "@perstack/core": "0.0.27"
19
+ "@perstack/core": "0.0.30"
21
20
  },
22
21
  "devDependencies": {
23
22
  "@tsconfig/node22": "^22.0.5",
@@ -30,10 +29,10 @@
30
29
  "scripts": {
31
30
  "clean": "rm -rf dist",
32
31
  "build": "pnpm run clean && tsup --config ./tsup.config.ts",
33
- "typecheck": "tsc --noEmit"
32
+ "typecheck": "tsc --noEmit",
33
+ "test": "vitest run"
34
34
  },
35
35
  "types": {
36
- ".": "./dist/v1/index.d.ts",
37
- "./v1": "./dist/v1/index.d.ts"
36
+ ".": "./dist/index.d.ts"
38
37
  }
39
38
  }