@meistrari/remy-cli 1.24.0 → 1.25.0-rc.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 (3) hide show
  1. package/README.md +3 -3
  2. package/dist/remy.js +62 -45
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -90,7 +90,7 @@ Terminal previews show up to 50 content blocks and 8,000 characters per block, w
90
90
 
91
91
  Command and attachment feedback share progress, success, failure, and attention indicators. Failed stop requests show the reason and `esc` retry; failed complete/cancel requests restore the message prompt and show the retry command. Logout shows a confirmation with `y` to confirm and `Esc` to cancel.
92
92
 
93
- **Change the model or effort:** enter `/model` or `/reasoning` (`/effort` is an alias) to pick a new model or reasoning effort for your next message. The model list contains only the session's harness (a Claude session offers Claude models, a Codex session Codex models), in the same order and with the same labels as the new-session wizard. Arrows move, `Enter` stages the pick, and `Esc` closes the picker without changing what is already staged. Nothing is sent until you send a message: the change travels with it and stays the session's setting afterward. Because every terminal follow-up is a Steer, a change sent while Remy is working switches the running turn from its next model request; otherwise it applies from the turn your message starts. The header shows the staged change as `→ Sonnet 5 · High (next message)`, then `(switching…)` until the runtime applies it. The timeline then records `Switched to Sonnet 5 · High` right after your message, or `Switched to Sonnet 5 · High (from next turn)` when the running turn could not switch; its details (`Ctrl+O`) then show the provider's reason when one was given. Picking the current value removes it from the staged change.
93
+ **Change the model or effort:** enter `/model` or `/reasoning` (`/effort` is an alias) to pick a new model or reasoning effort for your next message. The model list contains only the session's harness (a Claude session offers Claude models, a Codex session Codex models), in the same order and with the same labels as the new-session wizard. Arrows move, `Enter` stages the pick, and `Esc` closes the picker without changing what is already staged. Nothing is sent until you send a message: the change travels with it and stays the session's setting afterward. Because every terminal follow-up is a Steer, a change sent while Remy is working switches the running turn from its next model request; otherwise it applies from the turn your message starts. The header shows the staged change as `→ Sonnet 5.5 · High (next message)`, then `(switching…)` until the runtime applies it. The timeline then records `Switched to Sonnet 5.5 · High` right after your message, or `Switched to Sonnet 5.5 · High (from next turn)` when the running turn could not switch; its details (`Ctrl+O`) then show the provider's reason when one was given. Picking the current value removes it from the staged change.
94
94
 
95
95
  Enter `/compact` to admit a durable main-thread context compaction control without sending a human message. Remy reports request admission immediately and shows the eventual completed, no-op, failed, or unknown provider result in retained activity. Compaction waits for a safe point and does not interrupt active work or jump ahead of an earlier Next message. While admission is pending, you can keep editing or open other commands; repeated `/compact` invocations do not send another request.
96
96
 
@@ -138,7 +138,7 @@ The interactive dashboard is the recommended path. Use these commands when a scr
138
138
  remy new --repository owner/repository "Add a health check endpoint"
