t3code-cli 0.14.2 → 0.15.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.
Files changed (165) hide show
  1. package/README.md +36 -1
  2. package/dist/application.d.ts +2 -2
  3. package/dist/application.js +1 -1
  4. package/dist/auth.d.ts +1 -1
  5. package/dist/auth.js +1 -1
  6. package/dist/bin.js +935 -336
  7. package/dist/cli.d.ts +1 -1
  8. package/dist/cli.js +1 -1
  9. package/dist/client-runtime/authorization.d.ts +1 -1
  10. package/dist/client-runtime/authorization.js +1 -1
  11. package/dist/client-runtime/connection.d.ts +1 -1
  12. package/dist/client-runtime/connection.js +1 -1
  13. package/dist/client-runtime/environment.d.ts +3 -1
  14. package/dist/client-runtime/environment.js +1 -1
  15. package/dist/client-runtime/errors.js +1 -1
  16. package/dist/client-runtime/operations/projects.d.ts +1 -1
  17. package/dist/client-runtime/operations.d.ts +1 -1
  18. package/dist/client-runtime/platform.d.ts +1 -1
  19. package/dist/client-runtime/platform.js +1 -1
  20. package/dist/client-runtime/relay.d.ts +9 -2
  21. package/dist/client-runtime/relay.js +12 -2
  22. package/dist/client-runtime/rpc.d.ts +2 -2
  23. package/dist/client-runtime/rpc.js +2 -2
  24. package/dist/client-runtime/state/assets.d.ts +1 -1
  25. package/dist/client-runtime/state/assets.js +1 -1
  26. package/dist/client-runtime/state/auth.d.ts +1 -1
  27. package/dist/client-runtime/state/auth.js +1 -1
  28. package/dist/client-runtime/state/connections.js +1 -1
  29. package/dist/client-runtime/state/entities.d.ts +1 -1
  30. package/dist/client-runtime/state/filesystem.d.ts +1 -1
  31. package/dist/client-runtime/state/filesystem.js +1 -1
  32. package/dist/client-runtime/state/git.d.ts +2 -1
  33. package/dist/client-runtime/state/git.js +1 -1
  34. package/dist/client-runtime/state/models.d.ts +1 -1
  35. package/dist/client-runtime/state/models.js +1 -1
  36. package/dist/client-runtime/state/orchestration.d.ts +1 -1
  37. package/dist/client-runtime/state/orchestration.js +1 -1
  38. package/dist/client-runtime/state/presentation.d.ts +7 -1
  39. package/dist/client-runtime/state/presentation.js +1 -1
  40. package/dist/client-runtime/state/preview.d.ts +5 -2
  41. package/dist/client-runtime/state/preview.js +3 -2
  42. package/dist/client-runtime/state/project-grouping.d.ts +1 -1
  43. package/dist/client-runtime/state/project-grouping.js +1 -1
  44. package/dist/client-runtime/state/projects.d.ts +1 -1
  45. package/dist/client-runtime/state/pull-requests.d.ts +478 -0
  46. package/dist/client-runtime/state/pull-requests.js +172 -0
  47. package/dist/client-runtime/state/relay.d.ts +1 -1
  48. package/dist/client-runtime/state/relay.js +1 -1
  49. package/dist/client-runtime/state/review.d.ts +1 -1
  50. package/dist/client-runtime/state/review.js +1 -1
  51. package/dist/client-runtime/state/runtime.d.ts +2 -2
  52. package/dist/client-runtime/state/runtime.js +2 -2
  53. package/dist/client-runtime/state/server.d.ts +13 -1
  54. package/dist/client-runtime/state/server.js +1 -1
  55. package/dist/client-runtime/state/session.d.ts +13 -1
  56. package/dist/client-runtime/state/session.js +1 -1
  57. package/dist/client-runtime/state/shell.d.ts +7 -1
  58. package/dist/client-runtime/state/shell.js +1 -1
  59. package/dist/client-runtime/state/source-control.d.ts +1 -1
  60. package/dist/client-runtime/state/source-control.js +1 -1
  61. package/dist/client-runtime/state/subagentRuntime.d.ts +1 -1
  62. package/dist/client-runtime/state/terminal.d.ts +1 -1
  63. package/dist/client-runtime/state/terminal.js +1 -1
  64. package/dist/client-runtime/state/thread-search.d.ts +1 -1
  65. package/dist/client-runtime/state/thread-search.js +1 -1
  66. package/dist/client-runtime/state/thread-settled.d.ts +11 -8
  67. package/dist/client-runtime/state/thread-settled.js +2 -229
  68. package/dist/client-runtime/state/thread-sort.d.ts +1 -1
  69. package/dist/client-runtime/state/thread-sort.js +1 -1
  70. package/dist/client-runtime/state/threads.d.ts +1 -1
  71. package/dist/client-runtime/state/threads.js +1 -1
  72. package/dist/client-runtime/state/vcs.d.ts +1 -1
  73. package/dist/client-runtime/state/vcs.js +1 -1
  74. package/dist/config.d.ts +1 -1
  75. package/dist/config.js +1 -1
  76. package/dist/connection.d.ts +1 -1
  77. package/dist/connection.js +1 -1
  78. package/dist/contracts.d.ts +1 -1
  79. package/dist/contracts.js +1 -1
  80. package/dist/index.d.ts +1 -1
  81. package/dist/index.js +1 -1
  82. package/dist/node.d.ts +1 -1
  83. package/dist/node.js +1 -1
  84. package/dist/orchestration.d.ts +12 -6
  85. package/dist/orchestration.js +2 -2
  86. package/dist/preview.d.ts +1 -1
  87. package/dist/rpc.d.ts +4 -9
  88. package/dist/rpc.js +1 -1
  89. package/dist/runtime.d.ts +1 -1
  90. package/dist/shared/DrainableWorker.js +1 -1
  91. package/dist/shared/KeyedCoalescingWorker.js +1 -1
  92. package/dist/shared/Net.d.ts +6 -0
  93. package/dist/shared/Net.js +2 -1
  94. package/dist/shared/advertisedEndpoint.d.ts +1 -1
  95. package/dist/shared/advertisedEndpoint.js +1 -1
  96. package/dist/shared/agentAwareness.d.ts +1 -1
  97. package/dist/shared/backgroundActivitySettings.d.ts +1 -1
  98. package/dist/shared/connectAuth.d.ts +23 -4
  99. package/dist/shared/connectAuth.js +40 -7
  100. package/dist/shared/devHome.js +1 -1
  101. package/dist/shared/dpop.js +1 -1
  102. package/dist/shared/git.d.ts +1 -1
  103. package/dist/shared/httpObservability.js +1 -1
  104. package/dist/shared/httpReadiness.js +1 -1
  105. package/dist/shared/keybindings.d.ts +1 -1
  106. package/dist/shared/model.d.ts +1 -1
  107. package/dist/shared/oauthScope.js +1 -1
  108. package/dist/shared/observability.js +1 -1
  109. package/dist/shared/preview.js +1 -1
  110. package/dist/shared/previewViewport.d.ts +1 -1
  111. package/dist/shared/previewViewport.js +1 -1
  112. package/dist/shared/projectScripts.d.ts +1 -1
  113. package/dist/shared/relayAuth.js +1 -1
  114. package/dist/shared/relayClient.d.ts +1 -1
  115. package/dist/shared/relayClient.js +1 -1
  116. package/dist/shared/relayJwt.js +1 -1
  117. package/dist/shared/relayTracing.js +1 -1
  118. package/dist/shared/relayUrl.js +1 -1
  119. package/dist/shared/remote.js +1 -1
  120. package/dist/shared/schemaYaml.js +1 -1
  121. package/dist/shared/serverSettings.d.ts +1 -1
  122. package/dist/shared/serverSettings.js +1 -1
  123. package/dist/shared/shell.js +1 -1
  124. package/dist/shared/sourceControl.d.ts +1 -1
  125. package/dist/shared/t3ProjectFile.d.ts +1 -1
  126. package/dist/shared/t3ProjectFile.js +1 -1
  127. package/dist/shared/terminalLabels.d.ts +1 -1
  128. package/dist/shared/threadEnvMode.d.ts +1 -1
  129. package/dist/shared/toolActivity.d.ts +1 -1
  130. package/dist/shared/usageFormat.d.ts +16 -3
  131. package/dist/shared/usageFormat.js +92 -6
  132. package/dist/shared/usageMerge.d.ts +13 -2
  133. package/dist/shared/usageMerge.js +23 -0
  134. package/dist/shared.d.ts +3470 -378
  135. package/dist/shared.js +2434 -617
  136. package/dist/t3tools.d.ts +2 -2
  137. package/dist/t3tools.js +2 -2
  138. package/package.json +2 -2
  139. package/src/application/error.ts +2 -2
  140. package/src/application/index.ts +1 -0
  141. package/src/application/service.ts +38 -4
  142. package/src/application/thread-commands.ts +78 -0
  143. package/src/application/threads.ts +113 -16
  144. package/src/cli/app.ts +2 -0
  145. package/src/cli/ask-lifecycle.ts +331 -0
  146. package/src/cli/ask.ts +390 -0
  147. package/src/cli/error.ts +70 -0
  148. package/src/cli/format/thread.ts +26 -6
  149. package/src/cli/thread.ts +12 -0
  150. package/src/cli/threads/messages.ts +33 -3
  151. package/src/cli/threads/pin.ts +46 -0
  152. package/src/cli/threads/send.ts +5 -1
  153. package/src/cli/threads/settle.ts +46 -0
  154. package/src/cli/threads/snooze.ts +117 -0
  155. package/src/cli/threads/start.ts +6 -1
  156. package/src/cli/threads/unpin.ts +48 -0
  157. package/src/cli/threads/unsettle.ts +48 -0
  158. package/src/cli/threads/unsnooze.ts +48 -0
  159. package/src/connection/prepared.ts +12 -2
  160. package/src/orchestration/error.ts +10 -0
  161. package/src/orchestration/index.ts +1 -0
  162. package/src/orchestration/layer.ts +72 -0
  163. package/src/orchestration/service.ts +11 -3
  164. package/src/rpc/ws-group.ts +1 -0
  165. package/src/runtime/layer.ts +9 -4
