@undefineds.co/linx 0.3.26 → 0.3.28

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 (362) hide show
  1. package/README.md +4 -3
  2. package/dist/index.js +3 -832
  3. package/dist/index.js.map +1 -1
  4. package/dist/lib/agent-stream-bridge-contract.js +2 -0
  5. package/dist/lib/agent-stream-bridge-contract.js.map +1 -0
  6. package/dist/lib/auto-mode/auth.js +100 -2
  7. package/dist/lib/auto-mode/auth.js.map +1 -1
  8. package/dist/lib/auto-mode/backend-kind.js +13 -0
  9. package/dist/lib/auto-mode/backend-kind.js.map +1 -0
  10. package/dist/lib/auto-mode/display.js +1 -1
  11. package/dist/lib/auto-mode/display.js.map +1 -1
  12. package/dist/lib/auto-mode/format.js +1 -1
  13. package/dist/lib/auto-mode/format.js.map +1 -1
  14. package/dist/lib/auto-mode/hooks/{index.js → registry.js} +1 -1
  15. package/dist/lib/auto-mode/hooks/registry.js.map +1 -0
  16. package/dist/lib/auto-mode/pod-ai.js +1 -14
  17. package/dist/lib/auto-mode/pod-ai.js.map +1 -1
  18. package/dist/lib/auto-mode/pod-approval-store.js +596 -0
  19. package/dist/lib/auto-mode/pod-approval-store.js.map +1 -0
  20. package/dist/lib/auto-mode/pod-approval.js +4 -607
  21. package/dist/lib/auto-mode/pod-approval.js.map +1 -1
  22. package/dist/lib/auto-mode/pod-persistence-builders.js +266 -0
  23. package/dist/lib/auto-mode/pod-persistence-builders.js.map +1 -0
  24. package/dist/lib/auto-mode/pod-persistence.js +1 -281
  25. package/dist/lib/auto-mode/pod-persistence.js.map +1 -1
  26. package/dist/lib/auto-mode/runner.js +41 -378
  27. package/dist/lib/auto-mode/runner.js.map +1 -1
  28. package/dist/lib/auto-mode/runtime.js +25 -0
  29. package/dist/lib/auto-mode/runtime.js.map +1 -0
  30. package/dist/lib/auto-mode/secretary-reaction-window.js +12 -0
  31. package/dist/lib/auto-mode/secretary-reaction-window.js.map +1 -0
  32. package/dist/lib/auto-mode/secretary-runtime-config.js +66 -0
  33. package/dist/lib/auto-mode/secretary-runtime-config.js.map +1 -0
  34. package/dist/lib/auto-mode/secretary.js +2 -64
  35. package/dist/lib/auto-mode/secretary.js.map +1 -1
  36. package/dist/lib/auto-mode/session-log.js +25 -0
  37. package/dist/lib/auto-mode/session-log.js.map +1 -0
  38. package/dist/lib/auto-mode/shell-command.js +172 -0
  39. package/dist/lib/auto-mode/shell-command.js.map +1 -0
  40. package/dist/lib/auto-mode-command.js +2 -1
  41. package/dist/lib/auto-mode-command.js.map +1 -1
  42. package/dist/lib/backend-command-router-contract.js +2 -0
  43. package/dist/lib/backend-command-router-contract.js.map +1 -0
  44. package/dist/lib/{pi-adapter/backend-credentials.js → backend-credentials.js} +8 -8
  45. package/dist/lib/backend-credentials.js.map +1 -0
  46. package/dist/lib/linx-ai-connect-command.js +201 -0
  47. package/dist/lib/linx-ai-connect-command.js.map +1 -0
  48. package/dist/lib/linx-assistant-message-rendering.js +33 -0
  49. package/dist/lib/linx-assistant-message-rendering.js.map +1 -0
  50. package/dist/lib/linx-auto-command-routing.js +53 -0
  51. package/dist/lib/linx-auto-command-routing.js.map +1 -0
  52. package/dist/lib/linx-auto-editor-indicator-host.js +15 -0
  53. package/dist/lib/linx-auto-editor-indicator-host.js.map +1 -0
  54. package/dist/lib/linx-auto-editor-indicator.js +56 -0
  55. package/dist/lib/linx-auto-editor-indicator.js.map +1 -0
  56. package/dist/lib/linx-auto-mode-cli-admission.js +16 -0
  57. package/dist/lib/linx-auto-mode-cli-admission.js.map +1 -0
  58. package/dist/lib/linx-backend-command-router.js +64 -0
  59. package/dist/lib/linx-backend-command-router.js.map +1 -0
  60. package/dist/lib/linx-backend-event-source.js +32 -0
  61. package/dist/lib/linx-backend-event-source.js.map +1 -0
  62. package/dist/lib/linx-chat-completion-projection.js +276 -0
  63. package/dist/lib/linx-chat-completion-projection.js.map +1 -0
  64. package/dist/lib/linx-cloud-errors.js +1 -0
  65. package/dist/lib/linx-cloud-errors.js.map +1 -1
  66. package/dist/lib/linx-cloud-models.js +75 -0
  67. package/dist/lib/linx-cloud-models.js.map +1 -0
  68. package/dist/lib/linx-cloud-runtime-auth.js +146 -0
  69. package/dist/lib/linx-cloud-runtime-auth.js.map +1 -0
  70. package/dist/lib/linx-cloud-runtime-coordinator.js +102 -0
  71. package/dist/lib/linx-cloud-runtime-coordinator.js.map +1 -0
  72. package/dist/lib/linx-codex-plugin-command.js +56 -0
  73. package/dist/lib/linx-codex-plugin-command.js.map +1 -0
  74. package/dist/lib/linx-command-autocomplete.js +123 -0
  75. package/dist/lib/linx-command-autocomplete.js.map +1 -0
  76. package/dist/lib/linx-completion-backend.js +2 -0
  77. package/dist/lib/linx-completion-backend.js.map +1 -0
  78. package/dist/lib/linx-config-command.js +12 -0
  79. package/dist/lib/linx-config-command.js.map +1 -0
  80. package/dist/lib/linx-editor-component-router.js +83 -0
  81. package/dist/lib/linx-editor-component-router.js.map +1 -0
  82. package/dist/lib/linx-extension-ui-context-router.js +43 -0
  83. package/dist/lib/linx-extension-ui-context-router.js.map +1 -0
  84. package/dist/lib/linx-external-open-host.js +8 -0
  85. package/dist/lib/linx-external-open-host.js.map +1 -0
  86. package/dist/lib/linx-external-url.js +16 -0
  87. package/dist/lib/linx-external-url.js.map +1 -0
  88. package/dist/lib/linx-footer-patch.js +52 -0
  89. package/dist/lib/linx-footer-patch.js.map +1 -0
  90. package/dist/lib/linx-input-command-routing.js +65 -0
  91. package/dist/lib/linx-input-command-routing.js.map +1 -0
  92. package/dist/lib/linx-interactive-auth-state-host.js +50 -0
  93. package/dist/lib/linx-interactive-auth-state-host.js.map +1 -0
  94. package/dist/lib/linx-interactive-autocomplete-host.js +32 -0
  95. package/dist/lib/linx-interactive-autocomplete-host.js.map +1 -0
  96. package/dist/lib/linx-interactive-bootstrap.js +66 -0
  97. package/dist/lib/linx-interactive-bootstrap.js.map +1 -0
  98. package/dist/lib/linx-interactive-branding.js +24 -0
  99. package/dist/lib/linx-interactive-branding.js.map +1 -0
  100. package/dist/lib/linx-interactive-chat-text-host.js +16 -0
  101. package/dist/lib/linx-interactive-chat-text-host.js.map +1 -0
  102. package/dist/lib/linx-interactive-command-routing-host.js +31 -0
  103. package/dist/lib/linx-interactive-command-routing-host.js.map +1 -0
  104. package/dist/lib/linx-interactive-command-routing.js +75 -0
  105. package/dist/lib/linx-interactive-command-routing.js.map +1 -0
  106. package/dist/lib/linx-interactive-command-surface.js +16 -0
  107. package/dist/lib/linx-interactive-command-surface.js.map +1 -0
  108. package/dist/lib/linx-interactive-editor-text-host.js +16 -0
  109. package/dist/lib/linx-interactive-editor-text-host.js.map +1 -0
  110. package/dist/lib/linx-interactive-error-display.js +8 -0
  111. package/dist/lib/linx-interactive-error-display.js.map +1 -0
  112. package/dist/lib/linx-interactive-event-router.js +91 -0
  113. package/dist/lib/linx-interactive-event-router.js.map +1 -0
  114. package/dist/lib/linx-interactive-extension-input-host.js +7 -0
  115. package/dist/lib/linx-interactive-extension-input-host.js.map +1 -0
  116. package/dist/lib/linx-interactive-extension-selector-host.js +12 -0
  117. package/dist/lib/linx-interactive-extension-selector-host.js.map +1 -0
  118. package/dist/lib/linx-interactive-header-host.js +14 -0
  119. package/dist/lib/linx-interactive-header-host.js.map +1 -0
  120. package/dist/lib/linx-interactive-lifecycle-host.js +4 -0
  121. package/dist/lib/linx-interactive-lifecycle-host.js.map +1 -0
  122. package/dist/lib/linx-interactive-login-ui-router.js +81 -0
  123. package/dist/lib/linx-interactive-login-ui-router.js.map +1 -0
  124. package/dist/lib/linx-interactive-model-registry-host.js +14 -0
  125. package/dist/lib/linx-interactive-model-registry-host.js.map +1 -0
  126. package/dist/lib/linx-interactive-post-init.js +60 -0
  127. package/dist/lib/linx-interactive-post-init.js.map +1 -0
  128. package/dist/lib/linx-interactive-provider-count-host.js +4 -0
  129. package/dist/lib/linx-interactive-provider-count-host.js.map +1 -0
  130. package/dist/lib/linx-interactive-run-router.js +43 -0
  131. package/dist/lib/linx-interactive-run-router.js.map +1 -0
  132. package/dist/lib/linx-interactive-runtime-host.js +113 -0
  133. package/dist/lib/linx-interactive-runtime-host.js.map +1 -0
  134. package/dist/lib/linx-interactive-selector-host.js +12 -0
  135. package/dist/lib/linx-interactive-selector-host.js.map +1 -0
  136. package/dist/lib/linx-interactive-shell-state.js +215 -0
  137. package/dist/lib/linx-interactive-shell-state.js.map +1 -0
  138. package/dist/lib/linx-interactive-status-display.js +9 -0
  139. package/dist/lib/linx-interactive-status-display.js.map +1 -0
  140. package/dist/lib/linx-interactive-stop-router.js +85 -0
  141. package/dist/lib/linx-interactive-stop-router.js.map +1 -0
  142. package/dist/lib/linx-interactive-streaming-message-host.js +11 -0
  143. package/dist/lib/linx-interactive-streaming-message-host.js.map +1 -0
  144. package/dist/lib/linx-interactive-submit-router.js +63 -0
  145. package/dist/lib/linx-interactive-submit-router.js.map +1 -0
  146. package/dist/lib/linx-interactive-update-router.js +78 -0
  147. package/dist/lib/linx-interactive-update-router.js.map +1 -0
  148. package/dist/lib/linx-interactive-update-state-host.js +43 -0
  149. package/dist/lib/linx-interactive-update-state-host.js.map +1 -0
  150. package/dist/lib/linx-interactive-warning-display.js +4 -0
  151. package/dist/lib/linx-interactive-warning-display.js.map +1 -0
  152. package/dist/lib/linx-interrupt-control-host.js +22 -0
  153. package/dist/lib/linx-interrupt-control-host.js.map +1 -0
  154. package/dist/lib/linx-interrupt-control.js +116 -0
  155. package/dist/lib/linx-interrupt-control.js.map +1 -0
  156. package/dist/lib/linx-login-flow.js +566 -0
  157. package/dist/lib/linx-login-flow.js.map +1 -0
  158. package/dist/lib/linx-models-command.js +71 -0
  159. package/dist/lib/linx-models-command.js.map +1 -0
  160. package/dist/lib/linx-package-command.js +117 -0
  161. package/dist/lib/linx-package-command.js.map +1 -0
  162. package/dist/lib/linx-peer-command-routing.js +20 -0
  163. package/dist/lib/linx-peer-command-routing.js.map +1 -0
  164. package/dist/lib/linx-pi-cli-command.js +121 -0
  165. package/dist/lib/linx-pi-cli-command.js.map +1 -0
  166. package/dist/lib/linx-pi-completion-events.js +101 -0
  167. package/dist/lib/linx-pi-completion-events.js.map +1 -0
  168. package/dist/lib/linx-pi-normalized-event-stream.js +41 -0
  169. package/dist/lib/linx-pi-normalized-event-stream.js.map +1 -0
  170. package/dist/lib/linx-pi-resume-cli-admission.js +21 -0
  171. package/dist/lib/linx-pi-resume-cli-admission.js.map +1 -0
  172. package/dist/lib/linx-pi-runtime-execution.js +67 -0
  173. package/dist/lib/linx-pi-runtime-execution.js.map +1 -0
  174. package/dist/lib/linx-pi-startup-control.js +49 -0
  175. package/dist/lib/linx-pi-startup-control.js.map +1 -0
  176. package/dist/lib/linx-pi-startup-plan.js +103 -0
  177. package/dist/lib/linx-pi-startup-plan.js.map +1 -0
  178. package/dist/lib/linx-pi-stream-errors.js +10 -0
  179. package/dist/lib/linx-pi-stream-errors.js.map +1 -0
  180. package/dist/lib/linx-pod-backed-extension-ui.js +29 -0
  181. package/dist/lib/linx-pod-backed-extension-ui.js.map +1 -0
  182. package/dist/lib/linx-pod-data-session-factory.js +19 -0
  183. package/dist/lib/linx-pod-data-session-factory.js.map +1 -0
  184. package/dist/lib/linx-pod-mirror-runtime-host.js +50 -0
  185. package/dist/lib/linx-pod-mirror-runtime-host.js.map +1 -0
  186. package/dist/lib/linx-pod-mirror-sync-cli-admission.js +18 -0
  187. package/dist/lib/linx-pod-mirror-sync-cli-admission.js.map +1 -0
  188. package/dist/lib/linx-pod-mirror-sync-command.js +30 -0
  189. package/dist/lib/linx-pod-mirror-sync-command.js.map +1 -0
  190. package/dist/lib/{pi-adapter/sync-recovery.js → linx-pod-mirror-sync-recovery.js} +13 -13
  191. package/dist/lib/linx-pod-mirror-sync-recovery.js.map +1 -0
  192. package/dist/lib/{pi-adapter/pod-mirror.js → linx-pod-mirror.js} +63 -40
  193. package/dist/lib/linx-pod-mirror.js.map +1 -0
  194. package/dist/lib/linx-restored-auto-startup.js +21 -0
  195. package/dist/lib/linx-restored-auto-startup.js.map +1 -0
  196. package/dist/lib/linx-resume-output.js +209 -0
  197. package/dist/lib/linx-resume-output.js.map +1 -0
  198. package/dist/lib/linx-retired-command.js +22 -0
  199. package/dist/lib/linx-retired-command.js.map +1 -0
  200. package/dist/lib/linx-rewind-command.js +209 -0
  201. package/dist/lib/linx-rewind-command.js.map +1 -0
  202. package/dist/lib/linx-runtime-adapter-contract.js +2 -0
  203. package/dist/lib/linx-runtime-adapter-contract.js.map +1 -0
  204. package/dist/lib/linx-runtime-adapter-defaults.js +17 -0
  205. package/dist/lib/linx-runtime-adapter-defaults.js.map +1 -0
  206. package/dist/lib/linx-runtime-adapter-dependencies.js +2 -0
  207. package/dist/lib/linx-runtime-adapter-dependencies.js.map +1 -0
  208. package/dist/lib/linx-runtime-agent-session.js +130 -0
  209. package/dist/lib/linx-runtime-agent-session.js.map +1 -0
  210. package/dist/lib/linx-runtime-auth.js +5 -0
  211. package/dist/lib/linx-runtime-auth.js.map +1 -0
  212. package/dist/lib/linx-runtime-backend-composition.js +73 -0
  213. package/dist/lib/linx-runtime-backend-composition.js.map +1 -0
  214. package/dist/lib/linx-runtime-coding-tools.js +58 -0
  215. package/dist/lib/linx-runtime-coding-tools.js.map +1 -0
  216. package/dist/lib/linx-runtime-completion-backend.js +27 -0
  217. package/dist/lib/linx-runtime-completion-backend.js.map +1 -0
  218. package/dist/lib/linx-runtime-oauth-provider.js +57 -0
  219. package/dist/lib/linx-runtime-oauth-provider.js.map +1 -0
  220. package/dist/lib/linx-runtime-provider-registration.js +33 -0
  221. package/dist/lib/linx-runtime-provider-registration.js.map +1 -0
  222. package/dist/lib/linx-runtime-resources.js +167 -0
  223. package/dist/lib/linx-runtime-resources.js.map +1 -0
  224. package/dist/lib/linx-runtime-system-prompt.js +27 -0
  225. package/dist/lib/linx-runtime-system-prompt.js.map +1 -0
  226. package/dist/lib/linx-runtime-thinking.js +21 -0
  227. package/dist/lib/linx-runtime-thinking.js.map +1 -0
  228. package/dist/lib/linx-selector-choice.js +38 -0
  229. package/dist/lib/linx-selector-choice.js.map +1 -0
  230. package/dist/lib/linx-self-update.js +113 -0
  231. package/dist/lib/linx-self-update.js.map +1 -0
  232. package/dist/lib/linx-session-command-routing-host.js +24 -0
  233. package/dist/lib/linx-session-command-routing-host.js.map +1 -0
  234. package/dist/lib/linx-session-command-routing.js +68 -0
  235. package/dist/lib/linx-session-command-routing.js.map +1 -0
  236. package/dist/lib/linx-session-cwd-router.js +15 -0
  237. package/dist/lib/linx-session-cwd-router.js.map +1 -0
  238. package/dist/lib/linx-session-history.js +388 -0
  239. package/dist/lib/linx-session-history.js.map +1 -0
  240. package/dist/lib/{pi-adapter/session.js → linx-session-manager.js} +94 -46
  241. package/dist/lib/linx-session-manager.js.map +1 -0
  242. package/dist/lib/linx-session-metadata.js +55 -0
  243. package/dist/lib/linx-session-metadata.js.map +1 -0
  244. package/dist/lib/linx-session-selector-ui.js +32 -0
  245. package/dist/lib/linx-session-selector-ui.js.map +1 -0
  246. package/dist/lib/linx-session-thinking-capability-router.js +55 -0
  247. package/dist/lib/linx-session-thinking-capability-router.js.map +1 -0
  248. package/dist/lib/linx-session-work-control.js +187 -0
  249. package/dist/lib/linx-session-work-control.js.map +1 -0
  250. package/dist/lib/linx-shell-command-executor.js +41 -0
  251. package/dist/lib/linx-shell-command-executor.js.map +1 -0
  252. package/dist/lib/linx-shell-command-router.js +151 -0
  253. package/dist/lib/linx-shell-command-router.js.map +1 -0
  254. package/dist/lib/{pi-adapter/control-state.js → linx-startup-control-state.js} +6 -6
  255. package/dist/lib/linx-startup-control-state.js.map +1 -0
  256. package/dist/lib/linx-startup-login-policy.js +48 -0
  257. package/dist/lib/linx-startup-login-policy.js.map +1 -0
  258. package/dist/lib/linx-status-line-command.js +382 -0
  259. package/dist/lib/linx-status-line-command.js.map +1 -0
  260. package/dist/lib/{status-line-command.js → linx-status-line-config-command.js} +2 -12
  261. package/dist/lib/linx-status-line-config-command.js.map +1 -0
  262. package/dist/lib/linx-status-line.js +12 -4
  263. package/dist/lib/linx-status-line.js.map +1 -1
  264. package/dist/lib/linx-stream-abort.js +12 -0
  265. package/dist/lib/linx-stream-abort.js.map +1 -0
  266. package/dist/lib/linx-stream-error-formatting.js +54 -0
  267. package/dist/lib/linx-stream-error-formatting.js.map +1 -0
  268. package/dist/lib/linx-submitted-user-message-recording.js +16 -0
  269. package/dist/lib/linx-submitted-user-message-recording.js.map +1 -0
  270. package/dist/lib/linx-symphony-interactive-command.js +493 -0
  271. package/dist/lib/linx-symphony-interactive-command.js.map +1 -0
  272. package/dist/lib/linx-terminal-title-router.js +49 -0
  273. package/dist/lib/linx-terminal-title-router.js.map +1 -0
  274. package/dist/lib/{pi-adapter/theme.js → linx-theme.js} +2 -2
  275. package/dist/lib/linx-theme.js.map +1 -0
  276. package/dist/lib/linx-top-level-command-admission.js +27 -0
  277. package/dist/lib/linx-top-level-command-admission.js.map +1 -0
  278. package/dist/lib/linx-update-notification.js +209 -0
  279. package/dist/lib/linx-update-notification.js.map +1 -0
  280. package/dist/lib/linx-welcome-header.js +148 -0
  281. package/dist/lib/linx-welcome-header.js.map +1 -0
  282. package/dist/lib/linx-workspace-command.js +45 -0
  283. package/dist/lib/linx-workspace-command.js.map +1 -0
  284. package/dist/lib/native-backend-command-router.js +25 -0
  285. package/dist/lib/native-backend-command-router.js.map +1 -0
  286. package/dist/lib/native-backend-proxy.js +2 -0
  287. package/dist/lib/native-backend-proxy.js.map +1 -0
  288. package/dist/lib/native-backend-stream-backend.js +15 -0
  289. package/dist/lib/native-backend-stream-backend.js.map +1 -0
  290. package/dist/lib/oidc-auth.js +2 -4
  291. package/dist/lib/oidc-auth.js.map +1 -1
  292. package/dist/lib/pi-adapter/runtime.js +32 -841
  293. package/dist/lib/pi-adapter/runtime.js.map +1 -1
  294. package/dist/lib/pi-adapter/stream.js +17 -516
  295. package/dist/lib/pi-adapter/stream.js.map +1 -1
  296. package/dist/lib/{pi-adapter/pod-approval.js → pod-backed-extension-ui-context.js} +2 -2
  297. package/dist/lib/pod-backed-extension-ui-context.js.map +1 -0
  298. package/dist/lib/pod-chat-store-runtime.js +38 -0
  299. package/dist/lib/pod-chat-store-runtime.js.map +1 -0
  300. package/dist/lib/pod-chat-store.js +15 -65
  301. package/dist/lib/pod-chat-store.js.map +1 -1
  302. package/dist/lib/{pi-adapter/pod-mirror-mapping.js → pod-mirror-mapping.js} +8 -18
  303. package/dist/lib/pod-mirror-mapping.js.map +1 -0
  304. package/dist/lib/{pi-adapter/pod-native.js → pod-native.js} +1 -1
  305. package/dist/lib/pod-native.js.map +1 -0
  306. package/dist/lib/pod-status-output.js.map +1 -0
  307. package/dist/lib/{pi-adapter/auto-input-controller.js → secretary-auto-input-controller.js} +62 -77
  308. package/dist/lib/secretary-auto-input-controller.js.map +1 -0
  309. package/dist/lib/{pi-adapter/session-control.js → session-control.js} +80 -29
  310. package/dist/lib/session-control.js.map +1 -0
  311. package/dist/lib/shell-lifecycle.js +199 -0
  312. package/dist/lib/shell-lifecycle.js.map +1 -0
  313. package/dist/lib/solid-local-store.js +3 -3
  314. package/dist/lib/solid-local-store.js.map +1 -1
  315. package/dist/lib/symphony/pod-projection.js +1 -31
  316. package/dist/lib/symphony/pod-projection.js.map +1 -1
  317. package/dist/lib/{symphony-command.js → symphony/run.js} +11 -16
  318. package/dist/lib/symphony/run.js.map +1 -0
  319. package/dist/lib/symphony/runtime.js +30 -0
  320. package/dist/lib/symphony/runtime.js.map +1 -0
  321. package/dist/lib/symphony/status.js +242 -0
  322. package/dist/lib/symphony/status.js.map +1 -0
  323. package/dist/linx-cli-app.js +70 -0
  324. package/dist/linx-cli-app.js.map +1 -0
  325. package/dist/linx-cli-runtime-adapter-factory.js +12 -0
  326. package/dist/linx-cli-runtime-adapter-factory.js.map +1 -0
  327. package/dist/plugins/linx-symphony-codex/.codex-plugin/plugin.json +1 -1
  328. package/package.json +1 -1
  329. package/dist/lib/auto-mode/hooks/index.js.map +0 -1
  330. package/dist/lib/auto-mode/index.js +0 -10
  331. package/dist/lib/auto-mode/index.js.map +0 -1
  332. package/dist/lib/codex-plugin/index.js +0 -5
  333. package/dist/lib/codex-plugin/index.js.map +0 -1
  334. package/dist/lib/pi-adapter/auth.js +0 -68
  335. package/dist/lib/pi-adapter/auth.js.map +0 -1
  336. package/dist/lib/pi-adapter/auto-input-controller.js.map +0 -1
  337. package/dist/lib/pi-adapter/backend-command.js +0 -2
  338. package/dist/lib/pi-adapter/backend-command.js.map +0 -1
  339. package/dist/lib/pi-adapter/backend-credentials.js.map +0 -1
  340. package/dist/lib/pi-adapter/branding.js +0 -1188
  341. package/dist/lib/pi-adapter/branding.js.map +0 -1
  342. package/dist/lib/pi-adapter/control-state.js.map +0 -1
  343. package/dist/lib/pi-adapter/index.js +0 -4
  344. package/dist/lib/pi-adapter/index.js.map +0 -1
  345. package/dist/lib/pi-adapter/interactive.js +0 -3191
  346. package/dist/lib/pi-adapter/interactive.js.map +0 -1
  347. package/dist/lib/pi-adapter/pod-approval.js.map +0 -1
  348. package/dist/lib/pi-adapter/pod-mirror-mapping.js.map +0 -1
  349. package/dist/lib/pi-adapter/pod-mirror.js.map +0 -1
  350. package/dist/lib/pi-adapter/pod-native.js.map +0 -1
  351. package/dist/lib/pi-adapter/pod-status-output.js.map +0 -1
  352. package/dist/lib/pi-adapter/pod-tools.js +0 -140
  353. package/dist/lib/pi-adapter/pod-tools.js.map +0 -1
  354. package/dist/lib/pi-adapter/session-control.js.map +0 -1
  355. package/dist/lib/pi-adapter/session.js.map +0 -1
  356. package/dist/lib/pi-adapter/sync-recovery.js.map +0 -1
  357. package/dist/lib/pi-adapter/theme.js.map +0 -1
  358. package/dist/lib/pi-adapter/web-fetch.js +0 -170
  359. package/dist/lib/pi-adapter/web-fetch.js.map +0 -1
  360. package/dist/lib/status-line-command.js.map +0 -1
  361. package/dist/lib/symphony-command.js.map +0 -1
  362. /package/dist/lib/{pi-adapter/pod-status-output.js → pod-status-output.js} +0 -0