139
139
  ```
140
140
 
141
- Repeat `--repository` to select more repositories from the same GitHub installation. If you do not select a repository, supply `--installation <github-installation-id>`. Repeat `--attach <path>` to upload files or directories; the 20 MiB per-attachment limit is measured directly for a file and across all regular files before compressing a directory. Remy sends each accepted directory as a gzip-compressed tar archive. Direct creation uses `medium` reasoning unless `--reasoning-effort` overrides it; omit `--model` to use the server's Claude `claude-opus-5-5` default. `--model` accepts a Codex model (`gpt-6-astra`, `gpt-6-sol`, `gpt-6-luna`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.5`) or a Claude model (`claude-opus-5-5`, `claude-sonnet-5`, `claude-fable-5-1`); the model chooses the session's harness, which stays fixed for the session. For example, `remy new --model claude-opus-5-5 --repository owner/repository "Add a health check endpoint"` starts a Claude session. In the interactive wizard, press `m` on the confirm step to cycle through every harness's models, shown as `Codex · GPT 6.0 Astra` or `Claude · Opus 5.5`. `remy new` creates the session from the prompt and flags, then opens it when the terminal is interactive.
141
+ Repeat `--repository` to select more repositories from the same GitHub installation. If you do not select a repository, supply `--installation <github-installation-id>`. Repeat `--attach <path>` to upload files or directories; the 20 MiB per-attachment limit is measured directly for a file and across all regular files before compressing a directory. Remy sends each accepted directory as a gzip-compressed tar archive. Direct creation uses `medium` reasoning unless `--reasoning-effort` overrides it; omit `--model` to use the server's Claude `claude-opus-5-5` default. `--model` accepts a Codex model (`gpt-6-astra`, `gpt-6.1-sol`, `gpt-6-sol`, `gpt-6-luna`, `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`, `gpt-5.5`) or a Claude model (`claude-opus-5-5`, `claude-sonnet-5-5`, `claude-fable-5-1`); the model chooses the session's harness, which stays fixed for the session. For example, `remy new --model claude-opus-5-5 --repository owner/repository "Add a health check endpoint"` starts a Claude session. In the interactive wizard, press `m` on the confirm step to cycle through every harness's models, shown as `Codex · GPT 6.0 Astra` or `Claude · Opus 5.5`. `remy new` creates the session from the prompt and flags, then opens it when the terminal is interactive.
142
142
 
143
143
  Repeat `--mcp <offering-id>` to attach optional MCP servers (for example, `remy new --installation <id> --mcp <offering-id> --no-tui "Investigate the issue"`). These are offering IDs, not account or session-attachment IDs. Omitting the flag still includes the organization's CLI defaults; the server validates the selection.
144
144
 
@@ -163,7 +163,7 @@ Remy sends the prompt as **Steer**, then opens the conversation. Omitting the pr
163
163
  To change the model or reasoning effort, pass `--model <name>`, `--reasoning-effort <low|medium|high|xhigh>`, or both with the prompt:
164
164
 
165
165
  ```bash
166
- remy --session <session-id> --model claude-sonnet-5 --reasoning-effort high "Finish the migration"
166
+ remy --session <session-id> --model claude-sonnet-5-5 --reasoning-effort high "Finish the migration"
167
167
  ```
168
168
 
169
169
  The change travels with that message and stays the session's setting for later messages. A running turn switches from its next model request; otherwise the change applies from the turn the prompt starts. Either flag without a prompt is rejected, because settings only change with a message. The session keeps its harness, so `--model` must name one of that harness's models; Remy checks this against the session before sending and names the harness's models when it does not match. Omit both flags to keep the current settings.
package/dist/remy.js CHANGED
@@ -22,7 +22,7 @@ import { mkdir as mkdir6, readFile as readFile5, readdir as readdir3, rename as
22
22
  import { homedir as homedir3, tmpdir as tmpdir2 } from "os";
23
23
  import { dirname as dirname6, join as join10 } from "path";
24
24
 
25
- // ../../node_modules/.bun/@meistrari+auth-cli@1.6.1+aff0271b2b55d60c/node_modules/@meistrari/auth-cli/dist/index.mjs
25
+ // ../../node_modules/.bun/@meistrari+auth-cli@1.6.1+b17459b52849d8f2/node_modules/@meistrari/auth-cli/dist/index.mjs
26
26
  import { setTimeout as setTimeout2 } from "timers/promises";
27
27
 
28
28
  // ../../node_modules/.bun/jose@6.1.3/node_modules/jose/dist/webapi/lib/buffer_utils.js
@@ -129,7 +129,7 @@ function defineErrorCodes(codes) {
129
129
  }]));
130
130
  }
131
131
 