package/README.md CHANGED
@@ -39,6 +39,14 @@ Install it with:
39
39
  npx skills add tarik02-org/t3code-cli
40
40
  ```
41
41
 
42
+ ## Nix
43
+
44
+ On NixOS or another system with Nix installed:
45
+
46
+ ```sh
47
+ nix profile install github:tarik02-org/t3code-cli
48
+ ```
49
+
42
50
  ## Authentication
43
51
 
44
52
  `t3cli` stores multiple named auth environments in `~/.config/t3cli/config.json` (or `$XDG_CONFIG_HOME/t3cli/config.json`). Tokens are encrypted at rest with AES-256-GCM; the master key is stored in the OS keyring when available, otherwise in `~/.config/t3cli/key`.
@@ -169,6 +177,22 @@ Lists available provider models. Use `--all` to include hidden or unavailable en
169
177
 
170
178
  ## Thread Workflow
171
179
 
180
+ ### Asking One Question
181
+
182
+ `ask` waits for one answer and prints only the assistant text by default:
183
+
184
+ ```sh
185
+ t3cli ask "Which package owns this API?" --project /path/to/project
186
+ t3cli ask "Summarize the decision" --thread <id>
187
+ ```
188
+
189
+ Without `--thread`, it creates a thread and archives it after a successful answer. With
190
+ `--thread`, it leaves the existing thread active unless `--archive` is set explicitly.
191
+ `--archive` accepts `never`, `always`, `on-success`, or `on-failure`.
192
+
193
+ Existing busy threads are rejected. `--timeout 5m` limits the response wait. Unlike other
194
+ thread-scoped commands, `ask` uses only an explicit `--thread` and ignores `T3CODE_THREAD_ID`.
195
+
172
196
  ### Starting Threads
173
197
 
174
198
  ```sh
