@botiverse/oar 0.33.1 → 0.34.1

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 (70) hide show
  1. package/README.md +10 -5
  2. package/dist/contracts/login.d.ts +50 -0
  3. package/dist/contracts/login.d.ts.map +1 -1
  4. package/dist/contracts/runtime.d.ts +3 -1
  5. package/dist/contracts/runtime.d.ts.map +1 -1
  6. package/dist/contracts/runtime.js.map +1 -1
  7. package/dist/contracts/session-options.d.ts +6 -5
  8. package/dist/contracts/session-options.d.ts.map +1 -1
  9. package/dist/index.d.ts +1 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js.map +1 -1
  12. package/dist/runtimes/claude/auth-status.d.ts +8 -0
  13. package/dist/runtimes/claude/auth-status.d.ts.map +1 -1
  14. package/dist/runtimes/claude/auth-status.js +10 -4
  15. package/dist/runtimes/claude/auth-status.js.map +1 -1
  16. package/dist/runtimes/claude/index.d.ts +3 -2
  17. package/dist/runtimes/claude/index.d.ts.map +1 -1
  18. package/dist/runtimes/claude/index.js +3 -2
  19. package/dist/runtimes/claude/index.js.map +1 -1
  20. package/dist/runtimes/claude/launch.d.ts +5 -8
  21. package/dist/runtimes/claude/launch.d.ts.map +1 -1
  22. package/dist/runtimes/claude/launch.js +14 -36
  23. package/dist/runtimes/claude/launch.js.map +1 -1
  24. package/dist/runtimes/claude/login.d.ts +1 -0
  25. package/dist/runtimes/claude/login.d.ts.map +1 -1
  26. package/dist/runtimes/claude/login.js +1 -0
  27. package/dist/runtimes/claude/login.js.map +1 -1
  28. package/dist/runtimes/claude/logout.d.ts +5 -0
  29. package/dist/runtimes/claude/logout.d.ts.map +1 -0
  30. package/dist/runtimes/claude/logout.js +37 -0
  31. package/dist/runtimes/claude/logout.js.map +1 -0
  32. package/dist/runtimes/claude/mcp-config.d.ts +19 -0
  33. package/dist/runtimes/claude/mcp-config.d.ts.map +1 -0
  34. package/dist/runtimes/claude/mcp-config.js +137 -0
  35. package/dist/runtimes/claude/mcp-config.js.map +1 -0
  36. package/dist/runtimes/codex/index.d.ts +2 -0
  37. package/dist/runtimes/codex/index.d.ts.map +1 -1
  38. package/dist/runtimes/codex/index.js +2 -0
  39. package/dist/runtimes/codex/index.js.map +1 -1
  40. package/dist/runtimes/codex/logout.d.ts +5 -0
  41. package/dist/runtimes/codex/logout.d.ts.map +1 -0
  42. package/dist/runtimes/codex/logout.js +37 -0
  43. package/dist/runtimes/codex/logout.js.map +1 -0
  44. package/dist/runtimes/cursor/index.d.ts +4 -3
  45. package/dist/runtimes/cursor/index.d.ts.map +1 -1
  46. package/dist/runtimes/cursor/index.js +4 -1
  47. package/dist/runtimes/cursor/index.js.map +1 -1
  48. package/dist/runtimes/cursor/logout.d.ts +5 -0
  49. package/dist/runtimes/cursor/logout.d.ts.map +1 -0
  50. package/dist/runtimes/cursor/logout.js +59 -0
  51. package/dist/runtimes/cursor/logout.js.map +1 -0
  52. package/dist/runtimes/cursor/sdk.d.ts +8 -0
  53. package/dist/runtimes/cursor/sdk.d.ts.map +1 -1
  54. package/dist/runtimes/cursor/sdk.js.map +1 -1
  55. package/dist/runtimes/opencode/prompt-config.d.ts.map +1 -1
  56. package/dist/runtimes/opencode/prompt-config.js +8 -5
  57. package/dist/runtimes/opencode/prompt-config.js.map +1 -1
  58. package/dist/shared/login.d.ts +17 -5
  59. package/dist/shared/login.d.ts.map +1 -1
  60. package/dist/shared/login.js +5 -2
  61. package/dist/shared/login.js.map +1 -1
  62. package/dist/shared/logout.d.ts +56 -0
  63. package/dist/shared/logout.d.ts.map +1 -0
  64. package/dist/shared/logout.js +114 -0
  65. package/dist/shared/logout.js.map +1 -0
  66. package/dist/shared/private-temp.d.ts +10 -0
  67. package/dist/shared/private-temp.d.ts.map +1 -0
  68. package/dist/shared/private-temp.js +78 -0
  69. package/dist/shared/private-temp.js.map +1 -0
  70. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/shared/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/shared/login.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,MAAM,aAAa,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC5G,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D;;;;GAIG;AAEH,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACvC,8EAA8E;AAC9E,mEAAmE;AACnE,iEAAiE;AACjE,MAAM,gBAAgB,GAAG,IAAI,MAAM,CACjC,GAAG,GAAG,QAAQ,GAAG,GAAG,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,wBAAwB,GAAG,aAAa,EAC7F,IAAI,CACL,CAAC;AAEF,0GAA0G;AAC1G,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,YAAY,GAAG;IACnB,mBAAmB,EAAE,6CAA6C;IAClE,+BAA+B,EAAE,OAAO;CACzC,CAAC;AACF,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB;;;;GAIG;AACH,MAAM,OAAO,YAAY;IACd,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,2FAA2F;IAC3F,GAAG,CAAC,KAAa;QACf,IAAI,KAAK,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;YACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,sEAAsE;QACtE,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5F,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACtD,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,QAAQ,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;IAC7F,CAAC;IAED,mGAAmG;IACnG,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACxG,CAAC;CACF;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAiCD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAC;AAChC,wFAAwF;AACxF,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B,SAAS,UAAU,CACjB,MAAoC,EACpC,IAAiB,EACjB,QAA6B;IAE7B,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAClC,MAAM,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAChB,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;YAClB,QAAQ,CAAC,SAAS,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACpB,MAAM,IAAI,GAAG,oBAAoB,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,GAAG,EAAE,CAAC;QACZ,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;YAChB,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,QAAQ,CAAC,KAAmB;IACnC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IACD,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACrC,6EAA6E;IAC7E,UAAU,CAAC,GAAG,EAAE;QACd,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAC5B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAe,EACf,IAAuB,EACvB,GAAsB,EACtB,QAA6B;IAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE;QACtC,GAAG;QACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,QAAQ,EAAE,iBAAiB;QAC3B,WAAW,EAAE,IAAI;KAClB,CAAC,CAAC;IACH,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,0EAA0E;IAC1E,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7C,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;QACvD,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,QAAuB,EAAE,MAA6B,EAAE,EAAE;YAC5E,OAAO,GAAG,KAAK,CAAC;YAChB,gEAAgE;YAChE,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;YAChC,CAAC,EAAE,aAAa,CAAC,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,yFAAyF;QACzF,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,QAAuB,EAAE,MAA6B,EAAE,EAAE;YAC7E,OAAO,GAAG,KAAK,CAAC;YAChB,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO;QACL,MAAM;QACN,KAAK,CAAC,IAAI;YACR,IAAI,OAAO,IAAI,KAAK,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,EAAE,CAAC;gBAC9C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,UAAU;YACR,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QACrB,CAAC;QACD,IAAI;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO;YACT,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;YACnB,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAUD,iEAAiE;AACjE,MAAM,UAAU,WAAW,CAAC,MAA+B,EAAE,SAAiB;IAC5E,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,EAAa,CAAC;IAChE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;QAC5B,OAAO,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC,EAAE,SAAS,CAAC,CAAC;IACd,6FAA6F;IAC7F,KAAK,CAAC,KAAK,EAAE,CAAC;IACd,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,OAAO,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,MAAM,EAAE,OAAO,KAAK,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,WAAW,CAAC,CAAC;IACvB,CAAC;IACD,OAAO;QACL,OAAO,EAAE,OAAO;QAChB,OAAO;YACL,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,aAAa,CAAC,IAAe,EAAE,SAAiB;IAC9D,OAAO,IAAI,KAAK,WAAW;QACzB,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE;QACvB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,qBAAqB,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;AACnG,CAAC;AAYD;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,YAAmC,EAAE,IAAY,EAAE,KAAc;IAC/F,IAAI,YAAY,CAAC,GAAG,KAAK,YAAY,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,oCAAoC,EAAE,EAAE,CAAC;IAChJ,CAAC;IACD,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IACtG,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;QACpF,OAAO;YACL,IAAI,EAAE,SAAS;YACf,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,KAAK,kCAAkC,OAAO,EAAE,EAAE;SACpI,CAAC;IACJ,CAAC;IACD,IAAI,gBAAgB,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;QACpD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,IAAI,0BAA0B,YAAY,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;IACpJ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { AuthStatus, LogoutResult } from "../contracts/login.js";
