@ckanner/flywheel 0.32.0 → 0.33.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.
Files changed (134) hide show
  1. package/CHANGELOG.md +17 -1
  2. package/README.md +11 -2
  3. package/README.zh-CN.md +6 -1
  4. package/THIRD_PARTY_NOTICES.md +42 -0
  5. package/bin/runtime.js +25 -31
  6. package/cordis.patch.yml +5 -0
  7. package/dist/bridge.mjs +421 -0
  8. package/dist/claude-code-pro-bridge.mjs +82 -0
  9. package/dist/claude-code-pro-worker.mjs +5 -0
  10. package/dist/client.js +4078 -0
  11. package/dist/codex-pro-bridge.mjs +75 -0
  12. package/dist/codex-pro-worker.mjs +5 -0
  13. package/dist/console-read.mjs +51 -0
  14. package/dist/control.mjs +218 -0
  15. package/dist/index.mjs +185 -0
  16. package/dist/installation.mjs +56 -0
  17. package/dist/machine-worker.mjs +241 -0
  18. package/dist/policy.mjs +91 -0
  19. package/dist/prewarm.mjs +136 -0
  20. package/dist/protocol.mjs +260 -0
  21. package/dist/task-association.mjs +127 -0
  22. package/dist/worker.mjs +52 -0
  23. package/dist/workspaces.mjs +42 -0
  24. package/docs/README.md +1 -1
  25. package/docs/README.zh-CN.md +1 -1
  26. package/docs/design.md +8 -5
  27. package/docs/en/configuration.md +1 -1
  28. package/docs/en/contributing.md +5 -6
  29. package/docs/en/flow-console.md +1 -1
  30. package/docs/en/getting-started.md +13 -3
  31. package/docs/en/releasing.md +132 -174
  32. package/docs/validation/2026-11-13-release-0.32.0.md +78 -0
  33. package/docs/validation/2026-11-13-release-0.32.1.md +83 -0
  34. package/docs/validation/2026-11-14-single-package.md +60 -0
  35. package/docs/validation/README.md +3 -0
  36. package/docs/zh-CN/configuration.md +1 -1
  37. package/docs/zh-CN/contributing.md +4 -5
  38. package/docs/zh-CN/flow-console.md +1 -1
  39. package/docs/zh-CN/getting-started.md +10 -4
  40. package/docs/zh-CN/releasing.md +97 -81
  41. package/native/darwin-amd64/flywheel +0 -0
  42. package/native/darwin-arm64/flywheel +0 -0
  43. package/native/linux-amd64/flywheel +0 -0
  44. package/native/linux-arm64/flywheel +0 -0
  45. package/native/manifest.json +22 -0
  46. package/node_modules/dsh-subagent-codex-pro/CHANGELOG.md +403 -0
  47. package/node_modules/dsh-subagent-codex-pro/LICENSE +21 -0
  48. package/node_modules/dsh-subagent-codex-pro/README.md +557 -0
  49. package/node_modules/dsh-subagent-codex-pro/cordis.patch.yml +30 -0
  50. package/node_modules/dsh-subagent-codex-pro/docs/README.zh.md +355 -0
  51. package/node_modules/dsh-subagent-codex-pro/docs/machine-lifecycle-validation.md +65 -0
  52. package/node_modules/dsh-subagent-codex-pro/docs/machine-lifecycle.md +144 -0
  53. package/node_modules/dsh-subagent-codex-pro/docs/machine-lifecycle.zh.md +98 -0
  54. package/node_modules/dsh-subagent-codex-pro/docs/machine.md +194 -0
  55. package/node_modules/dsh-subagent-codex-pro/docs/orchestration.zh.md +86 -0
  56. package/node_modules/dsh-subagent-codex-pro/lib/codex-exec.js +68 -0
  57. package/node_modules/dsh-subagent-codex-pro/lib/codex-exec.js.map +1 -0
  58. package/node_modules/dsh-subagent-codex-pro/lib/dsh-types.js +15 -0
  59. package/node_modules/dsh-subagent-codex-pro/lib/dsh-types.js.map +1 -0
  60. package/node_modules/dsh-subagent-codex-pro/lib/index.js +830 -0
  61. package/node_modules/dsh-subagent-codex-pro/lib/index.js.map +1 -0
  62. package/node_modules/dsh-subagent-codex-pro/lib/jobs.js +35 -0
  63. package/node_modules/dsh-subagent-codex-pro/lib/jobs.js.map +1 -0
  64. package/node_modules/dsh-subagent-codex-pro/lib/jsonrpc.js +229 -0
  65. package/node_modules/dsh-subagent-codex-pro/lib/jsonrpc.js.map +1 -0
  66. package/node_modules/dsh-subagent-codex-pro/lib/machine-cli.js +101 -0
  67. package/node_modules/dsh-subagent-codex-pro/lib/machine-cli.js.map +1 -0
  68. package/node_modules/dsh-subagent-codex-pro/lib/machine-local.js +122 -0
  69. package/node_modules/dsh-subagent-codex-pro/lib/machine-local.js.map +1 -0
  70. package/node_modules/dsh-subagent-codex-pro/lib/machine-recovery.js +167 -0
  71. package/node_modules/dsh-subagent-codex-pro/lib/machine-recovery.js.map +1 -0
  72. package/node_modules/dsh-subagent-codex-pro/lib/machine-supervision.js +141 -0
  73. package/node_modules/dsh-subagent-codex-pro/lib/machine-supervision.js.map +1 -0
  74. package/node_modules/dsh-subagent-codex-pro/lib/machine-supervisor.js +128 -0
  75. package/node_modules/dsh-subagent-codex-pro/lib/machine-supervisor.js.map +1 -0
  76. package/node_modules/dsh-subagent-codex-pro/lib/machine.js +104 -0
  77. package/node_modules/dsh-subagent-codex-pro/lib/machine.js.map +1 -0
  78. package/node_modules/dsh-subagent-codex-pro/lib/process-guardian.js +156 -0
  79. package/node_modules/dsh-subagent-codex-pro/lib/process-guardian.js.map +1 -0
  80. package/node_modules/dsh-subagent-codex-pro/lib/run.js +842 -0
  81. package/node_modules/dsh-subagent-codex-pro/lib/run.js.map +1 -0
  82. package/node_modules/dsh-subagent-codex-pro/lib/structured.js +329 -0
  83. package/node_modules/dsh-subagent-codex-pro/lib/structured.js.map +1 -0
  84. package/node_modules/dsh-subagent-codex-pro/lib/tool.js +295 -0
  85. package/node_modules/dsh-subagent-codex-pro/lib/tool.js.map +1 -0
  86. package/node_modules/dsh-subagent-codex-pro/lib/types/codex-exec.d.ts +88 -0
  87. package/node_modules/dsh-subagent-codex-pro/lib/types/codex-exec.d.ts.map +1 -0
  88. package/node_modules/dsh-subagent-codex-pro/lib/types/dsh-types.d.ts +179 -0
  89. package/node_modules/dsh-subagent-codex-pro/lib/types/dsh-types.d.ts.map +1 -0
  90. package/node_modules/dsh-subagent-codex-pro/lib/types/index.d.ts +266 -0
  91. package/node_modules/dsh-subagent-codex-pro/lib/types/index.d.ts.map +1 -0
  92. package/node_modules/dsh-subagent-codex-pro/lib/types/jobs.d.ts +34 -0
  93. package/node_modules/dsh-subagent-codex-pro/lib/types/jobs.d.ts.map +1 -0
  94. package/node_modules/dsh-subagent-codex-pro/lib/types/jsonrpc.d.ts +113 -0
  95. package/node_modules/dsh-subagent-codex-pro/lib/types/jsonrpc.d.ts.map +1 -0
  96. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-cli.d.ts +3 -0
  97. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-cli.d.ts.map +1 -0
  98. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-local.d.ts +4 -0
  99. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-local.d.ts.map +1 -0
  100. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-recovery.d.ts +53 -0
  101. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-recovery.d.ts.map +1 -0
  102. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-supervision.d.ts +8 -0
  103. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-supervision.d.ts.map +1 -0
  104. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-supervisor.d.ts +2 -0
  105. package/node_modules/dsh-subagent-codex-pro/lib/types/machine-supervisor.d.ts.map +1 -0
  106. package/node_modules/dsh-subagent-codex-pro/lib/types/machine.d.ts +70 -0
  107. package/node_modules/dsh-subagent-codex-pro/lib/types/machine.d.ts.map +1 -0
  108. package/node_modules/dsh-subagent-codex-pro/lib/types/process-guardian.d.ts +22 -0
  109. package/node_modules/dsh-subagent-codex-pro/lib/types/process-guardian.d.ts.map +1 -0
  110. package/node_modules/dsh-subagent-codex-pro/lib/types/run.d.ts +386 -0
  111. package/node_modules/dsh-subagent-codex-pro/lib/types/run.d.ts.map +1 -0
  112. package/node_modules/dsh-subagent-codex-pro/lib/types/structured.d.ts +35 -0
  113. package/node_modules/dsh-subagent-codex-pro/lib/types/structured.d.ts.map +1 -0
  114. package/node_modules/dsh-subagent-codex-pro/lib/types/tool.d.ts +107 -0
  115. package/node_modules/dsh-subagent-codex-pro/lib/types/tool.d.ts.map +1 -0
  116. package/node_modules/dsh-subagent-codex-pro/lib/types/usage.d.ts +131 -0
  117. package/node_modules/dsh-subagent-codex-pro/lib/types/usage.d.ts.map +1 -0
  118. package/node_modules/dsh-subagent-codex-pro/lib/types/wire.d.ts +321 -0
  119. package/node_modules/dsh-subagent-codex-pro/lib/types/wire.d.ts.map +1 -0
  120. package/node_modules/dsh-subagent-codex-pro/lib/usage.js +356 -0
  121. package/node_modules/dsh-subagent-codex-pro/lib/usage.js.map +1 -0
  122. package/node_modules/dsh-subagent-codex-pro/lib/wire.js +986 -0
  123. package/node_modules/dsh-subagent-codex-pro/lib/wire.js.map +1 -0
  124. package/node_modules/dsh-subagent-codex-pro/package.json +76 -0
  125. package/npm/install.js +59 -6
  126. package/package.json +74 -12
  127. package/plugins/dsh/LICENSE +21 -0
  128. package/plugins/dsh/PROTOCOL.md +607 -0
  129. package/plugins/dsh/README.en.md +4 -0
  130. package/plugins/dsh/README.md +342 -0
  131. package/plugins/dsh/README.zh-CN.md +279 -0
  132. package/plugins/dsh/THIRD_PARTY_NOTICES.md +42 -0
  133. package/plugins/dsh/vendor/README.md +17 -0
  134. package/plugins/dsh/vendor/codex-pro.json +16 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAUhC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAqB,MAAM,UAAU,CAAA;AAChI,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG3C,0BAA0B;AAC1B,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA;AAE/B;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,WAAW,CAAC,CAAA;AAqEnC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAA;IAClG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACtG,IAAI,KAAK,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACjF,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;IAC/E,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAA;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;IACzF,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAC7F,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sDAAsD,SAAS,GAAG,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;IACrF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,sDAAsD,SAAS,GAAG,CAAC,CAAA;IACrF,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAOD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAChC,IAAkE;IAElE,MAAM,QAAQ,GAAG,IAAI,EAAE,eAAe,CAAA;IACtC,OAAO,QAAQ,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AAC9D,CAAC;AAWD,6EAA6E;AAC7E,MAAM,iBAAiB,GAAqC;IAC1D,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,WAAW;CACpB,CAAA;AAED,2EAA2E;AAC3E,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAA;AASxC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,MAA6C;IAE7C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;IACpG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAA;IACtD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;QACvB,CAAC,CAAC,GAAG,IAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG;QAClD,CAAC,CAAC,GAAG,IAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;AAC3E,CAAC;AAED,8DAA8D;AAC9D,SAAS,SAAS,CAAC,MAAc;IAC/B,OAAO,yBAAyB,MAAM,GAAG,CAAA;AAC3C,CAAC;AAED,iFAAiF;AACjF,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACjC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;AAC/E,CAAC;AAED,qEAAqE;AACrE,MAAM,cAAc,GAAW,CAAC,GAAG,EAAE;IACnC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,iBAAiB,CAAyB,CAAA;QAC/D,OAAO,GAAG,CAAC,OAAO,IAAI,SAAS,CAAA;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAC,EAAE,CAAA;AAEJ,kEAAkE;AAClE,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAA;AAEnF,iFAAiF;AACjF,MAAM,uBAAuB,GAAwB,iBAAiB,CAAA;AAEtE,iFAAiF;AACjF,MAAM,UAAU,yBAAyB,CACvC,UAA+B,EAAE,SAA0C;IAE3E,MAAM,UAAU,GAAG,SAAS,IAAI,UAAU,CAAA;IAC1C,IAAI,UAAU,KAAK,UAAU,IAAI,UAAU,KAAK,WAAW;WACtD,CAAC,CAAC,UAAU,KAAK,0CAA0C,IAAI,UAAU,KAAK,iBAAiB,CAAC,EAAE,CAAC;QACtG,MAAM,IAAI,KAAK,CAAC,2GAA2G,CAAC,CAAA;IAC9H,CAAC;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,IAAI,CAAC,OAAe;IAC3B,IAAI,CAAC;QACH,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,EAAE,eAAe,CAAC,EACnF,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IAAI,OAAO,IAAI,CAAC,CAAA;IAC/C,CAAC;IAAC,MAAM,CAAC;QACP,oDAAoD;IACtD,CAAC;AACH,CAAC;AAED,qDAAqD;AACrD,SAAS,UAAU,CAAC,MAA0C;IAC5D,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,KAAK,EAA2C,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC;SACjF,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,MAAM,CAAC,CAAA;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,CAAQ;IACZ,qBAAqB,GAAG,KAAK,CAAA;IAEtC;;;;;OAKG;IACM,YAAY,GAAG;QACtB,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,KAAK;QAClB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;KACT,CAAA;IAEV;;;;;;OAMG;IACM,QAAQ,CAAgF;IAEjG,YACE,QAAwF;QAExF,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAA;IACnC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,OAAiC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAA;QAC5D,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAA;QAC5F,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,CAAA;QACpC,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,IAAI,OAAO,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAA;QACxG,CAAC;QACD,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAA;QACnD,MAAM,MAAM,GAAG,OAAO,EAAE,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAA;QACxE,MAAM,IAAI,GAAiB;YACzB,GAAG;YACH,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAC9B,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc;YAC5C,KAAK;YACL,eAAe,EAAE,MAAM;YACvB,MAAM;YACN,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY;YACxC,GAAG,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS;gBACpC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,YAAuC,EAAE,CAAC;YACtE,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;YACtB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAA,CAAC,CAAC;SAC7D,CAAA;QACD,IAAI,CAAC,yBAAyB,KAAK,IAAI,WAAW,WAAW,MAAM,IAAI,WAAW,QAAQ,GAAG,iBAAiB,CAAC,CAAA;QAC/G,IAAI,GAAG,CAAA;QACP,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YACxF,MAAM,KAAK,CAAA;QACb,CAAC;QACD,IAAI,CAAC,iCAAiC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;QAC/C,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAA2B;YACnC,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,uBAAuB,OAAO,CAAC,UAAU,WAAW,OAAO,CAAC,QAAQ,IAAI,QAAQ,GAAG;sBACpF,SAAS,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,GAAG;sBAC7H,WAAW,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,GAAG;sBACrE,cAAc,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG;sBACxD,UAAU,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBACpG,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBACxC,IAAI,CAAC,8BAA8B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG;0BACjF,aAAa,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;gBACrE,CAAC;gBACD,mEAAmE;gBACnE,qEAAqE;gBACrE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,OAAO,CAAA;gBACzC,MAAM,UAAU,GAAG;oBACjB,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,0BAA0B,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;oBAChG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC;oBAChF,GAAG,CAAC,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,wDAAwD,CAAC,CAAC;oBACxG,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE;8BACxE,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;oBACvF,GAAG,CAAC,OAAO,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;iBAClF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;gBAC3B,OAAO;oBACL,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,uEAAuE;oBACvE,wEAAwE;oBACxE,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU;oBAC7E,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC/E,GAAG,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;iBAC7C,CAAA;YACH,CAAC,CAAC;YACF,yEAAyE;YACzE,yEAAyE;YACzE,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAA;gBACpC,IAAI,CAAC,OAAO,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;YAC9F,CAAC;SACF,CAAA;IACH,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,SAAiB,EAAE;IACrD,MAAM,QAAQ,GAAqJ;QACjK,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,IAAI;QACzC,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;QAClC,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,uBAAuB;QAChE,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,IAAI;QAC7C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,WAAW;QAC5C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,kBAAkB;QACnD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,sBAAsB;QAC3D,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC9D,GAAG,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC;QAC5F,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;KACzD,CAAA;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAA;IAEhD,IAAI,CAAC;QACH,GAAG,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC/D,IAAI,CAAC,WAAW,cAAc,cAAc,QAAQ,CAAC,YAAY,uCAAuC;cACpG,aAAa,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,cAAc,KAAK;cAChF,cAAc,QAAQ,CAAC,UAAU,eAAe,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG;cACtF,WAAW,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM;cAC9C,WAAW,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAC3C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,IAAI,CAAC,wCAAwC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED;;;;;OAKG;IACH,MAAM,YAAY,GAAG,CAAC,KAAgB,EAAW,EAAE;QACjD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,CAAwE,CAAA;QAC/G,IAAI,QAA4B,CAAA;QAChC,IAAI,YAAgC,CAAA;QACpC,IAAI,CAAC;YACH,QAAQ,GAAG,QAAQ,EAAE,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAClD,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACvE,CAAC;QACD,MAAM,MAAM,GAAI,KAAK,CAAC,OAAO,CAAC,MAAmC,CAAC,WAAW,CAAA;QAC7E,MAAM,MAAM,GAAG,QAAQ,IAAI,MAAM,CAAA;QACjC,MAAM,OAAO,GAAG,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChE,IAAI,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,MAAM,CAAC,QAAQ,CAAC,WAAW,MAAM,CAAC,MAAM,CAAC,GAAG;cACpF,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;QACnE,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,kDAAkD;IAClD,MAAM,KAAK,GAAG,CAAC,KAAgB,EAAQ,EAAE;QACvC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAA;QACpC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,iDAAiD,CAAC,CAAA;YAChF,OAAM;QACR,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAA;QACzC,0EAA0E;QAC1E,yEAAyE;QACzE,mEAAmE;QACnE,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAgC,CAAA;QAE3D;;;;;;;;;;;;;;WAcG;QACH,MAAM,oBAAoB,GAAG,KAAK,IAAsB,EAAE;YACxD,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAA+B,CAAA;YACxD,MAAM,MAAM,GAAI,KAAK,CAAC,OAEpB,CAAC,aAAa,EAAE,EAAE,CAAA;YACpB,MAAM,OAAO,GAAI,KAAwE,CAAC,OAAO,CAAA;YACjG,MAAM,QAAQ,GAAG,MAAM,EAAE,MAAM,EAAE,QAAQ,IAAI,OAAO,EAAE,QAAQ,CAAA;YAC9D,MAAM,KAAK,GAAG,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,OAAO,EAAE,KAAK,CAAA;YACrD,IAAI,GAAG,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAA;YACpF,IAAI,CAAC;gBACH,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;YACxE,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC,CAAA;QAED;;;;;;;;;;;;;WAaG;QACH,MAAM,aAAa,GAAG,KAAK,EACzB,OAC2H,EAC3H,IAAgC,EAChC,aAAsB,EAKrB,EAAE;YACH,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;YAC3D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;YACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;YAEpE,MAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;YAE5E,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,aAAa,CAAoC,CAAA;YACvE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;oBAAE,QAAQ,CAAC,gCAAgC,CAAC,CAAA;gBACrF,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAA;gBAClF,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;YACtG,CAAC;YACD,IAAI,MAAM,oBAAoB,EAAE,EAAE,CAAC;gBACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;oBAAE,QAAQ,CAAC,0CAA0C,CAAC,CAAA;gBAC/F,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,0CAA0C,CAAC,CAAA;gBAChF,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;YACtG,CAAC;YAED,MAAM,QAAQ,GAA0C,EAAE,CAAA;YAC1D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,CAAC;oBACH,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAA;wBACpG,SAAQ;oBACV,CAAC;oBACD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAAC,QAAQ,CAAC,uCAAuC,CAAC,CAAC;wBAAC,SAAQ;oBAAC,CAAC;oBAC7F,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACzC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAAC,QAAQ,CAAC,2BAA2B,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;wBAAC,SAAQ;oBAAC,CAAC;oBAC5F,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;oBACjC,IAAI,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;wBAAC,QAAQ,CAAC,eAAe,MAAM,CAAC,eAAe,CAAC,WAAW,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;wBAAC,SAAQ;oBAAC,CAAC;oBACtH,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,CAAA;gBAC9D,CAAC;gBAAC,OAAO,KAAc,EAAE,CAAC;oBACxB,QAAQ,CAAC,kBAAkB,KAAK,CAAC,IAAI,IAAI,WAAW,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;gBACzF,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAA;gBACnE,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;YACtG,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAA;gBAC7C,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;gBACxE,MAAM,MAAM,GAAuB;oBACjC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE;oBACrC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;iBAC3D,CAAA;gBACD,IAAI,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,6CAA6C,CAAC,CAAA;gBAClF,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;YACpE,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,QAAQ,CAAC,sCAAsC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;gBAC7E,IAAI,CAAC,qCAAqC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;gBAC7E,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAA;YACtG,CAAC;QACH,CAAC,CAAA;QAED;;;;;;WAMG;QACH,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAA;QAE/C;;;;;;WAMG;QACH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;QAmBlC,iDAAiD;QACjD,MAAM,OAAO,GAAG,KAAK,EACnB,IAAc,EACd,MAAmB,EACnB,UAAmC,EAKlC,EAAE;YACH,wEAAwE;YACxE,2EAA2E;YAC3E,mEAAmE;YACnE,IAAI,MAAM,GAAG,GAAG,CAAA;YAChB,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACjC,IAAI,IAAI,CAAA;gBACR,IAAI,CAAC;oBACH,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,EAAE,CAAC,CAAA;gBAClE,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBAAE,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,EAAE,CAAC,CAAA;YAC/F,CAAC;YAED,4EAA4E;YAC5E,sEAAsE;YACtE,8BAA8B;YAC9B,IAAI,SAA+B,CAAA;YACnC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxD,SAAS,GAAG,EAAE,CAAA;gBACd,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAA;oBACpC,IAAI,IAAI,CAAA;oBACR,IAAI,CAAC;wBACH,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACvB,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,EAAE,CAAC,CAAA;oBAClE,CAAC;oBACD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAA;oBACnF,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACtB,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5F,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS;gBAC/C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAC1C,MAAM,cAAc,GAAG,yBAAyB,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YAC9F,MAAM,SAAS,GAAG,UAAU,IAAI,QAAQ,CAAC,YAAY,CAAA;YACrD,0EAA0E;YAC1E,wEAAwE;YACxE,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;YACrE,MAAM,aAAa,GAAG,SAAS,KAAK,SAAS,CAAA;YAE7C,wEAAwE;YACxE,kDAAkD;YAClD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;YACzF,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC9B,MAAM,MAAM,GAAG,YAAY,CAAC;gBAC1B,QAAQ;gBACR,UAAU;gBACV,uEAAuE;gBACvE,qEAAqE;gBACrE,oEAAoE;gBACpE,UAAU,EAAE,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACpF,QAAQ;aACT,CAAC,CAAA;YACF,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;YAC1B,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,uBAAuB,MAAM,CAAC,WAAW,qCAAqC;sBAC/E,oCAAoC,CAAC,CAAA;YAC3C,CAAC;YACD,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,IAAI,WAAW,WAAW,IAAI,CAAC,eAAe,IAAI,WAAW,GAAG;kBACzF,UAAU,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,EAAE,GAAG;kBACjE,OAAO,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG;kBAChE,UAAU,MAAM,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG;kBAC3C,UAAU,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG;kBACrD,WAAW,MAAM,CAAC,UAAU,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI;kBAC1D,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,GAAG;kBACrD,UAAU,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAA;YAC3D,0EAA0E;YAC1E,4DAA4D;YAC5D,IAAI,KAAK,KAAK,SAAS;gBAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;YAC5C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;oBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,GAAG,EAAE,MAAM;oBACX,OAAO,EAAE,QAAQ,CAAC,OAAO;oBACzB,cAAc,EAAE,cAAc;oBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,eAAe,EAAE,IAAI,CAAC,eAAe;oBACrC,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,KAAK;oBACf,UAAU,EAAE,QAAQ,CAAC,UAAU;oBAC/B,YAAY,EAAE,SAAS;oBACvB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;oBACnD,MAAM,EAAE,SAAS;oBACjB,YAAY,EAAE,SAAS;oBACvB,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;oBACrC,GAAG,EAAE,QAAQ,CAAC,GAAG;oBACjB,MAAM;oBACN,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC;oBACjD,UAAU;iBACX,CAAC,CAAA;gBACF,IAAI,IAAI,KAAK,YAAY,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC5D,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;gBACvD,CAAC;gBACD,IAAI,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,OAAO,CAAC,QAAQ,IAAI,QAAQ,GAAG;sBACzF,UAAU,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,UAAU,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE;sBAC7E,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,GAAG;sBAChG,WAAW,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,GAAG;sBACrE,cAAc,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG;sBACxD,UAAU,OAAO,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;gBACpG,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;oBACxC,IAAI,CAAC,yBAAyB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG;0BAC5E,aAAa,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;gBACrE,CAAC;gBACD,OAAO,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;YAC1D,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,0EAA0E;gBAC1E,uEAAuE;gBACvE,wEAAwE;gBACxE,kEAAkE;gBAClE,0EAA0E;gBAC1E,yEAAyE;gBACzE,qEAAqE;gBACrE,IACE,KAAK,KAAK,SAAS;uBAChB,QAAQ,KAAK,SAAS;uBACtB,IAAI,KAAK,YAAY;uBACrB,KAAK,YAAY,eAAe;uBAChC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,eAAe;oBACxC,qEAAqE;oBACrE,sEAAsE;oBACtE,gEAAgE;uBAC7D,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,EACtC,CAAC;oBACD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;wBACzD,IAAI,CAAC,0BAA0B,KAAK,qEAAqE,CAAC,CAAA;wBAC1G,MAAM,KAAK,CAAA;oBACb,CAAC;oBACD,IAAI,CAAC,0BAA0B,KAAK,0BAA0B,MAAM,CAAC,KAAK,CAAC,yBAAyB;0BAChG,QAAQ,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAA;oBAC1G,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;oBACtC,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;wBACjC,MAAM,EAAE,IAAI,CAAC,MAAM;wBACnB,GAAG,EAAE,MAAM;wBACX,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,cAAc,EAAE,cAAc;wBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,eAAe,EAAE,IAAI,CAAC,eAAe;wBACrC,UAAU,EAAE,IAAI;wBAChB,UAAU,EAAE,QAAQ,CAAC,UAAU;wBAC/B,YAAY,EAAE,SAAS;wBACvB,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;wBACnD,MAAM,EAAE,SAAS;wBACjB,YAAY,EAAE,SAAS;wBACvB,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC;wBACrC,GAAG,EAAE,QAAQ,CAAC,GAAG;wBACjB,MAAM;wBACN,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAA,CAAC,CAAC;wBACjD,UAAU;qBACX,CAAC,CAAA;oBACF,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;wBAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;oBACzF,IAAI,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,OAAO,CAAC,QAAQ,IAAI,QAAQ,GAAG;0BACzF,UAAU,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,UAAU,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG;0BAC9E,WAAW,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAA;oBACzE,OAAO,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAA;gBAC1D,CAAC;gBACD,MAAM,KAAK,CAAA;YACb,CAAC;oBAAS,CAAC;gBACT,IAAI,KAAK,KAAK,SAAS;oBAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACjD,CAAC;QACH,CAAC,CAAA;QAED,IAAI,CAAC;YACH,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC;gBACvC,GAAG;gBACH,qBAAqB,EAAE,SAAS;gBAChC,iBAAiB,EAAE,IAAI,KAAK,SAAS;gBACrC,iBAAiB,EAAE,QAAQ,CAAC,UAAU;gBACtC,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,oBAAoB,EAAE,IAAI;gBAC1B,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAClE,GAAG,CAAC,QAAQ,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC;gBAChG,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC;gBACzC,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAA;oBAClG,CAAC;oBACD,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;oBACxC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;wBACpB,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBACvB,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE;4BACd,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;4BACvC,OAAO;gCACL,MAAM,EAAE,CAAC,MAAe,EAAE,EAAE;oCAC1B,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,yBAAyB,CAAC,CAAC,CAAA;gCAClE,CAAC;gCACD,wDAAwD;gCACxD,gEAAgE;gCAChE,8DAA8D;gCAC9D,iDAAiD;gCACjD,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,CAAC,CAAC;qCACjF,OAAO,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA,CAAC,CAAC,CAAC;6BAChD,CAAA;wBACH,CAAC;qBACF,CAAC,CAAA;oBACF,IAAI,CAAC,yBAAyB,EAAE,iBAAiB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;oBAC/D,OAAO,EAAE,CAAA;gBACX,CAAC;aACF,CAAC,CAAC,CAAA;YACH,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,8BAA8B;kBACxD,mBAAmB,MAAM,CAAC,SAAS,CAAC,gBAAgB,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;kBAClF,SAAS,QAAQ,CAAC,KAAK,IAAI,WAAW,mBAAmB,CAAC,CAAA;QAChE,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACzH,CAAC;IACH,CAAC,CAAA;IAED,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,OAAM;QAChC,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,+EAA+E;IAC/E,sEAAsE;IACtE,GAAG,CAAC,EAAE,CAAC,uBAAuB,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QACtD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAM;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAA4D,CAAA;QAC3F,MAAM,KAAK,GAAG,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAA;QAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,mBAAmB,MAAM,CAAC,SAAS,CAAC,iBAAiB,CAAC,CAAA;YAC3D,OAAM;QACR,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAyE,EACzE,IAAgC,EAChC,aAAsB;IAEtB,IAAI,aAAa,IAAI,IAAI,KAAK,WAAW,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC,IAAI,CAAA;IAChG,OAAO,GAAG,OAAO,CAAC,IAAI,qBAAqB,OAAO,CAAC,QAAQ,mDAAmD,CAAA;AAChH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,aAAa,CAAC,KAAa;IAClC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IAC5B,OAAO,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAA;AACvE,CAAC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Job settlement for one background delegation.