@@ -194,17 +218,27 @@ t3cli list [--project <ref>] [--archived | --all]
194
218
  t3cli search <query> [--limit <1-50>] # Search conversation content
195
219
  t3cli show [--thread <id>] # Show thread details
196
220
  t3cli send [--thread <id>] [message] # Send message to thread
197
- t3cli transcript [--thread <id>] [--limit] # View messages
221
+ t3cli transcript [--thread <id>] [--turn-limit N] [--before-cursor <cursor>] [--all] # View messages
198
222
  t3cli wait [--thread <id>] # Wait for completion
199
223
  ```
200
224
 
225
+ `transcript` loads the latest 10 user turns by default and includes pagination metadata in JSON
226
+ output. Pass the returned `page.beforeCursor` to `--before-cursor` for the next older page, use
227
+ `--turn-limit` to set the page size, or use `--all` to load the complete transcript.
228
+
201
229
  ### Advanced Thread Commands
202
230
 
203
231
  ```sh
204
232
  t3cli thread archive [--thread <id>] # Archive thread
205
233
  t3cli thread approve --request <id> # Approve request
206
234
  t3cli thread interrupt [--thread <id>] # Interrupt running turn
235
+ t3cli thread pin [--thread <id>] # Pin thread
207
236
  t3cli thread respond --request <id> # Respond to request
