bridge: resolve pi SDK via absolute container path (global npm ESM resolution)

This commit is contained in:
Raphael Westphal
2026-08-18 15:47:49 +02:00
parent f8bfaeaa21
commit b5d267e61e
6 changed files with 198 additions and 1 deletions
@@ -0,0 +1,2 @@
[ 272ms] [VERBOSE] [DOM] Input elements should have autocomplete attributes (suggested: "username"): (More info: https://goo.gl.qjz9zk/9p2vKq) %o @ https://git.westphal.fr/user/login?redirect_to=%2Fuser%2Fsettings%2Fapplications:0
[ 25112ms] [VERBOSE] [DOM] Input elements should have autocomplete attributes (suggested: "username"): (More info: https://goo.gl.qjz9zk/9p2vKq) %o @ https://git.westphal.fr/user/login:0
@@ -0,0 +1,4 @@
[ 34ms] [VERBOSE] [DOM] Input elements should have autocomplete attributes (suggested: "username"): (More info: https://goo.gl.qjz9zk/9p2vKq) %o @ https://git.westphal.fr/user/login:0
[ 90246ms] [VERBOSE] [DOM] Input elements should have autocomplete attributes (suggested: "username"): (More info: https://goo.gl.qjz9zk/9p2vKq) %o @ https://git.westphal.fr/user/login:0
[ 90356ms] [VERBOSE] [DOM] Input elements should have autocomplete attributes (suggested: "username"): (More info: https://goo.gl.qjz9zk/9p2vKq) %o @ https://git.westphal.fr/user/login:0
[ 221596ms] [VERBOSE] [DOM] Input elements should have autocomplete attributes (suggested: "username"): (More info: https://goo.gl.qjz9zk/9p2vKq) %o @ https://git.westphal.fr/user/login:0
@@ -0,0 +1,63 @@
- generic [ref=e1]:
- generic [ref=e2]:
- navigation "Navigation Bar" [ref=e3]:
- generic [ref=e4]:
- link "Home" [ref=e5] [cursor=pointer]:
- /url: /
- img [ref=e6]
- link "Explore" [ref=e7] [cursor=pointer]:
- /url: /explore/repos
- link "Help" [ref=e8] [cursor=pointer]:
- /url: https://docs.gitea.com
- link "Sign In" [ref=e10] [cursor=pointer]:
- /url: /user/login
- img [ref=e11]
- generic [ref=e13]: Sign In
- main "Sign In" [ref=e14]:
- generic [ref=e16]:
- generic [ref=e17]:
- heading "Sign In" [level=4] [ref=e18]
- generic [ref=e19]:
- generic [ref=e20]:
- generic [ref=e21]:
- generic [ref=e22]: Username or Email Address *
- textbox "Username or Email Address *" [active] [ref=e23]
- generic [ref=e24]:
- generic [ref=e25]:
- generic [ref=e26]: Password
- link "Forgot password?" [ref=e27] [cursor=pointer]:
- /url: /user/forgot_password
- textbox "Password" [ref=e28]
- generic [ref=e30]:
- generic [ref=e31]: Remember This Device
- checkbox "Remember This Device" [ref=e32]
- button "Sign In" [ref=e34] [cursor=pointer]
- generic [ref=e35]: or
- link "Sign in with OpenID" [ref=e37] [cursor=pointer]:
- /url: /user/login/openid
- img [ref=e38]
- text: Sign in with OpenID
- generic [ref=e42] [cursor=pointer]: Sign in with a passkey
- group "Footer" [ref=e43]:
- contentinfo "About Software" [ref=e44]:
- link "Powered by Gitea" [ref=e45] [cursor=pointer]:
- /url: https://about.gitea.com
- generic [ref=e46]: "Version: 1.26.4"
- generic [ref=e47]:
- text: "Page:"
- strong [ref=e48]: 9ms
- text: "Template:"
- strong [ref=e49]: 0ms
- group "Links" [ref=e50]:
- menu [ref=e51] [cursor=pointer]:
- generic [ref=e53]:
- img [ref=e54]
- text: Auto
- menu [ref=e56] [cursor=pointer]:
- generic [ref=e57]:
- img [ref=e58]
- text: English
- link "Licenses" [ref=e60] [cursor=pointer]:
- /url: /assets/licenses.txt
- link "API" [ref=e61] [cursor=pointer]:
- /url: /api/swagger
@@ -0,0 +1,64 @@
- generic [ref=e1]:
- generic [ref=e2]:
- navigation "Navigation Bar" [ref=e3]:
- generic [ref=e4]:
- link "Home" [ref=e5] [cursor=pointer]:
- /url: /
- img [ref=e6]
- link "Explore" [ref=e7] [cursor=pointer]:
- /url: /explore/repos
- link "Help" [ref=e8] [cursor=pointer]:
- /url: https://docs.gitea.com
- link "Sign In" [ref=e10] [cursor=pointer]:
- /url: /user/login
- img [ref=e11]
- generic [ref=e13]: Sign In
- main "Sign In" [ref=e14]:
- generic [ref=e16]:
- generic [ref=e17]:
- paragraph [ref=e19]: Username or password is incorrect.
- heading "Sign In" [level=4] [ref=e20]
- generic [ref=e21]:
- generic [ref=e22]:
- generic [ref=e23]:
- generic [ref=e24]: Username or Email Address *
- textbox "Username or Email Address *" [active] [ref=e25]: buenosair
- generic [ref=e26]:
- generic [ref=e27]:
- generic [ref=e28]: Password
- link "Forgot password?" [ref=e29] [cursor=pointer]:
- /url: /user/forgot_password
- textbox "Password" [ref=e30]: reddeee1
- generic [ref=e32]:
- generic [ref=e33]: Remember This Device
- checkbox "Remember This Device" [ref=e34]
- button "Sign In" [ref=e36] [cursor=pointer]
- generic [ref=e37]: or
- link "Sign in with OpenID" [ref=e39] [cursor=pointer]:
- /url: /user/login/openid
- img [ref=e40]
- text: Sign in with OpenID
- generic [ref=e44] [cursor=pointer]: Sign in with a passkey
- group "Footer" [ref=e45]:
- contentinfo "About Software" [ref=e46]:
- link "Powered by Gitea" [ref=e47] [cursor=pointer]:
- /url: https://about.gitea.com
- generic [ref=e48]: "Version: 1.26.4"
- generic [ref=e49]:
- text: "Page:"
- strong [ref=e50]: 31ms
- text: "Template:"
- strong [ref=e51]: 1ms
- group "Links" [ref=e52]:
- menu [ref=e53] [cursor=pointer]:
- generic [ref=e55]:
- img [ref=e56]
- text: Auto
- menu [ref=e58] [cursor=pointer]:
- generic [ref=e59]:
- img [ref=e60]
- text: English
- link "Licenses" [ref=e62] [cursor=pointer]:
- /url: /assets/licenses.txt
- link "API" [ref=e63] [cursor=pointer]:
- /url: /api/swagger
@@ -0,0 +1,63 @@
- generic [ref=e1]:
- generic [ref=e2]:
- navigation "Navigation Bar" [ref=e3]:
- generic [ref=e4]:
- link "Home" [ref=e5] [cursor=pointer]:
- /url: /
- img [ref=e6]
- link "Explore" [ref=e7] [cursor=pointer]:
- /url: /explore/repos
- link "Help" [ref=e8] [cursor=pointer]:
- /url: https://docs.gitea.com
- link "Sign In" [ref=e10] [cursor=pointer]:
- /url: /user/login
- img [ref=e11]
- generic [ref=e13]: Sign In
- main "Sign In" [ref=e14]:
- generic [ref=e16]:
- generic [ref=e17]:
- heading "Sign In" [level=4] [ref=e18]
- generic [ref=e19]:
- generic [ref=e20]:
- generic [ref=e21]:
- generic [ref=e22]: Username or Email Address *
- textbox "Username or Email Address *" [active] [ref=e23]
- generic [ref=e24]:
- generic [ref=e25]:
- generic [ref=e26]: Password
- link "Forgot password?" [ref=e27] [cursor=pointer]:
- /url: /user/forgot_password
- textbox "Password" [ref=e28]
- generic [ref=e30]:
- generic [ref=e31]: Remember This Device
- checkbox "Remember This Device" [ref=e32]
- button "Sign In" [ref=e34] [cursor=pointer]
- generic [ref=e35]: or
- link "Sign in with OpenID" [ref=e37] [cursor=pointer]:
- /url: /user/login/openid
- img [ref=e38]
- text: Sign in with OpenID
- generic [ref=e42] [cursor=pointer]: Sign in with a passkey
- group "Footer" [ref=e43]:
- contentinfo "About Software" [ref=e44]:
- link "Powered by Gitea" [ref=e45] [cursor=pointer]:
- /url: https://about.gitea.com
- generic [ref=e46]: "Version: 1.26.4"
- generic [ref=e47]:
- text: "Page:"
- strong [ref=e48]: 0ms
- text: "Template:"
- strong [ref=e49]: 0ms
- group "Links" [ref=e50]:
- menu [ref=e51] [cursor=pointer]:
- generic [ref=e53]:
- img [ref=e54]
- text: Auto
- menu [ref=e56] [cursor=pointer]:
- generic [ref=e57]:
- img [ref=e58]
- text: English
- link "Licenses" [ref=e60] [cursor=pointer]:
- /url: /assets/licenses.txt
- link "API" [ref=e61] [cursor=pointer]:
- /url: /api/swagger
+2 -1
View File
@@ -1,7 +1,8 @@
// lvmh worker bridge: headless pi session via SDK; the lvmh plugin (installed // lvmh worker bridge: headless pi session via SDK; the lvmh plugin (installed
// at /root/.pi/agent/extensions/lvmh-agent.ts) dials the daemon and delivers // at /root/.pi/agent/extensions/lvmh-agent.ts) dials the daemon and delivers
// web prompts through pi.sendUserMessage. This process just hosts the session. // web prompts through pi.sendUserMessage. This process just hosts the session.
import { createAgentSession } from "@earendil-works/pi-coding-agent"; // Global npm layout: resolve pi via absolute path (NODE_PATH does not apply to ESM).
import { createAgentSession } from "/usr/local/lib/node_modules/@earendil-works/pi-coding-agent/dist/index.js";
process.on("unhandledRejection", (err) => { process.on("unhandledRejection", (err) => {
console.error("[lvmh-bridge] unhandledRejection:", err); console.error("[lvmh-bridge] unhandledRejection:", err);