@rebon/cli-linux-arm64 1.18.0 → 1.19.1

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.
@@ -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: 77444616 bytes
4
- sha256: fcbcf1f56acbd5554efde10658929ff466b248ef87a86cf1298aa329e6b7557c
3
+ size: 78522456 bytes
4
+ sha256: 4ebd43e5f6396499568e8a46d2473f30f6a11f2e10ea0465ebd7ea97ac49ee78
Binary file
Binary file
Binary file
package/bin/rebon-lsp-mcp CHANGED
Binary file
package/bin/rebon-verve CHANGED
Binary file
package/bin/sandbox-win CHANGED
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rebon/cli-linux-arm64",
3
- "version": "1.18.0",
3
+ "version": "1.19.1",
4
4
  "description": "Agent cli for coding and more.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {