mirror of
https://github.com/anomalyco/opencode.git
synced 2026-06-02 06:16:48 +02:00
style(session): shorten prompt parts names
This commit is contained in:
@@ -54,7 +54,7 @@ import { SessionTable } from "./session.sql"
|
||||
import { SessionReminders } from "./reminders"
|
||||
import { SessionTools } from "./tools"
|
||||
import { LLMEvent } from "@opencode-ai/llm"
|
||||
import { SessionPromptParts } from "./prompt/parts"
|
||||
import { PromptParts } from "./prompt/parts"
|
||||
|
||||
// @ts-ignore
|
||||
globalThis.AI_SDK_LOG_WARNINGS = false
|
||||
@@ -118,7 +118,7 @@ export const layer = Layer.effect(
|
||||
const ops = Effect.fn("SessionPrompt.ops")(function* () {
|
||||
return {
|
||||
cancel: (sessionID: SessionID) => cancel(sessionID),
|
||||
resolvePromptParts: (template: string) => SessionPromptParts.resolvePromptParts(template, services),
|
||||
resolvePromptParts: (template: string) => PromptParts.fromTemplate(template, services),
|
||||
prompt: (input: PromptInput) => prompt(input).pipe(Effect.catch(Effect.die)),
|
||||
loop: (input: LoopInput) => loop(input),
|
||||
} satisfies TaskPromptOps
|
||||
@@ -649,7 +649,7 @@ export const layer = Layer.effect(
|
||||
}
|
||||
|
||||
yield* Effect.addFinalizer(() => instruction.clear(info.id))
|
||||
const resolved = yield* SessionPromptParts.resolveMessageParts({ prompt: input, info, agent: ag }, services)
|
||||
const resolved = yield* PromptParts.fromPrompt({ prompt: input, info, agent: ag }, services)
|
||||
yield* sessions.updateMessage(info)
|
||||
for (const part of resolved.parts) yield* sessions.updatePart(part)
|
||||
// TODO(v2): Temporary dual-write while migrating session messages to v2 events.
|
||||
@@ -1038,7 +1038,7 @@ export const layer = Layer.effect(
|
||||
throw error
|
||||
}
|
||||
|
||||
const templateParts = yield* SessionPromptParts.resolvePromptParts(template, services)
|
||||
const templateParts = yield* PromptParts.fromTemplate(template, services)
|
||||
const isSubtask = (agent.mode === "subagent" && cmd.subtask !== false) || cmd.subtask === true
|
||||
const parts = isSubtask
|
||||
? [
|
||||
@@ -1089,7 +1089,7 @@ export const layer = Layer.effect(
|
||||
loop,
|
||||
shell,
|
||||
command,
|
||||
resolvePromptParts: (template) => SessionPromptParts.resolvePromptParts(template, services),
|
||||
resolvePromptParts: (template) => PromptParts.fromTemplate(template, services),
|
||||
})
|
||||
}),
|
||||
)
|
||||
|
||||
@@ -43,14 +43,11 @@ type Services = {
|
||||
registry: ToolRegistry.Interface
|
||||
}
|
||||
|
||||
export const resolvePromptParts = Effect.fn("SessionPromptParts.resolvePromptParts")(function* (
|
||||
template: string,
|
||||
services: Services,
|
||||
) {
|
||||
export const fromTemplate = Effect.fn("PromptParts.fromTemplate")(function* (template: string, services: Services) {
|
||||
return yield* resolveTemplateParts(template, services)
|
||||
})
|
||||
|
||||
export const resolveMessageParts = Effect.fn("SessionPromptParts.resolveMessageParts")(function* (
|
||||
export const fromPrompt = Effect.fn("PromptParts.fromPrompt")(function* (
|
||||
input: {
|
||||
prompt: PromptInput
|
||||
info: MessageV2.User
|
||||
@@ -88,8 +85,8 @@ export const resolveMessageParts = Effect.fn("SessionPromptParts.resolveMessageP
|
||||
})
|
||||
})
|
||||
|
||||
const resolvePart: (part: PromptInput["parts"][number]) => Effect.Effect<Draft<MessageV2.Part>[]> = Effect.fn(
|
||||
"SessionPromptParts.resolveUserPart",
|
||||
const fromPart: (part: PromptInput["parts"][number]) => Effect.Effect<Draft<MessageV2.Part>[]> = Effect.fn(
|
||||
"PromptParts.fromPart",
|
||||
)(function* (part) {
|
||||
if (part.type === "file") {
|
||||
if (part.source?.type === "resource") {
|
||||
@@ -369,7 +366,7 @@ export const resolveMessageParts = Effect.fn("SessionPromptParts.resolveMessageP
|
||||
return [{ ...part, messageID: input.info.id, sessionID: input.prompt.sessionID }]
|
||||
})
|
||||
|
||||
const resolvedParts = yield* Effect.forEach(input.prompt.parts, resolvePart, { concurrency: "unbounded" }).pipe(
|
||||
const resolvedParts = yield* Effect.forEach(input.prompt.parts, fromPart, { concurrency: "unbounded" }).pipe(
|
||||
Effect.map((x) => x.flat().map(assign)),
|
||||
)
|
||||
|
||||
@@ -593,4 +590,4 @@ function nextPrompt(parts: MessageV2.Part[]) {
|
||||
)
|
||||
}
|
||||
|
||||
export * as SessionPromptParts from "./parts"
|
||||
export * as PromptParts from "./parts"
|
||||
|
||||
Reference in New Issue
Block a user