237
+ t3cli thread settle [--thread <id>] # Settle thread
238
+ t3cli thread snooze [--thread <id>] (--until <ISO-8601> | --preset hour|evening|tomorrow|next-week)
239
+ t3cli thread unpin [--thread <id>] # Unpin thread
240
+ t3cli thread unsnooze [--thread <id>] # Wake snoozed thread
241
+ t3cli thread unsettle [--thread <id>] # Unsettle thread
208
242
  t3cli thread update [--thread <id>] # Update thread metadata
209
243
  t3cli thread unarchive [--thread <id>] # Unarchive thread
210
244
  t3cli thread delete [--thread <id>] [--yes] # Delete thread
@@ -286,6 +320,7 @@ Most commands support:
286
320
  Thread commands also support `ndjson` for streaming:
287
321
 
288
322
  ```sh
323
+ t3cli ask "task" --format ndjson
289
324
  t3cli start "task" --format ndjson --wait
290
325
  t3cli wait --format ndjson
291
326
  ```
@@ -1,2 +1,2 @@
1
- import { Ai as T3ActionApplication, Bi as ThreadSearchResult, Ci as ProjectActionDeleteResult, Di as SendThreadInput, Ei as ProjectActionSelector, Fi as T3TerminalApplication, Ii as T3ThreadApplication, Li as UpdateProjectActionInput, Mi as T3Application, Ni as T3ModelApplication, Oi as StartThreadInput, Pi as T3ProjectApplication, Ri as UpdateThreadInput, Si as AddProjectActionInput, Ti as ProjectActionRunResult, ci as T3ApplicationSlicesLive, di as T3TerminalApplicationLive, fi as T3ThreadApplicationLive, ji as T3ActionApplicationService, ki as StartThreadPolicy, li as T3ModelApplicationLive, oi as T3ActionApplicationLive, pi as makeT3Application, qi as ApplicationError, si as T3ApplicationLive, ui as T3ProjectApplicationLive, wi as ProjectActionMutationResult, zi as WaitEvent } from "./shared.js";
2
- export { type AddProjectActionInput, type ApplicationError, type ProjectActionDeleteResult, type ProjectActionMutationResult, type ProjectActionRunResult, type ProjectActionSelector, type SendThreadInput, type StartThreadInput, type StartThreadPolicy, T3ActionApplication, T3ActionApplicationLive, type T3ActionApplicationService, T3Application, T3ApplicationLive, T3ApplicationSlicesLive, T3ModelApplication, T3ModelApplicationLive, T3ProjectApplication, T3ProjectApplicationLive, T3TerminalApplication, T3TerminalApplicationLive, T3ThreadApplication, T3ThreadApplicationLive, type ThreadSearchResult, type UpdateProjectActionInput, type UpdateThreadInput, type WaitEvent, makeT3Application };
1
+ import { Ai as SnoozeThreadInput, Bi as UpdateProjectActionInput, Di as ProjectActionRunResult, Ei as ProjectActionMutationResult, Fi as T3Application, Hi as WaitEvent, Ii as T3ModelApplication, Ki as ApplicationError, Li as T3ProjectApplication, Mi as StartThreadPolicy, Ni as T3ActionApplication, Oi as ProjectActionSelector, Pi as T3ActionApplicationService, Ri as T3TerminalApplication, Ti as ProjectActionDeleteResult, Ui as ThreadSearchResult, Vi as UpdateThreadInput, ci as T3ActionApplicationLive, di as T3ModelApplicationLive, fi as T3ProjectApplicationLive, hi as makeT3Application, ji as StartThreadInput, ki as SendThreadInput, li as T3ApplicationLive, mi as T3ThreadApplicationLive, pi as T3TerminalApplicationLive, ui as T3ApplicationSlicesLive, wi as AddProjectActionInput, zi as T3ThreadApplication } from "./shared.js";
2
+ export { type AddProjectActionInput, type ApplicationError, type ProjectActionDeleteResult, type ProjectActionMutationResult, type ProjectActionRunResult, type ProjectActionSelector, type SendThreadInput, type SnoozeThreadInput, type StartThreadInput, type StartThreadPolicy, T3ActionApplication, T3ActionApplicationLive, type T3ActionApplicationService, T3Application, T3ApplicationLive, T3ApplicationSlicesLive, T3ModelApplication, T3ModelApplicationLive, T3ProjectApplication, T3ProjectApplicationLive, T3TerminalApplication, T3TerminalApplicationLive, T3ThreadApplication, T3ThreadApplicationLive, type ThreadSearchResult, type UpdateProjectActionInput, type UpdateThreadInput, type WaitEvent, makeT3Application };
@@ -1,2 +1,2 @@
1
- import { Gi as T3ApplicationSlicesLive, Ji as T3TerminalApplicationLive, Ki as T3ModelApplicationLive, Ui as T3ActionApplicationLive, Wi as T3ApplicationLive, Xi as makeT3Application, Yi as T3ThreadApplicationLive, aE as T3ThreadApplication, eE as T3ActionApplication, iE as T3TerminalApplication, nE as T3ModelApplication, qi as T3ProjectApplicationLive, rE as T3ProjectApplication, tE as T3Application } from "./shared.js";
1
+ import { Gi as T3ActionApplicationLive, Ji as T3ModelApplicationLive, Ki as T3ApplicationLive, Qi as makeT3Application, Xi as T3TerminalApplicationLive, Yi as T3ProjectApplicationLive, Zi as T3ThreadApplicationLive, cO as T3Application, dO as T3TerminalApplication, fO as T3ThreadApplication, lO as T3ModelApplication, qi as T3ApplicationSlicesLive, sO as T3ActionApplication, uO as T3ProjectApplication } from "./shared.js";
2
2
  export { T3ActionApplication, T3ActionApplicationLive, T3Application, T3ApplicationLive, T3ApplicationSlicesLive, T3ModelApplication, T3ModelApplicationLive, T3ProjectApplication, T3ProjectApplicationLive, T3TerminalApplication, T3TerminalApplicationLive, T3ThreadApplication, T3ThreadApplicationLive, makeT3Application };
