mindvest-atlas 0.46.0 → 0.47.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mindvest-atlas",
3
- "version": "0.46.0",
3
+ "version": "0.47.0",
4
4
  "description": "Atlas CLI \u2014 OAuth login, tool calls, and live alert/flow streaming for the Atlas trading API",
5
5
  "type": "module",
6
6
  "bin": {
package/src/config.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import path from 'node:path';
3
3
  import os from 'node:os';
4
4
 
5
- export const VERSION = '0.46.0';
5
+ export const VERSION = '0.47.0';
6
6
  export const DEFAULT_BASE_URL = 'https://atlasmcp.finmanagerai.com';
7
7
  export const DEFAULT_SCOPE = 'atlas broker';
8
8
  export const CLIENT_NAME = 'Atlas CLI';
@@ -1434,8 +1434,23 @@ def do(*steps, **kw):
1434
1434
  try:
1435
1435
  fn(*args)
1436
1436
  except Exception as err:
1437
- raise RuntimeError("stopped at %s: %s (already did: %s)"
1438
- % (name, err, ", ".join(did) or "nothing"))
1437
+ # A LONG RUN HAS TO BE SAFE TO ATTEMPT, or caution is the right
1438
+ # answer and nobody will attempt one. So a sequence that stops
1439
+ # halfway hands back a PICTURE of where it stopped, not just the
1440
+ # name of the step: the whole reason to fear a six-step run is not
1441
+ # knowing what state it left behind, and this answers that in the
1442
+ # same breath as the failure.
1443
+ where = None
1444
+ try:
1445
+ shot = screen()
1446
+ where = shot if isinstance(shot, str) else shot.get("path")
1447
+ except Exception:
1448
+ pass
1449
+ raise RuntimeError(
1450
+ "stopped at %s (step %d of %d): %s. Already did: %s.%s"
1451
+ % (name, len(did) + 1, len(steps), err, ", ".join(did) or "nothing",
1452
+ (" The screen at that moment: %s" % where) if where else "")
1453
+ )
1439
1454
  did.append(str(name))
1440
1455
  if not look:
1441
1456
  return {"did": did}