132
- // ../../node_modules/.bun/@better-auth+api-key@1.6.26+e487a1a526d9239c/node_modules/@better-auth/api-key/dist/version-vgVyvied.mjs
132
+ // ../../node_modules/.bun/@better-auth+api-key@1.6.26+2d3b268ab7e9362c/node_modules/@better-auth/api-key/dist/version-vgVyvied.mjs
133
133
  var API_KEY_ERROR_CODES = defineErrorCodes({
134
134
  INVALID_METADATA_TYPE: "metadata must be an object or undefined",
135
135
  REFILL_AMOUNT_AND_INTERVAL_REQUIRED: "refillAmount is required when refillInterval is provided",
@@ -165,7 +165,7 @@ var API_KEY_ERROR_CODES = defineErrorCodes({
165
165
  });
166
166
  var PACKAGE_VERSION = "1.6.26";
167
167
 
168
- // ../../node_modules/.bun/@better-auth+api-key@1.6.26+e487a1a526d9239c/node_modules/@better-auth/api-key/dist/client.mjs
168
+ // ../../node_modules/.bun/@better-auth+api-key@1.6.26+2d3b268ab7e9362c/node_modules/@better-auth/api-key/dist/client.mjs
169
169
  var apiKeyClient = () => {
170
170
  return {
171
171
  id: "api-key",
@@ -180,10 +180,10 @@ var apiKeyClient = () => {
180
180
  };
181
181
  };
182
182
 
183
- // ../../node_modules/.bun/@better-auth+sso@1.6.26+aff0271b2b55d60c/node_modules/@better-auth/sso/dist/version-CPj5-4mL.mjs
183
+ // ../../node_modules/.bun/@better-auth+sso@1.6.26+b17459b52849d8f2/node_modules/@better-auth/sso/dist/version-CPj5-4mL.mjs
184
184
  var PACKAGE_VERSION2 = "1.6.26";
185
185
 
186
- // ../../node_modules/.bun/@better-auth+sso@1.6.26+aff0271b2b55d60c/node_modules/@better-auth/sso/dist/client.mjs
186
+ // ../../node_modules/.bun/@better-auth+sso@1.6.26+b17459b52849d8f2/node_modules/@better-auth/sso/dist/client.mjs
187
187
  var ssoClient = (options) => {
188
188
  return {
189
189
  id: "sso-client",
@@ -196,13 +196,13 @@ var ssoClient = (options) => {
196
196
  };
197
197
  };
198
198
 
199
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/package.mjs
199
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/package.mjs
200
200
  var version = "1.6.26";
201
201
 
202
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/version.mjs
202
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/version.mjs
203
203
  var PACKAGE_VERSION3 = version;
204
204
 
205
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/broadcast-channel.mjs
205
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/broadcast-channel.mjs
206
206
  var kBroadcastChannel = Symbol.for("better-auth:broadcast-channel");
207
207
  var now = () => Math.floor(Date.now() / 1000);
208
208
  var WindowBroadcastChannel = class {
@@ -436,7 +436,7 @@ var onMount = ($store, initialize) => {
436
436
  };
437
437
  });
438
438
  };
439
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/equality.mjs
439
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/equality.mjs
440
440
  function isPlainObject(value) {
441
441
  if (typeof value !== "object" || value === null)
442
442
  return false;
@@ -473,7 +473,7 @@ function withEquality(store, isEqual) {
473
473
  });
474
474
  }
475
475
 
476
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/focus-manager.mjs
476
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/focus-manager.mjs
477
477
  var kFocusManager = Symbol.for("better-auth:focus-manager");
478
478
  var WindowFocusManager = class {
479
479
  listeners = /* @__PURE__ */ new Set;
@@ -505,7 +505,7 @@ function getGlobalFocusManager() {
505
505
  return globalThis[kFocusManager];
506
506
  }
507
507
 
508
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/online-manager.mjs
508
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/online-manager.mjs
509
509
  var kOnlineManager = Symbol.for("better-auth:online-manager");
510
510
  var WindowOnlineManager = class {
511
511
  listeners = /* @__PURE__ */ new Set;
@@ -539,7 +539,7 @@ function getGlobalOnlineManager() {
539
539
  return globalThis[kOnlineManager];
540
540
  }
541
541
 
542
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/parser.mjs
542
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/parser.mjs
543
543
  var PROTO_POLLUTION_PATTERNS = {
544
544
  proto: /"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,
545
545
  constructor: /"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,
@@ -617,7 +617,7 @@ function parseJSON(value, options = { strict: true }) {
617
617
  return betterJSONParse(value, options);
618
618
  }
619
619
 
620
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/query.mjs
620
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/query.mjs
621
621
  var isServer = () => typeof window === "undefined";
622
622
  function isAuthQueryStateEqual(a, b) {
623
623
  return isJsonEqual(a.data, b.data) && a.error === b.error && a.isPending === b.isPending && a.isRefetching === b.isRefetching && a.refetch === b.refetch;
@@ -743,7 +743,7 @@ var useAuthQuery = (initializedAtom, path, $fetch, options) => {
743
743
  return value;
744
744
  };
745
745
 
746
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/session-refresh.mjs
746
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/session-refresh.mjs
747
747
  var now2 = () => Math.floor(Date.now() / 1000);
748
748
  var FOCUS_REFETCH_RATE_LIMIT_SECONDS = 5;
749
749
  function createSessionRefreshManager(opts) {
@@ -1060,7 +1060,7 @@ var BetterAuthError = class extends Error {
1060
1060
  }
1061
1061
  };
1062
1062
 
1063
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/utils/url.mjs
1063
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/utils/url.mjs
1064
1064
  var SLASH_CHAR_CODE = 47;
1065
1065
  function trimTrailingSlashes(value) {
1066
1066
  let end = value.length;
@@ -1167,7 +1167,7 @@ function isSafeUrlScheme(value) {
1167
1167
  return !DANGEROUS_URL_SCHEMES.includes(parsed.protocol);
1168
1168
  }
1169
1169
 
1170
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/fetch-plugins.mjs
1170
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/fetch-plugins.mjs
1171
1171
  var redirectPlugin = {
1172
1172
  id: "redirect",
1173
1173
  name: "Redirect",
@@ -1183,7 +1183,7 @@ var redirectPlugin = {
1183
1183
  } }
1184
1184
  };
1185
1185
 
1186
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/session-atom.mjs
1186
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/session-atom.mjs
1187
1187
  var isServer2 = () => typeof window === "undefined";
1188
1188
  function normalizeSessionResponse(res) {
1189
1189
  if (typeof res === "object" && res !== null && "data" in res && "error" in res)
@@ -2024,7 +2024,7 @@ var betterFetch = async (url, options) => {
2024
2024
  };
2025
2025
  };
2026
2026
 
2027
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/config.mjs
2027
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/config.mjs
2028
2028
  var resolvePublicAuthUrl = (basePath) => {
2029
2029
  if (typeof process === "undefined")
2030
2030
  return;
@@ -2134,7 +2134,7 @@ var getClientConfig = (options, loadEnv) => {
2134
2134
  };
2135
2135
  };
2136
2136
 
2137
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/utils/is-atom.mjs
2137
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/utils/is-atom.mjs
2138
2138
  function isAtom(value) {
2139
2139
  return typeof value === "object" && value !== null && "get" in value && typeof value.get === "function" && "lc" in value && typeof value.lc === "number";
2140
2140
  }
@@ -2152,7 +2152,7 @@ function toKebabCase(input) {
2152
2152
  return splitWords(input).map((word) => word.toLowerCase()).join("-");
2153
2153
  }
2154
2154
 
2155
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/proxy.mjs
2155
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/proxy.mjs
2156
2156
  function getMethod2(path, knownPathMethods, args) {
2157
2157
  const method = knownPathMethods[path];
2158
2158
  const { fetchOptions, query: _query, ...body } = args || {};
@@ -2234,7 +2234,7 @@ function createDynamicPathProxy(routes, client, knownPathMethods, atoms, atomLis
2234
2234
  return createProxy();
2235
2235
  }
2236
2236
 
2237
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/client/vanilla.mjs
2237
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/client/vanilla.mjs
2238
2238
  function createAuthClient(options) {
2239
2239
  const { pluginPathMethods, pluginsActions, pluginsAtoms, $fetch, atomListeners, $store } = getClientConfig(options);
2240
2240
  const resolvedHooks = {};
@@ -2248,7 +2248,7 @@ function createAuthClient(options) {
2248
2248
  }, $fetch, pluginPathMethods, pluginsAtoms, atomListeners);
2249
2249
  }
2250
2250
 
2251
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/additional-fields/client.mjs
2251
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/additional-fields/client.mjs
2252
2252
  var inferAdditionalFields = (schema) => {
2253
2253
  return {
2254
2254
  id: "additional-fields-client",
@@ -2256,7 +2256,7 @@ var inferAdditionalFields = (schema) => {
2256
2256
  $InferServerPlugin: {}
2257
2257
  };
2258
2258
  };
2259
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/access/access.mjs
2259
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/access/access.mjs
2260
2260
  function unknownResourceResponse(requestedResource) {
2261
2261
  return {
2262
2262
  success: false,
@@ -2342,7 +2342,7 @@ function createAccessControl(s) {
2342
2342
  };
2343
2343
  }
2344
2344
 
2345
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/admin/access/statement.mjs
2345
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/admin/access/statement.mjs
2346
2346
  var defaultStatements = {
2347
2347
  user: [
2348
2348
  "create",
@@ -2392,7 +2392,7 @@ var defaultRoles = {
2392
2392
  user: userAc
2393
2393
  };
2394
2394
 
2395
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/admin/error-codes.mjs
2395
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/admin/error-codes.mjs
2396
2396
  var ADMIN_ERROR_CODES = defineErrorCodes({
2397
2397
  FAILED_TO_CREATE_USER: "Failed to create user",
2398
2398
  USER_ALREADY_EXISTS: "User already exists.",
@@ -2419,7 +2419,7 @@ var ADMIN_ERROR_CODES = defineErrorCodes({
2419
2419
  PASSWORD_CANNOT_BE_UPDATED_VIA_UPDATE_USER: "Password cannot be updated through update-user. Use the set-user-password endpoint instead"
2420
2420
  });
2421
2421
 
2422
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/admin/has-permission.mjs
2422
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/admin/has-permission.mjs
2423
2423
  var hasPermission = (input) => {
2424
2424
  if (input.userId && input.options?.adminUserIds?.includes(input.userId))
2425
2425
  return true;
@@ -2433,7 +2433,7 @@ var hasPermission = (input) => {
2433
2433
  return false;
2434
2434
  };
2435
2435
 
2436
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/admin/client.mjs
2436
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/admin/client.mjs
2437
2437
  var adminClient = (options) => {
2438
2438
  const roles = {
2439
2439
  admin: adminAc,
@@ -2466,14 +2466,14 @@ var adminClient = (options) => {
2466
2466
  $ERROR_CODES: ADMIN_ERROR_CODES
2467
2467
  };
2468
2468
  };
2469
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/email-otp/error-codes.mjs
2469
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/email-otp/error-codes.mjs
2470
2470
  var EMAIL_OTP_ERROR_CODES = defineErrorCodes({
2471
2471
  OTP_EXPIRED: "OTP expired",
2472
2472
  INVALID_OTP: "Invalid OTP",
2473
2473
  TOO_MANY_ATTEMPTS: "Too many attempts"
2474
2474
  });
2475
2475
 
2476
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/email-otp/client.mjs
2476
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/email-otp/client.mjs
2477
2477
  var emailOTPClient = () => {
2478
2478
  return {
2479
2479
  id: "email-otp",
@@ -2486,7 +2486,7 @@ var emailOTPClient = () => {
2486
2486
  $ERROR_CODES: EMAIL_OTP_ERROR_CODES
2487
2487
  };
2488
2488
  };
2489
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/jwt/client.mjs
2489
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/jwt/client.mjs
2490
2490
  var jwtClient = (options) => {
2491
2491
  const jwksPath = options?.jwks?.jwksPath ?? "/jwks";
2492
2492
  return {
@@ -2502,7 +2502,7 @@ var jwtClient = (options) => {
2502
2502
  } })
2503
2503
  };
2504
2504
  };
2505
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/organization/access/statement.mjs
2505
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/organization/access/statement.mjs
2506
2506
  var defaultStatements2 = {
2507
2507
  organization: ["update", "delete"],
2508
2508
  member: [
@@ -2577,7 +2577,7 @@ var defaultRoles2 = {
2577
2577
  member: memberAc
2578
2578
  };
2579
2579
 
2580
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/organization/error-codes.mjs
2580
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/organization/error-codes.mjs
2581
2581
  var ORGANIZATION_ERROR_CODES = defineErrorCodes({
2582
2582
  YOU_ARE_NOT_ALLOWED_TO_CREATE_A_NEW_ORGANIZATION: "You are not allowed to create a new organization",
2583
2583
  YOU_HAVE_REACHED_THE_MAXIMUM_NUMBER_OF_ORGANIZATIONS: "You have reached the maximum number of organizations",
@@ -2640,7 +2640,7 @@ var ORGANIZATION_ERROR_CODES = defineErrorCodes({
2640
2640
  INVALID_TEAM_ID: "Team id contains a reserved character"
2641
2641
  });
2642
2642
 
2643
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/organization/permission.mjs
2643
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/organization/permission.mjs
2644
2644
  var hasPermissionFn = (input, acRoles) => {
2645
2645
  if (!input.permissions)
2646
2646
  return false;
@@ -2656,7 +2656,7 @@ var hasPermissionFn = (input, acRoles) => {
2656
2656
  return false;
2657
2657
  };
2658
2658
 
2659
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/organization/client.mjs
2659
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/organization/client.mjs
2660
2660
  var clientSideHasPermission = (input) => {
2661
2661
  return hasPermissionFn(input, input.options.roles || defaultRoles2);
2662
2662
  };
@@ -2752,7 +2752,7 @@ var organizationClient = (options) => {
2752
2752
  var inferOrgAdditionalFields = (schema) => {
2753
2753
  return {};
2754
2754
  };
2755
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/two-factor/error-code.mjs
2755
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/two-factor/error-code.mjs
2756
2756
  var TWO_FACTOR_ERROR_CODES = defineErrorCodes({
2757
2757
  OTP_NOT_ENABLED: "OTP not enabled",
2758
2758
  OTP_HAS_EXPIRED: "OTP has expired",
@@ -2766,7 +2766,7 @@ var TWO_FACTOR_ERROR_CODES = defineErrorCodes({
2766
2766
  INVALID_TWO_FACTOR_COOKIE: "Invalid two factor cookie"
2767
2767
  });
2768
2768
 
2769
- // ../../node_modules/.bun/better-auth@1.6.26+a421f0d24af5af20/node_modules/better-auth/dist/plugins/two-factor/client.mjs
2769
+ // ../../node_modules/.bun/better-auth@1.6.26+f53c92831b49a95c/node_modules/better-auth/dist/plugins/two-factor/client.mjs
2770
2770
  var twoFactorClient = (options) => {
2771
2771
  return {
2772
2772
  id: "two-factor",
@@ -16338,7 +16338,7 @@ config(en_default());
16338
16338
  // ../../node_modules/.bun/zod@4.3.6/node_modules/zod/index.js
16339
16339
  var zod_default = exports_external;
16340
16340
 
16341
- // ../../node_modules/.bun/@meistrari+auth-core@1.41.2+89083812d91ee25b/node_modules/@meistrari/auth-core/dist/index.mjs
16341
+ // ../../node_modules/.bun/@meistrari+auth-core@1.41.2+421037326a065dae/node_modules/@meistrari/auth-core/dist/index.mjs
16342
16342
  var version3 = "1.41.2";
16343
16343
  function parsedEnumValues(schema) {
16344
16344
  return Object.fromEntries(Object.entries(schema.enum).map(([key, value]) => [
@@ -18651,7 +18651,7 @@ Object.defineProperty(Emittery, "listenerRemoved", {
18651
18651
  configurable: false
18652
18652
  });
18653
18653
 
18654
- // ../../node_modules/.bun/@meistrari+auth-cli@1.6.1+aff0271b2b55d60c/node_modules/@meistrari/auth-cli/dist/index.mjs
18654
+ // ../../node_modules/.bun/@meistrari+auth-cli@1.6.1+b17459b52849d8f2/node_modules/@meistrari/auth-cli/dist/index.mjs
18655
18655
  import { readFile, mkdir, writeFile, unlink } from "fs/promises";
18656
18656
  import { dirname } from "path";
18657
18657
 
@@ -32319,6 +32319,7 @@ var agentPromptSchema = zod_default2.object({
32319
32319
 
32320
32320
  // ../../packages/agents-protocol/src/agent-model.ts
32321
32321
  var codexModelIds = [
32322
+ "gpt-6.1-sol",
32322
32323
  "gpt-6-astra",
32323
32324
  "gpt-6-sol",
32324
32325
  "gpt-6-luna",
@@ -32331,6 +32332,7 @@ var codexModelIds = [
32331
32332
  "gpt-5.2"
32332
32333
  ];
32333
32334
  var claudeModelIds = [
32335
+ "claude-sonnet-5-5",
32334
32336
  "claude-opus-5-5",
32335
32337
  "claude-sonnet-5",
32336
32338
  "claude-fable-5-1",
@@ -32631,9 +32633,16 @@ var codexModelPresentation = {
32631
32633
  maxInputTokens: CODEX_CONTEXT_WINDOW,
32632
32634
  isMultiModal: true
32633
32635
  },
32636
+ "gpt-6.1-sol": {
32637
+ label: "GPT 6.1 Sol",
32638
+ description: "Latest workhorse model for coding and everyday work.",
32639
+ relativeCost: 4,
32640
+ maxInputTokens: CODEX_CONTEXT_WINDOW,
32641
+ isMultiModal: true
32642
+ },
32634
32643
  "gpt-6-sol": {
32635
32644
  label: "GPT 6.0 Sol",
32636
- description: "Workhorse model for coding and everyday work.",
32645
+ description: "Previous generation workhorse model.",
32637
32646
  relativeCost: 4,
32638
32647
  maxInputTokens: CODEX_CONTEXT_WINDOW,
32639
32648
  isMultiModal: true
@@ -32684,12 +32693,12 @@ var claudeModelPresentation = {
32684
32693
  maxOutputTokens: 128000,
32685
32694
  isMultiModal: true
32686
32695
  },
32687
- "claude-sonnet-5": {
32688
- label: "Sonnet 5",
32696
+ "claude-sonnet-5-5": {
32697
+ label: "Sonnet 5.5",
32689
32698
  description: "Efficient for routine coding tasks.",
32690
32699
  relativeCost: 2,
32691
32700
  maxInputTokens: CLAUDE_CONTEXT_WINDOW,
32692
- maxOutputTokens: 64000,
32701
+ maxOutputTokens: 128000,
32693
32702
  isMultiModal: true
32694
32703
  },
32695
32704
  "claude-fable-5-1": {
@@ -32713,6 +32722,7 @@ var selectableAgentReasoningEfforts = ["low", "medium", "high", "xhigh"];
32713
32722
  // ../../packages/agents-protocol/src/agent-catalog.ts
32714
32723
  var selectableCodexModelIds = [
32715
32724
  "gpt-6-astra",
32725
+ "gpt-6.1-sol",
32716
32726
  "gpt-6-sol",
32717
32727
  "gpt-6-luna",
32718
32728
  "gpt-5.6-sol",
@@ -32722,7 +32732,7 @@ var selectableCodexModelIds = [
32722
32732
  ];
32723
32733
  var selectableClaudeModelIds = [
32724
32734
  "claude-opus-5-5",
32725
- "claude-sonnet-5",
32735
+ "claude-sonnet-5-5",
32726
32736
  "claude-fable-5-1"
32727
32737
  ];
32728
32738
  var agentHarnesses = {
@@ -33110,6 +33120,10 @@ var promptTurnCorrelatedAgentEventSchema = agentSessionEventBaseSchema.extend({
33110
33120
  type: zod_default2.literal("prompt.turn-correlated"),
33111
33121
  payload: zod_default2.object({ commandId: zod_default2.string().min(1), turnId: zod_default2.string().min(1) })
33112
33122
  });
33123
+ var turnProviderInitiatedAgentEventSchema = agentSessionEventBaseSchema.extend({
33124
+ type: zod_default2.literal("turn.provider-initiated"),
33125
+ payload: zod_default2.object({ turnId: zod_default2.string().min(1) })
33126
+ });
33113
33127
  var turnEndedAgentEventSchema = agentTurnEventBaseSchema.extend({
33114
33128
  type: zod_default2.literal("turn.ended"),
33115
33129
  payload: objectRejectingKeys({
@@ -33338,6 +33352,7 @@ var agentEventSchema = zod_default2.discriminatedUnion("type", [
33338
33352
  sessionEndedAgentEventSchema,
33339
33353
  turnStartedAgentEventSchema,
33340
33354
  promptTurnCorrelatedAgentEventSchema,
33355
+ turnProviderInitiatedAgentEventSchema,
33341
33356
  turnEndedAgentEventSchema,
33342
33357
  workObservedAgentEventSchema,
33343
33358
  messageStartedAgentEventSchema,
@@ -34577,7 +34592,7 @@ function formatSessionJson({
34577
34592
  `;
34578
34593
  }
34579
34594
  // src/version.ts
34580
- var remyCliVersion = "1.24.0";
34595
+ var remyCliVersion = "1.25.0-rc.0";
34581
34596
 
34582
34597
  // src/self-update.ts
34583
34598
  import { spawn } from "child_process";
@@ -34773,6 +34788,8 @@ import { mkdir as mkdir4, readFile as readFile4, rename as rename3, writeFile as
34773
34788
  import { dirname as dirname4, join as join4 } from "path";
34774
34789
 
34775
34790
  // ../../packages/supervisor-protocol/src/agent-event-wrapper.ts
34791
+ var internalAgentEventTypes = ["prompt.turn-correlated", "turn.provider-initiated"];
34792
+ var internalAgentEventTypeSet = new Set(internalAgentEventTypes);
34776
34793
  var wrappedSessionStartedAgentEventSchema = sessionStartedAgentEventSchema.extend({
34777
34794
  type: zod_default2.literal("agent.session.started")
34778
34795
  });
@@ -34895,7 +34912,7 @@ var wrappedAgentEventSchema = zod_default2.discriminatedUnion("type", [
34895
34912
  wrappedUserInputResolvedAgentEventSchema,
34896
34913
  wrappedErrorAgentEventSchema
34897
34914
  ]);
34898
- var wrappedAgentEventTypes = agentEventTypes.filter((type) => type !== "prompt.turn-correlated").map(wrapAgentEventType);
34915
+ var wrappedAgentEventTypes = agentEventTypes.filter((type) => !internalAgentEventTypeSet.has(type)).map(wrapAgentEventType);
34899
34916
  function wrapAgentEventType(type) {
34900
34917
  return `agent.${type}`;
34901
34918
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meistrari/remy-cli",
3
- "version": "1.24.0",
3
+ "version": "1.25.0-rc.0",
4
4
  "description": "Remy, the Coding Agent terminal client.",
5
5
  "type": "module",
6
6
  "bin": {