@rebon/cli-linux-arm64 1.17.0 → 1.19.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/THIRD_PARTY_NOTICES.txt +13 -13
- package/bin/compose-runtime/payload/vendor/cosmokit/index.mjs +357 -296
- package/bin/compose-runtime/payload/vendor/schemastery/index.mjs +633 -654
- package/bin/compose-runtime/src/bridge.mjs +19 -0
- package/bin/compose-runtime/src/entries.mjs +53 -0
- package/bin/compose-runtime/src/loader-runtime.mjs +130 -0
- package/bin/compose-runtime/src/plugin.mjs +31 -2
- package/bin/compose-runtime/src/probe.mjs +194 -18
- package/bin/compose-runtime/src/provided-modules.json +13 -11
- package/bin/compose-runtime/src/realm.mjs +26 -4
- package/bin/compose-runtime/src/registry.mjs +10 -1
- package/bin/compose-runtime/src/remote.mjs +237 -0
- package/bin/compose-runtime/src/resolve.mjs +41 -9
- package/bin/compose-runtime/src/subprocess-runtime.mjs +169 -0
- package/bin/compose-runtime/src/systemprompt-runtime.mjs +80 -13
- package/bin/compose-runtime/src/tools-runtime.mjs +21 -0
- package/bin/compose-runtime/src/working-directory-runtime.mjs +71 -0
- package/bin/rebon +2 -2
- package/bin/rebon-boa-helper +0 -0
- package/bin/rebon-browser-mcp +0 -0
- package/bin/rebon-computer-use +0 -0
- package/bin/rebon-lsp-mcp +0 -0
- package/bin/rebon-verve +0 -0
- package/bin/sandbox-win +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// The composition's `ctx.workingDirectory` seat: a session's directory is the
|
|
2
|
+
// workspace rebon opened it in.
|
|
3
|
+
//
|
|
4
|
+
// DeepSeek Harness keeps a session's working directory itself
|
|
5
|
+
// (`@deepseek-ai/dsh-working-directory`): a projection over the session log,
|
|
6
|
+
// changed by a `cd` tool, announced to the model as runtime context. In
|
|
7
|
+
// rebon the session belongs to rebon, and so does its directory — it is the
|
|
8
|
+
// workspace root the scope was opened with, the same root rebon's own tools
|
|
9
|
+
// resolve against. So this seat answers the dsh contract every tool package
|
|
10
|
+
// injects (`tool-fs`, `tool-bash`, `tool-skill` reach it through
|
|
11
|
+
// `ctx.workingDirectory.ensure(exec.agent, signal)`) from that one fact,
|
|
12
|
+
// rather than mounting a second owner for it.
|
|
13
|
+
//
|
|
14
|
+
// What it does not do: change the directory. `set` refuses by name, because
|
|
15
|
+
// a directory this side kept would be a second answer to "where is this
|
|
16
|
+
// session" that rebon's own tools would not share.
|
|
17
|
+
import path from 'node:path';
|
|
18
|
+
import { Service } from 'cordis';
|
|
19
|
+
import { currentCall, workspaceRoot } from './bridge.mjs';
|
|
20
|
+
import { sessionOf } from './registry.mjs';
|
|
21
|
+
|
|
22
|
+
class WorkingDirectoryError extends Error {
|
|
23
|
+
constructor(code, message) {
|
|
24
|
+
super(`${code} ${message}`);
|
|
25
|
+
this.code = code;
|
|
26
|
+
this.name = 'WorkingDirectoryError';
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default class RebonWorkingDirectory extends Service {
|
|
31
|
+
constructor(ctx) {
|
|
32
|
+
super(ctx, 'workingDirectory');
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/// The fallback for code with no session: the host's own directory, which
|
|
36
|
+
/// is the workspace a shared host was started in.
|
|
37
|
+
get defaultDirectory() {
|
|
38
|
+
return process.cwd();
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/// The directory of the session this code runs for, without I/O.
|
|
42
|
+
///
|
|
43
|
+
/// The call in flight says which session that is; outside one, the session
|
|
44
|
+
/// the calling plugin is attached to does. `session` is accepted for the
|
|
45
|
+
/// dsh signature and not consulted: rebon's session object is the scope,
|
|
46
|
+
/// and the scope is what the call already names.
|
|
47
|
+
get(_session) {
|
|
48
|
+
const root = workspaceRoot() ?? sessionOf(this.ctx)?.workspaceRoot;
|
|
49
|
+
return typeof root === 'string' && path.isAbsolute(root) ? root : this.defaultDirectory;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/// dsh's `ensure`: the session's existing directory. Rebon opened the scope
|
|
53
|
+
/// on it, so there is nothing to recover.
|
|
54
|
+
async ensure(agent, signal) {
|
|
55
|
+
signal?.throwIfAborted?.();
|
|
56
|
+
return this.get(agent?.session);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/// dsh's `set`, refused: see the module comment.
|
|
60
|
+
async set(_agent, target) {
|
|
61
|
+
throw new WorkingDirectoryError(
|
|
62
|
+
'[UNSUPPORTED]',
|
|
63
|
+
`the working directory is the workspace rebon opened this session in; it cannot be changed to ${JSON.stringify(String(target))} from a plugin`,
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/// Whether a call is in flight, for diagnostics.
|
|
68
|
+
inCall() {
|
|
69
|
+
return currentCall() !== undefined;
|
|
70
|
+
}
|
|
71
|
+
}
|
package/bin/rebon
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
[diffend] Oversized file quarantined before diffing.
|
|
2
2
|
name: package/bin/rebon
|
|
3
|
-
size:
|
|
4
|
-
sha256:
|
|
3
|
+
size: 78537280 bytes
|
|
4
|
+
sha256: 830ef02373364f34704e01d95cd155db0c35b21e440fd98ca9a127b3dd70f7e9
|
package/bin/rebon-boa-helper
CHANGED
|
Binary file
|
package/bin/rebon-browser-mcp
CHANGED
|
Binary file
|
package/bin/rebon-computer-use
CHANGED
|
Binary file
|
package/bin/rebon-lsp-mcp
CHANGED
|
Binary file
|
package/bin/rebon-verve
ADDED
|
Binary file
|
package/bin/sandbox-win
CHANGED
|
Binary file
|