feat(plugin): add session request hook
This commit is contained in:
parent
c4fa5e6619
commit
518d64d684
5 changed files with 92 additions and 1 deletions
|
|
@ -4,8 +4,11 @@ import type { Agent } from "@opencode-ai/schema/agent"
|
|||
import type { Model } from "@opencode-ai/schema/model"
|
||||
import type { Session } from "@opencode-ai/schema/session"
|
||||
import type { JsonSchema } from "effect"
|
||||
import type { SessionRequest } from "../session.js"
|
||||
import type { Hooks } from "./registration.js"
|
||||
|
||||
export type { RequestBody, RequestValue, SessionRequest } from "../session.js"
|
||||
|
||||
export interface SessionContext {
|
||||
readonly sessionID: Session.ID
|
||||
readonly agent: Agent.ID
|
||||
|
|
@ -17,6 +20,7 @@ export interface SessionContext {
|
|||
|
||||
export interface SessionHooks {
|
||||
readonly context: SessionContext
|
||||
readonly request: SessionRequest
|
||||
}
|
||||
|
||||
export type SessionDomain = Pick<
|
||||
|
|
|
|||
|
|
@ -4,8 +4,11 @@ import type { Agent } from "@opencode-ai/schema/agent"
|
|||
import type { Model } from "@opencode-ai/schema/model"
|
||||
import type { Session } from "@opencode-ai/schema/session"
|
||||
import type { JsonSchema } from "effect"
|
||||
import type { SessionRequest } from "../session.js"
|
||||
import type { Hooks } from "./registration.js"
|
||||
|
||||
export type { RequestBody, RequestValue, SessionRequest } from "../session.js"
|
||||
|
||||
export interface SessionContext {
|
||||
readonly sessionID: Session.ID
|
||||
readonly agent: Agent.ID
|
||||
|
|
@ -17,6 +20,7 @@ export interface SessionContext {
|
|||
|
||||
export interface SessionHooks {
|
||||
readonly context: SessionContext
|
||||
readonly request: SessionRequest
|
||||
}
|
||||
|
||||
export type SessionDomain = Pick<
|
||||
|
|
|
|||
21
packages/plugin/src/v2/session.ts
Normal file
21
packages/plugin/src/v2/session.ts
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import type { Agent } from "@opencode-ai/schema/agent"
|
||||
import type { Model } from "@opencode-ai/schema/model"
|
||||
import type { Session } from "@opencode-ai/schema/session"
|
||||
|
||||
export type RequestValue =
|
||||
| null
|
||||
| boolean
|
||||
| number
|
||||
| string
|
||||
| Array<RequestValue>
|
||||
| { [key: string]: RequestValue }
|
||||
|
||||
export type RequestBody = Record<string, RequestValue>
|
||||
|
||||
export interface SessionRequest {
|
||||
readonly sessionID: Session.ID
|
||||
readonly agent: Agent.ID
|
||||
readonly model: Model.Ref
|
||||
headers: Record<string, string>
|
||||
body: RequestBody
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue