@getmodus/sdk 0.2.1 → 0.2.2
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.
- package/CHANGELOG.md +5 -3
- package/README.md +4 -0
- package/dist/{chunk-UOBVSNOW.js → chunk-OUFN2O5C.js} +124 -93
- package/dist/chunk-OUFN2O5C.js.map +1 -0
- package/dist/{conversations-DoyTcWk6.d.cts → conversations-BP2sI3Q5.d.cts} +108 -90
- package/dist/{conversations-DoyTcWk6.d.ts → conversations-BP2sI3Q5.d.ts} +108 -90
- package/dist/index.cjs +237 -125
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +26 -10
- package/dist/index.d.ts +26 -10
- package/dist/index.js +114 -34
- package/dist/index.js.map +1 -1
- package/dist/management/index.cjs +129 -93
- package/dist/management/index.cjs.map +1 -1
- package/dist/management/index.d.cts +1 -1
- package/dist/management/index.d.ts +1 -1
- package/dist/management/index.js +7 -2
- package/dist/management/index.js.map +1 -1
- package/package.json +2 -1
- package/dist/chunk-UOBVSNOW.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/management/index.ts","../../src/_exceptions.ts","../../src/_auth.ts","../../src/_config.ts","../../src/_http.ts","../../src/_client-base.ts","../../src/_query.ts","../../src/_pagination.ts","../../src/_generated/operations.ts","../../src/_openapi-invoke.ts","../../src/_retry.ts","../../src/_generated/write-body-keys.ts","../../src/_validation.ts","../../src/_request.ts","../../src/management/_access-config.ts","../../src/management/agents/interfaces.ts","../../src/management/agents/agents.ts","../../src/resources/context/custom-items.ts","../../src/management/context/_content-merge.ts","../../src/management/context/items.ts","../../src/management/context/context.ts","../../src/management/organization.ts","../../src/resources/skills/conversations.ts","../../src/management/skills/memories.ts","../../src/management/skills/evaluations.ts","../../src/management/skills/supervision.ts","../../src/management/skills/skills.ts","../../src/management/usage.ts","../../src/management/users.ts"],"sourcesContent":["import { ModusClientBase } from '../_client-base.js'\nimport type { ModusOptions } from '../_config.js'\nimport { ManagementWorkflowsResource } from './agents/agents.js'\nimport { ManagementContextResource } from './context/context.js'\nimport { ManagementOrganizationResource } from './organization.js'\nimport { ManagementScopesResource } from './skills/skills.js'\nimport { ManagementUsageResource } from './usage.js'\nimport { ManagementUsersResource } from './users.js'\n\n/** Configure scopes, workflows, context, usage, and organization settings. */\nexport class ModusManagement extends ModusClientBase {\n readonly scopes: ManagementScopesResource\n readonly workflows: ManagementWorkflowsResource\n readonly context: ManagementContextResource\n readonly usage: ManagementUsageResource\n readonly organization: ManagementOrganizationResource\n readonly users: ManagementUsersResource\n\n constructor(options: ModusOptions = {}) {\n super(options)\n this.scopes = new ManagementScopesResource(this.http, this.config)\n this.workflows = new ManagementWorkflowsResource(this.http, this.config)\n this.context = new ManagementContextResource(this.http, this.config)\n this.usage = new ManagementUsageResource(this.http, this.config)\n this.organization = new ManagementOrganizationResource(this.http, this.config)\n this.users = new ManagementUsersResource(this.http, this.config)\n }\n}\n\nexport type { ModusOptions }\nexport type { CreateSkillOptions, UpdateSkillOptions } from './skills/skills.js'\nexport type {\n CreateAgentOptions,\n UpdateAgentOptions,\n TriggerInput,\n AgentSelectionInput,\n WorkflowGraphInput,\n} from './agents/agents.js'\nexport type { UserFeedback } from './context/context.js'\nexport type { ToolsetInput } from './types/toolset.js'\nexport type {\n Memory,\n MemorySearchRequest,\n MemorySearchResult,\n MemoryUpdate,\n} from './types/memories.js'\n","export class ModusError extends Error {\n readonly statusCode?: number\n readonly requestId?: string\n readonly responseHeaders?: Record<string, string>\n readonly body?: string\n readonly code?: string\n\n constructor(\n message: string,\n options: {\n statusCode?: number\n requestId?: string\n responseHeaders?: Record<string, string>\n body?: string\n code?: string\n } = {},\n ) {\n super(message)\n this.name = 'ModusError'\n this.message = message\n this.statusCode = options.statusCode\n this.requestId = options.requestId\n this.responseHeaders = options.responseHeaders\n this.body = options.body\n this.code = options.code\n }\n}\n\nexport class APIConnectionError extends ModusError {\n constructor(message: string) {\n super(message)\n this.name = 'APIConnectionError'\n }\n}\n\nexport class AuthenticationError extends ModusError {\n constructor(message: string, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode: 401 })\n this.name = 'AuthenticationError'\n }\n}\n\nexport class PermissionDeniedError extends ModusError {\n constructor(message: string, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode: 403 })\n this.name = 'PermissionDeniedError'\n }\n}\n\nexport class NotFoundError extends ModusError {\n constructor(message: string, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode: 404 })\n this.name = 'NotFoundError'\n }\n}\n\nexport class ConflictError extends ModusError {\n constructor(message: string, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode: 409 })\n this.name = 'ConflictError'\n }\n}\n\nexport class UnprocessableError extends ModusError {\n readonly errors?: unknown\n\n constructor(\n message: string,\n options: ConstructorParameters<typeof ModusError>[1] & { errors?: unknown } = {},\n ) {\n super(message, { ...options, statusCode: 422 })\n this.name = 'UnprocessableError'\n this.errors = options.errors\n }\n}\n\nexport class RateLimitError extends ModusError {\n readonly retryAfter?: number\n\n constructor(\n message: string,\n options: ConstructorParameters<typeof ModusError>[1] & { retryAfter?: number } = {},\n ) {\n super(message, { ...options, statusCode: 429 })\n this.name = 'RateLimitError'\n this.retryAfter = options.retryAfter\n }\n}\n\nexport class InternalServerError extends ModusError {\n constructor(message: string, statusCode: number, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode })\n this.name = 'InternalServerError'\n }\n}\n\nexport class RunCancelledError extends ModusError {\n constructor(message = 'Run was cancelled.') {\n super(message)\n this.name = 'RunCancelledError'\n }\n}\n\nexport class StreamTimeoutError extends ModusError {\n constructor(message = 'Stream timed out.') {\n super(message)\n this.name = 'StreamTimeoutError'\n }\n}\n\nexport class ValidationError extends ModusError {\n constructor(message: string) {\n super(message)\n this.name = 'ValidationError'\n }\n}\n","import { AuthenticationError } from './_exceptions.js'\n\nconst ENV_API_KEY = 'MODUS_API_KEY'\nconst ENV_BASE_URL = 'MODUS_BASE_URL'\nconst ENV_TIMEOUT = 'MODUS_TIMEOUT'\nconst ENV_MAX_RETRIES = 'MODUS_MAX_RETRIES'\nconst KEY_PREFIX = 'modus_'\n\nexport function resolveApiKey(apiKey?: string): string {\n const key = apiKey ?? process.env[ENV_API_KEY]\n if (!key) {\n throw new AuthenticationError(\n `No API key provided. Pass apiKey or set the ${ENV_API_KEY} environment variable. ` +\n 'Create a token at app.modus.com → Settings → API Tokens.',\n )\n }\n if (!key.startsWith(KEY_PREFIX)) {\n throw new AuthenticationError(\n `Invalid API key format. Modus API keys start with '${KEY_PREFIX}'. ` +\n 'Create a token at app.modus.com → Settings → API Tokens.',\n )\n }\n return key\n}\n\nexport function resolveBaseUrl(baseUrl?: string): string | undefined {\n return baseUrl ?? process.env[ENV_BASE_URL] ?? undefined\n}\n\nexport function resolveTimeoutMs(explicitMs?: number): number | undefined {\n if (explicitMs !== undefined) return explicitMs\n const raw = process.env[ENV_TIMEOUT]\n if (raw === undefined) return undefined\n const seconds = Number(raw)\n return Number.isFinite(seconds) ? seconds * 1000 : undefined\n}\n\nexport function resolveMaxRetries(explicit?: number): number | undefined {\n if (explicit !== undefined) {\n if (explicit < 0) throw new Error(`max_retries must be >= 0, got ${explicit}`)\n return explicit\n }\n const raw = process.env[ENV_MAX_RETRIES]\n if (raw === undefined) return undefined\n const value = Number.parseInt(raw, 10)\n return Number.isFinite(value) && value >= 0 ? value : undefined\n}\n\nexport function authHeaders(apiKey: string): Record<string, string> {\n return { Authorization: `Bearer ${apiKey}` }\n}\n","import {\n resolveApiKey,\n resolveBaseUrl,\n resolveMaxRetries,\n resolveTimeoutMs,\n} from './_auth.js'\n\nexport const DEFAULT_BASE_URL = 'https://api.modus.com'\nexport const DEFAULT_TIMEOUT_MS = 300_000\nexport const DEFAULT_MAX_RETRIES = 2\n\nexport interface ModusOptions {\n apiKey?: string\n baseUrl?: string\n /**\n * Override service-specific API origins, for example:\n * `{ 'agent-service': 'http://localhost:3130' }`.\n */\n baseUrls?: Record<string, string>\n /** Request timeout in milliseconds. */\n timeoutMs?: number\n maxRetries?: number\n /** Test injection only. */\n fetch?: typeof fetch\n}\n\nexport interface ModusConfig {\n readonly apiKey: string\n readonly baseUrl: string\n readonly baseUrls: Readonly<Record<string, string>>\n readonly timeoutMs: number\n readonly maxRetries: number\n readonly fetch: typeof fetch\n}\n\nfunction normalizeBaseUrl(baseUrl: string): string {\n return baseUrl.replace(/\\/$/, '')\n}\n\nfunction normalizeBaseUrls(baseUrls: Record<string, string> | undefined): Record<string, string> {\n return Object.fromEntries(\n Object.entries(baseUrls ?? {}).map(([service, baseUrl]) => [\n service,\n normalizeBaseUrl(baseUrl),\n ]),\n )\n}\n\nexport function createModusConfig(options: ModusOptions = {}): ModusConfig {\n const maxRetries = resolveMaxRetries(options.maxRetries) ?? DEFAULT_MAX_RETRIES\n if (!Number.isInteger(maxRetries) || maxRetries < 0) {\n throw new Error(`max_retries must be a non-negative int, got ${maxRetries}`)\n }\n const baseUrl = normalizeBaseUrl(resolveBaseUrl(options.baseUrl) ?? DEFAULT_BASE_URL)\n return Object.freeze({\n apiKey: resolveApiKey(options.apiKey),\n baseUrl,\n baseUrls: Object.freeze({ 'modus-api': baseUrl, ...normalizeBaseUrls(options.baseUrls) }),\n timeoutMs: resolveTimeoutMs(options.timeoutMs) ?? DEFAULT_TIMEOUT_MS,\n maxRetries,\n fetch: options.fetch ?? globalThis.fetch.bind(globalThis),\n })\n}\n\nexport function resolveServiceBaseUrl(\n config: ModusConfig,\n service: string,\n generatedBaseUrl?: string | null,\n): string {\n return config.baseUrls[service] ?? generatedBaseUrl ?? config.baseUrl\n}\n\nexport function formatConfigForLog(config: ModusConfig): string {\n const masked = config.apiKey.length > 10 ? `${config.apiKey.slice(0, 10)}***` : '***'\n return `ModusConfig(apiKey=${JSON.stringify(masked)}, baseUrl=${JSON.stringify(config.baseUrl)}, timeoutMs=${config.timeoutMs}, maxRetries=${config.maxRetries})`\n}\n","import { authHeaders } from './_auth.js'\nimport type { ModusConfig } from './_config.js'\nimport {\n APIConnectionError,\n AuthenticationError,\n ConflictError,\n InternalServerError,\n ModusError,\n NotFoundError,\n PermissionDeniedError,\n RateLimitError,\n UnprocessableError,\n} from './_exceptions.js'\n\nconst USER_AGENT = `modus-typescript/${__SDK_VERSION__} (node/${process.version}; ${process.platform})`\n\ntype QueryValue = string | number | boolean | null | undefined | readonly (string | number)[]\ntype QueryParams = Record<string, QueryValue>\ntype RequestOptions = {\n baseUrl?: string\n headers?: Record<string, string>\n}\n\nfunction buildUrl(baseUrl: string, path: string, params?: QueryParams): string {\n const url = new URL(path.startsWith('/') ? path : `/${path}`, baseUrl)\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n if (value === undefined || value === null) continue\n if (Array.isArray(value)) {\n for (const item of value) url.searchParams.append(key, String(item))\n } else {\n url.searchParams.set(key, String(value))\n }\n }\n }\n return url.toString()\n}\n\nfunction headersToRecord(headers: Headers): Record<string, string> {\n const out: Record<string, string> = {}\n headers.forEach((value, key) => {\n out[key] = value\n })\n return out\n}\n\nfunction messageFromBody(raw: string, statusCode: number): string {\n if (!raw) return `HTTP ${statusCode}`\n try {\n const body = JSON.parse(raw) as unknown\n if (body && typeof body === 'object') {\n const record = body as Record<string, unknown>\n const envelope = record.error\n if (envelope && typeof envelope === 'object') {\n const msg = (envelope as Record<string, unknown>).message\n if (typeof msg === 'string' && msg) return msg\n }\n const msg = record.message ?? record.error\n if (Array.isArray(msg)) return msg.map(String).join('; ')\n if (typeof msg === 'string' && msg) return msg\n }\n } catch {\n // non-JSON body\n }\n return raw\n}\n\nfunction errorCodeFromBody(raw: string): string | undefined {\n try {\n const body = JSON.parse(raw) as { error?: { code?: string } }\n return typeof body.error?.code === 'string' ? body.error.code : undefined\n } catch {\n return undefined\n }\n}\n\nexport function raiseForStatus(response: Response, body: string): void {\n if (response.ok) return\n const message = messageFromBody(body, response.status)\n const requestId =\n response.headers.get('x-request-id') ?? response.headers.get('X-Request-ID') ?? undefined\n const headers = headersToRecord(response.headers)\n const code = errorCodeFromBody(body)\n const base = { requestId, responseHeaders: headers, body, code }\n\n switch (response.status) {\n case 401:\n throw new AuthenticationError(message, base)\n case 403:\n throw new PermissionDeniedError(message, base)\n case 404:\n throw new NotFoundError(message, base)\n case 409:\n throw new ConflictError(message, base)\n case 422: {\n let errors: unknown\n try {\n errors = JSON.parse(body)\n } catch {\n errors = undefined\n }\n throw new UnprocessableError(message, { ...base, errors })\n }\n case 429: {\n const retryHeader = response.headers.get('retry-after') ?? ''\n const retryAfter = /^\\d+$/.test(retryHeader) ? Number.parseInt(retryHeader, 10) : undefined\n throw new RateLimitError(message, { ...base, retryAfter })\n }\n default:\n if (response.status >= 500) {\n throw new InternalServerError(message, response.status, base)\n }\n throw new ModusError(message, { ...base, statusCode: response.status })\n }\n}\n\nfunction wrapNetworkError(error: unknown, baseUrl: string): APIConnectionError {\n const detail = error instanceof Error ? error.message : String(error)\n return new APIConnectionError(\n `Network error communicating with Modus API at ${JSON.stringify(baseUrl)}: ${detail}. ` +\n 'Check connectivity and that baseUrl is correct.',\n )\n}\n\nasync function readBody(response: Response): Promise<string> {\n return response.text()\n}\n\nexport class HttpClient {\n readonly config: ModusConfig\n\n constructor(config: ModusConfig) {\n this.config = config\n }\n\n private defaultHeaders(): Record<string, string> {\n return {\n ...authHeaders(this.config.apiKey),\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'User-Agent': USER_AGENT,\n }\n }\n\n private async request(\n method: string,\n path: string,\n options: { params?: QueryParams; json?: unknown } & RequestOptions = {},\n ): Promise<unknown> {\n const baseUrl = options.baseUrl ?? this.config.baseUrl\n const url = buildUrl(baseUrl, path, options.params)\n try {\n const response = await this.config.fetch(url, {\n method,\n headers: { ...this.defaultHeaders(), ...options.headers },\n body: options.json !== undefined ? JSON.stringify(options.json) : undefined,\n signal: AbortSignal.timeout(this.config.timeoutMs),\n })\n const body = await readBody(response)\n raiseForStatus(response, body)\n if (response.status === 204 || !body) return null\n return JSON.parse(body) as unknown\n } catch (error) {\n if (error instanceof ModusError) throw error\n if (error instanceof DOMException && error.name === 'AbortError') {\n throw wrapNetworkError(new Error('Request timed out'), baseUrl)\n }\n throw wrapNetworkError(error, baseUrl)\n }\n }\n\n get(path: string, params?: QueryParams, options: RequestOptions = {}): Promise<unknown> {\n return this.request('GET', path, { params, ...options })\n }\n\n post(path: string, json?: unknown, options: RequestOptions = {}): Promise<unknown> {\n return this.request('POST', path, { json, ...options })\n }\n\n patch(\n path: string,\n json?: unknown,\n params?: QueryParams,\n options: RequestOptions = {},\n ): Promise<unknown> {\n return this.request('PATCH', path, { json, params, ...options })\n }\n\n delete(path: string, options: RequestOptions = {}): Promise<unknown> {\n return this.request('DELETE', path, options)\n }\n\n private async *stream(\n method: 'GET' | 'POST',\n path: string,\n options: { json?: unknown; params?: QueryParams } & RequestOptions = {},\n ): AsyncGenerator<string> {\n const baseUrl = options.baseUrl ?? this.config.baseUrl\n const url = buildUrl(baseUrl, path, options.params)\n try {\n const response = await this.config.fetch(url, {\n method,\n headers: { ...this.defaultHeaders(), ...options.headers },\n body: options.json !== undefined ? JSON.stringify(options.json) : undefined,\n signal: AbortSignal.timeout(this.config.timeoutMs),\n })\n if (!response.ok) {\n const body = await readBody(response)\n raiseForStatus(response, body)\n return\n }\n if (!response.body) return\n const reader = response.body.getReader()\n const decoder = new TextDecoder()\n let buffer = ''\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n buffer += decoder.decode(value, { stream: true })\n const lines = buffer.split('\\n')\n buffer = lines.pop() ?? ''\n for (const line of lines) {\n if (line.trim()) yield line\n }\n }\n if (buffer.trim()) yield buffer\n } catch (error) {\n if (error instanceof ModusError) throw error\n if (error instanceof DOMException && error.name === 'AbortError') {\n throw wrapNetworkError(new Error('Request timed out'), baseUrl)\n }\n throw wrapNetworkError(error, baseUrl)\n }\n }\n\n streamGet(path: string, params?: QueryParams, options: RequestOptions = {}): AsyncGenerator<string> {\n return this.stream('GET', path, { params, ...options })\n }\n\n streamPost(path: string, json?: unknown, options: RequestOptions = {}): AsyncGenerator<string> {\n return this.stream('POST', path, { json, ...options })\n }\n}\n","import { createModusConfig, formatConfigForLog, type ModusOptions } from './_config.js'\nimport type { HttpClient } from './_http.js'\nimport { HttpClient as HttpClientImpl } from './_http.js'\n\n/**\n * Shared client wiring for Modus and ModusManagement.\n * Resources attach in Phase 5.\n */\nexport abstract class ModusClientBase {\n protected readonly _config: ReturnType<typeof createModusConfig>\n protected readonly _http: HttpClient\n\n constructor(options: ModusOptions = {}) {\n this._config = createModusConfig(options)\n this._http = new HttpClientImpl(this._config)\n }\n\n get config(): Readonly<typeof this._config> {\n return this._config\n }\n\n /** @internal */\n get http(): HttpClient {\n return this._http\n }\n\n toString(): string {\n return formatConfigForLog(this._config)\n }\n}\n","export function updateMaskQuery(\n updateMask?: string,\n): Record<string, string> | undefined {\n if (updateMask === undefined) return undefined\n if (!updateMask.trim()) {\n throw new Error('update_mask must be a non-empty comma-separated list of field names')\n }\n return { updateMask }\n}\n","import { ModusError } from './_exceptions.js'\n\nexport class Page<T> {\n readonly items: T[]\n readonly nextPageToken?: string\n private readonly fetchPage: (token: string) => Page<T> | Promise<Page<T>>\n\n constructor(\n items: T[],\n nextPageToken: string | undefined,\n fetchPage: (token: string) => Page<T> | Promise<Page<T>>,\n ) {\n this.items = items\n this.nextPageToken = normalizePageToken(nextPageToken)\n this.fetchPage = fetchPage\n }\n\n hasNextPage(): boolean {\n return this.nextPageToken !== undefined\n }\n\n async getNextPage(): Promise<Page<T>> {\n if (this.nextPageToken === undefined) {\n throw new Error(\n 'No next page available. Check hasNextPage() before calling getNextPage().',\n )\n }\n return this.fetchPage(this.nextPageToken)\n }\n\n async *autoPagingIter(): AsyncGenerator<T> {\n for (const item of this.items) yield item\n let nextPageToken = this.nextPageToken\n while (nextPageToken !== undefined) {\n const page = await this.fetchPage(nextPageToken)\n for (const item of page.items) yield item\n nextPageToken = page.nextPageToken\n }\n }\n\n [Symbol.iterator](): Iterator<T> {\n return this.items[Symbol.iterator]()\n }\n}\n\nexport function normalizePageToken(token?: string | null): string | undefined {\n if (token === undefined || token === null || !String(token).trim()) return undefined\n return token\n}\n\nexport function aipListParams(\n pageSize: number,\n pageToken?: string,\n extra: Record<string, unknown> = {},\n): Record<string, unknown> {\n const params: Record<string, unknown> = { pageSize, ...extra }\n const token = normalizePageToken(pageToken)\n if (token !== undefined) params.pageToken = token\n return params\n}\n\nexport function nextPageTokenFromResponse(data: Record<string, unknown>): string | undefined {\n return normalizePageToken(\n typeof data.nextPageToken === 'string' ? data.nextPageToken : undefined,\n )\n}\n\nexport function requireItemsList(data: Record<string, unknown>, itemsKey: string): unknown[] {\n const value = data[itemsKey]\n if (!Array.isArray(value)) {\n throw new ModusError(\n `Unexpected list response shape: ${itemsKey} must be a list, got ${typeof value}. This is likely a backend error.`,\n )\n }\n return value\n}\n\nexport function buildAipPage<T>(\n data: Record<string, unknown>,\n itemsKey: string,\n mapItem: (raw: unknown) => T,\n fetchPage: (token: string) => Page<T> | Promise<Page<T>>,\n): Page<T> {\n if (typeof data !== 'object' || data === null || !(itemsKey in data)) {\n throw new ModusError(\n `Unexpected list response shape: missing ${itemsKey}. Got: ${typeof data}. This is likely a backend error.`,\n )\n }\n const items = requireItemsList(data, itemsKey).map(mapItem)\n return new Page(items, nextPageTokenFromResponse(data), fetchPage)\n}\n","// Auto-generated operation registry. Do not edit by hand.\n\nexport type OperationMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'\n\nexport interface OperationSpec {\n method: OperationMethod\n path: string\n service: string\n serverUrl: string | null\n pathParams: readonly string[]\n queryParams: readonly string[]\n requestSchema: string | null\n responseSchema: string | null\n}\n\nexport const OPERATIONS = {\n \"ConnectionsController_list\": {\n method: \"GET\",\n path: \"/api/v1/connections\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"type\"],\n requestSchema: null,\n responseSchema: \"ListConnectionsResponseDto\",\n },\n \"ContextCreatorsController_createLink\": {\n method: \"POST\",\n path: \"/api/v1/context/links\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateLinkDto\",\n responseSchema: \"CreatedContextItemResponseDto\",\n },\n \"ContextCreatorsController_createNote\": {\n method: \"POST\",\n path: \"/api/v1/context/notes\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateNoteDto\",\n responseSchema: \"CreatedContextItemResponseDto\",\n },\n \"ContextCreatorsController_createSavedQuery\": {\n method: \"POST\",\n path: \"/api/v1/context/saved-queries\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateSavedQueryDto\",\n responseSchema: \"CreatedContextItemResponseDto\",\n },\n \"ContextItemsController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/context/items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"DeleteContextItemResponseDto\",\n },\n \"ContextItemsController_get\": {\n method: \"GET\",\n path: \"/api/v1/context/items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"ContextItemDto\",\n },\n \"ContextItemsController_list\": {\n method: \"GET\",\n path: \"/api/v1/context/items\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"contextTypes\",\"verificationStatuses\",\"searchQuery\",\"topics\"],\n requestSchema: null,\n responseSchema: \"ListContextItemsResponseDto\",\n },\n \"ContextItemsController_listValues\": {\n method: \"GET\",\n path: \"/api/v1/context/items/{uid}/values\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"uid\"],\n queryParams: [\"contextType\",\"contentKeyPath\",\"pageSize\",\"offset\",\"pageToken\",\"searchQuery\",\"dataPathPrefix\"],\n requestSchema: null,\n responseSchema: \"ListContextItemValuesResponseDto\",\n },\n \"ContextItemsController_lookup\": {\n method: \"POST\",\n path: \"/api/v1/context/items/lookup\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"LookupContextItemDto\",\n responseSchema: \"LookupContextItemResponseDto\",\n },\n \"ContextItemsController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/context/items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"uid\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateContextItemDto\",\n responseSchema: null,\n },\n \"CustomContextItemsController_batchCreate\": {\n method: \"POST\",\n path: \"/api/v1/context/custom-items/batch\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"BatchCreateCustomContextItemsDto\",\n responseSchema: \"BatchCreateCustomContextItemsResponseDto\",\n },\n \"CustomContextItemsController_create\": {\n method: \"POST\",\n path: \"/api/v1/context/custom-items\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateCustomContextItemDto\",\n responseSchema: \"CreatedCustomContextItemResponseDto\",\n },\n \"CustomContextItemsController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/context/custom-items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"DeleteContextItemResponseDto\",\n },\n \"CustomContextItemsController_get\": {\n method: \"GET\",\n path: \"/api/v1/context/custom-items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"ContextItemDto\",\n },\n \"CustomContextItemsController_list\": {\n method: \"GET\",\n path: \"/api/v1/context/custom-items\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"contextTypes\",\"verificationStatuses\",\"searchQuery\",\"topics\"],\n requestSchema: null,\n responseSchema: \"ListCustomContextItemsResponseDto\",\n },\n \"CustomContextItemsController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/context/custom-items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: \"UpdateCustomContextItemDto\",\n responseSchema: null,\n },\n \"EvaluationsController_getConfig\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/evaluations/config\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"EvaluationConfigDto\",\n },\n \"EvaluationsController_getRun\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/evaluations/runs/{runId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\",\"runId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"EvaluationRunWithResultsDto\",\n },\n \"EvaluationsController_listRuns\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/evaluations/runs\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListEvaluationRunsResponseDto\",\n },\n \"EvaluationsController_triggerRun\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/evaluations/runs\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"TriggerEvaluationRunResponseDto\",\n },\n \"EvaluationsController_updateConfig\": {\n method: \"PUT\",\n path: \"/api/v1/scopes/{id}/evaluations/config\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"UpdateEvaluationConfigDto\",\n responseSchema: \"EvaluationConfigDto\",\n },\n \"MemberGroupsController_list\": {\n method: \"GET\",\n path: \"/api/v1/users/member-groups\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListMemberGroupsResponseDto\",\n },\n \"ModusChatController_chat\": {\n method: \"POST\",\n path: \"/api/v1/modus/chat\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"ModusChatRequestDto\",\n responseSchema: \"ModusChatResponseDto\",\n },\n \"ModusChatController_chatContinue\": {\n method: \"POST\",\n path: \"/api/v1/modus/conversations/{threadId}/chat\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"threadId\"],\n queryParams: [],\n requestSchema: \"ModusChatRequestDto\",\n responseSchema: \"ModusChatResponseDto\",\n },\n \"ModusContextController_compose\": {\n method: \"POST\",\n path: \"/api/v1/modus/context\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"ModusContextRequestDto\",\n responseSchema: \"ModusContextResponseDto\",\n },\n \"ModusConversationsController_get\": {\n method: \"GET\",\n path: \"/api/v1/modus/conversations/{threadId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"threadId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"ConversationDto\",\n },\n \"ModusConversationsController_list\": {\n method: \"GET\",\n path: \"/api/v1/modus/conversations\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"page\",\"pageSize\",\"userId\",\"toolName\",\"timeframe\",\"includeTools\",\"kind\"],\n requestSchema: null,\n responseSchema: \"ListConversationsResponseDto\",\n },\n \"ModusRunsController_create\": {\n method: \"POST\",\n path: \"/agent/v1/modus/runs\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"ModusRunDto\",\n responseSchema: null,\n },\n \"OrgMembersController_list\": {\n method: \"GET\",\n path: \"/api/v1/users/org-members\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListOrgMembersResponseDto\",\n },\n \"OrganizationController_deleteOrganization\": {\n method: \"DELETE\",\n path: \"/api/v1/users/organization\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"ResumeRunsController_create\": {\n method: \"POST\",\n path: \"/agent/v1/runs/{runId}/resume\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"ResumeRunDto\",\n responseSchema: null,\n },\n \"RunLifecycleController_active\": {\n method: \"GET\",\n path: \"/agent/v1/runs/active\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\"],\n requestSchema: null,\n responseSchema: \"ActiveRunsResponseDto\",\n },\n \"RunLifecycleController_activeBySession\": {\n method: \"POST\",\n path: \"/agent/v1/runs/active-by-session\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"ActiveRunsBySessionDto\",\n responseSchema: \"ActiveRunsBySessionResponseDto\",\n },\n \"RunLifecycleController_cancel\": {\n method: \"POST\",\n path: \"/agent/v1/runs/{runId}/cancel\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"CancelRunDto\",\n responseSchema: null,\n },\n \"RunLifecycleController_editQueued\": {\n method: \"POST\",\n path: \"/agent/v1/runs/{runId}/queue-edit\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"EditQueuedRunDto\",\n responseSchema: null,\n },\n \"RunLifecycleController_events\": {\n method: \"GET\",\n path: \"/agent/v1/runs/{runId}/events\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"RunLifecycleController_interrupt\": {\n method: \"POST\",\n path: \"/agent/v1/runs/{runId}/interrupt\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"InterruptRunDto\",\n responseSchema: null,\n },\n \"RunLifecycleController_stream\": {\n method: \"GET\",\n path: \"/agent/v1/runs/{runId}/stream\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"ScopeChatController_chat\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/chat\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SkillChatRequestDto\",\n responseSchema: \"SkillChatResponseDto\",\n },\n \"ScopeChatController_chatContinue\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/conversations/{threadId}/chat\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\",\"threadId\"],\n queryParams: [],\n requestSchema: \"SkillChatRequestDto\",\n responseSchema: \"SkillChatResponseDto\",\n },\n \"ScopeContextController_compose\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/context\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"ComposeSkillContextRequestDto\",\n responseSchema: \"ComposeSkillContextResponseDto\",\n },\n \"ScopeConversationsController_get\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/conversations/{threadId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\",\"threadId\"],\n queryParams: [\"messageLimit\",\"beforeMessageIndex\"],\n requestSchema: null,\n responseSchema: \"ConversationDto\",\n },\n \"ScopeConversationsController_list\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/conversations\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"pageToken\",\"page\",\"pageSize\",\"userId\",\"toolName\",\"timeframe\",\"includeTools\"],\n requestSchema: null,\n responseSchema: \"ListConversationsResponseDto\",\n },\n \"ScopeMemoriesController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/scopes/{id}/memories/{memoryId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\",\"memoryId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"ScopeMemoriesController_list\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/memories\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"pageToken\",\"pageSize\",\"userId\",\"limit\"],\n requestSchema: null,\n responseSchema: \"ListMemoriesResponseDto\",\n },\n \"ScopeMemoriesController_search\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/memories/search\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SearchMemoriesRequestDto\",\n responseSchema: \"ListMemoriesResponseDto\",\n },\n \"ScopeMemoriesController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/scopes/{id}/memories/{memoryId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\",\"memoryId\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateMemoryRequestDto\",\n responseSchema: null,\n },\n \"ScopeRunsController_create\": {\n method: \"POST\",\n path: \"/agent/v1/scopes/{id}/runs\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SkillRunDto\",\n responseSchema: null,\n },\n \"ScopeSupervisionController_get\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/supervision\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"view\"],\n requestSchema: null,\n responseSchema: \"SupervisionDto\",\n },\n \"ScopeSupervisionController_set\": {\n method: \"PUT\",\n path: \"/api/v1/scopes/{id}/supervision\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SetSupervisionRequestDto\",\n responseSchema: \"SupervisionDto\",\n },\n \"ScopeSupervisionController_setActive\": {\n method: \"PUT\",\n path: \"/api/v1/scopes/{id}/supervision/active\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SetSupervisionRequestDto\",\n responseSchema: \"SupervisionDto\",\n },\n \"ScopesController_acceptOwnershipTransfer\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/transfer-ownership/accept\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_cancelOwnershipTransfer\": {\n method: \"DELETE\",\n path: \"/api/v1/scopes/{id}/transfer-ownership\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_create\": {\n method: \"POST\",\n path: \"/api/v1/scopes\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateSkillDto\",\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/scopes/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"ScopesController_deploy\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/deploy\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"DeploySkillDto\",\n responseSchema: \"DeployResponseDto\",\n },\n \"ScopesController_get\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"view\"],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_getVariation\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/variations/{variationUid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\",\"variationUid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_list\": {\n method: \"GET\",\n path: \"/api/v1/scopes\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"view\",\"search\",\"managerId\",\"includeVariation\"],\n requestSchema: null,\n responseSchema: \"ListSkillsResponseDto\",\n },\n \"ScopesController_patchMcpConfig\": {\n method: \"PATCH\",\n path: \"/api/v1/scopes/{id}/mcp-config\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"PatchSkillMcpConfigDto\",\n responseSchema: \"PatchSkillMcpConfigResponseDto\",\n },\n \"ScopesController_requestOwnershipTransfer\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/transfer-ownership\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"TransferOwnershipDto\",\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_restore\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/restore\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/scopes/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateSkillDto\",\n responseSchema: \"SkillDto\",\n },\n \"SuggestionsController_listApproved\": {\n method: \"GET\",\n path: \"/api/v1/suggestions/questions\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"skill_id\",\"skill_ids\"],\n requestSchema: null,\n responseSchema: \"ListSuggestionQuestionsResponseDto\",\n },\n \"SuggestionsController_recordEvent\": {\n method: \"POST\",\n path: \"/api/v1/suggestions/questions/{id}/events\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"RecordSuggestionEventDto\",\n responseSchema: null,\n },\n \"UsageController_list\": {\n method: \"GET\",\n path: \"/api/v1/usage\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"since\",\"until\",\"rollup\",\"model\",\"group_by\",\"skill_id\",\"agent_id\",\"user_id\",\"interface\"],\n requestSchema: null,\n responseSchema: \"ListUsageResponseDto\",\n },\n \"WorkflowActionsController_cancel\": {\n method: \"POST\",\n path: \"/agent/v1/workflow-actions/{runId}/cancel\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"CancelRunDto\",\n responseSchema: null,\n },\n \"WorkflowActionsController_execute\": {\n method: \"POST\",\n path: \"/agent/v1/workflow-actions\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"WorkflowActionDto\",\n responseSchema: null,\n },\n \"WorkflowInterfacesController_add\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/interfaces\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"AddAgentInterfaceDto\",\n responseSchema: \"AgentInterfaceDto\",\n },\n \"WorkflowInterfacesController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/workflows/{id}/interfaces/{interfaceId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\",\"interfaceId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"WorkflowInterfacesController_deleteAll\": {\n method: \"DELETE\",\n path: \"/api/v1/workflows/{id}/interfaces\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"WorkflowInterfacesController_list\": {\n method: \"GET\",\n path: \"/api/v1/workflows/{id}/interfaces\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListAgentInterfacesResponseDto\",\n },\n \"WorkflowInterfacesController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/workflows/{id}/interfaces/{interfaceId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\",\"interfaceId\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateAgentInterfaceDto\",\n responseSchema: \"AgentInterfaceDto\",\n },\n \"WorkflowRunsController_create\": {\n method: \"POST\",\n path: \"/agent/v1/workflows/{id}/runs\",\n service: \"agent-service\",\n serverUrl: \"https://agent.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"AgentRunDto\",\n responseSchema: null,\n },\n \"WorkflowRunsController_get\": {\n method: \"GET\",\n path: \"/api/v1/workflows/{id}/runs/{runId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\",\"runId\"],\n queryParams: [\"temporalRunId\"],\n requestSchema: null,\n responseSchema: \"GetAutomationRunResponseDto\",\n },\n \"WorkflowRunsController_list\": {\n method: \"GET\",\n path: \"/api/v1/workflows/{id}/runs\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"status\",\"timeframe\",\"approvalScope\",\"search\",\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListAutomationRunsResponseDto\",\n },\n \"WorkflowsController_acceptOwnershipTransfer\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/transfer-ownership/accept\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_cancelOwnershipTransfer\": {\n method: \"DELETE\",\n path: \"/api/v1/workflows/{id}/transfer-ownership\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_create\": {\n method: \"POST\",\n path: \"/api/v1/workflows\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateAgentDto\",\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/workflows/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"WorkflowsController_deploy\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/deploy\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"DeployAgentDto\",\n responseSchema: \"AgentDeployResponseDto\",\n },\n \"WorkflowsController_get\": {\n method: \"GET\",\n path: \"/api/v1/workflows/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"view\"],\n requestSchema: null,\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_list\": {\n method: \"GET\",\n path: \"/api/v1/workflows\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"view\",\"type\",\"search\",\"includeVariation\"],\n requestSchema: null,\n responseSchema: \"ListAgentsResponseDto\",\n },\n \"WorkflowsController_requestOwnershipTransfer\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/transfer-ownership\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"TransferOwnershipDto\",\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_restore\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/restore\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_toggle\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/toggle\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"ToggleAgentDto\",\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/workflows/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.modus.com\",\n pathParams: [\"id\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateAgentDto\",\n responseSchema: \"AgentDto\",\n },\n} as const satisfies Record<string, OperationSpec>\n\nexport type OperationId = keyof typeof OPERATIONS\n","import { resolveServiceBaseUrl } from './_config.js'\nimport { OPERATIONS, type OperationId, type OperationSpec } from './_generated/operations.js'\nimport type { HttpClient } from './_http.js'\n\nexport function getOperation(operationId: string): OperationSpec {\n if (!(operationId in OPERATIONS)) {\n throw new Error(\n `Unknown API operation ${JSON.stringify(operationId)}. Upgrade @getmodus/sdk or report a version mismatch.`,\n )\n }\n return OPERATIONS[operationId as OperationId]\n}\n\nfunction formatPath(template: string, pathParams: Record<string, unknown>): string {\n return template\n .split('/')\n .map((segment) => {\n if (!segment.startsWith('{') || !segment.endsWith('}')) return segment\n const key = segment.slice(1, -1)\n if (!(key in pathParams)) {\n throw new Error(`Missing path parameter ${JSON.stringify(key)} for ${JSON.stringify(template)}`)\n }\n return encodeURIComponent(String(pathParams[key]))\n })\n .join('/')\n}\n\nexport function operationBaseUrl(http: HttpClient, operation: OperationSpec): string {\n return resolveServiceBaseUrl(http.config, operation.service, operation.serverUrl)\n}\n\nexport function formatOperationPath(\n operationId: OperationId,\n pathParams: Record<string, unknown> = {},\n): string {\n return formatPath(getOperation(operationId).path, pathParams)\n}\n\ntype QueryValue =\n | string\n | number\n | boolean\n | null\n | undefined\n | readonly (string | number)[]\n\nexport async function invokeOperation(\n http: HttpClient,\n operationId: OperationId,\n options: {\n pathParams?: Record<string, unknown>\n query?: Record<string, QueryValue>\n jsonBody?: unknown\n headers?: Record<string, string>\n } = {},\n): Promise<unknown> {\n const op = getOperation(operationId)\n const path = formatPath(op.path, options.pathParams ?? {})\n const params = options.query\n const requestOptions = {\n baseUrl: operationBaseUrl(http, op),\n headers: options.headers,\n }\n\n switch (op.method) {\n case 'GET':\n return http.get(path, params, requestOptions)\n case 'POST':\n return http.post(path, options.jsonBody, requestOptions)\n case 'PATCH':\n return http.patch(path, options.jsonBody, params, requestOptions)\n case 'DELETE':\n return http.delete(path, requestOptions)\n default:\n throw new Error(`Unsupported HTTP method ${JSON.stringify(op.method)}`)\n }\n}\n","import {\n APIConnectionError,\n InternalServerError,\n NotFoundError,\n RateLimitError,\n} from './_exceptions.js'\n\nconst DEPLOY_NOT_FOUND_BACKOFF_MS = 500\nconst MAX_DEPLOY_NOT_FOUND_RETRIES = 1\n\nexport interface WithRetryOptions {\n /** Read-after-write on deploy; one short retry on 404. */\n retryNotFoundOnDeploy?: boolean\n}\n\nconst RETRYABLE = [RateLimitError, InternalServerError, APIConnectionError] as const\n\nfunction isRetryable(error: unknown): error is InstanceType<(typeof RETRYABLE)[number]> {\n return RETRYABLE.some((Cls) => error instanceof Cls)\n}\n\nfunction backoffSeconds(attempt: number, error: unknown): number {\n if (error instanceof RateLimitError && error.retryAfter !== undefined) {\n return Math.max(0, error.retryAfter)\n }\n if (attempt === 0) return 0\n return Math.max(0.5, 2 ** (attempt - 1) + (Math.random() * 0.6 - 0.3))\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\nexport async function withRetry<T>(\n fn: () => Promise<T>,\n maxRetries: number,\n options: WithRetryOptions = {},\n): Promise<T> {\n let deployNotFoundRetries = 0\n let attempt = 0\n while (true) {\n try {\n return await fn()\n } catch (error) {\n if (\n options.retryNotFoundOnDeploy &&\n error instanceof NotFoundError &&\n deployNotFoundRetries < MAX_DEPLOY_NOT_FOUND_RETRIES\n ) {\n deployNotFoundRetries++\n await sleep(DEPLOY_NOT_FOUND_BACKOFF_MS)\n continue\n }\n if (!isRetryable(error) || attempt >= maxRetries) throw error\n await sleep(backoffSeconds(attempt, error) * 1000)\n attempt++\n }\n }\n}\n","/** Generated by emit-openapi-write-body-keys.mjs — do not edit. */\nimport type { OperationId } from './operations.js'\n\nexport const WRITE_BODY_ALLOWED_KEYS: Partial<Record<OperationId, readonly string[]>> = {\n ContextCreatorsController_createLink: [\"url\", \"title\", \"isCrawl\", \"pageLimit\"],\n ContextCreatorsController_createNote: [\"title\", \"content\"],\n ContextCreatorsController_createSavedQuery: [\"name\", \"connectionId\", \"query\", \"description\", \"path\"],\n ContextItemsController_lookup: [\"contextType\", \"dataPath\", \"contentProjection\"],\n ContextItemsController_update: [\"contextType\", \"content\", \"description\", \"userFeedback\", \"topics\"],\n CustomContextItemsController_batchCreate: [\"items\"],\n CustomContextItemsController_create: [\"kind\", \"sourceId\", \"sourceName\", \"collectionId\", \"collectionName\", \"externalId\", \"fieldName\", \"name\", \"entityType\", \"description\", \"content\", \"url\", \"attributes\", \"dataType\", \"value\", \"samples\", \"raw\", \"topics\", \"idempotencyKey\", \"access\"],\n CustomContextItemsController_update: [\"name\", \"entityType\", \"description\", \"content\", \"url\", \"attributes\", \"dataType\", \"value\", \"samples\", \"raw\", \"topics\"],\n EvaluationsController_updateConfig: [\"enabled\", \"cadence\", \"judgeModel\", \"judgeGuidance\", \"notifications\"],\n ModusChatController_chat: [\"message\", \"model\"],\n ModusContextController_compose: [\"message\", \"limit\"],\n ModusRunsController_create: [\"message\", \"sessionId\", \"organizationId\", \"version\", \"fileThreadId\", \"config\", \"attachments\", \"userContext\", \"source\", \"runId\", \"subordinateSkillIds\"],\n ResumeRunsController_create: [\"message\", \"sessionId\", \"organizationId\", \"version\", \"fileThreadId\", \"config\", \"attachments\", \"userContext\", \"source\", \"runId\", \"decision\"],\n RunLifecycleController_activeBySession: [\"sessionIds\"],\n RunLifecycleController_cancel: [],\n RunLifecycleController_editQueued: [],\n RunLifecycleController_interrupt: [],\n ScopeChatController_chat: [\"message\", \"model\"],\n ScopeContextController_compose: [\"message\", \"limit\"],\n ScopeMemoriesController_search: [\"query\", \"userId\", \"limit\"],\n ScopeMemoriesController_update: [\"memory\", \"metadata\"],\n ScopeRunsController_create: [\"message\", \"sessionId\", \"organizationId\", \"version\", \"fileThreadId\", \"config\", \"attachments\", \"userContext\", \"source\", \"runId\", \"subordinateSkillIds\"],\n ScopesController_acceptOwnershipTransfer: [],\n ScopesController_create: [\"name\", \"description\", \"expectedOutput\", \"instructions\", \"toolset\", \"model\", \"connectionSet\", \"contextSelections\", \"interfaces\", \"accessConfig\"],\n ScopesController_deploy: [],\n ScopesController_patchMcpConfig: [\"config\"],\n ScopesController_requestOwnershipTransfer: [\"newOwnerUserId\"],\n ScopesController_restore: [],\n ScopesController_update: [\"name\", \"description\", \"expectedOutput\", \"instructions\", \"toolset\", \"model\", \"connectionSet\", \"contextSelections\", \"interfaces\", \"accessConfig\", \"managerId\", \"evaluations\", \"supervisionSubordinateDescriptions\"],\n ScopeSupervisionController_set: [\"subordinateAgentIds\"],\n ScopeSupervisionController_setActive: [\"subordinateAgentIds\"],\n SuggestionsController_recordEvent: [\"event_type\", \"source\", \"skill_id\", \"thread_id\", \"metadata\"],\n WorkflowActionsController_cancel: [],\n WorkflowActionsController_execute: [\"organizationId\", \"sessionId\", \"fileThreadId\", \"workflowAction\", \"previousOutputs\", \"userTimezone\", \"runId\", \"automationId\", \"source\"],\n WorkflowInterfacesController_add: [\"type\", \"name\", \"config\"],\n WorkflowInterfacesController_update: [\"name\", \"config\"],\n WorkflowRunsController_create: [\"message\", \"sessionId\", \"organizationId\", \"version\", \"fileThreadId\", \"config\", \"attachments\", \"userContext\", \"source\", \"runId\"],\n WorkflowsController_acceptOwnershipTransfer: [],\n WorkflowsController_create: [\"name\", \"type\", \"description\", \"trigger\", \"agentSelection\", \"workflowStructure\", \"accessConfig\"],\n WorkflowsController_deploy: [],\n WorkflowsController_requestOwnershipTransfer: [\"newOwnerUserId\"],\n WorkflowsController_restore: [],\n WorkflowsController_toggle: [\"active\"],\n WorkflowsController_update: [\"name\", \"type\", \"description\", \"trigger\", \"agentSelection\", \"workflowStructure\", \"accessConfig\"],\n}\n","import type { OperationId } from './_generated/operations.js'\nimport { WRITE_BODY_ALLOWED_KEYS } from './_generated/write-body-keys.js'\nimport { ValidationError } from './_exceptions.js'\n\nexport const DEFAULT_MAX_PAGE_SIZE = 200\n\nexport function validatePageSize(pageSize: number, maxPageSize?: number): void {\n if (!Number.isInteger(pageSize) || pageSize < 1) {\n throw new Error(`page_size must be a positive int, got ${pageSize}`)\n }\n if (maxPageSize !== undefined && pageSize > maxPageSize) {\n throw new Error(`page_size must be <= ${maxPageSize}, got ${pageSize}`)\n }\n}\n\nexport function validateId(resourceId: number | string, name = 'id'): void {\n if (typeof resourceId === 'string' && !resourceId.trim()) {\n throw new Error(`${name} must be a non-empty string or int`)\n }\n}\n\n// Keep in sync with SkillChatRequestDto.model in the public API contract.\nconst ALLOWED_CHAT_MODELS = new Set([\n 'claude-sonnet-5',\n 'claude-sonnet-4.6',\n 'claude-opus-4.8',\n 'gpt-5.2',\n 'gpt-5.5',\n 'gpt-5-mini',\n 'gpt-oss-120b',\n 'gpt-oss-20b',\n 'qwen3-235b-a22b-2507',\n 'qwen3-coder',\n 'qwen3-32b',\n 'deepseek-chat-v3.1',\n 'minimax-m2.7',\n 'llama-4-maverick',\n 'llama-4-scout',\n 'llama-3.3-70b-instruct',\n 'gemini-3.1-pro-preview',\n 'gemini-3-flash-preview',\n 'grok-4.3-fast',\n 'grok-4.3',\n])\n\nexport function validateChatModel(model: string): void {\n if (!ALLOWED_CHAT_MODELS.has(model)) {\n const supported = [...ALLOWED_CHAT_MODELS].sort().join(', ')\n throw new Error(`Unsupported model ${JSON.stringify(model)}. Choose one of: ${supported}.`)\n }\n}\n\nexport function assertWriteBodyKeys(operationId: OperationId, body: unknown): void {\n const allowed = WRITE_BODY_ALLOWED_KEYS[operationId]\n if (allowed === undefined) return\n if (body === undefined || body === null) return\n if (typeof body !== 'object' || Array.isArray(body)) {\n throw new ValidationError(`Request body must be a plain object for ${operationId}`)\n }\n const allowedSet = new Set(allowed)\n const extra = Object.keys(body as Record<string, unknown>).filter((k) => !allowedSet.has(k))\n if (extra.length > 0) {\n throw new ValidationError(\n `${operationId}: disallowed request body field(s): ${extra.sort().join(', ')}`,\n )\n }\n}\n","import type { ModusConfig } from './_config.js'\nimport type { OperationId } from './_generated/operations.js'\nimport type { HttpClient } from './_http.js'\nimport { invokeOperation } from './_openapi-invoke.js'\nimport { withRetry } from './_retry.js'\nimport { assertWriteBodyKeys } from './_validation.js'\n\nexport async function invokeWithRetry(\n config: ModusConfig,\n http: HttpClient,\n operationId: OperationId,\n options: {\n pathParams?: Record<string, unknown>\n query?: Record<string, string | number | boolean | readonly (string | number)[] | undefined | null>\n jsonBody?: unknown\n headers?: Record<string, string>\n } = {},\n): Promise<unknown> {\n if (options.jsonBody !== undefined) {\n assertWriteBodyKeys(operationId, options.jsonBody)\n }\n return withRetry(() => invokeOperation(http, operationId, options), config.maxRetries, {\n retryNotFoundOnDeploy: operationId.endsWith('_deploy'),\n })\n}\n\nexport function omitUndefined<T extends Record<string, unknown>>(obj: T): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(obj).filter((entry): entry is [string, unknown] => entry[1] !== undefined),\n )\n}\n\nexport function asRecord(data: unknown): Record<string, unknown> {\n if (typeof data === 'object' && data !== null && !Array.isArray(data)) {\n return data as Record<string, unknown>\n }\n throw new Error(`Expected object response, got ${typeof data}`)\n}\n","const EVERYONE_GROUP_ID = '__everyone__'\n\nexport function accessConfigWireForCreate(guardrails: string[]): Record<string, unknown> {\n return {\n visibility: 'shared',\n groupPermissions: { [EVERYONE_GROUP_ID]: { use: true, manage: true } },\n guardrails,\n sharedWith: [],\n }\n}\n\nexport function accessConfigWireForUpdate(\n existing: Record<string, unknown> | undefined,\n guardrails: string[],\n): Record<string, unknown> {\n if (!existing || Object.keys(existing).length === 0) {\n return accessConfigWireForCreate(guardrails)\n }\n return { ...existing, guardrails }\n}\n\nexport function accessFromSkillResponse(raw: Record<string, unknown>): Record<string, unknown> {\n const value = raw.accessConfig ?? raw.access_config\n if (value && typeof value === 'object' && !Array.isArray(value)) {\n return value as Record<string, unknown>\n }\n return {}\n}\n\nexport function accessConfigBodyForCreate(\n guardrails?: string[],\n): Record<string, unknown> | undefined {\n if (guardrails === undefined) return undefined\n return accessConfigWireForCreate(guardrails)\n}\n\nexport async function accessConfigBodyForUpdate(\n guardrails: string[] | undefined,\n loadResource: () => Promise<Record<string, unknown>>,\n): Promise<Record<string, unknown> | undefined> {\n if (guardrails === undefined) return undefined\n const existing = accessFromSkillResponse(await loadResource())\n return accessConfigWireForUpdate(existing, guardrails)\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId } from '../../_validation.js'\nimport type { components } from '../../_generated/v1.js'\n\nexport type AgentInterface = components['schemas']['AgentInterfaceDto']\nexport type AddAgentInterface = components['schemas']['AddAgentInterfaceDto']\nexport type UpdateAgentInterface = components['schemas']['UpdateAgentInterfaceDto']\n\nexport class WorkflowInterfacesResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly workflowId: number | string,\n ) {}\n\n async list(): Promise<AgentInterface[]> {\n validateId(this.workflowId, 'workflow_id')\n const data = await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_list', {\n pathParams: { id: this.workflowId },\n }) as { interfaces: AgentInterface[] }\n return data.interfaces\n }\n\n async create(options: AddAgentInterface): Promise<AgentInterface> {\n validateId(this.workflowId, 'workflow_id')\n return await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_add', {\n pathParams: { id: this.workflowId },\n jsonBody: omitUndefined(options),\n }) as AgentInterface\n }\n\n async update(interfaceId: string, options: UpdateAgentInterface, updateMask?: string): Promise<AgentInterface> {\n validateId(this.workflowId, 'workflow_id')\n validateId(interfaceId, 'interface_id')\n return await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_update', {\n pathParams: { id: this.workflowId, interfaceId },\n query: updateMaskQuery(updateMask),\n jsonBody: updateMask === undefined ? omitUndefined(options) : options,\n }) as AgentInterface\n }\n\n async delete(interfaceId: string): Promise<void> {\n validateId(this.workflowId, 'workflow_id')\n validateId(interfaceId, 'interface_id')\n await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_delete', {\n pathParams: { id: this.workflowId, interfaceId },\n })\n }\n\n async deleteAll(): Promise<void> {\n validateId(this.workflowId, 'workflow_id')\n await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_deleteAll', {\n pathParams: { id: this.workflowId },\n })\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { OperationId } from '../../_generated/operations.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport type { Agent, AgentType } from '../../types/agents.js'\nimport type { VariationView } from '../../types/views.js'\nimport {\n accessConfigBodyForCreate,\n accessConfigBodyForUpdate,\n} from '../_access-config.js'\nimport { WorkflowInterfacesResource } from './interfaces.js'\n\nexport type TriggerInput = Record<string, unknown>\nexport type AgentSelectionInput = Record<string, unknown>\nexport type WorkflowGraphInput = Record<string, unknown>\n\n/** The canonical `/api/v1/workflows` management operationIds. */\ninterface ManagementWorkflowsOperations {\n readonly list: OperationId\n readonly get: OperationId\n readonly create: OperationId\n readonly update: OperationId\n readonly deploy: OperationId\n readonly delete: OperationId\n readonly restore: OperationId\n readonly requestOwnershipTransfer: OperationId\n readonly cancelOwnershipTransfer: OperationId\n readonly acceptOwnershipTransfer: OperationId\n readonly toggle: OperationId\n}\n\nconst MANAGEMENT_WORKFLOW_OPERATIONS: ManagementWorkflowsOperations = {\n list: 'WorkflowsController_list',\n get: 'WorkflowsController_get',\n create: 'WorkflowsController_create',\n update: 'WorkflowsController_update',\n deploy: 'WorkflowsController_deploy',\n delete: 'WorkflowsController_delete',\n restore: 'WorkflowsController_restore',\n requestOwnershipTransfer: 'WorkflowsController_requestOwnershipTransfer',\n cancelOwnershipTransfer: 'WorkflowsController_cancelOwnershipTransfer',\n acceptOwnershipTransfer: 'WorkflowsController_acceptOwnershipTransfer',\n toggle: 'WorkflowsController_toggle',\n}\n\nfunction workflowsListParams(\n pageSize: number,\n pageToken: string | undefined,\n search?: string,\n type?: AgentType,\n view?: VariationView,\n includeVariation?: boolean,\n): Record<string, string | number | boolean | undefined | null> {\n const extra: Record<string, string | number | boolean | undefined | null> = {}\n if (search !== undefined) extra.search = search\n if (type !== undefined) extra.type = type\n if (view !== undefined) extra.view = view\n if (includeVariation !== undefined) extra.includeVariation = includeVariation\n return aipListParams(pageSize, pageToken, extra) as Record<\n string,\n string | number | boolean | undefined | null\n >\n}\n\nfunction parseWorkflow(raw: unknown): Agent {\n return raw as Agent\n}\n\nexport interface CreateAgentOptions {\n name: string\n type: AgentType\n description?: string\n trigger?: TriggerInput\n agentSelection?: AgentSelectionInput\n workflowStructure?: WorkflowGraphInput\n guardrails?: string[]\n}\n\nexport interface UpdateAgentOptions {\n name?: string\n type?: AgentType\n description?: string\n trigger?: TriggerInput\n agentSelection?: AgentSelectionInput\n workflowStructure?: WorkflowGraphInput\n guardrails?: string[]\n updateMask?: string\n}\n\nexport class ManagementWorkflowsResource {\n protected readonly ops: ManagementWorkflowsOperations = MANAGEMENT_WORKFLOW_OPERATIONS\n\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n list(options: {\n pageSize?: number\n pageToken?: string\n search?: string\n type?: AgentType\n view?: VariationView\n includeVariation?: boolean\n } = {}): Promise<Page<Agent>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(\n pageSize,\n options.pageToken,\n options.search,\n options.type,\n options.view,\n options.includeVariation,\n )\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n search?: string,\n type?: AgentType,\n view?: VariationView,\n includeVariation?: boolean,\n ): Promise<Page<Agent>> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.list, {\n query: workflowsListParams(pageSize, pageToken, search, type, view, includeVariation),\n }),\n )\n // Envelope key is the server DTO property name (`agents`) — unchanged by\n // the rename, which only moved paths/opIds/tags to the workflows vocab.\n return buildAipPage(data, 'agents', parseWorkflow, (token) =>\n this.listPage(pageSize, token, search, type, view, includeVariation),\n )\n }\n\n async get(workflowId: number | string, options: { view?: VariationView } = {}): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const query = options.view !== undefined ? { view: options.view } : undefined\n const data = await invokeWithRetry(this.config, this.http, this.ops.get, {\n pathParams: { id: workflowId },\n query,\n })\n return parseWorkflow(data)\n }\n\n interfaces(workflowId: number | string): WorkflowInterfacesResource {\n return new WorkflowInterfacesResource(this.http, this.config, workflowId)\n }\n\n async create(options: CreateAgentOptions): Promise<Agent> {\n const body = omitUndefined({\n name: options.name,\n type: options.type,\n description: options.description,\n trigger: options.trigger,\n agentSelection: options.agentSelection,\n workflowStructure: options.workflowStructure,\n accessConfig: accessConfigBodyForCreate(options.guardrails),\n })\n const data = await invokeWithRetry(this.config, this.http, this.ops.create, {\n jsonBody: body,\n })\n return parseWorkflow(data)\n }\n\n async update(workflowId: number | string, options: UpdateAgentOptions = {}): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const accessConfig = await accessConfigBodyForUpdate(options.guardrails, async () =>\n asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.get, {\n pathParams: { id: workflowId },\n }),\n ),\n )\n const fields = {\n name: options.name,\n type: options.type,\n description: options.description,\n trigger: options.trigger,\n agentSelection: options.agentSelection,\n workflowStructure: options.workflowStructure,\n accessConfig,\n }\n const body = options.updateMask !== undefined ? fields : omitUndefined(fields)\n const data = await invokeWithRetry(this.config, this.http, this.ops.update, {\n pathParams: { id: workflowId },\n query: updateMaskQuery(options.updateMask),\n jsonBody: body,\n })\n return parseWorkflow(data)\n }\n\n async deploy(workflowId: number | string): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.deploy, {\n pathParams: { id: workflowId },\n jsonBody: {},\n }),\n )\n return parseWorkflow(data.agent)\n }\n\n async toggle(workflowId: number | string, options: { active: boolean }): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(this.config, this.http, this.ops.toggle, {\n pathParams: { id: workflowId },\n jsonBody: { active: options.active },\n })\n return parseWorkflow(data)\n }\n\n async delete(workflowId: number | string): Promise<void> {\n validateId(workflowId, 'workflow_id')\n await invokeWithRetry(this.config, this.http, this.ops.delete, {\n pathParams: { id: workflowId },\n })\n }\n\n async restore(workflowId: number | string): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(this.config, this.http, this.ops.restore, {\n pathParams: { id: workflowId },\n jsonBody: {},\n })\n return parseWorkflow(data)\n }\n\n async requestOwnershipTransfer(\n workflowId: number | string,\n options: { newOwnerUserId: string },\n ): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.requestOwnershipTransfer,\n {\n pathParams: { id: workflowId },\n jsonBody: omitUndefined({ newOwnerUserId: options.newOwnerUserId }),\n },\n )\n return parseWorkflow(data)\n }\n\n async cancelOwnershipTransfer(workflowId: number | string): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.cancelOwnershipTransfer,\n { pathParams: { id: workflowId } },\n )\n return parseWorkflow(data)\n }\n\n async acceptOwnershipTransfer(workflowId: number | string): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.acceptOwnershipTransfer,\n { pathParams: { id: workflowId }, jsonBody: {} },\n )\n return parseWorkflow(data)\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validatePageSize } from '../../_validation.js'\nimport type { ContextItem } from '../../types/context.js'\n\nexport type CustomContextItemKind =\n | 'source'\n | 'collection'\n | 'entity'\n | 'field'\n | 'entity_samples'\n\nexport interface CustomAttributeInput {\n name: string\n dataType?: string\n value?: unknown\n}\n\nexport interface CreateCustomContextItemInput {\n kind: CustomContextItemKind\n sourceId: string\n sourceName?: string\n collectionId?: string\n collectionName?: string\n externalId?: string\n fieldName?: string\n name?: string\n entityType?: string\n description?: string\n content?: unknown\n url?: string\n attributes?: CustomAttributeInput[]\n dataType?: string\n value?: unknown\n samples?: unknown[]\n raw?: Record<string, unknown>\n topics?: string[]\n idempotencyKey?: string\n}\n\nexport type UpdateCustomContextItemInput = Omit<\n Partial<CreateCustomContextItemInput>,\n 'kind' | 'sourceId' | 'sourceName' | 'collectionId' | 'collectionName' | 'externalId' | 'fieldName' | 'idempotencyKey'\n>\n\nexport interface CreatedCustomContextItem {\n contextItemId: string\n contextType: string\n dataPath: string[]\n title: string | null\n}\n\nexport interface CustomContextItemDeletion {\n uid: string\n contextType: string\n}\n\nfunction parseContextItem(raw: unknown): ContextItem {\n return raw as ContextItem\n}\n\nfunction parseCreatedCustomContextItem(raw: unknown): CreatedCustomContextItem {\n return raw as CreatedCustomContextItem\n}\n\nfunction parseDeletion(raw: unknown): CustomContextItemDeletion {\n return raw as CustomContextItemDeletion\n}\n\nexport class CustomContextItemsResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n list(options: {\n pageSize?: number\n pageToken?: string\n searchQuery?: string\n topics?: string[]\n } = {}): Promise<Page<ContextItem>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(pageSize, options.pageToken, options)\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n options: { searchQuery?: string; topics?: string[] },\n ): Promise<Page<ContextItem>> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_list', {\n query: aipListParams(pageSize, pageToken, {\n searchQuery: options.searchQuery,\n topics: options.topics,\n }) as Record<string, string | number | boolean | readonly string[] | undefined | null>,\n }),\n )\n return buildAipPage(data, 'contextItems', parseContextItem, (token) =>\n this.listPage(pageSize, token, options),\n )\n }\n\n async get(uid: string): Promise<ContextItem> {\n return parseContextItem(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_get', {\n pathParams: { uid },\n }),\n )\n }\n\n async create(input: CreateCustomContextItemInput): Promise<CreatedCustomContextItem> {\n return parseCreatedCustomContextItem(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_create', {\n jsonBody: omitUndefined(input as unknown as Record<string, unknown>),\n }),\n )\n }\n\n async batchCreate(inputs: CreateCustomContextItemInput[]): Promise<CreatedCustomContextItem[]> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_batchCreate', {\n jsonBody: {\n items: inputs.map((input) => omitUndefined(input as unknown as Record<string, unknown>)),\n },\n }),\n )\n const items = data.contextItems\n return Array.isArray(items) ? items.map(parseCreatedCustomContextItem) : []\n }\n\n async update(uid: string, input: UpdateCustomContextItemInput): Promise<{ uid: string }> {\n return asRecord(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_update', {\n pathParams: { uid },\n jsonBody: omitUndefined(input as unknown as Record<string, unknown>),\n }),\n ) as { uid: string }\n }\n\n async delete(uid: string): Promise<CustomContextItemDeletion> {\n return parseDeletion(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_delete', {\n pathParams: { uid },\n }),\n )\n }\n}\n","import type { ContextItem } from '../../types/context.js'\nimport type { ManagementContextItemsResource } from './items.js'\n\nexport type UserFeedback = 'positive' | 'neutral' | 'negative'\n\nfunction requireContentDict(item: ContextItem, contextType: string): Record<string, unknown> {\n if (item.contextType !== contextType) {\n throw new Error(`Expected contextType ${contextType}, got ${item.contextType}.`)\n }\n if (!item.content || typeof item.content !== 'object' || Array.isArray(item.content)) {\n throw new Error(`Context item ${item.uid} has no object content; cannot merge ${contextType} fields.`)\n }\n return item.content as Record<string, unknown>\n}\n\nexport function mergeNoteContent(\n existing: Record<string, unknown>,\n options: { title: string; body: string },\n): Record<string, unknown> {\n return { ...existing, title: options.title, content: options.body }\n}\n\nexport function mergeLinkContent(\n existing: Record<string, unknown>,\n options: { title?: string; url?: string },\n): Record<string, unknown> {\n const merged = { ...existing }\n if (options.title !== undefined) merged.title = options.title\n if (options.url !== undefined) merged.url = options.url\n return merged\n}\n\nexport function mergeSavedQueryContent(\n existing: Record<string, unknown>,\n options: {\n name: string\n query: string\n connectionId?: string\n path?: string[]\n },\n): Record<string, unknown> {\n const merged: Record<string, unknown> = { ...existing, name: options.name, query: options.query }\n if (options.connectionId !== undefined) merged.connectionId = options.connectionId\n if (options.path !== undefined) merged.path = options.path\n return merged\n}\n\nasync function resolveExistingContent(\n items: ManagementContextItemsResource,\n uid: string,\n contextType: string,\n existing?: ContextItem,\n): Promise<Record<string, unknown>> {\n const item = existing ?? (await items.get(uid))\n return requireContentDict(item, contextType)\n}\n\nexport async function updateWithMergedContent(\n items: ManagementContextItemsResource,\n uid: string,\n options: {\n contextType: string\n mergedContent: Record<string, unknown>\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n): Promise<ContextItem> {\n if (options.existing) requireContentDict(options.existing, options.contextType)\n return items.update(uid, {\n contextType: options.contextType,\n content: options.mergedContent,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n}\n\nexport async function resolveAndUpdateNote(\n items: ManagementContextItemsResource,\n uid: string,\n options: {\n title: string\n body: string\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n): Promise<ContextItem> {\n const content = await resolveExistingContent(items, uid, 'note', options.existing)\n return updateWithMergedContent(items, uid, {\n contextType: 'note',\n mergedContent: mergeNoteContent(content, { title: options.title, body: options.body }),\n existing: options.existing,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n}\n\nexport async function resolveAndUpdateSavedQuery(\n items: ManagementContextItemsResource,\n uid: string,\n options: {\n name: string\n query: string\n connectionId?: string\n path?: string[]\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n): Promise<ContextItem> {\n const content = await resolveExistingContent(items, uid, 'saved_query', options.existing)\n return updateWithMergedContent(items, uid, {\n contextType: 'saved_query',\n mergedContent: mergeSavedQueryContent(content, options),\n existing: options.existing,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n}\n\nexport async function resolveAndUpdateLink(\n items: ManagementContextItemsResource,\n uid: string,\n options: {\n title?: string\n url?: string\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n): Promise<ContextItem> {\n if (\n options.title === undefined &&\n options.url === undefined &&\n options.description === undefined &&\n options.userFeedback === undefined &&\n options.topics === undefined\n ) {\n throw new Error('Provide at least one field to update.')\n }\n if (options.title === undefined && options.url === undefined) {\n return items.update(uid, {\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n }\n const content = await resolveExistingContent(items, uid, 'link', options.existing)\n return updateWithMergedContent(items, uid, {\n contextType: 'link',\n mergedContent: mergeLinkContent(content, { title: options.title, url: options.url }),\n existing: options.existing,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validatePageSize } from '../../_validation.js'\nimport type { ContextItem, ContextItemDeletion } from '../../types/context.js'\nimport type { UserFeedback } from './_content-merge.js'\n\nfunction contextListParams(\n pageSize: number,\n pageToken: string | undefined,\n contextType?: string,\n): Record<string, string | number | boolean | readonly string[] | undefined | null> {\n const extra: Record<string, string | readonly string[]> = {}\n if (contextType !== undefined) extra.contextTypes = [contextType]\n return aipListParams(pageSize, pageToken, extra) as Record<\n string,\n string | number | boolean | readonly string[] | undefined | null\n >\n}\n\nfunction parseContextItem(raw: unknown): ContextItem {\n return raw as ContextItem\n}\n\nexport class ManagementContextItemsResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n list(options: {\n pageSize?: number\n pageToken?: string\n contextType?: string\n } = {}): Promise<Page<ContextItem>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(pageSize, options.pageToken, options.contextType)\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n contextType?: string,\n ): Promise<Page<ContextItem>> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'ContextItemsController_list', {\n query: contextListParams(pageSize, pageToken, contextType),\n }),\n )\n return buildAipPage(data, 'contextItems', parseContextItem, (token) =>\n this.listPage(pageSize, token, contextType),\n )\n }\n\n async get(uid: string): Promise<ContextItem> {\n const data = await invokeWithRetry(this.config, this.http, 'ContextItemsController_get', {\n pathParams: { uid },\n })\n return parseContextItem(data)\n }\n\n async update(\n uid: string,\n options: {\n content?: unknown\n contextType?: string\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n updateMask?: string\n } = {},\n ): Promise<ContextItem> {\n const body =\n options.updateMask !== undefined\n ? {\n content: options.content,\n contextType: options.contextType,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n }\n : omitUndefined({\n content: options.content,\n contextType: options.contextType,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n await invokeWithRetry(this.config, this.http, 'ContextItemsController_update', {\n pathParams: { uid },\n query: updateMaskQuery(options.updateMask),\n jsonBody: body,\n })\n return this.get(uid)\n }\n\n async delete(uid: string): Promise<ContextItemDeletion> {\n const data = await invokeWithRetry(this.config, this.http, 'ContextItemsController_delete', {\n pathParams: { uid },\n })\n return data as ContextItemDeletion\n }\n}\n","import type { OperationId } from '../../_generated/operations.js'\nimport type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { invokeWithRetry, omitUndefined } from '../../_request.js'\nimport type { ContextItem, CreatedContextItem } from '../../types/context.js'\nimport { CustomContextItemsResource } from '../../resources/context/custom-items.js'\nimport {\n resolveAndUpdateLink,\n resolveAndUpdateNote,\n resolveAndUpdateSavedQuery,\n type UserFeedback,\n} from './_content-merge.js'\nimport { ManagementContextItemsResource } from './items.js'\n\nexport class ManagementContextResource {\n readonly items: ManagementContextItemsResource\n readonly customItems: CustomContextItemsResource\n\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {\n this.items = new ManagementContextItemsResource(http, config)\n this.customItems = new CustomContextItemsResource(http, config)\n }\n\n private async create(operationId: OperationId, payload: Record<string, unknown>): Promise<CreatedContextItem> {\n const data = await invokeWithRetry(this.config, this.http, operationId, {\n jsonBody: payload,\n })\n return data as CreatedContextItem\n }\n\n createNote(title: string, content: string): Promise<CreatedContextItem> {\n return this.create('ContextCreatorsController_createNote', omitUndefined({ title, content }))\n }\n\n updateNote(\n uid: string,\n options: {\n title: string\n body: string\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n ): Promise<ContextItem> {\n return resolveAndUpdateNote(this.items, uid, options)\n }\n\n createSavedQuery(\n name: string,\n options: {\n query?: string\n connectionId: string\n description?: string\n path?: string[]\n },\n ): Promise<CreatedContextItem> {\n return this.create(\n 'ContextCreatorsController_createSavedQuery',\n omitUndefined({\n name,\n query: options.query,\n connectionId: options.connectionId,\n description: options.description,\n path: options.path,\n }),\n )\n }\n\n updateSavedQuery(\n uid: string,\n options: {\n name: string\n query: string\n connectionId?: string\n path?: string[]\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n ): Promise<ContextItem> {\n return resolveAndUpdateSavedQuery(this.items, uid, options)\n }\n\n createLink(\n url: string,\n options: { title?: string; isCrawl?: boolean; pageLimit?: number } = {},\n ): Promise<CreatedContextItem> {\n return this.create(\n 'ContextCreatorsController_createLink',\n omitUndefined({\n url,\n title: options.title,\n isCrawl: options.isCrawl,\n pageLimit: options.pageLimit,\n }),\n )\n }\n\n updateLink(\n uid: string,\n options: {\n title?: string\n url?: string\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n ): Promise<ContextItem> {\n return resolveAndUpdateLink(this.items, uid, options)\n }\n}\n\nexport type { UserFeedback } from './_content-merge.js'\n","import type { ModusConfig } from '../_config.js'\nimport type { HttpClient } from '../_http.js'\nimport { invokeWithRetry } from '../_request.js'\n\nexport class ManagementOrganizationResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n async delete(): Promise<void> {\n await invokeWithRetry(this.config, this.http, 'OrganizationController_deleteOrganization')\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport type { Conversation, ConversationListItem } from '../../types/conversations.js'\n\nfunction parseListItem(raw: unknown): ConversationListItem {\n return raw as ConversationListItem\n}\n\nfunction parseConversation(raw: unknown): Conversation {\n return raw as Conversation\n}\n\n/** Read access to a scope's conversation threads (`/api/v1/scopes/:id/conversations`). */\nexport class ScopeConversationsResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly scopeId: number | string,\n ) {}\n\n list(options: { pageSize?: number; pageToken?: string } = {}): Promise<Page<ConversationListItem>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(pageSize, options.pageToken)\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n ): Promise<Page<ConversationListItem>> {\n validateId(this.scopeId, 'scope_id')\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'ScopeConversationsController_list', {\n pathParams: { id: this.scopeId },\n query: aipListParams(pageSize, pageToken) as Record<\n string,\n string | number | boolean | undefined | null\n >,\n }),\n )\n return buildAipPage(data, 'conversations', parseListItem, (token) =>\n this.listPage(pageSize, token),\n )\n }\n\n async get(\n threadId: string,\n options: { messageLimit?: number; beforeMessageIndex?: number } = {},\n ): Promise<Conversation> {\n validateId(this.scopeId, 'scope_id')\n validateId(threadId, 'thread_id')\n if (options.beforeMessageIndex !== undefined && options.messageLimit === undefined) {\n throw new Error('beforeMessageIndex requires messageLimit')\n }\n const data = await invokeWithRetry(this.config, this.http, 'ScopeConversationsController_get', {\n pathParams: { id: this.scopeId, threadId },\n query: {\n messageLimit: options.messageLimit,\n beforeMessageIndex: options.beforeMessageIndex,\n },\n })\n return parseConversation(data)\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport type {\n Memory,\n MemorySearchRequest,\n MemorySearchResult,\n MemoryUpdate,\n} from '../types/memories.js'\n\nfunction parseMemory(raw: unknown): Memory {\n return raw as Memory\n}\n\n/** Long-term memory stored per scope (`/api/v1/scopes/{id}/memories`). */\nexport class ScopeMemoriesResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly scopeId: number | string,\n ) {}\n\n list(options: {\n pageSize?: number\n pageToken?: string\n userId?: string\n } = {}): Promise<Page<Memory>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(pageSize, options.pageToken, options.userId)\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n userId?: string,\n ): Promise<Page<Memory>> {\n validateId(this.scopeId, 'scope_id')\n const extra: Record<string, string> = {}\n if (userId !== undefined) extra.userId = userId\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'ScopeMemoriesController_list', {\n pathParams: { id: this.scopeId },\n query: aipListParams(pageSize, pageToken, extra) as Record<\n string,\n string | number | boolean | undefined | null\n >,\n }),\n )\n return buildAipPage(data, 'memories', parseMemory, (token) =>\n this.listPage(pageSize, token, userId),\n )\n }\n\n async search(request: MemorySearchRequest): Promise<MemorySearchResult> {\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'ScopeMemoriesController_search', {\n pathParams: { id: this.scopeId },\n jsonBody: omitUndefined(request as Record<string, unknown>),\n })\n return data as MemorySearchResult\n }\n\n async update(\n memoryId: string,\n update: MemoryUpdate,\n options: { updateMask?: string } = {},\n ): Promise<Memory> {\n validateId(memoryId, 'memory_id')\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'ScopeMemoriesController_update', {\n pathParams: { id: this.scopeId, memoryId },\n query: updateMaskQuery(options.updateMask),\n jsonBody: omitUndefined(update as Record<string, unknown>),\n })\n return parseMemory(data)\n }\n\n async delete(memoryId: string): Promise<void> {\n validateId(memoryId, 'memory_id')\n validateId(this.scopeId, 'scope_id')\n await invokeWithRetry(this.config, this.http, 'ScopeMemoriesController_delete', {\n pathParams: { id: this.scopeId, memoryId },\n })\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport type {\n EvaluationConfig,\n EvaluationRun,\n EvaluationRunWithResults,\n TriggerEvaluationRunResponse,\n UpdateEvaluationConfig,\n} from '../types/evaluations.js'\n\nfunction parseConfig(raw: unknown): EvaluationConfig {\n return raw as EvaluationConfig\n}\n\nfunction parseRun(raw: unknown): EvaluationRun {\n return raw as EvaluationRun\n}\n\n/** Scheduled and manual skill evaluations (`/api/v1/scopes/{id}/evaluations`). */\nexport class ScopeEvaluationsResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly scopeId: number | string,\n ) {}\n\n async getConfig(): Promise<EvaluationConfig> {\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'EvaluationsController_getConfig', {\n pathParams: { id: this.scopeId },\n })\n return parseConfig(data)\n }\n\n async updateConfig(update: UpdateEvaluationConfig): Promise<EvaluationConfig> {\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'EvaluationsController_updateConfig', {\n pathParams: { id: this.scopeId },\n jsonBody: omitUndefined(update as Record<string, unknown>),\n })\n return parseConfig(data)\n }\n\n async triggerRun(): Promise<TriggerEvaluationRunResponse> {\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'EvaluationsController_triggerRun', {\n pathParams: { id: this.scopeId },\n })\n return data as TriggerEvaluationRunResponse\n }\n\n listRuns(options: { pageSize?: number; pageToken?: string } = {}): Promise<Page<EvaluationRun>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listRunsPage(pageSize, options.pageToken)\n }\n\n private async listRunsPage(\n pageSize: number,\n pageToken: string | undefined,\n ): Promise<Page<EvaluationRun>> {\n validateId(this.scopeId, 'scope_id')\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'EvaluationsController_listRuns', {\n pathParams: { id: this.scopeId },\n query: aipListParams(pageSize, pageToken) as Record<\n string,\n string | number | boolean | undefined | null\n >,\n }),\n )\n return buildAipPage(data, 'runs', parseRun, (token) => this.listRunsPage(pageSize, token))\n }\n\n async getRun(runId: string): Promise<EvaluationRunWithResults> {\n validateId(this.scopeId, 'scope_id')\n validateId(runId, 'run_id')\n const data = await invokeWithRetry(this.config, this.http, 'EvaluationsController_getRun', {\n pathParams: { id: this.scopeId, runId },\n })\n return data as EvaluationRunWithResults\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { invokeWithRetry } from '../../_request.js'\nimport { validateId } from '../../_validation.js'\nimport type { components } from '../../_generated/v1.js'\nimport type { VariationView } from '../../types/views.js'\n\nexport type Supervision = components['schemas']['SupervisionDto']\nexport type SetSupervisionRequest = components['schemas']['SetSupervisionRequestDto']\n\nexport class ScopeSupervisionResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly scopeId: number | string,\n ) {}\n\n async get(options: { view?: VariationView } = {}): Promise<Supervision> {\n validateId(this.scopeId, 'scope_id')\n return await invokeWithRetry(this.config, this.http, 'ScopeSupervisionController_get', {\n pathParams: { id: this.scopeId },\n query: options.view === undefined ? undefined : { view: options.view },\n }) as Supervision\n }\n\n async set(request: SetSupervisionRequest): Promise<Supervision> {\n return this.write('ScopeSupervisionController_set', request)\n }\n\n async setActive(request: SetSupervisionRequest): Promise<Supervision> {\n return this.write('ScopeSupervisionController_setActive', request)\n }\n\n private async write(operation: 'ScopeSupervisionController_set' | 'ScopeSupervisionController_setActive',\n request: SetSupervisionRequest): Promise<Supervision> {\n validateId(this.scopeId, 'scope_id')\n return await invokeWithRetry(this.config, this.http, operation, {\n pathParams: { id: this.scopeId },\n jsonBody: request,\n }) as Supervision\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { OperationId } from '../../_generated/operations.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport { ScopeConversationsResource } from '../../resources/skills/conversations.js'\nimport type { Skill } from '../../types/skills.js'\nimport type { VariationView } from '../../types/views.js'\nimport {\n accessConfigBodyForCreate,\n accessConfigBodyForUpdate,\n} from '../_access-config.js'\nimport type { JsonObjectListInput } from '../types/json-blob.js'\nimport type { ToolsetInput } from '../types/toolset.js'\nimport { ScopeMemoriesResource } from './memories.js'\nimport { ScopeEvaluationsResource } from './evaluations.js'\nimport { ScopeSupervisionResource } from './supervision.js'\n\n/** The canonical `/api/v1/scopes` management operationIds. */\ninterface ManagementScopesOperations {\n readonly list: OperationId\n readonly get: OperationId\n readonly create: OperationId\n readonly update: OperationId\n readonly deploy: OperationId\n readonly delete: OperationId\n readonly restore: OperationId\n readonly requestOwnershipTransfer: OperationId\n readonly cancelOwnershipTransfer: OperationId\n readonly acceptOwnershipTransfer: OperationId\n readonly patchMcpConfig: OperationId\n readonly getVariation: OperationId\n}\n\nconst MANAGEMENT_SCOPE_OPERATIONS: ManagementScopesOperations = {\n list: 'ScopesController_list',\n get: 'ScopesController_get',\n create: 'ScopesController_create',\n update: 'ScopesController_update',\n deploy: 'ScopesController_deploy',\n delete: 'ScopesController_delete',\n restore: 'ScopesController_restore',\n requestOwnershipTransfer: 'ScopesController_requestOwnershipTransfer',\n cancelOwnershipTransfer: 'ScopesController_cancelOwnershipTransfer',\n acceptOwnershipTransfer: 'ScopesController_acceptOwnershipTransfer',\n patchMcpConfig: 'ScopesController_patchMcpConfig',\n getVariation: 'ScopesController_getVariation',\n}\n\nfunction scopesListParams(\n pageSize: number,\n pageToken: string | undefined,\n search?: string,\n view?: VariationView,\n managerId?: number,\n): Record<string, string | number | boolean | undefined | null> {\n const extra: Record<string, string | number | boolean | undefined | null> = {}\n if (search !== undefined) extra.search = search\n if (view !== undefined) extra.view = view\n if (managerId !== undefined) extra.managerId = managerId\n return aipListParams(pageSize, pageToken, extra) as Record<\n string,\n string | number | boolean | undefined | null\n >\n}\n\nfunction parseScope(raw: unknown): Skill {\n return raw as Skill\n}\n\nexport interface CreateSkillOptions {\n name: string\n description?: string\n expectedOutput?: string\n instructions?: string[]\n toolset?: ToolsetInput\n model?: string\n connectionSet?: JsonObjectListInput\n contextSelections?: JsonObjectListInput\n interfaces?: JsonObjectListInput\n guardrails?: string[]\n}\n\nexport interface UpdateSkillOptions {\n name?: string\n description?: string\n expectedOutput?: string\n instructions?: string[]\n toolset?: ToolsetInput\n model?: string\n connectionSet?: JsonObjectListInput\n contextSelections?: JsonObjectListInput\n interfaces?: JsonObjectListInput\n guardrails?: string[]\n managerId?: string\n evaluations?: JsonObjectListInput\n supervisionSubordinateDescriptions?: Record<string, string>\n updateMask?: string\n}\n\n/** Full CRUD and lifecycle for Modus scopes (`/api/v1/scopes`). */\nexport class ManagementScopesResource {\n protected readonly ops: ManagementScopesOperations = MANAGEMENT_SCOPE_OPERATIONS\n\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n conversations(scopeId: number | string): ScopeConversationsResource {\n return new ScopeConversationsResource(this.http, this.config, scopeId)\n }\n\n memories(scopeId: number | string): ScopeMemoriesResource {\n return new ScopeMemoriesResource(this.http, this.config, scopeId)\n }\n\n evaluations(scopeId: number | string): ScopeEvaluationsResource {\n return new ScopeEvaluationsResource(this.http, this.config, scopeId)\n }\n\n supervision(scopeId: number | string): ScopeSupervisionResource {\n return new ScopeSupervisionResource(this.http, this.config, scopeId)\n }\n\n list(options: {\n pageSize?: number\n pageToken?: string\n search?: string\n view?: VariationView\n managerId?: number\n } = {}): Promise<Page<Skill>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(\n pageSize,\n options.pageToken,\n options.search,\n options.view,\n options.managerId,\n )\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n search?: string,\n view?: VariationView,\n managerId?: number,\n ): Promise<Page<Skill>> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.list, {\n query: scopesListParams(pageSize, pageToken, search, view, managerId),\n }),\n )\n // Envelope key is the server DTO property name (`skills`) — unchanged by\n // the rename, which only moved paths/opIds/tags to the scopes vocab.\n return buildAipPage(data, 'skills', parseScope, (token) =>\n this.listPage(pageSize, token, search, view, managerId),\n )\n }\n\n async get(scopeId: number | string, options: { view?: VariationView } = {}): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const query = options.view !== undefined ? { view: options.view } : undefined\n const data = await invokeWithRetry(this.config, this.http, this.ops.get, {\n pathParams: { id: scopeId },\n query,\n })\n return parseScope(data)\n }\n\n async create(options: CreateSkillOptions): Promise<Skill> {\n const body = omitUndefined({\n name: options.name,\n description: options.description,\n expectedOutput: options.expectedOutput,\n instructions: options.instructions,\n toolset: options.toolset,\n model: options.model,\n connectionSet: options.connectionSet,\n contextSelections: options.contextSelections,\n interfaces: options.interfaces,\n accessConfig: accessConfigBodyForCreate(options.guardrails),\n })\n const data = await invokeWithRetry(this.config, this.http, this.ops.create, {\n jsonBody: body,\n })\n return parseScope(data)\n }\n\n async update(scopeId: number | string, options: UpdateSkillOptions = {}): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const accessConfig = await accessConfigBodyForUpdate(options.guardrails, async () =>\n asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.get, {\n pathParams: { id: scopeId },\n }),\n ),\n )\n const fields = {\n name: options.name,\n description: options.description,\n expectedOutput: options.expectedOutput,\n instructions: options.instructions,\n toolset: options.toolset,\n model: options.model,\n connectionSet: options.connectionSet,\n contextSelections: options.contextSelections,\n interfaces: options.interfaces,\n accessConfig,\n managerId: options.managerId,\n evaluations: options.evaluations,\n supervisionSubordinateDescriptions: options.supervisionSubordinateDescriptions,\n }\n const body =\n options.updateMask !== undefined ? fields : omitUndefined(fields)\n const data = await invokeWithRetry(this.config, this.http, this.ops.update, {\n pathParams: { id: scopeId },\n query: updateMaskQuery(options.updateMask),\n jsonBody: body,\n })\n return parseScope(data)\n }\n\n async deploy(scopeId: number | string): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.deploy, {\n pathParams: { id: scopeId },\n jsonBody: {},\n }),\n )\n return parseScope(data.skill)\n }\n\n async delete(scopeId: number | string): Promise<void> {\n validateId(scopeId, 'scope_id')\n await invokeWithRetry(this.config, this.http, this.ops.delete, {\n pathParams: { id: scopeId },\n })\n }\n\n async restore(scopeId: number | string): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, this.ops.restore, {\n pathParams: { id: scopeId },\n jsonBody: {},\n })\n return parseScope(data)\n }\n\n async requestOwnershipTransfer(\n scopeId: number | string,\n options: { newOwnerUserId: string },\n ): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.requestOwnershipTransfer,\n {\n pathParams: { id: scopeId },\n jsonBody: omitUndefined({ newOwnerUserId: options.newOwnerUserId }),\n },\n )\n return parseScope(data)\n }\n\n async cancelOwnershipTransfer(scopeId: number | string): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.cancelOwnershipTransfer,\n { pathParams: { id: scopeId } },\n )\n return parseScope(data)\n }\n\n async acceptOwnershipTransfer(scopeId: number | string): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.acceptOwnershipTransfer,\n { pathParams: { id: scopeId }, jsonBody: {} },\n )\n return parseScope(data)\n }\n\n async patchMcpConfig(\n scopeId: number | string,\n options: { mcpConfig: Record<string, unknown> },\n ): Promise<void> {\n validateId(scopeId, 'scope_id')\n await invokeWithRetry(this.config, this.http, this.ops.patchMcpConfig, {\n pathParams: { id: scopeId },\n jsonBody: omitUndefined({ config: options.mcpConfig }),\n })\n }\n\n async getVariation(\n scopeId: number | string,\n options: { variationUid: string },\n ): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n validateId(options.variationUid, 'variation_uid')\n const data = await invokeWithRetry(this.config, this.http, this.ops.getVariation, {\n pathParams: { id: scopeId, variationUid: options.variationUid },\n })\n return parseScope(data)\n }\n}\n","import type { ModusConfig } from '../_config.js'\nimport type { HttpClient } from '../_http.js'\nimport { invokeWithRetry } from '../_request.js'\nimport type { UsageReport, UsageRollup } from '../types/usage.js'\n\nexport class ManagementUsageResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n async list(options: {\n since: string\n until: string\n rollup: UsageRollup\n model?: string\n }): Promise<UsageReport> {\n const query: Record<string, string> = {\n since: options.since,\n until: options.until,\n rollup: options.rollup,\n }\n if (options.model !== undefined) query.model = options.model\n const data = await invokeWithRetry(this.config, this.http, 'UsageController_list', { query })\n return data as UsageReport\n }\n}\n","import type { ModusConfig } from '../_config.js'\nimport type { components } from '../_generated/v1.js'\nimport type { HttpClient } from '../_http.js'\nimport { invokeWithRetry } from '../_request.js'\n\nexport type MemberGroup = components['schemas']['MemberGroupDto']\nexport type OrgMember = components['schemas']['OrgMemberDto']\n\nexport class ManagementUsersResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n async listMemberGroups(): Promise<MemberGroup[]> {\n const data = (await invokeWithRetry(\n this.config, this.http, 'MemberGroupsController_list',\n )) as { groups: MemberGroup[] }\n return data.groups\n }\n\n async listOrgMembers(): Promise<OrgMember[]> {\n const data = (await invokeWithRetry(\n this.config, this.http, 'OrgMembersController_list',\n )) as { members: OrgMember[] }\n return data.members\n }\n}\n"],"mappings":"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","names":["msg","parseContextItem"]}
|
|
1
|
+
{"version":3,"sources":["../../src/management/index.ts","../../src/_exceptions.ts","../../src/_auth.ts","../../src/_config.ts","../../src/_http.ts","../../src/_client-base.ts","../../src/_query.ts","../../src/_pagination.ts","../../src/_generated/operations.ts","../../src/_openapi-invoke.ts","../../src/_retry.ts","../../src/_generated/write-body-keys.ts","../../src/_validation.ts","../../src/_request.ts","../../src/management/_access-config.ts","../../src/management/agents/interfaces.ts","../../src/management/agents/agents.ts","../../src/types/context.ts","../../src/resources/context/custom-items.ts","../../src/management/context/_content-merge.ts","../../src/management/context/items.ts","../../src/management/context/context.ts","../../src/management/organization.ts","../../src/resources/skills/conversations.ts","../../src/management/skills/memories.ts","../../src/management/skills/evaluations.ts","../../src/management/skills/supervision.ts","../../src/management/skills/skills.ts","../../src/management/usage.ts","../../src/management/users.ts"],"sourcesContent":["import { ModusClientBase } from '../_client-base.js'\nimport type { ModusOptions } from '../_config.js'\nimport { ManagementWorkflowsResource } from './agents/agents.js'\nimport { ManagementContextResource } from './context/context.js'\nimport { ManagementOrganizationResource } from './organization.js'\nimport { ManagementScopesResource } from './skills/skills.js'\nimport { ManagementUsageResource } from './usage.js'\nimport { ManagementUsersResource } from './users.js'\n\n/** Configure scopes, workflows, context, usage, and organization settings. */\nexport class ModusManagement extends ModusClientBase {\n readonly scopes: ManagementScopesResource\n readonly workflows: ManagementWorkflowsResource\n readonly context: ManagementContextResource\n readonly usage: ManagementUsageResource\n readonly organization: ManagementOrganizationResource\n readonly users: ManagementUsersResource\n\n constructor(options: ModusOptions = {}) {\n super(options)\n this.scopes = new ManagementScopesResource(this.http, this.config)\n this.workflows = new ManagementWorkflowsResource(this.http, this.config)\n this.context = new ManagementContextResource(this.http, this.config)\n this.usage = new ManagementUsageResource(this.http, this.config)\n this.organization = new ManagementOrganizationResource(this.http, this.config)\n this.users = new ManagementUsersResource(this.http, this.config)\n }\n}\n\nexport type { ModusOptions }\nexport type { CreateSkillOptions, UpdateSkillOptions } from './skills/skills.js'\nexport type {\n CreateAgentOptions,\n UpdateAgentOptions,\n TriggerInput,\n AgentSelectionInput,\n WorkflowGraphInput,\n} from './agents/agents.js'\nexport type { UserFeedback } from './context/context.js'\nexport type { ToolsetInput } from './types/toolset.js'\nexport type {\n Memory,\n MemorySearchRequest,\n MemorySearchResult,\n MemoryUpdate,\n} from './types/memories.js'\n","export class ModusError extends Error {\n readonly statusCode?: number\n readonly requestId?: string\n readonly responseHeaders?: Record<string, string>\n readonly body?: string\n readonly code?: string\n\n constructor(\n message: string,\n options: {\n statusCode?: number\n requestId?: string\n responseHeaders?: Record<string, string>\n body?: string\n code?: string\n } = {},\n ) {\n super(message)\n this.name = 'ModusError'\n this.message = message\n this.statusCode = options.statusCode\n this.requestId = options.requestId\n this.responseHeaders = options.responseHeaders\n this.body = options.body\n this.code = options.code\n }\n}\n\nexport class APIConnectionError extends ModusError {\n constructor(message: string) {\n super(message)\n this.name = 'APIConnectionError'\n }\n}\n\nexport class AuthenticationError extends ModusError {\n constructor(message: string, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode: 401 })\n this.name = 'AuthenticationError'\n }\n}\n\nexport class PermissionDeniedError extends ModusError {\n constructor(message: string, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode: 403 })\n this.name = 'PermissionDeniedError'\n }\n}\n\nexport class NotFoundError extends ModusError {\n constructor(message: string, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode: 404 })\n this.name = 'NotFoundError'\n }\n}\n\nexport class ConflictError extends ModusError {\n constructor(message: string, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode: 409 })\n this.name = 'ConflictError'\n }\n}\n\nexport class UnprocessableError extends ModusError {\n readonly errors?: unknown\n\n constructor(\n message: string,\n options: ConstructorParameters<typeof ModusError>[1] & { errors?: unknown } = {},\n ) {\n super(message, { ...options, statusCode: 422 })\n this.name = 'UnprocessableError'\n this.errors = options.errors\n }\n}\n\nexport class RateLimitError extends ModusError {\n readonly retryAfter?: number\n\n constructor(\n message: string,\n options: ConstructorParameters<typeof ModusError>[1] & { retryAfter?: number } = {},\n ) {\n super(message, { ...options, statusCode: 429 })\n this.name = 'RateLimitError'\n this.retryAfter = options.retryAfter\n }\n}\n\nexport class InternalServerError extends ModusError {\n constructor(message: string, statusCode: number, options: ConstructorParameters<typeof ModusError>[1] = {}) {\n super(message, { ...options, statusCode })\n this.name = 'InternalServerError'\n }\n}\n\nexport class RunCancelledError extends ModusError {\n constructor(message = 'Run was cancelled.') {\n super(message)\n this.name = 'RunCancelledError'\n }\n}\n\nexport class StreamTimeoutError extends ModusError {\n constructor(message = 'Stream timed out.') {\n super(message)\n this.name = 'StreamTimeoutError'\n }\n}\n\nexport class ValidationError extends ModusError {\n constructor(message: string) {\n super(message)\n this.name = 'ValidationError'\n }\n}\n","import { AuthenticationError } from './_exceptions.js'\n\nconst ENV_API_KEY = 'MODUS_API_KEY'\nconst ENV_BASE_URL = 'MODUS_BASE_URL'\nconst ENV_AGENT_HOST = 'MODUS_AGENT_HOST'\nconst ENV_ORGANIZATION_ID = 'MODUS_ORGANIZATION_ID'\nconst ENV_TIMEOUT = 'MODUS_TIMEOUT'\nconst ENV_MAX_RETRIES = 'MODUS_MAX_RETRIES'\nconst KEY_PREFIX = 'modus_'\n\nexport function resolveApiKey(apiKey?: string): string {\n const key = apiKey ?? process.env[ENV_API_KEY]\n if (!key) {\n throw new AuthenticationError(\n `No API key provided. Pass apiKey or set the ${ENV_API_KEY} environment variable. ` +\n 'Create a token at app.getmodus.com → Settings → API Tokens.',\n )\n }\n if (!key.startsWith(KEY_PREFIX)) {\n throw new AuthenticationError(\n `Invalid API key format. Modus API keys start with '${KEY_PREFIX}'. ` +\n 'Create a token at app.getmodus.com → Settings → API Tokens.',\n )\n }\n return key\n}\n\nexport function resolveBaseUrl(baseUrl?: string): string | undefined {\n return baseUrl ?? process.env[ENV_BASE_URL] ?? undefined\n}\n\nexport function resolveAgentHost(agentHost?: string): string | undefined {\n return agentHost ?? process.env[ENV_AGENT_HOST] ?? undefined\n}\n\nexport function resolveOrganizationId(organizationId?: string): string | undefined {\n const raw = organizationId ?? process.env[ENV_ORGANIZATION_ID]\n if (raw === undefined) return undefined\n const stripped = raw.trim()\n return stripped || undefined\n}\n\nexport function resolveTimeoutMs(explicitMs?: number): number | undefined {\n if (explicitMs !== undefined) return explicitMs\n const raw = process.env[ENV_TIMEOUT]\n if (raw === undefined) return undefined\n const seconds = Number(raw)\n return Number.isFinite(seconds) ? seconds * 1000 : undefined\n}\n\nexport function resolveMaxRetries(explicit?: number): number | undefined {\n if (explicit !== undefined) {\n if (explicit < 0) throw new Error(`max_retries must be >= 0, got ${explicit}`)\n return explicit\n }\n const raw = process.env[ENV_MAX_RETRIES]\n if (raw === undefined) return undefined\n const value = Number.parseInt(raw, 10)\n return Number.isFinite(value) && value >= 0 ? value : undefined\n}\n\nexport function authHeaders(apiKey: string): Record<string, string> {\n return { Authorization: `Bearer ${apiKey}` }\n}\n","import {\n resolveAgentHost,\n resolveApiKey,\n resolveBaseUrl,\n resolveMaxRetries,\n resolveOrganizationId,\n resolveTimeoutMs,\n} from './_auth.js'\n\nexport const DEFAULT_BASE_URL = 'https://api.getmodus.com'\nexport const DEFAULT_AGENT_HOST = 'https://agent.getmodus.com'\nexport const DEFAULT_TIMEOUT_MS = 300_000\nexport const DEFAULT_MAX_RETRIES = 2\n\nexport interface ModusOptions {\n apiKey?: string\n baseUrl?: string\n /** Agent host origin for streaming runs (default https://agent.getmodus.com). */\n agentHost?: string\n /**\n * Optional Clerk organization id for agent-host run bodies. Usually omit —\n * agent-service uses the PAT principal's org.\n */\n organizationId?: string\n /**\n * Override service-specific API origins, for example:\n * `{ 'agent-service': 'http://localhost:3130' }`.\n */\n baseUrls?: Record<string, string>\n /** Request timeout in milliseconds. */\n timeoutMs?: number\n maxRetries?: number\n /** Test injection only. */\n fetch?: typeof fetch\n}\n\nexport interface ModusConfig {\n readonly apiKey: string\n readonly baseUrl: string\n readonly agentHost: string\n readonly organizationId?: string\n readonly baseUrls: Readonly<Record<string, string>>\n readonly timeoutMs: number\n readonly maxRetries: number\n readonly fetch: typeof fetch\n}\n\nfunction normalizeBaseUrl(baseUrl: string): string {\n return baseUrl.replace(/\\/$/, '')\n}\n\nfunction normalizeBaseUrls(baseUrls: Record<string, string> | undefined): Record<string, string> {\n return Object.fromEntries(\n Object.entries(baseUrls ?? {}).map(([service, baseUrl]) => [\n service,\n normalizeBaseUrl(baseUrl),\n ]),\n )\n}\n\nexport function createModusConfig(options: ModusOptions = {}): ModusConfig {\n const maxRetries = resolveMaxRetries(options.maxRetries) ?? DEFAULT_MAX_RETRIES\n if (!Number.isInteger(maxRetries) || maxRetries < 0) {\n throw new Error(`max_retries must be a non-negative int, got ${maxRetries}`)\n }\n const baseUrl = normalizeBaseUrl(resolveBaseUrl(options.baseUrl) ?? DEFAULT_BASE_URL)\n const baseUrlOverrides = normalizeBaseUrls(options.baseUrls)\n // baseUrls['agent-service'] must drive streaming too (same origin as invoke).\n const agentHost = normalizeBaseUrl(\n baseUrlOverrides['agent-service'] ??\n resolveAgentHost(options.agentHost) ??\n DEFAULT_AGENT_HOST,\n )\n const organizationId = resolveOrganizationId(options.organizationId)\n return Object.freeze({\n apiKey: resolveApiKey(options.apiKey),\n baseUrl,\n agentHost,\n ...(organizationId !== undefined ? { organizationId } : {}),\n baseUrls: Object.freeze({\n 'modus-api': baseUrl,\n 'agent-service': agentHost,\n ...baseUrlOverrides,\n }),\n timeoutMs: resolveTimeoutMs(options.timeoutMs) ?? DEFAULT_TIMEOUT_MS,\n maxRetries,\n fetch: options.fetch ?? globalThis.fetch.bind(globalThis),\n })\n}\n\nexport function resolveServiceBaseUrl(\n config: ModusConfig,\n service: string,\n generatedBaseUrl?: string | null,\n): string {\n // Prefer explicit agentHost / baseUrls over OpenAPI-codegen serverUrl so\n // MODUS_AGENT_HOST and agentHost= always win over stale generated defaults.\n if (service === 'agent-service') {\n return config.baseUrls['agent-service'] ?? config.agentHost ?? generatedBaseUrl ?? config.baseUrl\n }\n return config.baseUrls[service] ?? generatedBaseUrl ?? config.baseUrl\n}\n\nexport function formatConfigForLog(config: ModusConfig): string {\n const masked = config.apiKey.length > 10 ? `${config.apiKey.slice(0, 10)}***` : '***'\n return `ModusConfig(apiKey=${JSON.stringify(masked)}, baseUrl=${JSON.stringify(config.baseUrl)}, timeoutMs=${config.timeoutMs}, maxRetries=${config.maxRetries})`\n}\n","import { authHeaders } from './_auth.js'\nimport type { ModusConfig } from './_config.js'\nimport {\n APIConnectionError,\n AuthenticationError,\n ConflictError,\n InternalServerError,\n ModusError,\n NotFoundError,\n PermissionDeniedError,\n RateLimitError,\n UnprocessableError,\n} from './_exceptions.js'\n\nconst USER_AGENT = `modus-typescript/${__SDK_VERSION__} (node/${process.version}; ${process.platform})`\n\ntype QueryValue = string | number | boolean | null | undefined | readonly (string | number)[]\ntype QueryParams = Record<string, QueryValue>\ntype RequestOptions = {\n baseUrl?: string\n headers?: Record<string, string>\n}\n\nfunction buildUrl(baseUrl: string, path: string, params?: QueryParams): string {\n const url = new URL(path.startsWith('/') ? path : `/${path}`, baseUrl)\n if (params) {\n for (const [key, value] of Object.entries(params)) {\n if (value === undefined || value === null) continue\n if (Array.isArray(value)) {\n for (const item of value) url.searchParams.append(key, String(item))\n } else {\n url.searchParams.set(key, String(value))\n }\n }\n }\n return url.toString()\n}\n\nfunction headersToRecord(headers: Headers): Record<string, string> {\n const out: Record<string, string> = {}\n headers.forEach((value, key) => {\n out[key] = value\n })\n return out\n}\n\nfunction messageFromBody(raw: string, statusCode: number): string {\n if (!raw) return `HTTP ${statusCode}`\n try {\n const body = JSON.parse(raw) as unknown\n if (body && typeof body === 'object') {\n const record = body as Record<string, unknown>\n const envelope = record.error\n if (envelope && typeof envelope === 'object') {\n const msg = (envelope as Record<string, unknown>).message\n if (typeof msg === 'string' && msg) return msg\n }\n const msg = record.message ?? record.error\n if (Array.isArray(msg)) return msg.map(String).join('; ')\n if (typeof msg === 'string' && msg) return msg\n }\n } catch {\n // non-JSON body\n }\n return raw\n}\n\nfunction errorCodeFromBody(raw: string): string | undefined {\n try {\n const body = JSON.parse(raw) as { error?: { code?: string } }\n return typeof body.error?.code === 'string' ? body.error.code : undefined\n } catch {\n return undefined\n }\n}\n\nexport function raiseForStatus(response: Response, body: string): void {\n if (response.ok) return\n const message = messageFromBody(body, response.status)\n const requestId =\n response.headers.get('x-request-id') ?? response.headers.get('X-Request-ID') ?? undefined\n const headers = headersToRecord(response.headers)\n const code = errorCodeFromBody(body)\n const base = { requestId, responseHeaders: headers, body, code }\n\n switch (response.status) {\n case 401:\n throw new AuthenticationError(message, base)\n case 403:\n throw new PermissionDeniedError(message, base)\n case 404:\n throw new NotFoundError(message, base)\n case 409:\n throw new ConflictError(message, base)\n case 422: {\n let errors: unknown\n try {\n errors = JSON.parse(body)\n } catch {\n errors = undefined\n }\n throw new UnprocessableError(message, { ...base, errors })\n }\n case 429: {\n const retryHeader = response.headers.get('retry-after') ?? ''\n const retryAfter = /^\\d+$/.test(retryHeader) ? Number.parseInt(retryHeader, 10) : undefined\n throw new RateLimitError(message, { ...base, retryAfter })\n }\n default:\n if (response.status >= 500) {\n throw new InternalServerError(message, response.status, base)\n }\n throw new ModusError(message, { ...base, statusCode: response.status })\n }\n}\n\nfunction wrapNetworkError(error: unknown, baseUrl: string): APIConnectionError {\n const detail = error instanceof Error ? error.message : String(error)\n return new APIConnectionError(\n `Network error communicating with Modus API at ${JSON.stringify(baseUrl)}: ${detail}. ` +\n 'Check connectivity and that baseUrl is correct.',\n )\n}\n\nasync function readBody(response: Response): Promise<string> {\n return response.text()\n}\n\nexport class HttpClient {\n readonly config: ModusConfig\n\n constructor(config: ModusConfig) {\n this.config = config\n }\n\n private defaultHeaders(): Record<string, string> {\n return {\n ...authHeaders(this.config.apiKey),\n Accept: 'application/json',\n 'Content-Type': 'application/json',\n 'User-Agent': USER_AGENT,\n }\n }\n\n private async request(\n method: string,\n path: string,\n options: { params?: QueryParams; json?: unknown } & RequestOptions = {},\n ): Promise<unknown> {\n const baseUrl = options.baseUrl ?? this.config.baseUrl\n const url = buildUrl(baseUrl, path, options.params)\n try {\n const response = await this.config.fetch(url, {\n method,\n headers: { ...this.defaultHeaders(), ...options.headers },\n body: options.json !== undefined ? JSON.stringify(options.json) : undefined,\n signal: AbortSignal.timeout(this.config.timeoutMs),\n })\n const body = await readBody(response)\n raiseForStatus(response, body)\n if (response.status === 204 || !body) return null\n return JSON.parse(body) as unknown\n } catch (error) {\n if (error instanceof ModusError) throw error\n if (error instanceof DOMException && error.name === 'AbortError') {\n throw wrapNetworkError(new Error('Request timed out'), baseUrl)\n }\n throw wrapNetworkError(error, baseUrl)\n }\n }\n\n get(path: string, params?: QueryParams, options: RequestOptions = {}): Promise<unknown> {\n return this.request('GET', path, { params, ...options })\n }\n\n post(path: string, json?: unknown, options: RequestOptions = {}): Promise<unknown> {\n return this.request('POST', path, { json, ...options })\n }\n\n put(path: string, json?: unknown, options: RequestOptions = {}): Promise<unknown> {\n return this.request('PUT', path, { json, ...options })\n }\n\n patch(\n path: string,\n json?: unknown,\n params?: QueryParams,\n options: RequestOptions = {},\n ): Promise<unknown> {\n return this.request('PATCH', path, { json, params, ...options })\n }\n\n delete(path: string, options: RequestOptions = {}): Promise<unknown> {\n return this.request('DELETE', path, options)\n }\n\n private async *stream(\n method: 'GET' | 'POST',\n path: string,\n options: { json?: unknown; params?: QueryParams } & RequestOptions = {},\n ): AsyncGenerator<string> {\n const baseUrl = options.baseUrl ?? this.config.baseUrl\n const url = buildUrl(baseUrl, path, options.params)\n try {\n const response = await this.config.fetch(url, {\n method,\n headers: { ...this.defaultHeaders(), ...options.headers },\n body: options.json !== undefined ? JSON.stringify(options.json) : undefined,\n signal: AbortSignal.timeout(this.config.timeoutMs),\n })\n if (!response.ok) {\n const body = await readBody(response)\n raiseForStatus(response, body)\n return\n }\n if (!response.body) return\n const reader = response.body.getReader()\n const decoder = new TextDecoder()\n let buffer = ''\n while (true) {\n const { done, value } = await reader.read()\n if (done) break\n buffer += decoder.decode(value, { stream: true })\n const lines = buffer.split('\\n')\n buffer = lines.pop() ?? ''\n for (const line of lines) {\n if (line.trim()) yield line\n }\n }\n if (buffer.trim()) yield buffer\n } catch (error) {\n if (error instanceof ModusError) throw error\n if (error instanceof DOMException && error.name === 'AbortError') {\n throw wrapNetworkError(new Error('Request timed out'), baseUrl)\n }\n throw wrapNetworkError(error, baseUrl)\n }\n }\n\n streamGet(path: string, params?: QueryParams, options: RequestOptions = {}): AsyncGenerator<string> {\n return this.stream('GET', path, { params, ...options })\n }\n\n streamPost(path: string, json?: unknown, options: RequestOptions = {}): AsyncGenerator<string> {\n return this.stream('POST', path, { json, ...options })\n }\n}\n","import { createModusConfig, formatConfigForLog, type ModusOptions } from './_config.js'\nimport type { HttpClient } from './_http.js'\nimport { HttpClient as HttpClientImpl } from './_http.js'\n\n/**\n * Shared client wiring for Modus and ModusManagement.\n * Resources attach in Phase 5.\n */\nexport abstract class ModusClientBase {\n protected readonly _config: ReturnType<typeof createModusConfig>\n protected readonly _http: HttpClient\n\n constructor(options: ModusOptions = {}) {\n this._config = createModusConfig(options)\n this._http = new HttpClientImpl(this._config)\n }\n\n get config(): Readonly<typeof this._config> {\n return this._config\n }\n\n /** @internal */\n get http(): HttpClient {\n return this._http\n }\n\n toString(): string {\n return formatConfigForLog(this._config)\n }\n}\n","export function updateMaskQuery(\n updateMask?: string,\n): Record<string, string> | undefined {\n if (updateMask === undefined) return undefined\n if (!updateMask.trim()) {\n throw new Error('update_mask must be a non-empty comma-separated list of field names')\n }\n return { updateMask }\n}\n","import { ModusError } from './_exceptions.js'\n\nexport class Page<T> {\n readonly items: T[]\n readonly nextPageToken?: string\n private readonly fetchPage: (token: string) => Page<T> | Promise<Page<T>>\n\n constructor(\n items: T[],\n nextPageToken: string | undefined,\n fetchPage: (token: string) => Page<T> | Promise<Page<T>>,\n ) {\n this.items = items\n this.nextPageToken = normalizePageToken(nextPageToken)\n this.fetchPage = fetchPage\n }\n\n hasNextPage(): boolean {\n return this.nextPageToken !== undefined\n }\n\n async getNextPage(): Promise<Page<T>> {\n if (this.nextPageToken === undefined) {\n throw new Error(\n 'No next page available. Check hasNextPage() before calling getNextPage().',\n )\n }\n return this.fetchPage(this.nextPageToken)\n }\n\n async *autoPagingIter(): AsyncGenerator<T> {\n for (const item of this.items) yield item\n let nextPageToken = this.nextPageToken\n while (nextPageToken !== undefined) {\n const page = await this.fetchPage(nextPageToken)\n for (const item of page.items) yield item\n nextPageToken = page.nextPageToken\n }\n }\n\n [Symbol.iterator](): Iterator<T> {\n return this.items[Symbol.iterator]()\n }\n}\n\nexport function normalizePageToken(token?: string | null): string | undefined {\n if (token === undefined || token === null || !String(token).trim()) return undefined\n return token\n}\n\nexport function aipListParams(\n pageSize: number,\n pageToken?: string,\n extra: Record<string, unknown> = {},\n): Record<string, unknown> {\n const params: Record<string, unknown> = { pageSize, ...extra }\n const token = normalizePageToken(pageToken)\n if (token !== undefined) params.pageToken = token\n return params\n}\n\nexport function nextPageTokenFromResponse(data: Record<string, unknown>): string | undefined {\n return normalizePageToken(\n typeof data.nextPageToken === 'string' ? data.nextPageToken : undefined,\n )\n}\n\nexport function requireItemsList(data: Record<string, unknown>, itemsKey: string): unknown[] {\n const value = data[itemsKey]\n if (!Array.isArray(value)) {\n throw new ModusError(\n `Unexpected list response shape: ${itemsKey} must be a list, got ${typeof value}. This is likely a backend error.`,\n )\n }\n return value\n}\n\nexport function buildAipPage<T>(\n data: Record<string, unknown>,\n itemsKey: string,\n mapItem: (raw: unknown) => T,\n fetchPage: (token: string) => Page<T> | Promise<Page<T>>,\n): Page<T> {\n if (typeof data !== 'object' || data === null || !(itemsKey in data)) {\n throw new ModusError(\n `Unexpected list response shape: missing ${itemsKey}. Got: ${typeof data}. This is likely a backend error.`,\n )\n }\n const items = requireItemsList(data, itemsKey).map(mapItem)\n return new Page(items, nextPageTokenFromResponse(data), fetchPage)\n}\n","// Auto-generated operation registry. Do not edit by hand.\n\nexport type OperationMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'\n\nexport interface OperationSpec {\n method: OperationMethod\n path: string\n service: string\n serverUrl: string | null\n pathParams: readonly string[]\n queryParams: readonly string[]\n requestSchema: string | null\n responseSchema: string | null\n}\n\nexport const OPERATIONS = {\n \"ConnectionsController_list\": {\n method: \"GET\",\n path: \"/api/v1/connections\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"type\"],\n requestSchema: null,\n responseSchema: \"ListConnectionsResponseDto\",\n },\n \"ContextCreatorsController_createLink\": {\n method: \"POST\",\n path: \"/api/v1/context/links\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateLinkDto\",\n responseSchema: \"CreatedContextItemResponseDto\",\n },\n \"ContextCreatorsController_createNote\": {\n method: \"POST\",\n path: \"/api/v1/context/notes\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateNoteDto\",\n responseSchema: \"CreatedContextItemResponseDto\",\n },\n \"ContextCreatorsController_createSavedQuery\": {\n method: \"POST\",\n path: \"/api/v1/context/saved-queries\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateSavedQueryDto\",\n responseSchema: \"CreatedContextItemResponseDto\",\n },\n \"ContextItemsController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/context/items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"DeleteContextItemResponseDto\",\n },\n \"ContextItemsController_get\": {\n method: \"GET\",\n path: \"/api/v1/context/items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"ContextItemDto\",\n },\n \"ContextItemsController_list\": {\n method: \"GET\",\n path: \"/api/v1/context/items\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"contextTypes\",\"verificationStatuses\",\"searchQuery\",\"topics\"],\n requestSchema: null,\n responseSchema: \"ListContextItemsResponseDto\",\n },\n \"ContextItemsController_listValues\": {\n method: \"GET\",\n path: \"/api/v1/context/items/{uid}/values\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"uid\"],\n queryParams: [\"contextType\",\"contentKeyPath\",\"pageSize\",\"offset\",\"pageToken\",\"searchQuery\",\"dataPathPrefix\"],\n requestSchema: null,\n responseSchema: \"ListContextItemValuesResponseDto\",\n },\n \"ContextItemsController_lookup\": {\n method: \"POST\",\n path: \"/api/v1/context/items/lookup\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"LookupContextItemDto\",\n responseSchema: \"LookupContextItemResponseDto\",\n },\n \"ContextItemsController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/context/items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"uid\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateContextItemDto\",\n responseSchema: null,\n },\n \"CustomContextItemsController_batchCreate\": {\n method: \"POST\",\n path: \"/api/v1/context/custom-items/batch\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"BatchCreateCustomContextItemsDto\",\n responseSchema: \"BatchCreateCustomContextItemsResponseDto\",\n },\n \"CustomContextItemsController_create\": {\n method: \"POST\",\n path: \"/api/v1/context/custom-items\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateCustomContextItemDto\",\n responseSchema: \"CreatedCustomContextItemResponseDto\",\n },\n \"CustomContextItemsController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/context/custom-items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"DeleteContextItemResponseDto\",\n },\n \"CustomContextItemsController_get\": {\n method: \"GET\",\n path: \"/api/v1/context/custom-items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"ContextItemDto\",\n },\n \"CustomContextItemsController_list\": {\n method: \"GET\",\n path: \"/api/v1/context/custom-items\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"contextTypes\",\"verificationStatuses\",\"searchQuery\",\"topics\"],\n requestSchema: null,\n responseSchema: \"ListCustomContextItemsResponseDto\",\n },\n \"CustomContextItemsController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/context/custom-items/{uid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"uid\"],\n queryParams: [],\n requestSchema: \"UpdateCustomContextItemDto\",\n responseSchema: null,\n },\n \"EvaluationsController_getConfig\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/evaluations/config\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"EvaluationConfigDto\",\n },\n \"EvaluationsController_getRun\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/evaluations/runs/{runId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\",\"runId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"EvaluationRunWithResultsDto\",\n },\n \"EvaluationsController_listRuns\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/evaluations/runs\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListEvaluationRunsResponseDto\",\n },\n \"EvaluationsController_triggerRun\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/evaluations/runs\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"TriggerEvaluationRunResponseDto\",\n },\n \"EvaluationsController_updateConfig\": {\n method: \"PUT\",\n path: \"/api/v1/scopes/{id}/evaluations/config\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"UpdateEvaluationConfigDto\",\n responseSchema: \"EvaluationConfigDto\",\n },\n \"MemberGroupsController_list\": {\n method: \"GET\",\n path: \"/api/v1/users/member-groups\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListMemberGroupsResponseDto\",\n },\n \"ModusChatController_chat\": {\n method: \"POST\",\n path: \"/api/v1/modus/chat\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"ModusChatRequestDto\",\n responseSchema: \"ModusChatResponseDto\",\n },\n \"ModusChatController_chatContinue\": {\n method: \"POST\",\n path: \"/api/v1/modus/conversations/{threadId}/chat\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"threadId\"],\n queryParams: [],\n requestSchema: \"ModusChatRequestDto\",\n responseSchema: \"ModusChatResponseDto\",\n },\n \"ModusContextController_compose\": {\n method: \"POST\",\n path: \"/api/v1/modus/context\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"ModusContextRequestDto\",\n responseSchema: \"ModusContextResponseDto\",\n },\n \"ModusConversationsController_get\": {\n method: \"GET\",\n path: \"/api/v1/modus/conversations/{threadId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"threadId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"ConversationDto\",\n },\n \"ModusConversationsController_list\": {\n method: \"GET\",\n path: \"/api/v1/modus/conversations\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"page\",\"pageSize\",\"userId\",\"toolName\",\"timeframe\",\"includeTools\",\"kind\"],\n requestSchema: null,\n responseSchema: \"ListConversationsResponseDto\",\n },\n \"ModusRunsController_create\": {\n method: \"POST\",\n path: \"/agent/v1/modus/runs\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"ModusRunDto\",\n responseSchema: null,\n },\n \"OrgMembersController_list\": {\n method: \"GET\",\n path: \"/api/v1/users/org-members\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListOrgMembersResponseDto\",\n },\n \"OrganizationController_deleteOrganization\": {\n method: \"DELETE\",\n path: \"/api/v1/users/organization\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"ResumeRunsController_create\": {\n method: \"POST\",\n path: \"/agent/v1/runs/{runId}/resume\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"ResumeRunDto\",\n responseSchema: null,\n },\n \"RunLifecycleController_active\": {\n method: \"GET\",\n path: \"/agent/v1/runs/active\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\"],\n requestSchema: null,\n responseSchema: \"ActiveRunsResponseDto\",\n },\n \"RunLifecycleController_activeBySession\": {\n method: \"POST\",\n path: \"/agent/v1/runs/active-by-session\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"ActiveRunsBySessionDto\",\n responseSchema: \"ActiveRunsBySessionResponseDto\",\n },\n \"RunLifecycleController_cancel\": {\n method: \"POST\",\n path: \"/agent/v1/runs/{runId}/cancel\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"CancelRunDto\",\n responseSchema: null,\n },\n \"RunLifecycleController_editQueued\": {\n method: \"POST\",\n path: \"/agent/v1/runs/{runId}/queue-edit\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"EditQueuedRunDto\",\n responseSchema: null,\n },\n \"RunLifecycleController_events\": {\n method: \"GET\",\n path: \"/agent/v1/runs/{runId}/events\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"RunLifecycleController_interrupt\": {\n method: \"POST\",\n path: \"/agent/v1/runs/{runId}/interrupt\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"InterruptRunDto\",\n responseSchema: null,\n },\n \"RunLifecycleController_stream\": {\n method: \"GET\",\n path: \"/agent/v1/runs/{runId}/stream\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"ScopeChatController_chat\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/chat\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SkillChatRequestDto\",\n responseSchema: \"SkillChatResponseDto\",\n },\n \"ScopeChatController_chatContinue\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/conversations/{threadId}/chat\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\",\"threadId\"],\n queryParams: [],\n requestSchema: \"SkillChatRequestDto\",\n responseSchema: \"SkillChatResponseDto\",\n },\n \"ScopeContextController_compose\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/context\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"ComposeSkillContextRequestDto\",\n responseSchema: \"ComposeSkillContextResponseDto\",\n },\n \"ScopeConversationsController_get\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/conversations/{threadId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\",\"threadId\"],\n queryParams: [\"messageLimit\",\"beforeMessageIndex\"],\n requestSchema: null,\n responseSchema: \"ConversationDto\",\n },\n \"ScopeConversationsController_list\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/conversations\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"pageToken\",\"page\",\"pageSize\",\"userId\",\"toolName\",\"timeframe\",\"includeTools\"],\n requestSchema: null,\n responseSchema: \"ListConversationsResponseDto\",\n },\n \"ScopeMemoriesController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/scopes/{id}/memories/{memoryId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\",\"memoryId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"ScopeMemoriesController_list\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/memories\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"pageToken\",\"pageSize\",\"userId\",\"limit\"],\n requestSchema: null,\n responseSchema: \"ListMemoriesResponseDto\",\n },\n \"ScopeMemoriesController_search\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/memories/search\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SearchMemoriesRequestDto\",\n responseSchema: \"ListMemoriesResponseDto\",\n },\n \"ScopeMemoriesController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/scopes/{id}/memories/{memoryId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\",\"memoryId\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateMemoryRequestDto\",\n responseSchema: null,\n },\n \"ScopeRunsController_create\": {\n method: \"POST\",\n path: \"/agent/v1/scopes/{id}/runs\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SkillRunDto\",\n responseSchema: null,\n },\n \"ScopeSupervisionController_get\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/supervision\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"view\"],\n requestSchema: null,\n responseSchema: \"SupervisionDto\",\n },\n \"ScopeSupervisionController_set\": {\n method: \"PUT\",\n path: \"/api/v1/scopes/{id}/supervision\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SetSupervisionRequestDto\",\n responseSchema: \"SupervisionDto\",\n },\n \"ScopeSupervisionController_setActive\": {\n method: \"PUT\",\n path: \"/api/v1/scopes/{id}/supervision/active\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"SetSupervisionRequestDto\",\n responseSchema: \"SupervisionDto\",\n },\n \"ScopesController_acceptOwnershipTransfer\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/transfer-ownership/accept\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_cancelOwnershipTransfer\": {\n method: \"DELETE\",\n path: \"/api/v1/scopes/{id}/transfer-ownership\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_create\": {\n method: \"POST\",\n path: \"/api/v1/scopes\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateSkillDto\",\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/scopes/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"ScopesController_deploy\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/deploy\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"DeploySkillDto\",\n responseSchema: \"DeployResponseDto\",\n },\n \"ScopesController_get\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"view\"],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_getVariation\": {\n method: \"GET\",\n path: \"/api/v1/scopes/{id}/variations/{variationUid}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\",\"variationUid\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_list\": {\n method: \"GET\",\n path: \"/api/v1/scopes\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"view\",\"search\",\"managerId\",\"includeVariation\"],\n requestSchema: null,\n responseSchema: \"ListSkillsResponseDto\",\n },\n \"ScopesController_patchMcpConfig\": {\n method: \"PATCH\",\n path: \"/api/v1/scopes/{id}/mcp-config\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"PatchSkillMcpConfigDto\",\n responseSchema: \"PatchSkillMcpConfigResponseDto\",\n },\n \"ScopesController_requestOwnershipTransfer\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/transfer-ownership\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"TransferOwnershipDto\",\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_restore\": {\n method: \"POST\",\n path: \"/api/v1/scopes/{id}/restore\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"SkillDto\",\n },\n \"ScopesController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/scopes/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateSkillDto\",\n responseSchema: \"SkillDto\",\n },\n \"SuggestionsController_listApproved\": {\n method: \"GET\",\n path: \"/api/v1/suggestions/questions\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"skill_id\",\"skill_ids\"],\n requestSchema: null,\n responseSchema: \"ListSuggestionQuestionsResponseDto\",\n },\n \"SuggestionsController_recordEvent\": {\n method: \"POST\",\n path: \"/api/v1/suggestions/questions/{id}/events\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"RecordSuggestionEventDto\",\n responseSchema: null,\n },\n \"UsageController_list\": {\n method: \"GET\",\n path: \"/api/v1/usage\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"since\",\"until\",\"rollup\",\"model\",\"group_by\",\"skill_id\",\"agent_id\",\"user_id\",\"interface\"],\n requestSchema: null,\n responseSchema: \"ListUsageResponseDto\",\n },\n \"WorkflowActionsController_cancel\": {\n method: \"POST\",\n path: \"/agent/v1/workflow-actions/{runId}/cancel\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [\"runId\"],\n queryParams: [],\n requestSchema: \"CancelRunDto\",\n responseSchema: null,\n },\n \"WorkflowActionsController_execute\": {\n method: \"POST\",\n path: \"/agent/v1/workflow-actions\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"WorkflowActionDto\",\n responseSchema: null,\n },\n \"WorkflowInterfacesController_add\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/interfaces\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"AddAgentInterfaceDto\",\n responseSchema: \"AgentInterfaceDto\",\n },\n \"WorkflowInterfacesController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/workflows/{id}/interfaces/{interfaceId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\",\"interfaceId\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"WorkflowInterfacesController_deleteAll\": {\n method: \"DELETE\",\n path: \"/api/v1/workflows/{id}/interfaces\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"WorkflowInterfacesController_list\": {\n method: \"GET\",\n path: \"/api/v1/workflows/{id}/interfaces\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListAgentInterfacesResponseDto\",\n },\n \"WorkflowInterfacesController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/workflows/{id}/interfaces/{interfaceId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\",\"interfaceId\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateAgentInterfaceDto\",\n responseSchema: \"AgentInterfaceDto\",\n },\n \"WorkflowRunsController_create\": {\n method: \"POST\",\n path: \"/agent/v1/workflows/{id}/runs\",\n service: \"agent-service\",\n serverUrl: \"https://agent.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"AgentRunDto\",\n responseSchema: null,\n },\n \"WorkflowRunsController_get\": {\n method: \"GET\",\n path: \"/api/v1/workflows/{id}/runs/{runId}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\",\"runId\"],\n queryParams: [\"temporalRunId\"],\n requestSchema: null,\n responseSchema: \"GetAutomationRunResponseDto\",\n },\n \"WorkflowRunsController_list\": {\n method: \"GET\",\n path: \"/api/v1/workflows/{id}/runs\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"status\",\"timeframe\",\"approvalScope\",\"search\",\"pageSize\",\"pageToken\"],\n requestSchema: null,\n responseSchema: \"ListAutomationRunsResponseDto\",\n },\n \"WorkflowsController_acceptOwnershipTransfer\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/transfer-ownership/accept\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_cancelOwnershipTransfer\": {\n method: \"DELETE\",\n path: \"/api/v1/workflows/{id}/transfer-ownership\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_create\": {\n method: \"POST\",\n path: \"/api/v1/workflows\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [],\n requestSchema: \"CreateAgentDto\",\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_delete\": {\n method: \"DELETE\",\n path: \"/api/v1/workflows/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: null,\n },\n \"WorkflowsController_deploy\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/deploy\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"DeployAgentDto\",\n responseSchema: \"AgentDeployResponseDto\",\n },\n \"WorkflowsController_get\": {\n method: \"GET\",\n path: \"/api/v1/workflows/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"view\"],\n requestSchema: null,\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_list\": {\n method: \"GET\",\n path: \"/api/v1/workflows\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [],\n queryParams: [\"pageToken\",\"pageSize\",\"view\",\"type\",\"search\",\"includeVariation\"],\n requestSchema: null,\n responseSchema: \"ListAgentsResponseDto\",\n },\n \"WorkflowsController_requestOwnershipTransfer\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/transfer-ownership\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"TransferOwnershipDto\",\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_restore\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/restore\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: null,\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_toggle\": {\n method: \"POST\",\n path: \"/api/v1/workflows/{id}/toggle\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [],\n requestSchema: \"ToggleAgentDto\",\n responseSchema: \"AgentDto\",\n },\n \"WorkflowsController_update\": {\n method: \"PATCH\",\n path: \"/api/v1/workflows/{id}\",\n service: \"modus-api\",\n serverUrl: \"https://api.getmodus.com\",\n pathParams: [\"id\"],\n queryParams: [\"updateMask\"],\n requestSchema: \"UpdateAgentDto\",\n responseSchema: \"AgentDto\",\n },\n} as const satisfies Record<string, OperationSpec>\n\nexport type OperationId = keyof typeof OPERATIONS\n","import { resolveServiceBaseUrl } from './_config.js'\nimport { OPERATIONS, type OperationId, type OperationSpec } from './_generated/operations.js'\nimport type { HttpClient } from './_http.js'\n\nexport function getOperation(operationId: string): OperationSpec {\n if (!(operationId in OPERATIONS)) {\n throw new Error(\n `Unknown API operation ${JSON.stringify(operationId)}. Upgrade @getmodus/sdk or report a version mismatch.`,\n )\n }\n return OPERATIONS[operationId as OperationId]\n}\n\nfunction formatPath(template: string, pathParams: Record<string, unknown>): string {\n return template\n .split('/')\n .map((segment) => {\n if (!segment.startsWith('{') || !segment.endsWith('}')) return segment\n const key = segment.slice(1, -1)\n if (!(key in pathParams)) {\n throw new Error(`Missing path parameter ${JSON.stringify(key)} for ${JSON.stringify(template)}`)\n }\n return encodeURIComponent(String(pathParams[key]))\n })\n .join('/')\n}\n\nexport function operationBaseUrl(http: HttpClient, operation: OperationSpec): string {\n return resolveServiceBaseUrl(http.config, operation.service, operation.serverUrl)\n}\n\nexport function formatOperationPath(\n operationId: OperationId,\n pathParams: Record<string, unknown> = {},\n): string {\n return formatPath(getOperation(operationId).path, pathParams)\n}\n\ntype QueryValue =\n | string\n | number\n | boolean\n | null\n | undefined\n | readonly (string | number)[]\n\nexport async function invokeOperation(\n http: HttpClient,\n operationId: OperationId,\n options: {\n pathParams?: Record<string, unknown>\n query?: Record<string, QueryValue>\n jsonBody?: unknown\n headers?: Record<string, string>\n } = {},\n): Promise<unknown> {\n const op = getOperation(operationId)\n const path = formatPath(op.path, options.pathParams ?? {})\n const params = options.query\n const requestOptions = {\n baseUrl: operationBaseUrl(http, op),\n headers: options.headers,\n }\n\n switch (op.method) {\n case 'GET':\n return http.get(path, params, requestOptions)\n case 'POST':\n return http.post(path, options.jsonBody, requestOptions)\n case 'PUT':\n return http.put(path, options.jsonBody, requestOptions)\n case 'PATCH':\n return http.patch(path, options.jsonBody, params, requestOptions)\n case 'DELETE':\n return http.delete(path, requestOptions)\n default:\n throw new Error(`Unsupported HTTP method ${JSON.stringify(op.method)}`)\n }\n}\n","import {\n APIConnectionError,\n InternalServerError,\n NotFoundError,\n RateLimitError,\n} from './_exceptions.js'\n\nconst DEPLOY_NOT_FOUND_BACKOFF_MS = 500\nconst MAX_DEPLOY_NOT_FOUND_RETRIES = 1\n\nexport interface WithRetryOptions {\n /** Read-after-write on deploy; one short retry on 404. */\n retryNotFoundOnDeploy?: boolean\n}\n\nconst RETRYABLE = [RateLimitError, InternalServerError, APIConnectionError] as const\n\nfunction isRetryable(error: unknown): error is InstanceType<(typeof RETRYABLE)[number]> {\n return RETRYABLE.some((Cls) => error instanceof Cls)\n}\n\nfunction backoffSeconds(attempt: number, error: unknown): number {\n if (error instanceof RateLimitError && error.retryAfter !== undefined) {\n return Math.max(0, error.retryAfter)\n }\n if (attempt === 0) return 0\n return Math.max(0.5, 2 ** (attempt - 1) + (Math.random() * 0.6 - 0.3))\n}\n\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n\nexport async function withRetry<T>(\n fn: () => Promise<T>,\n maxRetries: number,\n options: WithRetryOptions = {},\n): Promise<T> {\n let deployNotFoundRetries = 0\n let attempt = 0\n while (true) {\n try {\n return await fn()\n } catch (error) {\n if (\n options.retryNotFoundOnDeploy &&\n error instanceof NotFoundError &&\n deployNotFoundRetries < MAX_DEPLOY_NOT_FOUND_RETRIES\n ) {\n deployNotFoundRetries++\n await sleep(DEPLOY_NOT_FOUND_BACKOFF_MS)\n continue\n }\n if (!isRetryable(error) || attempt >= maxRetries) throw error\n await sleep(backoffSeconds(attempt, error) * 1000)\n attempt++\n }\n }\n}\n","/** Generated by emit-openapi-write-body-keys.mjs — do not edit. */\nimport type { OperationId } from './operations.js'\n\nexport const WRITE_BODY_ALLOWED_KEYS: Partial<Record<OperationId, readonly string[]>> = {\n ContextCreatorsController_createLink: [\"url\", \"title\", \"isCrawl\", \"pageLimit\"],\n ContextCreatorsController_createNote: [\"title\", \"content\"],\n ContextCreatorsController_createSavedQuery: [\"name\", \"connectionId\", \"query\", \"description\", \"path\"],\n ContextItemsController_lookup: [\"contextType\", \"dataPath\", \"contentProjection\"],\n ContextItemsController_update: [\"contextType\", \"content\", \"description\", \"userFeedback\", \"topics\"],\n CustomContextItemsController_batchCreate: [\"items\"],\n CustomContextItemsController_create: [\"kind\", \"sourceId\", \"sourceName\", \"collectionId\", \"collectionName\", \"externalId\", \"fieldName\", \"name\", \"entityType\", \"description\", \"content\", \"url\", \"attributes\", \"dataType\", \"value\", \"samples\", \"raw\", \"topics\", \"idempotencyKey\", \"access\"],\n CustomContextItemsController_update: [\"name\", \"entityType\", \"description\", \"content\", \"url\", \"attributes\", \"dataType\", \"value\", \"samples\", \"raw\", \"topics\"],\n EvaluationsController_updateConfig: [\"enabled\", \"cadence\", \"judgeModel\", \"judgeGuidance\", \"notifications\"],\n ModusChatController_chat: [\"message\", \"model\"],\n ModusContextController_compose: [\"message\", \"limit\"],\n ModusRunsController_create: [\"message\", \"sessionId\", \"organizationId\", \"version\", \"fileThreadId\", \"config\", \"attachments\", \"userContext\", \"source\", \"runId\", \"subordinateSkillIds\"],\n ResumeRunsController_create: [\"message\", \"sessionId\", \"organizationId\", \"version\", \"fileThreadId\", \"config\", \"attachments\", \"userContext\", \"source\", \"runId\", \"decision\"],\n RunLifecycleController_activeBySession: [\"sessionIds\"],\n RunLifecycleController_cancel: [],\n RunLifecycleController_editQueued: [],\n RunLifecycleController_interrupt: [],\n ScopeChatController_chat: [\"message\", \"model\"],\n ScopeContextController_compose: [\"message\", \"limit\"],\n ScopeMemoriesController_search: [\"query\", \"userId\", \"limit\"],\n ScopeMemoriesController_update: [\"memory\", \"metadata\"],\n ScopeRunsController_create: [\"message\", \"sessionId\", \"organizationId\", \"version\", \"fileThreadId\", \"config\", \"attachments\", \"userContext\", \"source\", \"runId\", \"subordinateSkillIds\"],\n ScopesController_acceptOwnershipTransfer: [],\n ScopesController_create: [\"name\", \"description\", \"expectedOutput\", \"instructions\", \"toolset\", \"model\", \"connectionSet\", \"contextSelections\", \"interfaces\", \"accessConfig\"],\n ScopesController_deploy: [],\n ScopesController_patchMcpConfig: [\"config\"],\n ScopesController_requestOwnershipTransfer: [\"newOwnerUserId\"],\n ScopesController_restore: [],\n ScopesController_update: [\"name\", \"description\", \"expectedOutput\", \"instructions\", \"toolset\", \"model\", \"connectionSet\", \"contextSelections\", \"interfaces\", \"accessConfig\", \"managerId\", \"evaluations\", \"supervisionSubordinateDescriptions\"],\n ScopeSupervisionController_set: [\"subordinateAgentIds\"],\n ScopeSupervisionController_setActive: [\"subordinateAgentIds\"],\n SuggestionsController_recordEvent: [\"event_type\", \"source\", \"skill_id\", \"thread_id\", \"metadata\"],\n WorkflowActionsController_cancel: [],\n WorkflowActionsController_execute: [\"organizationId\", \"sessionId\", \"fileThreadId\", \"workflowAction\", \"previousOutputs\", \"userTimezone\", \"runId\", \"automationId\", \"source\"],\n WorkflowInterfacesController_add: [\"type\", \"name\", \"config\"],\n WorkflowInterfacesController_update: [\"name\", \"config\"],\n WorkflowRunsController_create: [\"message\", \"sessionId\", \"organizationId\", \"version\", \"fileThreadId\", \"config\", \"attachments\", \"userContext\", \"source\", \"runId\"],\n WorkflowsController_acceptOwnershipTransfer: [],\n WorkflowsController_create: [\"name\", \"type\", \"description\", \"trigger\", \"agentSelection\", \"workflowStructure\", \"accessConfig\"],\n WorkflowsController_deploy: [],\n WorkflowsController_requestOwnershipTransfer: [\"newOwnerUserId\"],\n WorkflowsController_restore: [],\n WorkflowsController_toggle: [\"active\"],\n WorkflowsController_update: [\"name\", \"type\", \"description\", \"trigger\", \"agentSelection\", \"workflowStructure\", \"accessConfig\"],\n}\n","import type { OperationId } from './_generated/operations.js'\nimport { WRITE_BODY_ALLOWED_KEYS } from './_generated/write-body-keys.js'\nimport { ValidationError } from './_exceptions.js'\n\nexport const DEFAULT_MAX_PAGE_SIZE = 200\n\nexport function validatePageSize(pageSize: number, maxPageSize?: number): void {\n if (!Number.isInteger(pageSize) || pageSize < 1) {\n throw new Error(`page_size must be a positive int, got ${pageSize}`)\n }\n if (maxPageSize !== undefined && pageSize > maxPageSize) {\n throw new Error(`page_size must be <= ${maxPageSize}, got ${pageSize}`)\n }\n}\n\nexport function validateId(resourceId: number | string, name = 'id'): void {\n if (typeof resourceId === 'string' && !resourceId.trim()) {\n throw new Error(`${name} must be a non-empty string or int`)\n }\n}\n\n// Keep in sync with SkillChatRequestDto.model in the public API contract.\nconst ALLOWED_CHAT_MODELS = new Set([\n 'claude-sonnet-5',\n 'claude-sonnet-4.6',\n 'claude-opus-4.8',\n 'gpt-5.2',\n 'gpt-5.5',\n 'gpt-5-mini',\n 'gpt-oss-120b',\n 'gpt-oss-20b',\n 'qwen3-235b-a22b-2507',\n 'qwen3-coder',\n 'qwen3-32b',\n 'deepseek-chat-v3.1',\n 'minimax-m2.7',\n 'llama-4-maverick',\n 'llama-4-scout',\n 'llama-3.3-70b-instruct',\n 'gemini-3.1-pro-preview',\n 'gemini-3-flash-preview',\n 'grok-4.3-fast',\n 'grok-4.3',\n])\n\nexport function validateChatModel(model: string): void {\n if (!ALLOWED_CHAT_MODELS.has(model)) {\n const supported = [...ALLOWED_CHAT_MODELS].sort().join(', ')\n throw new Error(`Unsupported model ${JSON.stringify(model)}. Choose one of: ${supported}.`)\n }\n}\n\nexport function assertWriteBodyKeys(operationId: OperationId, body: unknown): void {\n const allowed = WRITE_BODY_ALLOWED_KEYS[operationId]\n if (allowed === undefined) return\n if (body === undefined || body === null) return\n if (typeof body !== 'object' || Array.isArray(body)) {\n throw new ValidationError(`Request body must be a plain object for ${operationId}`)\n }\n const allowedSet = new Set(allowed)\n const extra = Object.keys(body as Record<string, unknown>).filter((k) => !allowedSet.has(k))\n if (extra.length > 0) {\n throw new ValidationError(\n `${operationId}: disallowed request body field(s): ${extra.sort().join(', ')}`,\n )\n }\n}\n","import type { ModusConfig } from './_config.js'\nimport type { OperationId } from './_generated/operations.js'\nimport type { HttpClient } from './_http.js'\nimport { invokeOperation } from './_openapi-invoke.js'\nimport { withRetry } from './_retry.js'\nimport { assertWriteBodyKeys } from './_validation.js'\n\nexport async function invokeWithRetry(\n config: ModusConfig,\n http: HttpClient,\n operationId: OperationId,\n options: {\n pathParams?: Record<string, unknown>\n query?: Record<string, string | number | boolean | readonly (string | number)[] | undefined | null>\n jsonBody?: unknown\n headers?: Record<string, string>\n } = {},\n): Promise<unknown> {\n if (options.jsonBody !== undefined) {\n assertWriteBodyKeys(operationId, options.jsonBody)\n }\n return withRetry(() => invokeOperation(http, operationId, options), config.maxRetries, {\n retryNotFoundOnDeploy: operationId.endsWith('_deploy'),\n })\n}\n\nexport function omitUndefined<T extends Record<string, unknown>>(obj: T): Record<string, unknown> {\n return Object.fromEntries(\n Object.entries(obj).filter((entry): entry is [string, unknown] => entry[1] !== undefined),\n )\n}\n\nexport function asRecord(data: unknown): Record<string, unknown> {\n if (typeof data === 'object' && data !== null && !Array.isArray(data)) {\n return data as Record<string, unknown>\n }\n throw new Error(`Expected object response, got ${typeof data}`)\n}\n","const EVERYONE_GROUP_ID = '__everyone__'\n\nexport function accessConfigWireForCreate(guardrails: string[]): Record<string, unknown> {\n return {\n visibility: 'shared',\n groupPermissions: { [EVERYONE_GROUP_ID]: { use: true, manage: true } },\n guardrails,\n sharedWith: [],\n }\n}\n\nexport function accessConfigWireForUpdate(\n existing: Record<string, unknown> | undefined,\n guardrails: string[],\n): Record<string, unknown> {\n if (!existing || Object.keys(existing).length === 0) {\n return accessConfigWireForCreate(guardrails)\n }\n return { ...existing, guardrails }\n}\n\nexport function accessFromSkillResponse(raw: Record<string, unknown>): Record<string, unknown> {\n const value = raw.accessConfig ?? raw.access_config\n if (value && typeof value === 'object' && !Array.isArray(value)) {\n return value as Record<string, unknown>\n }\n return {}\n}\n\nexport function accessConfigBodyForCreate(\n guardrails?: string[],\n): Record<string, unknown> | undefined {\n if (guardrails === undefined) return undefined\n return accessConfigWireForCreate(guardrails)\n}\n\nexport async function accessConfigBodyForUpdate(\n guardrails: string[] | undefined,\n loadResource: () => Promise<Record<string, unknown>>,\n): Promise<Record<string, unknown> | undefined> {\n if (guardrails === undefined) return undefined\n const existing = accessFromSkillResponse(await loadResource())\n return accessConfigWireForUpdate(existing, guardrails)\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId } from '../../_validation.js'\nimport type { components } from '../../_generated/v1.js'\n\nexport type AgentInterface = components['schemas']['AgentInterfaceDto']\nexport type AddAgentInterface = components['schemas']['AddAgentInterfaceDto']\nexport type UpdateAgentInterface = components['schemas']['UpdateAgentInterfaceDto']\n\nexport class WorkflowInterfacesResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly workflowId: number | string,\n ) {}\n\n async list(): Promise<AgentInterface[]> {\n validateId(this.workflowId, 'workflow_id')\n const data = await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_list', {\n pathParams: { id: this.workflowId },\n }) as { interfaces: AgentInterface[] }\n return data.interfaces\n }\n\n async create(options: AddAgentInterface): Promise<AgentInterface> {\n validateId(this.workflowId, 'workflow_id')\n return await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_add', {\n pathParams: { id: this.workflowId },\n jsonBody: omitUndefined(options),\n }) as AgentInterface\n }\n\n async update(interfaceId: string, options: UpdateAgentInterface, updateMask?: string): Promise<AgentInterface> {\n validateId(this.workflowId, 'workflow_id')\n validateId(interfaceId, 'interface_id')\n return await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_update', {\n pathParams: { id: this.workflowId, interfaceId },\n query: updateMaskQuery(updateMask),\n jsonBody: updateMask === undefined ? omitUndefined(options) : options,\n }) as AgentInterface\n }\n\n async delete(interfaceId: string): Promise<void> {\n validateId(this.workflowId, 'workflow_id')\n validateId(interfaceId, 'interface_id')\n await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_delete', {\n pathParams: { id: this.workflowId, interfaceId },\n })\n }\n\n async deleteAll(): Promise<void> {\n validateId(this.workflowId, 'workflow_id')\n await invokeWithRetry(this.config, this.http, 'WorkflowInterfacesController_deleteAll', {\n pathParams: { id: this.workflowId },\n })\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { OperationId } from '../../_generated/operations.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport type { Agent, AgentType } from '../../types/agents.js'\nimport type { VariationView } from '../../types/views.js'\nimport {\n accessConfigBodyForCreate,\n accessConfigBodyForUpdate,\n} from '../_access-config.js'\nimport { WorkflowInterfacesResource } from './interfaces.js'\n\nexport type TriggerInput = Record<string, unknown>\nexport type AgentSelectionInput = Record<string, unknown>\nexport type WorkflowGraphInput = Record<string, unknown>\n\n/** The canonical `/api/v1/workflows` management operationIds. */\ninterface ManagementWorkflowsOperations {\n readonly list: OperationId\n readonly get: OperationId\n readonly create: OperationId\n readonly update: OperationId\n readonly deploy: OperationId\n readonly delete: OperationId\n readonly restore: OperationId\n readonly requestOwnershipTransfer: OperationId\n readonly cancelOwnershipTransfer: OperationId\n readonly acceptOwnershipTransfer: OperationId\n readonly toggle: OperationId\n}\n\nconst MANAGEMENT_WORKFLOW_OPERATIONS: ManagementWorkflowsOperations = {\n list: 'WorkflowsController_list',\n get: 'WorkflowsController_get',\n create: 'WorkflowsController_create',\n update: 'WorkflowsController_update',\n deploy: 'WorkflowsController_deploy',\n delete: 'WorkflowsController_delete',\n restore: 'WorkflowsController_restore',\n requestOwnershipTransfer: 'WorkflowsController_requestOwnershipTransfer',\n cancelOwnershipTransfer: 'WorkflowsController_cancelOwnershipTransfer',\n acceptOwnershipTransfer: 'WorkflowsController_acceptOwnershipTransfer',\n toggle: 'WorkflowsController_toggle',\n}\n\nfunction workflowsListParams(\n pageSize: number,\n pageToken: string | undefined,\n search?: string,\n type?: AgentType,\n view?: VariationView,\n includeVariation?: boolean,\n): Record<string, string | number | boolean | undefined | null> {\n const extra: Record<string, string | number | boolean | undefined | null> = {}\n if (search !== undefined) extra.search = search\n if (type !== undefined) extra.type = type\n if (view !== undefined) extra.view = view\n if (includeVariation !== undefined) extra.includeVariation = includeVariation\n return aipListParams(pageSize, pageToken, extra) as Record<\n string,\n string | number | boolean | undefined | null\n >\n}\n\nfunction parseWorkflow(raw: unknown): Agent {\n return raw as Agent\n}\n\nexport interface CreateAgentOptions {\n name: string\n type: AgentType\n description?: string\n trigger?: TriggerInput\n agentSelection?: AgentSelectionInput\n workflowStructure?: WorkflowGraphInput\n guardrails?: string[]\n}\n\nexport interface UpdateAgentOptions {\n name?: string\n type?: AgentType\n description?: string\n trigger?: TriggerInput\n agentSelection?: AgentSelectionInput\n workflowStructure?: WorkflowGraphInput\n guardrails?: string[]\n updateMask?: string\n}\n\nexport class ManagementWorkflowsResource {\n protected readonly ops: ManagementWorkflowsOperations = MANAGEMENT_WORKFLOW_OPERATIONS\n\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n list(options: {\n pageSize?: number\n pageToken?: string\n search?: string\n type?: AgentType\n view?: VariationView\n includeVariation?: boolean\n } = {}): Promise<Page<Agent>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(\n pageSize,\n options.pageToken,\n options.search,\n options.type,\n options.view,\n options.includeVariation,\n )\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n search?: string,\n type?: AgentType,\n view?: VariationView,\n includeVariation?: boolean,\n ): Promise<Page<Agent>> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.list, {\n query: workflowsListParams(pageSize, pageToken, search, type, view, includeVariation),\n }),\n )\n // Envelope key is the server DTO property name (`agents`) — unchanged by\n // the rename, which only moved paths/opIds/tags to the workflows vocab.\n return buildAipPage(data, 'agents', parseWorkflow, (token) =>\n this.listPage(pageSize, token, search, type, view, includeVariation),\n )\n }\n\n async get(workflowId: number | string, options: { view?: VariationView } = {}): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const query = options.view !== undefined ? { view: options.view } : undefined\n const data = await invokeWithRetry(this.config, this.http, this.ops.get, {\n pathParams: { id: workflowId },\n query,\n })\n return parseWorkflow(data)\n }\n\n interfaces(workflowId: number | string): WorkflowInterfacesResource {\n return new WorkflowInterfacesResource(this.http, this.config, workflowId)\n }\n\n async create(options: CreateAgentOptions): Promise<Agent> {\n const body = omitUndefined({\n name: options.name,\n type: options.type,\n description: options.description,\n trigger: options.trigger,\n agentSelection: options.agentSelection,\n workflowStructure: options.workflowStructure,\n accessConfig: accessConfigBodyForCreate(options.guardrails),\n })\n const data = await invokeWithRetry(this.config, this.http, this.ops.create, {\n jsonBody: body,\n })\n return parseWorkflow(data)\n }\n\n async update(workflowId: number | string, options: UpdateAgentOptions = {}): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const accessConfig = await accessConfigBodyForUpdate(options.guardrails, async () =>\n asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.get, {\n pathParams: { id: workflowId },\n }),\n ),\n )\n const fields = {\n name: options.name,\n type: options.type,\n description: options.description,\n trigger: options.trigger,\n agentSelection: options.agentSelection,\n workflowStructure: options.workflowStructure,\n accessConfig,\n }\n const body = options.updateMask !== undefined ? fields : omitUndefined(fields)\n const data = await invokeWithRetry(this.config, this.http, this.ops.update, {\n pathParams: { id: workflowId },\n query: updateMaskQuery(options.updateMask),\n jsonBody: body,\n })\n return parseWorkflow(data)\n }\n\n async deploy(workflowId: number | string): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.deploy, {\n pathParams: { id: workflowId },\n jsonBody: {},\n }),\n )\n return parseWorkflow(data.agent)\n }\n\n async toggle(workflowId: number | string, options: { active: boolean }): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(this.config, this.http, this.ops.toggle, {\n pathParams: { id: workflowId },\n jsonBody: { active: options.active },\n })\n return parseWorkflow(data)\n }\n\n async delete(workflowId: number | string): Promise<void> {\n validateId(workflowId, 'workflow_id')\n await invokeWithRetry(this.config, this.http, this.ops.delete, {\n pathParams: { id: workflowId },\n })\n }\n\n async restore(workflowId: number | string): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(this.config, this.http, this.ops.restore, {\n pathParams: { id: workflowId },\n jsonBody: {},\n })\n return parseWorkflow(data)\n }\n\n async requestOwnershipTransfer(\n workflowId: number | string,\n options: { newOwnerUserId: string },\n ): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.requestOwnershipTransfer,\n {\n pathParams: { id: workflowId },\n jsonBody: omitUndefined({ newOwnerUserId: options.newOwnerUserId }),\n },\n )\n return parseWorkflow(data)\n }\n\n async cancelOwnershipTransfer(workflowId: number | string): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.cancelOwnershipTransfer,\n { pathParams: { id: workflowId } },\n )\n return parseWorkflow(data)\n }\n\n async acceptOwnershipTransfer(workflowId: number | string): Promise<Agent> {\n validateId(workflowId, 'workflow_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.acceptOwnershipTransfer,\n { pathParams: { id: workflowId }, jsonBody: {} },\n )\n return parseWorkflow(data)\n }\n}\n","import type { components } from '../_generated/v1.js'\n\nexport type ContextItem = components['schemas']['ContextItemDto']\nexport type ContextItemLookupRow = components['schemas']['LookupContextItemRowDto']\nexport type ContextItemDeletion = components['schemas']['DeleteContextItemResponseDto']\n/** Create response; ``uid`` mirrors ``contextItemId`` for list/get parity. */\nexport type CreatedContextItem = components['schemas']['CreatedContextItemResponseDto'] & {\n uid: string\n}\nexport type ContextType = string\n\nexport function withCreatedUid(\n data: components['schemas']['CreatedContextItemResponseDto'],\n): CreatedContextItem {\n return { ...data, uid: data.contextItemId }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validatePageSize } from '../../_validation.js'\nimport type { ContextItem } from '../../types/context.js'\n\nexport type CustomContextItemKind =\n | 'source'\n | 'collection'\n | 'entity'\n | 'field'\n | 'entity_samples'\n\nexport interface CustomAttributeInput {\n name: string\n dataType?: string\n value?: unknown\n}\n\nexport interface CreateCustomContextItemInput {\n kind: CustomContextItemKind\n sourceId: string\n sourceName?: string\n collectionId?: string\n collectionName?: string\n externalId?: string\n fieldName?: string\n name?: string\n entityType?: string\n description?: string\n content?: unknown\n url?: string\n attributes?: CustomAttributeInput[]\n dataType?: string\n value?: unknown\n samples?: unknown[]\n raw?: Record<string, unknown>\n topics?: string[]\n idempotencyKey?: string\n}\n\nexport type UpdateCustomContextItemInput = Omit<\n Partial<CreateCustomContextItemInput>,\n 'kind' | 'sourceId' | 'sourceName' | 'collectionId' | 'collectionName' | 'externalId' | 'fieldName' | 'idempotencyKey'\n>\n\nexport interface CreatedCustomContextItem {\n contextItemId: string\n contextType: string\n dataPath: string[]\n title: string | null\n}\n\nexport interface CustomContextItemDeletion {\n uid: string\n contextType: string\n}\n\nfunction parseContextItem(raw: unknown): ContextItem {\n return raw as ContextItem\n}\n\nfunction parseCreatedCustomContextItem(raw: unknown): CreatedCustomContextItem {\n return raw as CreatedCustomContextItem\n}\n\nfunction parseDeletion(raw: unknown): CustomContextItemDeletion {\n return raw as CustomContextItemDeletion\n}\n\nexport class CustomContextItemsResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n list(options: {\n pageSize?: number\n pageToken?: string\n searchQuery?: string\n topics?: string[]\n } = {}): Promise<Page<ContextItem>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(pageSize, options.pageToken, options)\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n options: { searchQuery?: string; topics?: string[] },\n ): Promise<Page<ContextItem>> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_list', {\n query: aipListParams(pageSize, pageToken, {\n searchQuery: options.searchQuery,\n topics: options.topics,\n }) as Record<string, string | number | boolean | readonly string[] | undefined | null>,\n }),\n )\n return buildAipPage(data, 'contextItems', parseContextItem, (token) =>\n this.listPage(pageSize, token, options),\n )\n }\n\n async get(uid: string): Promise<ContextItem> {\n return parseContextItem(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_get', {\n pathParams: { uid },\n }),\n )\n }\n\n async create(input: CreateCustomContextItemInput): Promise<CreatedCustomContextItem> {\n return parseCreatedCustomContextItem(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_create', {\n jsonBody: omitUndefined(input as unknown as Record<string, unknown>),\n }),\n )\n }\n\n async batchCreate(inputs: CreateCustomContextItemInput[]): Promise<CreatedCustomContextItem[]> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_batchCreate', {\n jsonBody: {\n items: inputs.map((input) => omitUndefined(input as unknown as Record<string, unknown>)),\n },\n }),\n )\n const items = data.contextItems\n return Array.isArray(items) ? items.map(parseCreatedCustomContextItem) : []\n }\n\n async update(uid: string, input: UpdateCustomContextItemInput): Promise<{ uid: string }> {\n return asRecord(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_update', {\n pathParams: { uid },\n jsonBody: omitUndefined(input as unknown as Record<string, unknown>),\n }),\n ) as { uid: string }\n }\n\n async delete(uid: string): Promise<CustomContextItemDeletion> {\n return parseDeletion(\n await invokeWithRetry(this.config, this.http, 'CustomContextItemsController_delete', {\n pathParams: { uid },\n }),\n )\n }\n}\n","import type { ContextItem } from '../../types/context.js'\nimport type { ManagementContextItemsResource } from './items.js'\n\nexport type UserFeedback = 'positive' | 'neutral' | 'negative'\n\nfunction requireContentDict(item: ContextItem, contextType: string): Record<string, unknown> {\n if (item.contextType !== contextType) {\n throw new Error(`Expected contextType ${contextType}, got ${item.contextType}.`)\n }\n if (!item.content || typeof item.content !== 'object' || Array.isArray(item.content)) {\n throw new Error(`Context item ${item.uid} has no object content; cannot merge ${contextType} fields.`)\n }\n return item.content as Record<string, unknown>\n}\n\nexport function mergeNoteContent(\n existing: Record<string, unknown>,\n options: { title: string; body: string },\n): Record<string, unknown> {\n return { ...existing, title: options.title, content: options.body }\n}\n\nexport function mergeLinkContent(\n existing: Record<string, unknown>,\n options: { title?: string; url?: string },\n): Record<string, unknown> {\n const merged = { ...existing }\n if (options.title !== undefined) merged.title = options.title\n if (options.url !== undefined) merged.url = options.url\n return merged\n}\n\nexport function mergeSavedQueryContent(\n existing: Record<string, unknown>,\n options: {\n name: string\n query: string\n connectionId?: string\n path?: string[]\n },\n): Record<string, unknown> {\n const merged: Record<string, unknown> = { ...existing, name: options.name, query: options.query }\n if (options.connectionId !== undefined) merged.connectionId = options.connectionId\n if (options.path !== undefined) merged.path = options.path\n return merged\n}\n\nasync function resolveExistingContent(\n items: ManagementContextItemsResource,\n uid: string,\n contextType: string,\n existing?: ContextItem,\n): Promise<Record<string, unknown>> {\n const item = existing ?? (await items.get(uid))\n return requireContentDict(item, contextType)\n}\n\nexport async function updateWithMergedContent(\n items: ManagementContextItemsResource,\n uid: string,\n options: {\n contextType: string\n mergedContent: Record<string, unknown>\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n): Promise<ContextItem> {\n if (options.existing) requireContentDict(options.existing, options.contextType)\n return items.update(uid, {\n contextType: options.contextType,\n content: options.mergedContent,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n}\n\nexport async function resolveAndUpdateNote(\n items: ManagementContextItemsResource,\n uid: string,\n options: {\n title: string\n body: string\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n): Promise<ContextItem> {\n const content = await resolveExistingContent(items, uid, 'note', options.existing)\n return updateWithMergedContent(items, uid, {\n contextType: 'note',\n mergedContent: mergeNoteContent(content, { title: options.title, body: options.body }),\n existing: options.existing,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n}\n\nexport async function resolveAndUpdateSavedQuery(\n items: ManagementContextItemsResource,\n uid: string,\n options: {\n name: string\n query: string\n connectionId?: string\n path?: string[]\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n): Promise<ContextItem> {\n const content = await resolveExistingContent(items, uid, 'saved_query', options.existing)\n return updateWithMergedContent(items, uid, {\n contextType: 'saved_query',\n mergedContent: mergeSavedQueryContent(content, options),\n existing: options.existing,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n}\n\nexport async function resolveAndUpdateLink(\n items: ManagementContextItemsResource,\n uid: string,\n options: {\n title?: string\n url?: string\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n): Promise<ContextItem> {\n if (\n options.title === undefined &&\n options.url === undefined &&\n options.description === undefined &&\n options.userFeedback === undefined &&\n options.topics === undefined\n ) {\n throw new Error('Provide at least one field to update.')\n }\n if (options.title === undefined && options.url === undefined) {\n return items.update(uid, {\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n }\n const content = await resolveExistingContent(items, uid, 'link', options.existing)\n return updateWithMergedContent(items, uid, {\n contextType: 'link',\n mergedContent: mergeLinkContent(content, { title: options.title, url: options.url }),\n existing: options.existing,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validatePageSize } from '../../_validation.js'\nimport type { ContextItem, ContextItemDeletion } from '../../types/context.js'\nimport type { UserFeedback } from './_content-merge.js'\n\nfunction contextListParams(\n pageSize: number,\n pageToken: string | undefined,\n contextType?: string,\n): Record<string, string | number | boolean | readonly string[] | undefined | null> {\n const extra: Record<string, string | readonly string[]> = {}\n if (contextType !== undefined) extra.contextTypes = [contextType]\n return aipListParams(pageSize, pageToken, extra) as Record<\n string,\n string | number | boolean | readonly string[] | undefined | null\n >\n}\n\nfunction parseContextItem(raw: unknown): ContextItem {\n return raw as ContextItem\n}\n\nexport class ManagementContextItemsResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n list(options: {\n pageSize?: number\n pageToken?: string\n contextType?: string\n } = {}): Promise<Page<ContextItem>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(pageSize, options.pageToken, options.contextType)\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n contextType?: string,\n ): Promise<Page<ContextItem>> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'ContextItemsController_list', {\n query: contextListParams(pageSize, pageToken, contextType),\n }),\n )\n return buildAipPage(data, 'contextItems', parseContextItem, (token) =>\n this.listPage(pageSize, token, contextType),\n )\n }\n\n async get(uid: string): Promise<ContextItem> {\n const data = await invokeWithRetry(this.config, this.http, 'ContextItemsController_get', {\n pathParams: { uid },\n })\n return parseContextItem(data)\n }\n\n async update(\n uid: string,\n options: {\n content?: unknown\n contextType?: string\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n updateMask?: string\n } = {},\n ): Promise<ContextItem> {\n const body =\n options.updateMask !== undefined\n ? {\n content: options.content,\n contextType: options.contextType,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n }\n : omitUndefined({\n content: options.content,\n contextType: options.contextType,\n description: options.description,\n userFeedback: options.userFeedback,\n topics: options.topics,\n })\n await invokeWithRetry(this.config, this.http, 'ContextItemsController_update', {\n pathParams: { uid },\n query: updateMaskQuery(options.updateMask),\n jsonBody: body,\n })\n return this.get(uid)\n }\n\n async delete(uid: string): Promise<ContextItemDeletion> {\n const data = await invokeWithRetry(this.config, this.http, 'ContextItemsController_delete', {\n pathParams: { uid },\n })\n return data as ContextItemDeletion\n }\n}\n","import type { OperationId } from '../../_generated/operations.js'\nimport type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { invokeWithRetry, omitUndefined } from '../../_request.js'\nimport type { ContextItem, CreatedContextItem } from '../../types/context.js'\nimport { withCreatedUid } from '../../types/context.js'\nimport { CustomContextItemsResource } from '../../resources/context/custom-items.js'\nimport {\n resolveAndUpdateLink,\n resolveAndUpdateNote,\n resolveAndUpdateSavedQuery,\n type UserFeedback,\n} from './_content-merge.js'\nimport { ManagementContextItemsResource } from './items.js'\n\nexport class ManagementContextResource {\n readonly items: ManagementContextItemsResource\n readonly customItems: CustomContextItemsResource\n\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {\n this.items = new ManagementContextItemsResource(http, config)\n this.customItems = new CustomContextItemsResource(http, config)\n }\n\n private async create(operationId: OperationId, payload: Record<string, unknown>): Promise<CreatedContextItem> {\n const data = await invokeWithRetry(this.config, this.http, operationId, {\n jsonBody: payload,\n })\n return withCreatedUid(data as Parameters<typeof withCreatedUid>[0])\n }\n\n createNote(title: string, content: string): Promise<CreatedContextItem> {\n return this.create('ContextCreatorsController_createNote', omitUndefined({ title, content }))\n }\n\n updateNote(\n uid: string,\n options: {\n title: string\n body: string\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n ): Promise<ContextItem> {\n return resolveAndUpdateNote(this.items, uid, options)\n }\n\n createSavedQuery(\n name: string,\n options: {\n query?: string\n connectionId: string\n description?: string\n path?: string[]\n },\n ): Promise<CreatedContextItem> {\n return this.create(\n 'ContextCreatorsController_createSavedQuery',\n omitUndefined({\n name,\n query: options.query,\n connectionId: options.connectionId,\n description: options.description,\n path: options.path,\n }),\n )\n }\n\n updateSavedQuery(\n uid: string,\n options: {\n name: string\n query: string\n connectionId?: string\n path?: string[]\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n ): Promise<ContextItem> {\n return resolveAndUpdateSavedQuery(this.items, uid, options)\n }\n\n createLink(\n url: string,\n options: { title?: string; isCrawl?: boolean; pageLimit?: number } = {},\n ): Promise<CreatedContextItem> {\n return this.create(\n 'ContextCreatorsController_createLink',\n omitUndefined({\n url,\n title: options.title,\n isCrawl: options.isCrawl,\n pageLimit: options.pageLimit,\n }),\n )\n }\n\n updateLink(\n uid: string,\n options: {\n title?: string\n url?: string\n existing?: ContextItem\n description?: string\n userFeedback?: UserFeedback\n topics?: string[]\n },\n ): Promise<ContextItem> {\n return resolveAndUpdateLink(this.items, uid, options)\n }\n}\n\nexport type { UserFeedback } from './_content-merge.js'\n","import type { ModusConfig } from '../_config.js'\nimport type { HttpClient } from '../_http.js'\nimport { invokeWithRetry } from '../_request.js'\n\nexport class ManagementOrganizationResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n async delete(): Promise<void> {\n await invokeWithRetry(this.config, this.http, 'OrganizationController_deleteOrganization')\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport type { Conversation, ConversationListItem } from '../../types/conversations.js'\n\nfunction parseListItem(raw: unknown): ConversationListItem {\n return raw as ConversationListItem\n}\n\nfunction parseConversation(raw: unknown): Conversation {\n return raw as Conversation\n}\n\n/** Read access to a scope's conversation threads (`/api/v1/scopes/:id/conversations`). */\nexport class ScopeConversationsResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly scopeId: number | string,\n ) {}\n\n list(options: { pageSize?: number; pageToken?: string } = {}): Promise<Page<ConversationListItem>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(pageSize, options.pageToken)\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n ): Promise<Page<ConversationListItem>> {\n validateId(this.scopeId, 'scope_id')\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'ScopeConversationsController_list', {\n pathParams: { id: this.scopeId },\n query: aipListParams(pageSize, pageToken) as Record<\n string,\n string | number | boolean | undefined | null\n >,\n }),\n )\n return buildAipPage(data, 'conversations', parseListItem, (token) =>\n this.listPage(pageSize, token),\n )\n }\n\n async get(\n threadId: string,\n options: { messageLimit?: number; beforeMessageIndex?: number } = {},\n ): Promise<Conversation> {\n validateId(this.scopeId, 'scope_id')\n validateId(threadId, 'thread_id')\n if (options.beforeMessageIndex !== undefined && options.messageLimit === undefined) {\n throw new Error('beforeMessageIndex requires messageLimit')\n }\n const data = await invokeWithRetry(this.config, this.http, 'ScopeConversationsController_get', {\n pathParams: { id: this.scopeId, threadId },\n query: {\n messageLimit: options.messageLimit,\n beforeMessageIndex: options.beforeMessageIndex,\n },\n })\n return parseConversation(data)\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport type {\n Memory,\n MemorySearchRequest,\n MemorySearchResult,\n MemoryUpdate,\n} from '../types/memories.js'\n\nfunction parseMemory(raw: unknown): Memory {\n return raw as Memory\n}\n\n/** Long-term memory stored per scope (`/api/v1/scopes/{id}/memories`). */\nexport class ScopeMemoriesResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly scopeId: number | string,\n ) {}\n\n list(options: {\n pageSize?: number\n pageToken?: string\n userId?: string\n } = {}): Promise<Page<Memory>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(pageSize, options.pageToken, options.userId)\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n userId?: string,\n ): Promise<Page<Memory>> {\n validateId(this.scopeId, 'scope_id')\n const extra: Record<string, string> = {}\n if (userId !== undefined) extra.userId = userId\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'ScopeMemoriesController_list', {\n pathParams: { id: this.scopeId },\n query: aipListParams(pageSize, pageToken, extra) as Record<\n string,\n string | number | boolean | undefined | null\n >,\n }),\n )\n return buildAipPage(data, 'memories', parseMemory, (token) =>\n this.listPage(pageSize, token, userId),\n )\n }\n\n async search(request: MemorySearchRequest): Promise<MemorySearchResult> {\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'ScopeMemoriesController_search', {\n pathParams: { id: this.scopeId },\n jsonBody: omitUndefined(request as Record<string, unknown>),\n })\n return data as MemorySearchResult\n }\n\n async update(\n memoryId: string,\n update: MemoryUpdate,\n options: { updateMask?: string } = {},\n ): Promise<Memory> {\n validateId(memoryId, 'memory_id')\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'ScopeMemoriesController_update', {\n pathParams: { id: this.scopeId, memoryId },\n query: updateMaskQuery(options.updateMask),\n jsonBody: omitUndefined(update as Record<string, unknown>),\n })\n return parseMemory(data)\n }\n\n async delete(memoryId: string): Promise<void> {\n validateId(memoryId, 'memory_id')\n validateId(this.scopeId, 'scope_id')\n await invokeWithRetry(this.config, this.http, 'ScopeMemoriesController_delete', {\n pathParams: { id: this.scopeId, memoryId },\n })\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport type {\n EvaluationConfig,\n EvaluationRun,\n EvaluationRunWithResults,\n TriggerEvaluationRunResponse,\n UpdateEvaluationConfig,\n} from '../types/evaluations.js'\n\nfunction parseConfig(raw: unknown): EvaluationConfig {\n return raw as EvaluationConfig\n}\n\nfunction parseRun(raw: unknown): EvaluationRun {\n return raw as EvaluationRun\n}\n\n/** Scheduled and manual skill evaluations (`/api/v1/scopes/{id}/evaluations`). */\nexport class ScopeEvaluationsResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly scopeId: number | string,\n ) {}\n\n async getConfig(): Promise<EvaluationConfig> {\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'EvaluationsController_getConfig', {\n pathParams: { id: this.scopeId },\n })\n return parseConfig(data)\n }\n\n async updateConfig(update: UpdateEvaluationConfig): Promise<EvaluationConfig> {\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'EvaluationsController_updateConfig', {\n pathParams: { id: this.scopeId },\n jsonBody: omitUndefined(update as Record<string, unknown>),\n })\n return parseConfig(data)\n }\n\n async triggerRun(): Promise<TriggerEvaluationRunResponse> {\n validateId(this.scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, 'EvaluationsController_triggerRun', {\n pathParams: { id: this.scopeId },\n })\n return data as TriggerEvaluationRunResponse\n }\n\n listRuns(options: { pageSize?: number; pageToken?: string } = {}): Promise<Page<EvaluationRun>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listRunsPage(pageSize, options.pageToken)\n }\n\n private async listRunsPage(\n pageSize: number,\n pageToken: string | undefined,\n ): Promise<Page<EvaluationRun>> {\n validateId(this.scopeId, 'scope_id')\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, 'EvaluationsController_listRuns', {\n pathParams: { id: this.scopeId },\n query: aipListParams(pageSize, pageToken) as Record<\n string,\n string | number | boolean | undefined | null\n >,\n }),\n )\n return buildAipPage(data, 'runs', parseRun, (token) => this.listRunsPage(pageSize, token))\n }\n\n async getRun(runId: string): Promise<EvaluationRunWithResults> {\n validateId(this.scopeId, 'scope_id')\n validateId(runId, 'run_id')\n const data = await invokeWithRetry(this.config, this.http, 'EvaluationsController_getRun', {\n pathParams: { id: this.scopeId, runId },\n })\n return data as EvaluationRunWithResults\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { HttpClient } from '../../_http.js'\nimport { invokeWithRetry } from '../../_request.js'\nimport { validateId } from '../../_validation.js'\nimport type { components } from '../../_generated/v1.js'\nimport type { VariationView } from '../../types/views.js'\n\nexport type Supervision = components['schemas']['SupervisionDto']\nexport type SetSupervisionRequest = components['schemas']['SetSupervisionRequestDto']\n\nexport class ScopeSupervisionResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n private readonly scopeId: number | string,\n ) {}\n\n async get(options: { view?: VariationView } = {}): Promise<Supervision> {\n validateId(this.scopeId, 'scope_id')\n return await invokeWithRetry(this.config, this.http, 'ScopeSupervisionController_get', {\n pathParams: { id: this.scopeId },\n query: options.view === undefined ? undefined : { view: options.view },\n }) as Supervision\n }\n\n async set(request: SetSupervisionRequest): Promise<Supervision> {\n return this.write('ScopeSupervisionController_set', request)\n }\n\n async setActive(request: SetSupervisionRequest): Promise<Supervision> {\n return this.write('ScopeSupervisionController_setActive', request)\n }\n\n private async write(operation: 'ScopeSupervisionController_set' | 'ScopeSupervisionController_setActive',\n request: SetSupervisionRequest): Promise<Supervision> {\n validateId(this.scopeId, 'scope_id')\n return await invokeWithRetry(this.config, this.http, operation, {\n pathParams: { id: this.scopeId },\n jsonBody: request,\n }) as Supervision\n }\n}\n","import type { ModusConfig } from '../../_config.js'\nimport type { OperationId } from '../../_generated/operations.js'\nimport type { HttpClient } from '../../_http.js'\nimport { updateMaskQuery } from '../../_query.js'\nimport { aipListParams, buildAipPage, type Page } from '../../_pagination.js'\nimport { asRecord, invokeWithRetry, omitUndefined } from '../../_request.js'\nimport { validateId, validatePageSize } from '../../_validation.js'\nimport { ScopeConversationsResource } from '../../resources/skills/conversations.js'\nimport type { Skill } from '../../types/skills.js'\nimport type { VariationView } from '../../types/views.js'\nimport {\n accessConfigBodyForCreate,\n accessConfigBodyForUpdate,\n} from '../_access-config.js'\nimport type { JsonObjectListInput } from '../types/json-blob.js'\nimport type { ToolsetInput } from '../types/toolset.js'\nimport { ScopeMemoriesResource } from './memories.js'\nimport { ScopeEvaluationsResource } from './evaluations.js'\nimport { ScopeSupervisionResource } from './supervision.js'\n\n/** The canonical `/api/v1/scopes` management operationIds. */\ninterface ManagementScopesOperations {\n readonly list: OperationId\n readonly get: OperationId\n readonly create: OperationId\n readonly update: OperationId\n readonly deploy: OperationId\n readonly delete: OperationId\n readonly restore: OperationId\n readonly requestOwnershipTransfer: OperationId\n readonly cancelOwnershipTransfer: OperationId\n readonly acceptOwnershipTransfer: OperationId\n readonly patchMcpConfig: OperationId\n readonly getVariation: OperationId\n}\n\nconst MANAGEMENT_SCOPE_OPERATIONS: ManagementScopesOperations = {\n list: 'ScopesController_list',\n get: 'ScopesController_get',\n create: 'ScopesController_create',\n update: 'ScopesController_update',\n deploy: 'ScopesController_deploy',\n delete: 'ScopesController_delete',\n restore: 'ScopesController_restore',\n requestOwnershipTransfer: 'ScopesController_requestOwnershipTransfer',\n cancelOwnershipTransfer: 'ScopesController_cancelOwnershipTransfer',\n acceptOwnershipTransfer: 'ScopesController_acceptOwnershipTransfer',\n patchMcpConfig: 'ScopesController_patchMcpConfig',\n getVariation: 'ScopesController_getVariation',\n}\n\nfunction scopesListParams(\n pageSize: number,\n pageToken: string | undefined,\n search?: string,\n view?: VariationView,\n managerId?: number,\n): Record<string, string | number | boolean | undefined | null> {\n const extra: Record<string, string | number | boolean | undefined | null> = {}\n if (search !== undefined) extra.search = search\n if (view !== undefined) extra.view = view\n if (managerId !== undefined) extra.managerId = managerId\n return aipListParams(pageSize, pageToken, extra) as Record<\n string,\n string | number | boolean | undefined | null\n >\n}\n\nfunction parseScope(raw: unknown): Skill {\n return raw as Skill\n}\n\nexport interface CreateSkillOptions {\n name: string\n description?: string\n expectedOutput?: string\n instructions?: string[]\n toolset?: ToolsetInput\n model?: string\n connectionSet?: JsonObjectListInput\n contextSelections?: JsonObjectListInput\n interfaces?: JsonObjectListInput\n guardrails?: string[]\n}\n\nexport interface UpdateSkillOptions {\n name?: string\n description?: string\n expectedOutput?: string\n instructions?: string[]\n toolset?: ToolsetInput\n model?: string\n connectionSet?: JsonObjectListInput\n contextSelections?: JsonObjectListInput\n interfaces?: JsonObjectListInput\n guardrails?: string[]\n managerId?: string\n evaluations?: JsonObjectListInput\n supervisionSubordinateDescriptions?: Record<string, string>\n updateMask?: string\n}\n\n/** Full CRUD and lifecycle for Modus scopes (`/api/v1/scopes`). */\nexport class ManagementScopesResource {\n protected readonly ops: ManagementScopesOperations = MANAGEMENT_SCOPE_OPERATIONS\n\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n conversations(scopeId: number | string): ScopeConversationsResource {\n return new ScopeConversationsResource(this.http, this.config, scopeId)\n }\n\n memories(scopeId: number | string): ScopeMemoriesResource {\n return new ScopeMemoriesResource(this.http, this.config, scopeId)\n }\n\n evaluations(scopeId: number | string): ScopeEvaluationsResource {\n return new ScopeEvaluationsResource(this.http, this.config, scopeId)\n }\n\n supervision(scopeId: number | string): ScopeSupervisionResource {\n return new ScopeSupervisionResource(this.http, this.config, scopeId)\n }\n\n list(options: {\n pageSize?: number\n pageToken?: string\n search?: string\n view?: VariationView\n managerId?: number\n } = {}): Promise<Page<Skill>> {\n const pageSize = options.pageSize ?? 25\n validatePageSize(pageSize)\n return this.listPage(\n pageSize,\n options.pageToken,\n options.search,\n options.view,\n options.managerId,\n )\n }\n\n private async listPage(\n pageSize: number,\n pageToken: string | undefined,\n search?: string,\n view?: VariationView,\n managerId?: number,\n ): Promise<Page<Skill>> {\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.list, {\n query: scopesListParams(pageSize, pageToken, search, view, managerId),\n }),\n )\n // Envelope key is the server DTO property name (`skills`) — unchanged by\n // the rename, which only moved paths/opIds/tags to the scopes vocab.\n return buildAipPage(data, 'skills', parseScope, (token) =>\n this.listPage(pageSize, token, search, view, managerId),\n )\n }\n\n async get(scopeId: number | string, options: { view?: VariationView } = {}): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const query = options.view !== undefined ? { view: options.view } : undefined\n const data = await invokeWithRetry(this.config, this.http, this.ops.get, {\n pathParams: { id: scopeId },\n query,\n })\n return parseScope(data)\n }\n\n async create(options: CreateSkillOptions): Promise<Skill> {\n const body = omitUndefined({\n name: options.name,\n description: options.description,\n expectedOutput: options.expectedOutput,\n instructions: options.instructions,\n toolset: options.toolset,\n model: options.model,\n connectionSet: options.connectionSet,\n contextSelections: options.contextSelections,\n interfaces: options.interfaces,\n accessConfig: accessConfigBodyForCreate(options.guardrails),\n })\n const data = await invokeWithRetry(this.config, this.http, this.ops.create, {\n jsonBody: body,\n })\n return parseScope(data)\n }\n\n async update(scopeId: number | string, options: UpdateSkillOptions = {}): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const accessConfig = await accessConfigBodyForUpdate(options.guardrails, async () =>\n asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.get, {\n pathParams: { id: scopeId },\n }),\n ),\n )\n const fields = {\n name: options.name,\n description: options.description,\n expectedOutput: options.expectedOutput,\n instructions: options.instructions,\n toolset: options.toolset,\n model: options.model,\n connectionSet: options.connectionSet,\n contextSelections: options.contextSelections,\n interfaces: options.interfaces,\n accessConfig,\n managerId: options.managerId,\n evaluations: options.evaluations,\n supervisionSubordinateDescriptions: options.supervisionSubordinateDescriptions,\n }\n const body =\n options.updateMask !== undefined ? fields : omitUndefined(fields)\n const data = await invokeWithRetry(this.config, this.http, this.ops.update, {\n pathParams: { id: scopeId },\n query: updateMaskQuery(options.updateMask),\n jsonBody: body,\n })\n return parseScope(data)\n }\n\n async deploy(scopeId: number | string): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = asRecord(\n await invokeWithRetry(this.config, this.http, this.ops.deploy, {\n pathParams: { id: scopeId },\n jsonBody: {},\n }),\n )\n return parseScope(data.skill)\n }\n\n async delete(scopeId: number | string): Promise<void> {\n validateId(scopeId, 'scope_id')\n await invokeWithRetry(this.config, this.http, this.ops.delete, {\n pathParams: { id: scopeId },\n })\n }\n\n async restore(scopeId: number | string): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = await invokeWithRetry(this.config, this.http, this.ops.restore, {\n pathParams: { id: scopeId },\n jsonBody: {},\n })\n return parseScope(data)\n }\n\n async requestOwnershipTransfer(\n scopeId: number | string,\n options: { newOwnerUserId: string },\n ): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.requestOwnershipTransfer,\n {\n pathParams: { id: scopeId },\n jsonBody: omitUndefined({ newOwnerUserId: options.newOwnerUserId }),\n },\n )\n return parseScope(data)\n }\n\n async cancelOwnershipTransfer(scopeId: number | string): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.cancelOwnershipTransfer,\n { pathParams: { id: scopeId } },\n )\n return parseScope(data)\n }\n\n async acceptOwnershipTransfer(scopeId: number | string): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n const data = await invokeWithRetry(\n this.config,\n this.http,\n this.ops.acceptOwnershipTransfer,\n { pathParams: { id: scopeId }, jsonBody: {} },\n )\n return parseScope(data)\n }\n\n async patchMcpConfig(\n scopeId: number | string,\n options: { mcpConfig: Record<string, unknown> },\n ): Promise<void> {\n validateId(scopeId, 'scope_id')\n await invokeWithRetry(this.config, this.http, this.ops.patchMcpConfig, {\n pathParams: { id: scopeId },\n jsonBody: omitUndefined({ config: options.mcpConfig }),\n })\n }\n\n async getVariation(\n scopeId: number | string,\n options: { variationUid: string },\n ): Promise<Skill> {\n validateId(scopeId, 'scope_id')\n validateId(options.variationUid, 'variation_uid')\n const data = await invokeWithRetry(this.config, this.http, this.ops.getVariation, {\n pathParams: { id: scopeId, variationUid: options.variationUid },\n })\n return parseScope(data)\n }\n}\n","import type { ModusConfig } from '../_config.js'\nimport type { HttpClient } from '../_http.js'\nimport { invokeWithRetry } from '../_request.js'\nimport type { UsageReport, UsageRollup } from '../types/usage.js'\n\nexport class ManagementUsageResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n async list(options: {\n since: string\n until: string\n rollup: UsageRollup\n model?: string\n }): Promise<UsageReport> {\n const query: Record<string, string> = {\n since: options.since,\n until: options.until,\n rollup: options.rollup,\n }\n if (options.model !== undefined) query.model = options.model\n const data = await invokeWithRetry(this.config, this.http, 'UsageController_list', { query })\n return data as UsageReport\n }\n}\n","import type { ModusConfig } from '../_config.js'\nimport type { components } from '../_generated/v1.js'\nimport type { HttpClient } from '../_http.js'\nimport { invokeWithRetry } from '../_request.js'\n\nexport type MemberGroup = components['schemas']['MemberGroupDto']\nexport type OrgMember = components['schemas']['OrgMemberDto']\n\nexport class ManagementUsersResource {\n constructor(\n private readonly http: HttpClient,\n private readonly config: ModusConfig,\n ) {}\n\n async listMemberGroups(): Promise<MemberGroup[]> {\n const data = (await invokeWithRetry(\n this.config, this.http, 'MemberGroupsController_list',\n )) as { groups: MemberGroup[] }\n return data.groups\n }\n\n async listOrgMembers(): Promise<OrgMember[]> {\n const data = (await invokeWithRetry(\n this.config, this.http, 'OrgMembersController_list',\n )) as { members: OrgMember[] }\n return data.members\n }\n}\n"],"mappings":"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","names":["msg","parseContextItem"]}
|