@useorgx/orgx-opencode-plugin 0.1.0-alpha.8 → 0.1.0-alpha.9
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/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 +3 -2
- package/dist/cli.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +3 -3
- package/dist/plugin.js.map +1 -1
- package/package.json +2 -1
- package/plugin.manifest.json +1 -1
|
@@ -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"}
|
package/dist/cli.js
CHANGED
|
@@ -6,13 +6,14 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { startPeer } from './peer.js';
|
|
8
8
|
import { captureFatalPluginException } from './sentry.js';
|
|
9
|
+
import { captureGatewayCredential } from './childProcessEnv.js';
|
|
9
10
|
async function main() {
|
|
10
|
-
const apiKey = process.env
|
|
11
|
+
const apiKey = captureGatewayCredential(process.env);
|
|
11
12
|
const workspaceId = process.env.ORGX_WORKSPACE_ID;
|
|
12
13
|
const baseUrl = process.env.ORGX_BASE_URL ?? 'https://useorgx.com';
|
|
13
14
|
if (!apiKey || !workspaceId) {
|
|
14
15
|
// eslint-disable-next-line no-console
|
|
15
|
-
console.error('Missing ORGX_API_KEY and/or ORGX_WORKSPACE_ID. Export both and retry.');
|
|
16
|
+
console.error('Missing ORGX_API_KEY (or ORGX_GATEWAY_KEY) and/or ORGX_WORKSPACE_ID. Export both and retry.');
|
|
16
17
|
process.exit(2);
|
|
17
18
|
}
|
|
18
19
|
const peer = await startPeer({ apiKey, workspaceId, baseUrl });
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,2BAA2B,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,qBAAqB,CAAC;IAEnE,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5B,sCAAsC;QACtC,OAAO,CAAC,KAAK,CACX,6FAA6F,CAC9F,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;QAC1B,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChC,sCAAsC;IACtC,OAAO,CAAC,GAAG,CACT,oGAAoG,CACrG,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACzB,MAAM,2BAA2B,CAAC,GAAG,CAAC,CAAC;IACvC,sCAAsC;IACtC,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;IACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAS/D,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAClE,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAC9C,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEtD,MAAM,MAAM,+BAA+B,GAAG;IAC5C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,IAAI,GAAE,+BAAoC,GACzC,MAAM,CA8FR;AAYD,eAAO,MAAM,kBAAkB,QAA6B,CAAC;AAC7D,eAAe,kBAAkB,CAAC"}
|
package/dist/plugin.js
CHANGED
|
@@ -2,9 +2,11 @@ import { createOpencodeClient } from '@opencode-ai/sdk/v2';
|
|
|
2
2
|
import { hydrateContextPack } from './contextPackHydration.js';
|
|
3
3
|
import { capturePluginException } from './sentry.js';
|
|
4
4
|
import { bridgeOpenCodeQuestions, parseQuestionRequest, } from './attentionBridge.js';
|
|
5
|
+
import { captureGatewayCredential } from './childProcessEnv.js';
|
|
5
6
|
export function createOrgXOpenCodePlugin(opts = {}) {
|
|
6
7
|
const start = opts.startPeer ?? defaultStartPeer;
|
|
7
8
|
const env = opts.env ?? process.env;
|
|
9
|
+
const apiKey = captureGatewayCredential(env);
|
|
8
10
|
const logger = opts.logger ?? console;
|
|
9
11
|
let peer = null;
|
|
10
12
|
let warnedMissingConfig = false;
|
|
@@ -13,7 +15,6 @@ export function createOrgXOpenCodePlugin(opts = {}) {
|
|
|
13
15
|
async function startIfConfigured() {
|
|
14
16
|
if (peer)
|
|
15
17
|
return;
|
|
16
|
-
const apiKey = env.ORGX_API_KEY;
|
|
17
18
|
const workspaceId = env.ORGX_WORKSPACE_ID;
|
|
18
19
|
const baseUrl = env.ORGX_BASE_URL;
|
|
19
20
|
if (!apiKey || !workspaceId) {
|
|
@@ -39,14 +40,13 @@ export function createOrgXOpenCodePlugin(opts = {}) {
|
|
|
39
40
|
if (event.type === 'server.connected') {
|
|
40
41
|
await startIfConfigured();
|
|
41
42
|
// M adapter: hydrate the context pack (best-effort, never throws).
|
|
42
|
-
void hydrateContextPack(env);
|
|
43
|
+
void hydrateContextPack({ ...env, ORGX_API_KEY: apiKey });
|
|
43
44
|
}
|
|
44
45
|
if (env.ORGX_REMOTE_ATTENTION !== '1')
|
|
45
46
|
return;
|
|
46
47
|
const questionRequest = parseQuestionRequest(event);
|
|
47
48
|
if (!questionRequest || activeAttention.has(questionRequest.id))
|
|
48
49
|
return;
|
|
49
|
-
const apiKey = env.ORGX_API_KEY;
|
|
50
50
|
const initiativeId = env.ORGX_INITIATIVE_ID;
|
|
51
51
|
if (!apiKey || !initiativeId) {
|
|
52
52
|
if (!warnedMissingAttentionConfig) {
|
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@useorgx/orgx-opencode-plugin",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.9",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"build": "tsc",
|
|
31
31
|
"type-check": "tsc --noEmit",
|
|
32
32
|
"test": "vitest run && node --test scripts/*.node-test.mjs",
|
|
33
|
+
"pack": "mkdir -p artifacts && npm pack --pack-destination artifacts",
|
|
33
34
|
"prepublishOnly": "npm run type-check && npm test && npm run build",
|
|
34
35
|
"start": "node dist/cli.js"
|
|
35
36
|
},
|