orbit-code-ai 0.1.7 → 0.1.9

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 +73 -27
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -83712,7 +83712,7 @@ function printStartupScreen() {
83712
83712
  const sLen = ` ● ${sL} Ready — type /help to begin`.length;
83713
83713
  out.push(boxRow(sRow, W2, sLen));
83714
83714
  out.push(`${rgb(...BORDER)}╚${"═".repeat(W2 - 2)}╝${RESET}`);
83715
- out.push(` ${DIM}${rgb(...DIMCOL)}orbit-ai ${RESET}${rgb(...ACCENT)}v${"0.1.7"}${RESET}`);
83715
+ out.push(` ${DIM}${rgb(...DIMCOL)}orbit-ai ${RESET}${rgb(...ACCENT)}v${"0.1.9"}${RESET}`);
83716
83716
  out.push("");
83717
83717
  process.stdout.write(out.join(`
83718
83718
  `) + `
@@ -334183,7 +334183,7 @@ function getAnthropicEnvMetadata() {
334183
334183
  function getBuildAgeMinutes() {
334184
334184
  if (false)
334185
334185
  ;
334186
- const buildTime = new Date("2026-06-23T11:59:11.696Z").getTime();
334186
+ const buildTime = new Date("2026-06-23T12:42:04.700Z").getTime();
334187
334187
  if (isNaN(buildTime))
334188
334188
  return;
334189
334189
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -358600,7 +358600,7 @@ function buildPrimarySection() {
358600
358600
  }, undefined, false, undefined, this);
358601
358601
  return [{
358602
358602
  label: "Version",
358603
- value: "0.1.7"
358603
+ value: "0.1.9"
358604
358604
  }, {
358605
358605
  label: "Session name",
358606
358606
  value: nameValue
@@ -470842,7 +470842,7 @@ function WelcomeV2() {
470842
470842
  dimColor: true,
470843
470843
  children: [
470844
470844
  "v",
470845
- "0.1.7",
470845
+ "0.1.9",
470846
470846
  " "
470847
470847
  ]
470848
470848
  }, undefined, true, undefined, this)
@@ -471042,7 +471042,7 @@ function WelcomeV2() {
471042
471042
  dimColor: true,
471043
471043
  children: [
471044
471044
  "v",
471045
- "0.1.7",
471045
+ "0.1.9",
471046
471046
  " "
471047
471047
  ]
471048
471048
  }, undefined, true, undefined, this)
@@ -471268,7 +471268,7 @@ function AppleTerminalWelcomeV2(t0) {
471268
471268
  dimColor: true,
471269
471269
  children: [
471270
471270
  "v",
471271
- "0.1.7",
471271
+ "0.1.9",
471272
471272
  " "
471273
471273
  ]
471274
471274
  }, undefined, true, undefined, this);
@@ -471522,7 +471522,7 @@ function AppleTerminalWelcomeV2(t0) {
471522
471522
  dimColor: true,
471523
471523
  children: [
471524
471524
  "v",
471525
- "0.1.7",
471525
+ "0.1.9",
471526
471526
  " "
471527
471527
  ]
471528
471528
  }, undefined, true, undefined, this);
@@ -474946,7 +474946,7 @@ ${args || "Review the entire ACE project in the current working directory only.
474946
474946
  name: "ace-explain",
474947
474947
  description: "Explain an IBM ACE flow, ESQL module, OR an entire application/service in plain language — what it does, how it works, and its role in the integration. Reads ALL artifacts (msgflows, ESQL, XSD, Swagger) before explaining, never just the Swagger.",
474948
474948
  aliases: ["ace-doc"],
474949
- model: "gemini-3.5-flash",
474949
+ model: "gemini-3.1-flash-lite",
474950
474950
  whenToUse: 'When the user wants to understand, summarize, document, or walk through what an ACE flow, ESQL module, application, service, or project does — including requests like "what does this app do" or "explain this service"',
474951
474951
  argumentHint: "<file, app folder, or service to explain>",
474952
474952
  allowedTools: ["Read", "Glob", "Grep", "Bash"],
@@ -474961,21 +474961,26 @@ ${readInstructions([
474961
474961
  You must explain the target APPLICATION to a developer unfamiliar with it. The target may be a
474962
474962
  single file OR a single application/service folder.
474963
474963
 
474964
- ## Scoperead ONLY this application's own files
474965
-
474966
- 1. **Enumerate files in the TARGET ONLY.** List just the target app folder
474967
- (e.g. \`Glob\` \`<target>/**/*\`, or \`ls -R <target>\`). **Never \`ls -R\` the whole workspace**
474968
- and never traverse into sibling projects.
474969
- 2. **Read EVERY artifact that belongs to THIS app** — its \`.msgflow\`, \`.esql\`, \`.subflow\`,
474970
- \`.xsd\`, \`.json\`/Swagger, \`.descriptor\`, and \`.properties\` files. Read them in full.
474971
- 3. **Do NOT read shared libraries or other projects — they are OUT OF SCOPE.** Anything under a
474972
- \`Framework/\`, \`Utils/\`, \`Qiwa/Framework/Lib\`, \`lib/\`, or any sibling application folder is
474973
- shared infrastructure, NOT part of this app. Do not open those files. When this app references a
474974
- framework subflow (e.g. \`HTTPRequestAdapter\`, \`InternalServiceCaller\`, \`ErrorHandler\`,
474975
- \`PropertyReader\`), name it and describe its role from how THIS app wires/uses it plus the
474976
- common-utils reference above do not go read the library's source. (This keeps the read small
474977
- and cheap; the framework is the same across every app.)
474978
- 4. Only AFTER reading this app's files, write the explanation.
474964
+ ## Methodgather this app's source in ONE shot (do not read files one at a time)
474965
+
474966
+ 1. **Read ALL of this app's source with a SINGLE \`Bash\` command**, scoped to the target folder.
474967
+ Do NOT call the \`Read\` tool once per file reading one file at a time re-processes the whole
474968
+ context on every step and is the main cost driver. Run one command that prints every relevant
474969
+ file with a header, e.g.:
474970
+
474971
+ \`\`\`bash
474972
+ find "<target>" -type f \\( -name '*.msgflow' -o -name '*.subflow' -o -name '*.esql' -o -name '*.xsd' -o -name '*.json' -o -name '*.properties' -o -name '*.xml' -o -name '*.descriptor' \\) -print -exec echo '----- ^ file above -----' \\; -exec cat {} \\;
474973
+ \`\`\`
474974
+
474975
+ Scope it to the **target app folder ONLY** never the whole workspace, never sibling projects.
474976
+ 2. **Do NOT read shared libraries or other projects OUT OF SCOPE.** Anything under \`Framework/\`,
474977
+ \`Utils/\`, \`Qiwa/Framework/Lib\`, \`lib/\`, or a sibling application folder is shared
474978
+ infrastructure, NOT part of this app. The command above stays inside the target folder, so it
474979
+ won't pull them in. When this app references a framework subflow (\`HTTPRequestAdapter\`,
474980
+ \`InternalServiceCaller\`, \`ErrorHandler\`, \`PropertyReader\`, …), name it and describe its role
474981
+ from how THIS app uses it plus the common-utils reference above — do not open the library source.
474982
+ 3. Only AFTER you have the app's source from that one command, write the explanation. If a file was
474983
+ truncated, read just that one file; otherwise do not issue per-file reads.
474979
474984
 
474980
474985
  ⚠️ **The Swagger/JSON is NOT enough.** It only describes the request/response *contract* —
474981
474986
  it tells you nothing about what the service actually does. The real behavior lives in this app's
@@ -474983,10 +474988,51 @@ it tells you nothing about what the service actually does. The real behavior liv
474983
474988
  transformation and business logic). An explanation derived only from the \`.json\` is incomplete
474984
474989
  and wrong. If you have not read this app's msgflows and ESQL, you have not done the task.
474985
474990
 
474991
+ ## ALWAYS draw the flow diagram
474992
+
474993
+ Whenever the target has message flows, you MUST include an ASCII flow diagram as part of the
474994
+ End-to-End Walkthrough — every time, not only when it seems useful. Build it from the actual nodes
474995
+ and connections in the \`.msgflow\`/\`.subflow\` files: one box per node/subflow, arrows for the
474996
+ wiring, branch/terminal names as labels (e.g. \`(Success)\`, \`(Timeout)\`, \`(Skip Eligible)\`), and
474997
+ show where branches merge. Follow this style exactly:
474998
+
474999
+ \`\`\`
475000
+ [HTTP Request]
475001
+
475002
+
475003
+ ┌──────────────────────┐
475004
+ │ HTTPRequestAdapter │
475005
+ └──────────┬───────────┘
475006
+
475007
+ ┌────────────┐ (Timeout)
475008
+ │ Call_DB │ ───────────────────┐
475009
+ └─────┬──────┘ ▼
475010
+ │ (Success) ┌──────────────┐
475011
+ ▼ │ TimeOut │
475012
+ ┌────────────┐ └──────┬───────┘
475013
+ │ Add_Release│ │
475014
+ └─────┬──────┘ │
475015
+ ▼ │
475016
+ ┌────────────┐ ◄──────────────────┘
475017
+ │ SetHeaders │
475018
+ └─────┬──────┘
475019
+
475020
+ ┌────────────┐
475021
+ │ Flow Order │
475022
+ └──┬──────┬──┘
475023
+ ▼ ▼
475024
+ ┌───────────┐ ┌──────────┐
475025
+ │ HTTPResp │ │ Get_User │
475026
+ └───────────┘ └──────────┘
475027
+ \`\`\`
475028
+
475029
+ Use the real node names from this app. If there are two entry flows (e.g. external + internal),
475030
+ show both entry points converging into the shared logic, as in the example above.
475031
+
474986
475032
  ## What to Cover
474987
475033
 
474988
475034
  1. **Purpose:** What does this app/flow/module do, in one sentence?
474989
- 2. **End-to-end walkthrough:** Trace the message path from input to output across the flows
475035
+ 2. **End-to-end walkthrough:** The ASCII flow diagram above, followed by a numbered path trace
474990
475036
  every node, subflow, and connection (read from the .msgflow files, not inferred).
474991
475037
  3. **Message domains:** What parser domains are used (XMLNSC, JSON, SOAP, etc.)?
474992
475038
  4. **Key transformations:** What the ESQL does to the message tree; which fields are mapped.
@@ -492100,7 +492146,7 @@ Usage: orbitcode --remote "your task description"`, () => gracefulShutdown(1));
492100
492146
  pendingHookMessages
492101
492147
  }, renderAndRun);
492102
492148
  }
492103
- }).version("0.1.7 (Orbit AI)", "-v, --version", "Output the version number");
492149
+ }).version("0.1.9 (Orbit AI)", "-v, --version", "Output the version number");
492104
492150
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
492105
492151
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
492106
492152
  if (canUserConfigureAdvisor()) {
@@ -492622,7 +492668,7 @@ if (false) {}
492622
492668
  async function main2() {
492623
492669
  const args = process.argv.slice(2);
492624
492670
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
492625
- console.log(`${"0.1.7"} (Orbit AI)`);
492671
+ console.log(`${"0.1.9"} (Orbit AI)`);
492626
492672
  return;
492627
492673
  }
492628
492674
  if (args.includes("--provider")) {
@@ -492726,4 +492772,4 @@ async function main2() {
492726
492772
  }
492727
492773
  main2();
492728
492774
 
492729
- //# debugId=AC86378101EC318F64756E2164756E21
492775
+ //# debugId=47728CD22365AF0264756E2164756E21
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orbit-code-ai",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Orbit AI – Your AI-powered IBM ACE coding companion",
5
5
  "type": "module",
6
6
  "author": "moenawaf",