@caplets/core 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/caplet-files-bundle.d.ts +24 -9
  2. package/dist/caplet-source.js +368 -4588
  3. package/dist/cli/auth.d.ts +40 -2
  4. package/dist/cli/cloud-add.d.ts +8 -0
  5. package/dist/cli/code-mode.d.ts +16 -0
  6. package/dist/cli/commands.d.ts +3 -1
  7. package/dist/cli/doctor.d.ts +3 -0
  8. package/dist/cli/setup.d.ts +7 -0
  9. package/dist/cli-tools.d.ts +1 -1
  10. package/dist/cli.d.ts +1 -0
  11. package/dist/cloud-auth/client.d.ts +15 -0
  12. package/dist/cloud-auth/types.d.ts +2 -1
  13. package/dist/code-mode/api.d.ts +32 -0
  14. package/dist/code-mode/declarations.d.ts +5 -0
  15. package/dist/code-mode/diagnostics.d.ts +8 -0
  16. package/dist/code-mode/index.d.ts +4 -0
  17. package/dist/code-mode/logs.d.ts +21 -0
  18. package/dist/code-mode/runner.d.ts +15 -0
  19. package/dist/code-mode/runtime-api.generated.d.ts +1 -0
  20. package/dist/code-mode/sandbox.d.ts +28 -0
  21. package/dist/code-mode/static-analysis.d.ts +2 -0
  22. package/dist/code-mode/tool.d.ts +11 -0
  23. package/dist/code-mode/types.d.ts +120 -0
  24. package/dist/code-mode.js +147855 -0
  25. package/dist/{completion-brgziz4L.js → completion-CbazRAiL.js} +5 -2
  26. package/dist/config/paths.d.ts +2 -0
  27. package/dist/config-runtime.d.ts +13 -4
  28. package/dist/config-runtime.js +31 -2
  29. package/dist/config.d.ts +34 -9
  30. package/dist/downstream.d.ts +20 -2
  31. package/dist/engine.d.ts +20 -0
  32. package/dist/exposure/direct-names.d.ts +9 -0
  33. package/dist/exposure/discovery.d.ts +75 -0
  34. package/dist/exposure/policy.d.ts +8 -0
  35. package/dist/generated-tool-input-schema.d.ts +89 -59
  36. package/dist/generated-tool-input-schema.js +38 -27
  37. package/dist/graphql.d.ts +1 -1
  38. package/dist/http-actions.d.ts +1 -1
  39. package/dist/index.d.ts +13 -0
  40. package/dist/index.js +1096 -154
  41. package/dist/native/service.d.ts +6 -0
  42. package/dist/native/tools.d.ts +2 -0
  43. package/dist/native.d.ts +1 -1
  44. package/dist/native.js +2 -2
  45. package/dist/observed-output-shapes/extract.d.ts +5 -0
  46. package/dist/observed-output-shapes/file-store.d.ts +17 -0
  47. package/dist/observed-output-shapes/index.d.ts +7 -0
  48. package/dist/observed-output-shapes/key.d.ts +14 -0
  49. package/dist/observed-output-shapes/merge.d.ts +2 -0
  50. package/dist/observed-output-shapes/pure.d.ts +5 -0
  51. package/dist/observed-output-shapes/pure.js +241 -0
  52. package/dist/observed-output-shapes/schema.d.ts +1 -0
  53. package/dist/observed-output-shapes/types.d.ts +84 -0
  54. package/dist/observed-output-shapes/typescript.d.ts +7 -0
  55. package/dist/observed-output-shapes-uzAMQPhg.js +485 -0
  56. package/dist/observed-output-shapes.js +2 -0
  57. package/dist/openapi.d.ts +1 -1
  58. package/dist/project-binding/index.d.ts +2 -0
  59. package/dist/project-binding.js +22 -0
  60. package/dist/redaction.d.ts +14 -0
  61. package/dist/redaction.js +30 -0
  62. package/dist/registry.d.ts +4 -0
  63. package/dist/remote/options.d.ts +2 -0
  64. package/dist/remote-control/types.d.ts +1 -1
  65. package/dist/runtime-plan/resources.d.ts +2 -0
  66. package/dist/runtime-plan.js +8 -2
  67. package/dist/schemas-1HZ0kFpx.js +4270 -0
  68. package/dist/serve/session.d.ts +15 -3
  69. package/dist/{service-BXcE4Rv8.js → service-D0MwLNyb.js} +29175 -26499
  70. package/dist/stable-json.d.ts +3 -0
  71. package/dist/stable-json.js +26 -0
  72. package/dist/tools.d.ts +22 -11
  73. package/dist/{validation-BBG4skZf.js → validation-CdqbI2zN.js} +25 -4
  74. package/package.json +29 -3
@@ -1,5 +1,5 @@
1
1
  import { type GenericAuthTarget } from "../auth";
2
- import { loadConfig, type CapletsConfig, type GraphQlEndpointConfig, type HttpApiConfig } from "../config";
2
+ import { loadConfig, type CapletsConfig } from "../config";
3
3
  type AuthTarget = ReturnType<typeof authTargets>[number];
4
4
  type AuthListFormat = "plain" | "markdown" | "json";
5
5
  export type AuthSource = "project" | "global" | "remote";
@@ -63,6 +63,44 @@ export declare function localAuthConfigForTarget(options: {
63
63
  }): CapletsConfig;
64
64
  export declare function formatAuthRows(rows: AuthStatusRow[], format: Exclude<AuthListFormat, "json">): string;
65
65
  export declare function findAuthTarget(serverId: string, config?: CapletsConfig): AuthTarget | undefined;
66
- declare function authTargets(config: ReturnType<typeof loadConfig>): (import("../config").CapletServerConfig | import("../config").OpenApiEndpointConfig | (GraphQlEndpointConfig & GenericAuthTarget) | (HttpApiConfig & GenericAuthTarget))[];
66
+ declare function authTargets(config: ReturnType<typeof loadConfig>): (import("../config").CapletServerConfig | import("../config").OpenApiEndpointConfig | (import("../config").AgentSelectionHintsConfig & {
67
+ server: string;
68
+ backend: "graphql";
69
+ name: string;
70
+ description: string;
71
+ exposure?: import("../config").CapletExposure | undefined;
72
+ tags?: string[] | undefined;
73
+ body?: string | undefined;
74
+ endpointUrl: string;
75
+ schemaPath?: string | undefined;
76
+ schemaUrl?: string | undefined;
77
+ introspection?: true | undefined;
78
+ operations?: Record<string, import("../config").GraphQlOperationConfig> | undefined;
79
+ auth: import("../config").OpenApiAuthConfig;
80
+ requestTimeoutMs: number;
81
+ operationCacheTtlMs: number;
82
+ selectionDepth: number;
83
+ disabled: boolean;
84
+ setup?: import("..").CapletSetupConfig | undefined;
85
+ projectBinding?: import("../config").ProjectBindingConfig | undefined;
86
+ runtime?: import("../config").RuntimeRequirementsConfig | undefined;
87
+ } & GenericAuthTarget) | (import("../config").AgentSelectionHintsConfig & {
88
+ server: string;
89
+ backend: "http";
90
+ name: string;
91
+ description: string;
92
+ exposure?: import("../config").CapletExposure | undefined;
93
+ tags?: string[] | undefined;
94
+ body?: string | undefined;
95
+ baseUrl: string;
96
+ auth: import("../config").OpenApiAuthConfig;
97
+ actions: Record<string, import("../config").HttpActionConfig>;
98
+ requestTimeoutMs: number;
99
+ maxResponseBytes: number;
100
+ disabled: boolean;
101
+ setup?: import("..").CapletSetupConfig | undefined;
102
+ projectBinding?: import("../config").ProjectBindingConfig | undefined;
103
+ runtime?: import("../config").RuntimeRequirementsConfig | undefined;
104
+ } & GenericAuthTarget))[];
67
105
  export declare function assertLoginTarget(target: AuthTarget | undefined, serverId: string): asserts target is AuthTarget;
68
106
  export {};
