@open-insight/core 0.0.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.
- package/dist/agent-2V5_4nlu.mjs +676 -0
- package/dist/agent-2V5_4nlu.mjs.map +1 -0
- package/dist/index-CmxU7-9a.d.mts +725 -0
- package/dist/index-CmxU7-9a.d.mts.map +1 -0
- package/dist/index.d.mts +238 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +585 -0
- package/dist/index.mjs.map +1 -0
- package/dist/internal.d.mts +2 -0
- package/dist/internal.mjs +2 -0
- package/dist/rolldown-runtime-BBjsoOtd.mjs +27 -0
- package/package.json +52 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["Spawn","make","Spawn","Snapshot.makeName","ContextDir.resolve","Snapshot.encode","Sandbox.makeName","CP","Provider.formatBash","Sandbox.make","makeAgent","make"],"sources":["../src/sandbox/provider/builtin/docker/utils.ts","../src/sandbox/provider/builtin/docker/index.ts","../src/sandbox/provider/builtin/docker/export.ts","../src/sandbox/context/export.ts","../src/sandbox/snapshot/export.ts","../src/sandbox/export.ts","../src/agent/builtin/effect/index.ts","../src/agent/builtin/effect/export.ts","../src/agent/builtin/dummy/index.ts","../src/agent/builtin/ai-sdk/stream.ts","../src/agent/builtin/ai-sdk/export.ts","../src/agent/export.ts"],"sourcesContent":["import { Effect, Option } from \"effect\";\nimport { Spawn } from \"@open-insight/utils\";\nimport { ChildProcess } from \"effect/unstable/process\";\n\nexport type Runtime = (self: ChildProcess.Command) => ChildProcess.Command;\n\nexport const makeRuntime = Effect.fn(\"sandbox/docker/makeRuntime\")(function* () {\n // docker-compatible clis\n const runtimes = [\"docker\", \"podman\", \"nerdctl\"] as const;\n const spawner = yield* Spawn.SpawnService;\n\n const whichs = yield* Effect.all(\n runtimes.map((runtime) =>\n spawner.string(ChildProcess.make`command -v ${runtime}`).pipe(\n Effect.map(Option.some),\n Effect.catchIf(\n (error: unknown): error is { reason: { _tag: string } } =>\n Boolean(error && typeof error === \"object\" && \"reason\" in error),\n () => Effect.succeed(Option.none<string>()),\n ),\n ),\n ),\n { concurrency: \"unbounded\" },\n );\n\n const found = whichs.find((o): o is Option.Some<string> => Option.isSome(o));\n if (found === undefined) {\n return yield* Effect.fail(new Error(\"No container runtime found.\"));\n }\n\n return ChildProcess.prefix(found.value.trim()) satisfies Runtime;\n});\n","import * as Sandbox from \"@/sandbox/index.ts\";\nimport { Spawn } from \"@open-insight/utils\";\nimport * as ContextDir from \"@/sandbox/context/index.ts\";\nimport { SandboxError } from \"@/sandbox/error.ts\";\nimport * as Provider from \"@/sandbox/provider/index.ts\";\nimport * as Snapshot from \"@/sandbox/snapshot/index.ts\";\nimport { Context, Crypto, Effect, FileSystem, Path, Stream } from \"effect\";\nimport { HttpClient } from \"effect/unstable/http\";\nimport { ChildProcess as CP } from \"effect/unstable/process\";\nimport { ChildProcessSpawner } from \"effect/unstable/process/ChildProcessSpawner\";\nimport { makeRuntime } from \"./utils.ts\";\n\nexport type PortMapping = Readonly<{\n sandboxPort: number;\n hostPort: number;\n}>;\n\nexport type MakeOptions = Readonly<{\n portMappings?: Array<PortMapping>;\n}>;\n\nconst formatResources = (resources: Sandbox.ResourceLimits | null): Array<string> => {\n if (resources === null) {\n return [];\n }\n\n const { numCPUs, memoryMiB, numGPUs, diskMiB } = resources;\n const resourceArgs: Array<string> = [];\n if (numCPUs !== undefined) {\n resourceArgs.push(\"--cpus\", `${numCPUs}`);\n }\n\n if (memoryMiB !== undefined) {\n resourceArgs.push(\"--memory\", `${memoryMiB}m`);\n }\n\n if (numGPUs !== undefined && numGPUs > 0) {\n resourceArgs.push(\"--gpus\", `count=${numGPUs}`);\n }\n\n if (diskMiB !== undefined) {\n resourceArgs.push(\"--storage-opt\", `size=${diskMiB}m`);\n }\n return resourceArgs;\n};\n\nexport const make = Effect.fn(\n function* ({\n portMappings = [],\n }: MakeOptions): Effect.fn.Return<\n Provider.Provider,\n SandboxError,\n | Crypto.Crypto\n | FileSystem.FileSystem\n | Path.Path\n | HttpClient.HttpClient\n | ChildProcessSpawner\n | Spawn.SpawnService\n > {\n const runtime = yield* makeRuntime().pipe(Effect.mapError(SandboxError.provider(\"docker\")));\n\n const crypto = yield* Crypto.Crypto;\n const spawner = yield* Spawn.SpawnService;\n const fs = yield* FileSystem.FileSystem;\n const path = yield* Path.Path;\n const httpClient = yield* HttpClient.HttpClient;\n const childProcessSpawner = yield* ChildProcessSpawner;\n\n const serviceContext = Context.mergeAll(\n Context.make(Crypto.Crypto, crypto),\n Context.make(FileSystem.FileSystem, fs),\n Context.make(Path.Path, path),\n Context.make(HttpClient.HttpClient, httpClient),\n Context.make(ChildProcessSpawner, childProcessSpawner),\n );\n\n const ensureSnapshot = Effect.fn(function* ({ snapshot, context }) {\n const mapBuildError = Effect.mapError(SandboxError.snapshotBuild(snapshot));\n\n const name = yield* Snapshot.makeName(snapshot).pipe(\n Effect.provideService(Crypto.Crypto, crypto),\n mapBuildError,\n );\n\n const imageExists = yield* spawner.string(CP.make`image inspect ${name}`.pipe(runtime)).pipe(\n Effect.as(true),\n Effect.catch(() => Effect.succeed(false)),\n );\n if (imageExists) {\n return;\n }\n\n const contextDir = yield* ContextDir.resolve(context).pipe(\n Effect.provideContext(serviceContext),\n mapBuildError,\n );\n const containerfilePath = yield* fs\n .makeTempFile({\n prefix: \"open-insight-\",\n suffix: \".Containerfile\",\n })\n .pipe(mapBuildError);\n\n const command = CP.make`build -f ${containerfilePath} -t ${name} ${contextDir}`.pipe(runtime);\n\n const containerfile = yield* Snapshot.encode(snapshot).pipe(mapBuildError);\n yield* fs.writeFileString(containerfilePath, containerfile).pipe(mapBuildError);\n\n yield* spawner.string(command).pipe(mapBuildError);\n }) satisfies Provider.Provider[\"ensureSnapshot\"];\n\n const removeSnapshot = Effect.fn(function* ({ snapshot }) {\n const mapBuildError = Effect.mapError(SandboxError.snapshotBuild(snapshot));\n const name = yield* Snapshot.makeName(snapshot).pipe(\n Effect.provideService(Crypto.Crypto, crypto),\n mapBuildError,\n );\n\n const command = CP.make`rmi ${name}`.pipe(runtime);\n\n yield* spawner.string(command).pipe(mapBuildError);\n }) satisfies Provider.Provider[\"removeSnapshot\"];\n\n const deriveSnapshot = Effect.fn(function* ({ snapshot, context, instructions }) {\n yield* ensureSnapshot({ snapshot, context });\n\n const name = yield* Snapshot.makeName(snapshot).pipe(\n Effect.provideService(Crypto.Crypto, crypto),\n Effect.mapError(SandboxError.snapshotBuild(snapshot)),\n );\n const derived = Snapshot.Snapshot.make({ image: name, instructions });\n yield* ensureSnapshot({ snapshot: derived, context });\n }) satisfies Provider.Provider[\"deriveSnapshot\"];\n\n const runSandbox = Effect.fn(function* ({ snapshot, resources }) {\n const mapUsageError = Effect.mapError(SandboxError.snapshotUsage(snapshot));\n\n const name = yield* Snapshot.makeName(snapshot).pipe(\n Effect.provideService(Crypto.Crypto, crypto),\n mapUsageError,\n );\n\n const sandboxName = yield* Sandbox.makeName(snapshot).pipe(\n Effect.provideService(Crypto.Crypto, crypto),\n mapUsageError,\n );\n\n const portMappingArgs = portMappings.flatMap((mapping) => [\n \"-p\",\n `${mapping.hostPort}:${mapping.sandboxPort}`,\n ]);\n\n const run = CP.make(\"run\", [\n \"-it\",\n \"--rm\",\n \"--detach\",\n \"--name\",\n sandboxName,\n ...portMappingArgs,\n ...formatResources(resources),\n name,\n \"sleep\",\n \"infinity\",\n ]).pipe(runtime);\n\n yield* spawner.string(run).pipe(Effect.mapError(SandboxError.provider(\"docker\")));\n\n yield* Effect.addFinalizer(() =>\n spawner.string(CP.make`rm --force ${sandboxName}`.pipe(runtime)).pipe(Effect.ignore),\n );\n\n const makeExecCommand = (command: CP.StandardCommand, input?: string) => {\n const args = [];\n if (input !== undefined) {\n args.push(\"-i\");\n }\n\n for (const [key, value] of Object.entries(command.options.env ?? {})) {\n if (value !== undefined) {\n args.push(\"-e\", `${key}=${value}`);\n }\n }\n\n if (command.options.cwd !== undefined) {\n args.push(\"-w\", command.options.cwd);\n }\n\n args.push(sandboxName, \"sh\", \"-c\", Provider.formatBash(command));\n\n const options =\n input === undefined\n ? {}\n : ({\n stdin: {\n stream: Stream.make(input).pipe(Stream.encodeText),\n },\n } satisfies CP.CommandOptions);\n\n return CP.make(\"exec\", args, options).pipe(runtime);\n };\n\n return yield* Sandbox.make({\n $(cmd: CP.StandardCommand, input?: string) {\n const bash = Provider.formatBash(cmd);\n const execCommand = makeExecCommand(cmd, input);\n return spawner\n .string(execCommand)\n .pipe(Effect.mapError(SandboxError.sandboxExec({ name, operation: bash })));\n },\n expose: Effect.fn(function* ({ sandboxPort, hostPort }) {\n const matchesMapping = portMappings.some(\n (mapping) => mapping.sandboxPort === sandboxPort && mapping.hostPort === hostPort,\n );\n\n if (!matchesMapping) {\n return yield* Effect.fail(\n SandboxError.sandboxExpose({ name, sandboxPort, hostPort })(\n \"Expected port mapping cannot be exposed because it was not specified in the configuration. Containers cannot exposing arbitrary ports that were not mapped when the container was created.\",\n ),\n );\n }\n\n return { hostUrl: `http://localhost:${hostPort}` };\n }),\n download: Effect.fn(function* ({ sandboxPath, hostPath }) {\n const from = `${sandboxName}:${sandboxPath}`;\n const command = CP.make`cp ${from} ${hostPath}`;\n yield* spawner.string(command.pipe(runtime)).pipe(\n Effect.mapError(\n SandboxError.sandboxExec({\n name,\n operation: Provider.formatBash(command),\n }),\n ),\n );\n }),\n upload: Effect.fn(function* ({ sandboxPath, hostPath }) {\n const to = `${sandboxName}:${sandboxPath}`;\n const command = CP.make`cp ${hostPath} ${to}`;\n yield* spawner.string(command.pipe(runtime)).pipe(\n Effect.mapError(\n SandboxError.sandboxExec({\n name,\n operation: Provider.formatBash(command),\n }),\n ),\n );\n }),\n readFile: \"cat\",\n writeFile: \"tee\",\n }).pipe(Effect.provideService(Spawn.SpawnService, spawner));\n }) satisfies Provider.Provider[\"runSandbox\"];\n\n return {\n ensureSnapshot,\n deriveSnapshot,\n removeSnapshot,\n runSandbox,\n } satisfies Provider.Provider;\n },\n (effect) => effect.pipe(Effect.provide(Spawn.SpawnService.layer)),\n);\n","export { make, type MakeOptions, type PortMapping } from \"./index.ts\";\n","export {\n type Context,\n ContextSchema,\n Cwd,\n make,\n makeDir,\n makeDist,\n type Mode,\n ModeSchema,\n Script,\n} from \"./index.ts\";\n","export { derive, extend, fromImage, hash, Image, make, makeName as snapshotName } from \"./index.ts\";\nexport { Snapshot } from \"./schema.ts\";\n\nexport * as Inst from \"./instruction.ts\";\nexport { Instruction, Instructions } from \"./instruction.ts\";\n\nexport * as Internal from \"./index.ts\";\n","export { SandboxError } from \"./error.ts\";\n\nexport * from \"./provider/export.ts\";\nexport * from \"./sandbox/export.ts\";\n\nexport * as Context from \"./context/export.ts\";\nexport * as Snapshot from \"./snapshot/export.ts\";\n\nexport { type Config } from \"./config.ts\";\n\nexport { type ResourceLimits, ResourceLimitsSchema } from \"./resource.ts\";\n","import { Chat, LanguageModel, Toolkit } from \"effect/unstable/ai\";\nimport { Effect, Ref, Stream } from \"effect\";\nimport * as Agent from \"@/agent/index.ts\";\nimport { AgentError } from \"@/agent/error.ts\";\nimport * as Sandbox from \"@/sandbox/index.ts\";\n\nexport const makeAgent = Effect.fn(function* ({\n sandbox: _sandbox,\n chat = Chat.empty,\n toolkit = Toolkit.empty,\n}: {\n sandbox: Sandbox.Sandbox;\n chat?: Effect.Effect<Chat.Service>;\n toolkit?: Toolkit.Toolkit<any>;\n}): Effect.fn.Return<Agent.Agent, Agent.AgentError, LanguageModel.LanguageModel> {\n const llm = yield* LanguageModel.LanguageModel;\n const service = yield* chat;\n return {\n trajectory: () => Ref.get(service.history),\n prompt: ({ prompt }) =>\n Effect.succeed(\n service\n .streamText<any>({ prompt, toolkit })\n .pipe(\n Stream.mapError(AgentError.stream),\n Stream.provideService(LanguageModel.LanguageModel, llm),\n ),\n ),\n } satisfies Agent.Agent;\n});\n\nexport const make = Effect.fn(function* ({\n chat = Chat.empty,\n toolkit = Toolkit.empty,\n}: {\n chat?: Effect.Effect<Chat.Service>;\n toolkit?: Toolkit.Toolkit<any>;\n}): Effect.fn.Return<Agent.Provider, Agent.AgentError, LanguageModel.LanguageModel> {\n const llm = yield* LanguageModel.LanguageModel;\n\n const runSession = Effect.fn(\n function* ({ sandbox }) {\n return yield* makeAgent({ sandbox, chat, toolkit });\n },\n (effect) => effect.pipe(Effect.provideService(LanguageModel.LanguageModel, llm)),\n ) satisfies Agent.Provider[\"runSession\"];\n\n const deriveSnapshot = Effect.fn(function* ({ snapshot }) {\n return yield* Effect.succeed(snapshot);\n }) satisfies Agent.Provider[\"deriveSnapshot\"];\n\n return {\n runSession,\n deriveSnapshot,\n } satisfies Agent.Provider;\n});\n","export { make } from \"./index.ts\";\n","import { Chat, LanguageModel, Response, Toolkit } from \"effect/unstable/ai\";\nimport { Effect, Ref, Stream } from \"effect\";\nimport * as Agent from \"@/agent/index.ts\";\nimport * as Sandbox from \"@/sandbox/index.ts\";\n\nconst randomText = Effect.fn(function* () {\n return yield* Effect.sync(() => crypto.randomUUID().replaceAll(\"-\", \"\"));\n});\n\nconst finishPart: Response.FinishPartEncoded = {\n type: \"finish\",\n reason: \"stop\",\n usage: {\n inputTokens: {\n uncached: 0,\n total: 0,\n cacheRead: undefined,\n cacheWrite: undefined,\n },\n outputTokens: {\n total: 0,\n text: undefined,\n reasoning: undefined,\n },\n },\n response: undefined,\n};\n\nconst makeDummyLanguageModel = Effect.fn(function* () {\n return yield* LanguageModel.make({\n generateText: () =>\n randomText().pipe(Effect.map((text) => [{ type: \"text\", text }, finishPart])),\n streamText: () =>\n Stream.unwrap(\n randomText().pipe(\n Effect.map((text) =>\n Stream.fromIterable([\n { type: \"text-start\", id: \"dummy\" } as const,\n { type: \"text-delta\", id: \"dummy\", delta: text } as const,\n { type: \"text-end\", id: \"dummy\" } as const,\n finishPart,\n ]),\n ),\n ),\n ),\n });\n});\n\ntype EmptyToolkit = Toolkit.Toolkit<{}>;\n\nexport const makeAgent = Effect.fn(function* ({\n chat = Chat.empty,\n toolkit = Toolkit.empty,\n}: {\n chat?: Effect.Effect<Chat.Service>;\n toolkit?: EmptyToolkit;\n}): Effect.fn.Return<Agent.Agent, Agent.AgentError, never> {\n const llm = yield* makeDummyLanguageModel();\n const service = yield* chat;\n\n return {\n trajectory: () => Ref.get(service.history),\n prompt: ({ prompt }) =>\n Effect.succeed(\n service\n .streamText({ prompt, toolkit })\n .pipe(\n Stream.mapError(Agent.AgentError.stream),\n Stream.provideService(LanguageModel.LanguageModel, llm),\n ),\n ),\n } satisfies Agent.Agent;\n});\n\nexport const make = Effect.fn(function* ({\n chat = Chat.empty,\n toolkit = Toolkit.empty,\n}: {\n chat?: Effect.Effect<Chat.Service>;\n toolkit?: EmptyToolkit;\n}): Effect.fn.Return<Agent.Provider, Agent.AgentError, never> {\n const llm = yield* makeDummyLanguageModel();\n\n const runSession = Effect.fn(\n function* ({ sandbox: _sandbox }: { sandbox: Sandbox.Sandbox }) {\n return yield* makeAgent({ chat, toolkit });\n },\n (effect) => effect.pipe(Effect.provideService(LanguageModel.LanguageModel, llm)),\n ) satisfies Agent.Provider[\"runSession\"];\n\n const deriveSnapshot = Effect.fn(function* ({\n snapshot,\n }: {\n snapshot: Sandbox.Snapshot.Snapshot;\n }) {\n return yield* Effect.succeed(snapshot);\n }) satisfies Agent.Provider[\"deriveSnapshot\"];\n\n return {\n runSession,\n deriveSnapshot,\n } satisfies Agent.Provider;\n});\n","import type { GeneratedFile, LanguageModelUsage, TextStreamPart, ToolSet } from \"ai\";\nimport { Effect, Option, Schema, Stream } from \"effect\";\nimport { Response, Tool } from \"effect/unstable/ai\";\n\nexport class AiSdkStreamError extends Schema.TaggedErrorClass<AiSdkStreamError>()(\n \"AiSdkStreamError\",\n {\n cause: Schema.Defect(),\n },\n) {}\n\nexport type AiSdkTools = Record<string, Tool.AnyDynamic>;\nexport type AiSdkStreamPart = TextStreamPart<ToolSet>;\nexport type StreamPart = Response.StreamPart<AiSdkTools>;\n\ntype MetadataInput = Readonly<{\n type: string;\n providerMetadata?: unknown;\n}>;\n\ntype AiSdkFilePart = Readonly<{\n type: \"file\" | \"reasoning-file\";\n file: GeneratedFile;\n providerMetadata?: unknown;\n}>;\n\ntype AiSdkUrlSourcePart = Readonly<{\n type: \"source\";\n sourceType: \"url\";\n id: string;\n url: string;\n title?: string;\n providerMetadata?: unknown;\n}>;\n\ntype AiSdkDocumentSourcePart = Readonly<{\n type: \"source\";\n sourceType: \"document\";\n id: string;\n mediaType: string;\n title: string;\n filename?: string;\n providerMetadata?: unknown;\n}>;\n\ntype AiSdkSourcePart = AiSdkUrlSourcePart | AiSdkDocumentSourcePart;\n\ntype AiSdkToolDetailsPart = Readonly<{\n dynamic?: boolean;\n title?: string;\n toolMetadata?: unknown;\n}>;\n\nconst decodeJsonOption = Schema.decodeUnknownOption(Schema.Json);\nconst decodeDocumentSourcePart = Schema.decodeUnknownOption(Response.DocumentSourcePart);\nconst decodeUrlSourcePart = Schema.decodeUnknownOption(Response.UrlSourcePart);\n\nconst jsonOrOmitted = (value: unknown): Schema.Json =>\n Option.getOrElse(decodeJsonOption(value), () => ({\n omitted: true,\n reason: \"non_json_value\",\n }));\n\nconst metadataPart = (part: MetadataInput, details: Schema.JsonObject = {}): StreamPart =>\n Response.makePart(\"response-metadata\", {\n id: undefined,\n modelId: undefined,\n timestamp: undefined,\n request: undefined,\n metadata: aiSdkMetadata(part, details),\n });\n\nconst aiSdkMetadata = (\n part: MetadataInput,\n details: Schema.JsonObject = {},\n): Response.ProviderMetadata => {\n const partDetails: Schema.JsonObject = {\n ...details,\n type: part.type,\n };\n const metadata = part.providerMetadata;\n\n return {\n aiSdk:\n metadata === undefined\n ? {\n part: partDetails,\n }\n : {\n part: partDetails,\n providerMetadata: jsonOrOmitted(metadata),\n },\n };\n};\n\nconst usageFromAiSdk = (usage: LanguageModelUsage): Response.Usage =>\n new Response.Usage({\n inputTokens: {\n uncached: usage.inputTokenDetails.noCacheTokens,\n total: usage.inputTokens,\n cacheRead: usage.inputTokenDetails.cacheReadTokens,\n cacheWrite: usage.inputTokenDetails.cacheWriteTokens,\n },\n outputTokens: {\n total: usage.outputTokens,\n text: usage.outputTokenDetails.textTokens,\n reasoning: usage.outputTokenDetails.reasoningTokens,\n },\n });\n\nconst emptyUsage = () =>\n new Response.Usage({\n inputTokens: {\n uncached: undefined,\n total: undefined,\n cacheRead: undefined,\n cacheWrite: undefined,\n },\n outputTokens: {\n total: undefined,\n text: undefined,\n reasoning: undefined,\n },\n });\n\nconst finishReason = (\n reason: \"stop\" | \"length\" | \"content-filter\" | \"tool-calls\" | \"error\" | \"other\",\n) => reason;\n\nconst filePart = (part: AiSdkFilePart): ReadonlyArray<StreamPart> => {\n const file = fileFromPart(part.file);\n return file === undefined\n ? [metadataPart(part, { reason: \"file_data_unavailable\" })]\n : [\n Response.makePart(\"file\", {\n mediaType: file.mediaType,\n data: file.data,\n metadata: aiSdkMetadata(\n part,\n part.type === \"reasoning-file\" ? { content: \"reasoning\" } : {},\n ),\n }),\n ];\n};\n\nconst fileFromPart = (\n file: GeneratedFile,\n): { readonly mediaType: string; readonly data: Uint8Array } | undefined => {\n try {\n return {\n mediaType: file.mediaType,\n data: file.uint8Array,\n };\n } catch {\n return undefined;\n }\n};\n\nconst sourcePart = (part: AiSdkSourcePart): ReadonlyArray<StreamPart> => {\n switch (part.sourceType) {\n case \"url\":\n return urlSourcePart(part);\n case \"document\":\n return documentSourcePart(part);\n }\n};\n\nconst urlSourcePart = (part: AiSdkUrlSourcePart): ReadonlyArray<StreamPart> => {\n const source = decodeUrlSourcePart({\n type: \"source\",\n sourceType: \"url\",\n id: part.id,\n url: part.url,\n title: part.title ?? part.url,\n metadata: aiSdkMetadata(part),\n });\n\n return Option.match(source, {\n onNone: () => [metadataPart(part, { reason: \"invalid_source_url\" })],\n onSome: (sourcePart) => [sourcePart],\n });\n};\n\nconst documentSourcePart = (part: AiSdkDocumentSourcePart): ReadonlyArray<StreamPart> => {\n const source = decodeDocumentSourcePart({\n type: \"source\",\n sourceType: \"document\" as const,\n id: part.id,\n mediaType: part.mediaType,\n title: part.title,\n fileName: part.filename,\n metadata: aiSdkMetadata(part),\n });\n\n return Option.match(source, {\n onNone: () => [metadataPart(part, { reason: \"invalid_document_source\" })],\n onSome: (sourcePart) => [sourcePart],\n });\n};\n\nconst toolCallDetails = (part: AiSdkToolDetailsPart): Schema.JsonObject => ({\n dynamic: part.dynamic ?? false,\n title: part.title ?? null,\n toolMetadata: jsonOrOmitted(part.toolMetadata),\n});\n\nconst partToParts = (part: AiSdkStreamPart): ReadonlyArray<StreamPart> => {\n switch (part.type) {\n case \"text-start\":\n return [Response.makePart(\"text-start\", { id: part.id, metadata: aiSdkMetadata(part) })];\n case \"text-delta\":\n return [\n Response.makePart(\"text-delta\", {\n id: part.id,\n delta: part.text,\n metadata: aiSdkMetadata(part),\n }),\n ];\n case \"text-end\":\n return [Response.makePart(\"text-end\", { id: part.id, metadata: aiSdkMetadata(part) })];\n case \"reasoning-start\":\n return [\n Response.makePart(\"reasoning-start\", {\n id: part.id,\n metadata: aiSdkMetadata(part),\n }),\n ];\n case \"reasoning-delta\":\n return [\n Response.makePart(\"reasoning-delta\", {\n id: part.id,\n delta: part.text,\n metadata: aiSdkMetadata(part),\n }),\n ];\n case \"reasoning-end\":\n return [\n Response.makePart(\"reasoning-end\", {\n id: part.id,\n metadata: aiSdkMetadata(part),\n }),\n ];\n case \"tool-input-start\":\n return [\n Response.makePart(\"tool-params-start\", {\n id: part.id,\n name: part.toolName,\n providerExecuted: part.providerExecuted ?? false,\n metadata: aiSdkMetadata(part, {\n dynamic: part.dynamic ?? false,\n title: part.title ?? null,\n toolMetadata: jsonOrOmitted(part.toolMetadata),\n }),\n }),\n ];\n case \"tool-input-delta\":\n return [\n Response.makePart(\"tool-params-delta\", {\n id: part.id,\n delta: part.delta,\n metadata: aiSdkMetadata(part),\n }),\n ];\n case \"tool-input-end\":\n return [\n Response.makePart(\"tool-params-end\", {\n id: part.id,\n metadata: aiSdkMetadata(part),\n }),\n ];\n case \"tool-call\":\n return [\n Response.toolCallPart({\n id: part.toolCallId,\n name: part.toolName,\n params: part.input,\n providerExecuted: part.providerExecuted ?? false,\n metadata: aiSdkMetadata(part, toolCallDetails(part)),\n }),\n ];\n case \"tool-result\":\n return [\n Response.toolResultPart({\n id: part.toolCallId,\n name: part.toolName,\n isFailure: false,\n result: part.output,\n encodedResult: part.output,\n providerExecuted: part.providerExecuted ?? false,\n preliminary: part.preliminary ?? false,\n metadata: aiSdkMetadata(part, toolCallDetails(part)),\n }),\n ];\n case \"tool-error\": {\n const result = {\n error: part.error,\n input: part.input,\n };\n return [\n Response.toolResultPart({\n id: part.toolCallId,\n name: part.toolName,\n isFailure: true,\n result,\n encodedResult: result,\n providerExecuted: part.providerExecuted ?? false,\n preliminary: false,\n metadata: aiSdkMetadata(part, toolCallDetails(part)),\n }),\n ];\n }\n case \"tool-output-denied\": {\n const result = {\n denied: true,\n };\n return [\n Response.toolResultPart({\n id: part.toolCallId,\n name: part.toolName,\n isFailure: true,\n result,\n encodedResult: result,\n providerExecuted: part.providerExecuted ?? false,\n preliminary: false,\n metadata: aiSdkMetadata(part, { dynamic: part.dynamic ?? false }),\n }),\n ];\n }\n case \"tool-approval-request\":\n return [\n Response.toolApprovalRequestPart({\n approvalId: part.approvalId,\n toolCallId: part.toolCall.toolCallId,\n metadata: aiSdkMetadata(part, {\n isAutomatic: part.isAutomatic ?? false,\n signature: part.signature ?? null,\n toolCall: jsonOrOmitted(part.toolCall),\n }),\n }),\n ];\n case \"tool-approval-response\":\n return [\n metadataPart(part, {\n approvalId: part.approvalId,\n approved: part.approved,\n providerExecuted: part.providerExecuted ?? false,\n reason: part.reason ?? null,\n toolCall: jsonOrOmitted(part.toolCall),\n }),\n ];\n case \"file\":\n case \"reasoning-file\":\n return filePart(part);\n case \"source\":\n return sourcePart(part);\n case \"finish\":\n return [\n Response.makePart(\"finish\", {\n reason: finishReason(part.finishReason),\n usage: usageFromAiSdk(part.totalUsage),\n response: undefined,\n metadata: aiSdkMetadata(part, { rawFinishReason: part.rawFinishReason ?? null }),\n }),\n ];\n case \"abort\":\n return [\n Response.makePart(\"finish\", {\n reason: \"unknown\",\n usage: emptyUsage(),\n response: undefined,\n metadata: aiSdkMetadata(part, { reason: part.reason ?? null }),\n }),\n ];\n case \"error\":\n return [\n Response.makePart(\"error\", {\n error: part.error,\n metadata: aiSdkMetadata(part),\n }),\n ];\n case \"start\":\n return [metadataPart(part)];\n case \"start-step\":\n return [\n metadataPart(part, {\n request: jsonOrOmitted(part.request),\n warnings: jsonOrOmitted(part.warnings),\n }),\n ];\n case \"finish-step\":\n return [\n metadataPart(part, {\n finishReason: part.finishReason,\n performance: jsonOrOmitted(part.performance),\n rawFinishReason: part.rawFinishReason ?? null,\n response: jsonOrOmitted(part.response),\n usage: jsonOrOmitted(part.usage),\n }),\n ];\n case \"custom\":\n return [metadataPart(part, { kind: part.kind })];\n case \"raw\":\n return [metadataPart(part, { rawValue: jsonOrOmitted(part.rawValue) })];\n }\n};\n\nexport const transform = Effect.fn(function* <E, R>(\n stream: Stream.Stream<AiSdkStreamPart, E, R>,\n): Effect.fn.Return<Stream.Stream<StreamPart, E, R>> {\n return yield* Effect.succeed(\n stream.pipe(Stream.flatMap((part) => Stream.fromIterable(partToParts(part)))),\n );\n}, Stream.unwrap);\n\nexport const fromAiStream = Effect.fn(function* (\n stream: AsyncIterable<AiSdkStreamPart>,\n): Effect.fn.Return<Stream.Stream<StreamPart, AiSdkStreamError>> {\n return yield* Effect.succeed(\n Stream.fromAsyncIterable(stream, (cause) => AiSdkStreamError.make({ cause })).pipe(transform),\n );\n}, Stream.unwrap);\n","export * from \"./stream.ts\";\n","export { AgentError } from \"./error.ts\";\nexport * from \"./builtin/export.ts\";\nexport {\n AssistantMessage,\n Message,\n SystemMessage,\n ToolMessage,\n Trajectory,\n UserMessage,\n} from \"./index.ts\";\nexport { type Agent, type Provider, ProviderService } from \"./service.ts\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region \0rolldown/runtime.js
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __exportAll = (all, no_symbols) => {
|
|
7
|
+
let target = {};
|
|
8
|
+
for (var name in all) __defProp(target, name, {
|
|
9
|
+
get: all[name],
|
|
10
|
+
enumerable: true
|
|
11
|
+
});
|
|
12
|
+
if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
|
|
13
|
+
return target;
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
|
|
17
|
+
key = keys[i];
|
|
18
|
+
if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
19
|
+
get: ((k) => from[k]).bind(null, key),
|
|
20
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
26
|
+
//#endregion
|
|
27
|
+
export { __reExport as n, __exportAll as t };
|
package/package.json
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@open-insight/core",
|
|
3
|
+
"version": "0.0.0",
|
|
4
|
+
"description": "Core sandbox provider abstraction layer for Open Insight.",
|
|
5
|
+
"homepage": "https://github.com/open-insight/open-insight#readme",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/open-insight/open-insight/issues"
|
|
8
|
+
},
|
|
9
|
+
"license": "MIT",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/open-insight/open-insight.git",
|
|
13
|
+
"directory": "packages/core"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"type": "module",
|
|
19
|
+
"exports": {
|
|
20
|
+
".": "./dist/index.mjs",
|
|
21
|
+
"./internal": "./dist/internal.mjs",
|
|
22
|
+
"./package.json": "./package.json"
|
|
23
|
+
},
|
|
24
|
+
"publishConfig": {
|
|
25
|
+
"access": "public"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"@agentclientprotocol/sdk": "^1.0.0",
|
|
29
|
+
"ai": "^7.0.4",
|
|
30
|
+
"dockerfile-ast": "^0.7.1",
|
|
31
|
+
"effect": "4.0.0-beta.90",
|
|
32
|
+
"picomatch": "^4.0.4"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@effect/platform-node": "4.0.0-beta.91",
|
|
36
|
+
"@effect/vitest": "4.0.0-beta.91",
|
|
37
|
+
"@types/node": "^25.6.2",
|
|
38
|
+
"@types/picomatch": "^4.0.3",
|
|
39
|
+
"@typescript/native-preview": "7.0.0-dev.20260629.1",
|
|
40
|
+
"bumpp": "^11.1.0",
|
|
41
|
+
"typescript": "^5",
|
|
42
|
+
"vite-plus": "latest",
|
|
43
|
+
"vitest": "4.1.9",
|
|
44
|
+
"@open-insight/utils": "0.0.0"
|
|
45
|
+
},
|
|
46
|
+
"scripts": {
|
|
47
|
+
"build": "vp pack",
|
|
48
|
+
"dev": "vp pack --watch",
|
|
49
|
+
"test": "vp test",
|
|
50
|
+
"check": "vp check"
|
|
51
|
+
}
|
|
52
|
+
}
|