Skip to content

Commit 6bc60ca

Browse files
committed
refactor(session): rename interrupt resume option
1 parent 3468a09 commit 6bc60ca

23 files changed

Lines changed: 50 additions & 51 deletions

File tree

‎V2_HTTP_API_AUDIT.md‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,10 @@ Review endpoints in document order. For each endpoint, select one disposition an
162162
| [x] 061 | `POST` | `/api/experimental/session/{sessionID}/skill` | `experimental.session.skill` | Experimental-only | Skill ID is now the `id` field; standalone activation remains experimental. |
163163
| [x] 062 | `POST` | `/api/session/{sessionID}/synthetic` | `session.synthetic` | Keep | Durable synthetic admission and delivery controls retained. |
164164
| [x] 063 | `POST` | `/api/session/{sessionID}/shell` | `session.shell` | Change | Caller ID is now the optimistic shell message ID; server derives its event ID. |
165-
| [ ] 064 | `POST` | `/api/session/{sessionID}/compact` | `session.compact` | | |
166-
| [ ] 065 | `POST` | `/api/session/{sessionID}/wait` | `session.wait` | | |
167-
| [ ] 066 | `POST` | `/api/session/{sessionID}/generate` | `session.generate` | | |
168-
| [ ] 067 | `POST` | `/api/session/{sessionID}/interrupt` | `session.interrupt` | | |
165+
| [x] 064 | `POST` | `/api/session/{sessionID}/compact` | `session.compact` | Keep | Durable compaction admission and delivery controls retained. |
166+
| [x] 065 | `POST` | `/api/experimental/session/{sessionID}/wait` | `experimental.session.wait` | Experimental-only | Race-free idle barrier retained outside the stable API. |
167+
| [x] 066 | `POST` | `/api/session/{sessionID}/generate` | `session.generate` | Keep | Transient generation from session context retained. |
168+
| [x] 067 | `POST` | `/api/session/{sessionID}/interrupt` | `session.interrupt` | Change | Renamed `continue` to `resume` across public and internal interruption APIs. |
169169
| [ ] 068 | `PUT` | `/api/session/{sessionID}/environment` | `session.environment` | | |
170170
| [ ] 069 | `POST` | `/api/session/{sessionID}/view` | `session.view` | | |
171171

‎packages/app/src/composer/composer.stories.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ function ComposerStory(props: {
187187
)
188188
},
189189
onStop: () =>
190-
setStory("activity", props.continueOnStop ? "POST /interrupt · continue: true" : "Stop requested"),
190+
setStory("activity", props.continueOnStop ? "POST /interrupt · resume: true" : "Stop requested"),
191191
},
192192
},
193193
})

‎packages/app/src/session/composer/adapter.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ export function createActiveComposerAdapter(input: {
3737
}),
3838
interrupt: () =>
3939
server.api.session
40-
.interrupt({ sessionID: id, continue: true })
40+
.interrupt({ sessionID: id, resume: true })
4141
.then(() => undefined)
4242
.catch(() => undefined),
4343
}

‎packages/client/src/effect/api/api.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1307,7 +1307,7 @@ export type SessionLogOutput =
13071307
| EventLog.Synced
13081308
export type SessionLogOperation<E = never> = (input: SessionLogInput) => Stream.Stream<SessionLogOutput, E>
13091309

