Merge remote-tracking branch 'origin/v2' into search-integration

# Conflicts:
#	packages/client/src/promise/generated/client.ts
#	packages/client/src/promise/generated/types.ts
#	packages/client/test/promise.test.ts
#	packages/core/src/plugin/host.ts
#	packages/core/src/plugin/internal.ts
#	packages/core/src/plugin/promise.ts
#	packages/core/test/plugin/host.ts
#	packages/plugin/src/v2/effect/index.ts
#	packages/plugin/src/v2/effect/integration.ts
#	packages/plugin/src/v2/promise/index.ts
#	packages/plugin/src/v2/promise/integration.ts
#	packages/protocol/src/client.ts
#	packages/schema/src/index.ts
#	packages/sdk/js/src/v2/gen/sdk.gen.ts
This commit is contained in:
Shoubhit Dash 2026-07-08 15:09:39 +05:30
commit a6acc2397d
374 changed files with 15254 additions and 10009 deletions

View file

@ -134,7 +134,7 @@ if (sessionListTypesPatched === logTypesPatched) {
throw new Error("Session list numeric query patch did not apply")
}
const sessionMessagesTypesPatched = sessionListTypesPatched.replace(
/(export type V2SessionMessagesData = \{[\s\S]*?query\?: \{[\s\S]*?limit\?: )string( \| null)/,
/(export type V2MessageListData = \{[\s\S]*?query\?: \{[\s\S]*?limit\?: )string( \| null)/,
"$1number$2",
)
if (sessionMessagesTypesPatched === sessionListTypesPatched) {

View file

@ -1,5 +1,9 @@
export * from "./gen/types.gen.js"
export type { FileSystemEntry as LocationFileSystemEntry } from "./gen/types.gen.js"
import type { UserMessage } from "./gen/types.gen.js"
/** @deprecated V1 snapshot compatibility. Use FileDiffInfo for current API responses. */
export type SnapshotFileDiff = NonNullable<NonNullable<UserMessage["summary"]>["diffs"]>[number]
import { createClient } from "./gen/client/client.gen.js"
import { type Config } from "./gen/client/types.gen.js"

View file

@ -276,8 +276,10 @@ import type {
V2CredentialRemoveResponses,
V2CredentialUpdateErrors,
V2CredentialUpdateResponses,
V2DebugLocationErrors,
V2DebugLocationResponses,
V2DebugLocationEvictErrors,
V2DebugLocationEvictResponses,
V2DebugLocationListErrors,
V2DebugLocationListResponses,
V2EventSubscribeErrors,
V2EventSubscribeResponses,
V2FormRequestListErrors,
@ -310,6 +312,10 @@ import type {
V2LocationGetResponses,
V2McpListErrors,
V2McpListResponses,
V2McpResourceCatalogErrors,
V2McpResourceCatalogResponses,
V2MessageListErrors,
V2MessageListResponses,
V2ModelDefaultErrors,
V2ModelDefaultResponses,
V2ModelListErrors,
@ -404,8 +410,8 @@ import type {
V2SessionLogResponses,
V2SessionMessageErrors,
V2SessionMessageResponses,
V2SessionMessagesErrors,
V2SessionMessagesResponses,
V2SessionMoveErrors,
V2SessionMoveResponses,
V2SessionPermissionCreateErrors,
V2SessionPermissionCreateResponses,
V2SessionPermissionGetErrors,
@ -6101,6 +6107,45 @@ export class Session3 extends HeyApiClient {
})
}
/**
* Move session
*
* Move a session to another project directory, optionally transferring local changes.
*/
public move<ThrowOnError extends boolean = false>(
parameters: {
sessionID: string
destination?: {
directory: string
}
moveChanges?: boolean | null
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "path", key: "sessionID" },
{ in: "body", key: "destination" },
{ in: "body", key: "moveChanges" },
],
},
],
)
return (options?.client ?? this.client).post<V2SessionMoveResponses, V2SessionMoveErrors, ThrowOnError>({
url: "/api/session/{sessionID}/move",
...options,
...params,
headers: {
"Content-Type": "application/json",
...options?.headers,
...params.headers,
},
})
}
/**
* Send message
*
@ -6245,6 +6290,7 @@ export class Session3 extends HeyApiClient {
metadata?: {
[key: string]: unknown
}
resume?: boolean | null
},
options?: Options<never, ThrowOnError>,
) {
@ -6257,6 +6303,7 @@ export class Session3 extends HeyApiClient {
{ in: "body", key: "text" },
{ in: "body", key: "description" },
{ in: "body", key: "metadata" },
{ in: "body", key: "resume" },
],
},
],
@ -6485,40 +6532,6 @@ export class Session3 extends HeyApiClient {
})
}
/**
* Get session messages
*
* Retrieve projected messages for a session. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline.
*/
public messages<ThrowOnError extends boolean = false>(
parameters: {
sessionID: string
limit?: number | null
order?: "asc" | "desc" | null
cursor?: string | null
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "limit" },
{ in: "query", key: "order" },
{ in: "query", key: "cursor" },
],
},
],
)
return (options?.client ?? this.client).get<V2SessionMessagesResponses, V2SessionMessagesErrors, ThrowOnError>({
url: "/api/session/{sessionID}/message",
...options,
...params,
})
}
private _revert?: Revert
get revert(): Revert {
return (this._revert ??= new Revert({ client: this.client }))
@ -6545,6 +6558,42 @@ export class Session3 extends HeyApiClient {
}
}
export class Message extends HeyApiClient {
/**
* Get session messages
*
* Retrieve projected messages for a session. Items keep the requested order across pages; use cursor.next or cursor.previous to move through the ordered timeline.
*/
public list<ThrowOnError extends boolean = false>(
parameters: {
sessionID: string
limit?: number | null
order?: "asc" | "desc" | null
cursor?: string | null
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "path", key: "sessionID" },
{ in: "query", key: "limit" },
{ in: "query", key: "order" },
{ in: "query", key: "cursor" },
],
},
],
)
return (options?.client ?? this.client).get<V2MessageListResponses, V2MessageListErrors, ThrowOnError>({
url: "/api/session/{sessionID}/message",
...options,
...params,
})
}
}
export class Model extends HeyApiClient {
/**
* List models
@ -6975,6 +7024,34 @@ export class Integration extends HeyApiClient {
}
}
export class Resource2 extends HeyApiClient {
/**
* List MCP resources
*
* Retrieve resources and resource templates from connected MCP servers.
*/
public catalog<ThrowOnError extends boolean = false>(
parameters?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }])
return (options?.client ?? this.client).get<
V2McpResourceCatalogResponses,
V2McpResourceCatalogErrors,
ThrowOnError
>({
url: "/api/mcp/resource",
...options,
...params,
})
}
}
export class Mcp2 extends HeyApiClient {
/**
* List MCP servers
@ -6997,6 +7074,11 @@ export class Mcp2 extends HeyApiClient {
...params,
})
}
private _resource?: Resource2
get resource(): Resource2 {
return (this._resource ??= new Resource2({ client: this.client }))
}
}
export class Credential extends HeyApiClient {
@ -7424,6 +7506,41 @@ export class Event2 extends HeyApiClient {
}
}
export class Connect2 extends HeyApiClient {
/**
* Create PTY WebSocket token
*
* Create a short-lived single-use ticket for opening a PTY WebSocket connection.
*/
public token<ThrowOnError extends boolean = false>(
parameters: {
ptyID: string
location?: {
directory?: string | null
workspace?: string | null
} | null
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "path", key: "ptyID" },
{ in: "query", key: "location" },
],
},
],
)
return (options?.client ?? this.client).post<V2PtyConnectTokenResponses, V2PtyConnectTokenErrors, ThrowOnError>({
url: "/api/pty/{ptyID}/connect-token",
...options,
...params,
})
}
}
export class Pty2 extends HeyApiClient {
/**
* List PTY sessions
@ -7606,39 +7723,6 @@ export class Pty2 extends HeyApiClient {
})
}
/**
* Create PTY WebSocket token
*
* Create a short-lived single-use ticket for opening a PTY WebSocket connection.
*/
public connectToken<ThrowOnError extends boolean = false>(
parameters: {
ptyID: string
location?: {
directory?: string | null
workspace?: string | null
} | null
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams(
[parameters],
[
{
args: [
{ in: "path", key: "ptyID" },
{ in: "query", key: "location" },
],
},
],
)
return (options?.client ?? this.client).post<V2PtyConnectTokenResponses, V2PtyConnectTokenErrors, ThrowOnError>({
url: "/api/pty/{ptyID}/connect-token",
...options,
...params,
})
}
/**
* Connect to PTY session
*
@ -7674,6 +7758,11 @@ export class Pty2 extends HeyApiClient {
...params,
})
}
private _connect?: Connect2
get connect2(): Connect2 {
return (this._connect ??= new Connect2({ client: this.client }))
}
}
export class Shell extends HeyApiClient {
@ -8123,20 +8212,53 @@ export class Vcs2 extends HeyApiClient {
}
}
export class Debug extends HeyApiClient {
export class Location2 extends HeyApiClient {
/**
* Evict a loaded location
*
* Dispose the requested location's cached services so its next use boots them fresh.
*/
public evict<ThrowOnError extends boolean = false>(
parameters?: {
location?: {
directory?: string | null
workspace?: string | null
} | null
},
options?: Options<never, ThrowOnError>,
) {
const params = buildClientParams([parameters], [{ args: [{ in: "query", key: "location" }] }])
return (options?.client ?? this.client).delete<
V2DebugLocationEvictResponses,
V2DebugLocationEvictErrors,
ThrowOnError
>({
url: "/api/debug/location",
...options,
...params,
})
}
/**
* List loaded locations
*
* List locations currently loaded by the server.
*/
public location<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {
return (options?.client ?? this.client).get<V2DebugLocationResponses, V2DebugLocationErrors, ThrowOnError>({
public list<ThrowOnError extends boolean = false>(options?: Options<never, ThrowOnError>) {
return (options?.client ?? this.client).get<V2DebugLocationListResponses, V2DebugLocationListErrors, ThrowOnError>({
url: "/api/debug/location",
...options,
})
}
}
export class Debug extends HeyApiClient {
private _location?: Location2
get location(): Location2 {
return (this._location ??= new Location2({ client: this.client }))
}
}
export class Provider3 extends HeyApiClient {
/**
* Get default search provider
@ -8284,6 +8406,11 @@ export class V2 extends HeyApiClient {
return (this._session ??= new Session3({ client: this.client }))
}
private _message?: Message
get message(): Message {
return (this._message ??= new Message({ client: this.client }))
}
private _model?: Model
get model(): Model {
return (this._model ??= new Model({ client: this.client }))

File diff suppressed because it is too large Load diff