feat: update session notices and skill reloads

This commit is contained in:
Dax Raad 2026-07-01 14:37:27 -04:00
commit fb884bb91e
29 changed files with 304 additions and 75 deletions

View file

@ -23,6 +23,7 @@ import { QuestionV1 } from "./question-v1.js"
import { Reference } from "./reference.js"
import { ServerEvent } from "./server-event.js"
import { Shell } from "./shell.js"
import { Skill } from "./skill.js"
import { SessionCompactionEvent } from "./session-compaction-event.js"
import { SessionEvent } from "./session-event.js"
import { SessionStatusEvent } from "./session-status-event.js"
@ -52,6 +53,7 @@ const featureDefinitions = Event.inventory(
...Permission.Event.Definitions,
...Plugin.Event.Definitions,
...ProjectDirectories.Event.Definitions,
...Skill.Event.Definitions,
...FileSystemWatcher.Event.Definitions,
...Pty.Event.Definitions,
...Shell.Event.Definitions,

View file

@ -137,6 +137,7 @@ export const Synthetic = Event.define({
...Base,
messageID: SessionMessage.ID,
text: Schema.String,
description: Schema.String.pipe(optional),
},
})
export type Synthetic = typeof Synthetic.Type

View file

@ -55,6 +55,7 @@ export const Synthetic = Schema.Struct({
...Base,
sessionID: SessionID,
text: Schema.String,
description: Schema.String.pipe(optional),
type: Schema.Literal("synthetic"),
}).annotate({ identifier: "Session.Message.Synthetic" })

View file

@ -3,6 +3,7 @@ export * as Skill from "./skill.js"
import { Schema } from "effect"
import { optional } from "./schema.js"
import { AbsolutePath } from "./schema.js"
import { define, inventory } from "./event.js"
export interface DirectorySource extends Schema.Schema.Type<typeof DirectorySource> {}
export const DirectorySource = Schema.Struct({
@ -25,6 +26,9 @@ export const Info = Schema.Struct({
content: Schema.String,
}).annotate({ identifier: "SkillV2.Info" })
const Updated = define({ type: "skill.updated", schema: {} })
export const Event = { Updated, Definitions: inventory(Updated) }
export interface EmbeddedSource extends Schema.Schema.Type<typeof EmbeddedSource> {}
export const EmbeddedSource = Schema.Struct({
type: Schema.Literal("embedded"),