@deepseek-ai/dsh-tool-cordis 0.2.2-alpha.2 → 0.2.2-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/types/api-catalog.js +287 -115
- package/package.json +17 -17
package/lib/types/api-catalog.js
CHANGED
|
@@ -922,15 +922,15 @@ export const SERVICE_API = [
|
|
|
922
922
|
returns: 'Optional native PNG icons keyed by executable path; applications without paths are skipped.',
|
|
923
923
|
},
|
|
924
924
|
{
|
|
925
|
-
signature: '@Remote async requestPermission(permission: CuaSystemPermission): Promise<CuaSystemPermissionState>',
|
|
926
|
-
description: 'Request
|
|
927
|
-
parameters: [{ name: 'permission', description: 'macOS privilege to request.' }],
|
|
928
|
-
returns: '
|
|
925
|
+
signature: '@Remote async requestPermission(permission: CuaSystemPermission, locale: string): Promise<CuaSystemPermissionState>',
|
|
926
|
+
description: 'Request the selected system privilege through the native provider.',
|
|
927
|
+
parameters: [{ name: 'permission', description: 'macOS privilege to request.' }, { name: 'locale', description: 'Current Client language for provider-owned permission UI.' }],
|
|
928
|
+
returns: 'Current permission observations; requesting does not establish consent.',
|
|
929
929
|
},
|
|
930
930
|
{
|
|
931
|
-
signature: '@Remote async openSettings(permission: CuaSystemPermission): Promise<void>',
|
|
931
|
+
signature: '@Remote async openSettings(permission: CuaSystemPermission, locale: string): Promise<void>',
|
|
932
932
|
description: 'Open the macOS privacy pane selected by the user.',
|
|
933
|
-
parameters: [{ name: 'permission', description: 'Corresponding system privilege.' }],
|
|
933
|
+
parameters: [{ name: 'permission', description: 'Corresponding system privilege.' }, { name: 'locale', description: 'Current Client language for provider-owned recovery instructions.' }],
|
|
934
934
|
returns: 'Completion after macOS accepted the open request.',
|
|
935
935
|
},
|
|
936
936
|
{
|
|
@@ -1209,6 +1209,13 @@ export const SERVICE_API = [
|
|
|
1209
1209
|
returns: 'undefined once the host merged it, or why it did not.',
|
|
1210
1210
|
throws: ['when no provider serves the change request\'s forge, or with `signal.reason` when it aborts.'],
|
|
1211
1211
|
},
|
|
1212
|
+
{
|
|
1213
|
+
signature: 'async fetchChecks(ref: ChangeRequestRef, signal: AbortSignal): Promise<ChangeRequestSnapshot | ForgeFailure>',
|
|
1214
|
+
description: 'Read complete check details independently of periodic polling.',
|
|
1215
|
+
parameters: [{ name: 'ref', description: 'change request served by a registered provider.' }, { name: 'signal', description: 'cancellation of the detail view.' }],
|
|
1216
|
+
returns: 'a complete snapshot or the provider\'s failure; unsupported providers return unavailable.',
|
|
1217
|
+
throws: ['on cancellation, provider disposal, or expiry of this read\'s own `fetchTimeoutMs` deadline.'],
|
|
1218
|
+
},
|
|
1212
1219
|
{
|
|
1213
1220
|
signature: 'async diff(ref: ChangeRequestRef, signal: AbortSignal): Promise<string | ForgeFailure>',
|
|
1214
1221
|
description: 'Read the changes of a change request as its host computes them.',
|
|
@@ -1216,6 +1223,12 @@ export const SERVICE_API = [
|
|
|
1216
1223
|
returns: 'one unified patch with `a/` and `b/` path prefixes, or why the host did not provide it.',
|
|
1217
1224
|
throws: ['when no provider serves the change request\'s forge, or with `signal.reason` when it aborts.'],
|
|
1218
1225
|
},
|
|
1226
|
+
{
|
|
1227
|
+
signature: 'async submitReview(ref: ChangeRequestRef, request: ForgeReviewRequest, signal: AbortSignal): Promise<ForgeReviewResult>',
|
|
1228
|
+
description: 'Publish one comment or a completed review, then refresh the watched status.',
|
|
1229
|
+
parameters: [{ name: 'ref', description: 'change request served by a registered provider.' }, { name: 'request', description: 'explicitly selected commit, comments, and review decision.' }, { name: 'signal', description: 'request cancellation.' }],
|
|
1230
|
+
returns: 'a publication URL or a failure, including an unknown write outcome.',
|
|
1231
|
+
},
|
|
1219
1232
|
{
|
|
1220
1233
|
signature: 'async fileText(ref: ChangeRequestRef, commit: string, path: string, signal: AbortSignal): Promise<string | ForgeFailure>',
|
|
1221
1234
|
description: 'Read the text of one file at a commit of a change request\'s repository.',
|
|
@@ -1252,7 +1265,7 @@ export const SERVICE_API = [
|
|
|
1252
1265
|
{
|
|
1253
1266
|
key: 'forgePanel',
|
|
1254
1267
|
summary: 'Serves the forge panel.',
|
|
1255
|
-
description: 'Serves the forge panel. Following a Session inspects the checkout of its current directory
|
|
1268
|
+
description: 'Serves the forge panel. Following a Session inspects the checkout of its current directory using the Session\'s permissions and execution world, recognizes the code host of the upstream remote or `origin`, probes sign-in for that host, and polls the Session\'s bound change requests through `ctx.forge` until the last follower of that Session leaves. A worktree request makes the panel create a branch and checkout through an optional `ctx.worktrees` and enter it while the Session\'s first message waits in the inbox, or at the first step proposal of a message no wait took. After a failed or stopped attempt the message keeps waiting for another attempt or for the request to be withdrawn. A message also waits while the worktree the Session works in is gone, until that worktree is checked out again or left for the source checkout. Changes to a Session\'s checkout run as Agent maintenance, so a message that arrives meanwhile waits for them.',
|
|
1256
1269
|
methods: [
|
|
1257
1270
|
{
|
|
1258
1271
|
signature: '@Remote({ mode: \'stream\' }) async *follow(session: Session, signal: AbortSignal): AsyncIterable<ForgePanelState>',
|
|
@@ -1293,10 +1306,10 @@ export const SERVICE_API = [
|
|
|
1293
1306
|
},
|
|
1294
1307
|
{
|
|
1295
1308
|
signature: '@Remote async localDiff(session: Session, scope: ForgeLocalScope, signal: AbortSignal): Promise<ForgeLocalDiff>',
|
|
1296
|
-
description: 'Read the changes one scope covers in the checkout of the Session\'s current directory, with Git
|
|
1309
|
+
description: 'Read the changes one scope covers in the checkout of the Session\'s current directory, with Git using the Session\'s sandbox policy.',
|
|
1297
1310
|
parameters: [{ name: 'session', description: 'Session whose checkout is read.' }, { name: 'scope', description: 'which changes to read.' }, { name: 'signal', description: 'request cancellation.' }],
|
|
1298
1311
|
returns: 'the files, the base of the `branch` scope, and the untracked files left out.',
|
|
1299
|
-
throws: ['`forgePanel/not-a-checkout` outside a checkout; `forgePanel/no-fork-point` for the `branch` scope of a checkout without one; `forgePanel/diff-too-large` over `maxDiffBytes`; the Git error when Git fails.'],
|
|
1312
|
+
throws: ['`forgePanel/not-a-checkout` outside a checkout; `forgePanel/no-fork-point` for the `branch` scope of a checkout without one; `forgePanel/filter-config-failed` when filter configuration cannot be read completely, before any comparison; `forgePanel/diff-too-large` over `maxDiffBytes`; the Git error when Git fails.'],
|
|
1300
1313
|
},
|
|
1301
1314
|
{
|
|
1302
1315
|
signature: '@Remote async localText(session: Session, scope: ForgeLocalScope, path: string, signal: AbortSignal): Promise<string>',
|
|
@@ -1305,6 +1318,13 @@ export const SERVICE_API = [
|
|
|
1305
1318
|
returns: 'the text.',
|
|
1306
1319
|
throws: ['`forgePanel/not-a-checkout` outside a checkout; `forgePanel/diff-too-large` over `maxDiffBytes`; an error for a path outside the checkout, binary content, or a failed read.'],
|
|
1307
1320
|
},
|
|
1321
|
+
{
|
|
1322
|
+
signature: '@Remote async changeRequestChecks(session: Session, url: string, headSha: string, signal: AbortSignal): Promise<ChangeRequestSnapshot>',
|
|
1323
|
+
description: 'Load complete checks for the change request whose list the user opened.',
|
|
1324
|
+
parameters: [{ name: 'session', description: 'Session retaining the visible binding.' }, { name: 'url', description: 'binding URL.' }, { name: 'headSha', description: 'commit displayed by the card; a different head rejects the result.' }, { name: 'signal', description: 'cancellation when the list closes.' }],
|
|
1325
|
+
returns: 'the complete snapshot at the displayed head.',
|
|
1326
|
+
throws: ['`forgePanel/not-bound` for an invisible binding, `forgePanel/stale-head` for a moved head, or `forgePanel/checks-failed` when the provider cannot complete the read.'],
|
|
1327
|
+
},
|
|
1308
1328
|
{
|
|
1309
1329
|
signature: '@Remote async changeRequestDiff(session: Session, url: string, signal: AbortSignal): Promise<ForgeChangeRequestDiff>',
|
|
1310
1330
|
description: 'Read the changes of a change request of a Session as its code host computes them, at the head commit of its latest status. A patch already read at the same head commit and base branch is reused from memory, for any Session, until `maxCachedDiffBytes` evicts it.',
|
|
@@ -1319,6 +1339,12 @@ export const SERVICE_API = [
|
|
|
1319
1339
|
returns: 'the text.',
|
|
1320
1340
|
throws: ['`forgePanel/not-bound` unless the URL is a visible binding of the Session that a provider serves; `forgePanel/diff-too-large` when the host or its provider refuses the file over a size limit; `forgePanel/diff-failed` when the host does not provide the file otherwise.'],
|
|
1321
1341
|
},
|
|
1342
|
+
{
|
|
1343
|
+
signature: '@Remote async submitReview(session: Session, url: string, request: ForgeReviewRequest, signal: AbortSignal): Promise<ForgeReviewResult>',
|
|
1344
|
+
description: 'Publish a line comment or completed review for a visible Session binding.',
|
|
1345
|
+
parameters: [{ name: 'session', description: 'Session retaining the change request.' }, { name: 'url', description: 'visible binding URL.' }, { name: 'request', description: 'reviewed head, ranges, plain text, and explicit review decision.' }, { name: 'signal', description: 'request cancellation.' }],
|
|
1346
|
+
returns: 'confirmed publication or a typed failure; unknown outcomes require reconciliation on the host.',
|
|
1347
|
+
},
|
|
1322
1348
|
{
|
|
1323
1349
|
signature: '@Remote async markReady(session: Session, url: string, signal: AbortSignal): Promise<void>',
|
|
1324
1350
|
description: 'Mark a draft change request of a Session ready for review; the change request is polled again once the host answers.',
|
|
@@ -1407,7 +1433,7 @@ export const SERVICE_API = [
|
|
|
1407
1433
|
{
|
|
1408
1434
|
key: 'fs',
|
|
1409
1435
|
summary: 'Abstract filesystem provider.',
|
|
1410
|
-
description: 'Abstract filesystem provider. Targets must preserve identity across aliases; reads expose regular UTF-8 text or typed errors, listings are stable and content-free, and
|
|
1436
|
+
description: 'Abstract filesystem provider. Targets must preserve identity across aliases; reads expose regular UTF-8 text or typed errors, listings are stable and content-free, and single-file publication is atomic. Moves can retain their source after publishing the destination. Optional guards add stale protection without changing the unguarded provider contract.',
|
|
1411
1437
|
methods: [
|
|
1412
1438
|
{
|
|
1413
1439
|
signature: 'watch(target: FsTarget, changed: (error?: Error) => void, signal: AbortSignal): Promise<() => Promise<void>>',
|
|
@@ -1500,6 +1526,24 @@ export const SERVICE_API = [
|
|
|
1500
1526
|
parameters: [{ name: 'target', description: 'the resolved target to edit.' }, { name: 'edit', description: 'the literal search/replace request.' }, { name: 'expected', description: 'the version guard; omit for an unconditional edit.' }, { name: 'signal', description: 'aborts before atomic publication takes effect.' }, { name: 'sandboxPolicy', description: 'the per-call mode and workspace root this edit runs under; a sandboxing backend fences the edit by it, the bare backend ignores it. Omit to leave the backend its own default.' }],
|
|
1501
1527
|
returns: 'the outcome, including the version the edit produced.',
|
|
1502
1528
|
},
|
|
1529
|
+
{
|
|
1530
|
+
signature: 'abstract patchText( target: FsTarget, hunks: readonly PatchHunk[], expected?: { version: FsVersion }, signal?: AbortSignal, sandboxPolicy?: SandboxExecutionPolicy, ): Promise<FsEditOutcome>',
|
|
1531
|
+
description: 'Atomically apply parsed hunks to the LF-normalized text and restore the stored line-ending style. A missing or stale target reports `FS_STALE_VERSION`; an unmatched hunk reports `FS_PATCH_MISMATCH`.',
|
|
1532
|
+
parameters: [{ name: 'target', description: 'the resolved regular file to patch.' }, { name: 'hunks', description: 'ordered hunks from `parsePatch`.' }, { name: 'expected', description: 'the version guard; omit for an unconditional patch.' }, { name: 'signal', description: 'aborts before atomic publication takes effect.' }, { name: 'sandboxPolicy', description: 'the per-call mode and workspace root this patch runs under; a sandboxing backend fences the patch by it, the bare backend ignores it. Omit to leave the backend its own default.' }],
|
|
1533
|
+
returns: 'the outcome, including the version the patch produced.',
|
|
1534
|
+
},
|
|
1535
|
+
{
|
|
1536
|
+
signature: 'abstract deleteFile( target: FsTarget, expected?: { version: FsVersion }, signal?: AbortSignal, sandboxPolicy?: SandboxExecutionPolicy, ): Promise<FsDeleteOutcome>',
|
|
1537
|
+
description: 'Remove a regular file. A missing or stale target reports `FS_STALE_VERSION`; a directory or other non-file reports `FS_NOT_REGULAR_FILE`. Resolution has already followed symlinks, so the target is the real file.',
|
|
1538
|
+
parameters: [{ name: 'target', description: 'the resolved file to remove.' }, { name: 'expected', description: 'the version guard; omit for an unconditional removal.' }, { name: 'signal', description: 'aborts before removal.' }, { name: 'sandboxPolicy', description: 'the per-call mode and workspace root this removal runs under; a sandboxing backend fences it, the bare backend ignores it. Omit to leave the backend its own default.' }],
|
|
1539
|
+
returns: 'the bounded LF-normalized removed text, or null when no basis is available.',
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
signature: 'abstract moveFile( source: FsTarget, destination: FsTarget, options: { hunks?: readonly PatchHunk[] expectedSource?: { version: FsVersion } expectedDestination?: FsWriteIntent }, signal?: AbortSignal, sandboxPolicy?: SandboxExecutionPolicy, ): Promise<FsMoveOutcome>',
|
|
1543
|
+
description: 'Publish the source text, optionally patched, at the destination, then remove the source. Both targets stay locked in canonical order. Identical targets report `FS_SAME_TARGET`; the source guard follows `patchText` and the destination guard follows `writeText`. The two effects are separate: a published destination with a retained source is a final outcome reported through `sourceDeleted: false`.',
|
|
1544
|
+
parameters: [{ name: 'source', description: 'the resolved regular source; its line-ending style and mode carry over.' }, { name: 'destination', description: 'the resolved destination within the same provider.' }, { name: 'options', description: 'optional hunks and the source/destination guards; an omitted guard is unconditional.' }, { name: 'signal', description: 'checked before destination staging; the commit then completes both effects.' }, { name: 'sandboxPolicy', description: 'the per-call mode and workspace root both paths run under; a sandboxing backend fences them, the bare backend ignores it. Omit to leave the backend its own default.' }],
|
|
1545
|
+
returns: 'the bounded LF source basis, the destination outcome, and the source-removal status.',
|
|
1546
|
+
},
|
|
1503
1547
|
],
|
|
1504
1548
|
},
|
|
1505
1549
|
{
|
|
@@ -2184,7 +2228,7 @@ export const SERVICE_API = [
|
|
|
2184
2228
|
},
|
|
2185
2229
|
{
|
|
2186
2230
|
signature: '@Remote installBundle(spec: string, options?: InstallBundleOptions): Promise<ChangeResult>',
|
|
2187
|
-
description: 'Install a package using the same pnpm implementation as dsh plugin. GitHub repositories get a connection check bounded by githubConnectionTimeoutMs before pnpm starts; only network failures or timeouts stop installation, while pnpm owns authentication and transport fallback. An HTTP(S) Git URL on another host is installed over SSH instead when access probes bounded by gitTransportTimeoutMs find that only SSH can read it. A run that fails, is cancelled, or adds a package without a bundle patch restores `package.json` and `pnpm-lock.yaml` as they were; downloaded files can stay.',
|
|
2231
|
+
description: 'Install a package using the same pnpm implementation as dsh plugin. GitHub repositories get a connection check bounded by githubConnectionTimeoutMs before pnpm starts; only network failures or timeouts stop installation, and a stop streams the check\'s diagnostic as the installation\'s install-log run under its request id, while pnpm owns authentication and transport fallback. An HTTP(S) Git URL on another host is installed over SSH instead when access probes bounded by gitTransportTimeoutMs find that only SSH can read it. A run that fails, is cancelled, or adds a package without a bundle patch restores `package.json` and `pnpm-lock.yaml` as they were; downloaded files can stay.',
|
|
2188
2232
|
parameters: [{ name: 'spec', description: 'One package spec, including local paths relative to the invocation directory.' }, { name: 'options', description: 'Whether to activate the installed bundle (defaults to true), the request id a cancellation names, the pending build scripts to allow, whether to save an exact dependency, and the registry asked first.' }],
|
|
2189
2233
|
returns: 'Package-manager diagnostics, the registries asked, and the observed activation outcome.',
|
|
2190
2234
|
},
|
|
@@ -2468,51 +2512,86 @@ export const SERVICE_API = [
|
|
|
2468
2512
|
},
|
|
2469
2513
|
{
|
|
2470
2514
|
key: 'schedule',
|
|
2471
|
-
summary: 'Shared management service; reads
|
|
2472
|
-
description: 'Shared management service; reads
|
|
2515
|
+
summary: 'Shared management service; reads and management writes never activate a Session, and only delivery creates or resumes one.',
|
|
2516
|
+
description: 'Shared management service; reads and management writes never activate a Session, and only delivery creates or resumes one.\n\n`sessionPersistence` supplies header-only target validation and the `session/flush` listener that acknowledges durable inbox delivery through `ctx.sessions.flush()`.',
|
|
2473
2517
|
methods: [
|
|
2474
2518
|
{
|
|
2475
|
-
signature: '
|
|
2476
|
-
description: '
|
|
2477
|
-
parameters: [
|
|
2478
|
-
returns: 'The
|
|
2519
|
+
signature: '@Remote(\'deliveryLimits\') deliveryLimits(): { readonly newSessionIntervalSeconds: number }',
|
|
2520
|
+
description: 'Read effective delivery limits without loading or activating a task.',
|
|
2521
|
+
parameters: [],
|
|
2522
|
+
returns: 'The configured minimum spacing between deliveries that each create a Session, in seconds.',
|
|
2523
|
+
},
|
|
2524
|
+
{
|
|
2525
|
+
signature: '@Remote(\'create\') async remoteCreate(request: ScheduleCreateRequest, signal?: AbortSignal): Promise<ScheduleCatalogEntry>',
|
|
2526
|
+
description: 'Create one task with a Host-generated identity for a human Remote caller.',
|
|
2527
|
+
parameters: [{ name: 'request', description: 'Title, prompt, recurrence, and delivery destination.' }, { name: 'signal', description: 'Cancellation checked before the durable write begins, including after FIFO waits.' }],
|
|
2528
|
+
returns: 'The stored task. Cancellation does not roll back an in-flight write.',
|
|
2529
|
+
},
|
|
2530
|
+
{
|
|
2531
|
+
signature: 'async create( request: ScheduleCreateRequest, actorSessionId?: SessionId, signal?: AbortSignal, ): Promise<ScheduleCatalogEntry>',
|
|
2532
|
+
description: 'Create one task and record the acting Agent\'s Session as involved; the Remote form omits that Session.\n\nThe record is built from the clock reading taken before the request joins the serialized queue. A `session` target must exist and must not belong to a delegated child; a `new_once` target reserves its Session identity.',
|
|
2533
|
+
parameters: [{ name: 'request', description: 'Title, prompt, recurrence, and delivery destination.' }, { name: 'actorSessionId', description: 'Session of the acting Agent, or undefined for a human caller.' }, { name: 'signal', description: 'Cancellation checked before the durable write begins, including after FIFO waits.' }],
|
|
2534
|
+
returns: 'The stored task. Cancellation does not roll back an in-flight write.',
|
|
2535
|
+
},
|
|
2536
|
+
{
|
|
2537
|
+
signature: 'async list(request: ScheduleListRequest = {}): Promise<ScheduleListResult>',
|
|
2538
|
+
description: 'Read one page of Host tasks without activating target Sessions.',
|
|
2539
|
+
parameters: [{ name: 'request', description: 'Optional activity filter, page size, and offset.' }],
|
|
2540
|
+
returns: 'The requested page and total matching task count.',
|
|
2479
2541
|
},
|
|
2480
2542
|
{
|
|
2481
|
-
signature: '@Remote(\'list\') async
|
|
2482
|
-
description: '
|
|
2483
|
-
parameters: [{ name: 'request', description: '
|
|
2484
|
-
returns: '
|
|
2543
|
+
signature: '@Remote(\'list\') async remoteList(request: ScheduleListRequest): Promise<ScheduleListResult>',
|
|
2544
|
+
description: 'Remote form of the shared Host-wide list.',
|
|
2545
|
+
parameters: [{ name: 'request', description: 'Optional activity filter, page size, and offset.' }],
|
|
2546
|
+
returns: 'The requested page and total matching task count.',
|
|
2485
2547
|
},
|
|
2486
2548
|
{
|
|
2487
2549
|
signature: '@Remote(\'catalog\') async catalog(): Promise<ScheduleCatalogEntry[]>',
|
|
2488
|
-
description: 'Read
|
|
2550
|
+
description: 'Read every Host task without a page bound or Session activation.',
|
|
2489
2551
|
parameters: [],
|
|
2490
|
-
returns: '
|
|
2552
|
+
returns: 'All tasks, active first, with target and execution metadata.',
|
|
2491
2553
|
},
|
|
2492
2554
|
{
|
|
2493
|
-
signature: '@Remote(\'
|
|
2494
|
-
description: 'Read
|
|
2495
|
-
parameters: [{ name: 'request', description: '
|
|
2555
|
+
signature: '@Remote(\'view\') async view(request: ScheduleViewRequest): Promise<ScheduleViewResult>',
|
|
2556
|
+
description: 'Read one task without activating its target Sessions.',
|
|
2557
|
+
parameters: [{ name: 'request', description: 'Task identity.' }],
|
|
2558
|
+
returns: 'The task, or a non-mutating miss.',
|
|
2559
|
+
},
|
|
2560
|
+
{
|
|
2561
|
+
signature: 'async history(request: ScheduleDeliveryHistoryRequest): Promise<ScheduleDeliveryHistoryResult>',
|
|
2562
|
+
description: 'Read one page of saved deliveries without activating or reading a target Session.',
|
|
2563
|
+
parameters: [{ name: 'request', description: 'Task identity, explicit page size, and optional exclusive cursor.' }],
|
|
2564
|
+
returns: 'Newest-first saved deliveries, or a task/cursor lookup failure.',
|
|
2565
|
+
},
|
|
2566
|
+
{
|
|
2567
|
+
signature: '@Remote(\'history\') async remoteHistory(request: ScheduleDeliveryHistoryRequest): Promise<ScheduleDeliveryHistoryResult>',
|
|
2568
|
+
description: 'Remote form of the target-based ScheduleService.history; an invalid limit rejects with `schedule/input-invalid`.',
|
|
2569
|
+
parameters: [{ name: 'request', description: 'Task identity, explicit limit, and optional exclusive message cursor.' }],
|
|
2496
2570
|
returns: 'Newest-first deliveries in append order, or a task/cursor lookup failure.',
|
|
2497
|
-
throws: ['ScheduleInputError when limit is not a safe integer from 1 through 100.'],
|
|
2498
2571
|
},
|
|
2499
2572
|
{
|
|
2500
|
-
signature: '@Remote(\'
|
|
2501
|
-
description: '
|
|
2502
|
-
parameters: [{ name: 'request', description: '
|
|
2503
|
-
returns: '
|
|
2573
|
+
signature: '@Remote(\'run\') async run(request: ScheduleRunRequest, signal?: AbortSignal): Promise<ScheduleRunResult>',
|
|
2574
|
+
description: 'Deliver one task now without consuming or moving its scheduled occurrence; an archived destination Session rejects with `schedule/target-archived`.',
|
|
2575
|
+
parameters: [{ name: 'request', description: 'Task identity.' }, { name: 'signal', description: 'Cancellation checked after entering the delivery transaction and before delivery.' }],
|
|
2576
|
+
returns: 'Task state after Session persistence acknowledged the delivery, `schedule_execution_pending` while another execution of the task is queued, running, or inside its delivery floor, or a non-mutating miss.',
|
|
2504
2577
|
},
|
|
2505
2578
|
{
|
|
2506
2579
|
signature: '@Remote(\'deleteInactive\') async deleteInactive(): Promise<ScheduleDeleteInactiveResult>',
|
|
2507
|
-
description: 'Delete every ended Host task, leaving active tasks armed.\n\nEnded tasks never schedule another delivery, so the removal changes no pending target and no timer is recomputed. Rows are enumerated and removed in one FIFO slot, so a delivery ordered behind this call ends its task after the enumeration rather than during it. The batch is one domain write: a normal failure rejects with every listed row still stored, while a backend `unknown-state` failure may have removed rows and quarantines the Host domain, so later schedule operations reject until the domain is reopened.
|
|
2580
|
+
description: 'Delete every ended Host task, leaving active tasks armed.\n\nEnded tasks never schedule another delivery, so the removal changes no pending target and no timer is recomputed. Rows are enumerated and removed in one FIFO slot, so a delivery ordered behind this call ends its task after the enumeration rather than during it. The batch is one domain write: a normal failure rejects with every listed row still stored, while a backend `unknown-state` failure may have removed rows and quarantines the Host domain, so later schedule operations reject until the domain is reopened. A successful nonempty batch emits `schedule/changed` without Agent notices. A rejected batch announces `schedule/changed` because it does not establish which rows landed, and clients then re-read the catalog.',
|
|
2508
2581
|
parameters: [],
|
|
2509
2582
|
returns: 'Count of removed rows; zero when the Host held no ended task.',
|
|
2510
2583
|
},
|
|
2511
2584
|
{
|
|
2512
|
-
signature: '@Remote(\'
|
|
2513
|
-
description: 'Update
|
|
2514
|
-
parameters: [{ name: 'request', description: 'Task
|
|
2515
|
-
returns: 'The
|
|
2585
|
+
signature: '@Remote(\'edit\') async remoteEdit(request: ScheduleEditRequest, signal?: AbortSignal): Promise<ScheduleEditResult>',
|
|
2586
|
+
description: 'Update or delete one task for a human Remote caller; an invalid patch rejects with `schedule/input-invalid`.',
|
|
2587
|
+
parameters: [{ name: 'request', description: 'Task identity and one update or delete operation.' }, { name: 'signal', description: 'Cancellation checked before the durable write begins, including after FIFO waits.' }],
|
|
2588
|
+
returns: 'The updated task, the deletion outcome, or a non-mutating miss or conflict.',
|
|
2589
|
+
},
|
|
2590
|
+
{
|
|
2591
|
+
signature: 'async edit( request: ScheduleEditRequest, actorSessionId?: SessionId, signal?: AbortSignal, ): Promise<ScheduleEditResult>',
|
|
2592
|
+
description: 'Update or delete one task and record the acting Agent\'s Session as involved; the Remote form omits that Session.\n\nAn update applies every patch field in one write and recomputes the next occurrence when the rule changes or the task resumes. A supplied `expectedUpdatedAt` that differs from the stored value returns `schedule_conflict`.',
|
|
2593
|
+
parameters: [{ name: 'request', description: 'Task identity and one update or delete operation.' }, { name: 'actorSessionId', description: 'Session of the acting Agent, or undefined for a human caller.' }, { name: 'signal', description: 'Cancellation checked before the durable write begins, including after FIFO waits.' }],
|
|
2594
|
+
returns: 'The updated task, the deletion outcome, or a non-mutating miss or conflict.',
|
|
2516
2595
|
},
|
|
2517
2596
|
],
|
|
2518
2597
|
},
|
|
@@ -2639,9 +2718,9 @@ export const SERVICE_API = [
|
|
|
2639
2718
|
},
|
|
2640
2719
|
{
|
|
2641
2720
|
signature: '@Remote({ mode: \'stream\' }) observeProjections(request: SessionProjectionsRequest, signal: AbortSignal): AsyncIterable<SessionProjectionFrame>',
|
|
2642
|
-
description: 'Subscribe to
|
|
2721
|
+
description: 'Subscribe to Session projection changes.',
|
|
2643
2722
|
parameters: [{ name: 'request', description: 'target Session.' }, { name: 'signal', description: 'subscription cancellation.' }],
|
|
2644
|
-
returns: 'readiness
|
|
2723
|
+
returns: 'readiness followed by one projection change frame per committed event.',
|
|
2645
2724
|
},
|
|
2646
2725
|
{
|
|
2647
2726
|
signature: '@Remote state(request: SessionStateRequest, signal: AbortSignal): Promise<SessionState>',
|
|
@@ -2707,6 +2786,19 @@ export const SERVICE_API = [
|
|
|
2707
2786
|
},
|
|
2708
2787
|
],
|
|
2709
2788
|
},
|
|
2789
|
+
{
|
|
2790
|
+
key: 'sessionLogDeepSeek',
|
|
2791
|
+
summary: 'Incremental Session-log contributor with caller-owned upload exclusions.',
|
|
2792
|
+
description: 'Incremental Session-log contributor with caller-owned upload exclusions.',
|
|
2793
|
+
methods: [
|
|
2794
|
+
{
|
|
2795
|
+
signature: 'registerExclusion(exclude: SessionLogUploadExclusion): () => Promise<void>',
|
|
2796
|
+
description: 'Exclude matching requests before reading or preparing their log contribution. Any matching rule suppresses both the field and its acceptance callback. With no matching rules, normal upload eligibility applies. A throwing rule fails this contribution; the request-extension registry omits it and reports the error.',
|
|
2797
|
+
parameters: [{ name: 'exclude', description: 'synchronous, side-effect-free predicate; `true` skips this upload.' }],
|
|
2798
|
+
returns: 'effect disposer that removes this registration when called or when the caller unloads.',
|
|
2799
|
+
},
|
|
2800
|
+
],
|
|
2801
|
+
},
|
|
2710
2802
|
{
|
|
2711
2803
|
key: 'sessionPersistence',
|
|
2712
2804
|
summary: 'Durable append-only session storage addressed through per-session handles.',
|
|
@@ -2792,7 +2884,7 @@ export const SERVICE_API = [
|
|
|
2792
2884
|
{
|
|
2793
2885
|
key: 'sessionProjections',
|
|
2794
2886
|
summary: '`ctx.sessionProjections`: the projection unit table and its drive.',
|
|
2795
|
-
description: '`ctx.sessionProjections`: the projection unit table and its drive. The service subscribes to `session/event` once; every committed event passes every registered unit\'s `apply` (eager drive). A changed state reference computes the next client view; the change feed is notified only when its raw result changes by `Object.is`. Cells build lazily — a unit registered after events flowed, or a session older than the registry, folds `init` over the in-memory log on first touch (event or read). Consumers declare `sessionProjections` as a required injection, await registration during activation, and retain its ready handle. Registrants sharing a key share one unit and are counted. The last release removes the unit from live drives,
|
|
2887
|
+
description: '`ctx.sessionProjections`: the projection unit table and its drive. The service subscribes to `session/event` once; every committed event passes every registered unit\'s `apply` (eager drive). A changed state reference computes the next client view; the change feed is notified only when its raw result changes by `Object.is`. Cells build lazily — a unit registered after events flowed, or a session older than the registry, folds `init` over the in-memory log on first touch (event or read). Consumers declare `sessionProjections` as a required injection, await registration during activation, and retain its ready handle. Registrants sharing a key share one unit and are counted. The last release removes the unit from live drives, restores, and client snapshots, while checkpoints keep each Session\'s last cell of it until the key registers again and the new unit refolds the log; retained handles still fold new events on demand using the original unit.',
|
|
2796
2888
|
methods: [
|
|
2797
2889
|
{
|
|
2798
2890
|
signature: 'register<K extends keyof SessionProjectionMap, S>( definition: Omit<ProjectionDefinition<K, S>, \'wire\'> & { wire: NonNullable<ProjectionDefinition<K, S>[\'wire\']> }, ): Promise<ProjectionHandle<S>>',
|
|
@@ -2813,34 +2905,34 @@ export const SERVICE_API = [
|
|
|
2813
2905
|
returns: 'the exact disposer that unsubscribes.',
|
|
2814
2906
|
},
|
|
2815
2907
|
{
|
|
2816
|
-
signature: '
|
|
2817
|
-
description: '
|
|
2818
|
-
parameters: [{ name: '
|
|
2819
|
-
returns: 'the
|
|
2908
|
+
signature: 'onEventChanged(listener: ProjectionEventChangeListener): () => void',
|
|
2909
|
+
description: 'Subscribe to the event-level change feed. The registration is an effect on the calling context\'s fiber. The listener runs synchronously inside the committed event\'s `session/event` handling, once after every unit has been driven and after every onChanged call for that event. If a unit or an onChanged listener throws during that drive, the listener still receives the changes made before the throw.',
|
|
2910
|
+
parameters: [{ name: 'listener', description: 'called once per committed event that changed at least one client-visible unit\'s raw view by `Object.is`.' }],
|
|
2911
|
+
returns: 'the exact disposer that unsubscribes.',
|
|
2820
2912
|
},
|
|
2821
2913
|
{
|
|
2822
|
-
signature: '
|
|
2823
|
-
description: '
|
|
2824
|
-
parameters: [{ name: 'session', description: '
|
|
2825
|
-
returns: 'the
|
|
2914
|
+
signature: 'snapshot( session: Session, keys?: ProjectionKeySelection, ): ProjectionSnapshot',
|
|
2915
|
+
description: 'One consistent cut over every registered client-visible unit for one session, read from the watermark cache (missing cells fold lazily over the in-memory log). Only the returned units are computed: other units, including Host-only units without `wire`, are neither folded nor advanced by this read. Fully synchronous — every value and `asOfSeq` reflect the same log position. Each value passes its unit\'s `viewSchema` before leaving.',
|
|
2916
|
+
parameters: [{ name: 'session', description: 'the session whose projection values are read.' }, { name: 'keys', description: 'optional client-visible outputs; only these units are computed.' }],
|
|
2917
|
+
returns: 'the snapshot; `values` is empty when no selected client-visible unit is registered.',
|
|
2826
2918
|
},
|
|
2827
2919
|
{
|
|
2828
2920
|
signature: 'summaryKeys(): ReadonlySet<Extract<keyof SessionProjectionMap, string>>',
|
|
2829
|
-
description: 'The keys a Session summary carries: every registered client-visible key whose unit does not declare `summary: false`. The returned set is stable — the same instance on every call — until a registration or its disposal changes the key table, so a consumer may hold it across rows. Callers pass it to a key-taking read face such as `
|
|
2921
|
+
description: 'The keys a Session summary carries: every registered client-visible key whose unit does not declare `summary: false`. The returned set is stable — the same instance on every call — until a registration or its disposal changes the key table, so a consumer may hold it across rows. Callers pass it to a key-taking read face such as `snapshot(session, summaryKeys())` or `viewCheckpoint(rows, summaryKeys())`; those faces use the set as-is.',
|
|
2830
2922
|
parameters: [],
|
|
2831
2923
|
returns: 'the current summary key set; do not mutate it.',
|
|
2832
2924
|
},
|
|
2833
2925
|
{
|
|
2834
2926
|
signature: 'checkpoint(session: Session): ProjectionCheckpoint',
|
|
2835
|
-
description: 'State-level checkpoint of every persisted unit for one session, read from the watermark cache (missing cells fold lazily over the in-memory log). This is the write side of the persisted projection cache: the returned rows are the `(key → {ver, seq, val})` part of the durable `(sessionId, key, ver, seq, val)` rows. Every `val` is a DETACHED structured clone — never the live cell reference: the watermark cache is this registry\'s authoritative mutable state, and a caller reaching the live reference could corrupt every subsequent snapshot and frame through it (plain JSON by the unit contract, so the clone is total).',
|
|
2927
|
+
description: 'State-level checkpoint of every persisted unit for one session, read from the watermark cache (missing cells fold lazily over the in-memory log). This is the write side of the persisted projection cache: the returned rows are the `(key → {ver, seq, val})` part of the durable `(sessionId, key, ver, seq, val)` rows. Every `val` is a DETACHED structured clone — never the live cell reference: the watermark cache is this registry\'s authoritative mutable state, and a caller reaching the live reference could corrupt every subsequent snapshot and frame through it (plain JSON by the unit contract, so the clone is total). A released unit contributes the Session\'s last cell. The registry no longer advances that cell, while a retained handle read still advances it forward, so a writer running after a plugin unloads keeps that unit\'s latest state; a Session that has no cell of it gets no row. restore folds only live units, so its refreshed rows omit released units.',
|
|
2836
2928
|
parameters: [{ name: 'session', description: 'the session whose unit states are checkpointed.' }],
|
|
2837
|
-
returns: 'one row per registered key.',
|
|
2929
|
+
returns: 'one row per registered key, plus one per released key with a cell for this Session.',
|
|
2838
2930
|
},
|
|
2839
2931
|
{
|
|
2840
2932
|
signature: 'restoreFloor(checkpoint: ProjectionCheckpoint): SessionLogOffset | undefined',
|
|
2841
2933
|
description: 'The stored seq a restore tail read over `checkpoint` must start at: one event BELOW the lowest usable watermark (a row is usable when its `ver` matches the live unit\'s `stateVersion`; an absent or mismatched row pulls the floor to `0` — that key must refold the full log). The one-below anchor is load-bearing: the tail then proves how far the stored log still extends, so restore can detect a log that shrank below a row\'s watermark (crash-repair truncation) instead of serving the stale row as current — an empty tail read from the anchor yields an end below every watermark and the restore rejects for a full re-read.',
|
|
2842
2934
|
parameters: [{ name: 'checkpoint', description: 'persisted rows for one session (possibly stale or empty).' }],
|
|
2843
|
-
returns: 'the offset for the stored-log suffix read (`SessionHandle.read`), or `undefined` when no unit is registered (no read needed — {@link restore} would serve empty values regardless).',
|
|
2935
|
+
returns: 'the offset for the stored-log suffix read (`SessionHandle.read`), or `undefined` when no live unit is registered (released predecessors do not count; no read needed — {@link restore} would serve empty values regardless).',
|
|
2844
2936
|
},
|
|
2845
2937
|
{
|
|
2846
2938
|
signature: 'viewCheckpoint( checkpoint: ProjectionCheckpoint, keys?: ProjectionKeySelection, ): Partial<SessionProjectionMap>',
|
|
@@ -2852,7 +2944,7 @@ export const SERVICE_API = [
|
|
|
2852
2944
|
signature: 'restore( checkpoint: ProjectionCheckpoint, events: readonly SessionEvent[], baseSeq: SessionLogOffset, header: SessionHeader, inheritedEventCount: SessionLogOffset, ): { snapshot: ProjectionSnapshot; checkpoint: ProjectionCheckpoint }',
|
|
2853
2945
|
description: 'Cold read: fold every persisted unit over a stored log suffix, seeding each from its checkpoint row when usable — the one read recipe (cached state + forward tail replay + `view`) applied without a live `Session`. Call with the stored events at or past `restoreFloor(checkpoint)` (a `SessionHandle.read` slice) and that same floor as `baseSeq`; the floor\'s one-below anchor makes the supplied end honest, so a shrunk log is detected here. A row is usable iff its `ver` matches the live unit\'s `stateVersion`, it does not predate `baseSeq` (`seq >= baseSeq - 1`), and it does not claim events past the supplied end (`seq <= endSeq`); an unusable row is discarded and its key refolds from `init` — which is only sound over the full log, so a discarded row with `baseSeq > 0` throws (the caller re-reads from seq 0, e.g. after a crash-repair truncation shrank the log below a row\'s watermark).',
|
|
2854
2946
|
parameters: [{ name: 'checkpoint', description: 'persisted rows for one session (possibly stale or empty).' }, { name: 'events', description: 'the stored events with `seq >= baseSeq`, in seq order.' }, { name: 'baseSeq', description: 'the seq `events` starts at (its first event\'s seq when non-empty).' }, { name: 'header', description: 'immutable metadata for the Session being restored.' }, { name: 'inheritedEventCount', description: 'exact fork-inherited prefix length supplied to unit initialization.' }],
|
|
2855
|
-
returns: 'the snapshot cut at the supplied log end (`asOfSeq` is the last supplied event\'s seq, `baseSeq - 1` for an empty tail) plus the refreshed checkpoint rows at that cut, ready for a durable write-back.',
|
|
2947
|
+
returns: 'the snapshot cut at the supplied log end (`asOfSeq` is the last supplied event\'s seq, `baseSeq - 1` for an empty tail) plus the refreshed checkpoint rows at that cut, ready for a durable write-back. The rows cover live units only: a released unit has no cell for a log folded without a live `Session`, so a write-back of them omits it.',
|
|
2856
2948
|
},
|
|
2857
2949
|
{
|
|
2858
2950
|
signature: 'hydrate( session: Session, checkpoint: ProjectionCheckpoint, events: readonly SessionEvent[], baseSeq: SessionLogOffset, ): ProjectionSnapshot',
|
|
@@ -4834,6 +4926,14 @@ export const EVENT_API = [
|
|
|
4834
4926
|
description: 'Announces a provider registration or withdrawal after the registry changes. Listener failures are logged without preventing other listeners from running.',
|
|
4835
4927
|
parameters: [{ name: 'forge', description: 'family whose provider changed.' }],
|
|
4836
4928
|
},
|
|
4929
|
+
{
|
|
4930
|
+
name: 'fs/delete-intent',
|
|
4931
|
+
mode: 'waterfall',
|
|
4932
|
+
signature: '\'fs/delete-intent\'(target: FsTarget, actor: object | undefined, next: () => { version: FsVersion } | undefined | Promise<{ version: FsVersion } | undefined>): Promise<{ version: FsVersion } | undefined>',
|
|
4933
|
+
summary: 'Single-slot decision for FileSystem.deleteFile; the first returned guard wins.',
|
|
4934
|
+
description: 'Single-slot decision for FileSystem.deleteFile; the first returned guard wins. Calling next() delegates to an unconditional deletion.',
|
|
4935
|
+
parameters: [{ name: 'target', description: 'the resolved source about to be removed.' }, { name: 'actor', description: 'the opaque tool-execution context used to select observed state.' }],
|
|
4936
|
+
},
|
|
4837
4937
|
{
|
|
4838
4938
|
name: 'fs/edit-intent',
|
|
4839
4939
|
mode: 'waterfall',
|
|
@@ -4890,6 +4990,14 @@ export const EVENT_API = [
|
|
|
4890
4990
|
description: 'Module replacements have finished loading.',
|
|
4891
4991
|
parameters: [{ name: 'reloads', description: 'Replaced plugins and their module locations.' }],
|
|
4892
4992
|
},
|
|
4993
|
+
{
|
|
4994
|
+
name: 'llm-pi-ai/request-headers',
|
|
4995
|
+
mode: 'waterfall',
|
|
4996
|
+
signature: '\'llm-pi-ai/request-headers\'(request: PiAiRequestHeaderContext, headers: Headers, next: () => Headers): Headers',
|
|
4997
|
+
summary: 'Prepare headers for one pi-ai inference call, excluding model discovery.',
|
|
4998
|
+
description: 'Prepare headers for one pi-ai inference call, excluding model discovery. Listeners run synchronously and must call next(); they may edit only the request-owned headers and must not retain them. Throws fail the call with REQUEST_HEADERS before inference I/O. Harness attribution wins afterward. Non-TypeError messages are user-visible and must exclude secrets. TypeError details and non-Error values are replaced with safe guidance.',
|
|
4999
|
+
parameters: [{ name: 'request', description: 'immutable routing metadata from the exact prepared call.' }, { name: 'headers', description: 'fresh profile headers, shared only within this dispatch.' }, { name: 'next', description: 'continue header preparation through the remaining listeners.' }],
|
|
5000
|
+
},
|
|
4893
5001
|
{
|
|
4894
5002
|
name: 'llm/adapters-updated',
|
|
4895
5003
|
mode: 'emit',
|
|
@@ -4934,8 +5042,8 @@ export const EVENT_API = [
|
|
|
4934
5042
|
name: 'plugin-manager/install-log',
|
|
4935
5043
|
mode: 'emit',
|
|
4936
5044
|
signature: '\'plugin-manager/install-log\'(chunk: PluginInstallLogChunk): void',
|
|
4937
|
-
summary: 'One chunk of
|
|
4938
|
-
description: 'One chunk of
|
|
5045
|
+
summary: 'One chunk of an installation run\'s output, streamed as the run produces it.',
|
|
5046
|
+
description: 'One chunk of an installation run\'s output, streamed as the run produces it.',
|
|
4939
5047
|
parameters: [{ name: 'chunk', description: 'the chunk and the run it belongs to.' }],
|
|
4940
5048
|
},
|
|
4941
5049
|
{
|
|
@@ -6011,7 +6119,7 @@ export const TYPE_API = [
|
|
|
6011
6119
|
},
|
|
6012
6120
|
{
|
|
6013
6121
|
name: 'DeepSeekLlmApiExtensionRequest',
|
|
6014
|
-
declaration: 'export interface DeepSeekLlmApiExtensionRequest {\n readonly body: Readonly<Record<string, DeepSeekLlmApiJson>>;\n readonly sessionId?: string;\n readonly purpose?:
|
|
6122
|
+
declaration: 'export interface DeepSeekLlmApiExtensionRequest {\n readonly body: Readonly<Record<string, DeepSeekLlmApiJson>>;\n readonly sessionId?: string;\n readonly purpose?: string;\n readonly signal: AbortSignal;\n}',
|
|
6015
6123
|
},
|
|
6016
6124
|
{
|
|
6017
6125
|
name: 'DeepSeekLlmApiJson',
|
|
@@ -6253,6 +6361,10 @@ export const TYPE_API = [
|
|
|
6253
6361
|
name: 'ForgeFailure',
|
|
6254
6362
|
declaration: 'export interface ForgeFailure {\n readonly code: \'not-found\' | \'unauthenticated\' | \'too-large\' | \'unavailable\';\n readonly message: string;\n}',
|
|
6255
6363
|
},
|
|
6364
|
+
{
|
|
6365
|
+
name: 'ForgeLineComment',
|
|
6366
|
+
declaration: 'export interface ForgeLineComment {\n readonly path: string;\n readonly side: \'L\' | \'R\';\n readonly startLine: number;\n readonly endLine: number;\n readonly body: string;\n}',
|
|
6367
|
+
},
|
|
6256
6368
|
{
|
|
6257
6369
|
name: 'ForgeLocalChanges',
|
|
6258
6370
|
declaration: 'export interface ForgeLocalChanges {\n readonly base: string;\n readonly files: readonly ForgeChangedFile[];\n}',
|
|
@@ -6283,7 +6395,7 @@ export const TYPE_API = [
|
|
|
6283
6395
|
},
|
|
6284
6396
|
{
|
|
6285
6397
|
name: 'ForgeProvider',
|
|
6286
|
-
declaration: 'export interface ForgeProvider {\n readonly forge: string;\n repositoryFromRemote(url: string): ForgeRepository | undefined;\n changeRequestFromUrl(url: string): ChangeRequestRef | undefined;\n changeRequestUrl(ref: ChangeRequestRef): string;\n fetch(refs: readonly ChangeRequestRef[], signal: AbortSignal): Promise<ReadonlyMap<ChangeRequestKey, ChangeRequestSnapshot | ForgeFailure>>;\n findByHead(repository: ForgeRepository, branch: string, signal: AbortSignal): Promise<readonly ChangeRequestRef[]>;\n readiness(host: string, signal: AbortSignal): Promise<ForgeReadiness>;\n markReady(ref: ChangeRequestRef, signal: AbortSignal): Promise<ForgeActionFailure | undefined>;\n merge(ref: ChangeRequestRef, request: MergeRequest, signal: AbortSignal): Promise<ForgeActionFailure | undefined>;\n diff(ref: ChangeRequestRef, signal: AbortSignal): Promise<string | ForgeFailure>;\n fileText(ref: ChangeRequestRef, commit: string, path: string, signal: AbortSignal): Promise<string | ForgeFailure>;\n fileUrl(ref: ChangeRequestRef, commit: string, path: string): string;\n}',
|
|
6398
|
+
declaration: 'export interface ForgeProvider {\n readonly forge: string;\n submitReview?(ref: ChangeRequestRef, request: ForgeReviewRequest, signal: AbortSignal): Promise<ForgeReviewResult>;\n repositoryFromRemote(url: string): ForgeRepository | undefined;\n changeRequestFromUrl(url: string): ChangeRequestRef | undefined;\n changeRequestUrl(ref: ChangeRequestRef): string;\n fetch(refs: readonly ChangeRequestRef[], signal: AbortSignal): Promise<ReadonlyMap<ChangeRequestKey, ChangeRequestSnapshot | ForgeFailure>>;\n fetchChecks?(ref: ChangeRequestRef, signal: AbortSignal): Promise<ChangeRequestSnapshot | ForgeFailure>;\n findByHead(repository: ForgeRepository, branch: string, signal: AbortSignal): Promise<readonly ChangeRequestRef[]>;\n readiness(host: string, signal: AbortSignal): Promise<ForgeReadiness>;\n markReady(ref: ChangeRequestRef, signal: AbortSignal): Promise<ForgeActionFailure | undefined>;\n merge(ref: ChangeRequestRef, request: MergeRequest, signal: AbortSignal): Promise<ForgeActionFailure | undefined>;\n diff(ref: ChangeRequestRef, signal: AbortSignal): Promise<string | ForgeFailure>;\n fileText(ref: ChangeRequestRef, commit: string, path: string, signal: AbortSignal): Promise<string | ForgeFailure>;\n fileUrl(ref: ChangeRequestRef, commit: string, path: string): string;\n}',
|
|
6287
6399
|
},
|
|
6288
6400
|
{
|
|
6289
6401
|
name: 'ForgeReadiness',
|
|
@@ -6293,6 +6405,14 @@ export const TYPE_API = [
|
|
|
6293
6405
|
name: 'ForgeRepository',
|
|
6294
6406
|
declaration: 'export interface ForgeRepository {\n readonly forge: string;\n readonly host: string;\n readonly owner: string;\n readonly name: string;\n}',
|
|
6295
6407
|
},
|
|
6408
|
+
{
|
|
6409
|
+
name: 'ForgeReviewRequest',
|
|
6410
|
+
declaration: 'export type ForgeReviewRequest = {\n readonly headSha: string;\n} & ({\n readonly kind: \'comment\';\n readonly comment: ForgeLineComment;\n} | {\n readonly kind: \'review\';\n readonly event: \'comment\' | \'approve\' | \'request-changes\';\n readonly body: string;\n readonly comments: readonly ForgeLineComment[];\n});',
|
|
6411
|
+
},
|
|
6412
|
+
{
|
|
6413
|
+
name: 'ForgeReviewResult',
|
|
6414
|
+
declaration: 'export type ForgeReviewResult = {\n readonly ok: true;\n readonly url: string;\n} | {\n readonly ok: false;\n readonly code: \'unsupported\' | \'stale\' | \'failed\' | \'unknown\';\n readonly message: string;\n};',
|
|
6415
|
+
},
|
|
6296
6416
|
{
|
|
6297
6417
|
name: 'ForgeSessionWorktree',
|
|
6298
6418
|
declaration: 'export interface ForgeSessionWorktree {\n readonly path: string;\n readonly branch: string;\n readonly from: string | null;\n readonly baseCommit: string;\n readonly repositoryRoot: string;\n}',
|
|
@@ -6322,8 +6442,8 @@ export const TYPE_API = [
|
|
|
6322
6442
|
declaration: 'export type ForgeWorktreeWaiting = \'creation\' | \'restoration\';',
|
|
6323
6443
|
},
|
|
6324
6444
|
{
|
|
6325
|
-
name: '
|
|
6326
|
-
declaration: 'export interface
|
|
6445
|
+
name: 'FsDeleteOutcome',
|
|
6446
|
+
declaration: 'export interface FsDeleteOutcome {\n before: string | null;\n}',
|
|
6327
6447
|
},
|
|
6328
6448
|
{
|
|
6329
6449
|
name: 'FsDirEntry',
|
|
@@ -6337,10 +6457,22 @@ export const TYPE_API = [
|
|
|
6337
6457
|
name: 'FsEditRequest',
|
|
6338
6458
|
declaration: 'export interface FsEditRequest {\n oldString: string;\n newString: string;\n replaceAll: boolean;\n}',
|
|
6339
6459
|
},
|
|
6460
|
+
{
|
|
6461
|
+
name: 'FsErrorCode',
|
|
6462
|
+
declaration: 'export type FsErrorCode = typeof FS_ERROR_CODES[number];',
|
|
6463
|
+
},
|
|
6340
6464
|
{
|
|
6341
6465
|
name: 'FsInfo',
|
|
6342
6466
|
declaration: 'export interface FsInfo {\n version: FsVersion;\n type: \'file\' | \'directory\' | \'other\';\n size?: number;\n}',
|
|
6343
6467
|
},
|
|
6468
|
+
{
|
|
6469
|
+
name: 'FsMoveOutcome',
|
|
6470
|
+
declaration: 'export type FsMoveOutcome = {\n sourceBefore: string | null;\n destination: FsWriteOutcome;\n sourceDeleted: true;\n} | {\n sourceBefore: string | null;\n destination: FsWriteOutcome;\n sourceDeleted: false;\n sourceFailure: FsMoveSourceFailure;\n};',
|
|
6471
|
+
},
|
|
6472
|
+
{
|
|
6473
|
+
name: 'FsMoveSourceFailure',
|
|
6474
|
+
declaration: 'export interface FsMoveSourceFailure {\n code: FsErrorCode;\n message: string;\n}',
|
|
6475
|
+
},
|
|
6344
6476
|
{
|
|
6345
6477
|
name: 'FsObservation',
|
|
6346
6478
|
declaration: 'export type FsObservation = {\n readonly kind: \'present\';\n readonly version: FsVersion;\n} | {\n readonly kind: \'absent\';\n};',
|
|
@@ -6371,7 +6503,7 @@ export const TYPE_API = [
|
|
|
6371
6503
|
},
|
|
6372
6504
|
{
|
|
6373
6505
|
name: 'GenerateOptions',
|
|
6374
|
-
declaration: 'export interface GenerateOptions {\n provider: string;\n model: string;\n reasoningEffort?: ReasoningEffortId;\n messages: RequestMessage[];\n system?: string;\n tools?: ToolSchema[];\n toolHistory?: ToolHistory;\n temperature?: number;\n maxTokens?: number;\n stop?: string[];\n signal?: AbortSignal;\n sessionId?: Branded<\'SessionId\'>;\n purpose?:
|
|
6506
|
+
declaration: 'export interface GenerateOptions<Purpose extends string = LlmRequestPurpose> {\n provider: string;\n model: string;\n reasoningEffort?: ReasoningEffortId;\n messages: RequestMessage[];\n system?: string;\n tools?: ToolSchema[];\n toolHistory?: ToolHistory;\n temperature?: number;\n maxTokens?: number;\n stop?: string[];\n signal?: AbortSignal;\n sessionId?: Branded<\'SessionId\'>;\n purpose?: Purpose;\n}',
|
|
6375
6507
|
},
|
|
6376
6508
|
{
|
|
6377
6509
|
name: 'GenericCallView',
|
|
@@ -6525,26 +6657,6 @@ export const TYPE_API = [
|
|
|
6525
6657
|
name: 'InstallSpecKind',
|
|
6526
6658
|
declaration: 'export type InstallSpecKind = \'registry\' | \'path\' | \'git\' | \'tarball\';',
|
|
6527
6659
|
},
|
|
6528
|
-
{
|
|
6529
|
-
name: 'InternalScheduleError',
|
|
6530
|
-
declaration: 'export interface InternalScheduleError {\n readonly code: \'internal_error\';\n readonly message: string;\n}',
|
|
6531
|
-
},
|
|
6532
|
-
{
|
|
6533
|
-
name: 'InvalidPromptError',
|
|
6534
|
-
declaration: 'export interface InvalidPromptError {\n readonly code: \'invalid_prompt\';\n readonly message: string;\n}',
|
|
6535
|
-
},
|
|
6536
|
-
{
|
|
6537
|
-
name: 'InvalidRuleError',
|
|
6538
|
-
declaration: 'export interface InvalidRuleError {\n readonly code: \'invalid_rule\';\n readonly message: string;\n}',
|
|
6539
|
-
},
|
|
6540
|
-
{
|
|
6541
|
-
name: 'InvalidSelectorError',
|
|
6542
|
-
declaration: 'export interface InvalidSelectorError {\n readonly code: \'invalid_selector\';\n readonly message: string;\n}',
|
|
6543
|
-
},
|
|
6544
|
-
{
|
|
6545
|
-
name: 'InvalidTimeZoneError',
|
|
6546
|
-
declaration: 'export interface InvalidTimeZoneError {\n readonly code: \'invalid_time_zone\';\n readonly message: string;\n}',
|
|
6547
|
-
},
|
|
6548
6660
|
{
|
|
6549
6661
|
name: 'InvocationDescriptor',
|
|
6550
6662
|
declaration: 'export interface InvocationDescriptor {\n readonly id: string;\n readonly service: string;\n readonly namespace: string;\n readonly method: string;\n readonly implementation?: string;\n readonly mode?: \'stream\';\n readonly invocation: {\n readonly kind: \'direct\';\n } | {\n readonly kind: \'context\';\n readonly context: string;\n readonly wire: string;\n readonly codec: TypertCodec;\n };\n readonly scope?: {\n readonly context: string;\n readonly wire: string;\n };\n readonly parameters: readonly InvocationParameterDescriptor[];\n readonly uplink?: {\n readonly codec: TypertCodec;\n };\n readonly cancellation?: {\n readonly parameter: \'signal\';\n };\n readonly result: TypertCodec;\n readonly description?: string;\n readonly sourceLocation?: InvocationSourceLocation;\n}',
|
|
@@ -6785,6 +6897,14 @@ export const TYPE_API = [
|
|
|
6785
6897
|
name: 'LlmReasoningEffortInfo',
|
|
6786
6898
|
declaration: 'export interface LlmReasoningEffortInfo {\n id: ReasoningEffortId;\n name: string;\n description?: string;\n}',
|
|
6787
6899
|
},
|
|
6900
|
+
{
|
|
6901
|
+
name: 'LlmRequestPurpose',
|
|
6902
|
+
declaration: 'export type LlmRequestPurpose = Extract<keyof LlmRequestPurposeMap, string>;',
|
|
6903
|
+
},
|
|
6904
|
+
{
|
|
6905
|
+
name: 'LlmRequestPurposeMap',
|
|
6906
|
+
declaration: 'export interface LlmRequestPurposeMap {\n}',
|
|
6907
|
+
},
|
|
6788
6908
|
{
|
|
6789
6909
|
name: 'LlmResolvedModelInfo',
|
|
6790
6910
|
declaration: 'export interface LlmResolvedModelInfo extends LlmModelInfo {\n context?: LlmModelContext;\n defaultMaxTokens?: number;\n reasoning?: LlmModelReasoningInfo;\n systemPromptUpdate?: SystemPromptUpdate;\n toolUpdate?: ToolUpdate;\n}',
|
|
@@ -7113,10 +7233,6 @@ export const TYPE_API = [
|
|
|
7113
7233
|
name: 'NativeFileApplication',
|
|
7114
7234
|
declaration: 'export interface NativeFileApplication {\n readonly id: string;\n readonly name: string;\n readonly default: boolean;\n readonly icon: string | null;\n}',
|
|
7115
7235
|
},
|
|
7116
|
-
{
|
|
7117
|
-
name: 'NotFutureError',
|
|
7118
|
-
declaration: 'export interface NotFutureError {\n readonly code: \'not_future\';\n readonly message: string;\n}',
|
|
7119
|
-
},
|
|
7120
7236
|
{
|
|
7121
7237
|
name: 'NpmFileSource',
|
|
7122
7238
|
declaration: 'export type NpmFileSource = \'jsdelivr\' | \'unpkg\' | \'npmmirror\';',
|
|
@@ -7217,6 +7333,10 @@ export const TYPE_API = [
|
|
|
7217
7333
|
name: 'PaneOpenResult',
|
|
7218
7334
|
declaration: 'export interface PaneOpenResult {\n id: string;\n isPlaced: boolean;\n reason?: string;\n}',
|
|
7219
7335
|
},
|
|
7336
|
+
{
|
|
7337
|
+
name: 'PatchHunk',
|
|
7338
|
+
declaration: 'export interface PatchHunk {\n lineNumber: number;\n context?: string;\n oldLines: string[];\n newLines: string[];\n isEndOfFile: boolean;\n}',
|
|
7339
|
+
},
|
|
7220
7340
|
{
|
|
7221
7341
|
name: 'PeerAdmission',
|
|
7222
7342
|
declaration: 'export type PeerAdmission = {\n readonly peer: PeerScope;\n} | {\n readonly rejection: 401 | 403;\n};',
|
|
@@ -7241,6 +7361,10 @@ export const TYPE_API = [
|
|
|
7241
7361
|
name: 'PermissionCatalog',
|
|
7242
7362
|
declaration: 'export interface PermissionCatalog {\n options: PresetOption[];\n defaultOptions: PresetOption[];\n defaultPreset: string;\n}',
|
|
7243
7363
|
},
|
|
7364
|
+
{
|
|
7365
|
+
name: 'PiAiRequestHeaderContext',
|
|
7366
|
+
declaration: 'export interface PiAiRequestHeaderContext extends Readonly<Pick<GenerateOptions<string>, \'provider\' | \'model\' | \'sessionId\' | \'purpose\'>> {\n readonly baseURL: string;\n}',
|
|
7367
|
+
},
|
|
7244
7368
|
{
|
|
7245
7369
|
name: 'PlatformSession',
|
|
7246
7370
|
declaration: 'export interface PlatformSession {\n readonly origin: string;\n readonly token: string;\n readonly userId: AccountUserId | null;\n readonly embeddedPageDist?: string;\n readonly requestHeaders?: Readonly<Record<string, string>>;\n}',
|
|
@@ -7441,6 +7565,10 @@ export const TYPE_API = [
|
|
|
7441
7565
|
name: 'ProjectionDefinition',
|
|
7442
7566
|
declaration: 'export interface ProjectionDefinition<K extends string, S> {\n key: K;\n stateSchema: ZodType<S>;\n init(header: SessionHeader, inheritedEventCount: SessionLogOffset): NoInfer<S>;\n apply(state: NoInfer<S>, event: SessionEvent): NoInfer<S>;\n wire?: K extends keyof SessionProjectionMap ? {\n viewSchema: ZodType<SessionProjectionViewValue<SessionProjectionMap[K]>>;\n view(state: NoInfer<S>): SessionProjectionViewValue<SessionProjectionMap[K]>;\n summary?: boolean;\n } : never;\n stateVersion: number;\n}',
|
|
7443
7567
|
},
|
|
7568
|
+
{
|
|
7569
|
+
name: 'ProjectionEventChangeListener',
|
|
7570
|
+
declaration: 'export type ProjectionEventChangeListener = (session: Session, changes: readonly {\n readonly key: Extract<keyof SessionProjectionMap, string>;\n readonly val: unknown;\n}[], seq: SessionSeq) => void;',
|
|
7571
|
+
},
|
|
7444
7572
|
{
|
|
7445
7573
|
name: 'ProjectionHandle',
|
|
7446
7574
|
declaration: 'export interface ProjectionHandle<S> {\n stateOf(session: Session): S;\n readerFor(session: Session): () => S;\n dispose(): Promise<void>;\n}',
|
|
@@ -7579,7 +7707,7 @@ export const TYPE_API = [
|
|
|
7579
7707
|
},
|
|
7580
7708
|
{
|
|
7581
7709
|
name: 'RecurringScheduleRecord',
|
|
7582
|
-
declaration: 'export type RecurringScheduleRecord = EveryScheduleRecord | DailyScheduleRecord | WeeklyScheduleRecord | CronScheduleRecord;',
|
|
7710
|
+
declaration: 'export type RecurringScheduleRecord = EveryScheduleRecord | DailyScheduleRecord | WeeklyScheduleRecord | CronScheduleRecord | RRuleScheduleRecord;',
|
|
7583
7711
|
},
|
|
7584
7712
|
{
|
|
7585
7713
|
name: 'RedactedSecret',
|
|
@@ -7781,6 +7909,10 @@ export const TYPE_API = [
|
|
|
7781
7909
|
name: 'RpcId',
|
|
7782
7910
|
declaration: 'export type RpcId = Branded<\'rpc-id\'>;',
|
|
7783
7911
|
},
|
|
7912
|
+
{
|
|
7913
|
+
name: 'RRuleScheduleRecord',
|
|
7914
|
+
declaration: 'export interface RRuleScheduleRecord {\n readonly kind: \'rrule\';\n readonly id: ScheduleId;\n readonly title: string;\n readonly prompt: string;\n readonly rrule: string;\n readonly scheduledAt: string;\n}',
|
|
7915
|
+
},
|
|
7784
7916
|
{
|
|
7785
7917
|
name: 'RunnerFailureRule',
|
|
7786
7918
|
declaration: 'export interface RunnerFailureRule {\n allowedExitCodes?: readonly number[];\n fatalSignatures: readonly string[];\n informationalLines?: readonly string[];\n}',
|
|
@@ -7823,75 +7955,115 @@ export const TYPE_API = [
|
|
|
7823
7955
|
},
|
|
7824
7956
|
{
|
|
7825
7957
|
name: 'ScheduleCatalogEntry',
|
|
7826
|
-
declaration: 'export type ScheduleCatalogEntry = ScheduleRecord & {\n readonly
|
|
7958
|
+
declaration: 'export type ScheduleCatalogEntry = ScheduleRecord & {\n readonly target: ScheduleTarget;\n readonly involvedSessionIds: SessionId[];\n readonly status: \'active\' | \'paused\' | \'ended\';\n readonly createdAt?: string;\n readonly updatedAt?: string;\n readonly executionActive?: true;\n readonly deliveryFloorEndsAt?: string;\n readonly lastDelivery?: ScheduleDeliveryReceipt;\n};',
|
|
7959
|
+
},
|
|
7960
|
+
{
|
|
7961
|
+
name: 'ScheduleConflictResult',
|
|
7962
|
+
declaration: 'export interface ScheduleConflictResult {\n readonly id: ScheduleId;\n readonly code: \'schedule_conflict\';\n}',
|
|
7827
7963
|
},
|
|
7828
7964
|
{
|
|
7829
7965
|
name: 'ScheduleCreateRequest',
|
|
7830
|
-
declaration: 'export interface ScheduleCreateRequest {\n
|
|
7966
|
+
declaration: 'export interface ScheduleCreateRequest {\n readonly title: string;\n readonly prompt: string;\n readonly timing: ScheduleTiming;\n readonly target?: ScheduleTargetRequest;\n}',
|
|
7831
7967
|
},
|
|
7832
7968
|
{
|
|
7833
7969
|
name: 'ScheduleDeleteInactiveResult',
|
|
7834
7970
|
declaration: 'export interface ScheduleDeleteInactiveResult {\n readonly deleted: number;\n}',
|
|
7835
7971
|
},
|
|
7836
|
-
{
|
|
7837
|
-
name: 'ScheduleDeleteRequest',
|
|
7838
|
-
declaration: 'export interface ScheduleDeleteRequest extends ScheduleListRequest {\n id: ScheduleId;\n}',
|
|
7839
|
-
},
|
|
7840
7972
|
{
|
|
7841
7973
|
name: 'ScheduleDeleteResult',
|
|
7842
7974
|
declaration: 'export type ScheduleDeleteResult = {\n readonly id: ScheduleId;\n readonly deleted: true;\n} | {\n readonly id: ScheduleId;\n readonly deleted: false;\n readonly code: \'schedule_not_found\';\n};',
|
|
7843
7975
|
},
|
|
7976
|
+
{
|
|
7977
|
+
name: 'ScheduleDeliveryHistoryMiss',
|
|
7978
|
+
declaration: 'export interface ScheduleDeliveryHistoryMiss {\n readonly id: ScheduleId;\n readonly code: \'schedule_not_found\' | \'delivery_cursor_not_found\';\n}',
|
|
7979
|
+
},
|
|
7980
|
+
{
|
|
7981
|
+
name: 'ScheduleDeliveryHistoryPage',
|
|
7982
|
+
declaration: 'export interface ScheduleDeliveryHistoryPage {\n readonly id: ScheduleId;\n readonly records: ScheduleDeliveryRecord[];\n readonly earlierRecordsUnavailable: boolean;\n readonly earlierRecordsPruned: boolean;\n readonly retention: DeliveryRetentionBounds;\n readonly nextBefore?: MessageId;\n}',
|
|
7983
|
+
},
|
|
7844
7984
|
{
|
|
7845
7985
|
name: 'ScheduleDeliveryHistoryRequest',
|
|
7846
|
-
declaration: 'export interface ScheduleDeliveryHistoryRequest
|
|
7986
|
+
declaration: 'export interface ScheduleDeliveryHistoryRequest {\n readonly id: ScheduleId;\n readonly limit: number;\n readonly before?: MessageId;\n}',
|
|
7847
7987
|
},
|
|
7848
7988
|
{
|
|
7849
7989
|
name: 'ScheduleDeliveryHistoryResult',
|
|
7850
|
-
declaration: 'export type ScheduleDeliveryHistoryResult =
|
|
7990
|
+
declaration: 'export type ScheduleDeliveryHistoryResult = ScheduleDeliveryHistoryPage | ScheduleDeliveryHistoryMiss;',
|
|
7851
7991
|
},
|
|
7852
7992
|
{
|
|
7853
7993
|
name: 'ScheduleDeliveryReceipt',
|
|
7854
|
-
declaration: 'export interface ScheduleDeliveryReceipt {\n readonly scheduledAt: string;\n readonly deliveredAt: string;\n readonly messageId: MessageId;\n}',
|
|
7994
|
+
declaration: 'export interface ScheduleDeliveryReceipt {\n readonly scheduledAt: string;\n readonly deliveredAt: string;\n readonly messageId: MessageId;\n readonly targetSessionId: SessionId;\n}',
|
|
7855
7995
|
},
|
|
7856
7996
|
{
|
|
7857
7997
|
name: 'ScheduleDeliveryRecord',
|
|
7858
7998
|
declaration: 'export interface ScheduleDeliveryRecord extends ScheduleDeliveryReceipt {\n readonly prompt?: string;\n}',
|
|
7859
7999
|
},
|
|
8000
|
+
{
|
|
8001
|
+
name: 'ScheduleEditRequest',
|
|
8002
|
+
declaration: 'export type ScheduleEditRequest = {\n readonly id: ScheduleId;\n readonly action: \'update\';\n readonly patch: SchedulePatch;\n readonly expectedUpdatedAt?: string | null;\n} | {\n readonly id: ScheduleId;\n readonly action: \'delete\';\n readonly expectedUpdatedAt?: string | null;\n};',
|
|
8003
|
+
},
|
|
8004
|
+
{
|
|
8005
|
+
name: 'ScheduleEditResult',
|
|
8006
|
+
declaration: 'export type ScheduleEditResult = ScheduleCatalogEntry | Extract<ScheduleDeleteResult, {\n readonly deleted: true;\n}> | ScheduleNotFoundResult | ScheduleConflictResult;',
|
|
8007
|
+
},
|
|
8008
|
+
{
|
|
8009
|
+
name: 'ScheduleExecutionPendingResult',
|
|
8010
|
+
declaration: 'export interface ScheduleExecutionPendingResult {\n readonly id: ScheduleId;\n readonly code: \'schedule_execution_pending\';\n}',
|
|
8011
|
+
},
|
|
7860
8012
|
{
|
|
7861
8013
|
name: 'ScheduleId',
|
|
7862
8014
|
declaration: 'export type ScheduleId = Branded<\'ScheduleId\'>;',
|
|
7863
8015
|
},
|
|
7864
8016
|
{
|
|
7865
8017
|
name: 'ScheduleListRequest',
|
|
7866
|
-
declaration: 'export interface ScheduleListRequest {\n
|
|
8018
|
+
declaration: 'export interface ScheduleListRequest {\n readonly active?: boolean;\n readonly limit?: number;\n readonly offset?: number;\n}',
|
|
8019
|
+
},
|
|
8020
|
+
{
|
|
8021
|
+
name: 'ScheduleListResult',
|
|
8022
|
+
declaration: 'export interface ScheduleListResult {\n readonly items: ScheduleCatalogEntry[];\n readonly shown: number;\n readonly total: number;\n readonly limit: number;\n readonly offset: number;\n}',
|
|
8023
|
+
},
|
|
8024
|
+
{
|
|
8025
|
+
name: 'ScheduleNotFoundResult',
|
|
8026
|
+
declaration: 'export interface ScheduleNotFoundResult {\n readonly id: ScheduleId;\n readonly code: \'schedule_not_found\';\n}',
|
|
8027
|
+
},
|
|
8028
|
+
{
|
|
8029
|
+
name: 'SchedulePatch',
|
|
8030
|
+
declaration: 'export interface SchedulePatch {\n readonly title?: string;\n readonly prompt?: string;\n readonly timing?: ScheduleTiming;\n readonly target?: ScheduleTargetRequest;\n readonly active?: boolean;\n}',
|
|
7867
8031
|
},
|
|
7868
8032
|
{
|
|
7869
8033
|
name: 'ScheduleRecord',
|
|
7870
8034
|
declaration: 'export type ScheduleRecord = OneShotScheduleRecord | RecurringScheduleRecord;',
|
|
7871
8035
|
},
|
|
7872
8036
|
{
|
|
7873
|
-
name: '
|
|
7874
|
-
declaration: 'export
|
|
8037
|
+
name: 'ScheduleRunRequest',
|
|
8038
|
+
declaration: 'export interface ScheduleRunRequest {\n readonly id: ScheduleId;\n}',
|
|
8039
|
+
},
|
|
8040
|
+
{
|
|
8041
|
+
name: 'ScheduleRunResult',
|
|
8042
|
+
declaration: 'export type ScheduleRunResult = ScheduleCatalogEntry | ScheduleNotFoundResult | ScheduleExecutionPendingResult;',
|
|
7875
8043
|
},
|
|
7876
8044
|
{
|
|
7877
|
-
name: '
|
|
7878
|
-
declaration: 'export
|
|
8045
|
+
name: 'ScheduleSessionCreateSpec',
|
|
8046
|
+
declaration: 'export interface ScheduleSessionCreateSpec {\n readonly cwd?: string;\n readonly agentPreset?: string;\n}',
|
|
7879
8047
|
},
|
|
7880
8048
|
{
|
|
7881
|
-
name: '
|
|
7882
|
-
declaration: 'export
|
|
8049
|
+
name: 'ScheduleTarget',
|
|
8050
|
+
declaration: 'export type ScheduleTarget = {\n readonly kind: \'session\';\n readonly sessionId: SessionId;\n} | {\n readonly kind: \'new_once\';\n readonly sessionId: SessionId;\n readonly create: ScheduleSessionCreateSpec;\n} | {\n readonly kind: \'new\';\n readonly create: ScheduleSessionCreateSpec;\n};',
|
|
7883
8051
|
},
|
|
7884
8052
|
{
|
|
7885
|
-
name: '
|
|
7886
|
-
declaration: 'export
|
|
8053
|
+
name: 'ScheduleTargetRequest',
|
|
8054
|
+
declaration: 'export type ScheduleTargetRequest = {\n readonly kind: \'session\';\n readonly sessionId: SessionId;\n} | {\n readonly kind: \'new_once\';\n readonly create?: ScheduleSessionCreateSpec;\n} | {\n readonly kind: \'new\';\n readonly create?: ScheduleSessionCreateSpec;\n};',
|
|
7887
8055
|
},
|
|
7888
8056
|
{
|
|
7889
|
-
name: '
|
|
7890
|
-
declaration: 'export
|
|
8057
|
+
name: 'ScheduleTiming',
|
|
8058
|
+
declaration: 'export type ScheduleTiming = {\n readonly kind: \'after\';\n readonly after_seconds: number;\n} | {\n readonly kind: \'at\';\n readonly at: AtInput;\n} | {\n readonly kind: \'every\';\n readonly every_seconds: number;\n} | {\n readonly kind: \'daily\';\n readonly daily: DailyInput;\n} | {\n readonly kind: \'weekly\';\n readonly weekly: WeeklyInput;\n} | {\n readonly kind: \'cron\';\n readonly cron: CronInput;\n} | {\n readonly kind: \'rrule\';\n readonly rrule: string;\n};',
|
|
7891
8059
|
},
|
|
7892
8060
|
{
|
|
7893
|
-
name: '
|
|
7894
|
-
declaration: 'export
|
|
8061
|
+
name: 'ScheduleViewRequest',
|
|
8062
|
+
declaration: 'export interface ScheduleViewRequest {\n readonly id: ScheduleId;\n}',
|
|
8063
|
+
},
|
|
8064
|
+
{
|
|
8065
|
+
name: 'ScheduleViewResult',
|
|
8066
|
+
declaration: 'export type ScheduleViewResult = ScheduleCatalogEntry | ScheduleNotFoundResult;',
|
|
7895
8067
|
},
|
|
7896
8068
|
{
|
|
7897
8069
|
name: 'Scoped',
|
|
@@ -8229,6 +8401,14 @@ export const TYPE_API = [
|
|
|
8229
8401
|
name: 'SessionLogSnapshot',
|
|
8230
8402
|
declaration: 'export interface SessionLogSnapshot {\n session: SessionHeader;\n inheritedEventCount: SessionLogOffset;\n events: SessionEvent[];\n}',
|
|
8231
8403
|
},
|
|
8404
|
+
{
|
|
8405
|
+
name: 'SessionLogUploadExclusion',
|
|
8406
|
+
declaration: 'export type SessionLogUploadExclusion = (request: SessionLogUploadRequest) => boolean;',
|
|
8407
|
+
},
|
|
8408
|
+
{
|
|
8409
|
+
name: 'SessionLogUploadRequest',
|
|
8410
|
+
declaration: 'export interface SessionLogUploadRequest {\n readonly sessionId: SessionId;\n readonly purpose?: string;\n}',
|
|
8411
|
+
},
|
|
8232
8412
|
{
|
|
8233
8413
|
name: 'SessionMessage',
|
|
8234
8414
|
declaration: 'export interface SessionMessage {\n role: \'user\' | \'assistant\';\n text: string;\n toolUses: ToolUseSummary[];\n}',
|
|
@@ -8339,7 +8519,7 @@ export const TYPE_API = [
|
|
|
8339
8519
|
},
|
|
8340
8520
|
{
|
|
8341
8521
|
name: 'SessionProjectionUpdate',
|
|
8342
|
-
declaration: 'export interface SessionProjectionUpdate {\n readonly sessionId: SessionId;\n readonly
|
|
8522
|
+
declaration: 'export interface SessionProjectionUpdate {\n readonly sessionId: SessionId;\n readonly seq: number;\n readonly changes: readonly {\n readonly key: string;\n readonly val: SessionProjectionValue;\n }[];\n}',
|
|
8343
8523
|
},
|
|
8344
8524
|
{
|
|
8345
8525
|
name: 'SessionProjectionValue',
|
|
@@ -8973,10 +9153,6 @@ export const TYPE_API = [
|
|
|
8973
9153
|
name: 'SubagentSendMessageOptions',
|
|
8974
9154
|
declaration: 'export interface SubagentSendMessageOptions {\n readonly signal: AbortSignal;\n}',
|
|
8975
9155
|
},
|
|
8976
|
-
{
|
|
8977
|
-
name: 'SubagentSessionError',
|
|
8978
|
-
declaration: 'export interface SubagentSessionError {\n readonly code: \'subagent_session\';\n readonly message: string;\n}',
|
|
8979
|
-
},
|
|
8980
9156
|
{
|
|
8981
9157
|
name: 'SubagentStartRequest',
|
|
8982
9158
|
declaration: 'export interface SubagentStartRequest {\n readonly cwd?: string;\n readonly agentPreset?: string;\n readonly label?: string;\n readonly prompt: ContentBlock[];\n readonly parent: Agent;\n readonly signal: AbortSignal;\n readonly agentOptions?: AgentOptions;\n readonly outputSchema?: ObjectJsonSchema;\n readonly maxDepth?: number;\n}',
|
|
@@ -9245,10 +9421,6 @@ export const TYPE_API = [
|
|
|
9245
9421
|
name: 'TimedUserQuestionResult',
|
|
9246
9422
|
declaration: 'export type TimedUserQuestionResult = AskUserQuestionAnswer | {\n pending: true;\n callId: ToolCallId;\n};',
|
|
9247
9423
|
},
|
|
9248
|
-
{
|
|
9249
|
-
name: 'TimeOutOfRangeError',
|
|
9250
|
-
declaration: 'export interface TimeOutOfRangeError {\n readonly code: \'time_out_of_range\';\n readonly message: string;\n}',
|
|
9251
|
-
},
|
|
9252
9424
|
{
|
|
9253
9425
|
name: 'ToastOptions',
|
|
9254
9426
|
declaration: 'export interface ToastOptions {\n timeoutMs?: number;\n}',
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-tool-cordis",
|
|
3
3
|
"description": "Read-only runtime API inspection for Harness plugin development",
|
|
4
|
-
"version": "0.2.2-
|
|
4
|
+
"version": "0.2.2-rc.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -36,23 +36,23 @@
|
|
|
36
36
|
],
|
|
37
37
|
"license": "MIT",
|
|
38
38
|
"peerDependencies": {
|
|
39
|
-
"@deepseek-ai/cordis": "~4.0
|
|
40
|
-
"@deepseek-ai/cordis-plugin-loader": "~1.0
|
|
41
|
-
"@deepseek-ai/dsh-agent": "0.2.2-
|
|
42
|
-
"@deepseek-ai/dsh-app-boot": "0.2.2-
|
|
43
|
-
"@deepseek-ai/dsh-cordis-host-runner": "0.2.2-
|
|
44
|
-
"@deepseek-ai/dsh-tools": "0.2.2-
|
|
39
|
+
"@deepseek-ai/cordis": "~4.1.0",
|
|
40
|
+
"@deepseek-ai/cordis-plugin-loader": "~1.1.0",
|
|
41
|
+
"@deepseek-ai/dsh-agent": "0.2.2-rc.1",
|
|
42
|
+
"@deepseek-ai/dsh-app-boot": "0.2.2-rc.1",
|
|
43
|
+
"@deepseek-ai/dsh-cordis-host-runner": "0.2.2-rc.1",
|
|
44
|
+
"@deepseek-ai/dsh-tools": "0.2.2-rc.1"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@deepseek-ai/cordis": "~4.0
|
|
48
|
-
"@deepseek-ai/cordis-plugin-group": "~1.0
|
|
49
|
-
"@deepseek-ai/cordis-plugin-loader": "~1.0
|
|
50
|
-
"@deepseek-ai/dsh-agent": "0.2.2-
|
|
51
|
-
"@deepseek-ai/dsh-app-boot": "0.2.2-
|
|
52
|
-
"@deepseek-ai/dsh-cordis-host-runner": "0.2.2-
|
|
53
|
-
"@deepseek-ai/dsh-system-prompt": "0.2.2-
|
|
54
|
-
"@deepseek-ai/dsh-tool-executor-native": "0.2.2-
|
|
55
|
-
"@deepseek-ai/dsh-tools": "0.2.2-
|
|
56
|
-
"@deepseek-ai/schemastery": "~3.
|
|
47
|
+
"@deepseek-ai/cordis": "~4.1.0",
|
|
48
|
+
"@deepseek-ai/cordis-plugin-group": "~1.1.0",
|
|
49
|
+
"@deepseek-ai/cordis-plugin-loader": "~1.1.0",
|
|
50
|
+
"@deepseek-ai/dsh-agent": "0.2.2-rc.1",
|
|
51
|
+
"@deepseek-ai/dsh-app-boot": "0.2.2-rc.1",
|
|
52
|
+
"@deepseek-ai/dsh-cordis-host-runner": "0.2.2-rc.1",
|
|
53
|
+
"@deepseek-ai/dsh-system-prompt": "0.2.2-rc.1",
|
|
54
|
+
"@deepseek-ai/dsh-tool-executor-native": "0.2.2-rc.1",
|
|
55
|
+
"@deepseek-ai/dsh-tools": "0.2.2-rc.1",
|
|
56
|
+
"@deepseek-ai/schemastery": "~3.19.0"
|
|
57
57
|
}
|
|
58
58
|
}
|