package/dist/auth.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { $r as AuthLocalError, Br as AuthUnpairResult, Fr as AuthEnvironmentSummary, Gr as LocalAuthTokenInput, Hr as LocalAuthInput, Ir as AuthPairInput, Jr as PairingUrl, Kr as LocalAuthTokenResult, LE as AuthClientPresentationMetadata, Lr as AuthResolvedConfig, Mr as T3Auth, Nr as AuthConfigInput, Pr as AuthEnvironmentListItem, Qr as AuthLocalDatabaseError, Rr as AuthSessionRole, Ur as LocalAuthOriginInput, Vr as AuthUseResult, Wr as LocalAuthResult, Xr as AuthConfigError, Yr as PersistEnvironmentInput, Zr as AuthError, ai as AuthWebSocketTicketResult, ar as T3AuthTransport, cr as makeT3LocalAuth, dr as makeT3LocalAuthToken, ei as AuthLocalSecretError, fr as T3LocalAuthOrigin, hr as T3Config, ii as AuthSessionState, ir as parsePairingUrl, lr as T3LocalAuthToken, mr as makeT3LocalAuthOrigin, ni as AuthPairingUrlError, nr as T3AuthPairingLive, or as T3LocalAuth, pr as T3LocalAuthOriginLive, qr as PairResult, ri as AuthTransportError, rr as makeT3AuthPairing, sr as T3LocalAuthLive, ti as AuthLocalSigningError, tr as T3AuthPairing, ur as T3LocalAuthTokenLive, zr as AuthStatusResult } from "./shared.js";
1
+ import { $r as AuthError, Br as AuthSessionRole, Fr as AuthConfigInput, Gr as LocalAuthOriginInput, Hr as AuthUnpairResult, Ir as AuthEnvironmentListItem, Jr as LocalAuthTokenResult, Kr as LocalAuthResult, Lr as AuthEnvironmentSummary, MO as AuthClientPresentationMetadata, Pr as T3Auth, Qr as AuthConfigError, Rr as AuthPairInput, Ur as AuthUseResult, Vr as AuthStatusResult, Wr as LocalAuthInput, Xr as PairingUrl, Yr as PairResult, Zr as PersistEnvironmentInput, _r as T3Config, ai as AuthTransportError, ar as makeT3AuthPairing, cr as T3LocalAuth, dr as T3LocalAuthToken, ei as AuthLocalDatabaseError, fr as T3LocalAuthTokenLive, gr as makeT3LocalAuthOrigin, hr as T3LocalAuthOriginLive, ii as AuthPairingUrlError, ir as T3AuthPairingLive, lr as T3LocalAuthLive, mr as T3LocalAuthOrigin, ni as AuthLocalSecretError, oi as AuthSessionState, or as parsePairingUrl, pr as makeT3LocalAuthToken, qr as LocalAuthTokenInput, ri as AuthLocalSigningError, rr as T3AuthPairing, si as AuthWebSocketTicketResult, sr as T3AuthTransport, ti as AuthLocalError, ur as makeT3LocalAuth, zr as AuthResolvedConfig } from "./shared.js";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  //#region src/auth/layer.d.ts
package/dist/auth.js CHANGED
@@ -1,2 +1,2 @@
1
- import { Ai as T3LocalAuthTokenLive, Bi as AuthLocalSigningError, Ci as T3AuthPairingLive, Di as T3LocalAuthLive, Ei as T3LocalAuth, Hi as AuthTransportError, Ii as AuthConfigError, Li as AuthLocalDatabaseError, Mi as T3LocalAuthOrigin, Ni as T3LocalAuthOriginLive, Oi as makeT3LocalAuth, Pi as makeT3LocalAuthOrigin, Ri as AuthLocalError, Si as T3AuthPairing, Ti as parsePairingUrl, Uw as T3Auth, Vi as AuthPairingUrlError, bi as T3AuthLive, ji as makeT3LocalAuthToken, ki as T3LocalAuthToken, wi as makeT3AuthPairing, xi as makeT3Auth, zi as AuthLocalSecretError } from "./shared.js";
1
+ import { Ai as makeT3LocalAuth, Bi as AuthLocalError, Ci as makeT3Auth, Di as parsePairingUrl, Ei as makeT3AuthPairing, Fi as T3LocalAuthOriginLive, Hi as AuthLocalSigningError, Ii as makeT3LocalAuthOrigin, Mi as T3LocalAuthTokenLive, Ni as makeT3LocalAuthToken, Oi as T3LocalAuth, Pi as T3LocalAuthOrigin, Ri as AuthConfigError, Si as T3AuthLive, Ti as T3AuthPairingLive, Ui as AuthPairingUrlError, Vi as AuthLocalSecretError, Wi as AuthTransportError, ji as T3LocalAuthToken, ki as T3LocalAuthLive, rc as T3Auth, wi as T3AuthPairing, zi as AuthLocalDatabaseError } from "./shared.js";
2
2
  export { AuthConfigError, AuthLocalDatabaseError, AuthLocalError, AuthLocalSecretError, AuthLocalSigningError, AuthPairingUrlError, AuthTransportError, T3Auth, T3AuthLive, T3AuthPairing, T3AuthPairingLive, T3LocalAuth, T3LocalAuthLive, T3LocalAuthOrigin, T3LocalAuthOriginLive, T3LocalAuthToken, T3LocalAuthTokenLive, makeT3Auth, makeT3AuthPairing, makeT3LocalAuth, makeT3LocalAuthOrigin, makeT3LocalAuthToken, parsePairingUrl };