1310-
export type SessionInterruptInput = { readonly sessionID: Session.ID; readonly continue?: boolean | undefined }
1310+
export type SessionInterruptInput = { readonly sessionID: Session.ID; readonly resume?: boolean | undefined }
13111311
export type SessionInterruptOutput = { readonly interrupted: boolean }
13121312
export type SessionInterruptOperation<E = never> = (
13131313
input: SessionInterruptInput,

‎packages/client/src/effect/generated/client.ts‎

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -668,10 +668,9 @@ const EndpointSessionLog = (raw: RawClient["server.session"]) => (input: Session
668668

669669
const EndpointSessionInterrupt = (raw: RawClient["server.session"]) => (input: SessionInterruptInput) =>
670670
preserveEffect<SessionInterruptOutput>()(
671-
raw["session.interrupt"]({
672-
params: { sessionID: input["sessionID"] },
673-
query: { continue: input["continue"] },
674-
}).pipe(Effect.mapError(mapClientError)),
671+
raw["session.interrupt"]({ params: { sessionID: input["sessionID"] }, query: { resume: input["resume"] } }).pipe(
672+
Effect.mapError(mapClientError),
673+
),
675674
)
676675

677676
const EndpointSessionBackground = (raw: RawClient["server.session"]) => (input: SessionBackgroundInput) =>

‎packages/client/src/promise/generated/client.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -767,7 +767,7 @@ export function make(options: ClientOptions) {
767767
request<SessionWaitOutput>(
768768
{
769769
method: "POST",
770-
path: `/api/session/${encodeURIComponent(input.sessionID)}/wait`,
770+
path: `/api/experimental/session/${encodeURIComponent(input.sessionID)}/wait`,
771771
successStatus: 204,
772772
declaredStatuses: [400, 401, 404, 503],
773773
empty: true,
@@ -946,7 +946,7 @@ export function make(options: ClientOptions) {
946946
{
947947
method: "POST",
948948
path: `/api/session/${encodeURIComponent(input.sessionID)}/interrupt`,
949-
query: { continue: input["continue"] },
949+
query: { resume: input["resume"] },
950950
successStatus: 200,
951951
declaredStatuses: [400, 401, 404],
952952
empty: false,

‎packages/client/src/promise/generated/types.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4381,7 +4381,7 @@ export type SessionLogOutput = SessionLogItem
43814381

43824382
export type SessionInterruptInput = {
43834383
readonly sessionID: { readonly sessionID: string }["sessionID"]
4384-
readonly continue?: { readonly continue?: boolean | undefined }["continue"]
4384+
readonly resume?: { readonly resume?: boolean | undefined }["resume"]
43854385
}
43864386

43874387
export type SessionInterruptOutput = SessionInterruptResponse

‎packages/client/test/promise.test.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -883,7 +883,7 @@ test("session methods use the public HTTP contract", async () => {
883883
["POST", "http://localhost:3000/api/session/ses_test/generate"],
884884
["POST", "http://localhost:3000/api/session/ses_test/synthetic"],
885885
["POST", "http://localhost:3000/api/session/ses_test/compact"],
886-
["POST", "http://localhost:3000/api/session/ses_test/wait"],
886+
["POST", "http://localhost:3000/api/experimental/session/ses_test/wait"],
887887
["GET", "http://localhost:3000/api/session/ses_test/context"],
888888
["GET", "http://localhost:3000/api/experimental/session/ses_test/log?after=0"],
889889
["POST", "http://localhost:3000/api/session/ses_test/interrupt?continue=true"],

‎packages/core/src/plugin/host.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ export const make = Effect.fn("PluginHost.make")(function* (
549549
synthetic: sessions.synthetic,
550550
interrupt: (input) =>
551551
sessions
552-
.interrupt(input.sessionID, { continue: input.continue })
552+
.interrupt(input.sessionID, { resume: input.resume })
553553
.pipe(Effect.map((interrupted) => ({ interrupted }))),
554554
wait: (input) => sessions.wait(input.sessionID),
555555
context: (input) => sessions.context(input.sessionID),

‎packages/core/src/session.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ export interface Interface {
205205
readonly active: Effect.Effect<ReadonlySet<SessionSchema.ID>>
206206
readonly background: (sessionID: SessionSchema.ID) => Effect.Effect<void, NotFoundError>
207207
readonly resume: (sessionID: SessionSchema.ID) => Effect.Effect<void, NotFoundError | SessionRunner.RunError>
208-
readonly interrupt: (sessionID: SessionSchema.ID, options?: { readonly continue?: boolean }) => Effect.Effect<boolean>
208+
readonly interrupt: (sessionID: SessionSchema.ID, options?: { readonly resume?: boolean }) => Effect.Effect<boolean>
209209
readonly synthetic: (
210210
input: Parameters<Session.Handle["synthetic"]>[0] & { sessionID: SessionSchema.ID },
211211
) => ReturnType<Session.Handle["synthetic"]>

0 commit comments

Comments
 (0)