@orcareplay/adapters 0.1.1 → 0.2.0
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/contract.d.ts +24 -0
- package/dist/contract.d.ts.map +1 -1
- package/dist/contract.js +42 -5
- package/dist/contract.js.map +1 -1
- package/dist/cursor.d.ts +40 -0
- package/dist/cursor.d.ts.map +1 -0
- package/dist/cursor.js +71 -0
- package/dist/cursor.js.map +1 -0
- package/dist/exec.d.ts +25 -0
- package/dist/exec.d.ts.map +1 -0
- package/dist/exec.js +51 -0
- package/dist/exec.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/kilo.d.ts +21 -0
- package/dist/kilo.d.ts.map +1 -0
- package/dist/kilo.js +35 -0
- package/dist/kilo.js.map +1 -0
- package/dist/mimo.d.ts +26 -0
- package/dist/mimo.d.ts.map +1 -0
- package/dist/mimo.js +40 -0
- package/dist/mimo.js.map +1 -0
- package/dist/opencode-config.d.ts +40 -0
- package/dist/opencode-config.d.ts.map +1 -0
- package/dist/opencode-config.js +185 -0
- package/dist/opencode-config.js.map +1 -0
- package/dist/opencode.d.ts +3 -1
- package/dist/opencode.d.ts.map +1 -1
- package/dist/opencode.js +106 -1
- package/dist/opencode.js.map +1 -1
- package/dist/qwen.d.ts +51 -0
- package/dist/qwen.d.ts.map +1 -0
- package/dist/qwen.js +105 -0
- package/dist/qwen.js.map +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +11 -0
- package/dist/registry.js.map +1 -1
- package/package.json +5 -3
package/dist/contract.d.ts
CHANGED
|
@@ -38,4 +38,28 @@ export declare const MODEL_BASE_URL_VARS: readonly ["ANTHROPIC_BASE_URL", "OPENA
|
|
|
38
38
|
export declare function checkAdapterContract(adapter: Adapter, opts?: ContractOptions): Promise<ContractResult>;
|
|
39
39
|
/** One line for a pass, one line per failure otherwise — the shape a CI log wants. */
|
|
40
40
|
export declare function formatContractResult(result: ContractResult): string;
|
|
41
|
+
/**
|
|
42
|
+
* Whether `path` is `base` or sits under it.
|
|
43
|
+
*
|
|
44
|
+
* Delegated to the platform's own path rules rather than compared as strings. The prefix used to be
|
|
45
|
+
* built with a forward slash only, so on Windows — where `path.join` spells the whole path with
|
|
46
|
+
* backslashes — a file genuinely inside `runDir` never matched, and `no-foreign-paths` called the
|
|
47
|
+
* run's own scratch file foreign. That failed the contract for every adapter that puts a runDir
|
|
48
|
+
* path into the environment: grok, openclaw and node. On POSIX the comparison was true either way,
|
|
49
|
+
* so CI never saw it.
|
|
50
|
+
*
|
|
51
|
+
* Normalising the separators by hand would have swapped one wrong answer for another: a backslash
|
|
52
|
+
* is a legal character in a POSIX filename, so `/tmp/run` + a file called `run\evil` would have
|
|
53
|
+
* read as contained when it is not — a leak check answering yes to the thing it exists to catch.
|
|
54
|
+
*
|
|
55
|
+
* `impl` is a parameter so both flavours are reachable from a test on either OS. The Windows
|
|
56
|
+
* behaviour is the whole reason this function was touched, and a test that can only run on Windows
|
|
57
|
+
* is how the original slipped through.
|
|
58
|
+
*/
|
|
59
|
+
export declare function isInside(path: string, base: string, impl?: PathImpl): boolean;
|
|
60
|
+
/** The slice of `node:path` {@link isInside} needs, so `path.win32` and `path.posix` both fit. */
|
|
61
|
+
export interface PathImpl {
|
|
62
|
+
relative(from: string, to: string): string;
|
|
63
|
+
isAbsolute(p: string): boolean;
|
|
64
|
+
}
|
|
41
65
|
//# sourceMappingURL=contract.d.ts.map
|
package/dist/contract.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAU,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG7E;;;;;;;GAOG;AAEH,kFAAkF;AAClF,eAAO,MAAM,eAAe,uLAUlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,EAAE,EAAE,OAAO,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAC9B;AAED,kFAAkF;AAClF,eAAO,MAAM,mBAAmB,uEAItB,CAAC;AAoBX;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,OAAO,EAChB,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,cAAc,CAAC,CAqCzB;AAED,sFAAsF;AACtF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAKnE;AA2SD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,QAAmB,GAAG,OAAO,CAIvF;AAED,kGAAkG;AAClG,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3C,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC"}
|
package/dist/contract.js
CHANGED
|
@@ -2,6 +2,7 @@ import { mkdir, mkdtemp, rm } from 'node:fs/promises';
|
|
|
2
2
|
import { tmpdir } from 'node:os';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import { isDeepStrictEqual } from 'node:util';
|
|
5
|
+
import nodePath from 'node:path';
|
|
5
6
|
import { PLACEHOLDER_KEY, readEnv } from './env.js';
|
|
6
7
|
/**
|
|
7
8
|
* The adapter contract: the behaviour every adapter must have for capture to work at all.
|
|
@@ -54,7 +55,10 @@ export async function checkAdapterContract(adapter, opts = {}) {
|
|
|
54
55
|
['id-format', async () => idFormat(adapter)],
|
|
55
56
|
['detect-resolves', () => detectResolves(adapter, base, join(root, 'missing-workspace'))],
|
|
56
57
|
['prepare-shape', async () => prepareShape(primary)],
|
|
57
|
-
[
|
|
58
|
+
[
|
|
59
|
+
'redirects-model-traffic',
|
|
60
|
+
async () => redirectsModelTraffic(primary, base, adapter.capture ?? 'env'),
|
|
61
|
+
],
|
|
58
62
|
['no-invented-keys', () => noInventedKeys(adapter, base)],
|
|
59
63
|
['no-ctx-mutation', () => noCtxMutation(adapter, base)],
|
|
60
64
|
['deterministic', () => deterministic(adapter, base)],
|
|
@@ -177,12 +181,27 @@ function prepareShape(primary) {
|
|
|
177
181
|
* the adapter, capture returns nothing while every other signal — exit code, output, the agent's
|
|
178
182
|
* own answers — still says the run worked.
|
|
179
183
|
*/
|
|
180
|
-
function redirectsModelTraffic(primary, base) {
|
|
184
|
+
function redirectsModelTraffic(primary, base, capture) {
|
|
181
185
|
if ('error' in primary)
|
|
182
186
|
return notVerified('prepare-shape');
|
|
183
187
|
const env = primary.launch.env;
|
|
184
188
|
if (!isStringRecord(env))
|
|
185
189
|
return notVerified('prepare-shape');
|
|
190
|
+
// An adapter that captures at the transport redirects nothing on purpose: `--tls-intercept`
|
|
191
|
+
// terminates the agent's own TLS, and the run — not the adapter — puts `HTTPS_PROXY` and the run
|
|
192
|
+
// CA into the child's environment. Failing it for "points the harness nowhere" would be scoring
|
|
193
|
+
// it against a mechanism it does not use. It is still held to every other check, including the
|
|
194
|
+
// one below that any origin it *does* set must point at the proxy.
|
|
195
|
+
if (capture === 'transport') {
|
|
196
|
+
const stray = Object.entries(env)
|
|
197
|
+
.filter(([name]) => BASE_URL_LIKE.test(name))
|
|
198
|
+
.filter(([, value]) => !pointsAtHost(value, hostOf(base.proxyUrl) ?? base.proxyUrl));
|
|
199
|
+
if (stray.length > 0) {
|
|
200
|
+
const names = stray.map(([name, value]) => `${name}=${value}`).join(', ');
|
|
201
|
+
return `${names} does not point at the proxy (${base.proxyUrl}); traffic on that origin goes straight to the provider and never reaches the trace`;
|
|
202
|
+
}
|
|
203
|
+
return SKIP;
|
|
204
|
+
}
|
|
186
205
|
// Any base-URL-shaped variable counts, not only the three orca happens to know: a harness with
|
|
187
206
|
// its own spelling — grok-cli reads `GROK_BASE_URL` — is redirected just as effectively. So is
|
|
188
207
|
// an adapter that installs the fetch hook instead, for a harness that reads no variable at all.
|
|
@@ -346,11 +365,29 @@ function absolutePaths(value) {
|
|
|
346
365
|
}
|
|
347
366
|
return found;
|
|
348
367
|
}
|
|
349
|
-
|
|
368
|
+
/**
|
|
369
|
+
* Whether `path` is `base` or sits under it.
|
|
370
|
+
*
|
|
371
|
+
* Delegated to the platform's own path rules rather than compared as strings. The prefix used to be
|
|
372
|
+
* built with a forward slash only, so on Windows — where `path.join` spells the whole path with
|
|
373
|
+
* backslashes — a file genuinely inside `runDir` never matched, and `no-foreign-paths` called the
|
|
374
|
+
* run's own scratch file foreign. That failed the contract for every adapter that puts a runDir
|
|
375
|
+
* path into the environment: grok, openclaw and node. On POSIX the comparison was true either way,
|
|
376
|
+
* so CI never saw it.
|
|
377
|
+
*
|
|
378
|
+
* Normalising the separators by hand would have swapped one wrong answer for another: a backslash
|
|
379
|
+
* is a legal character in a POSIX filename, so `/tmp/run` + a file called `run\evil` would have
|
|
380
|
+
* read as contained when it is not — a leak check answering yes to the thing it exists to catch.
|
|
381
|
+
*
|
|
382
|
+
* `impl` is a parameter so both flavours are reachable from a test on either OS. The Windows
|
|
383
|
+
* behaviour is the whole reason this function was touched, and a test that can only run on Windows
|
|
384
|
+
* is how the original slipped through.
|
|
385
|
+
*/
|
|
386
|
+
export function isInside(path, base, impl = nodePath) {
|
|
350
387
|
if (base === '')
|
|
351
388
|
return false;
|
|
352
|
-
const
|
|
353
|
-
return
|
|
389
|
+
const rel = impl.relative(base, path);
|
|
390
|
+
return rel === '' || (!rel.startsWith('..') && !impl.isAbsolute(rel));
|
|
354
391
|
}
|
|
355
392
|
const SEMVER_COMPARATOR = /^(?:[<>]=?|=|[~^])?v?(?:\d+|[xX*])(?:\.(?:\d+|[xX*]))?(?:\.(?:\d+|[xX*]))?(?:-[0-9A-Za-z.-]+)?(?:\+[0-9A-Za-z.-]+)?$/;
|
|
356
393
|
/**
|
package/dist/contract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
|
package/dist/cursor.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { Adapter } from '@orcareplay/plugin-api';
|
|
2
|
+
/**
|
|
3
|
+
* Cursor's terminal agent, which has nothing to redirect.
|
|
4
|
+
*
|
|
5
|
+
* Every other harness here reads an origin from somewhere orca can reach. Cursor reads none: the
|
|
6
|
+
* agent stream goes to hosts of Cursor's own over HTTP/2 exclusively, in Connect-over-protobuf,
|
|
7
|
+
* and the endpoint is compiled in. So this adapter sets no variables at all and the redirect
|
|
8
|
+
* happens underneath it, at the socket, when the run is given `--tls-intercept`.
|
|
9
|
+
*
|
|
10
|
+
* Two things an operator has to supply, because this adapter cannot:
|
|
11
|
+
*
|
|
12
|
+
* - **The hosts.** `DEFAULT_TLS_HOSTS` does not carry Cursor's, deliberately: a recorded run
|
|
13
|
+
* reached `api2.cursor.sh`, `repo42.cursor.sh` and `agentn.global.api5.cursor.sh`, and the
|
|
14
|
+
* shard numbers in the last two vary per account, so covering them needs a wildcard —
|
|
15
|
+
* `--tls-hosts '+*.cursor.sh'`. Putting a wildcard over a vendor's whole domain into the
|
|
16
|
+
* default list would decrypt its sign-in origins too, which is the one thing that list
|
|
17
|
+
* promises not to do. So it stays an explicit opt-in.
|
|
18
|
+
* - **`--trust`.** The agent refuses to run non-interactively in a directory it has not been
|
|
19
|
+
* trusted in. Passing it is the operator's call, not this adapter's: it is a permission grant,
|
|
20
|
+
* and an adapter that quietly granted permissions on someone's behalf would be a worse bug
|
|
21
|
+
* than the inconvenience it saved.
|
|
22
|
+
*
|
|
23
|
+
* The installer ships two shims, `cursor-agent` and `agent`, byte-identical and in the same
|
|
24
|
+
* directory: both run `versions/<build>/index.js` through the bundled node, and
|
|
25
|
+
* `CURSOR_INVOKED_AS` is how the tool learns which name it was called by. Its own usage text
|
|
26
|
+
* says `agent`, the shorter and more natural one. `cursor-agent` is launched here anyway,
|
|
27
|
+
* because a bare `agent` on PATH is generic enough to belong to something else, and since the
|
|
28
|
+
* two shims sit in one directory, whichever name resolves means both do.
|
|
29
|
+
*
|
|
30
|
+
* On Windows that directory is `%LOCALAPPDATA%\cursor-agent\` and the installer does not add
|
|
31
|
+
* it to PATH, so `orca record cursor` reports ENOENT until it is. Loud rather than silent, which
|
|
32
|
+
* is the tradeoff for a fixture that means the same thing on every machine;
|
|
33
|
+
* `orca record exec -- <full path to the shim> ...` is the way round it.
|
|
34
|
+
*
|
|
35
|
+
* `harnessVersions` is deliberately unset: Cursor ships date-stamped builds
|
|
36
|
+
* (`2026.09.02-c22c1a3`), not semver, so a range would be a claim in a vocabulary the harness
|
|
37
|
+
* does not use. The version the fixture was verified against is recorded in its `note` instead.
|
|
38
|
+
*/
|
|
39
|
+
export declare const cursorAdapter: Adapter;
|
|
40
|
+
//# sourceMappingURL=cursor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,wBAAwB,CAAC;AAqB7E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,aAAa,EAAE,OAiB3B,CAAC"}
|
package/dist/cursor.js
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { detectAgent } from './detect.js';
|
|
2
|
+
/**
|
|
3
|
+
* Where the installer puts `cursor-agent`, per platform.
|
|
4
|
+
*
|
|
5
|
+
* Detection only — the launch uses the bare name, like every other adapter, so the fixture stays
|
|
6
|
+
* the same on every machine. What these are for is answering "is this agent even installed here",
|
|
7
|
+
* which matters more than usual because on Windows the installer does *not* put the shim on PATH.
|
|
8
|
+
*/
|
|
9
|
+
const CURSOR_AGENT_PATHS = [
|
|
10
|
+
// Windows: %LOCALAPPDATA%\cursor-agent\, which holds both shims
|
|
11
|
+
'AppData/Local/cursor-agent/cursor-agent.cmd',
|
|
12
|
+
'AppData/Local/cursor-agent/agent.cmd',
|
|
13
|
+
// macOS and Linux
|
|
14
|
+
'.local/bin/cursor-agent',
|
|
15
|
+
'.local/bin/agent',
|
|
16
|
+
// The editor's own directory, present whether or not the CLI is
|
|
17
|
+
'.cursor',
|
|
18
|
+
];
|
|
19
|
+
/**
|
|
20
|
+
* Cursor's terminal agent, which has nothing to redirect.
|
|
21
|
+
*
|
|
22
|
+
* Every other harness here reads an origin from somewhere orca can reach. Cursor reads none: the
|
|
23
|
+
* agent stream goes to hosts of Cursor's own over HTTP/2 exclusively, in Connect-over-protobuf,
|
|
24
|
+
* and the endpoint is compiled in. So this adapter sets no variables at all and the redirect
|
|
25
|
+
* happens underneath it, at the socket, when the run is given `--tls-intercept`.
|
|
26
|
+
*
|
|
27
|
+
* Two things an operator has to supply, because this adapter cannot:
|
|
28
|
+
*
|
|
29
|
+
* - **The hosts.** `DEFAULT_TLS_HOSTS` does not carry Cursor's, deliberately: a recorded run
|
|
30
|
+
* reached `api2.cursor.sh`, `repo42.cursor.sh` and `agentn.global.api5.cursor.sh`, and the
|
|
31
|
+
* shard numbers in the last two vary per account, so covering them needs a wildcard —
|
|
32
|
+
* `--tls-hosts '+*.cursor.sh'`. Putting a wildcard over a vendor's whole domain into the
|
|
33
|
+
* default list would decrypt its sign-in origins too, which is the one thing that list
|
|
34
|
+
* promises not to do. So it stays an explicit opt-in.
|
|
35
|
+
* - **`--trust`.** The agent refuses to run non-interactively in a directory it has not been
|
|
36
|
+
* trusted in. Passing it is the operator's call, not this adapter's: it is a permission grant,
|
|
37
|
+
* and an adapter that quietly granted permissions on someone's behalf would be a worse bug
|
|
38
|
+
* than the inconvenience it saved.
|
|
39
|
+
*
|
|
40
|
+
* The installer ships two shims, `cursor-agent` and `agent`, byte-identical and in the same
|
|
41
|
+
* directory: both run `versions/<build>/index.js` through the bundled node, and
|
|
42
|
+
* `CURSOR_INVOKED_AS` is how the tool learns which name it was called by. Its own usage text
|
|
43
|
+
* says `agent`, the shorter and more natural one. `cursor-agent` is launched here anyway,
|
|
44
|
+
* because a bare `agent` on PATH is generic enough to belong to something else, and since the
|
|
45
|
+
* two shims sit in one directory, whichever name resolves means both do.
|
|
46
|
+
*
|
|
47
|
+
* On Windows that directory is `%LOCALAPPDATA%\cursor-agent\` and the installer does not add
|
|
48
|
+
* it to PATH, so `orca record cursor` reports ENOENT until it is. Loud rather than silent, which
|
|
49
|
+
* is the tradeoff for a fixture that means the same thing on every machine;
|
|
50
|
+
* `orca record exec -- <full path to the shim> ...` is the way round it.
|
|
51
|
+
*
|
|
52
|
+
* `harnessVersions` is deliberately unset: Cursor ships date-stamped builds
|
|
53
|
+
* (`2026.09.02-c22c1a3`), not semver, so a range would be a claim in a vocabulary the harness
|
|
54
|
+
* does not use. The version the fixture was verified against is recorded in its `note` instead.
|
|
55
|
+
*/
|
|
56
|
+
export const cursorAdapter = {
|
|
57
|
+
id: 'cursor',
|
|
58
|
+
aliases: ['cursor-agent'],
|
|
59
|
+
// Redirecting nothing is the intent, not a defect. See the `capture` field on `Adapter`.
|
|
60
|
+
capture: 'transport',
|
|
61
|
+
async detect(cwd) {
|
|
62
|
+
void cwd;
|
|
63
|
+
return detectAgent(['cursor-agent', 'agent'], CURSOR_AGENT_PATHS);
|
|
64
|
+
},
|
|
65
|
+
async prepare(ctx) {
|
|
66
|
+
// No origin and no credential: the agent authenticates with the session its own sign-in
|
|
67
|
+
// wrote, and there is no variable to point anywhere. An empty overlay is the whole contract.
|
|
68
|
+
return { command: 'cursor-agent', args: [...ctx.userArgs], env: {} };
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
//# sourceMappingURL=cursor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cursor.js","sourceRoot":"","sources":["../src/cursor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,MAAM,kBAAkB,GAAG;IACzB,gEAAgE;IAChE,6CAA6C;IAC7C,sCAAsC;IACtC,kBAAkB;IAClB,yBAAyB;IACzB,kBAAkB;IAClB,gEAAgE;IAChE,SAAS;CACV,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,CAAC,MAAM,aAAa,GAAY;IACpC,EAAE,EAAE,QAAQ;IACZ,OAAO,EAAE,CAAC,cAAc,CAAC;IAEzB,yFAAyF;IACzF,OAAO,EAAE,WAAW;IAEpB,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,KAAK,GAAG,CAAC;QACT,OAAO,WAAW,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAkB;QAC9B,wFAAwF;QACxF,6FAA6F;QAC7F,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IACvE,CAAC;CACF,CAAC"}
|
package/dist/exec.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Adapter } from '@orcareplay/plugin-api';
|
|
2
|
+
/**
|
|
3
|
+
* Any agent at all, captured at the transport.
|
|
4
|
+
*
|
|
5
|
+
* The other adapters here each name a harness and the variable it reads. This one names neither,
|
|
6
|
+
* because the cases it exists for have nothing to name:
|
|
7
|
+
*
|
|
8
|
+
* - a bot with its origin hardcoded in source — a Grok bot posting to `https://api.x.ai/v1`
|
|
9
|
+
* because someone typed that string, which no environment variable will ever move;
|
|
10
|
+
* - an agent in a language the fetch hook cannot reach, which is every language except JS;
|
|
11
|
+
* - an editor that spawns the real agent as a child, where orca launches the editor and the
|
|
12
|
+
* agent inherits the capture two processes down.
|
|
13
|
+
*
|
|
14
|
+
* For all three the redirect happens below the agent, at the socket: `--tls-intercept` terminates
|
|
15
|
+
* the TLS the agent established itself. That is applied by the run rather than by this adapter,
|
|
16
|
+
* which is why `prepare` looks nearly empty — the emptiness is the design.
|
|
17
|
+
*
|
|
18
|
+
* It is deliberately not `generic-openai` with a better name. That adapter sets `OPENAI_BASE_URL`,
|
|
19
|
+
* `OPENAI_API_BASE` and `ANTHROPIC_BASE_URL` at once, which is right when you know your agent
|
|
20
|
+
* reads one of them and actively wrong when you do not: an injected origin silently repoints a
|
|
21
|
+
* harness that would otherwise have called somewhere else, and the trace then describes a run the
|
|
22
|
+
* user never asked for. Pointing an unknown agent nowhere is the honest default.
|
|
23
|
+
*/
|
|
24
|
+
export declare const execAdapter: Adapter;
|
|
25
|
+
//# sourceMappingURL=exec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,wBAAwB,CAAC;AAG7E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,WAAW,EAAE,OAiCzB,CAAC"}
|
package/dist/exec.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { applyNamedBaseUrls } from './env.js';
|
|
2
|
+
/**
|
|
3
|
+
* Any agent at all, captured at the transport.
|
|
4
|
+
*
|
|
5
|
+
* The other adapters here each name a harness and the variable it reads. This one names neither,
|
|
6
|
+
* because the cases it exists for have nothing to name:
|
|
7
|
+
*
|
|
8
|
+
* - a bot with its origin hardcoded in source — a Grok bot posting to `https://api.x.ai/v1`
|
|
9
|
+
* because someone typed that string, which no environment variable will ever move;
|
|
10
|
+
* - an agent in a language the fetch hook cannot reach, which is every language except JS;
|
|
11
|
+
* - an editor that spawns the real agent as a child, where orca launches the editor and the
|
|
12
|
+
* agent inherits the capture two processes down.
|
|
13
|
+
*
|
|
14
|
+
* For all three the redirect happens below the agent, at the socket: `--tls-intercept` terminates
|
|
15
|
+
* the TLS the agent established itself. That is applied by the run rather than by this adapter,
|
|
16
|
+
* which is why `prepare` looks nearly empty — the emptiness is the design.
|
|
17
|
+
*
|
|
18
|
+
* It is deliberately not `generic-openai` with a better name. That adapter sets `OPENAI_BASE_URL`,
|
|
19
|
+
* `OPENAI_API_BASE` and `ANTHROPIC_BASE_URL` at once, which is right when you know your agent
|
|
20
|
+
* reads one of them and actively wrong when you do not: an injected origin silently repoints a
|
|
21
|
+
* harness that would otherwise have called somewhere else, and the trace then describes a run the
|
|
22
|
+
* user never asked for. Pointing an unknown agent nowhere is the honest default.
|
|
23
|
+
*/
|
|
24
|
+
export const execAdapter = {
|
|
25
|
+
id: 'exec',
|
|
26
|
+
// `any` is what someone types when their agent is not on the list, which is the whole audience.
|
|
27
|
+
aliases: ['any'],
|
|
28
|
+
// Redirecting nothing is the intent, not a defect. See the `capture` field on `Adapter`.
|
|
29
|
+
capture: 'transport',
|
|
30
|
+
async detect(_cwd) {
|
|
31
|
+
// Never automatic. An adapter that does not know what it would be launching must not claim a
|
|
32
|
+
// workspace — the same rule `generic-openai` and `node` follow, for the same reason.
|
|
33
|
+
return false;
|
|
34
|
+
},
|
|
35
|
+
async prepare(ctx) {
|
|
36
|
+
const [command, ...args] = ctx.userArgs;
|
|
37
|
+
if (command === undefined || command === '') {
|
|
38
|
+
throw new Error('exec needs the command to run: orca record exec --tls-intercept -- <command> [args...], ' +
|
|
39
|
+
'e.g. orca record exec --tls-intercept -- python bot.py');
|
|
40
|
+
}
|
|
41
|
+
// Nothing is invented: no origin, and no credential. An agent recorded this way authenticates
|
|
42
|
+
// with whatever it already had, because orca never learned which provider it talks to.
|
|
43
|
+
const env = {};
|
|
44
|
+
// The one exception, and only because the operator asked for it by name. This is what makes
|
|
45
|
+
// `exec` useful for a harness that reads an unusual variable but has no adapter yet, without
|
|
46
|
+
// needing interception at all.
|
|
47
|
+
applyNamedBaseUrls(env, ctx.env, ctx.proxyUrl);
|
|
48
|
+
return { command, args, env };
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=exec.js.map
|
package/dist/exec.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,EAAE,EAAE,MAAM;IACV,gGAAgG;IAChG,OAAO,EAAE,CAAC,KAAK,CAAC;IAEhB,yFAAyF;IACzF,OAAO,EAAE,WAAW;IAEpB,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,6FAA6F;QAC7F,qFAAqF;QACrF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAkB;QAC9B,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC;QACxC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,0FAA0F;gBACxF,wDAAwD,CAC3D,CAAC;QACJ,CAAC;QAED,8FAA8F;QAC9F,uFAAuF;QACvF,MAAM,GAAG,GAA2B,EAAE,CAAC;QACvC,4FAA4F;QAC5F,6FAA6F;QAC7F,+BAA+B;QAC/B,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE/C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAChC,CAAC;CACF,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
export * from './claude-code.js';
|
|
2
2
|
export * from './codex.js';
|
|
3
3
|
export * from './contract.js';
|
|
4
|
+
export * from './cursor.js';
|
|
4
5
|
export * from './detect.js';
|
|
5
6
|
export * from './env.js';
|
|
7
|
+
export * from './exec.js';
|
|
6
8
|
export * from './generic-openai.js';
|
|
7
9
|
export * from './grok.js';
|
|
8
10
|
export * from './node.js';
|
|
9
11
|
export * from './openclaw.js';
|
|
10
12
|
export * from './mcp-config.js';
|
|
13
|
+
export * from './kilo.js';
|
|
14
|
+
export * from './mimo.js';
|
|
11
15
|
export * from './opencode.js';
|
|
16
|
+
export * from './qwen.js';
|
|
12
17
|
export * from './registry.js';
|
|
13
18
|
export * from './scaffold.js';
|
|
14
19
|
export * from './session.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
export * from './claude-code.js';
|
|
2
2
|
export * from './codex.js';
|
|
3
3
|
export * from './contract.js';
|
|
4
|
+
export * from './cursor.js';
|
|
4
5
|
export * from './detect.js';
|
|
5
6
|
export * from './env.js';
|
|
7
|
+
export * from './exec.js';
|
|
6
8
|
export * from './generic-openai.js';
|
|
7
9
|
export * from './grok.js';
|
|
8
10
|
export * from './node.js';
|
|
9
11
|
export * from './openclaw.js';
|
|
10
12
|
export * from './mcp-config.js';
|
|
13
|
+
export * from './kilo.js';
|
|
14
|
+
export * from './mimo.js';
|
|
11
15
|
export * from './opencode.js';
|
|
16
|
+
export * from './qwen.js';
|
|
12
17
|
export * from './registry.js';
|
|
13
18
|
export * from './scaffold.js';
|
|
14
19
|
export * from './session.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC"}
|
package/dist/kilo.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Adapter } from '@orcareplay/plugin-api';
|
|
2
|
+
/**
|
|
3
|
+
* Kilo Code's CLI — another OpenCode fork, captured the way the others are.
|
|
4
|
+
*
|
|
5
|
+
* Nothing is redirected, for the reason the whole OpenCode family shares: the provider origin
|
|
6
|
+
* lives in the harness's own config rather than in an environment variable, so `OPENAI_BASE_URL`
|
|
7
|
+
* leaves the run talking straight past the proxy. `--tls-intercept` terminates the TLS the agent
|
|
8
|
+
* established itself, and `api.kilo.ai` is in `DEFAULT_TLS_HOSTS` so the built-in `kilo/*` models
|
|
9
|
+
* need no extra `--tls-hosts`.
|
|
10
|
+
*
|
|
11
|
+
* One thing worth knowing before recording it: Kilo checks entitlement locally, before it opens a
|
|
12
|
+
* connection. A model the account cannot use fails with "You need to sign in to use this model"
|
|
13
|
+
* and no request is ever sent, so there is nothing to capture — unlike MiMo, which sends the
|
|
14
|
+
* request and lets the server reject it. `kilo/kilo-auto/free` is reachable without a paid plan
|
|
15
|
+
* and is what the fixture below was verified against.
|
|
16
|
+
*
|
|
17
|
+
* Kilo also posts to `us.i.posthog.com`. That is not a model API and is not in the allowlist, so
|
|
18
|
+
* it stays tunnelled: orca records that the connection happened and reads none of it.
|
|
19
|
+
*/
|
|
20
|
+
export declare const kiloAdapter: Adapter;
|
|
21
|
+
//# sourceMappingURL=kilo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kilo.d.ts","sourceRoot":"","sources":["../src/kilo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,wBAAwB,CAAC;AAG7E;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,EAAE,OAiBzB,CAAC"}
|
package/dist/kilo.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { detectAgent } from './detect.js';
|
|
2
|
+
/**
|
|
3
|
+
* Kilo Code's CLI — another OpenCode fork, captured the way the others are.
|
|
4
|
+
*
|
|
5
|
+
* Nothing is redirected, for the reason the whole OpenCode family shares: the provider origin
|
|
6
|
+
* lives in the harness's own config rather than in an environment variable, so `OPENAI_BASE_URL`
|
|
7
|
+
* leaves the run talking straight past the proxy. `--tls-intercept` terminates the TLS the agent
|
|
8
|
+
* established itself, and `api.kilo.ai` is in `DEFAULT_TLS_HOSTS` so the built-in `kilo/*` models
|
|
9
|
+
* need no extra `--tls-hosts`.
|
|
10
|
+
*
|
|
11
|
+
* One thing worth knowing before recording it: Kilo checks entitlement locally, before it opens a
|
|
12
|
+
* connection. A model the account cannot use fails with "You need to sign in to use this model"
|
|
13
|
+
* and no request is ever sent, so there is nothing to capture — unlike MiMo, which sends the
|
|
14
|
+
* request and lets the server reject it. `kilo/kilo-auto/free` is reachable without a paid plan
|
|
15
|
+
* and is what the fixture below was verified against.
|
|
16
|
+
*
|
|
17
|
+
* Kilo also posts to `us.i.posthog.com`. That is not a model API and is not in the allowlist, so
|
|
18
|
+
* it stays tunnelled: orca records that the connection happened and reads none of it.
|
|
19
|
+
*/
|
|
20
|
+
export const kiloAdapter = {
|
|
21
|
+
id: 'kilo',
|
|
22
|
+
aliases: ['kilocode', 'kilo-code'],
|
|
23
|
+
harnessVersions: '>=7.5.9',
|
|
24
|
+
// Redirecting nothing is the intent, not a defect. See the `capture` field on `Adapter`.
|
|
25
|
+
capture: 'transport',
|
|
26
|
+
async detect(_cwd) {
|
|
27
|
+
return detectAgent(['kilo', 'kilocode'], ['.config/kilo', '.kilo']);
|
|
28
|
+
},
|
|
29
|
+
async prepare(ctx) {
|
|
30
|
+
// No origin and no credential: both live in the harness's own config and credential store,
|
|
31
|
+
// and an adapter that injected either would override a choice made there.
|
|
32
|
+
return { command: 'kilo', args: [...ctx.userArgs], env: {} };
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=kilo.js.map
|
package/dist/kilo.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kilo.js","sourceRoot":"","sources":["../src/kilo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,CAAC;IAClC,eAAe,EAAE,SAAS;IAE1B,yFAAyF;IACzF,OAAO,EAAE,WAAW;IAEpB,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,OAAO,WAAW,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAkB;QAC9B,2FAA2F;QAC3F,0EAA0E;QAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAC/D,CAAC;CACF,CAAC"}
|
package/dist/mimo.d.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Adapter } from '@orcareplay/plugin-api';
|
|
2
|
+
/**
|
|
3
|
+
* MiMo Code, Xiaomi's terminal agent — an OpenCode fork, captured the way OpenCode is.
|
|
4
|
+
*
|
|
5
|
+
* Nothing is redirected, and that is inherited rather than chosen: like OpenCode, MiMo keeps its
|
|
6
|
+
* provider origin in a config file (`~/.config/mimocode/mimocode.jsonc`) rather than in an
|
|
7
|
+
* environment variable, so `OPENAI_BASE_URL` leaves the run talking straight past the proxy. The
|
|
8
|
+
* route that works is the one orca built for an origin that cannot be moved — `--tls-intercept`
|
|
9
|
+
* terminates the TLS the agent established itself, and the config is left alone.
|
|
10
|
+
*
|
|
11
|
+
* Being a fork does *not* mean it inherits an OpenCode installation. The two read parallel
|
|
12
|
+
* directories, `~/.config/mimocode/` beside `~/.config/opencode/`, so a machine with OpenCode
|
|
13
|
+
* configured still starts MiMo on Xiaomi's own provider. The config *shape* is shared, which is
|
|
14
|
+
* what makes a provider block copied from one work in the other.
|
|
15
|
+
*
|
|
16
|
+
* `api.xiaomimimo.com` is in `DEFAULT_TLS_HOSTS`, so no extra `--tls-hosts` is needed for the
|
|
17
|
+
* built-in `xiaomi/*` and `mimo/*` models. A provider of your own pointed at a plain-HTTP gateway
|
|
18
|
+
* is a different matter: orca sets `HTTPS_PROXY` and not `HTTP_PROXY`, so that traffic is neither
|
|
19
|
+
* redirected nor decrypted and the run records nothing.
|
|
20
|
+
*
|
|
21
|
+
* A credential is not required to capture the prompt. MiMo sends the request and lets the server
|
|
22
|
+
* reject it, and the system prompt is in the request — so an invalid key still yields a complete
|
|
23
|
+
* capture, which is how the fixture below was verified.
|
|
24
|
+
*/
|
|
25
|
+
export declare const mimoAdapter: Adapter;
|
|
26
|
+
//# sourceMappingURL=mimo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mimo.d.ts","sourceRoot":"","sources":["../src/mimo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAyB,MAAM,wBAAwB,CAAC;AAG7E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW,EAAE,OAiBzB,CAAC"}
|
package/dist/mimo.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { detectAgent } from './detect.js';
|
|
2
|
+
/**
|
|
3
|
+
* MiMo Code, Xiaomi's terminal agent — an OpenCode fork, captured the way OpenCode is.
|
|
4
|
+
*
|
|
5
|
+
* Nothing is redirected, and that is inherited rather than chosen: like OpenCode, MiMo keeps its
|
|
6
|
+
* provider origin in a config file (`~/.config/mimocode/mimocode.jsonc`) rather than in an
|
|
7
|
+
* environment variable, so `OPENAI_BASE_URL` leaves the run talking straight past the proxy. The
|
|
8
|
+
* route that works is the one orca built for an origin that cannot be moved — `--tls-intercept`
|
|
9
|
+
* terminates the TLS the agent established itself, and the config is left alone.
|
|
10
|
+
*
|
|
11
|
+
* Being a fork does *not* mean it inherits an OpenCode installation. The two read parallel
|
|
12
|
+
* directories, `~/.config/mimocode/` beside `~/.config/opencode/`, so a machine with OpenCode
|
|
13
|
+
* configured still starts MiMo on Xiaomi's own provider. The config *shape* is shared, which is
|
|
14
|
+
* what makes a provider block copied from one work in the other.
|
|
15
|
+
*
|
|
16
|
+
* `api.xiaomimimo.com` is in `DEFAULT_TLS_HOSTS`, so no extra `--tls-hosts` is needed for the
|
|
17
|
+
* built-in `xiaomi/*` and `mimo/*` models. A provider of your own pointed at a plain-HTTP gateway
|
|
18
|
+
* is a different matter: orca sets `HTTPS_PROXY` and not `HTTP_PROXY`, so that traffic is neither
|
|
19
|
+
* redirected nor decrypted and the run records nothing.
|
|
20
|
+
*
|
|
21
|
+
* A credential is not required to capture the prompt. MiMo sends the request and lets the server
|
|
22
|
+
* reject it, and the system prompt is in the request — so an invalid key still yields a complete
|
|
23
|
+
* capture, which is how the fixture below was verified.
|
|
24
|
+
*/
|
|
25
|
+
export const mimoAdapter = {
|
|
26
|
+
id: 'mimo',
|
|
27
|
+
aliases: ['mimo-code', 'mimocode'],
|
|
28
|
+
harnessVersions: '>=0.1.14',
|
|
29
|
+
// Redirecting nothing is the intent, not a defect. See the `capture` field on `Adapter`.
|
|
30
|
+
capture: 'transport',
|
|
31
|
+
async detect(_cwd) {
|
|
32
|
+
return detectAgent(['mimo'], ['.config/mimocode', '.mimocode']);
|
|
33
|
+
},
|
|
34
|
+
async prepare(ctx) {
|
|
35
|
+
// No origin and no credential: both live in the harness's own config, and an adapter that
|
|
36
|
+
// injected either would be overriding a choice the operator already made there.
|
|
37
|
+
return { command: 'mimo', args: [...ctx.userArgs], env: {} };
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=mimo.js.map
|
package/dist/mimo.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mimo.js","sourceRoot":"","sources":["../src/mimo.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,WAAW,GAAY;IAClC,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;IAClC,eAAe,EAAE,UAAU;IAE3B,yFAAyF;IACzF,OAAO,EAAE,WAAW;IAEpB,KAAK,CAAC,MAAM,CAAC,IAAY;QACvB,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAkB;QAC9B,0FAA0F;QAC1F,gFAAgF;QAChF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;IAC/D,CAAC;CACF,CAAC"}
|