@useorgx/orgx-opencode-plugin 0.1.0-alpha.1 → 0.1.0-alpha.11
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/LICENSE +21 -0
- package/README.md +126 -3
- package/dist/OpenCodeDriver.d.ts +5 -2
- package/dist/OpenCodeDriver.d.ts.map +1 -1
- package/dist/OpenCodeDriver.js +12 -1
- package/dist/OpenCodeDriver.js.map +1 -1
- package/dist/attentionBridge.d.ts +38 -0
- package/dist/attentionBridge.d.ts.map +1 -0
- package/dist/attentionBridge.js +230 -0
- package/dist/attentionBridge.js.map +1 -0
- package/dist/childProcessEnv.d.ts +5 -0
- package/dist/childProcessEnv.d.ts.map +1 -0
- package/dist/childProcessEnv.js +17 -0
- package/dist/childProcessEnv.js.map +1 -0
- package/dist/cli.js +6 -3
- package/dist/cli.js.map +1 -1
- package/dist/contextPackHydration.d.ts +14 -0
- package/dist/contextPackHydration.d.ts.map +1 -0
- package/dist/contextPackHydration.js +57 -0
- package/dist/contextPackHydration.js.map +1 -0
- package/dist/continuityHealth.d.ts +48 -0
- package/dist/continuityHealth.d.ts.map +1 -0
- package/dist/continuityHealth.js +118 -0
- package/dist/continuityHealth.js.map +1 -0
- package/dist/index.d.ts +6 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/peer.d.ts +14 -0
- package/dist/peer.d.ts.map +1 -1
- package/dist/peer.js +142 -13
- package/dist/peer.js.map +1 -1
- package/dist/plugin.d.ts +17 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +124 -0
- package/dist/plugin.js.map +1 -0
- package/dist/sentry.d.ts +4 -0
- package/dist/sentry.d.ts.map +1 -0
- package/dist/sentry.js +97 -0
- package/dist/sentry.js.map +1 -0
- package/dist/sessionSummaryBridge.d.ts +20 -0
- package/dist/sessionSummaryBridge.d.ts.map +1 -0
- package/dist/sessionSummaryBridge.js +125 -0
- package/dist/sessionSummaryBridge.js.map +1 -0
- package/dist/v2Canary.d.ts +13 -0
- package/dist/v2Canary.d.ts.map +1 -0
- package/dist/v2Canary.js +27 -0
- package/dist/v2Canary.js.map +1 -0
- package/dist/workGraphOutbox.js +2 -2
- package/dist/workGraphOutbox.js.map +1 -1
- package/dist/workGraphReplay.d.ts +9 -0
- package/dist/workGraphReplay.d.ts.map +1 -0
- package/dist/workGraphReplay.js +41 -0
- package/dist/workGraphReplay.js.map +1 -0
- package/package.json +30 -9
- package/plugin.manifest.json +8 -2
- package/scripts/orgx-work-graph-reconcile.mjs +994 -0
- package/scripts/orgx-work-graph-reconcile.node-test.mjs +131 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 OrgX
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,10 +1,87 @@
|
|
|
1
1
|
# orgx-opencode-plugin
|
|
2
2
|
|
|
3
|
-
OrgX plugin peer for **OpenCode**. One of three reference peers (alongside `orgx-claude-code-plugin` and `orgx-codex-plugin`) that
|
|
3
|
+
OrgX plugin peer for **OpenCode**. One of three reference peers (alongside `orgx-claude-code-plugin` and `orgx-codex-plugin`) that uses [`@useorgx/orgx-gateway-sdk`](https://github.com/useorgx/orgx-gateway-sdk), pinned to a release that supports Gateway protocols v1 and v2.
|
|
4
|
+
|
|
5
|
+
The production peer deliberately negotiates v1 today: a successful OpenCode
|
|
6
|
+
session is not, by itself, a canonical `ProofPacket`. The protocol will move to
|
|
7
|
+
v2 only when the driver can return the envelope-bound proof, receipt, artifact,
|
|
8
|
+
cost, and outcome references required by `ExecutionResult`.
|
|
4
9
|
|
|
5
10
|
**The peer model:** this plugin opens its own authenticated WebSocket to OrgX server, receives `task.dispatch` messages, runs them in your local OpenCode session (your subscription pays the tokens), and posts receipts + deviations back. It also writes compact, redacted Work Graph events locally so audit-first reconciliation can preserve progress and fingerprints across signup. No central broker. If another peer goes down, this one keeps running.
|
|
6
11
|
|
|
7
|
-
## Install
|
|
12
|
+
## Install
|
|
13
|
+
|
|
14
|
+
OpenCode can load the peer as a native plugin from `opencode.json` once
|
|
15
|
+
`@useorgx/orgx-opencode-plugin@0.1.0-alpha.2` or newer is published to npm:
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"$schema": "https://opencode.ai/config.json",
|
|
20
|
+
"plugin": ["@useorgx/orgx-opencode-plugin"]
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Then start OpenCode with the OrgX credentials available in the environment:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
export ORGX_API_KEY=oxk_...
|
|
28
|
+
export ORGX_WORKSPACE_ID=<uuid>
|
|
29
|
+
opencode
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The native plugin starts the OrgX peer when the local OpenCode server connects.
|
|
33
|
+
Set `ORGX_BASE_URL` only when testing against a non-production OrgX API. Until
|
|
34
|
+
the npm package is updated, use the direct peer command below from a checked-out
|
|
35
|
+
copy of this repository.
|
|
36
|
+
|
|
37
|
+
### Automatic run receipts
|
|
38
|
+
|
|
39
|
+
When the OrgX Wizard capture hook is installed, the native plugin forwards an
|
|
40
|
+
allowlisted lifecycle shape into the shared durable session-summary queue.
|
|
41
|
+
`session.idle` becomes `RunEnd`, so one completed agent response can issue one
|
|
42
|
+
run receipt without pretending the multi-turn OpenCode conversation ended.
|
|
43
|
+
`session.deleted` remains the whole-session terminal boundary.
|
|
44
|
+
|
|
45
|
+
The adapter observes session, user-message, permission, and tool lifecycle
|
|
46
|
+
events. It never forwards message bodies, prompts, tool arguments or results,
|
|
47
|
+
error text, transcripts, credentials, or model content. The Wizard owns queue
|
|
48
|
+
durability, acknowledgement, retry, privacy normalization, and AWR delivery.
|
|
49
|
+
If the Wizard hook is absent or incompatible, the plugin records that capture
|
|
50
|
+
is unavailable and continues without inventing a receipt.
|
|
51
|
+
|
|
52
|
+
Set `ORGX_SESSION_SUMMARY_AUTO_FLUSH=off` for a deliberately offline run. The
|
|
53
|
+
adapter and Wizard retain the capture without starting a delivery worker;
|
|
54
|
+
`orgx-wizard hooks flush` can replay it later with server acknowledgement.
|
|
55
|
+
|
|
56
|
+
### V2 beta canary
|
|
57
|
+
|
|
58
|
+
The production plugin stays on OpenCode's stable plugin contract. Set
|
|
59
|
+
`ORGX_OPENCODE_V2_CANARY=1` only in a canary process and call
|
|
60
|
+
`inspectOpenCodeV2Canary(context)` to inspect the beta context. The canary is
|
|
61
|
+
`ready` only when session hooks, tool hooks, and the public event stream are all
|
|
62
|
+
present; otherwise it returns an explicit `unsupported` state. Package-export
|
|
63
|
+
availability alone is not treated as runtime parity.
|
|
64
|
+
|
|
65
|
+
### Resumable questions
|
|
66
|
+
|
|
67
|
+
OpenCode's native `question.asked` event can be routed to the same OrgX
|
|
68
|
+
Attention queue used by Codex and Claude. This is opt-in because a visible
|
|
69
|
+
OpenCode client can still answer its local prompt first:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
export ORGX_REMOTE_ATTENTION=1
|
|
73
|
+
export ORGX_INITIATIVE_ID=<uuid>
|
|
74
|
+
export ORGX_API_KEY=oxk_...
|
|
75
|
+
opencode
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
The plugin creates one durable attention record per native question, waits for
|
|
79
|
+
all related answers, replies to the original OpenCode request through the v2
|
|
80
|
+
local SDK, and records `resuming`, `resumed`, or `resume_failed` receipts. If
|
|
81
|
+
the OpenCode process exits, the durable answer remains in OrgX but cannot be
|
|
82
|
+
claimed as resumed until a client applies it again.
|
|
83
|
+
|
|
84
|
+
You can also run the peer directly:
|
|
8
85
|
|
|
9
86
|
```bash
|
|
10
87
|
npm install -g @useorgx/orgx-opencode-plugin
|
|
@@ -60,9 +137,32 @@ The OrgX wizard can later use them to detect missed OrgX writeback, generate a
|
|
|
60
137
|
shareable public Work Graph readout, and hydrate the fingerprint into a signed-up
|
|
61
138
|
workspace.
|
|
62
139
|
|
|
140
|
+
Generate a local summary-only Work Graph report without credentials:
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
node scripts/orgx-work-graph-reconcile.mjs --output /tmp/orgx-work-graph-report.json
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
Manually post the report to OrgX when you want an immediate replay:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
ORGX_API_KEY=... node scripts/orgx-work-graph-reconcile.mjs --post
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
The runtime also replays summary-only Work Graph reports privately after
|
|
153
|
+
terminal task events. The report fingerprint is the server idempotency key, so
|
|
154
|
+
retries are safe and do not create duplicate work. No raw transcript is sent.
|
|
155
|
+
|
|
63
156
|
## License heartbeat
|
|
64
157
|
|
|
65
|
-
`startPeer()` posts
|
|
158
|
+
`startPeer()` posts runtime presence every 20 seconds and a license heartbeat on
|
|
159
|
+
boot and every 7 days. Presence includes the shared `plugin-health.v1` contract:
|
|
160
|
+
endpoint/auth state, release identity, hook coverage, replay/dead-letter state,
|
|
161
|
+
tool-profile parity, and entity inspection coverage. The manifest is read from
|
|
162
|
+
`plugin.manifest.json`; when the fingerprint + signature are missing (dev
|
|
163
|
+
builds), the server marks the license `degraded` in permissive mode — read-only
|
|
164
|
+
features keep working, but deviation ingestion 402s until a signed manifest
|
|
165
|
+
ships.
|
|
66
166
|
|
|
67
167
|
## Skills
|
|
68
168
|
|
|
@@ -93,6 +193,29 @@ npm test
|
|
|
93
193
|
npm run build
|
|
94
194
|
```
|
|
95
195
|
|
|
196
|
+
## Release
|
|
197
|
+
|
|
198
|
+
Publishing is handled by `.github/workflows/publish.yml` when a GitHub release
|
|
199
|
+
is published. The workflow uses npm trusted publishing/OIDC and automatically
|
|
200
|
+
uses the `alpha` dist-tag for prerelease versions such as `0.1.0-alpha.1`.
|
|
201
|
+
|
|
202
|
+
Configure the package trusted publisher on npmjs.com with:
|
|
203
|
+
|
|
204
|
+
- Publisher: GitHub Actions
|
|
205
|
+
- Organization or user: `useorgx`
|
|
206
|
+
- Repository: `orgx-opencode-plugin`
|
|
207
|
+
- Workflow filename: `publish.yml`
|
|
208
|
+
- Allowed action: `npm publish`
|
|
209
|
+
- Environment name: leave empty unless this workflow is later moved behind a GitHub environment
|
|
210
|
+
|
|
211
|
+
The package `repository.url` must keep matching this GitHub repository exactly,
|
|
212
|
+
otherwise npm trusted publishing can fail authentication.
|
|
213
|
+
|
|
214
|
+
If the release workflow builds successfully but fails at `npm publish` with
|
|
215
|
+
`E404` / "not found or you do not have permission", re-check the npm package's
|
|
216
|
+
trusted publisher settings above. The workflow uses OIDC, so a local npm login
|
|
217
|
+
is not used by GitHub Actions.
|
|
218
|
+
|
|
96
219
|
## Status
|
|
97
220
|
|
|
98
221
|
Alpha. Part of the Sovereign Execution initiative (`993cabeb`).
|
package/dist/OpenCodeDriver.d.ts
CHANGED
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
* connect and cached per run). When a rule matches, we emit
|
|
24
24
|
* task.deviation — the peer forwards it to the server.
|
|
25
25
|
*/
|
|
26
|
-
import type { Driver, DriverStatus, DriverProbe, DispatchableTask
|
|
26
|
+
import type { Driver, DriverOutboundMessage, DriverStatus, DriverProbe, DispatchableTask } from '@useorgx/orgx-gateway-sdk';
|
|
27
27
|
type SkillRule = {
|
|
28
28
|
skill_id: string;
|
|
29
29
|
match: {
|
|
@@ -44,6 +44,8 @@ export type OpenCodeDriverOptions = {
|
|
|
44
44
|
workGraphOutboxPath?: string | false;
|
|
45
45
|
/** Source client name for Work Graph reconciliation. */
|
|
46
46
|
sourceClient?: string;
|
|
47
|
+
/** Best-effort private replay after terminal events. */
|
|
48
|
+
replayWorkGraph?: () => Promise<void>;
|
|
47
49
|
};
|
|
48
50
|
export declare class OpenCodeDriver implements Driver {
|
|
49
51
|
readonly id: "opencode";
|
|
@@ -55,9 +57,10 @@ export declare class OpenCodeDriver implements Driver {
|
|
|
55
57
|
dispatch(task: DispatchableTask, context: {
|
|
56
58
|
run_id: string;
|
|
57
59
|
idempotency_key: string;
|
|
58
|
-
}): AsyncIterable<
|
|
60
|
+
}): AsyncIterable<DriverOutboundMessage>;
|
|
59
61
|
cancel(runId: string): Promise<void>;
|
|
60
62
|
private recordWorkGraph;
|
|
63
|
+
private replayWorkGraph;
|
|
61
64
|
private resolvePort;
|
|
62
65
|
private createSession;
|
|
63
66
|
private streamSessionEvents;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenCodeDriver.d.ts","sourceRoot":"","sources":["../src/OpenCodeDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,KAAK,EACV,MAAM,EACN,YAAY,EACZ,WAAW,EACX,gBAAgB,
|
|
1
|
+
{"version":3,"file":"OpenCodeDriver.d.ts","sourceRoot":"","sources":["../src/OpenCodeDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,KAAK,EACV,MAAM,EACN,qBAAqB,EACrB,YAAY,EACZ,WAAW,EACX,gBAAgB,EACjB,MAAM,2BAA2B,CAAC;AAkBnC,KAAK,SAAS,GAAG;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,WAAW,GAAG,WAAW,CAAA;KAAE,CAAC;IAC1D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACxC,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACrC,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC,CAAC;AAEF,qBAAa,cAAe,YAAW,MAAM;IAC3C,QAAQ,CAAC,EAAE,EAAG,UAAU,CAAU;IAElC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwB;gBAEjC,IAAI,GAAE,qBAA0B;IAItC,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IA+B/B,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;IAwB5B,QAAQ,CACb,IAAI,EAAE,gBAAgB,EACtB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,GACnD,aAAa,CAAC,qBAAqB,CAAC;IA4IjC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YAW5B,eAAe;YA0Bf,eAAe;YAQf,WAAW;YAYX,aAAa;YA6BZ,mBAAmB;CA6BnC"}
|
package/dist/OpenCodeDriver.js
CHANGED
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
import { promises as fs } from 'fs';
|
|
27
27
|
import { homedir, platform } from 'os';
|
|
28
28
|
import { join } from 'path';
|
|
29
|
-
import { recordWorkGraphEvent } from './workGraphOutbox';
|
|
29
|
+
import { recordWorkGraphEvent } from './workGraphOutbox.js';
|
|
30
|
+
import { capturePluginException } from './sentry.js';
|
|
30
31
|
export class OpenCodeDriver {
|
|
31
32
|
id = 'opencode';
|
|
32
33
|
portCache = null;
|
|
@@ -129,6 +130,7 @@ export class OpenCodeDriver {
|
|
|
129
130
|
reason: event.message,
|
|
130
131
|
recoverable: event.recoverable === true,
|
|
131
132
|
};
|
|
133
|
+
await this.replayWorkGraph();
|
|
132
134
|
return;
|
|
133
135
|
}
|
|
134
136
|
if (event.kind === 'assistant_completed') {
|
|
@@ -155,6 +157,7 @@ export class OpenCodeDriver {
|
|
|
155
157
|
// job that backfills from task_type_baselines.
|
|
156
158
|
cost_estimate_cents: 0,
|
|
157
159
|
};
|
|
160
|
+
await this.replayWorkGraph();
|
|
158
161
|
return;
|
|
159
162
|
}
|
|
160
163
|
// Narrate progress to the server + check deviation rules.
|
|
@@ -241,6 +244,14 @@ export class OpenCodeDriver {
|
|
|
241
244
|
},
|
|
242
245
|
});
|
|
243
246
|
}
|
|
247
|
+
async replayWorkGraph() {
|
|
248
|
+
try {
|
|
249
|
+
await this.opts.replayWorkGraph?.();
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
capturePluginException(error, { stage: 'work_graph_replay' });
|
|
253
|
+
}
|
|
254
|
+
}
|
|
244
255
|
async resolvePort() {
|
|
245
256
|
if (this.portCache !== null)
|
|
246
257
|
return this.portCache;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OpenCodeDriver.js","sourceRoot":"","sources":["../src/OpenCodeDriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"OpenCodeDriver.js","sourceRoot":"","sources":["../src/OpenCodeDriver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
type QuestionOption = {
|
|
2
|
+
label: string;
|
|
3
|
+
description?: string;
|
|
4
|
+
};
|
|
5
|
+
export type OpenCodeQuestion = {
|
|
6
|
+
question: string;
|
|
7
|
+
header?: string;
|
|
8
|
+
options?: QuestionOption[];
|
|
9
|
+
multiple?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type OpenCodeQuestionRequest = {
|
|
12
|
+
id: string;
|
|
13
|
+
sessionID: string;
|
|
14
|
+
questions: OpenCodeQuestion[];
|
|
15
|
+
tool?: {
|
|
16
|
+
messageID?: string;
|
|
17
|
+
callID?: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
type FetchLike = typeof fetch;
|
|
21
|
+
type BridgeOptions = {
|
|
22
|
+
request: OpenCodeQuestionRequest;
|
|
23
|
+
apiKey: string;
|
|
24
|
+
initiativeId: string;
|
|
25
|
+
runId?: string;
|
|
26
|
+
workstreamId?: string;
|
|
27
|
+
baseUrl?: string;
|
|
28
|
+
reply: (answers: string[][]) => Promise<unknown>;
|
|
29
|
+
fetchImpl?: FetchLike;
|
|
30
|
+
pollIntervalMs?: number;
|
|
31
|
+
maxWaitMs?: number;
|
|
32
|
+
signal?: AbortSignal;
|
|
33
|
+
onCreated?: (attentionIds: string[]) => void;
|
|
34
|
+
};
|
|
35
|
+
export declare function parseQuestionRequest(event: unknown): OpenCodeQuestionRequest | null;
|
|
36
|
+
export declare function bridgeOpenCodeQuestions(options: BridgeOptions): Promise<void>;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=attentionBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attentionBridge.d.ts","sourceRoot":"","sources":["../src/attentionBridge.ts"],"names":[],"mappings":"AAAA,KAAK,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD,CAAC;AAEF,KAAK,SAAS,GAAG,OAAO,KAAK,CAAC;AAE9B,KAAK,aAAa,GAAG;IACnB,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC9C,CAAC;AAQF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,uBAAuB,GAAG,IAAI,CA0BnF;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHnF"}
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
export function parseQuestionRequest(event) {
|
|
2
|
+
if (!event || typeof event !== 'object')
|
|
3
|
+
return null;
|
|
4
|
+
const record = event;
|
|
5
|
+
if (record.type !== 'question.asked')
|
|
6
|
+
return null;
|
|
7
|
+
const payload = asRecord(record.properties) ?? asRecord(record.data);
|
|
8
|
+
if (!payload)
|
|
9
|
+
return null;
|
|
10
|
+
const id = string(payload.id ?? payload.requestID);
|
|
11
|
+
const sessionID = string(payload.sessionID);
|
|
12
|
+
const questions = Array.isArray(payload.questions)
|
|
13
|
+
? payload.questions.map(normalizeQuestion).filter(Boolean)
|
|
14
|
+
: [];
|
|
15
|
+
if (!id || !sessionID || questions.length === 0)
|
|
16
|
+
return null;
|
|
17
|
+
const toolRecord = asRecord(payload.tool);
|
|
18
|
+
return {
|
|
19
|
+
id,
|
|
20
|
+
sessionID,
|
|
21
|
+
questions: questions,
|
|
22
|
+
...(toolRecord
|
|
23
|
+
? {
|
|
24
|
+
tool: {
|
|
25
|
+
messageID: string(toolRecord.messageID),
|
|
26
|
+
callID: string(toolRecord.callID),
|
|
27
|
+
},
|
|
28
|
+
}
|
|
29
|
+
: {}),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export async function bridgeOpenCodeQuestions(options) {
|
|
33
|
+
const request = options.fetchImpl ?? globalThis.fetch;
|
|
34
|
+
const baseUrl = (options.baseUrl ?? 'https://useorgx.com').replace(/\/$/, '');
|
|
35
|
+
const created = [];
|
|
36
|
+
for (const [questionIndex, question] of options.request.questions.entries()) {
|
|
37
|
+
throwIfAborted(options.signal);
|
|
38
|
+
const optionIds = new Map();
|
|
39
|
+
const optionRecords = (question.options ?? []).map((option, optionIndex) => {
|
|
40
|
+
const id = `q${questionIndex + 1}-o${optionIndex + 1}`;
|
|
41
|
+
optionIds.set(id, option.label);
|
|
42
|
+
return { id, label: option.label, ...(option.description ? { description: option.description } : {}) };
|
|
43
|
+
});
|
|
44
|
+
const payload = await requestJson(request, `${baseUrl}/api/client/live/attention`, options.apiKey, {
|
|
45
|
+
initiative_id: options.initiativeId,
|
|
46
|
+
...(options.runId ? { run_id: options.runId } : {}),
|
|
47
|
+
...(!options.runId
|
|
48
|
+
? {
|
|
49
|
+
correlation_id: trimTo(`opencode:${options.request.sessionID}`, 120),
|
|
50
|
+
source_client: 'opencode',
|
|
51
|
+
}
|
|
52
|
+
: { source_client: 'opencode' }),
|
|
53
|
+
...(options.workstreamId ? { workstream_id: options.workstreamId } : {}),
|
|
54
|
+
idempotency_key: trimTo(`opencode:${options.request.sessionID}:${options.request.id}:${questionIndex}`, 120),
|
|
55
|
+
question: question.question,
|
|
56
|
+
context: [
|
|
57
|
+
question.header,
|
|
58
|
+
options.request.questions.length > 1
|
|
59
|
+
? `Question ${questionIndex + 1} of ${options.request.questions.length}. OpenCode resumes after every answer arrives.`
|
|
60
|
+
: null,
|
|
61
|
+
]
|
|
62
|
+
.filter(Boolean)
|
|
63
|
+
.join('\n\n'),
|
|
64
|
+
...(optionRecords.length ? { options: optionRecords } : {}),
|
|
65
|
+
blocking: true,
|
|
66
|
+
attention_kind: 'question',
|
|
67
|
+
response_mode: question.multiple
|
|
68
|
+
? 'multi_select'
|
|
69
|
+
: optionRecords.length
|
|
70
|
+
? 'single_select'
|
|
71
|
+
: 'free_text',
|
|
72
|
+
source_tool: 'question.asked',
|
|
73
|
+
source_session_id: options.request.sessionID,
|
|
74
|
+
source_event_id: trimTo(`${options.request.id}:${questionIndex}`, 255),
|
|
75
|
+
impact_if_delayed: 'The OpenCode session remains paused at its native question until every answer is returned.',
|
|
76
|
+
recommended_action: 'Answer here to continue the same OpenCode session.',
|
|
77
|
+
continuation: {
|
|
78
|
+
strategy: 'reply_in_place',
|
|
79
|
+
session_handle: options.request.sessionID,
|
|
80
|
+
tool_call_id: options.request.tool?.callID ?? options.request.id,
|
|
81
|
+
capability_version: 'opencode-question-v1',
|
|
82
|
+
},
|
|
83
|
+
metadata: {
|
|
84
|
+
opencode: {
|
|
85
|
+
request_id: options.request.id,
|
|
86
|
+
message_id: options.request.tool?.messageID ?? null,
|
|
87
|
+
call_id: options.request.tool?.callID ?? null,
|
|
88
|
+
question_index: questionIndex,
|
|
89
|
+
question_count: options.request.questions.length,
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
}, options.signal);
|
|
93
|
+
const id = string(payload.decision_id);
|
|
94
|
+
if (!id)
|
|
95
|
+
throw new Error('OrgX attention response did not include a decision id');
|
|
96
|
+
created.push({ id, question, optionIds });
|
|
97
|
+
options.onCreated?.(created.map((item) => item.id));
|
|
98
|
+
}
|
|
99
|
+
const answers = await Promise.all(created.map(async (item) => {
|
|
100
|
+
const payload = await pollAttention({
|
|
101
|
+
request,
|
|
102
|
+
baseUrl,
|
|
103
|
+
apiKey: options.apiKey,
|
|
104
|
+
attentionId: item.id,
|
|
105
|
+
pollIntervalMs: options.pollIntervalMs ?? 2_000,
|
|
106
|
+
maxWaitMs: options.maxWaitMs ?? 86_400_000,
|
|
107
|
+
signal: options.signal,
|
|
108
|
+
});
|
|
109
|
+
return normalizeAnswer(payload.question, item.optionIds);
|
|
110
|
+
}));
|
|
111
|
+
await acknowledgeAll(request, baseUrl, options.apiKey, created, 'resuming', {
|
|
112
|
+
session_handle: options.request.sessionID,
|
|
113
|
+
detail: 'Returning every owner answer to the native OpenCode question.',
|
|
114
|
+
});
|
|
115
|
+
try {
|
|
116
|
+
await options.reply(answers);
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
await acknowledgeAll(request, baseUrl, options.apiKey, created, 'resume_failed', {
|
|
120
|
+
session_handle: options.request.sessionID,
|
|
121
|
+
detail: error instanceof Error ? error.message : String(error),
|
|
122
|
+
});
|
|
123
|
+
throw error;
|
|
124
|
+
}
|
|
125
|
+
await acknowledgeAll(request, baseUrl, options.apiKey, created, 'resumed', {
|
|
126
|
+
session_handle: options.request.sessionID,
|
|
127
|
+
detail: 'OpenCode accepted the answers in the same session.',
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
async function pollAttention(input) {
|
|
131
|
+
const deadline = Date.now() + input.maxWaitMs;
|
|
132
|
+
while (Date.now() < deadline) {
|
|
133
|
+
throwIfAborted(input.signal);
|
|
134
|
+
const payload = await requestJson(input.request, `${input.baseUrl}/api/client/live/attention/${encodeURIComponent(input.attentionId)}`, input.apiKey, undefined, input.signal, 'GET');
|
|
135
|
+
const question = asRecord(payload.question);
|
|
136
|
+
if (question?.resolved === true)
|
|
137
|
+
return payload;
|
|
138
|
+
await wait(input.pollIntervalMs, input.signal);
|
|
139
|
+
}
|
|
140
|
+
throw new Error(`OpenCode attention timed out after ${input.maxWaitMs}ms`);
|
|
141
|
+
}
|
|
142
|
+
async function acknowledgeAll(request, baseUrl, apiKey, items, state, detail) {
|
|
143
|
+
await Promise.all(items.map((item) => requestJson(request, `${baseUrl}/api/client/live/attention/${encodeURIComponent(item.id)}`, apiKey, {
|
|
144
|
+
state,
|
|
145
|
+
idempotency_key: `opencode:${item.id}:${state}`,
|
|
146
|
+
...detail,
|
|
147
|
+
})));
|
|
148
|
+
}
|
|
149
|
+
async function requestJson(request, url, apiKey, body, signal, method = 'POST') {
|
|
150
|
+
const response = await request(url, {
|
|
151
|
+
method,
|
|
152
|
+
headers: {
|
|
153
|
+
Authorization: `Bearer ${apiKey}`,
|
|
154
|
+
'Content-Type': 'application/json',
|
|
155
|
+
},
|
|
156
|
+
...(body === undefined ? {} : { body: JSON.stringify(body) }),
|
|
157
|
+
signal,
|
|
158
|
+
});
|
|
159
|
+
const payload = (await response.json().catch(() => ({})));
|
|
160
|
+
if (!response.ok) {
|
|
161
|
+
throw new Error(`OrgX attention request failed (${response.status}): ${string(payload.error) ?? 'unknown error'}`);
|
|
162
|
+
}
|
|
163
|
+
return payload;
|
|
164
|
+
}
|
|
165
|
+
function normalizeQuestion(value) {
|
|
166
|
+
const record = asRecord(value);
|
|
167
|
+
const question = string(record?.question);
|
|
168
|
+
if (!record || !question)
|
|
169
|
+
return null;
|
|
170
|
+
const options = Array.isArray(record.options)
|
|
171
|
+
? record.options
|
|
172
|
+
.map((option) => {
|
|
173
|
+
const item = asRecord(option);
|
|
174
|
+
const label = string(item?.label);
|
|
175
|
+
return label
|
|
176
|
+
? { label, ...(string(item?.description) ? { description: string(item?.description) } : {}) }
|
|
177
|
+
: null;
|
|
178
|
+
})
|
|
179
|
+
.filter(Boolean)
|
|
180
|
+
: [];
|
|
181
|
+
return {
|
|
182
|
+
question,
|
|
183
|
+
...(string(record.header) ? { header: string(record.header) } : {}),
|
|
184
|
+
...(options.length ? { options: options } : {}),
|
|
185
|
+
...(record.multiple === true ? { multiple: true } : {}),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
function normalizeAnswer(value, optionIds) {
|
|
189
|
+
const question = asRecord(value);
|
|
190
|
+
const resolution = asRecord(question?.resolution_context);
|
|
191
|
+
const raw = question?.answer ??
|
|
192
|
+
resolution?.selected_option_ids ??
|
|
193
|
+
resolution?.option_ids ??
|
|
194
|
+
resolution?.answer ??
|
|
195
|
+
resolution?.note ??
|
|
196
|
+
'';
|
|
197
|
+
const values = Array.isArray(raw) ? raw : [raw];
|
|
198
|
+
return values
|
|
199
|
+
.filter((item) => item != null && String(item).trim())
|
|
200
|
+
.map((item) => optionIds.get(String(item)) ?? String(item));
|
|
201
|
+
}
|
|
202
|
+
function asRecord(value) {
|
|
203
|
+
return value && typeof value === 'object' && !Array.isArray(value)
|
|
204
|
+
? value
|
|
205
|
+
: null;
|
|
206
|
+
}
|
|
207
|
+
function string(value) {
|
|
208
|
+
return typeof value === 'string' && value.trim() ? value.trim() : undefined;
|
|
209
|
+
}
|
|
210
|
+
function trimTo(value, max) {
|
|
211
|
+
return value.length <= max ? value : value.slice(value.length - max);
|
|
212
|
+
}
|
|
213
|
+
function throwIfAborted(signal) {
|
|
214
|
+
if (signal?.aborted)
|
|
215
|
+
throw signal.reason ?? new Error('OpenCode attention was cancelled');
|
|
216
|
+
}
|
|
217
|
+
function wait(ms, signal) {
|
|
218
|
+
if (ms <= 0)
|
|
219
|
+
return Promise.resolve();
|
|
220
|
+
return new Promise((resolve, reject) => {
|
|
221
|
+
const timer = setTimeout(resolve, ms);
|
|
222
|
+
if (!signal)
|
|
223
|
+
return;
|
|
224
|
+
signal.addEventListener('abort', () => {
|
|
225
|
+
clearTimeout(timer);
|
|
226
|
+
reject(signal.reason ?? new Error('OpenCode attention was cancelled'));
|
|
227
|
+
}, { once: true });
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
//# sourceMappingURL=attentionBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attentionBridge.js","sourceRoot":"","sources":["../src/attentionBridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type ProcessEnv = Record<string, string | undefined>;
|
|
2
|
+
export declare const GATEWAY_SECRET_ENV_KEYS: readonly ["ORGX_API_KEY", "ORGX_GATEWAY_KEY"];
|
|
3
|
+
export declare function captureGatewayCredential(env: ProcessEnv): string | undefined;
|
|
4
|
+
export declare function sanitizedChildProcessEnv(base: ProcessEnv, overrides?: ProcessEnv): ProcessEnv;
|
|
5
|
+
//# sourceMappingURL=childProcessEnv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"childProcessEnv.d.ts","sourceRoot":"","sources":["../src/childProcessEnv.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE5D,eAAO,MAAM,uBAAuB,+CAG1B,CAAC;AAEX,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAM5E;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,UAAU,EAChB,SAAS,GAAE,UAAe,GACzB,UAAU,CAIZ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const GATEWAY_SECRET_ENV_KEYS = [
|
|
2
|
+
'ORGX_API_KEY',
|
|
3
|
+
'ORGX_GATEWAY_KEY',
|
|
4
|
+
];
|
|
5
|
+
export function captureGatewayCredential(env) {
|
|
6
|
+
const credential = env.ORGX_API_KEY?.trim() || env.ORGX_GATEWAY_KEY?.trim() || undefined;
|
|
7
|
+
for (const key of GATEWAY_SECRET_ENV_KEYS)
|
|
8
|
+
delete env[key];
|
|
9
|
+
return credential;
|
|
10
|
+
}
|
|
11
|
+
export function sanitizedChildProcessEnv(base, overrides = {}) {
|
|
12
|
+
const childEnv = { ...base, ...overrides };
|
|
13
|
+
for (const key of GATEWAY_SECRET_ENV_KEYS)
|
|
14
|
+
delete childEnv[key];
|
|
15
|
+
return childEnv;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=childProcessEnv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"childProcessEnv.js","sourceRoot":"","sources":["../src/childProcessEnv.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,cAAc;IACd,kBAAkB;CACV,CAAC;AAEX,MAAM,UAAU,wBAAwB,CAAC,GAAe;IACtD,MAAM,UAAU,GACd,GAAG,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;IAExE,KAAK,MAAM,GAAG,IAAI,uBAAuB;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3D,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,IAAgB,EAChB,YAAwB,EAAE;IAE1B,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,uBAAuB;QAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IAChE,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|