@react-grab/opencode 0.1.14 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +8 -4
- package/dist/cli.js +8 -4
- package/dist/client.cjs +67 -60
- package/dist/client.d.cts +4 -11
- package/dist/client.d.ts +4 -11
- package/dist/client.global.js +2 -2
- package/dist/client.js +67 -60
- package/dist/server.cjs +13 -7
- package/dist/server.d.cts +3 -1
- package/dist/server.d.ts +3 -1
- package/dist/server.js +13 -7
- package/package.json +4 -4
package/dist/cli.cjs
CHANGED
|
@@ -8,9 +8,13 @@ var path = require('path');
|
|
|
8
8
|
var realScriptPath = fs.realpathSync(process.argv[1]);
|
|
9
9
|
var scriptDir = path.dirname(realScriptPath);
|
|
10
10
|
var serverPath = path.join(scriptDir, "server.cjs");
|
|
11
|
-
var child = child_process.spawn(
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
var child = child_process.spawn(
|
|
12
|
+
process.execPath,
|
|
13
|
+
["-e", `require(${JSON.stringify(serverPath)}).startServer()`],
|
|
14
|
+
{
|
|
15
|
+
detached: true,
|
|
16
|
+
stdio: "inherit"
|
|
17
|
+
}
|
|
18
|
+
);
|
|
15
19
|
child.unref();
|
|
16
20
|
process.exit(0);
|
package/dist/cli.js
CHANGED
|
@@ -6,9 +6,13 @@ import { dirname, join } from 'path';
|
|
|
6
6
|
var realScriptPath = realpathSync(process.argv[1]);
|
|
7
7
|
var scriptDir = dirname(realScriptPath);
|
|
8
8
|
var serverPath = join(scriptDir, "server.cjs");
|
|
9
|
-
var child = spawn(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
var child = spawn(
|
|
10
|
+
process.execPath,
|
|
11
|
+
["-e", `require(${JSON.stringify(serverPath)}).startServer()`],
|
|
12
|
+
{
|
|
13
|
+
detached: true,
|
|
14
|
+
stdio: "inherit"
|
|
15
|
+
}
|
|
16
|
+
);
|
|
13
17
|
child.unref();
|
|
14
18
|
process.exit(0);
|
package/dist/client.cjs
CHANGED
|
@@ -374,70 +374,77 @@ var getDefaultRelayClient = () => {
|
|
|
374
374
|
}
|
|
375
375
|
return defaultRelayClient;
|
|
376
376
|
};
|
|
377
|
-
|
|
378
|
-
// src/client.ts
|
|
379
|
-
var AGENT_ID = "opencode";
|
|
380
377
|
var isReactGrabApi = (value) => typeof value === "object" && value !== null && "registerPlugin" in value;
|
|
381
|
-
var
|
|
382
|
-
const
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
};
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
const
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
actionContext
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
378
|
+
var createProviderClientPlugin = (config) => {
|
|
379
|
+
const createAgentProvider = (providerOptions = {}) => {
|
|
380
|
+
const relayClient = providerOptions.relayClient ?? getDefaultRelayClient();
|
|
381
|
+
if (!relayClient) {
|
|
382
|
+
throw new Error("RelayClient is required in browser environments");
|
|
383
|
+
}
|
|
384
|
+
return createRelayAgentProvider({
|
|
385
|
+
relayClient,
|
|
386
|
+
agentId: config.agentId
|
|
387
|
+
});
|
|
388
|
+
};
|
|
389
|
+
const attachAgent2 = async () => {
|
|
390
|
+
if (typeof window === "undefined") return;
|
|
391
|
+
const relayClient = getDefaultRelayClient();
|
|
392
|
+
if (!relayClient) return;
|
|
393
|
+
try {
|
|
394
|
+
await relayClient.connect();
|
|
395
|
+
} catch {
|
|
396
|
+
return;
|
|
397
|
+
}
|
|
398
|
+
const provider = createRelayAgentProvider({
|
|
399
|
+
relayClient,
|
|
400
|
+
agentId: config.agentId
|
|
401
|
+
});
|
|
402
|
+
const attach = (api) => {
|
|
403
|
+
const agent = { provider, storage: sessionStorage };
|
|
404
|
+
api.registerPlugin({
|
|
405
|
+
name: config.pluginName,
|
|
406
|
+
actions: [
|
|
407
|
+
{
|
|
408
|
+
id: config.actionId,
|
|
409
|
+
label: config.actionLabel,
|
|
410
|
+
shortcut: "Enter",
|
|
411
|
+
onAction: (actionContext) => {
|
|
412
|
+
actionContext.enterPromptMode?.(agent);
|
|
413
|
+
},
|
|
414
|
+
agent
|
|
415
|
+
}
|
|
416
|
+
]
|
|
417
|
+
});
|
|
419
418
|
};
|
|
420
|
-
|
|
419
|
+
const existingApi = window.__REACT_GRAB__;
|
|
420
|
+
if (isReactGrabApi(existingApi)) {
|
|
421
|
+
attach(existingApi);
|
|
422
|
+
return;
|
|
423
|
+
}
|
|
424
|
+
window.addEventListener(
|
|
425
|
+
"react-grab:init",
|
|
426
|
+
(event) => {
|
|
427
|
+
if (!(event instanceof CustomEvent)) return;
|
|
428
|
+
if (!isReactGrabApi(event.detail)) return;
|
|
429
|
+
attach(event.detail);
|
|
430
|
+
},
|
|
431
|
+
{ once: true }
|
|
432
|
+
);
|
|
433
|
+
const apiAfterListener = window.__REACT_GRAB__;
|
|
434
|
+
if (isReactGrabApi(apiAfterListener)) {
|
|
435
|
+
attach(apiAfterListener);
|
|
436
|
+
}
|
|
421
437
|
};
|
|
422
|
-
|
|
423
|
-
if (isReactGrabApi(existingApi)) {
|
|
424
|
-
attach(existingApi);
|
|
425
|
-
return;
|
|
426
|
-
}
|
|
427
|
-
window.addEventListener(
|
|
428
|
-
"react-grab:init",
|
|
429
|
-
(event) => {
|
|
430
|
-
if (!(event instanceof CustomEvent)) return;
|
|
431
|
-
if (!isReactGrabApi(event.detail)) return;
|
|
432
|
-
attach(event.detail);
|
|
433
|
-
},
|
|
434
|
-
{ once: true }
|
|
435
|
-
);
|
|
436
|
-
const apiAfterListener = window.__REACT_GRAB__;
|
|
437
|
-
if (isReactGrabApi(apiAfterListener)) {
|
|
438
|
-
attach(apiAfterListener);
|
|
439
|
-
}
|
|
438
|
+
return { createAgentProvider, attachAgent: attachAgent2 };
|
|
440
439
|
};
|
|
440
|
+
|
|
441
|
+
// src/client.ts
|
|
442
|
+
var { createAgentProvider: createOpenCodeAgentProvider, attachAgent } = createProviderClientPlugin({
|
|
443
|
+
agentId: "opencode",
|
|
444
|
+
pluginName: "opencode-agent",
|
|
445
|
+
actionId: "edit-with-opencode",
|
|
446
|
+
actionLabel: "Edit with OpenCode"
|
|
447
|
+
});
|
|
441
448
|
attachAgent();
|
|
442
449
|
|
|
443
450
|
exports.attachAgent = attachAgent;
|
package/dist/client.d.cts
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as _react_grab_relay_client from '@react-grab/relay/client';
|
|
2
2
|
export { AgentCompleteResult } from 'react-grab/core';
|
|
3
|
-
import { RelayClient, AgentProvider } from '@react-grab/relay/client';
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
relayClient?: RelayClient;
|
|
7
|
-
}
|
|
8
|
-
declare const createOpenCodeAgentProvider: (providerOptions?: OpenCodeAgentProviderOptions) => AgentProvider;
|
|
9
|
-
declare global {
|
|
10
|
-
interface Window {
|
|
11
|
-
__REACT_GRAB__?: ReturnType<typeof init>;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
4
|
+
declare const createOpenCodeAgentProvider: (providerOptions?: {
|
|
5
|
+
relayClient?: _react_grab_relay_client.RelayClient;
|
|
6
|
+
}) => _react_grab_relay_client.AgentProvider;
|
|
14
7
|
declare const attachAgent: () => Promise<void>;
|
|
15
8
|
|
|
16
9
|
export { attachAgent, createOpenCodeAgentProvider };
|
package/dist/client.d.ts
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as _react_grab_relay_client from '@react-grab/relay/client';
|
|
2
2
|
export { AgentCompleteResult } from 'react-grab/core';
|
|
3
|
-
import { RelayClient, AgentProvider } from '@react-grab/relay/client';
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
relayClient?: RelayClient;
|
|
7
|
-
}
|
|
8
|
-
declare const createOpenCodeAgentProvider: (providerOptions?: OpenCodeAgentProviderOptions) => AgentProvider;
|
|
9
|
-
declare global {
|
|
10
|
-
interface Window {
|
|
11
|
-
__REACT_GRAB__?: ReturnType<typeof init>;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
4
|
+
declare const createOpenCodeAgentProvider: (providerOptions?: {
|
|
5
|
+
relayClient?: _react_grab_relay_client.RelayClient;
|
|
6
|
+
}) => _react_grab_relay_client.AgentProvider;
|
|
14
7
|
declare const attachAgent: () => Promise<void>;
|
|
15
8
|
|
|
16
9
|
export { attachAgent, createOpenCodeAgentProvider };
|
package/dist/client.global.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var ReactGrabOpenCode=(function(exports){'use strict';var
|
|
2
|
-
exports.attachAgent=
|
|
1
|
+
var ReactGrabOpenCode=(function(exports){'use strict';var $=4722,q=3e3,D="token",x=(s={})=>{let r=s.serverUrl??`ws://localhost:${$}`,w=s.autoReconnect??true,A=s.reconnectIntervalMs??q,h=s.token,i=null,f=false,p=[],d=null,e=null,t=null,C=false,y=new Set,g=new Set,o=new Set,l=()=>{!w||d||C||(d=setTimeout(()=>{d=null,b().catch(()=>{});},A));},c=n=>{try{let a=JSON.parse(n.data);if(a.type==="handlers"&&a.handlers){p=a.handlers;for(let S of g)S(p);}for(let S of y)S(a);}catch{}},b=()=>i?.readyState===WebSocket.OPEN?Promise.resolve():e||(C=false,e=new Promise((n,a)=>{t=a;let S=h?`${r}?${D}=${encodeURIComponent(h)}`:r;i=new WebSocket(S),i.onopen=()=>{e=null,t=null,f=true;for(let m of o)m(true);n();},i.onmessage=c,i.onclose=()=>{t&&(t(new Error("WebSocket connection closed")),t=null),e=null,f=false,p=[];for(let m of g)m(p);for(let m of o)m(false);l();},i.onerror=()=>{e=null,t=null,f=false,a(new Error("WebSocket connection failed"));};}),e),R=()=>{C=true,d&&(clearTimeout(d),d=null),t&&(t(new Error("Connection aborted")),t=null),e=null,i?.close(),i=null,f=false,p=[];},M=()=>f,v=n=>i?.readyState===WebSocket.OPEN?(i.send(JSON.stringify(n)),true):false;return {connect:b,disconnect:R,isConnected:M,sendAgentRequest:(n,a)=>v({type:"agent-request",agentId:n,sessionId:a.sessionId,context:a}),abortAgent:(n,a)=>{v({type:"agent-abort",agentId:n,sessionId:a});},undoAgent:(n,a)=>v({type:"agent-undo",agentId:n,sessionId:a}),redoAgent:(n,a)=>v({type:"agent-redo",agentId:n,sessionId:a}),onMessage:n=>(y.add(n),()=>y.delete(n)),onHandlersChange:n=>(g.add(n),()=>g.delete(n)),onConnectionChange:n=>(o.add(n),queueMicrotask(()=>{o.has(n)&&n(f);}),()=>o.delete(n)),getAvailableHandlers:()=>p}},L=s=>{let{relayClient:r,agentId:w}=s,A=async()=>{if(!r.isConnected())try{await r.connect();}catch{return false}return r.getAvailableHandlers().includes(w)},h=async function*(e,t){if(t.aborted)throw new DOMException("Aborted","AbortError");yield "Connecting\u2026";let C=e.sessionId??`session-${Date.now()}-${Math.random().toString(36).slice(2)}`,y={...e,sessionId:C},g=[],o=null,l=null,c=false,b=null,R=()=>{r.abortAgent(w,C),c=true,o&&(o({value:void 0,done:true}),o=null,l=null);};t.addEventListener("abort",R,{once:true});let M=u=>{!u&&!c&&(b="Relay connection lost",c=true,l&&(l(new Error(b)),o=null,l=null));},v=r.onConnectionChange(M),I=r.onMessage(u=>{if(u.sessionId===C)if(u.type==="agent-status"&&u.content){if(g.push(u.content),o){let E=g.shift();E!==void 0&&(o({value:E,done:false}),o=null,l=null);}}else u.type==="agent-done"?(c=true,o&&(o({value:void 0,done:true}),o=null,l=null)):u.type==="agent-error"&&(b=u.content??"Unknown error",c=true,l&&(l(new Error(b)),o=null,l=null));});if(!r.isConnected())throw v(),I(),t.removeEventListener("abort",R),new Error("Relay connection is not open");if(!r.sendAgentRequest(w,y))throw v(),I(),t.removeEventListener("abort",R),new Error("Failed to send agent request: connection not open");try{for(;;){if(g.length>0){let E=g.shift();E!==void 0&&(yield E);continue}if(c||t.aborted)break;let u=await new Promise((E,k)=>{o=E,l=k;});if(u.done)break;yield u.value;}if(b)throw new Error(b)}finally{t.removeEventListener("abort",R),v(),I();}},i=async e=>{r.abortAgent(w,e);},f=e=>new Promise((t,C)=>{let y=false,g=()=>{y||(y=true,o(),l());},o=r.onMessage(c=>{c.sessionId===e&&(g(),c.type==="agent-done"?t():c.type==="agent-error"&&C(new Error(c.content??"Operation failed")));}),l=r.onConnectionChange(c=>{c||(g(),C(new Error("Connection lost while waiting for operation response")));});});return {send:h,abort:i,undo:async()=>{let e=`undo-${w}-${Date.now()}-${Math.random().toString(36).slice(2)}`;if(!r.undoAgent(w,e))throw new Error("Failed to send undo request: connection not open");return f(e)},redo:async()=>{let e=`redo-${w}-${Date.now()}-${Math.random().toString(36).slice(2)}`;if(!r.redoAgent(w,e))throw new Error("Failed to send redo request: connection not open");return f(e)},checkConnection:A,supportsResume:true,supportsFollowUp:true}},_=null,T=()=>typeof window>"u"?null:window.__REACT_GRAB_RELAY__?(_=window.__REACT_GRAB_RELAY__,_):(_||(_=x(),window.__REACT_GRAB_RELAY__=_),_),P=s=>typeof s=="object"&&s!==null&&"registerPlugin"in s,N=s=>({createAgentProvider:(A={})=>{let h=A.relayClient??T();if(!h)throw new Error("RelayClient is required in browser environments");return L({relayClient:h,agentId:s.agentId})},attachAgent:async()=>{if(typeof window>"u")return;let A=T();if(!A)return;try{await A.connect();}catch{return}let h=L({relayClient:A,agentId:s.agentId}),i=d=>{let e={provider:h,storage:sessionStorage};d.registerPlugin({name:s.pluginName,actions:[{id:s.actionId,label:s.actionLabel,shortcut:"Enter",onAction:t=>{t.enterPromptMode?.(e);},agent:e}]});},f=window.__REACT_GRAB__;if(P(f)){i(f);return}window.addEventListener("react-grab:init",d=>{d instanceof CustomEvent&&P(d.detail)&&i(d.detail);},{once:true});let p=window.__REACT_GRAB__;P(p)&&i(p);}});var {createAgentProvider:Y,attachAgent:U}=N({agentId:"opencode",pluginName:"opencode-agent",actionId:"edit-with-opencode",actionLabel:"Edit with OpenCode"});U();
|
|
2
|
+
exports.attachAgent=U;exports.createOpenCodeAgentProvider=Y;return exports;})({});
|
package/dist/client.js
CHANGED
|
@@ -372,70 +372,77 @@ var getDefaultRelayClient = () => {
|
|
|
372
372
|
}
|
|
373
373
|
return defaultRelayClient;
|
|
374
374
|
};
|
|
375
|
-
|
|
376
|
-
// src/client.ts
|
|
377
|
-
var AGENT_ID = "opencode";
|
|
378
375
|
var isReactGrabApi = (value) => typeof value === "object" && value !== null && "registerPlugin" in value;
|
|
379
|
-
var
|
|
380
|
-
const
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
};
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
const
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
actionContext
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
376
|
+
var createProviderClientPlugin = (config) => {
|
|
377
|
+
const createAgentProvider = (providerOptions = {}) => {
|
|
378
|
+
const relayClient = providerOptions.relayClient ?? getDefaultRelayClient();
|
|
379
|
+
if (!relayClient) {
|
|
380
|
+
throw new Error("RelayClient is required in browser environments");
|
|
381
|
+
}
|
|
382
|
+
return createRelayAgentProvider({
|
|
383
|
+
relayClient,
|
|
384
|
+
agentId: config.agentId
|
|
385
|
+
});
|
|
386
|
+
};
|
|
387
|
+
const attachAgent2 = async () => {
|
|
388
|
+
if (typeof window === "undefined") return;
|
|
389
|
+
const relayClient = getDefaultRelayClient();
|
|
390
|
+
if (!relayClient) return;
|
|
391
|
+
try {
|
|
392
|
+
await relayClient.connect();
|
|
393
|
+
} catch {
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
const provider = createRelayAgentProvider({
|
|
397
|
+
relayClient,
|
|
398
|
+
agentId: config.agentId
|
|
399
|
+
});
|
|
400
|
+
const attach = (api) => {
|
|
401
|
+
const agent = { provider, storage: sessionStorage };
|
|
402
|
+
api.registerPlugin({
|
|
403
|
+
name: config.pluginName,
|
|
404
|
+
actions: [
|
|
405
|
+
{
|
|
406
|
+
id: config.actionId,
|
|
407
|
+
label: config.actionLabel,
|
|
408
|
+
shortcut: "Enter",
|
|
409
|
+
onAction: (actionContext) => {
|
|
410
|
+
actionContext.enterPromptMode?.(agent);
|
|
411
|
+
},
|
|
412
|
+
agent
|
|
413
|
+
}
|
|
414
|
+
]
|
|
415
|
+
});
|
|
417
416
|
};
|
|
418
|
-
|
|
417
|
+
const existingApi = window.__REACT_GRAB__;
|
|
418
|
+
if (isReactGrabApi(existingApi)) {
|
|
419
|
+
attach(existingApi);
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
window.addEventListener(
|
|
423
|
+
"react-grab:init",
|
|
424
|
+
(event) => {
|
|
425
|
+
if (!(event instanceof CustomEvent)) return;
|
|
426
|
+
if (!isReactGrabApi(event.detail)) return;
|
|
427
|
+
attach(event.detail);
|
|
428
|
+
},
|
|
429
|
+
{ once: true }
|
|
430
|
+
);
|
|
431
|
+
const apiAfterListener = window.__REACT_GRAB__;
|
|
432
|
+
if (isReactGrabApi(apiAfterListener)) {
|
|
433
|
+
attach(apiAfterListener);
|
|
434
|
+
}
|
|
419
435
|
};
|
|
420
|
-
|
|
421
|
-
if (isReactGrabApi(existingApi)) {
|
|
422
|
-
attach(existingApi);
|
|
423
|
-
return;
|
|
424
|
-
}
|
|
425
|
-
window.addEventListener(
|
|
426
|
-
"react-grab:init",
|
|
427
|
-
(event) => {
|
|
428
|
-
if (!(event instanceof CustomEvent)) return;
|
|
429
|
-
if (!isReactGrabApi(event.detail)) return;
|
|
430
|
-
attach(event.detail);
|
|
431
|
-
},
|
|
432
|
-
{ once: true }
|
|
433
|
-
);
|
|
434
|
-
const apiAfterListener = window.__REACT_GRAB__;
|
|
435
|
-
if (isReactGrabApi(apiAfterListener)) {
|
|
436
|
-
attach(apiAfterListener);
|
|
437
|
-
}
|
|
436
|
+
return { createAgentProvider, attachAgent: attachAgent2 };
|
|
438
437
|
};
|
|
438
|
+
|
|
439
|
+
// src/client.ts
|
|
440
|
+
var { createAgentProvider: createOpenCodeAgentProvider, attachAgent } = createProviderClientPlugin({
|
|
441
|
+
agentId: "opencode",
|
|
442
|
+
pluginName: "opencode-agent",
|
|
443
|
+
actionId: "edit-with-opencode",
|
|
444
|
+
actionLabel: "Edit with OpenCode"
|
|
445
|
+
});
|
|
439
446
|
attachAgent();
|
|
440
447
|
|
|
441
448
|
export { attachAgent, createOpenCodeAgentProvider };
|
package/dist/server.cjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
'use strict';
|
|
3
2
|
|
|
4
3
|
var http = require('http');
|
|
@@ -8700,7 +8699,7 @@ async function fkill(inputs, options = {}) {
|
|
|
8700
8699
|
}
|
|
8701
8700
|
}
|
|
8702
8701
|
var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
8703
|
-
var VERSION = "0.1.
|
|
8702
|
+
var VERSION = "0.1.16";
|
|
8704
8703
|
var checkIfRelayServerIsRunning = async (port, token) => {
|
|
8705
8704
|
try {
|
|
8706
8705
|
const healthUrl = token ? `http://localhost:${port}/health?${RELAY_TOKEN_PARAM}=${encodeURIComponent(token)}` : `http://localhost:${port}/health`;
|
|
@@ -8932,6 +8931,13 @@ var printStartupMessage = (agentId, port) => {
|
|
|
8932
8931
|
);
|
|
8933
8932
|
console.log(`- Local: ${import_picocolors.default.cyan(`ws://localhost:${port}`)}`);
|
|
8934
8933
|
};
|
|
8934
|
+
var startProviderServer = (source, handler) => {
|
|
8935
|
+
fetch(
|
|
8936
|
+
`https://www.react-grab.com/api/version?source=${source}&t=${Date.now()}`
|
|
8937
|
+
).catch(() => {
|
|
8938
|
+
});
|
|
8939
|
+
connectRelay({ handler });
|
|
8940
|
+
};
|
|
8935
8941
|
|
|
8936
8942
|
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.0.132/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js
|
|
8937
8943
|
var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }) => {
|
|
@@ -13280,8 +13286,8 @@ var openCodeAgentHandler = {
|
|
|
13280
13286
|
};
|
|
13281
13287
|
|
|
13282
13288
|
// src/server.ts
|
|
13283
|
-
|
|
13284
|
-
|
|
13285
|
-
|
|
13286
|
-
|
|
13287
|
-
|
|
13289
|
+
var startServer = () => {
|
|
13290
|
+
startProviderServer("opencode", openCodeAgentHandler);
|
|
13291
|
+
};
|
|
13292
|
+
|
|
13293
|
+
exports.startServer = startServer;
|
package/dist/server.d.cts
CHANGED
package/dist/server.d.ts
CHANGED
package/dist/server.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
import { createServer } from 'http';
|
|
3
2
|
import process2 from 'process';
|
|
4
3
|
import { Buffer as Buffer$1 } from 'buffer';
|
|
@@ -8690,7 +8689,7 @@ async function fkill(inputs, options = {}) {
|
|
|
8690
8689
|
}
|
|
8691
8690
|
}
|
|
8692
8691
|
var sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
8693
|
-
var VERSION = "0.1.
|
|
8692
|
+
var VERSION = "0.1.16";
|
|
8694
8693
|
var checkIfRelayServerIsRunning = async (port, token) => {
|
|
8695
8694
|
try {
|
|
8696
8695
|
const healthUrl = token ? `http://localhost:${port}/health?${RELAY_TOKEN_PARAM}=${encodeURIComponent(token)}` : `http://localhost:${port}/health`;
|
|
@@ -8922,6 +8921,13 @@ var printStartupMessage = (agentId, port) => {
|
|
|
8922
8921
|
);
|
|
8923
8922
|
console.log(`- Local: ${import_picocolors.default.cyan(`ws://localhost:${port}`)}`);
|
|
8924
8923
|
};
|
|
8924
|
+
var startProviderServer = (source, handler) => {
|
|
8925
|
+
fetch(
|
|
8926
|
+
`https://www.react-grab.com/api/version?source=${source}&t=${Date.now()}`
|
|
8927
|
+
).catch(() => {
|
|
8928
|
+
});
|
|
8929
|
+
connectRelay({ handler });
|
|
8930
|
+
};
|
|
8925
8931
|
|
|
8926
8932
|
// ../../node_modules/.pnpm/@opencode-ai+sdk@1.0.132/node_modules/@opencode-ai/sdk/dist/gen/core/serverSentEvents.gen.js
|
|
8927
8933
|
var createSseClient = ({ onSseError, onSseEvent, responseTransformer, responseValidator, sseDefaultRetryDelay, sseMaxRetryAttempts, sseMaxRetryDelay, sseSleepFn, url, ...options }) => {
|
|
@@ -13270,8 +13276,8 @@ var openCodeAgentHandler = {
|
|
|
13270
13276
|
};
|
|
13271
13277
|
|
|
13272
13278
|
// src/server.ts
|
|
13273
|
-
|
|
13274
|
-
|
|
13275
|
-
|
|
13276
|
-
|
|
13277
|
-
|
|
13279
|
+
var startServer = () => {
|
|
13280
|
+
startProviderServer("opencode", openCodeAgentHandler);
|
|
13281
|
+
};
|
|
13282
|
+
|
|
13283
|
+
export { startServer };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-grab/opencode",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"bin": {
|
|
5
5
|
"react-grab-opencode": "./dist/cli.cjs"
|
|
6
6
|
},
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@opencode-ai/sdk": "^1.0.132",
|
|
33
33
|
"fkill": "^9.0.0",
|
|
34
|
-
"@react-grab/relay": "0.1.
|
|
35
|
-
"react-grab": "0.1.
|
|
34
|
+
"@react-grab/relay": "0.1.16",
|
|
35
|
+
"react-grab": "0.1.16"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
38
|
"@types/node": "^22.10.7",
|
|
39
39
|
"tsup": "^8.4.0",
|
|
40
|
-
"@react-grab/utils": "0.1.
|
|
40
|
+
"@react-grab/utils": "0.1.16"
|
|
41
41
|
},
|
|
42
42
|
"scripts": {
|
|
43
43
|
"dev": "tsup --watch",
|