@myagentroam/node 0.10.5 → 0.10.7

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.
@@ -83,6 +83,7 @@ export class WorkspaceChangeService {
83
83
  repositoryPath,
84
84
  repositoryName: repositoryPath === '' ? basename(repository) : posix.basename(repositoryPath),
85
85
  branch: summary.branch,
86
+ ...(summary.tracking === undefined ? {} : { tracking: summary.tracking }),
86
87
  dirty: summary.changes.length > 0,
87
88
  status: summary.changes.length > 0 ? 'DIRTY' : 'CLEAN',
88
89
  changes
@@ -186,6 +187,7 @@ export class WorkspaceChangeService {
186
187
  ...metadata,
187
188
  dirty: repository.dirty,
188
189
  branch: repository.branch,
190
+ ...(repository.tracking === undefined ? {} : { tracking: repository.tracking }),
189
191
  status: repository.dirty ? 'DIRTY' : 'CLEAN',
190
192
  changes: repository.changes
191
193
  };
package/dist/terminal.js CHANGED
@@ -317,8 +317,19 @@ export class TerminalManager {
317
317
  this.detachAll(terminal);
318
318
  const summary = this.notifySummary(terminal);
319
319
  try {
320
- if (terminal.pty !== undefined)
321
- await this.terminate(terminal.pty, this.platform);
320
+ if (terminal.pty !== undefined) {
321
+ if (this.platform === 'win32') {
322
+ // Killing only the shell bypasses node-pty's native console cleanup.
323
+ try {
324
+ terminal.pty.kill();
325
+ }
326
+ catch {
327
+ await this.terminate(terminal.pty, this.platform);
328
+ }
329
+ }
330
+ else
331
+ await this.terminate(terminal.pty, this.platform);
332
+ }
322
333
  if (terminal.pipe !== undefined)
323
334
  await this.terminate(terminal.pipe, this.platform);
324
335
  }
package/dist/workspace.js CHANGED
@@ -1222,6 +1222,16 @@ function currentBranchFromStatusHeader(header) {
1222
1222
  return unborn[1] ?? null;
1223
1223
  return value.split('...')[0]?.split(' ')[0] ?? null;
1224
1224
  }
1225
+ function trackingFromStatusHeader(header) {
1226
+ const match = /^## [^ ]+\.\.\.([^ ]+)(?: \[(ahead \d+)?(?:, )?(behind \d+)?\])?$/.exec(header);
1227
+ if (match?.[1] === undefined)
1228
+ return undefined;
1229
+ return {
1230
+ upstream: match[1],
1231
+ ahead: Number(match[2]?.slice(6) ?? 0),
1232
+ behind: Number(match[3]?.slice(7) ?? 0)
1233
+ };
1234
+ }
1225
1235
  export async function listGitWorktrees(workspacePath) {
1226
1236
  const options = {
1227
1237
  timeoutMs: GIT_STATUS_TIMEOUT_MS,
@@ -1297,7 +1307,14 @@ async function parseGitWorktreeList(workspacePath, result, nulDelimited) {
1297
1307
  return { entries, truncated };
1298
1308
  }
1299
1309
  export async function readCurrentChangesSummary(workspacePath, isolateSubmoduleFailures = false) {
1300
- const args = ['status', '--porcelain=v1', '-z', '--branch', '--untracked-files=all'];
1310
+ const args = [
1311
+ 'status',
1312
+ '--porcelain=v1',
1313
+ '-z',
1314
+ '--branch',
1315
+ '--ahead-behind',
1316
+ '--untracked-files=all'
1317
+ ];
1301
1318
  const options = { timeoutMs: GIT_STATUS_TIMEOUT_MS, outputLimit: GIT_LARGE_OUTPUT_LIMIT };
1302
1319
  const result = await runReadOnlyGit(workspacePath, args, options).catch((error) => {
1303
1320
  if (!isolateSubmoduleFailures || !(error instanceof GitCommandError))
@@ -1332,8 +1349,10 @@ export async function readCurrentChangesSummary(workspacePath, isolateSubmoduleF
1332
1349
  if (indexState === 'R' || indexState === 'C' || worktreeState === 'R' || worktreeState === 'C')
1333
1350
  index += 1;
1334
1351
  }
1352
+ const tracking = trackingFromStatusHeader(header);
1335
1353
  return {
1336
1354
  branch: header.startsWith('## ') ? currentBranchFromStatusHeader(header) : null,
1355
+ ...(tracking === undefined ? {} : { tracking }),
1337
1356
  changes: output
1338
1357
  };
1339
1358
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@myagentroam/node",
3
- "version": "0.10.5",
3
+ "version": "0.10.7",
4
4
  "description": "MyAgentRoam Node runtime CLI.",
5
5
  "license": "Apache-2.0 AND GPL-2.0-or-later",
6
6
  "type": "module",
@@ -37,10 +37,10 @@
37
37
  "playwright": "1.62.1",
38
38
  "ws": "^8.21.3",
39
39
  "zod": "4.4.3",
40
- "@myagentroam/agent": "0.10.5",
41
- "@myagentroam/protocol": "0.10.5",
40
+ "@myagentroam/agent": "0.10.7",
42
41
  "@myagentroam/code-navigation": "0.10.1",
43
- "@myagentroam/marctl": "0.10.1"
42
+ "@myagentroam/protocol": "0.10.7",
43
+ "@myagentroam/marctl": "0.10.2"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/ws": "^8.18.1"