2
+ /** How the runtime's own logout ended, before its status is read. */
3
+ export type NativeLogout =
4
+ /** The runtime reported success: an exit 0, a call that resolved. */
5
+ {
6
+ readonly kind: "done";
7
+ }
8
+ /** It ran, but failed or did not finish; reported as it is unless the status reads logged out. */
9
+ | {
10
+ readonly kind: "failed";
11
+ readonly reason: "timed_out" | "rejected" | "process_failed";
12
+ readonly detail: string;
13
+ };
14
+ export type LogoutCommandEnd =
15
+ /** `stderr`: its last lines, escapes stripped, where a logout command reports a failure. */
16
+ {
17
+ readonly kind: "exit";
18
+ readonly exitCode: number | null;
19
+ readonly signal: NodeJS.Signals | null;
20
+ readonly stderr: readonly string[];
21
+ } | {
22
+ readonly kind: "timed_out";
23
+ }
24
+ /** The command could not start: nothing ran, so no status is read. */
25
+ | {
26
+ readonly kind: "not_started";
27
+ readonly detail: string;
28
+ };
29
+ /**
30
+ * Runs a logout command over pipes with its stdin closed, in its own process
31
+ * group on POSIX; nothing it prints is logged or forwarded. Past `timeoutMs`
32
+ * it is stopped with everything it started (its group, its tree on Windows).
33
+ */
34
+ export declare function runLogoutCommand(command: string, args: readonly string[], env: NodeJS.ProcessEnv, timeoutMs: number): Promise<LogoutCommandEnd>;
35
+ /** A logout that did not finish within the deadline. */
36
+ export declare function logoutTimedOut(command: string, timeoutMs: number): NativeLogout;
37
+ /**
38
+ * A logout command's end: exit 0 is the runtime's success. Exit 1 with a
39
+ * stderr line is its reported failure, in its words (the capture of
40
+ * `failure` when a line matches it, else its last stderr line); any other
41
+ * end is `process_failed`.
42
+ */
43
+ export declare function commandLogout(end: Exclude<LogoutCommandEnd, {
44
+ kind: "not_started";
45
+ }>, command: string, timeoutMs: number, failure?: RegExp): NativeLogout;
46
+ /**
47
+ * The status read after the runtime's logout ran decides: logged out is
48
+ * `logged_out`, whatever the logout answered. Otherwise a failed logout is
49
+ * its own failure, and one that succeeded is `still_logged_in` when the
50
+ * status reads logged in (credentials from the environment or another
51
+ * source), never `logged_out`. When the status cannot tell (it failed or
52
+ * gave an answer oar cannot read), a logout that succeeded is `logged_out`
53
+ * on the runtime's own report, as a login's success is `logged_in`.
54
+ */
55
+ export declare function confirmedLogout(native: NativeLogout, status: AuthStatus, command: string, notes?: readonly string[]): LogoutResult;
56
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../src/shared/logout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAStE,qEAAqE;AACrE,MAAM,MAAM,YAAY;AACtB,qEAAqE;AACnE;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AAC3B,kGAAkG;GAChG;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,gBAAgB,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvH,MAAM,MAAM,gBAAgB;AAC1B,4FAA4F;AAC1F;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACvI;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE;AAChC,sEAAsE;GACpE;IAAE,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAyB9D;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,GAAG,EAAE,MAAM,CAAC,UAAU,EACtB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,gBAAgB,CAAC,CA2B3B;AAED,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,YAAY,CAgBzJ;AAQD;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,CAetI"}
@@ -0,0 +1,114 @@
1
+ import { errorMessage, LoginSecrets, loginBounds, spawnLoginProcess } from "./login.js";
2
+ const KEPT_LINES = 20;
3
+ function ended(exit, stderr) {
4
+ return exit.error === undefined
5
+ ? { kind: "exit", exitCode: exit.exitCode, signal: exit.signal, stderr }
6
+ : { kind: "not_started", detail: new LoginSecrets().line(exit.error) };
7
+ }
8
+ /** The started command, or why it could not start (an invalid path on Windows throws). */
9
+ function spawned(command, args, env, onStderr) {
10
+ try {
11
+ return spawnLoginProcess(command, args, env, {
12
+ onLine(line, stream) {
13
+ if (stream === "stderr") {
14
+ onStderr(line);
15
+ }
16
+ },
17
+ });
18
+ }
19
+ catch (error) {
20
+ return { kind: "not_started", detail: new LoginSecrets().line(errorMessage(error)) };
21
+ }
22
+ }
23
+ /**
24
+ * Runs a logout command over pipes with its stdin closed, in its own process
25
+ * group on POSIX; nothing it prints is logged or forwarded. Past `timeoutMs`
26
+ * it is stopped with everything it started (its group, its tree on Windows).
27
+ */
28
+ export async function runLogoutCommand(command, args, env, timeoutMs) {
29
+ const stderr = [];
30
+ const child = spawned(command, args, env, (line) => {
31
+ stderr.push(line);
32
+ stderr.splice(0, stderr.length - KEPT_LINES);
33
+ });
34
+ if (!("exited" in child)) {
35
+ return child;
36
+ }
37
+ // A logout reads nothing: nothing it could wait for stays open.
38
+ child.closeInput();
39
+ const bounds = loginBounds(undefined, timeoutMs);
40
+ try {
41
+ const ending = await Promise.race([
42
+ child.exited,
43
+ // oxlint-disable-next-line promise/prefer-await-to-then -- the deadline races the exit
44
+ bounds.stopped.then(() => "timed_out"),
45
+ ]);
46
+ if (ending !== "timed_out") {
47
+ return ended(ending, stderr);
48
+ }
49
+ child.stop();
50
+ await child.exited;
51
+ return { kind: "timed_out" };
52
+ }
53
+ finally {
54
+ bounds.dispose();
55
+ }
56
+ }
57
+ /** A logout that did not finish within the deadline. */
58
+ export function logoutTimedOut(command, timeoutMs) {
59
+ return { kind: "failed", reason: "timed_out", detail: `${command} did not finish within ${String(timeoutMs)} ms` };
60
+ }
61
+ /**
62
+ * A logout command's end: exit 0 is the runtime's success. Exit 1 with a
63
+ * stderr line is its reported failure, in its words (the capture of
64
+ * `failure` when a line matches it, else its last stderr line); any other
65
+ * end is `process_failed`.
66
+ */
67
+ export function commandLogout(end, command, timeoutMs, failure) {
68
+ if (end.kind === "timed_out") {
69
+ return logoutTimedOut(command, timeoutMs);
70
+ }
71
+ if (end.exitCode === 0) {
72
+ return { kind: "done" };
73
+ }
74
+ const secrets = new LoginSecrets();
75
+ const { stderr } = end;
76
+ const reported = failure === undefined ? undefined : stderr.map((line) => failure.exec(line)?.[1]).findLast((message) => message !== undefined);
77
+ const words = reported ?? stderr.at(-1);
78
+ if (end.exitCode === 1 && words !== undefined) {
79
+ return { kind: "failed", reason: "rejected", detail: secrets.line(words) };
80
+ }
81
+ const how = end.exitCode === null ? `signal ${end.signal ?? "unknown"}` : `code ${String(end.exitCode)}`;
82
+ return { kind: "failed", reason: "process_failed", detail: words === undefined ? `${command} exited with ${how}` : secrets.line(words) };
83
+ }
84
+ /** What a logged-in status names: the method and the email, then `notes` (claude's API key source). */
85
+ function readsAs(status, notes) {
86
+ const words = [status.account?.method, status.account?.email, ...notes].filter((word) => word !== undefined);
87
+ return words.length === 0 ? "" : ` (${words.join(", ")})`;
88
+ }
89
+ /**
90
+ * The status read after the runtime's logout ran decides: logged out is
91
+ * `logged_out`, whatever the logout answered. Otherwise a failed logout is
92
+ * its own failure, and one that succeeded is `still_logged_in` when the
93
+ * status reads logged in (credentials from the environment or another
94
+ * source), never `logged_out`. When the status cannot tell (it failed or
95
+ * gave an answer oar cannot read), a logout that succeeded is `logged_out`
96
+ * on the runtime's own report, as a login's success is `logged_in`.
97
+ */
98
+ export function confirmedLogout(native, status, command, notes = []) {
99
+ if (status.kind === "logged_out") {
100
+ return { kind: "logged_out" };
101
+ }
102
+ if (native.kind === "failed") {
103
+ return { kind: "failed", reason: native.reason, detail: native.detail };
104
+ }
105
+ if (status.kind === "unknown") {
106
+ return { kind: "logged_out" };
107
+ }
108
+ return {
109
+ kind: "failed",
110
+ reason: "still_logged_in",
111
+ detail: new LoginSecrets().redact(`${command} succeeded, yet ${status.source} still reads logged in${readsAs(status, notes)}`),
112
+ };
113
+ }
114
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../src/shared/logout.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** A directory `privateTempDir` made: its path, and its removal (synchronous, idempotent). */
2
+ export interface PrivateTempDir {
3
+ readonly path: string;
4
+ remove(): void;
5
+ }
6
+ /** Remove `prefix` directories whose host pid no longer runs, releasing their FIFOs first; one that cannot be removed (another user's) stays. */
7
+ export declare function sweepPrivateTempDirs(prefix: string): Promise<void>;
8
+ /** A fresh 0700 directory for one runtime process, removed by `remove()` or, failing that, by the backstops above. */
9
+ export declare function privateTempDir(prefix: string): Promise<PrivateTempDir>;
10
+ //# sourceMappingURL=private-temp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private-temp.d.ts","sourceRoot":"","sources":["../../src/shared/private-temp.ts"],"names":[],"mappings":"AAwBA,8FAA8F;AAC9F,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,MAAM,IAAI,IAAI,CAAC;CAChB;AA8CD,iJAAiJ;AACjJ,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYxE;AAED,sHAAsH;AACtH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAe5E"}
@@ -0,0 +1,78 @@
1
+ import { closeSync, constants, lstatSync, openSync, readdirSync, rmSync } from "node:fs";
2
+ import { mkdtemp, readdir, rm } from "node:fs/promises";
3
+ import { tmpdir } from "node:os";
4
+ import path from "node:path";
5
+ const live = new Set();
6
+ let hooked = false;
7
+ function releaseFifos(directory) {
8
+ let names = [];
9
+ try {
10
+ names = readdirSync(directory);
11
+ }
12
+ catch {
13
+ return;
14
+ }
15
+ for (const name of names) {
16
+ const file = path.join(directory, name);
17
+ try {
18
+ if (lstatSync(file).isFIFO()) {
19
+ closeSync(openSync(file, constants.O_WRONLY | constants.O_NONBLOCK));
20
+ }
21
+ }
22
+ catch {
23
+ // ENXIO: no reader is waiting.
24
+ }
25
+ }
26
+ }
27
+ function removeDirectory(directory) {
28
+ releaseFifos(directory);
29
+ rmSync(directory, { recursive: true, force: true });
30
+ }
31
+ function removeLive() {
32
+ for (const directory of live) {
33
+ removeDirectory(directory);
34
+ }
35
+ live.clear();
36
+ }
37
+ function running(pid) {
38
+ try {
39
+ process.kill(pid, 0);
40
+ return true;
41
+ }
42
+ catch (error) {
43
+ // EPERM: the pid runs, as another user.
44
+ return error instanceof Error && "code" in error && error.code === "EPERM";
45
+ }
46
+ }
47
+ /** Remove `prefix` directories whose host pid no longer runs, releasing their FIFOs first; one that cannot be removed (another user's) stays. */
48
+ export async function sweepPrivateTempDirs(prefix) {
49
+ const root = tmpdir();
50
+ const names = await readdir(root).catch(() => []);
51
+ await Promise.all(names.map(async (name) => {
52
+ const pid = name.startsWith(prefix) ? /^(\d+)-/u.exec(name.slice(prefix.length))?.[1] : undefined;
53
+ if (pid === undefined || Number(pid) === process.pid || running(Number(pid))) {
54
+ return;
55
+ }
56
+ const directory = path.join(root, name);
57
+ releaseFifos(directory);
58
+ await rm(directory, { recursive: true, force: true }).catch(() => undefined);
59
+ }));
60
+ }
61
+ /** A fresh 0700 directory for one runtime process, removed by `remove()` or, failing that, by the backstops above. */
62
+ export async function privateTempDir(prefix) {
63
+ await sweepPrivateTempDirs(prefix);
64
+ const directory = await mkdtemp(path.join(tmpdir(), `${prefix}${String(process.pid)}-`));
65
+ if (!hooked) {
66
+ process.on("exit", removeLive);
67
+ hooked = true;
68
+ }
69
+ live.add(directory);
70
+ return {
71
+ path: directory,
72
+ remove: () => {
73
+ live.delete(directory);
74
+ removeDirectory(directory);
75
+ },
76
+ };
77
+ }
78
+ //# sourceMappingURL=private-temp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private-temp.js","sourceRoot":"","sources":["../../src/shared/private-temp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botiverse/oar",
3
- "version": "0.33.1",
3
+ "version": "0.34.1",
4
4
  "description": "A programming interface for all agent harnesses: provider-independent contracts for controlling and observing agent runtimes",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",