t3code-cli 0.7.0 → 0.8.0
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/dist/auth.js +2 -2
- package/dist/bin.js +56 -5
- package/dist/connection.js +3 -3
- package/dist/{error-B2t1bAP9.js → error-ChTsLQTu.js} +2 -2
- package/dist/{error-jwMt3VoW.js → error-CjADNVm8.js} +1 -1
- package/dist/index.js +1 -1
- package/dist/{layer-DvHnKBYj.js → layer-CMo36MrX.js} +3 -3
- package/dist/{layer-CfC5qZol.js → layer-Do8wK1t6.js} +3 -3
- package/dist/{layer-MqCKkIGD.js → layer-DwI3Skkh.js} +24 -7
- package/dist/orchestration.js +1 -1
- package/dist/rpc.js +1 -1
- package/dist/runtime.js +1 -1
- package/dist/src/application/layer.d.ts +61 -0
- package/dist/src/application/models.d.ts +1 -0
- package/dist/src/application/projects.d.ts +9 -0
- package/dist/src/application/service.d.ts +9 -0
- package/dist/src/application/shell-sequence.d.ts +9 -0
- package/dist/src/application/thread-wait.d.ts +9 -0
- package/dist/src/application/threads.d.ts +52 -1
- package/dist/src/cli-path/layer.d.ts +3 -0
- package/dist/src/cli-path/service.d.ts +8 -0
- package/dist/src/domain/helpers.d.ts +9 -0
- package/dist/src/domain/model-config.d.ts +3 -0
- package/dist/src/domain/thread-lifecycle.d.ts +9 -0
- package/dist/src/orchestration/layer.d.ts +215 -0
- package/dist/src/rpc/layer.d.ts +466 -0
- package/dist/src/rpc/ws-group.d.ts +142 -0
- package/dist/src/runtime/layer.d.ts +1 -1
- package/dist/{src-KdbHqrex.js → src-aiFPmAG7.js} +169 -13
- package/dist/t3tools.js +2 -2
- package/dist/{transport-D3zBdZ1h.js → transport-MI0Z3d2T.js} +2 -2
- package/dist/upstream-t3code/packages/contracts/src/environmentHttp.d.ts +33 -10
- package/dist/upstream-t3code/packages/contracts/src/ipc.d.ts +6 -0
- package/dist/upstream-t3code/packages/contracts/src/orchestration.d.ts +657 -1
- package/dist/upstream-t3code/packages/contracts/src/provider.d.ts +14 -0
- package/dist/upstream-t3code/packages/contracts/src/providerRuntime.d.ts +175 -1
- package/dist/upstream-t3code/packages/contracts/src/rpc.d.ts +492 -0
- package/dist/upstream-t3code/packages/contracts/src/server.d.ts +45 -0
- package/dist/upstream-t3code/packages/contracts/src/settings.d.ts +21 -0
- package/dist/upstream-t3code/packages/contracts/src/terminal.d.ts +6 -3
- package/package.json +2 -2
- package/src/application/service.ts +13 -0
- package/src/application/threads.ts +15 -1
- package/src/cli/thread.ts +2 -0
- package/src/cli/threads/callback.ts +92 -0
- package/src/cli-path/layer.ts +10 -0
- package/src/cli-path/service.ts +7 -0
- package/src/runtime/layer.ts +2 -0
package/dist/auth.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as makeT3AuthPairing, b as makeT3LocalAuthOrigin, c as T3LocalAuthLive, d as T3LocalAuthTokenLive, f as makeT3LocalAuthToken, i as T3AuthPairingLive, l as makeT3LocalAuth, n as makeT3Auth, o as parsePairingUrl, r as T3AuthPairing, s as T3LocalAuth, t as T3AuthLive, u as T3LocalAuthToken, v as T3LocalAuthOrigin, x as T3Auth, y as T3LocalAuthOriginLive } from "./layer-
|
|
2
|
-
import { a as AuthLocalSigningError, i as AuthLocalSecretError, n as AuthLocalDatabaseError, o as AuthPairingUrlError, r as AuthLocalError, s as AuthTransportError, t as AuthConfigError } from "./error-
|
|
1
|
+
import { a as makeT3AuthPairing, b as makeT3LocalAuthOrigin, c as T3LocalAuthLive, d as T3LocalAuthTokenLive, f as makeT3LocalAuthToken, i as T3AuthPairingLive, l as makeT3LocalAuth, n as makeT3Auth, o as parsePairingUrl, r as T3AuthPairing, s as T3LocalAuth, t as T3AuthLive, u as T3LocalAuthToken, v as T3LocalAuthOrigin, x as T3Auth, y as T3LocalAuthOriginLive } from "./layer-Do8wK1t6.js";
|
|
2
|
+
import { a as AuthLocalSigningError, i as AuthLocalSecretError, n as AuthLocalDatabaseError, o as AuthPairingUrlError, r as AuthLocalError, s as AuthTransportError, t as AuthConfigError } from "./error-CjADNVm8.js";
|
|
3
3
|
export { AuthConfigError, AuthLocalDatabaseError, AuthLocalError, AuthLocalSecretError, AuthLocalSigningError, AuthPairingUrlError, AuthTransportError, T3Auth, T3AuthLive, T3AuthPairing, T3AuthPairingLive, T3LocalAuth, T3LocalAuthLive, T3LocalAuthOrigin, T3LocalAuthOriginLive, T3LocalAuthToken, T3LocalAuthTokenLive, makeT3Auth, makeT3AuthPairing, makeT3LocalAuth, makeT3LocalAuthOrigin, makeT3LocalAuthToken, parsePairingUrl };
|
package/dist/bin.js
CHANGED
|
@@ -3,12 +3,12 @@ import { A as none, C as isNone, Ft as BaseProto, Mn as pipe, Nt as withFiber, O
|
|
|
3
3
|
import { $n as makeUnsafe, Ct as serviceOption, E as effectify, F as fnUntraced, Fn as succeed$2, Ft as tryPromise, G as interrupt, Ir as sync$1, It as try_, L as forEach, Ln as sync$2, Lt as uninterruptible, Mn as mergeAll, Mt as tapError, Nn as provide, Ot as suspend, P as fn, Pn as provideMerge, Pt as timeoutOrElse, Qn as isDone, Tt as succeed, U as gen, V as forkScoped, Vt as void_, W as ignore, X as map$1, Xn as doneUnsafe, Yn as _await, a as badArgument, b as catchTags, c as addFinalizer, cr as succeed$1, d as as, dr as ConsoleRef, dt as provideService, fn as fail$1, h as callback, ht as runFork, j as flatMap$1, k as fail, kn as effect, kt as sync, l as andThen, li as fail$2, lt as provide$1, n as TypeId$4, nt as matchEffect, o as systemError, p as asVoid, pi as succeed$3, pt as result, qn as MinimumLogLevel, r as BadArgument, s as acquireRelease, st as orDie, t as Path$1, ti as map$2, ut as provideContext, v as catchFilter, x as catch_, xt as scoped } from "./Path-D8WPdPwR.js";
|
|
4
4
|
import { Bt as runCollect, Ht as runFold, Jt as splitLines, Kt as runLast, L as fromJsonString, Mt as merge, Nt as mkString, On as nominal, P as decodeUnknownEffect, Qt as tap, Sn as offerUnsafe, Tt as fromIterable, Vt as runDrain, Yt as succeed$4, an as drain, b as Struct, bn as offer, cn as isSink, dt as FileSystem, et as optionalKey, ft as FileTypeId, gn as endUnsafe, gt as callback$1, ht as make$9, in as make$10, kt as isStream, mt as WatchBackend, nn as unwrap, nt as tag, pt as Size, rn as get, s as ErrorClass, tn as transduce, u as Literal, ut as FileDescriptor, vn as failCauseUnsafe, vt as decodeText, x as TaggedErrorClass, y as String$1, yn as make$11, yt as empty$1, zt as run$1 } from "./Schema-DsQxYh6_.js";
|
|
5
5
|
import { A as isBoolean, C as getParamMetadata, D as string$1, E as optional$1, F as ShowHelp, I as UnknownSubcommand, L as UnrecognizedOption, M as isTrueValue, N as DuplicateOption, O as getChoiceKeys, P as InvalidValue, R as isCliError, S as extractSingleParams, T as isParam, _ as string$2, a as threadFlag, b as withDescription$1, c as worktreeFlag, d as boolean, f as choice, g as optional$2, h as map$3, i as projectPathFlag, j as isFalseValue, k as getTypeName, l as canRenderLiveTerminal, m as integer, n as modelFlags, o as threadFormatFlag, p as choiceWithValue, r as projectFlag, s as waitFormatFlag, t as formatFlag, u as resolveOutputFormat, v as withAlias, w as isFlagParam, x as argumentKind, y as withDefault, z as makeRunMain } from "./flags-CM7_iGdA.js";
|
|
6
|
-
import { c as fromReadable, l as fromWritable } from "./layer-
|
|
7
|
-
import { C as make$12, S as Crypto, x as T3Auth } from "./layer-
|
|
6
|
+
import { c as fromReadable, l as fromWritable } from "./layer-CMo36MrX.js";
|
|
7
|
+
import { C as make$12, S as Crypto, x as T3Auth } from "./layer-Do8wK1t6.js";
|
|
8
8
|
import { n as T3Config, t as Environment } from "./service-CLmRO2Dp.js";
|
|
9
9
|
import { t as T3Application } from "./service-ybOWV9pL.js";
|
|
10
10
|
import { i as resolveWorktreePath, r as resolveThreadId, t as resolveCommandProjectRef } from "./scope-GycYiJ54.js";
|
|
11
|
-
import { d as latestAssistantMessage, f as threadStatus, m as ThreadSessionError, p as ProjectLookupError, t as AppLayer } from "./layer-
|
|
11
|
+
import { d as latestAssistantMessage, f as threadStatus, h as CliPath, m as ThreadSessionError, p as ProjectLookupError, t as AppLayer } from "./layer-DwI3Skkh.js";
|
|
12
12
|
import { t as NodeEnvironmentLive } from "./layer-DHhKS5jd.js";
|
|
13
13
|
import * as NodeChildProcess from "node:child_process";
|
|
14
14
|
import * as NodeCrypto from "node:crypto";
|
|
@@ -4400,6 +4400,56 @@ const archiveThreadCommand = make("archive", {
|
|
|
4400
4400
|
return yield* output.printInfo(`thread archived: ${threadId}\nsequence: ${dispatch.sequence}`);
|
|
4401
4401
|
})).pipe(withDescription("archive thread"));
|
|
4402
4402
|
//#endregion
|
|
4403
|
+
//#region src/cli/threads/callback.ts
|
|
4404
|
+
const callbackThreadCommand = make("callback", {
|
|
4405
|
+
from: string$2("from").pipe(withDescription$1("Thread ID to watch for completion")),
|
|
4406
|
+
thread: threadFlag,
|
|
4407
|
+
prompt: string$2("prompt").pipe(withDescription$1("Message to send to target thread")),
|
|
4408
|
+
background: boolean("background").pipe(withDescription$1("Fork and detach as background process"), optional$2)
|
|
4409
|
+
}, ({ from, thread, prompt, background }) => gen(function* () {
|
|
4410
|
+
const application = yield* T3Application;
|
|
4411
|
+
const environment = yield* Environment;
|
|
4412
|
+
const output = yield* T3Output;
|
|
4413
|
+
const cliPath = yield* CliPath;
|
|
4414
|
+
const spawner = yield* ChildProcessSpawner;
|
|
4415
|
+
const fromThreadId = from;
|
|
4416
|
+
const targetThreadId = resolveThreadId({
|
|
4417
|
+
value: getOrUndefined(thread),
|
|
4418
|
+
env: environment.env
|
|
4419
|
+
});
|
|
4420
|
+
if (targetThreadId === void 0) return yield* fail(new MissingThreadError({ message: "target thread id is required: pass --thread or set T3CODE_THREAD_ID" }));
|
|
4421
|
+
if (getOrElse(background, () => false)) {
|
|
4422
|
+
const args = [
|
|
4423
|
+
cliPath.path,
|
|
4424
|
+
"thread",
|
|
4425
|
+
"callback",
|
|
4426
|
+
"--from",
|
|
4427
|
+
fromThreadId,
|
|
4428
|
+
"--thread",
|
|
4429
|
+
targetThreadId,
|
|
4430
|
+
"--prompt",
|
|
4431
|
+
prompt
|
|
4432
|
+
];
|
|
4433
|
+
const proc = make$6(process.execPath, args, {
|
|
4434
|
+
detached: true,
|
|
4435
|
+
stdin: "ignore",
|
|
4436
|
+
stdout: "ignore",
|
|
4437
|
+
stderr: "ignore"
|
|
4438
|
+
});
|
|
4439
|
+
const handle = yield* spawner.spawn(proc);
|
|
4440
|
+
yield* (yield* handle.unref).pipe(ignore);
|
|
4441
|
+
yield* output.printInfo(`background callback scheduled: ${fromThreadId} -> ${targetThreadId} (pid: ${handle.pid})`);
|
|
4442
|
+
return;
|
|
4443
|
+
}
|
|
4444
|
+
yield* output.printInfo(`watching thread ${fromThreadId} for completion...`);
|
|
4445
|
+
const result = yield* application.callbackThread({
|
|
4446
|
+
fromThreadId,
|
|
4447
|
+
targetThreadId,
|
|
4448
|
+
prompt
|
|
4449
|
+
});
|
|
4450
|
+
yield* output.printInfo(`callback sent to ${result.targetThreadId} (dispatch: ${result.dispatch.sequence})`);
|
|
4451
|
+
})).pipe(withDescription("watch a thread and send a message when it completes"));
|
|
4452
|
+
//#endregion
|
|
4403
4453
|
//#region src/cli/require.ts
|
|
4404
4454
|
const requireCommandProjectRef = fn("requireCommandProjectRef")(function* (input) {
|
|
4405
4455
|
const resolved = yield* (yield* T3Config).resolve();
|
|
@@ -4784,7 +4834,8 @@ function createThreadCommand() {
|
|
|
4784
4834
|
sendThreadCommand,
|
|
4785
4835
|
archiveThreadCommand,
|
|
4786
4836
|
getThreadMessagesCommand,
|
|
4787
|
-
waitForThreadCommand
|
|
4837
|
+
waitForThreadCommand,
|
|
4838
|
+
callbackThreadCommand
|
|
4788
4839
|
]));
|
|
4789
4840
|
}
|
|
4790
4841
|
//#endregion
|
|
@@ -4859,7 +4910,7 @@ var T3Version = class extends Service()("t3cli/T3Version") {};
|
|
|
4859
4910
|
//#endregion
|
|
4860
4911
|
//#region src/version/layer.ts
|
|
4861
4912
|
const PackageJsonSchema = fromJsonString(Struct({ version: String$1 }));
|
|
4862
|
-
const T3VersionBundledLive = sync$2(T3Version, () => ({ version: "0.
|
|
4913
|
+
const T3VersionBundledLive = sync$2(T3Version, () => ({ version: "0.8.0" }));
|
|
4863
4914
|
effect(T3Version, gen(function* () {
|
|
4864
4915
|
const packageJson = yield* (yield* FileSystem).readFileString(fileURLToPath(new URL("../../package.json", import.meta.url)));
|
|
4865
4916
|
return { version: (yield* decodeUnknownEffect(PackageJsonSchema)(packageJson)).version };
|
package/dist/connection.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Mn as mergeAll, Nn as provide } from "./Path-D8WPdPwR.js";
|
|
2
|
-
import { n as T3AuthTransportLive } from "./transport-
|
|
3
|
-
import { a as makeT3CodeConnectionProvider, i as T3CodeConnectionProviderLive, o as layerWebSocketConstructor, r as T3CodeConnectionProvider, s as layerUndici, t as T3RpcLive } from "./layer-
|
|
4
|
-
import { n as T3CodeConnectionError } from "./error-
|
|
2
|
+
import { n as T3AuthTransportLive } from "./transport-MI0Z3d2T.js";
|
|
3
|
+
import { a as makeT3CodeConnectionProvider, i as T3CodeConnectionProviderLive, o as layerWebSocketConstructor, r as T3CodeConnectionProvider, s as layerUndici, t as T3RpcLive } from "./layer-CMo36MrX.js";
|
|
4
|
+
import { n as T3CodeConnectionError } from "./error-ChTsLQTu.js";
|
|
5
5
|
//#region src/connection/layer.ts
|
|
6
6
|
function makeT3CodeRpcLayer() {
|
|
7
7
|
return T3RpcLive.pipe(provide(T3AuthTransportLive));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { $ as optional, E as Unknown, R as instanceOf, T as Union, a as Defect, et as optionalKey, nt as tag, s as ErrorClass, st as SchemaError, x as TaggedErrorClass, y as String } from "./Schema-DsQxYh6_.js";
|
|
2
|
-
import {
|
|
2
|
+
import { Rl as HttpClientErrorSchema, Uu as EnvironmentAuthorizationError, _s as OrchestrationDispatchCommandError, ji as KeybindingsConfigError, ui as ServerSettingsError, vl as SocketErrorReason, ws as OrchestrationGetSnapshotError } from "./src-aiFPmAG7.js";
|
|
3
3
|
import { n as UrlError } from "./error-BHRnjLux.js";
|
|
4
|
-
import { s as AuthTransportError } from "./error-
|
|
4
|
+
import { s as AuthTransportError } from "./error-CjADNVm8.js";
|
|
5
5
|
//#region node_modules/.pnpm/effect@4.0.0-beta.78/node_modules/effect/dist/unstable/workers/WorkerError.js
|
|
6
6
|
const TypeId$1 = "~effect/workers/WorkerError";
|
|
7
7
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { cn as IllegalArgumentError, i as PlatformError } from "./Path-D8WPdPwR.js";
|
|
2
2
|
import { R as instanceOf, T as Union, d as Literals, et as optionalKey, st as SchemaError, x as TaggedErrorClass, y as String } from "./Schema-DsQxYh6_.js";
|
|
3
|
-
import {
|
|
3
|
+
import { Rl as HttpClientErrorSchema } from "./src-aiFPmAG7.js";
|
|
4
4
|
import { n as UrlError, t as ConfigError } from "./error-BHRnjLux.js";
|
|
5
5
|
//#region src/auth/error.ts
|
|
6
6
|
var AuthPairingUrlError = class extends TaggedErrorClass()("AuthPairingUrlError", {
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as T3Application } from "./service-ybOWV9pL.js";
|
|
2
|
-
import { n as AuthAppLayer, t as AppLayer } from "./layer-
|
|
2
|
+
import { n as AuthAppLayer, t as AppLayer } from "./layer-DwI3Skkh.js";
|
|
3
3
|
import "./application.js";
|
|
4
4
|
import "./runtime.js";
|
|
5
5
|
export { AppLayer, AuthAppLayer, T3Application };
|
|
@@ -2,11 +2,11 @@ import { a as __toESM, i as __require, n as __exportAll, r as __reExport, t as _
|
|
|
2
2
|
import { A as none, An as identity, C as isNone, En as constVoid, It as Class, O as map, On as dual, Pn as pipeArguments, T as isSome, a as get, d as make$2, i as empty, it as PipeInspectableProto, j as some, l as getUnsafe$1, n as Service, r as add, t as Reference, x as getOrThrow } from "./Context-DueQ9iMH.js";
|
|
3
3
|
import { $ as mapError, $t as catchDone, An as effectContext, B as forkIn, Bn as addFinalizerExit, Bt as useSpan, C as context, Ct as serviceOption, D as ensuring, F as fnUntraced, Fn as succeed$1, Ft as tryPromise, G as interrupt$1, Hn as fork, Ht as whileLoop, It as try_, J as logError, Jt as either, K as interruptible, L as forEach, Ln as sync$1, Nn as provide, Nt as timeout, On as buildWithScope, Ot as suspend, P as fn, R as forever, Rn as Scope, T as delay, Tn as squash, Tt as succeed, U as gen, Ut as withFiber, V as forkScoped, Vn as close, Vt as void_, W as ignore, Wt as withParentSpan, X as map$1, Xt as spaced, Y as makeSpanScoped, Yt as exponential, Zt as take, at as onExit, ct as promise, d as as, di as isSuccess$1, dn as done, dt as provideService, er as die, ft as raceFirst, g as catchCause, gt as runForkWith, h as callback, ht as runFork, ir as interrupt, it as onError, j as flatMap, jt as tapCause, k as fail, kn as effect, kt as sync, l as andThen, lr as void_$1, lt as provide$1, m as cached, mn as findError, mt as retry, ni as of, nr as failCause, or as isFailure, ot as onInterrupt, rt as never, s as acquireRelease, sn as Done, sr as isSuccess, st as orDie, tr as fail$1, tt as matchCauseEffect, u as annotateLogs, un as UnknownError, ut as provideContext, vn as interruptors, vt as runSync, w as contextWith, zn as addFinalizer } from "./Path-D8WPdPwR.js";
|
|
4
4
|
import { Cn as makeUnsafe$1, Dt as fromQueue, I as encodeEffect, M as decodeSync, P as decodeUnknownEffect, T as Union, Tn as interrupt$2, Wt as runForEachArray, _n as failCause$1, a as Defect, b as Struct, dn as mapDone, hn as end, mn as bounded, nn as unwrap, on as fromChannel, p as NonEmptyArray, pn as makeUnsafe$2, rt as toCodecJson, un as fromTransform, wn as getCurrent, wt as fromChannel$1, xn as offerAll } from "./Schema-DsQxYh6_.js";
|
|
5
|
-
import { a as make$4, c as make$3, i as layerMergedContext, o as getAndSet$1, s as makeUnsafe$3, t as T3AuthTransport } from "./transport-
|
|
6
|
-
import { Al as
|
|
5
|
+
import { a as make$4, c as make$3, i as layerMergedContext, o as getAndSet$1, s as makeUnsafe$3, t as T3AuthTransport } from "./transport-MI0Z3d2T.js";
|
|
6
|
+
import { Al as get$1, Bl as TransportError, Bn as ServerConfig, Dr as ServerProviders, El as inspect$1, Fl as toUrl, Gl as fromInput, Hl as fromSetCookie, Il as DecodeError, Kl as merge, Ll as HttpClientError, Pl as setUrlParam, Sl as TypeId$2, Tl as TypeId$1, Uu as EnvironmentAuthorizationError, Vl as empty$1, Wl as empty$2, _l as SocketError, at as getStreamSchemas, bl as WebSocketConstructor, c as WsOrchestrationDispatchCommandRpc, gl as SocketCloseError, hl as Socket, it as make$5, ji as KeybindingsConfigError, m as WsOrchestrationSubscribeThreadRpc, nt as make$6, ot as isStreamSchema, p as WsOrchestrationSubscribeShellRpc, rt as exitSchema, t as WS_METHODS, ui as ServerSettingsError, xl as layerWebSocket, yl as SocketOpenError } from "./src-aiFPmAG7.js";
|
|
7
7
|
import { n as fromInput$1 } from "./UrlParams-BA6gBvaY.js";
|
|
8
8
|
import { r as toWebSocketEndpointUrl, t as normalizeHttpBaseUrl } from "./url-SlsaG8nY.js";
|
|
9
|
-
import { i as RpcClientError, r as RpcClientDefect, t as RpcError } from "./error-
|
|
9
|
+
import { i as RpcClientError, r as RpcClientDefect, t as RpcError } from "./error-ChTsLQTu.js";
|
|
10
10
|
import { createRequire } from "node:module";
|
|
11
11
|
import { Readable } from "node:stream";
|
|
12
12
|
//#region node_modules/.pnpm/@effect+platform-node-shared@4.0.0-beta.78_effect@4.0.0-beta.78/node_modules/@effect/platform-node-shared/dist/NodeSink.js
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { $t as hash, Tn as constUndefined, X as Prototype, a as get, an as hasProperty, bn as isTagged, h as mutate, k as match, kn as flow, n as Service, o as getOption, r as add, t as Reference } from "./Context-DueQ9iMH.js";
|
|
2
2
|
import { $ as mapError, Ar as makeSpanUnsafe, At as tap, Br as ParentSpan, Bt as useSpan, C as context, Ct as serviceOption, D as ensuring, F as fnUntraced, H as fromResult, Jn as TracerTimingEnabled, Kn as provide, O as exit, Ot as suspend, P as fn, Rn as Scope, Rt as uninterruptibleMask, S as clockWith, Tt as succeed, U as gen, Ur as reason, Ut as withFiber, Vn as close, Vt as void_, Wn as make$4, X as map, Y as makeSpanScoped, _r as endSpan, a as badArgument, at as onExit, b as catchTags, dt as provideService, gt as runForkWith, j as flatMap, k as fail, kn as effect, kt as sync, sr as isSuccess, st as orDie, t as Path, ut as provideContext, v as catchFilter, w as contextWith, xt as scoped, y as catchTag, zn as addFinalizer } from "./Path-D8WPdPwR.js";
|
|
3
3
|
import { Bn as Clock, Dn as runIn, Dt as fromQueue, Fn as encodeBase64Url, In as add$1, Ln as formatIso, Rn as now, Sn as offerUnsafe, dt as FileSystem, nn as unwrap, vn as failCauseUnsafe, yn as make$5, zn as toEpochMillis } from "./Schema-DsQxYh6_.js";
|
|
4
|
-
import { r as decodeAuthLocalRuntimeStateFromJson, t as T3AuthTransport } from "./transport-
|
|
5
|
-
import {
|
|
4
|
+
import { r as decodeAuthLocalRuntimeStateFromJson, t as T3AuthTransport } from "./transport-MI0Z3d2T.js";
|
|
5
|
+
import { Xu as AuthSessionId, _u as AuthAdministrativeScopes } from "./src-aiFPmAG7.js";
|
|
6
6
|
import { n as T3Config, t as Environment } from "./service-CLmRO2Dp.js";
|
|
7
7
|
import { a as mutate$1, i as fromString, t as normalizeHttpBaseUrl } from "./url-SlsaG8nY.js";
|
|
8
|
-
import { a as AuthLocalSigningError, i as AuthLocalSecretError, n as AuthLocalDatabaseError, o as AuthPairingUrlError, r as AuthLocalError, t as AuthConfigError } from "./error-
|
|
8
|
+
import { a as AuthLocalSigningError, i as AuthLocalSecretError, n as AuthLocalDatabaseError, o as AuthPairingUrlError, r as AuthLocalError, t as AuthConfigError } from "./error-CjADNVm8.js";
|
|
9
9
|
import { n as resolveT3BaseDir } from "./base-dir-R12OMDso.js";
|
|
10
10
|
//#region node_modules/.pnpm/effect@4.0.0-beta.78/node_modules/effect/dist/Crypto.js
|
|
11
11
|
/**
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { An as identity, C as isNone, S as getOrUndefined, T as isSome, an as hasProperty, n as Service } from "./Context-DueQ9iMH.js";
|
|
2
2
|
import { $ as mapError, Fn as succeed$1, It as try_, Mn as mergeAll, Mt as tapError, Nn as provide$1, P as fn, Tt as succeed, U as gen, Vt as void_, X as map, Yt as exponential, Zt as take, b as catchTags, bt as scope, dt as provideService, j as flatMap, k as fail, kn as effect, kt as sync, lt as provide, mt as retry, qt as collectWhile, st as orDie, t as Path, xt as scoped, zn as addFinalizer } from "./Path-D8WPdPwR.js";
|
|
3
3
|
import { $ as optional, $t as tapError$1, At as map$1, Ct as flatMap$1, Et as fromIterableEffect, F as decodeUnknownSync, Ft as peel, Gt as runHead, Kt as runLast, Ln as formatIso, Rn as now, Rt as retry$1, St as filter, T as Union, Tt as fromIterable, Zt as takeUntil, _t as catchTags$1, a as Defect, g as Number, nn as unwrap, qt as scoped$1, sn as head, x as TaggedErrorClass, xt as fail$1, y as String } from "./Schema-DsQxYh6_.js";
|
|
4
|
-
import { n as T3AuthTransportLive } from "./transport-
|
|
5
|
-
import { a as makeT3CodeConnectionProvider, n as T3Rpc, o as layerWebSocketConstructor, r as T3CodeConnectionProvider, s as layerUndici, t as T3RpcLive } from "./layer-
|
|
6
|
-
import { S as Crypto, _ as layer, c as T3LocalAuthLive, d as T3LocalAuthTokenLive, g as makeCompilerSqlite, h as defaultTransforms, i as T3AuthPairingLive, m as make, p as SqlClientFactory, t as T3AuthLive, y as T3LocalAuthOriginLive } from "./layer-
|
|
7
|
-
import {
|
|
4
|
+
import { n as T3AuthTransportLive } from "./transport-MI0Z3d2T.js";
|
|
5
|
+
import { a as makeT3CodeConnectionProvider, n as T3Rpc, o as layerWebSocketConstructor, r as T3CodeConnectionProvider, s as layerUndici, t as T3RpcLive } from "./layer-CMo36MrX.js";
|
|
6
|
+
import { S as Crypto, _ as layer, c as T3LocalAuthLive, d as T3LocalAuthTokenLive, g as makeCompilerSqlite, h as defaultTransforms, i as T3AuthPairingLive, m as make, p as SqlClientFactory, t as T3AuthLive, y as T3LocalAuthOriginLive } from "./layer-Do8wK1t6.js";
|
|
7
|
+
import { Qu as CommandId, cs as ModelSelection, fd as ThreadId, ks as OrchestrationMessage, ls as ORCHESTRATION_WS_METHODS, nd as MessageId, od as ProjectId, t as WS_METHODS, ul as ProviderInstanceId } from "./src-aiFPmAG7.js";
|
|
8
8
|
import { n as T3Config, t as Environment } from "./service-CLmRO2Dp.js";
|
|
9
9
|
import { t as T3Application } from "./service-ybOWV9pL.js";
|
|
10
|
-
import { i as RpcClientError, n as T3CodeConnectionError, t as RpcError } from "./error-
|
|
10
|
+
import { i as RpcClientError, n as T3CodeConnectionError, t as RpcError } from "./error-ChTsLQTu.js";
|
|
11
11
|
import { t as T3ConfigLive } from "./layer-DUv99vsS.js";
|
|
12
12
|
import { DatabaseSync } from "node:sqlite";
|
|
13
|
+
//#region src/cli-path/service.ts
|
|
14
|
+
var CliPath = class extends Service()("t3cli/CliPath") {};
|
|
15
|
+
//#endregion
|
|
13
16
|
//#region src/domain/error.ts
|
|
14
17
|
var ProjectLookupError = class extends TaggedErrorClass()("ProjectLookupError", {
|
|
15
18
|
message: String,
|
|
@@ -572,6 +575,19 @@ const makeThreadApplication = fn("makeThreadApplication")(function* () {
|
|
|
572
575
|
});
|
|
573
576
|
yield* failIfThreadError(thread);
|
|
574
577
|
return thread;
|
|
578
|
+
}),
|
|
579
|
+
callbackThread: fn("T3ApplicationLive.callbackThread")(function* (input) {
|
|
580
|
+
yield* waitForThread({
|
|
581
|
+
orchestration,
|
|
582
|
+
threadId: input.fromThreadId
|
|
583
|
+
});
|
|
584
|
+
return {
|
|
585
|
+
dispatch: (yield* sendThread({
|
|
586
|
+
threadId: input.targetThreadId,
|
|
587
|
+
message: input.prompt
|
|
588
|
+
}, { until: "dispatch" })).dispatch,
|
|
589
|
+
targetThreadId: input.targetThreadId
|
|
590
|
+
};
|
|
575
591
|
})
|
|
576
592
|
};
|
|
577
593
|
});
|
|
@@ -1180,6 +1196,7 @@ function toSqlInputValue(value) {
|
|
|
1180
1196
|
}
|
|
1181
1197
|
return JSON.stringify(value) ?? null;
|
|
1182
1198
|
}
|
|
1199
|
+
const NodeCliPathLayer = effect(CliPath, sync(() => ({ path: process.argv[1] ?? "dist/bin.js" })));
|
|
1183
1200
|
//#endregion
|
|
1184
1201
|
//#region src/runtime/layer.ts
|
|
1185
1202
|
const T3AuthTransportLayer = T3AuthTransportLive.pipe(provide$1(layerUndici));
|
|
@@ -1201,6 +1218,6 @@ const T3RpcLayer = T3RpcLive.pipe(provide$1(mergeAll(T3ConfigConnectionProviderL
|
|
|
1201
1218
|
const T3OrchestrationLayer = T3OrchestrationLive.pipe(provide$1(T3RpcLayer));
|
|
1202
1219
|
const T3ApplicationLayer = T3ApplicationLive.pipe(provide$1(T3OrchestrationLayer));
|
|
1203
1220
|
const AuthAppLayer = mergeAll(T3ConfigLive, T3AuthLayer);
|
|
1204
|
-
const AppLayer = mergeAll(T3ConfigLive, T3AuthLayer, T3RpcLayer, T3OrchestrationLayer, T3ApplicationLayer);
|
|
1221
|
+
const AppLayer = mergeAll(T3ConfigLive, T3AuthLayer, T3RpcLayer, T3OrchestrationLayer, T3ApplicationLayer, NodeCliPathLayer);
|
|
1205
1222
|
//#endregion
|
|
1206
|
-
export { T3AuthTransportLayer as a, T3LocalAuthTokenLayer as c, latestAssistantMessage as d, threadStatus as f, T3AuthPairingLayer as i, T3OrchestrationLayer as l, ThreadSessionError as m, AuthAppLayer as n, T3LocalAuthLayer as o, ProjectLookupError as p, T3AuthLayer as r, T3LocalAuthOriginLayer as s, AppLayer as t, T3Orchestration as u };
|
|
1223
|
+
export { T3AuthTransportLayer as a, T3LocalAuthTokenLayer as c, latestAssistantMessage as d, threadStatus as f, CliPath as h, T3AuthPairingLayer as i, T3OrchestrationLayer as l, ThreadSessionError as m, AuthAppLayer as n, T3LocalAuthLayer as o, ProjectLookupError as p, T3AuthLayer as r, T3LocalAuthOriginLayer as s, AppLayer as t, T3Orchestration as u };
|
package/dist/orchestration.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { l as T3OrchestrationLayer, u as T3Orchestration } from "./layer-
|
|
1
|
+
import { l as T3OrchestrationLayer, u as T3Orchestration } from "./layer-DwI3Skkh.js";
|
|
2
2
|
export { T3Orchestration, T3OrchestrationLayer };
|
package/dist/rpc.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as RpcError } from "./error-
|
|
1
|
+
import { t as RpcError } from "./error-ChTsLQTu.js";
|
|
2
2
|
export { RpcError };
|
package/dist/runtime.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { a as T3AuthTransportLayer, c as T3LocalAuthTokenLayer, i as T3AuthPairingLayer, l as T3OrchestrationLayer, n as AuthAppLayer, o as T3LocalAuthLayer, r as T3AuthLayer, s as T3LocalAuthOriginLayer, t as AppLayer } from "./layer-
|
|
1
|
+
import { a as T3AuthTransportLayer, c as T3LocalAuthTokenLayer, i as T3AuthPairingLayer, l as T3OrchestrationLayer, n as AuthAppLayer, o as T3LocalAuthLayer, r as T3AuthLayer, s as T3LocalAuthOriginLayer, t as AppLayer } from "./layer-DwI3Skkh.js";
|
|
2
2
|
import { t as NodeEnvironmentLive } from "./layer-DHhKS5jd.js";
|
|
3
3
|
export { AppLayer, AuthAppLayer, NodeEnvironmentLive, T3AuthLayer, T3AuthPairingLayer, T3AuthTransportLayer, T3LocalAuthLayer, T3LocalAuthOriginLayer, T3LocalAuthTokenLayer, T3OrchestrationLayer };
|
|
@@ -82,6 +82,15 @@ export declare const makeT3Application: () => Effect.Effect<{
|
|
|
82
82
|
readonly updatedAt: string;
|
|
83
83
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
84
84
|
} | null;
|
|
85
|
+
readonly goal: {
|
|
86
|
+
readonly objective: string;
|
|
87
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
88
|
+
readonly tokensUsed: number;
|
|
89
|
+
readonly tokenBudget: number | null;
|
|
90
|
+
readonly timeUsedSeconds: number;
|
|
91
|
+
readonly createdAt: string;
|
|
92
|
+
readonly updatedAt: string;
|
|
93
|
+
} | null;
|
|
85
94
|
readonly latestUserMessageAt: string | null;
|
|
86
95
|
readonly hasPendingApprovals: boolean;
|
|
87
96
|
readonly hasPendingUserInput: boolean;
|
|
@@ -120,6 +129,15 @@ export declare const makeT3Application: () => Effect.Effect<{
|
|
|
120
129
|
readonly updatedAt: string;
|
|
121
130
|
readonly archivedAt: string | null;
|
|
122
131
|
readonly deletedAt: string | null;
|
|
132
|
+
readonly goal: {
|
|
133
|
+
readonly objective: string;
|
|
134
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
135
|
+
readonly tokensUsed: number;
|
|
136
|
+
readonly tokenBudget: number | null;
|
|
137
|
+
readonly timeUsedSeconds: number;
|
|
138
|
+
readonly createdAt: string;
|
|
139
|
+
readonly updatedAt: string;
|
|
140
|
+
} | null;
|
|
123
141
|
readonly messages: readonly {
|
|
124
142
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
125
143
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -225,6 +243,15 @@ export declare const makeT3Application: () => Effect.Effect<{
|
|
|
225
243
|
readonly updatedAt: string;
|
|
226
244
|
readonly archivedAt: string | null;
|
|
227
245
|
readonly deletedAt: string | null;
|
|
246
|
+
readonly goal: {
|
|
247
|
+
readonly objective: string;
|
|
248
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
249
|
+
readonly tokensUsed: number;
|
|
250
|
+
readonly tokenBudget: number | null;
|
|
251
|
+
readonly timeUsedSeconds: number;
|
|
252
|
+
readonly createdAt: string;
|
|
253
|
+
readonly updatedAt: string;
|
|
254
|
+
} | null;
|
|
228
255
|
readonly messages: readonly {
|
|
229
256
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
230
257
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -401,6 +428,15 @@ export declare const makeT3Application: () => Effect.Effect<{
|
|
|
401
428
|
readonly updatedAt: string;
|
|
402
429
|
readonly archivedAt: string | null;
|
|
403
430
|
readonly deletedAt: string | null;
|
|
431
|
+
readonly goal: {
|
|
432
|
+
readonly objective: string;
|
|
433
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
434
|
+
readonly tokensUsed: number;
|
|
435
|
+
readonly tokenBudget: number | null;
|
|
436
|
+
readonly timeUsedSeconds: number;
|
|
437
|
+
readonly createdAt: string;
|
|
438
|
+
readonly updatedAt: string;
|
|
439
|
+
} | null;
|
|
404
440
|
readonly messages: readonly {
|
|
405
441
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
406
442
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -495,6 +531,15 @@ export declare const makeT3Application: () => Effect.Effect<{
|
|
|
495
531
|
readonly updatedAt: string;
|
|
496
532
|
readonly archivedAt: string | null;
|
|
497
533
|
readonly deletedAt: string | null;
|
|
534
|
+
readonly goal: {
|
|
535
|
+
readonly objective: string;
|
|
536
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
537
|
+
readonly tokensUsed: number;
|
|
538
|
+
readonly tokenBudget: number | null;
|
|
539
|
+
readonly timeUsedSeconds: number;
|
|
540
|
+
readonly createdAt: string;
|
|
541
|
+
readonly updatedAt: string;
|
|
542
|
+
} | null;
|
|
498
543
|
readonly messages: readonly {
|
|
499
544
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
500
545
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -555,6 +600,12 @@ export declare const makeT3Application: () => Effect.Effect<{
|
|
|
555
600
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
556
601
|
} | null;
|
|
557
602
|
}, import("../domain/error.ts").ThreadSessionError | import("../rpc/error.ts").RpcError, never>;
|
|
603
|
+
callbackThread: (input: import("./service.ts").CallbackThreadInput) => Effect.Effect<{
|
|
604
|
+
dispatch: {
|
|
605
|
+
readonly sequence: number;
|
|
606
|
+
};
|
|
607
|
+
targetThreadId: string;
|
|
608
|
+
}, import("../domain/error.ts").ThreadSessionError | import("../rpc/error.ts").RpcError, never>;
|
|
558
609
|
loadShell: () => Effect.Effect<{
|
|
559
610
|
readonly snapshotSequence: number;
|
|
560
611
|
readonly projects: readonly {
|
|
@@ -633,6 +684,15 @@ export declare const makeT3Application: () => Effect.Effect<{
|
|
|
633
684
|
readonly updatedAt: string;
|
|
634
685
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
635
686
|
} | null;
|
|
687
|
+
readonly goal: {
|
|
688
|
+
readonly objective: string;
|
|
689
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
690
|
+
readonly tokensUsed: number;
|
|
691
|
+
readonly tokenBudget: number | null;
|
|
692
|
+
readonly timeUsedSeconds: number;
|
|
693
|
+
readonly createdAt: string;
|
|
694
|
+
readonly updatedAt: string;
|
|
695
|
+
} | null;
|
|
636
696
|
readonly latestUserMessageAt: string | null;
|
|
637
697
|
readonly hasPendingApprovals: boolean;
|
|
638
698
|
readonly hasPendingUserInput: boolean;
|
|
@@ -752,6 +812,7 @@ export declare const makeT3Application: () => Effect.Effect<{
|
|
|
752
812
|
readonly groupKey: string;
|
|
753
813
|
} | undefined;
|
|
754
814
|
readonly showInteractionModeToggle?: boolean | undefined;
|
|
815
|
+
readonly requiresNewThreadForModelChange?: boolean | undefined;
|
|
755
816
|
readonly message?: string | undefined;
|
|
756
817
|
readonly availability?: "available" | "unavailable" | undefined;
|
|
757
818
|
readonly unavailableReason?: string | undefined;
|
|
@@ -70,6 +70,7 @@ export declare const makeModelsApplication: () => Effect.Effect<{
|
|
|
70
70
|
readonly groupKey: string;
|
|
71
71
|
} | undefined;
|
|
72
72
|
readonly showInteractionModeToggle?: boolean | undefined;
|
|
73
|
+
readonly requiresNewThreadForModelChange?: boolean | undefined;
|
|
73
74
|
readonly message?: string | undefined;
|
|
74
75
|
readonly availability?: "available" | "unavailable" | undefined;
|
|
75
76
|
readonly unavailableReason?: string | undefined;
|
|
@@ -83,6 +83,15 @@ export declare const makeProjectApplication: () => Effect.Effect<{
|
|
|
83
83
|
readonly updatedAt: string;
|
|
84
84
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
85
85
|
} | null;
|
|
86
|
+
readonly goal: {
|
|
87
|
+
readonly objective: string;
|
|
88
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
89
|
+
readonly tokensUsed: number;
|
|
90
|
+
readonly tokenBudget: number | null;
|
|
91
|
+
readonly timeUsedSeconds: number;
|
|
92
|
+
readonly createdAt: string;
|
|
93
|
+
readonly updatedAt: string;
|
|
94
|
+
} | null;
|
|
86
95
|
readonly latestUserMessageAt: string | null;
|
|
87
96
|
readonly hasPendingApprovals: boolean;
|
|
88
97
|
readonly hasPendingUserInput: boolean;
|
|
@@ -17,6 +17,11 @@ export type SendThreadInput = {
|
|
|
17
17
|
readonly message: string;
|
|
18
18
|
readonly options?: NonNullable<ModelSelection["options"]>;
|
|
19
19
|
};
|
|
20
|
+
export type CallbackThreadInput = {
|
|
21
|
+
readonly fromThreadId: string;
|
|
22
|
+
readonly targetThreadId: string;
|
|
23
|
+
readonly prompt: string;
|
|
24
|
+
};
|
|
20
25
|
export type StartThreadPolicy = {
|
|
21
26
|
readonly until: "dispatch" | "visible" | "complete";
|
|
22
27
|
};
|
|
@@ -66,6 +71,10 @@ declare const T3Application_base: Context.ServiceClass<T3Application, "t3cli/T3A
|
|
|
66
71
|
}, ApplicationError>;
|
|
67
72
|
readonly watchThread: (threadId: string) => Stream.Stream<WaitEvent, ApplicationError>;
|
|
68
73
|
readonly waitForThread: (threadId: string) => Effect.Effect<OrchestrationThread, ApplicationError>;
|
|
74
|
+
readonly callbackThread: (input: CallbackThreadInput) => Effect.Effect<{
|
|
75
|
+
readonly dispatch: DispatchResult;
|
|
76
|
+
readonly targetThreadId: string;
|
|
77
|
+
}, ApplicationError>;
|
|
69
78
|
}>;
|
|
70
79
|
export declare class T3Application extends T3Application_base {
|
|
71
80
|
}
|
|
@@ -82,6 +82,15 @@ export declare function waitForShellSequence(input: {
|
|
|
82
82
|
readonly updatedAt: string;
|
|
83
83
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
84
84
|
} | null;
|
|
85
|
+
readonly goal: {
|
|
86
|
+
readonly objective: string;
|
|
87
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
88
|
+
readonly tokensUsed: number;
|
|
89
|
+
readonly tokenBudget: number | null;
|
|
90
|
+
readonly timeUsedSeconds: number;
|
|
91
|
+
readonly createdAt: string;
|
|
92
|
+
readonly updatedAt: string;
|
|
93
|
+
} | null;
|
|
85
94
|
readonly latestUserMessageAt: string | null;
|
|
86
95
|
readonly hasPendingApprovals: boolean;
|
|
87
96
|
readonly hasPendingUserInput: boolean;
|
|
@@ -42,6 +42,15 @@ export declare function waitForThread(input: {
|
|
|
42
42
|
readonly updatedAt: string;
|
|
43
43
|
readonly archivedAt: string | null;
|
|
44
44
|
readonly deletedAt: string | null;
|
|
45
|
+
readonly goal: {
|
|
46
|
+
readonly objective: string;
|
|
47
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
48
|
+
readonly tokensUsed: number;
|
|
49
|
+
readonly tokenBudget: number | null;
|
|
50
|
+
readonly timeUsedSeconds: number;
|
|
51
|
+
readonly createdAt: string;
|
|
52
|
+
readonly updatedAt: string;
|
|
53
|
+
} | null;
|
|
45
54
|
readonly messages: readonly {
|
|
46
55
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
47
56
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -5,7 +5,7 @@ import { Environment } from "../environment/service.ts";
|
|
|
5
5
|
import { T3Orchestration } from "../orchestration/service.ts";
|
|
6
6
|
import { ProjectLookupError, ThreadSessionError } from "../domain/error.ts";
|
|
7
7
|
import { type StartThreadInput } from "./service.ts";
|
|
8
|
-
import type { SendThreadInput } from "./service.ts";
|
|
8
|
+
import type { SendThreadInput, CallbackThreadInput } from "./service.ts";
|
|
9
9
|
export declare const makeThreadApplication: () => Effect.Effect<{
|
|
10
10
|
archiveThread: (threadId: string) => Effect.Effect<{
|
|
11
11
|
readonly sequence: number;
|
|
@@ -87,6 +87,15 @@ export declare const makeThreadApplication: () => Effect.Effect<{
|
|
|
87
87
|
readonly updatedAt: string;
|
|
88
88
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
89
89
|
} | null;
|
|
90
|
+
readonly goal: {
|
|
91
|
+
readonly objective: string;
|
|
92
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
93
|
+
readonly tokensUsed: number;
|
|
94
|
+
readonly tokenBudget: number | null;
|
|
95
|
+
readonly timeUsedSeconds: number;
|
|
96
|
+
readonly createdAt: string;
|
|
97
|
+
readonly updatedAt: string;
|
|
98
|
+
} | null;
|
|
90
99
|
readonly latestUserMessageAt: string | null;
|
|
91
100
|
readonly hasPendingApprovals: boolean;
|
|
92
101
|
readonly hasPendingUserInput: boolean;
|
|
@@ -125,6 +134,15 @@ export declare const makeThreadApplication: () => Effect.Effect<{
|
|
|
125
134
|
readonly updatedAt: string;
|
|
126
135
|
readonly archivedAt: string | null;
|
|
127
136
|
readonly deletedAt: string | null;
|
|
137
|
+
readonly goal: {
|
|
138
|
+
readonly objective: string;
|
|
139
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
140
|
+
readonly tokensUsed: number;
|
|
141
|
+
readonly tokenBudget: number | null;
|
|
142
|
+
readonly timeUsedSeconds: number;
|
|
143
|
+
readonly createdAt: string;
|
|
144
|
+
readonly updatedAt: string;
|
|
145
|
+
} | null;
|
|
128
146
|
readonly messages: readonly {
|
|
129
147
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
130
148
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -230,6 +248,15 @@ export declare const makeThreadApplication: () => Effect.Effect<{
|
|
|
230
248
|
readonly updatedAt: string;
|
|
231
249
|
readonly archivedAt: string | null;
|
|
232
250
|
readonly deletedAt: string | null;
|
|
251
|
+
readonly goal: {
|
|
252
|
+
readonly objective: string;
|
|
253
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
254
|
+
readonly tokensUsed: number;
|
|
255
|
+
readonly tokenBudget: number | null;
|
|
256
|
+
readonly timeUsedSeconds: number;
|
|
257
|
+
readonly createdAt: string;
|
|
258
|
+
readonly updatedAt: string;
|
|
259
|
+
} | null;
|
|
233
260
|
readonly messages: readonly {
|
|
234
261
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
235
262
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -406,6 +433,15 @@ export declare const makeThreadApplication: () => Effect.Effect<{
|
|
|
406
433
|
readonly updatedAt: string;
|
|
407
434
|
readonly archivedAt: string | null;
|
|
408
435
|
readonly deletedAt: string | null;
|
|
436
|
+
readonly goal: {
|
|
437
|
+
readonly objective: string;
|
|
438
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
439
|
+
readonly tokensUsed: number;
|
|
440
|
+
readonly tokenBudget: number | null;
|
|
441
|
+
readonly timeUsedSeconds: number;
|
|
442
|
+
readonly createdAt: string;
|
|
443
|
+
readonly updatedAt: string;
|
|
444
|
+
} | null;
|
|
409
445
|
readonly messages: readonly {
|
|
410
446
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
411
447
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -500,6 +536,15 @@ export declare const makeThreadApplication: () => Effect.Effect<{
|
|
|
500
536
|
readonly updatedAt: string;
|
|
501
537
|
readonly archivedAt: string | null;
|
|
502
538
|
readonly deletedAt: string | null;
|
|
539
|
+
readonly goal: {
|
|
540
|
+
readonly objective: string;
|
|
541
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
542
|
+
readonly tokensUsed: number;
|
|
543
|
+
readonly tokenBudget: number | null;
|
|
544
|
+
readonly timeUsedSeconds: number;
|
|
545
|
+
readonly createdAt: string;
|
|
546
|
+
readonly updatedAt: string;
|
|
547
|
+
} | null;
|
|
503
548
|
readonly messages: readonly {
|
|
504
549
|
readonly id: string & import("effect/Brand").Brand<"MessageId">;
|
|
505
550
|
readonly role: "user" | "assistant" | "system";
|
|
@@ -560,4 +605,10 @@ export declare const makeThreadApplication: () => Effect.Effect<{
|
|
|
560
605
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
561
606
|
} | null;
|
|
562
607
|
}, ThreadSessionError | import("../rpc/error.ts").RpcError, never>;
|
|
608
|
+
callbackThread: (input: CallbackThreadInput) => Effect.Effect<{
|
|
609
|
+
dispatch: {
|
|
610
|
+
readonly sequence: number;
|
|
611
|
+
};
|
|
612
|
+
targetThreadId: string;
|
|
613
|
+
}, ThreadSessionError | import("../rpc/error.ts").RpcError, never>;
|
|
563
614
|
}, never, T3Orchestration | Environment | Path.Path | Crypto.Crypto>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as Context from "effect/Context";
|
|
2
|
+
export type CliPathShape = {
|
|
3
|
+
readonly path: string;
|
|
4
|
+
};
|
|
5
|
+
declare const CliPath_base: Context.ServiceClass<CliPath, "t3cli/CliPath", CliPathShape>;
|
|
6
|
+
export declare class CliPath extends CliPath_base {
|
|
7
|
+
}
|
|
8
|
+
export {};
|
|
@@ -83,6 +83,15 @@ export declare const resolveProjectScope: (snapshot: {
|
|
|
83
83
|
readonly updatedAt: string;
|
|
84
84
|
readonly providerInstanceId?: (string & import("effect/Brand").Brand<"ProviderInstanceId">) | undefined;
|
|
85
85
|
} | null;
|
|
86
|
+
readonly goal: {
|
|
87
|
+
readonly objective: string;
|
|
88
|
+
readonly status: "active" | "paused" | "budgetLimited" | "complete";
|
|
89
|
+
readonly tokensUsed: number;
|
|
90
|
+
readonly tokenBudget: number | null;
|
|
91
|
+
readonly timeUsedSeconds: number;
|
|
92
|
+
readonly createdAt: string;
|
|
93
|
+
readonly updatedAt: string;
|
|
94
|
+
} | null;
|
|
86
95
|
readonly latestUserMessageAt: string | null;
|
|
87
96
|
readonly hasPendingApprovals: boolean;
|
|
88
97
|
readonly hasPendingUserInput: boolean;
|
|
@@ -66,6 +66,7 @@ export declare function firstSelectableProvider(providers: ReadonlyArray<ServerP
|
|
|
66
66
|
readonly groupKey: string;
|
|
67
67
|
} | undefined;
|
|
68
68
|
readonly showInteractionModeToggle?: boolean | undefined;
|
|
69
|
+
readonly requiresNewThreadForModelChange?: boolean | undefined;
|
|
69
70
|
readonly message?: string | undefined;
|
|
70
71
|
readonly availability?: "available" | "unavailable" | undefined;
|
|
71
72
|
readonly unavailableReason?: string | undefined;
|
|
@@ -181,6 +182,7 @@ export declare function findSelectableProvider(providers: ReadonlyArray<ServerPr
|
|
|
181
182
|
readonly groupKey: string;
|
|
182
183
|
} | undefined;
|
|
183
184
|
readonly showInteractionModeToggle?: boolean | undefined;
|
|
185
|
+
readonly requiresNewThreadForModelChange?: boolean | undefined;
|
|
184
186
|
readonly message?: string | undefined;
|
|
185
187
|
readonly availability?: "available" | "unavailable" | undefined;
|
|
186
188
|
readonly unavailableReason?: string | undefined;
|
|
@@ -271,6 +273,7 @@ export declare function filterProvidersForModelListing(input: {
|
|
|
271
273
|
readonly groupKey: string;
|
|
272
274
|
} | undefined;
|
|
273
275
|
readonly showInteractionModeToggle?: boolean | undefined;
|
|
276
|
+
readonly requiresNewThreadForModelChange?: boolean | undefined;
|
|
274
277
|
readonly message?: string | undefined;
|
|
275
278
|
readonly availability?: "available" | "unavailable" | undefined;
|
|
276
279
|
readonly unavailableReason?: string | undefined;
|