@@ -0,0 +1,8 @@
1
+ export type CloudCapletBundleFile = {
2
+ path: string;
3
+ content: string;
4
+ };
5
+ export type CloudCapletBundle = {
6
+ files: CloudCapletBundleFile[];
7
+ };
8
+ export declare function buildCloudCapletBundle(rootInput: string): CloudCapletBundle;
@@ -0,0 +1,16 @@
1
+ export type CodeModeCliOptions = {
2
+ env?: NodeJS.ProcessEnv | Record<string, string | undefined>;
3
+ configPath?: string | undefined;
4
+ projectConfigPath?: string | undefined;
5
+ authDir?: string | undefined;
6
+ inlineCode?: string | undefined;
7
+ file?: string | undefined;
8
+ timeoutMs?: number | undefined;
9
+ json?: boolean | undefined;
10
+ readStdin?: (() => Promise<string>) | undefined;
11
+ writeOut: (value: string) => void;
12
+ setExitCode: (code: number) => void;
13
+ };
14
+ export declare function runCodeModeCli(options: CodeModeCliOptions): Promise<void>;
15
+ export declare function codeModeTypesCli(options: Pick<CodeModeCliOptions, "env" | "configPath" | "projectConfigPath" | "authDir" | "json" | "writeOut">): Promise<void>;
16
+ export declare function readCodeModeCliCode(options: Pick<CodeModeCliOptions, "inlineCode" | "file" | "readStdin">): Promise<string>;
@@ -3,6 +3,7 @@ export type CompletionShell = (typeof completionShells)[number];
3
3
  export declare const cliCommands: {
4
4
  readonly completion: "completion";
5
5
  readonly completeHidden: "__complete";
6
+ readonly codeMode: "code-mode";
6
7
  readonly serve: "serve";
7
8
  readonly attach: "attach";
8
9
  readonly cloud: "cloud";
@@ -29,11 +30,12 @@ export declare const cliCommands: {
29
30
  readonly config: "config";
30
31
  readonly auth: "auth";
31
32
  };
32
- export declare const topLevelCommandNames: readonly ["serve", "attach", "cloud", "init", "setup", "doctor", "list", "install", "add", "inspect", "check-backend", "list-tools", "search-tools", "get-tool", "call-tool", "list-resources", "search-resources", "list-resource-templates", "read-resource", "list-prompts", "search-prompts", "get-prompt", "complete", "config", "auth", "completion"];
33
+ export declare const topLevelCommandNames: readonly ["serve", "code-mode", "attach", "cloud", "init", "setup", "doctor", "list", "install", "add", "inspect", "check-backend", "list-tools", "search-tools", "get-tool", "call-tool", "list-resources", "search-resources", "list-resource-templates", "read-resource", "list-prompts", "search-prompts", "get-prompt", "complete", "config", "auth", "completion"];
33
34
  export declare const cliSubcommands: {
34
35
  readonly add: readonly ["cli", "mcp", "openapi", "graphql", "http"];
35
36
  readonly auth: readonly ["login", "logout", "list"];
36
37
  readonly cloud: readonly ["auth"];
38
+ readonly "code-mode": readonly ["types"];
37
39
  readonly completion: readonly ["bash", "zsh", "fish", "powershell", "cmd"];
38
40
  readonly config: readonly ["path", "paths"];
39
41
  readonly serve: readonly ["start", "stop", "status", "restart", "enable", "disable"];
@@ -5,6 +5,7 @@ export type DoctorOptions = {
5
5
  cwd?: string;
6
6
  syncStatus?: MutagenProjectSyncDoctorData;
7
7
  cloudAuthStore?: CloudAuthStore;
8
+ observedOutputShapeCacheDir?: string;
8
9
  };
9
10
  export type DoctorJsonReport = {
10
11
  server: Record<string, unknown>;
@@ -13,6 +14,8 @@ export type DoctorJsonReport = {
13
14
  sync: Record<string, unknown>;
14
15
  daemon: Record<string, unknown>;
15
16
  cloudAuth: Record<string, unknown>;
17
+ exposure: Record<string, unknown>;
18
+ codeMode: Record<string, unknown>;
16
19
  };
17
20
  export declare function doctorJsonReport(options?: DoctorOptions): Promise<DoctorJsonReport>;
18
21
  export declare function formatDoctorReport(options?: DoctorOptions): Promise<string>;
@@ -8,8 +8,10 @@ export type SetupCommandResult = {
8
8
  stderr: string;
9
9
  };
10
10
  export type SetupCommandRunner = (command: string, args: string[]) => Promise<SetupCommandResult>;
11
+ export type SetupPromptReader = (prompt: string) => Promise<string>;
11
12
  export type SetupOptions = {
12
13
  remote?: boolean;
14
+ remoteUrl?: string;
13
15
  serverUrl?: string;
14
16
  output?: string;
15
17
  dryRun?: boolean;
@@ -19,5 +21,10 @@ export type SetupOptions = {
19
21
  yes?: boolean;
20
22
  target?: SetupTargetOption;
21
23
  };
24
+ export type InteractiveSetupOptions = SetupOptions & {
25
+ readPrompt: SetupPromptReader;
26
+ };
22
27
  export declare function formatSetupMenu(): string;
28
+ export declare function formatSetupPrompt(): string;
29
+ export declare function runInteractiveSetup(options: InteractiveSetupOptions): Promise<string>;
23
30
  export declare function runSetup(integration: string, options?: SetupOptions): Promise<string>;
@@ -1,6 +1,6 @@
1
1
  import type { CompatibilityCallToolResult, Tool } from "@modelcontextprotocol/sdk/types";
2
2
  import type { CliToolsConfig } from "./config";
3
- import type { CompactTool } from "./downstream";
3
+ import { type CompactTool } from "./downstream";
4
4
  import type { ServerRegistry } from "./registry";
5
5
  export declare class CliToolsManager {
6
6
  private registry;
package/dist/cli.d.ts CHANGED
@@ -20,6 +20,7 @@ type CliIO = {
20
20
  attachServe?: (options: AttachServeOptions) => Promise<void>;
21
21
  daemon?: ServeDaemonOperationOptions;
22
22
  runSetupCommand?: SetupCommandRunner;
23
+ readStdin?: () => Promise<string>;
23
24
  };
24
25
  export declare function runCli(args: string[], io?: CliIO): Promise<void>;
25
26
  export declare function createProgram(io?: CliIO): Command;
@@ -15,6 +15,20 @@ export type ExchangeTokenInput = {
15
15
  export type RefreshTokenInput = {
16
16
  refreshToken: string;
17
17
  };
18
+ export type CloudAddCapletsInput = {
19
+ accessToken: string;
20
+ workspace: string;
21
+ bundle: {
22
+ files: Array<{
23
+ path: string;
24
+ content: string;
25
+ }>;
26
+ };
27
+ };
28
+ export type CloudAddCapletsResult = {
29
+ caplet?: unknown;
30
+ caplets: unknown[];
31
+ };
18
32
  export type CloudAuthClientCredentials = Required<Pick<CloudAuthTokenResponse, "workspaceId" | "accessToken" | "expiresAt" | "tokenType" | "credentialFamilyId">> & Pick<CloudAuthTokenResponse, "workspaceSlug" | "refreshToken" | "deviceName" | "requestId"> & {
19
33
  cloudUrl: string;
20
34
  scope: string[];
@@ -38,5 +52,6 @@ export declare class CloudAuthClient {
38
52
  refreshToken?: string | undefined;
39
53
  deviceName?: string | undefined;
40
54
  }): Promise<CloudAuthClientCredentials>;
55
+ addCaplets(input: CloudAddCapletsInput): Promise<CloudAddCapletsResult>;
41
56
  private requestJson;
42
57
  }
@@ -1,6 +1,7 @@
1
1
  export declare const CLOUD_AUTH_STATES: readonly ["unauthenticated", "login_pending", "workspace_selection_required", "authenticated", "refreshable", "switch_required", "expired", "revoked"];
2
2
  export type CloudAuthState = (typeof CLOUD_AUTH_STATES)[number];
3
- export type CloudAuthScope = "project_binding:read" | "project_binding:write" | string;
3
+ export declare const HOSTED_CLOUD_AUTH_SCOPES: readonly ["project_binding:read", "project_binding:write", "mcp:tools"];
4
+ export type CloudAuthScope = (typeof HOSTED_CLOUD_AUTH_SCOPES)[number] | string;
4
5
  export type CloudAuthWorkspace = {
5
6
  workspaceId: string;
6
7
  slug?: string | undefined;
@@ -0,0 +1,32 @@
1
+ import type { NativeCapletsService } from "../native/service";
2
+ import type { CapletsResult, CodeModeCallableCaplet, Page, PageInput, ReadLogsInput, ReadLogsResult, ToolCallResult } from "./types";
3
+ export type CodeModeCapletHandle = {
4
+ readonly id: string;
5
+ inspect(): Promise<unknown>;
6
+ check(): Promise<CapletsResult<unknown>>;
7
+ tools(input?: PageInput): Promise<Page<unknown>>;
8
+ searchTools(query: string, input?: PageInput): Promise<Page<unknown>>;
9
+ describeTool(name: string): Promise<CapletsResult<unknown>>;
10
+ callTool(name: string, args?: unknown): Promise<ToolCallResult>;
11
+ resources(input?: PageInput): Promise<Page<unknown>>;
12
+ searchResources(query: string, input?: PageInput): Promise<Page<unknown>>;
13
+ resourceTemplates(input?: PageInput): Promise<Page<unknown>>;
14
+ readResource(uri: string): Promise<CapletsResult<unknown>>;
15
+ prompts(input?: PageInput): Promise<Page<unknown>>;
16
+ searchPrompts(query: string, input?: PageInput): Promise<Page<unknown>>;
17
+ getPrompt(name: string, args?: unknown): Promise<CapletsResult<unknown>>;
18
+ complete(input: unknown): Promise<CapletsResult<unknown>>;
19
+ };
20
+ export type CodeModeDebugApi = {
21
+ readLogs(input: ReadLogsInput): Promise<ReadLogsResult>;
22
+ };
23
+ export type CodeModeCapletsApi = {
24
+ [capletId: string]: CodeModeCapletHandle | CodeModeDebugApi | (CodeModeCapletHandle & CodeModeDebugApi);
25
+ debug: CodeModeDebugApi | (CodeModeCapletHandle & CodeModeDebugApi);
26
+ };
27
+ export type CreateCodeModeCapletsApiInput = {
28
+ service: NativeCapletsService;
29
+ readLogs?: (input: ReadLogsInput) => Promise<ReadLogsResult>;
30
+ };
31
+ export declare function listCodeModeCallableCaplets(service: NativeCapletsService): CodeModeCallableCaplet[];
32
+ export declare function createCodeModeCapletsApi(input: CreateCodeModeCapletsApiInput): CodeModeCapletsApi;
@@ -0,0 +1,5 @@
1
+ import type { CodeModeDeclarationInput } from "./types";
2
+ export declare function generateCodeModeDeclarations(input: CodeModeDeclarationInput): string;
3
+ export declare function generateCodeModeRunToolDescription(declaration: string): string;
4
+ export declare function minifyCodeModeDeclarationText(value: string): string;
5
+ export declare function codeModeDeclarationHash(declaration: string): string;
@@ -0,0 +1,8 @@
1
+ import type { CodeModeDiagnostic } from "./types";
2
+ export type DiagnoseCodeModeTypeScriptInput = {
3
+ code: string;
4
+ declaration: string;
5
+ maxDiagnostics?: number;
6
+ timeoutMs?: number;
7
+ };
8
+ export declare function diagnoseCodeModeTypeScript(input: DiagnoseCodeModeTypeScriptInput): CodeModeDiagnostic[];
@@ -0,0 +1,4 @@
1
+ export { codeModeDeclarationHash, generateCodeModeDeclarations, generateCodeModeRunToolDescription, minifyCodeModeDeclarationText, } from "./declarations";
2
+ export { codeModeRunInputJsonSchema, codeModeRunInputSchema, codeModeRunParamsSchema, isCodeModeRunRequest, } from "./tool";
3
+ export { hasDirectFetchCall, hasExecutableImport } from "./static-analysis";
4
+ export type { CodeModeCallableCaplet, CodeModeDeclarationInput, CodeModeDiagnostic, CodeModeLogEntry, CodeModeLogs, CodeModeRunEnvelope, CodeModeRunError, CodeModeRunMeta, CodeModeTypesJson, JsonPrimitive, JsonValue, ReadLogsInput, ReadLogsResult, ToolCallError, ToolCallMeta, ToolCallResult, } from "./types";
@@ -0,0 +1,21 @@
1
+ import type { CodeModeLogEntry, ReadLogsInput, ReadLogsResult } from "./types";
2
+ export type CodeModeLogStoreOptions = {
3
+ stateDir?: string;
4
+ now?: () => Date;
5
+ logRefTtlMs?: number;
6
+ };
7
+ export type StoreCodeModeLogsResult = {
8
+ logRef: string;
9
+ expiresAt: string;
10
+ };
11
+ export declare class CodeModeLogStore {
12
+ private readonly stateDir;
13
+ private readonly now;
14
+ private readonly logRefTtlMs;
15
+ constructor(options?: CodeModeLogStoreOptions);
16
+ store(entries: CodeModeLogEntry[]): Promise<StoreCodeModeLogsResult>;
17
+ read(input: ReadLogsInput): Promise<ReadLogsResult>;
18
+ private logsDir;
19
+ private logPath;
20
+ }
21
+ export declare function redactCodeModeLogText(text: string): string;
@@ -0,0 +1,15 @@
1
+ import type { NativeCapletsService } from "../native/service";
2
+ import { CodeModeLogStore } from "./logs";
3
+ import { type CodeModeSandbox } from "./sandbox";
4
+ import type { CodeModeRunEnvelope } from "./types";
5
+ export type RunCodeModeInput = {
6
+ code: string;
7
+ service: NativeCapletsService;
8
+ timeoutMs?: number;
9
+ maxTimeoutMs?: number;
10
+ runtimeScope?: string;
11
+ logStore?: CodeModeLogStore;
12
+ sandbox?: CodeModeSandbox;
13
+ returnedLogBytes?: number;
14
+ };
15
+ export declare function runCodeMode(input: RunCodeModeInput): Promise<CodeModeRunEnvelope>;
@@ -0,0 +1 @@
1
+ export declare const CODE_MODE_RUNTIME_API_DECLARATION: "type JsonPrimitive=string|number|boolean|null;type JsonValue=JsonPrimitive|JsonValue[]|{[key:string]:JsonValue};interface CapletHandle<Id extends string>{readonly id:Id;/** Show this Caplet card,without tool/resource/prompt schemas. */ inspect():Promise<CapletCard<Id>>;/** Check backend readiness/auth;expected unavailable states return ok:false. */ check():Promise<CapletsResult<BackendCheckResult>>;/** List tool summaries for the discovery pass;may be empty. */ tools(input?:PageInput):Promise<Page<ToolSummary>>;/** Search tool summaries for the discovery pass;may be empty. */ searchTools(query:string,input?:PageInput):Promise<Page<ToolSummary>>;/** Get schema,callSignature,types,examples;prefer outputSchema/outputTypeScript over observed hints. */ describeTool(name:string):Promise<CapletsResult<ToolDescriptor>>;/** Call one tool;expected failures return ok:false. Filter bulky data in script before returning. */ callTool(name:string,args?:unknown):Promise<CapletsResult<unknown>>;/** List readable resources for the discovery pass;many backends expose none. */ resources(input?:PageInput):Promise<Page<ResourceSummary>>;/** Search readable resources for the discovery pass;many backends expose none. */ searchResources(query:string,input?:PageInput):Promise<Page<ResourceSummary>>;/** List resource templates for the discovery pass;many backends expose none. */ resourceTemplates(input?:PageInput):Promise<Page<ResourceTemplateSummary>>;/** Read one resource by URI;unsupported/missing resources return ok:false. */ readResource(uri:string):Promise<CapletsResult<ResourceReadResult>>;/** List reusable prompts for the discovery pass;many backends expose none. */ prompts(input?:PageInput):Promise<Page<PromptSummary>>;/** Search reusable prompts for the discovery pass;many backends expose none. */ searchPrompts(query:string,input?:PageInput):Promise<Page<PromptSummary>>;/** Get one prompt by name and args;unsupported/missing prompts return ok:false. */ getPrompt(name:string,args?:unknown):Promise<CapletsResult<PromptResult>>;/** Complete a prompt or resource-template argument. */ complete(input:CompleteInput):Promise<CapletsResult<CompleteResult>>;}interface DebugApi{readLogs(input:ReadLogsInput):Promise<ReadLogsResult>;}type CapletCard<Id extends string>={id:Id;name:string;description:string;useWhen?:string;avoidWhen?:string;tags?:string[];backend?:unknown;};type PageInput={limit?:number;cursor?:string};type Page<T>={items:T[];nextCursor?:string;truncated?:boolean};type CapletsResult<T>=|{ok:true;data:T;meta?:CapletsMeta}|{ok:false;error:CapletsError;meta?:CapletsMeta};type CapletsMeta={[key:string]:unknown};type CapletsError={code:string;message:string;details?:unknown};type BackendCheckResult=unknown;type ToolSummary={/** Exact downstream tool identifier for describeTool(name)and callTool(name,args). */ name:string;title?:string;description?:string;/** Optional author-supplied hint for when to prefer this tool. */ useWhen?:string;/** Optional author-supplied hint for when to avoid this tool. */ avoidWhen?:string;/** True when the tool declares that it only reads data. */ readOnlyHint?:boolean;/** True when the tool declares that it may perform destructive writes. */ destructiveHint?:boolean;};type ToolDescriptor={id?:string;tool?:unknown;inputSchema?:unknown;outputSchema?:unknown;callSignature?:string;inputTypeScript?:string;outputTypeScript?:string;observedOutputShape?:ObservedOutputShape;examples?:unknown[];};type ObservedOutputShape={version:1;source:\"observed\";observedAt:string;sampleCount:number;typeScript:string;jsonShape:JsonShape;truncated:boolean;};type JsonShape=|{kind:\"null\"}|{kind:\"boolean\"}|{kind:\"number\"}|{kind:\"string\"}|{kind:\"unknown\"}|{kind:\"array\";element?:JsonShape;truncated?:boolean}|{kind:\"object\";fields:Record<string,{optional:boolean;shape:JsonShape}>;truncated?:boolean;}|{kind:\"union\";variants:JsonShape[]};type ResourceSummary={uri?:string;name?:string;title?:string;description?:string};type ResourceTemplateSummary={uriTemplate?:string;name?:string;title?:string;description?:string;};type ResourceReadResult=unknown;type PromptSummary={name?:string;title?:string;description?:string};type PromptResult=unknown;type CompleteInput={ref:{type:\"prompt\";name:string}|{type:\"resourceTemplate\";uri:string};argument:{name:string;value:string};};type CompleteResult=unknown;type ReadLogsInput={logRef:string;cursor?:string;limit?:number};type ReadLogsResult={entries:CodeModeLogEntry[];nextCursor?:string};type CodeModeLogEntry={level:\"log\"|\"info\"|\"warn\"|\"error\"|\"debug\";message:string;timestamp:string;};interface Console{log(...values:unknown[]):void;info(...values:unknown[]):void;warn(...values:unknown[]):void;error(...values:unknown[]):void;debug(...values:unknown[]):void;}declare const console:Console;";
@@ -0,0 +1,28 @@
1
+ import type { CodeModeLogEntry } from "./types";
2
+ export type CodeModeSandboxInvokeInput = {
3
+ capletId: string;
4
+ method: "inspect" | "check" | "tools" | "searchTools" | "describeTool" | "callTool" | "resources" | "searchResources" | "resourceTemplates" | "readResource" | "prompts" | "searchPrompts" | "getPrompt" | "complete" | "readLogs";
5
+ args: unknown[];
6
+ };
7
+ export type CodeModeSandboxInput = {
8
+ code: string;
9
+ capletIds: string[];
10
+ timeoutMs: number;
11
+ invoke: (input: CodeModeSandboxInvokeInput) => Promise<unknown>;
12
+ };
13
+ export type CodeModeSandboxResult = {
14
+ ok: true;
15
+ value: unknown;
16
+ logs: CodeModeLogEntry[];
17
+ } | {
18
+ ok: false;
19
+ error: string;
20
+ logs: CodeModeLogEntry[];
21
+ stack?: string;
22
+ };
23
+ export interface CodeModeSandbox {
24
+ run(input: CodeModeSandboxInput): Promise<CodeModeSandboxResult>;
25
+ }
26
+ export declare class QuickJsCodeModeSandbox implements CodeModeSandbox {
27
+ run(input: CodeModeSandboxInput): Promise<CodeModeSandboxResult>;
28
+ }
@@ -0,0 +1,2 @@
1
+ export declare function hasDirectFetchCall(code: string): boolean;
2
+ export declare function hasExecutableImport(code: string): boolean;
@@ -0,0 +1,11 @@
1
+ import { z } from "zod";
2
+ export declare const codeModeRunInputSchema: z.ZodObject<{
3
+ code: z.ZodString;
4
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
5
+ }, z.core.$strip>;
6
+ export declare const codeModeRunParamsSchema: {
7
+ code: z.ZodString;
8
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
9
+ };
10
+ export declare function codeModeRunInputJsonSchema(): Record<string, unknown>;
11
+ export declare function isCodeModeRunRequest(value: unknown): boolean;
@@ -0,0 +1,120 @@
1
+ export type JsonPrimitive = string | number | boolean | null;
2
+ export type JsonValue = JsonPrimitive | JsonValue[] | {
3
+ [key: string]: JsonValue;
4
+ };
5
+ export type CodeModeCallableCaplet = {
6
+ id: string;
7
+ name: string;
8
+ description: string;
9
+ useWhen?: string;
10
+ avoidWhen?: string;
11
+ };
12
+ export type CodeModeDeclarationInput = {
13
+ caplets: CodeModeCallableCaplet[];
14
+ };
15
+ export type CodeModeTypesJson = {
16
+ declaration: string;
17
+ declarationHash: string;
18
+ callableCount: number;
19
+ generatedAt: string;
20
+ runtimeScope: string;
21
+ };
22
+ export type CodeModeDiagnostic = {
23
+ code: string;
24
+ message: string;
25
+ severity: "error" | "warning" | "info";
26
+ line?: number;
27
+ column?: number;
28
+ };
29
+ export type CodeModeRunMeta = {
30
+ runId: string;
31
+ traceId: string;
32
+ declarationHash: string;
33
+ durationMs: number;
34
+ timeoutMs: number;
35
+ maxTimeoutMs: number;
36
+ };
37
+ export type CodeModeRunError = {
38
+ code: string;
39
+ message: string;
40
+ details?: unknown;
41
+ location?: {
42
+ line: number;
43
+ column: number;
44
+ };
45
+ hint?: string;
46
+ stackPreview?: string[];
47
+ };
48
+ export type CodeModeLogEntry = {
49
+ level: "log" | "info" | "warn" | "error" | "debug";
50
+ message: string;
51
+ timestamp: string;
52
+ };
53
+ export type CodeModeLogs = {
54
+ entries: CodeModeLogEntry[];
55
+ truncated: boolean;
56
+ stored: boolean;
57
+ logRef?: string;
58
+ nextCursor?: string;
59
+ expiresAt?: string;
60
+ };
61
+ export type CodeModeRunEnvelope = {
62
+ ok: true;
63
+ value: JsonValue;
64
+ diagnostics: CodeModeDiagnostic[];
65
+ logs: CodeModeLogs;
66
+ meta: CodeModeRunMeta;
67
+ } | {
68
+ ok: false;
69
+ error: CodeModeRunError;
70
+ diagnostics: CodeModeDiagnostic[];
71
+ logs: CodeModeLogs;
72
+ meta: CodeModeRunMeta;
73
+ };
74
+ export type ToolCallMeta = {
75
+ capletId?: string;
76
+ tool?: string;
77
+ durationMs?: number;
78
+ [key: string]: unknown;
79
+ };
80
+ export type ToolCallError = {
81
+ code: string;
82
+ message: string;
83
+ details?: unknown;
84
+ };
85
+ export type ToolCallResult = {
86
+ ok: true;
87
+ data: unknown;
88
+ meta?: ToolCallMeta;
89
+ } | {
90
+ ok: false;
91
+ error: ToolCallError;
92
+ meta?: ToolCallMeta;
93
+ };
94
+ export type CapletsResult<T> = {
95
+ ok: true;
96
+ data: T;
97
+ meta?: ToolCallMeta;
98
+ } | {
99
+ ok: false;
100
+ error: ToolCallError;
101
+ meta?: ToolCallMeta;
102
+ };
103
+ export type Page<T> = {
104
+ items: T[];
105
+ nextCursor?: string;
106
+ truncated?: boolean;
107
+ };
108
+ export type PageInput = {
109
+ limit?: number;
110
+ cursor?: string;
111
+ };
112
+ export type ReadLogsInput = {
113
+ logRef: string;
114
+ cursor?: string;
115
+ limit?: number;
116
+ };
117
+ export type ReadLogsResult = {
118
+ entries: CodeModeLogEntry[];
119
+ nextCursor?: string;
120
+ };