orbit-code-ai 0.1.27 → 0.1.29

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 (2) hide show
  1. package/dist/cli.mjs +57 -21
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -55597,7 +55597,7 @@ var init_configs = __esm(() => {
55597
55597
  vertex: "claude-3-5-haiku@20241022",
55598
55598
  foundry: "claude-3-5-haiku",
55599
55599
  openai: "gpt-4o-mini",
55600
- gemini: "gemini-3.1-pro-preview-lite",
55600
+ gemini: "gemini-3.1-flash-lite",
55601
55601
  github: "github:copilot",
55602
55602
  codex: "gpt-5.4"
55603
55603
  };
@@ -55607,7 +55607,7 @@ var init_configs = __esm(() => {
55607
55607
  vertex: "claude-haiku-4-5@20251001",
55608
55608
  foundry: "claude-haiku-4-5",
55609
55609
  openai: "gpt-4o-mini",
55610
- gemini: "gemini-3.1-pro-preview-lite",
55610
+ gemini: "gemini-3.1-flash-lite",
55611
55611
  github: "github:copilot",
55612
55612
  codex: "gpt-5.4"
55613
55613
  };
@@ -83759,7 +83759,7 @@ async function printStartupScreen() {
83759
83759
  const sLen = ` ● ${sL} Ready — type /help to begin`.length;
83760
83760
  out.push(boxRow(sRow, W2, sLen));
83761
83761
  out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
83762
- out.push(` ${DIM}${rgb(...DIMCOL)}orbit-code ${RESET}${rgb(...ACCENT)}v${"0.1.27"}${RESET}`);
83762
+ out.push(` ${DIM}${rgb(...DIMCOL)}orbit-code ${RESET}${rgb(...ACCENT)}v${"0.1.29"}${RESET}`);
83763
83763
  out.push("");
83764
83764
  process.stdout.write(out.join(`
83765
83765
  `) + `
@@ -319889,10 +319889,35 @@ function getCodexModelOptions() {
319889
319889
  function getCopilotModelOptions() {
319890
319890
  return [];
319891
319891
  }
319892
+ function getGeminiModelOptions() {
319893
+ return [
319894
+ {
319895
+ value: "gemini-3.1-pro-preview",
319896
+ label: "Gemini 3.1 Pro",
319897
+ description: "Gemini 3.1 Pro · Most capable — for complex ESQL/flow work",
319898
+ descriptionForModel: "Gemini 3.1 Pro - most capable, for complex generative work"
319899
+ },
319900
+ {
319901
+ value: "gemini-3.5-flash",
319902
+ label: "Gemini 3.5 Flash",
319903
+ description: "Gemini 3.5 Flash · Balanced for everyday tasks",
319904
+ descriptionForModel: "Gemini 3.5 Flash - balanced, for everyday tasks"
319905
+ },
319906
+ {
319907
+ value: "gemini-3.1-flash-lite",
319908
+ label: "Gemini 3.1 Flash-Lite",
319909
+ description: "Gemini 3.1 Flash-Lite · Fastest & lowest cost (default)",
319910
+ descriptionForModel: "Gemini 3.1 Flash-Lite - fastest and cheapest, for reading/planning"
319911
+ }
319912
+ ];
319913
+ }
319892
319914
  function getModelOptionsBase(fastMode = false) {
319893
319915
  if (getAPIProvider() === "github") {
319894
319916
  return [getDefaultOptionForUser(fastMode), ...getCopilotModelOptions()];
319895
319917
  }
319918
+ if (getAPIProvider() === "gemini") {
319919
+ return [getDefaultOptionForUser(fastMode), ...getGeminiModelOptions()];
319920
+ }
319896
319921
  if (process.env.USER_TYPE === "ant") {
319897
319922
  const antModelOptions = getAntModels().map((m) => ({
319898
319923
  value: m.alias,
@@ -334241,7 +334266,7 @@ function getAnthropicEnvMetadata() {
334241
334266
  function getBuildAgeMinutes() {
334242
334267
  if (false)
334243
334268
  ;
334244
- const buildTime = new Date("2026-06-28T13:07:48.618Z").getTime();
334269
+ const buildTime = new Date("2026-06-29T09:47:21.655Z").getTime();
334245
334270
  if (isNaN(buildTime))
334246
334271
  return;
334247
334272
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -358658,7 +358683,7 @@ function buildPrimarySection() {
358658
358683
  }, undefined, false, undefined, this);
358659
358684
  return [{
358660
358685
  label: "Version",
358661
- value: "0.1.27"
358686
+ value: "0.1.29"
358662
358687
  }, {
358663
358688
  label: "Session name",
358664
358689
  value: nameValue
@@ -410461,6 +410486,7 @@ Work like a precise engineer, not a crawler. Reading unneeded files wastes time
410461
410486
  - **Read only what the search points to**, plus the one or two files it directly references (e.g. a .msgflow's computeExpression → that .esql). Open a file ONLY when you have a concrete reason to.
410462
410487
  - **Never crawl.** Do not bulk-read directories, do not "read all the files first," and never read the shared framework/libraries to understand an application — anything under \`Framework/\`, \`Utils/\`, \`Qiwa/Framework/Lib\`, or \`lib/\` is shared infrastructure. Use the \`_agent_reference\` docs above for framework behavior instead of opening its source.
410463
410488
  - **Narrow, don't widen.** If a search returns many matches, refine the query — don't read them all.
410489
+ - **Whole-app analysis is the exception.** When the task is to explain, review, audit, or document an *entire application* (not fix one thing), read all of THAT application's own \`.esql\`, \`.msgflow\`, and \`.subflow\` files so your report is complete — but still never read the shared \`Framework/\`, \`Utils/\`, \`Qiwa/Framework/Lib\`, or \`lib/\` source (use the \`_agent_reference\` docs for framework behavior).
410464
410490
 
410465
410491
  ## General Behavior
410466
410492
  - Always read a file before modifying it (the specific file you will edit — not the whole project)
@@ -410468,6 +410494,20 @@ Work like a precise engineer, not a crawler. Reading unneeded files wastes time
410468
410494
  - When generating a full application, generate every required file — do not stop halfway
410469
410495
  - Prioritize correctness and security. Never introduce SQL injection, command injection, or other vulnerabilities
410470
410496
 
410497
+ ## Depth of Analysis & Reporting (Covered by default, Deep on request)
410498
+ For explanation, analysis, review, audit, "what does this do", or documentation requests, default to a **Covered** analysis — a balanced, high-level report the reader can act on, not an exhaustive one:
410499
+ - **What it does** — purpose and the end-to-end message-flow path (entry node → compute/filter nodes → terminals → reply/output).
410500
+ - **Data processed** — the input/output shape and key fields.
410501
+ - **Per-node logic** — one tight paragraph per \`.esql\` module: its job, the main validation/transformation/routing.
410502
+ - **Top risks** — only the few that matter most, each with its impact in a line.
410503
+ Keep it well-structured (clear headings) but concise. Still read what you need to be accurate — for a whole-app request, read all of that app's own \`.esql\`/\`.msgflow\` (never the shared framework) — but report at a high level. This is the cheap, fast default.
410504
+
410505
+ Then end with ONE short offer to go deeper, e.g.: "That's a high-level pass — want me to go deeper on any part (full per-node logic, severity-ranked risk analysis, edge cases)? A deep dive is more thorough and costs more."
410506
+
410507
+ If the user then asks to go deeper, produce the **Deep** analysis by BUILDING ON the Covered report and the files you have ALREADY read this session — do NOT re-read or start over. Expand the requested area (or all) with: per-node logic in detail, full input/output schemas, risks grouped by severity (**High / Medium / Low**) with concrete impact and a recommendation each, performance notes, and gaps. Cite real identifiers (\`file:line\`, module/terminal names). Deep analysis is best on the Pro model (\`gemini-3.1-pro-preview\`) — if the user wants maximum depth, suggest switching via \`/model\`.
410508
+
410509
+ Planning tasks are an exception — a plan must be actionable, so include the exact files/nodes to change, the precise ESQL/XML to add, edge cases, and a verification checklist even in the first pass. Reserve plain brevity (no report structure) for genuinely trivial one-line questions and small edits.
410510
+
410471
410511
  ## Filesystem Boundaries — STRICT
410472
410512
  - Read and write operations must stay within either: (1) the user's current working directory (cwd), or (2) the _agent_reference folder next to this executable (path shown above). No other locations.
410473
410513
  - Never access system directories such as C:/Program Files, C:/Windows, or ACE installation paths.
@@ -410662,21 +410702,17 @@ These user-facing text instructions do not apply to code or tool calls.`;
410662
410702
  }
410663
410703
  return `# Output efficiency
410664
410704
 
410665
- IMPORTANT: Go straight to the point. Try the simplest approach first without going in circles. Do not overdo it. Be extra concise.
410666
-
410667
- Keep your text output brief and direct. Lead with the answer or action, not the reasoning. Skip filler words, preamble, and unnecessary transitions. Do not restate what the user said — just do it. When explaining, include only what is necessary for the user to understand.
410705
+ Match the depth and structure of your response to the task — do NOT default to terse. The goal is the reader fully understanding your output without follow-up questions, not how few words you use.
410668
410706
 
410669
- Focus text output on:
410670
- - Decisions that need the user's input
410671
- - High-level status updates at natural milestones
410672
- - Errors or blockers that change the plan
410707
+ - For analysis, explanation, code review/audit, architecture walkthroughs, or documentation: give a clear, well-structured answer at a balanced, high-level depth by default (lead with headings so it's skimmable), then offer to go deeper. Go exhaustive — every file/node/data path, full severity-ranked risk analysis — only when the user asks for a deep dive; build that on what you already produced rather than restarting. (Planning is the exception: a plan should be actionable and specific from the first pass.)
410708
+ - For small edits, quick factual questions, or confirmations: be brief and direct. Lead with the answer or action; skip filler, preamble, and restating the request.
410673
410709
 
410674
- If you can say it in one sentence, don't use three. Prefer short, direct sentences over long explanations. This does not apply to code or tool calls.`;
410710
+ Never pad with fluff, filler, or superlatives, and don't narrate trivia about your own process but never omit substance just to be short. This does not apply to code or tool calls.`;
410675
410711
  }
410676
410712
  function getSimpleToneAndStyleSection() {
410677
410713
  const items = [
410678
410714
  `Only use emojis if the user explicitly requests it. Avoid using emojis in all communication unless asked.`,
410679
- process.env.USER_TYPE === "ant" ? null : `Your responses should be short and concise.`,
410715
+ process.env.USER_TYPE === "ant" ? null : `Match the length and depth of your response to the task: thorough and well-structured for analysis, explanation, review, and planning; brief and direct for small edits and quick questions. Do not default to terse when the user asks you to explain, analyze, review, or plan.`,
410680
410716
  `When referencing specific functions or pieces of code include the pattern file_path:line_number to allow the user to easily navigate to the source code location.`,
410681
410717
  `When referencing GitHub issues or pull requests, use the owner/repo#123 format (e.g. octo-org/example#123) so they render as clickable links.`,
410682
410718
  `Do not use a colon before tool calls. Your tool calls may not be shown directly in the output, so text like "Let me read the file:" followed by a read tool call should just be "Let me read the file." with a period.`
@@ -470738,7 +470774,7 @@ function WelcomeV2() {
470738
470774
  dimColor: true,
470739
470775
  children: [
470740
470776
  "v",
470741
- "0.1.27",
470777
+ "0.1.29",
470742
470778
  " "
470743
470779
  ]
470744
470780
  }, undefined, true, undefined, this)
@@ -470938,7 +470974,7 @@ function WelcomeV2() {
470938
470974
  dimColor: true,
470939
470975
  children: [
470940
470976
  "v",
470941
- "0.1.27",
470977
+ "0.1.29",
470942
470978
  " "
470943
470979
  ]
470944
470980
  }, undefined, true, undefined, this)
@@ -471164,7 +471200,7 @@ function AppleTerminalWelcomeV2(t0) {
471164
471200
  dimColor: true,
471165
471201
  children: [
471166
471202
  "v",
471167
- "0.1.27",
471203
+ "0.1.29",
471168
471204
  " "
471169
471205
  ]
471170
471206
  }, undefined, true, undefined, this);
@@ -471418,7 +471454,7 @@ function AppleTerminalWelcomeV2(t0) {
471418
471454
  dimColor: true,
471419
471455
  children: [
471420
471456
  "v",
471421
- "0.1.27",
471457
+ "0.1.29",
471422
471458
  " "
471423
471459
  ]
471424
471460
  }, undefined, true, undefined, this);