@@ -0,0 +1,209 @@
1
+ import { Container, getKeybindings, Spacer, Text, truncateToWidth } from '@earendil-works/pi-tui';
2
+ import { getLinxInteractiveAutoInputController, isLinxInteractiveAutoModeEnabled, setLinxInteractiveAutoModeEnabled, } from './linx-interactive-shell-state.js';
3
+ import { showLinxInteractiveError } from './linx-interactive-error-display.js';
4
+ import { showLinxInteractiveStatus } from './linx-interactive-status-display.js';
5
+ import { showLinxInteractiveWarning } from './linx-interactive-warning-display.js';
6
+ import { refreshLinxInteractiveChatTranscript } from './linx-interactive-chat-text-host.js';
7
+ import { canShowLinxInteractiveSelector, showLinxInteractiveSelector } from './linx-interactive-selector-host.js';
8
+ import { getLinxPodMirrorForInteractiveRuntime } from './linx-pod-mirror-runtime-host.js';
9
+ import { assertLinxRewindUserEntryTarget, collectLinxRewindUserMessages, describeLinxRewindTarget, hasLinxSessionHistory, rewindLinxSessionHistoryBeforeUserEntry, rewindLinxSessionHistoryByTurns, } from './linx-session-history.js';
10
+ import { stopLinxInteractiveSessionWork } from './linx-session-work-control.js';
11
+ export async function handleInteractiveRewindSelector(interactive, runtime) {
12
+ if (!hasLinxSessionHistory({ interactive, runtime })) {
13
+ showLinxInteractiveError(interactive, 'Cannot rewind: no active LinX session history.');
14
+ showLinxInteractiveStatus(interactive, null);
15
+ return;
16
+ }
17
+ if (!canShowLinxInteractiveSelector(interactive)) {
18
+ await handleInteractiveRewindTurnsCommand(interactive, runtime, 1);
19
+ return;
20
+ }
21
+ const userMessages = collectLinxRewindUserMessages({ interactive, runtime });
22
+ if (userMessages.length === 0) {
23
+ showLinxInteractiveStatus(interactive, 'Nothing to rewind: no user turns in the active branch.');
24
+ return;
25
+ }
26
+ const initialSelectedId = userMessages[userMessages.length - 1]?.id;
27
+ showLinxInteractiveSelector(interactive, (done) => {
28
+ const selector = new LinxRewindMessageSelectorComponent(userMessages, async (entryId) => {
29
+ try {
30
+ assertLinxRewindUserEntryTarget({ interactive, runtime }, entryId);
31
+ await stopLinxInteractiveSessionWork(interactive, runtime);
32
+ resetPendingAutoInputForRewind(interactive, runtime);
33
+ const result = rewindLinxSessionHistoryBeforeUserEntry({ interactive, runtime }, entryId);
34
+ if (!result) {
35
+ throw new Error('Cannot rewind: no active LinX session history.');
36
+ }
37
+ refreshInteractiveTranscriptAfterRewind(interactive);
38
+ await syncRewindProjection(interactive, runtime, result);
39
+ const target = describeLinxRewindTarget(result.targetLeafId, result.cleanResult);
40
+ const suffix = formatRemainingMessageSuffix(result.remainingMessages);
41
+ showLinxInteractiveStatus(interactive, `Rewound to before selected message at ${target}.${suffix}`);
42
+ done();
43
+ }
44
+ catch (error) {
45
+ done();
46
+ showLinxInteractiveError(interactive, error instanceof Error ? error.message : String(error));
47
+ }
48
+ }, () => {
49
+ done();
50
+ showLinxInteractiveStatus(interactive, null);
51
+ }, initialSelectedId);
52
+ return { component: selector, focus: selector.getMessageList() };
53
+ });
54
+ }
55
+ export async function handleInteractiveRewindTurnsCommand(interactive, runtime, turns) {
56
+ if (!Number.isSafeInteger(turns) || turns <= 0) {
57
+ showLinxInteractiveStatus(interactive, 'Usage: /rewind [turns] where turns is a positive integer.');
58
+ return;
59
+ }
60
+ if (!hasLinxSessionHistory({ interactive, runtime })) {
61
+ showLinxInteractiveError(interactive, 'Cannot rewind: no active LinX session history.');
62
+ showLinxInteractiveStatus(interactive, null);
63
+ return;
64
+ }
65
+ await stopLinxInteractiveSessionWork(interactive, runtime);
66
+ resetPendingAutoInputForRewind(interactive, runtime);
67
+ const result = rewindLinxSessionHistoryByTurns({ interactive, runtime }, turns);
68
+ if (!result || result.rewound === 0) {
69
+ showLinxInteractiveStatus(interactive, 'Nothing to rewind: no user turns in the active branch.');
70
+ return;
71
+ }
72
+ refreshInteractiveTranscriptAfterRewind(interactive);
73
+ await syncRewindProjection(interactive, runtime, result);
74
+ const target = describeLinxRewindTarget(result.targetLeafId, result.cleanResult);
75
+ const suffix = formatRemainingMessageSuffix(result.remainingMessages);
76
+ showLinxInteractiveStatus(interactive, `Rewound ${result.rewound} turn${result.rewound === 1 ? '' : 's'} to ${target}.${suffix}`);
77
+ }
78
+ function resetPendingAutoInputForRewind(interactive, runtime) {
79
+ const controller = getLinxInteractiveAutoInputController(interactive);
80
+ if (!isLinxInteractiveAutoModeEnabled(interactive, runtime) || !controller) {
81
+ return;
82
+ }
83
+ try {
84
+ controller.stop();
85
+ controller.start({ scheduleImmediately: false });
86
+ }
87
+ catch (error) {
88
+ const message = error instanceof Error ? error.message : String(error);
89
+ showLinxInteractiveWarning(interactive, `Auto input reset after rewind failed: ${message}`);
90
+ }
91
+ setLinxInteractiveAutoModeEnabled(interactive, runtime, true);
92
+ }
93
+ async function syncRewindProjection(interactive, runtime, input) {
94
+ if (input.cleanResult.warning) {
95
+ showLinxInteractiveWarning(interactive, `Clean rewind history materialization skipped: ${input.cleanResult.warning}`);
96
+ }
97
+ const mirror = getLinxPodMirrorForInteractiveRuntime(interactive, runtime);
98
+ if (!mirror || typeof mirror.syncRewindProjection !== 'function') {
99
+ return;
100
+ }
101
+ try {
102
+ await mirror.syncRewindProjection({
103
+ previousSessionId: input.previousState.id,
104
+ previousSessionFile: input.previousState.file,
105
+ previousCreatedAt: input.previousState.createdAt,
106
+ cleanSessionId: input.cleanResult.id,
107
+ cleanSessionFile: input.cleanResult.file,
108
+ abandonedEntries: input.abandonedEntries,
109
+ });
110
+ }
111
+ catch (error) {
112
+ const message = error instanceof Error ? error.message : String(error);
113
+ showLinxInteractiveWarning(interactive, `Pod rewind projection unavailable: ${message}`);
114
+ }
115
+ }
116
+ function refreshInteractiveTranscriptAfterRewind(interactive) {
117
+ try {
118
+ refreshLinxInteractiveChatTranscript(interactive);
119
+ }
120
+ catch (error) {
121
+ const message = error instanceof Error ? error.message : String(error);
122
+ showLinxInteractiveWarning(interactive, `Rewind transcript refresh failed: ${message}`);
123
+ }
124
+ }
125
+ function formatRemainingMessageSuffix(remainingMessages) {
126
+ return remainingMessages === undefined ? '' : ` Active context now has ${remainingMessages} message${remainingMessages === 1 ? '' : 's'}.`;
127
+ }
128
+ class LinxRewindMessageList {
129
+ messages;
130
+ selectedIndex;
131
+ onSelect;
132
+ onCancel;
133
+ maxVisible = 10;
134
+ constructor(messages, initialSelectedId) {
135
+ this.messages = messages;
136
+ const initialIndex = initialSelectedId
137
+ ? messages.findIndex((message) => message.id === initialSelectedId)
138
+ : -1;
139
+ this.selectedIndex = initialIndex >= 0 ? initialIndex : Math.max(0, messages.length - 1);
140
+ }
141
+ invalidate() {
142
+ // No cached render state.
143
+ }
144
+ render(width) {
145
+ const lines = [];
146
+ if (this.messages.length === 0) {
147
+ return [' No user messages found'];
148
+ }
149
+ const startIndex = Math.max(0, Math.min(this.selectedIndex - Math.floor(this.maxVisible / 2), this.messages.length - this.maxVisible));
150
+ const endIndex = Math.min(startIndex + this.maxVisible, this.messages.length);
151
+ for (let index = startIndex; index < endIndex; index += 1) {
152
+ const message = this.messages[index];
153
+ const isSelected = index === this.selectedIndex;
154
+ const cursor = isSelected ? '> ' : ' ';
155
+ const normalized = message.text.replace(/\n/g, ' ').trim();
156
+ lines.push(`${cursor}${truncateToWidth(normalized, Math.max(1, width - 2))}`);
157
+ lines.push(` Rewind before message ${index + 1} of ${this.messages.length}`);
158
+ lines.push('');
159
+ }
160
+ if (startIndex > 0 || endIndex < this.messages.length) {
161
+ lines.push(` (${this.selectedIndex + 1}/${this.messages.length})`);
162
+ }
163
+ return lines;
164
+ }
165
+ handleInput(keyData) {
166
+ const keybindings = getKeybindings();
167
+ if (keybindings.matches(keyData, 'tui.select.up')) {
168
+ this.selectedIndex = this.selectedIndex === 0 ? this.messages.length - 1 : this.selectedIndex - 1;
169
+ return;
170
+ }
171
+ if (keybindings.matches(keyData, 'tui.select.down')) {
172
+ this.selectedIndex = this.selectedIndex === this.messages.length - 1 ? 0 : this.selectedIndex + 1;
173
+ return;
174
+ }
175
+ if (keybindings.matches(keyData, 'tui.select.confirm')) {
176
+ const selected = this.messages[this.selectedIndex];
177
+ if (selected) {
178
+ this.onSelect?.(selected.id);
179
+ }
180
+ return;
181
+ }
182
+ if (keybindings.matches(keyData, 'tui.select.cancel')) {
183
+ this.onCancel?.();
184
+ }
185
+ }
186
+ }
187
+ class LinxRewindMessageSelectorComponent extends Container {
188
+ messageList;
189
+ constructor(messages, onSelect, onCancel, initialSelectedId) {
190
+ super();
191
+ this.addChild(new Spacer(1));
192
+ this.addChild(new Text('Rewind to Message', 1, 0));
193
+ this.addChild(new Text('Select the first user message to remove from the active branch.', 1, 0));
194
+ this.addChild(new Text('The selected message and everything after it stay in history but leave the active context.', 1, 0));
195
+ this.addChild(new Spacer(1));
196
+ this.messageList = new LinxRewindMessageList(messages, initialSelectedId);
197
+ this.messageList.onSelect = onSelect;
198
+ this.messageList.onCancel = onCancel;
199
+ this.addChild(this.messageList);
200
+ this.addChild(new Spacer(1));
201
+ if (messages.length === 0) {
202
+ setTimeout(() => onCancel(), 100);
203
+ }
204
+ }
205
+ getMessageList() {
206
+ return this.messageList;
207
+ }
208
+ }
209
+ //# sourceMappingURL=linx-rewind-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-rewind-command.js","sourceRoot":"","sources":["../../src/lib/linx-rewind-command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=linx-runtime-adapter-contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-runtime-adapter-contract.js","sourceRoot":"","sources":["../../src/lib/linx-runtime-adapter-contract.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ export const DEFAULT_LINX_RUNTIME_BACKEND_MODE = 'cloud';
2
+ export const DEFAULT_LINX_NATIVE_WORKER_BACKEND = 'codex';
3
+ export const DEFAULT_LINX_CLOUD_RUNTIME_URL = 'https://api.undefineds.co/v1';
4
+ export const DEFAULT_LINX_RUNTIME_SESSION_ID = 'undefineds_pi_frontend';
5
+ export function resolveLinxRuntimeAdapterCwd(cwd) {
6
+ return typeof cwd === 'string' && cwd.trim() ? cwd : process.cwd();
7
+ }
8
+ export function resolveLinxRuntimeBackendMode(backend) {
9
+ return backend ?? DEFAULT_LINX_RUNTIME_BACKEND_MODE;
10
+ }
11
+ export function resolveLinxRuntimeWorkerBackend(input) {
12
+ return input.workerBackend ?? (input.backendMode === 'native' ? DEFAULT_LINX_NATIVE_WORKER_BACKEND : undefined);
13
+ }
14
+ export function resolveLinxRuntimeBaseUrl(baseUrl) {
15
+ return typeof baseUrl === 'string' && baseUrl.trim() ? baseUrl : DEFAULT_LINX_CLOUD_RUNTIME_URL;
16
+ }
17
+ //# sourceMappingURL=linx-runtime-adapter-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-runtime-adapter-defaults.js","sourceRoot":"","sources":["../../src/lib/linx-runtime-adapter-defaults.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,iCAAiC,GAAG,OAAO,CAAA;AACxD,MAAM,CAAC,MAAM,kCAAkC,GAA0B,OAAO,CAAA;AAChF,MAAM,CAAC,MAAM,8BAA8B,GAAG,8BAA8B,CAAA;AAC5E,MAAM,CAAC,MAAM,+BAA+B,GAAG,wBAAwB,CAAA;AAIvE,MAAM,UAAU,4BAA4B,CAAC,GAAY;IACvD,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;AACpE,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAAgC;IAC5E,OAAO,OAAO,IAAI,iCAAiC,CAAA;AACrD,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAG/C;IACC,OAAO,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AACjH,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAA;AACjG,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=linx-runtime-adapter-dependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-runtime-adapter-dependencies.js","sourceRoot":"","sources":["../../src/lib/linx-runtime-adapter-dependencies.ts"],"names":[],"mappings":""}
@@ -0,0 +1,130 @@
1
+ import { AuthStorage, ModelRegistry, SettingsManager, createAgentSessionFromServices, createAgentSessionRuntime, createAgentSessionServices, } from '@earendil-works/pi-coding-agent';
2
+ import { loadCredentials } from './credentials-store.js';
3
+ import { LINX_CLOUD_PROVIDER_ID, LINX_CLOUD_PROVIDER_LABEL } from './linx-cloud-models.js';
4
+ import { createLinxBearerAuthFetch, resolveLinxCloudRuntimeAuthFetch } from './linx-cloud-runtime-auth.js';
5
+ import { createLinxRuntimeProviderRegistration } from './linx-runtime-provider-registration.js';
6
+ import { createLinxManagedRuntimeOAuthProvider } from './linx-runtime-oauth-provider.js';
7
+ import { LINX_WEB_ACCESS_PACKAGE_SOURCE, ensurePiWebAccessConfig, resolveBundledLinxSkillsDir, resolveBundledPiPackageRoot, resolveInstalledMarketSkillDirs, withLinxSkillSourceInfo, } from './linx-runtime-resources.js';
8
+ import { overrideLinxSystemPrompt } from './linx-runtime-system-prompt.js';
9
+ import { enableLinxXhighThinking } from './linx-runtime-thinking.js';
10
+ import { ensureLinxTheme } from './linx-theme.js';
11
+ const UNDEFINEDS_AUTH_BRIDGE_ID = 'undefineds-cloud-oauth-bridge';
12
+ export async function createLinxAgentSessionRuntime(options) {
13
+ const authStorage = AuthStorage.inMemory();
14
+ const modelRegistry = ModelRegistry.inMemory(authStorage);
15
+ const linxOAuthProvider = options.oauth ?? createLinxManagedRuntimeOAuthProvider({
16
+ issuerUrl: options.issuerUrl,
17
+ getPodDataSession: options.getPodDataSession,
18
+ syncProviderModels: options.cloudRuntime.syncProviderModels,
19
+ });
20
+ const storedCredentials = options.oauth ? null : loadCredentials();
21
+ const hasManagedPodSession = !options.oauth && Boolean(options.getPodDataSession);
22
+ const explicitOAuthCredential = options.oauth
23
+ ? await options.oauth.login()
24
+ : null;
25
+ if (storedCredentials || hasManagedPodSession) {
26
+ const authFetch = await resolveLinxCloudRuntimeAuthFetch({
27
+ issuerUrl: options.issuerUrl,
28
+ getPodDataSession: options.getPodDataSession,
29
+ });
30
+ await options.cloudRuntime.syncProviderModels({ runtimeFetch: authFetch }, { refreshOnAuthExpired: true });
31
+ }
32
+ else if (explicitOAuthCredential?.access) {
33
+ await options.cloudRuntime.syncProviderModels({ runtimeFetch: createLinxBearerAuthFetch(explicitOAuthCredential.access) });
34
+ }
35
+ const context = options.context;
36
+ const settingsManager = SettingsManager.create(context.cwd, context.agentDir);
37
+ ensureLinxTheme(context.agentDir);
38
+ ensurePiWebAccessConfig();
39
+ settingsManager.setTheme('linx');
40
+ const { defaultModelId } = createLinxRuntimeProviderRegistration({
41
+ authStorage,
42
+ modelRegistry,
43
+ settingsManager,
44
+ baseUrl: options.baseUrl,
45
+ requestedModel: options.requestedModel,
46
+ streamSimple: options.streamSimple,
47
+ providerModels: options.cloudRuntime.providerModels,
48
+ oauth: linxOAuthProvider,
49
+ explicitOAuthCredential,
50
+ useManagedRuntimeAuth: !options.oauth,
51
+ });
52
+ const bundledSkillsDir = resolveBundledLinxSkillsDir();
53
+ const marketSkillDirs = resolveInstalledMarketSkillDirs();
54
+ const additionalSkillPaths = [
55
+ ...(bundledSkillsDir ? [bundledSkillsDir] : []),
56
+ ...marketSkillDirs,
57
+ ];
58
+ const bundledPackagePaths = [
59
+ resolveBundledPiPackageRoot(LINX_WEB_ACCESS_PACKAGE_SOURCE),
60
+ ].filter((path) => Boolean(path));
61
+ const services = await createAgentSessionServices({
62
+ cwd: context.cwd,
63
+ agentDir: context.agentDir,
64
+ authStorage,
65
+ settingsManager,
66
+ modelRegistry,
67
+ resourceLoaderOptions: {
68
+ // Built-in: pi-web-access handles web_search, fetch_content, and related web tools.
69
+ additionalExtensionPaths: bundledPackagePaths,
70
+ additionalSkillPaths,
71
+ skillsOverride: (base) => withLinxSkillSourceInfo(base, {
72
+ bundledSkillsDir,
73
+ marketSkillDirs,
74
+ }),
75
+ systemPromptOverride: overrideLinxSystemPrompt,
76
+ },
77
+ });
78
+ const selectedModel = modelRegistry.find(LINX_CLOUD_PROVIDER_ID, defaultModelId)
79
+ ?? modelRegistry.getAvailable().find((candidate) => candidate.provider === LINX_CLOUD_PROVIDER_ID);
80
+ if (!selectedModel) {
81
+ throw new Error('Failed to resolve undefineds model from the LinX runtime adapter');
82
+ }
83
+ const created = await createAgentSessionFromServices({
84
+ services,
85
+ sessionManager: context.sessionManager,
86
+ sessionStartEvent: context.sessionStartEvent,
87
+ model: selectedModel,
88
+ });
89
+ const session = created.session;
90
+ enableLinxXhighThinking(session);
91
+ if (session.model?.provider !== selectedModel.provider || session.model.id !== selectedModel.id) {
92
+ await session.setModel(selectedModel);
93
+ }
94
+ const runtime = await createAgentSessionRuntime(async () => ({
95
+ ...created,
96
+ session,
97
+ services,
98
+ diagnostics: services.diagnostics,
99
+ }), {
100
+ cwd: context.cwd,
101
+ agentDir: context.agentDir,
102
+ sessionManager: context.sessionManager,
103
+ sessionStartEvent: context.sessionStartEvent,
104
+ });
105
+ runtime.backend = 'linx';
106
+ runtime.runtimeBackend = options.workerBackend;
107
+ runtime.autoEnabled = options.autoEnabled === true;
108
+ runtime.symphonyEnabled = options.symphonyEnabled === true;
109
+ runtime.linxAuthBridge = {
110
+ description: UNDEFINEDS_AUTH_BRIDGE_ID,
111
+ providerId: LINX_CLOUD_PROVIDER_ID,
112
+ providerLabel: LINX_CLOUD_PROVIDER_LABEL,
113
+ runtimeUrl: options.baseUrl,
114
+ shouldPromptLoginOnStart: options.cloudRuntime.shouldPromptLoginOnStart(),
115
+ };
116
+ if (options.backendCommandRouter) {
117
+ ;
118
+ runtime.backendCommandRouter = options.backendCommandRouter;
119
+ }
120
+ if (options.backendSessionRef) {
121
+ ;
122
+ runtime.backendSessionRef = options.backendSessionRef;
123
+ }
124
+ if (options.getPodDataSession) {
125
+ ;
126
+ runtime.getPodDataSession = options.getPodDataSession;
127
+ }
128
+ return runtime;
129
+ }
130
+ //# sourceMappingURL=linx-runtime-agent-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-runtime-agent-session.js","sourceRoot":"","sources":["../../src/lib/linx-runtime-agent-session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export const LINX_RUNTIME_MANAGED_AUTH_KEY = 'linx-runtime-managed-auth';
2
+ export function isLinxRuntimeManagedAuthKey(value) {
3
+ return value?.trim() === LINX_RUNTIME_MANAGED_AUTH_KEY;
4
+ }
5
+ //# sourceMappingURL=linx-runtime-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-runtime-auth.js","sourceRoot":"","sources":["../../src/lib/linx-runtime-auth.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,6BAA6B,GAAG,2BAA2B,CAAA;AAExE,MAAM,UAAU,2BAA2B,CAAC,KAAyB;IACnE,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,6BAA6B,CAAA;AACxD,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { createLinxCloudRuntimeCoordinator } from './linx-cloud-runtime-coordinator.js';
2
+ import { createLinxRuntimeCompletionBackend } from './linx-runtime-completion-backend.js';
3
+ import { DEFAULT_LINX_RUNTIME_SESSION_ID, resolveLinxRuntimeAdapterCwd, resolveLinxRuntimeBackendMode, resolveLinxRuntimeWorkerBackend, resolveLinxRuntimeBaseUrl, } from './linx-runtime-adapter-defaults.js';
4
+ import { createNativeBackendCommandRouter } from './native-backend-command-router.js';
5
+ import { createNativeBackendStreamBackend } from './native-backend-stream-backend.js';
6
+ export function createRuntimeBackendComposition(dependencies, options = {}) {
7
+ const backendMode = resolveLinxRuntimeBackendMode(options.backend);
8
+ const workerBackend = resolveLinxRuntimeWorkerBackend({ backendMode, workerBackend: options.workerBackend });
9
+ const cwd = resolveLinxRuntimeAdapterCwd(options.cwd);
10
+ const requestedModel = options.model?.trim() || undefined;
11
+ const baseUrl = resolveLinxRuntimeBaseUrl(options.providerConfig?.baseUrl);
12
+ const cloudRuntime = createLinxCloudRuntimeCoordinator({
13
+ requestedModel,
14
+ runtimeUrl: baseUrl,
15
+ issuerUrl: options.providerConfig?.issuerUrl,
16
+ getPodDataSession: options.getPodDataSession,
17
+ createRemoteCompletion: dependencies.createRemoteCompletion,
18
+ listRemoteModels: dependencies.listRemoteModels,
19
+ });
20
+ const proxy = backendMode === 'native'
21
+ ? dependencies.createNativeProxy?.({
22
+ cwd,
23
+ model: requestedModel,
24
+ listenPort: options.port,
25
+ autoEnabled: options.autoEnabled,
26
+ codexApprovalPolicy: options.codexApprovalPolicy,
27
+ passthroughArgs: options.passthroughArgs,
28
+ env: options.backendEnv,
29
+ resolveEnv: options.resolveBackendEnv,
30
+ })
31
+ : null;
32
+ if (backendMode === 'native' && !proxy) {
33
+ throw new Error('Native LinX runtime backend requires createNativeProxy');
34
+ }
35
+ if (backendMode === 'cloud' && !options.providerConfig?.oauth && !dependencies.createRemoteCompletion) {
36
+ throw new Error('Cloud LinX runtime backend requires createRemoteCompletion');
37
+ }
38
+ const commandRouter = createNativeBackendCommandRouter(proxy);
39
+ return {
40
+ remoteUrl: proxy?.remoteUrl ?? baseUrl,
41
+ sessionId: proxy?.record.id ?? DEFAULT_LINX_RUNTIME_SESSION_ID,
42
+ cwd: proxy?.record.cwd ?? cwd,
43
+ model: proxy?.record.model ?? cloudRuntime.getActiveModelId(),
44
+ requestedModel,
45
+ baseUrl,
46
+ issuerUrl: options.providerConfig?.issuerUrl,
47
+ oauth: options.providerConfig?.oauth,
48
+ getPodDataSession: options.getPodDataSession,
49
+ workerBackend,
50
+ autoEnabled: options.autoEnabled === true,
51
+ symphonyEnabled: options.symphonyEnabled === true,
52
+ cloudRuntime,
53
+ streamBackend: createNativeBackendStreamBackend(proxy),
54
+ completionBackend: !proxy && dependencies.createRemoteCompletion
55
+ ? createLinxRuntimeCompletionBackend({
56
+ cloudRuntime,
57
+ runtimeUrl: baseUrl,
58
+ issuerUrl: options.providerConfig?.issuerUrl,
59
+ getPodDataSession: options.getPodDataSession,
60
+ useExplicitOAuthProvider: Boolean(options.providerConfig?.oauth),
61
+ })
62
+ : undefined,
63
+ commandRouter,
64
+ backendSessionRef: proxy?.record,
65
+ async start() {
66
+ await proxy?.start();
67
+ },
68
+ async close() {
69
+ await proxy?.close();
70
+ },
71
+ };
72
+ }
73
+ //# sourceMappingURL=linx-runtime-backend-composition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-runtime-backend-composition.js","sourceRoot":"","sources":["../../src/lib/linx-runtime-backend-composition.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { delimiter, dirname, join } from 'node:path';
3
+ import { fileURLToPath } from 'node:url';
4
+ import { createCodingTools, createLocalBashOperations, } from '@earendil-works/pi-coding-agent';
5
+ export const DEFAULT_LINX_BASH_TIMEOUT_SECONDS = 15;
6
+ function resolvePackageRoot() {
7
+ return fileURLToPath(new URL('../..', import.meta.url));
8
+ }
9
+ function resolveLinxToolBinDirs(packageRoot = resolvePackageRoot()) {
10
+ const dirs = [];
11
+ let current = packageRoot;
12
+ while (true) {
13
+ const binDir = join(current, 'node_modules', '.bin');
14
+ if (existsSync(binDir)) {
15
+ dirs.push(binDir);
16
+ }
17
+ const parent = dirname(current);
18
+ if (parent === current) {
19
+ break;
20
+ }
21
+ current = parent;
22
+ }
23
+ return dirs;
24
+ }
25
+ function withLinxToolPath(env, packageRoot) {
26
+ const binDirs = resolveLinxToolBinDirs(packageRoot);
27
+ if (binDirs.length === 0) {
28
+ return env ?? process.env;
29
+ }
30
+ const nextEnv = { ...(env ?? process.env) };
31
+ const pathKey = Object.keys(nextEnv).find((key) => key.toLowerCase() === 'path') ?? 'PATH';
32
+ const existingPath = nextEnv[pathKey] ?? '';
33
+ const existingParts = existingPath.split(delimiter).filter(Boolean);
34
+ const existing = new Set(existingParts);
35
+ const prepended = binDirs.filter((dir) => !existing.has(dir));
36
+ nextEnv[pathKey] = [...prepended, ...existingParts].join(delimiter);
37
+ return nextEnv;
38
+ }
39
+ export function createLinxRuntimeCodingTools(cwd, options = {}) {
40
+ const localBashOperations = options.bashOperations ?? createLocalBashOperations();
41
+ const bashTimeoutSeconds = options.bashTimeoutSeconds ?? DEFAULT_LINX_BASH_TIMEOUT_SECONDS;
42
+ return createCodingTools(cwd, {
43
+ bash: {
44
+ operations: {
45
+ exec(command, workingDirectory, options) {
46
+ return localBashOperations.exec(command, workingDirectory ?? cwd, {
47
+ ...options,
48
+ env: withLinxToolPath(options.env),
49
+ timeout: typeof options.timeout === 'number'
50
+ ? options.timeout
51
+ : bashTimeoutSeconds,
52
+ });
53
+ },
54
+ },
55
+ },
56
+ });
57
+ }
58
+ //# sourceMappingURL=linx-runtime-coding-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-runtime-coding-tools.js","sourceRoot":"","sources":["../../src/lib/linx-runtime-coding-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAEL,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,iCAAiC,CAAA;AAExC,MAAM,CAAC,MAAM,iCAAiC,GAAG,EAAE,CAAA;AAEnD,SAAS,kBAAkB;IACzB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AACzD,CAAC;AAED,SAAS,sBAAsB,CAAC,WAAW,GAAG,kBAAkB,EAAE;IAChE,MAAM,IAAI,GAAa,EAAE,CAAA;IACzB,IAAI,OAAO,GAAG,WAAW,CAAA;IACzB,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAA;QACpD,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnB,CAAC;QAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAK;QACP,CAAC;QACD,OAAO,GAAG,MAAM,CAAA;IAClB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAkC,EAAE,WAAoB;IAChF,MAAM,OAAO,GAAG,sBAAsB,CAAC,WAAW,CAAC,CAAA;IACnD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAA;IAC3B,CAAC;IAED,MAAM,OAAO,GAAsB,EAAE,GAAG,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAA;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAA;IAC1F,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;IAC3C,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACnE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAA;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;IAC7D,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACnE,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,GAAW,EAAE,UAGtD,EAAE;IAIJ,MAAM,mBAAmB,GAAG,OAAO,CAAC,cAAc,IAAI,yBAAyB,EAAE,CAAA;IACjF,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,IAAI,iCAAiC,CAAA;IAC1F,OAAO,iBAAiB,CAAC,GAAG,EAAE;QAC5B,IAAI,EAAE;YACJ,UAAU,EAAE;gBACV,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAO;oBACrC,OAAO,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,IAAI,GAAG,EAAE;wBAChE,GAAG,OAAO;wBACV,GAAG,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC;wBAClC,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;4BAC1C,CAAC,CAAC,OAAO,CAAC,OAAO;4BACjB,CAAC,CAAC,kBAAkB;qBACvB,CAAC,CAAA;gBACJ,CAAC;aACF;SACF;KACF,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { resolveLinxCloudRuntimeAuthFetch, resolveRuntimeAuthFetchFromApiKey } from './linx-cloud-runtime-auth.js';
2
+ import { withLinxRuntimeSystemPrompt } from './linx-runtime-system-prompt.js';
3
+ export function createLinxRuntimeCompletionBackend(options) {
4
+ return {
5
+ async complete(input) {
6
+ const authFetch = options.useExplicitOAuthProvider
7
+ ? input.authFetch
8
+ ?? resolveRuntimeAuthFetchFromApiKey(input.apiKey)
9
+ ?? await resolveLinxCloudRuntimeAuthFetch({
10
+ issuerUrl: options.issuerUrl,
11
+ getPodDataSession: options.getPodDataSession,
12
+ })
13
+ : await resolveLinxCloudRuntimeAuthFetch({
14
+ issuerUrl: options.issuerUrl,
15
+ getPodDataSession: options.getPodDataSession,
16
+ });
17
+ return options.cloudRuntime.completeWithAuthRecovery(authFetch, {
18
+ runtimeUrl: options.runtimeUrl,
19
+ model: input.model,
20
+ messages: withLinxRuntimeSystemPrompt(input.systemPrompt, input.messages),
21
+ tools: input.tools,
22
+ signal: input.signal,
23
+ });
24
+ },
25
+ };
26
+ }
27
+ //# sourceMappingURL=linx-runtime-completion-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linx-runtime-completion-backend.js","sourceRoot":"","sources":["../../src/lib/linx-runtime-completion-backend.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gCAAgC,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAA;AAClH,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAA;AAe7E,MAAM,UAAU,kCAAkC,CAAC,OAMlD;IACC,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,KAAK;YAClB,MAAM,SAAS,GAAG,OAAO,CAAC,wBAAwB;gBAChD,CAAC,CAAC,KAAK,CAAC,SAAS;uBACZ,iCAAiC,CAAC,KAAK,CAAC,MAAM,CAAC;uBAC/C,MAAM,gCAAgC,CAAC;wBACxC,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;qBAC7C,CAAC;gBACJ,CAAC,CAAC,MAAM,gCAAgC,CAAC;oBACvC,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;iBAC7C,CAAC,CAAA;YACJ,OAAO,OAAO,CAAC,YAAY,CAAC,wBAAwB,CAAC,SAAS,EAAE;gBAC9D,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC;gBACzE,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;aACrB,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}