3
+ *
4
+ * The jobs contract is specific and unforgiving: a producer's `done` must
5
+ * resolve to a `JobOutcome` — `{ status, detail?, result? }` — and it must never
6
+ * reject. Returning the delegation's text directly leaves a bare string where the
7
+ * registry expects that record, which then fails validation on *every* read of
8
+ * the job, so `job_output` **and** `job_list` both report "value is not lossless
9
+ * JSON" and the model can never collect its own result.
10
+ *
11
+ * @module dsh-subagent-codex-pro/jobs
12
+ */
13
+ /**
14
+ * Wrap one delegation as a job outcome.
15
+ *
16
+ * Never rejects: the contract requires a settlement record even when the work
17
+ * failed, so a rejection becomes `status: 'failed'` with the reason in `detail`.
18
+ *
19
+ * @param delegation - the running delegation's promise, already carrying the
20
+ * thread marker the runner appended.
21
+ * @returns the outcome record the jobs registry accepts.
22
+ */
23
+ export async function settleJob(delegation) {
24
+ try {
25
+ const { text } = await delegation;
26
+ return { status: 'completed', result: text };
27
+ }
28
+ catch (error) {
29
+ return {
30
+ status: 'failed',
31
+ detail: error instanceof Error ? error.message : String(error),
32
+ };
33
+ }
34
+ }
35
+ //# sourceMappingURL=jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,UAAqF;IAErF,IAAI,CAAC;QACH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,UAAU,CAAA;QACjC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA;IAC9C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO;YACL,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC/D,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,229 @@
1
+ /**
2
+ * Newline-delimited JSON-RPC 2.0 over a child process's stdio.
3
+ *
4
+ * The official Codex provider gets this from
5
+ * `@deepseek-ai/dsh-sdk-protocol`'s `JsonRpcLineTransport`. This plugin keeps
6
+ * zero runtime dependencies, so the transport lives here — and it is a small,
7
+ * well-understood piece: frame by line, correlate by id, surface every failure
8
+ * instead of leaving a caller pending forever.
9
+ *
10
+ * Framing: one JSON object per line, `\n`-terminated, on both directions. A
11
+ * partial line is buffered; a malformed line is reported and skipped, because a
12
+ * protocol peer that emits one bad frame should not take the session down.
13
+ *
14
+ * @module dsh-subagent-codex-pro/jsonrpc
15
+ */
16
+ /** A JSON-RPC peer speaking one object per line. */
17
+ export class LineTransport {
18
+ #nextId = 1;
19
+ #pending = new Map();
20
+ #buffer = '';
21
+ #disposed;
22
+ // Explicit fields rather than constructor parameter properties: Node's native
23
+ // TypeScript support strips types only, and rejects that syntax, so a source
24
+ // file the tests import must avoid it.
25
+ #toPeer;
26
+ #fromPeer;
27
+ #hooks;
28
+ constructor(toPeer, fromPeer, hooks = {}) {
29
+ this.#toPeer = toPeer;
30
+ this.#fromPeer = fromPeer;
31
+ this.#hooks = hooks;
32
+ fromPeer.on('data', (chunk) => {
33
+ this.#ingest(typeof chunk === 'string' ? chunk : chunk.toString('utf8'));
34
+ });
35
+ }
36
+ /**
37
+ * Replace the message hooks.
38
+ *
39
+ * The wire installs its handlers after construction, which keeps the transport
40
+ * independent of the product methods layered on top of it.
41
+ *
42
+ * @param hooks - the handlers to install.
43
+ */
44
+ setHooks(hooks) {
45
+ this.#hooks = hooks;
46
+ }
47
+ /**
48
+ * Wait until everything written so far has left this process.
49
+ *
50
+ * Writes go to the peer's stream synchronously, so there is nothing to drain;
51
+ * the method exists because the protocol's handshake uses it as an explicit
52
+ * write barrier between `initialized` and `thread/start`.
53
+ *
54
+ * @returns a promise that is already settled.
55
+ */
56
+ flush() {
57
+ return Promise.resolve();
58
+ }
59
+ /**
60
+ * Send one request and await its response.
61
+ *
62
+ * @param method - the JSON-RPC method.
63
+ * @param params - its params.
64
+ * @param options - optional caller cancellation and a response deadline.
65
+ * @returns the peer's `result`.
66
+ */
67
+ request(method, params, options = {}) {
68
+ if (this.#disposed !== undefined)
69
+ return Promise.reject(this.#disposed);
70
+ const id = this.#nextId;
71
+ this.#nextId += 1;
72
+ return new Promise((resolve, reject) => {
73
+ // Every path — response, timeout, abort, dispose — settles through here
74
+ // exactly once. It must call the Promise's own `resolve`/`reject`, never a
75
+ // stored wrapper: a wrapper that calls back into this function deletes the
76
+ // pending entry and then does nothing, so the caller stays pending forever
77
+ // while `pendingCount` reads zero.
78
+ let settled = false;
79
+ const finish = (error, value) => {
80
+ // Idempotence lives here, not in the pending map: `dispose` removes every
81
+ // entry before settling it, so a map lookup would silently skip the very
82
+ // requests it is trying to fail, and their callers would wait forever.
83
+ if (settled)
84
+ return;
85
+ settled = true;
86
+ this.#pending.delete(id);
87
+ if (entry.timer !== undefined)
88
+ clearTimeout(entry.timer);
89
+ entry.abort?.();
90
+ if (error === undefined)
91
+ resolve(value);
92
+ else
93
+ reject(error);
94
+ };
95
+ const entry = {
96
+ finish,
97
+ timer: undefined,
98
+ abort: undefined,
99
+ };
100
+ this.#pending.set(id, entry);
101
+ if (options.timeoutMs !== undefined) {
102
+ entry.timer = setTimeout(() => {
103
+ entry.finish(new Error(`jsonrpc: "${method}" timed out after ${String(options.timeoutMs)} ms`));
104
+ }, options.timeoutMs);
105
+ entry.timer.unref?.();
106
+ }
107
+ const signal = options.signal;
108
+ if (signal !== undefined) {
109
+ const onAbort = () => { entry.finish(abortFailure(method, signal)); };
110
+ if (signal.aborted) {
111
+ onAbort();
112
+ return;
113
+ }
114
+ signal.addEventListener('abort', onAbort, { once: true });
115
+ entry.abort = () => { signal.removeEventListener('abort', onAbort); };
116
+ }
117
+ this.#write({ jsonrpc: '2.0', id, method, params });
118
+ });
119
+ }
120
+ /**
121
+ * Send one notification; nothing is awaited.
122
+ *
123
+ * @param method - the JSON-RPC method.
124
+ * @param params - its params.
125
+ */
126
+ notify(method, params) {
127
+ if (this.#disposed !== undefined)
128
+ return;
129
+ this.#write(params === undefined ? { jsonrpc: '2.0', method } : { jsonrpc: '2.0', method, params });
130
+ }
131
+ /**
132
+ * Fail every in-flight request and stop reading.
133
+ *
134
+ * @param reason - why the transport is going away.
135
+ */
136
+ dispose(reason = new Error('jsonrpc: transport disposed')) {
137
+ if (this.#disposed !== undefined)
138
+ return;
139
+ this.#disposed = reason;
140
+ const pending = [...this.#pending.values()];
141
+ this.#pending.clear();
142
+ for (const entry of pending) {
143
+ entry.finish(reason);
144
+ }
145
+ }
146
+ /** How many requests are still awaiting a response. */
147
+ get pendingCount() {
148
+ return this.#pending.size;
149
+ }
150
+ /** Write one message, reporting a broken pipe rather than throwing into a caller. */
151
+ #write(message) {
152
+ try {
153
+ this.#toPeer.write(`${JSON.stringify(message)}\n`);
154
+ }
155
+ catch (error) {
156
+ const failure = error instanceof Error ? error : new Error(String(error));
157
+ this.#hooks.onProblem?.(failure);
158
+ this.dispose(new Error(`jsonrpc: write failed: ${failure.message}`));
159
+ }
160
+ }
161
+ /** Split one read chunk into lines and handle each complete one. */
162
+ #ingest(chunk) {
163
+ this.#buffer += chunk;
164
+ for (;;) {
165
+ const newline = this.#buffer.indexOf('\n');
166
+ if (newline < 0)
167
+ break;
168
+ const line = this.#buffer.slice(0, newline).trim();
169
+ this.#buffer = this.#buffer.slice(newline + 1);
170
+ if (line === '')
171
+ continue;
172
+ let message;
173
+ try {
174
+ message = JSON.parse(line);
175
+ }
176
+ catch (error) {
177
+ // One malformed frame is the peer's problem, not the session's.
178
+ this.#hooks.onProblem?.(new Error(`jsonrpc: ignoring an undecodable line (${String(error)}): ${line.slice(0, 200)}`));
179
+ continue;
180
+ }
181
+ this.#handle(message);
182
+ }
183
+ }
184
+ /** Route one decoded message to its response, request, or notification path. */
185
+ #handle(message) {
186
+ if (message.id !== undefined && message.method === undefined) {
187
+ const entry = this.#pending.get(message.id);
188
+ if (entry === undefined)
189
+ return;
190
+ if (message.error !== undefined) {
191
+ const detail = message.error.data === undefined ? '' : `: ${JSON.stringify(message.error.data).slice(0, 400)}`;
192
+ entry.finish(new Error(`${message.error.message ?? 'jsonrpc error'} (code ${String(message.error.code ?? '?')})${detail}`));
193
+ return;
194
+ }
195
+ entry.finish(undefined, message.result);
196
+ return;
197
+ }
198
+ if (message.method === undefined)
199
+ return;
200
+ if (message.id !== undefined) {
201
+ // A request from the peer: it wants an answer.
202
+ const id = message.id;
203
+ void Promise.resolve()
204
+ .then(() => this.#hooks.onRequest?.(message.method, message.params))
205
+ .then((result) => { this.#write({ jsonrpc: '2.0', id, result: result ?? null }); }, (error) => {
206
+ this.#write({
207
+ jsonrpc: '2.0',
208
+ id,
209
+ error: { code: -32_000, message: error instanceof Error ? error.message : String(error) },
210
+ });
211
+ });
212
+ return;
213
+ }
214
+ this.#hooks.onNotification?.(message.method, message.params);
215
+ }
216
+ }
217
+ /**
218
+ * Describe an aborted request.
219
+ *
220
+ * @param method - the method that was cancelled.
221
+ * @param signal - the signal that fired.
222
+ * @returns the failure to reject with.
223
+ */
224
+ function abortFailure(method, signal) {
225
+ const reason = signal.reason;
226
+ const detail = reason instanceof Error ? `: ${reason.message}` : reason === undefined ? '' : `: ${String(reason)}`;
227
+ return new Error(`jsonrpc: "${method}" was aborted${detail}`);
228
+ }
229
+ //# sourceMappingURL=jsonrpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jsonrpc.js","sourceRoot":"","sources":["../src/jsonrpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,101 @@
1
+ #!/usr/bin/env node
2
+ /** One request on stdin, one versioned receipt on stdout. No DSH parent required. */
3
+ import { readFileSync } from 'node:fs';
4
+ import { MachineInputError, parseMachineRequest, runMachine, MACHINE_LIFECYCLE_CAPABILITIES } from "./machine.js";
5
+ const MAX_INPUT_BYTES = 1024 * 1024;
6
+ // A consumer may close the read end before the receipt is written. EPIPE is a
7
+ // consumer choice, not a crash; exit non-zero so the outer owner sees the lost
8
+ // receipt without an unhandled stack. Other stdout errors remain fatal.
9
+ process.stdout.on('error', (error) => {
10
+ if (error.code === 'EPIPE')
11
+ process.exit(1);
12
+ throw error;
13
+ });
14
+ const argv = process.argv.slice(2);
15
+ const controller = new AbortController();
16
+ let cancelledBy;
17
+ const cancel = (signal) => {
18
+ cancelledBy ??= signal;
19
+ controller.abort();
20
+ };
21
+ const term = () => cancel('SIGTERM');
22
+ const interrupt = () => cancel('SIGINT');
23
+ async function input() {
24
+ let bytes = 0;
25
+ const chunks = [];
26
+ const stopInput = () => { process.stdin.destroy(new Error('input cancelled')); };
27
+ controller.signal.addEventListener('abort', stopInput, { once: true });
28
+ try {
29
+ if (controller.signal.aborted)
30
+ throw new MachineInputError('input cancelled');
31
+ for await (const chunk of process.stdin) {
32
+ const buffer = Buffer.isBuffer(chunk) ? chunk : Buffer.from(String(chunk));
33
+ bytes += buffer.length;
34
+ if (bytes > MAX_INPUT_BYTES)
35
+ throw new MachineInputError('stdin exceeds the 1 MiB request limit');
36
+ chunks.push(buffer);
37
+ }
38
+ try {
39
+ return JSON.parse(Buffer.concat(chunks).toString('utf8'));
40
+ }
41
+ catch {
42
+ throw new MachineInputError('stdin must contain one JSON request');
43
+ }
44
+ }
45
+ finally {
46
+ controller.signal.removeEventListener('abort', stopInput);
47
+ }
48
+ }
49
+ async function main() {
50
+ if (argv.length === 1 && ['--help', '-h'].includes(argv[0] ?? '')) {
51
+ process.stdout.write('Usage: codex-pro-machine [--json] < request.json\n'
52
+ + 'Read one protocol=1 request and emit one JSON receipt. SIGINT/SIGTERM cancel and await cleanup.\n'
53
+ + 'Use --capabilities for the offline protocol declaration.\n');
54
+ return 0;
55
+ }
56
+ if (argv.length === 1 && argv[0] === '--version') {
57
+ const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
58
+ process.stdout.write(pkg.version + '\n');
59
+ return 0;
60
+ }
61
+ if (argv.length === 1 && argv[0] === '--capabilities') {
62
+ process.stdout.write(JSON.stringify({
63
+ protocol: 1, type: 'capabilities', package: 'dsh-subagent-codex-pro',
64
+ platform: process.platform, supported: process.platform !== 'win32',
65
+ permissions: ['read-only', 'workspace-write', 'dangerously-bypass-approvals-and-sandbox'],
66
+ input: 'single-json-document', maxInputBytes: MAX_INPUT_BYTES,
67
+ cancellation: ['SIGINT', 'SIGTERM'], ownership: 'supervised-group',
68
+ effortEvidence: 'accepted-request-only', cost: 'unknown', inferenceRequests: 0,
69
+ // The single-document CLI stays terminal-only; typed ACKs use the JS API.
70
+ javascriptLifecycle: MACHINE_LIFECYCLE_CAPABILITIES,
71
+ }) + '\n');
72
+ return 0;
73
+ }
74
+ if (argv.length > 1 || (argv.length === 1 && argv[0] !== '--json')) {
75
+ throw new MachineInputError('unsupported command argument; use --help');
76
+ }
77
+ const request = parseMachineRequest(await input());
78
+ const receipt = await runMachine(request, { signal: controller.signal });
79
+ process.stdout.write(JSON.stringify(receipt) + '\n');
80
+ return receipt.ok ? 0 : 1;
81
+ }
82
+ process.on('SIGTERM', term);
83
+ process.on('SIGINT', interrupt);
84
+ try {
85
+ process.exitCode = await main();
86
+ }
87
+ catch (error) {
88
+ process.stdout.write(JSON.stringify({
89
+ protocol: 1, type: 'error', requestId: null,
90
+ error: { code: error instanceof MachineInputError ? error.code : 'INPUT_ERROR',
91
+ message: error instanceof MachineInputError ? error.message : 'machine request could not be read' },
92
+ }) + '\n');
93
+ process.exitCode = 2;
94
+ }
95
+ finally {
96
+ if (cancelledBy !== undefined)
97
+ process.exitCode = cancelledBy === 'SIGTERM' ? 143 : 130;
98
+ process.off('SIGTERM', term);
99
+ process.off('SIGINT', interrupt);
100
+ }
101
+ //# sourceMappingURL=machine-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-cli.js","sourceRoot":"","sources":["../src/machine-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ /** Private one-run implementation, supervised by the public machine API. */
2
+ import { randomUUID } from 'node:crypto';
3
+ import { CodexRunFailure, DEFAULT_RUN_TIMEOUT_MS, startCodexRun } from "./run.js";
4
+ import { parseMachineRequest } from "./machine.js";
5
+ /** Bound a diagnostic without retaining arbitrary server output. */
6
+ function boundedDiagnostic(value) {
7
+ return value.replace(/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]/gu, '?').slice(0, 4096);
8
+ }
9
+ /** Include the cause of a startup failure, which carries the actionable reason. */
10
+ function failureDiagnostic(error) {
11
+ if (error === undefined)
12
+ return 'codex-pro: run could not be initialized';
13
+ const cause = error.cause;
14
+ const causeMessage = cause instanceof Error ? cause.message : typeof cause === 'string' ? cause : undefined;
15
+ const base = error.message;
16
+ const detail = causeMessage === undefined || base.includes(causeMessage)
17
+ ? base
18
+ : base + ': ' + causeMessage;
19
+ return boundedDiagnostic(detail);
20
+ }
21
+ /** Private supervisor entry; callers use runMachine so caller death cannot lose cleanup persistence. */
22
+ export async function runMachineLocal(value, options = {}, id = randomUUID(), persistReceipt) {
23
+ const request = parseMachineRequest(value);
24
+ let sequence = 0;
25
+ let dispatch = 'not-dispatched';
26
+ let last;
27
+ const emit = async (event, patch = {}) => {
28
+ if (options.onLifecycle === undefined)
29
+ return;
30
+ sequence += 1;
31
+ const lifecycle = { threadId: null, turnId: null,
32
+ persistent: request.threadMode === 'persistent' || request.threadId !== undefined,
33
+ configuration: null, dispatch, outcome: 'unknown', cleanupConfirmed: false, ...last, ...patch,
34
+ // Identity/order never come from an inherited or caller-provided snapshot.
35
+ lifecycleVersion: 1, type: 'lifecycle', requestId: request.requestId, runId: id, sequence, event };
36
+ last = lifecycle;
37
+ await options.onLifecycle(lifecycle);
38
+ };
39
+ const finish = async (receipt) => {
40
+ // Native facts are final here. Persist them BEFORE a terminal notification
41
+ // can be lost; delivery failure must not turn a known outcome into cancellation.
42
+ persistReceipt?.(receipt);
43
+ const run = receipt.outcome ?? receipt.failure;
44
+ const execution = run?.execution;
45
+ const terminal = receipt.ok ? 'completed' : execution?.cancelled === true ? 'cancelled'
46
+ : dispatch === 'not-dispatched' ? 'failed' : 'unknown';
47
+ const facts = {
48
+ threadId: execution?.threadId ?? last?.threadId ?? null, turnId: execution?.turnId ?? last?.turnId ?? null,
49
+ configuration: (run?.configuration ?? last?.configuration ?? null),
50
+ dispatch, outcome: terminal, cleanupConfirmed: run?.cleanup?.confirmed === true,
51
+ };
52
+ try {
53
+ await emit('terminal', facts);
54
+ }
55
+ catch { /* The original receipt was already made durable. */ }
56
+ if (facts.cleanupConfirmed === true) {
57
+ try {
58
+ await emit('cleanup-confirmed', facts);
59
+ }
60
+ catch { /* A failed final ACK is not new model execution. */ }
61
+ }
62
+ return receipt;
63
+ };
64
+ const requested = {
65
+ cwd: request.cwd, model: request.model, effort: request.effort,
66
+ permissionMode: request.permissionMode, threadId: request.threadId ?? null,
67
+ };
68
+ const spec = {
69
+ runId: id,
70
+ cwd: request.cwd,
71
+ command: request.command ?? 'codex',
72
+ model: request.model,
73
+ effort: request.effort,
74
+ permissionMode: request.permissionMode,
75
+ runTimeoutMs: request.timeoutMs ?? DEFAULT_RUN_TIMEOUT_MS,
76
+ threadMode: request.threadMode ?? (request.threadId === undefined ? 'ephemeral' : 'persistent'),
77
+ ...(request.threadId === undefined ? {} : { resumeThreadId: request.threadId }),
78
+ ...(request.maxOutputBytes === undefined ? {} : { maxOutputBytes: request.maxOutputBytes }),
79
+ ...(request.images === undefined ? {} : { images: request.images }),
80
+ ...(request.outputSchema === undefined ? {} : { outputSchema: request.outputSchema }),
81
+ ...(options.env === undefined ? {} : { env: options.env }),
82
+ ...(options.onProgress === undefined ? {} : { onProgress: options.onProgress }),
83
+ ...(options.onLifecycle === undefined ? {} : { onLifecycle: async (event) => {
84
+ if (event.event === 'dispatch-possible')
85
+ dispatch = 'possible';
86
+ if (event.event === 'turn-accepted')
87
+ dispatch = 'accepted';
88
+ await emit(event.event, { threadId: event.threadId, turnId: event.turnId,
89
+ configuration: event.configuration, dispatch });
90
+ } }),
91
+ };
92
+ let receipt;
93
+ try {
94
+ const run = await startCodexRun([{ type: 'text', text: request.prompt }], spec, options.signal ?? new AbortController().signal);
95
+ const outcome = await run.result;
96
+ receipt = {
97
+ protocol: 1, type: 'result', requestId: request.requestId, runId: run.id,
98
+ ok: outcome.stopReason === 'completed' && outcome.cleanup.confirmed,
99
+ requested, outcome, failure: null, costUSD: null, costStatus: 'unknown',
100
+ };
101
+ }
102
+ catch (error) {
103
+ const failure = error instanceof CodexRunFailure ? error : undefined;
104
+ receipt = {
105
+ protocol: 1, type: 'result', requestId: request.requestId,
106
+ runId: failure?.execution?.runId ?? id, ok: false, requested, outcome: null,
107
+ failure: {
108
+ stage: failure?.facts.stage ?? 'initialize', category: failure?.facts.category ?? 'runtime',
109
+ diagnostic: failureDiagnostic(failure),
110
+ execution: failure?.execution ?? null,
111
+ configuration: failure?.configuration ?? null,
112
+ usage: failure?.usage ?? null,
113
+ rateLimits: failure?.rateLimits ?? null,
114
+ turnConfiguration: failure?.turnConfiguration ?? null,
115
+ cleanup: failure?.cleanup ?? null,
116
+ },
117
+ costUSD: null, costStatus: 'unknown',
118
+ };
119
+ }
120
+ return finish(receipt);
121
+ }
122
+ //# sourceMappingURL=machine-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"machine-local.js","sourceRoot":"","sources":["../src/machine-local.ts"],"names":[],"mappings":"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"}