@@ -492055,7 +492091,7 @@ Usage: orbit --remote "your task description"`, () => gracefulShutdown(1));
492055
492091
  pendingHookMessages
492056
492092
  }, renderAndRun);
492057
492093
  }
492058
- }).version("0.1.27 (Orbit AI)", "-v, --version", "Output the version number");
492094
+ }).version("0.1.29 (Orbit AI)", "-v, --version", "Output the version number");
492059
492095
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
492060
492096
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
492061
492097
  if (canUserConfigureAdvisor()) {
@@ -492577,7 +492613,7 @@ if (false) {}
492577
492613
  async function main2() {
492578
492614
  const args = process.argv.slice(2);
492579
492615
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
492580
- console.log(`${"0.1.27"} (Orbit AI)`);
492616
+ console.log(`${"0.1.29"} (Orbit AI)`);
492581
492617
  return;
492582
492618
  }
492583
492619
  if (args.includes("--provider")) {
@@ -492681,4 +492717,4 @@ async function main2() {
492681
492717
  }
492682
492718
  main2();
492683
492719
 
492684
- //# debugId=F484A70727EF642364756E2164756E21
492720
+ //# debugId=51295B4C9C2CF04664756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orbit-code-ai",
3
- "version": "0.1.27",
3
+ "version": "0.1.29",
4
4
  "description": "Orbit AI – Your AI-powered IBM ACE coding companion",
5
5
  "type": "module",
6
6
  "author": "moenawaf",