@fnndsc/calypso 0.7.1 → 0.9.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/calypso.js +11 -1
- package/dist/calypso.js.map +1 -1
- package/dist/daemon/engine.d.ts +25 -1
- package/dist/daemon/face.d.ts +9 -0
- package/dist/daemon/face.js +9 -0
- package/dist/daemon/face.js.map +1 -1
- package/dist/daemon/hostControl.d.ts +96 -0
- package/dist/daemon/hostControl.js +143 -0
- package/dist/daemon/hostControl.js.map +1 -0
- package/dist/daemon/launch.d.ts +15 -2
- package/dist/daemon/launch.js +40 -20
- package/dist/daemon/launch.js.map +1 -1
- package/dist/daemon/server.d.ts +27 -0
- package/dist/daemon/server.js +60 -1
- package/dist/daemon/server.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/calypso.js
CHANGED
|
@@ -15,6 +15,7 @@ import { realpathSync } from 'node:fs';
|
|
|
15
15
|
import { engine_create, procIndex_snapshot, sessionConnect_fromSaved } from '@fnndsc/brasa';
|
|
16
16
|
import chalk from 'chalk';
|
|
17
17
|
import { daemon_launch } from './daemon/launch.js';
|
|
18
|
+
import { hostControl_describe, hostControl_parseArgv } from './daemon/hostControl.js';
|
|
18
19
|
import { face_start } from './daemon/face.js';
|
|
19
20
|
import { LocalBerthResolver, berthUrl_isAlive } from './daemon/berth.js';
|
|
20
21
|
/**
|
|
@@ -32,10 +33,19 @@ async function calypso_start() {
|
|
|
32
33
|
else {
|
|
33
34
|
console.error(`[!] No active session (${result.status}). Log in with 'chell' first; hosting offline.`);
|
|
34
35
|
}
|
|
35
|
-
const
|
|
36
|
+
const parsedPolicy = hostControl_parseArgv(process.argv, process.env);
|
|
37
|
+
if ('error' in parsedPolicy) {
|
|
38
|
+
console.error(`[!] ${parsedPolicy.error}`);
|
|
39
|
+
process.exit(1);
|
|
40
|
+
}
|
|
41
|
+
const policy = parsedPolicy.policy;
|
|
42
|
+
const info = await daemon_launch(engine, undefined, { hostControl: policy });
|
|
36
43
|
// On a TTY, the terminal's resting state is the console face; off one
|
|
37
44
|
// (systemd, nohup) face_start declines and logging stays sequential.
|
|
38
45
|
face_start({
|
|
46
|
+
...(policy.tiers.size > 0
|
|
47
|
+
? { hostControl: { tiers: hostControl_describe(policy), ...(policy.exposed && info.bindHost !== '127.0.0.1' ? { exposedOn: info.bindHost } : {}) } }
|
|
48
|
+
: {}),
|
|
39
49
|
info: [
|
|
40
50
|
{ label: 'identity', value: info.identity },
|
|
41
51
|
{ label: 'wire', value: info.url },
|
package/dist/calypso.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calypso.js","sourceRoot":"","sources":["../src/calypso.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,wBAAwB,EAA6C,MAAM,eAAe,CAAC;AACvI,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAsB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAc,MAAM,mBAAmB,CAAC;AAErF;;;;;GAKG;AACH,KAAK,UAAU,aAAa;IAC1B,MAAM,MAAM,GAAgB,MAAM,aAAa,EAAE,CAAC;IAElD,MAAM,MAAM,GAAuB,MAAM,wBAAwB,EAAE,CAAC;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,MAAM,gDAAgD,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,IAAI,GAAqB,MAAM,aAAa,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"calypso.js","sourceRoot":"","sources":["../src/calypso.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,wBAAwB,EAA6C,MAAM,eAAe,CAAC;AACvI,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAyB,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAA0B,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,UAAU,EAAsB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAc,MAAM,mBAAmB,CAAC;AAErF;;;;;GAKG;AACH,KAAK,UAAU,aAAa;IAC1B,MAAM,MAAM,GAAgB,MAAM,aAAa,EAAE,CAAC;IAElD,MAAM,MAAM,GAAuB,MAAM,wBAAwB,EAAE,CAAC;IACpE,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACtF,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,0BAA0B,MAAM,CAAC,MAAM,gDAAgD,CAAC,CAAC;IACzG,CAAC;IAED,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;IACtE,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,MAAM,MAAM,GAAsB,YAAY,CAAC,MAAM,CAAC;IACtD,MAAM,IAAI,GAAqB,MAAM,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IAC/F,sEAAsE;IACtE,qEAAqE;IACrE,UAAU,CAAC;QACT,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC;YACvB,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,oBAAoB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACpJ,CAAC,CAAC,EAAE,CAAC;QACP,IAAI,EAAE;YACJ,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE;YAC3C,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE;YAClC,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7E,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE;YACrC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;YACzC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,2BAA2B,IAAI,CAAC,GAAG,YAAY,IAAI,CAAC,KAAK,EAAE,EAAE;SACxF;QACD,aAAa,EAAE,GAAkB,EAAE;YACjC,MAAM,KAAK,GAAoC,kBAAkB,EAAE,CAAC;YACpE,OAAO;gBACL,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;gBACtC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBAC5B,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;aACnB,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,YAAY;IACzB,MAAM,QAAQ,GAAuB,IAAI,kBAAkB,CACzD,CAAC,KAAY,EAAoB,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAChE,CAAC;IACF,MAAM,MAAM,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC9C,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,+BAA+B,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAW,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,WAAW,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sCAAsC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACpG,CAAC;AACH,CAAC;AAED,MAAM,WAAW,GAAW,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3D,IAAI,MAAM,GAAY,KAAK,CAAC;AAC5B,IAAI,CAAC;IACH,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,WAAW,CAAC,CAAC;AACvE,CAAC;AAAC,MAAM,CAAC;IACP,2BAA2B;AAC7B,CAAC;AAED,IAAI,MAAM,EAAE,CAAC;IACX,0EAA0E;IAC1E,uEAAuE;IACvE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC;AAC9E,CAAC"}
|
package/dist/daemon/engine.d.ts
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* @module
|
|
12
12
|
*/
|
|
13
13
|
import type { CommandEnvelope } from '@fnndsc/cumin';
|
|
14
|
-
import type { Regard } from '@fnndsc/menu';
|
|
14
|
+
import type { Regard, WatchState, AmbientEvent } from '@fnndsc/menu';
|
|
15
15
|
/**
|
|
16
16
|
* A completion answer: the candidates and the prefix they complete.
|
|
17
17
|
*
|
|
@@ -74,4 +74,28 @@ export interface HostedEngine {
|
|
|
74
74
|
* @returns The retained regard, or null.
|
|
75
75
|
*/
|
|
76
76
|
regard_get?(): Regard | null;
|
|
77
|
+
/**
|
|
78
|
+
* Opens or closes a liveness watch on a subject for one owner. Optional:
|
|
79
|
+
* a daemon whose engine lacks it refuses `watch` messages.
|
|
80
|
+
*
|
|
81
|
+
* @param subject - The subject address (`/proc/jobs/feed_N`).
|
|
82
|
+
* @param owner - Who holds the watch (a surface id).
|
|
83
|
+
* @param on - True to watch, false to release.
|
|
84
|
+
* @returns The subject's watch state, or null when not watchable.
|
|
85
|
+
*/
|
|
86
|
+
watch_set?(subject: string, owner: string, on: boolean): WatchState | null;
|
|
87
|
+
/**
|
|
88
|
+
* Releases every watch one owner holds (its surface detached).
|
|
89
|
+
*
|
|
90
|
+
* @param owner - The owner whose watches end.
|
|
91
|
+
*/
|
|
92
|
+
watch_release?(owner: string): void;
|
|
93
|
+
/**
|
|
94
|
+
* Subscribes to events the engine originates on its own, which the daemon
|
|
95
|
+
* relays to every surface off the scrollback.
|
|
96
|
+
*
|
|
97
|
+
* @param listener - Receives each ambient event.
|
|
98
|
+
* @returns Function that unsubscribes.
|
|
99
|
+
*/
|
|
100
|
+
ambient_listen?(listener: (event: AmbientEvent) => void): () => void;
|
|
77
101
|
}
|
package/dist/daemon/face.d.ts
CHANGED
|
@@ -18,6 +18,11 @@ export interface FaceTelemetry {
|
|
|
18
18
|
export interface FaceOptions {
|
|
19
19
|
/** Identity panel rows: identity, wire, web surface, token, berth. */
|
|
20
20
|
info: FaceInfo[];
|
|
21
|
+
/** Host control, when declared: the tiers, and the bind it is exposed on. */
|
|
22
|
+
hostControl?: {
|
|
23
|
+
tiers: string;
|
|
24
|
+
exposedOn?: string;
|
|
25
|
+
};
|
|
21
26
|
/** Live readings; omitted readings render as an idle daemon. */
|
|
22
27
|
telemetry_get?: () => FaceTelemetry;
|
|
23
28
|
}
|
|
@@ -68,6 +73,10 @@ export interface FaceFrame {
|
|
|
68
73
|
telemetry: FaceTelemetry | null;
|
|
69
74
|
logTail: string[];
|
|
70
75
|
uptimeSeconds: number;
|
|
76
|
+
hostControl?: {
|
|
77
|
+
tiers: string;
|
|
78
|
+
exposedOn?: string;
|
|
79
|
+
};
|
|
71
80
|
}
|
|
72
81
|
/**
|
|
73
82
|
* Formats an uptime as `2d 03:14:07` / `03:14:07`.
|
package/dist/daemon/face.js
CHANGED
|
@@ -173,6 +173,14 @@ function readyFrame_compose(frame) {
|
|
|
173
173
|
content.push('');
|
|
174
174
|
}
|
|
175
175
|
content.push(centered_line(status, frame.columns, chalk.cyan));
|
|
176
|
+
if (frame.hostControl !== undefined) {
|
|
177
|
+
// Not rest: this daemon acts on its own host, and the face says so
|
|
178
|
+
// for as long as it runs.
|
|
179
|
+
content.push(centered_line(`HOST CONTROL: ${frame.hostControl.tiers.toUpperCase()}`, frame.columns, chalk.yellow));
|
|
180
|
+
if (frame.hostControl.exposedOn !== undefined) {
|
|
181
|
+
content.push(centered_line(`HOST CONTROL EXPOSED ON ${frame.hostControl.exposedOn.toUpperCase()}`, frame.columns, chalk.red));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
176
184
|
content.push('');
|
|
177
185
|
content.push(centered_line(hint, frame.columns, chalk.gray));
|
|
178
186
|
const topPad = Math.max(0, Math.floor((frame.rows - 1 - content.length) / 2));
|
|
@@ -234,6 +242,7 @@ function frame_paint() {
|
|
|
234
242
|
frameIndex: state.frameIndex,
|
|
235
243
|
phase: state.phase,
|
|
236
244
|
info: state.options.info,
|
|
245
|
+
...(state.options.hostControl !== undefined ? { hostControl: state.options.hostControl } : {}),
|
|
237
246
|
telemetry,
|
|
238
247
|
logTail: state.ring.tail(state.phase === 'boot' ? BOOT_STRIP_LINES : STRIP_LINES),
|
|
239
248
|
uptimeSeconds: Math.floor((Date.now() - state.startedAt) / 1000),
|
package/dist/daemon/face.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"face.js","sourceRoot":"","sources":["../../src/daemon/face.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"face.js","sourceRoot":"","sources":["../../src/daemon/face.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/** The tiers the policy can grant. */
|
|
2
|
+
export declare const HOST_CONTROL_TIERS: readonly HostControlTier[];
|
|
3
|
+
export type HostControlTier = 'shell' | 'files' | 'pipes';
|
|
4
|
+
/**
|
|
5
|
+
* The daemon's host-control policy.
|
|
6
|
+
*
|
|
7
|
+
* @property tiers - What the host does itself; empty means off.
|
|
8
|
+
* @property exposed - `--expose-host-control` was typed.
|
|
9
|
+
*/
|
|
10
|
+
export interface HostControlPolicy {
|
|
11
|
+
tiers: ReadonlySet<HostControlTier>;
|
|
12
|
+
exposed: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** The raw inputs a launcher collected (a flag value, an env value, the override). */
|
|
15
|
+
export interface HostControlInputs {
|
|
16
|
+
/** `--host-control` value: true for bare, a tier list string, undefined when absent. */
|
|
17
|
+
flag?: string | boolean;
|
|
18
|
+
/** `CALYPSO_HOST_CONTROL`: `all`, a tier list, or unset. */
|
|
19
|
+
env?: string;
|
|
20
|
+
/** `--expose-host-control`. */
|
|
21
|
+
exposed?: boolean;
|
|
22
|
+
}
|
|
23
|
+
/** The policy that grants nothing. */
|
|
24
|
+
export declare const HOST_CONTROL_OFF: HostControlPolicy;
|
|
25
|
+
/**
|
|
26
|
+
* Parses a tier list (`shell,files`, `all`, or empty for all).
|
|
27
|
+
*
|
|
28
|
+
* @param value - The list as typed.
|
|
29
|
+
* @returns The tiers, or an error naming the unknown word.
|
|
30
|
+
*/
|
|
31
|
+
export declare function hostControlTiers_parse(value: string | boolean | undefined): {
|
|
32
|
+
tiers: Set<HostControlTier>;
|
|
33
|
+
} | {
|
|
34
|
+
error: string;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Builds the policy from what a launcher collected: the flag wins over the
|
|
38
|
+
* env twin, the override is only ever typed.
|
|
39
|
+
*
|
|
40
|
+
* @param inputs - Flag, env, override.
|
|
41
|
+
* @returns The policy, or an error to print and refuse on.
|
|
42
|
+
*/
|
|
43
|
+
export declare function hostControl_fromInputs(inputs: HostControlInputs): {
|
|
44
|
+
policy: HostControlPolicy;
|
|
45
|
+
} | {
|
|
46
|
+
error: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Parses a raw argv (the standalone calypso binary) and the environment.
|
|
50
|
+
*
|
|
51
|
+
* @param argv - Process arguments.
|
|
52
|
+
* @param env - Process environment.
|
|
53
|
+
* @returns The policy, or an error.
|
|
54
|
+
*/
|
|
55
|
+
export declare function hostControl_parseArgv(argv: readonly string[], env: NodeJS.ProcessEnv): {
|
|
56
|
+
policy: HostControlPolicy;
|
|
57
|
+
} | {
|
|
58
|
+
error: string;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* The launch guard: host control on a non-loopback bind refuses unless the
|
|
62
|
+
* operator typed the override.
|
|
63
|
+
*
|
|
64
|
+
* @param policy - The policy.
|
|
65
|
+
* @param bindHost - The bind address.
|
|
66
|
+
* @returns The refusal line, or null when the launch may proceed.
|
|
67
|
+
*/
|
|
68
|
+
export declare function hostControl_guard(policy: HostControlPolicy, bindHost: string): string | null;
|
|
69
|
+
/**
|
|
70
|
+
* The policy as a readout: `shell files pipes`, or empty when off.
|
|
71
|
+
*
|
|
72
|
+
* @param policy - The policy.
|
|
73
|
+
* @returns The tiers in canonical order.
|
|
74
|
+
*/
|
|
75
|
+
export declare function hostControl_describe(policy: HostControlPolicy): string;
|
|
76
|
+
/** The tiers as the attach ack carries them. */
|
|
77
|
+
export declare function hostControl_tiers(policy: HostControlPolicy): string[];
|
|
78
|
+
/**
|
|
79
|
+
* Runs a shell command on the daemon host: `sh -c`, stdin closed (a daemon
|
|
80
|
+
* has no terminal to offer), stdout and stderr streamed to the caller as
|
|
81
|
+
* they arrive, working directory the daemon's own.
|
|
82
|
+
*
|
|
83
|
+
* @param command - The command without its leading `!`.
|
|
84
|
+
* @param write - Receives output chunks by channel.
|
|
85
|
+
* @returns The exit code (1 when the process died without one).
|
|
86
|
+
*/
|
|
87
|
+
export declare function hostShell_run(command: string, write: (channel: 'data' | 'err', chunk: string) => void): Promise<number>;
|
|
88
|
+
/**
|
|
89
|
+
* Runs one pipeline segment on the daemon host: the input on stdin, the
|
|
90
|
+
* output collected.
|
|
91
|
+
*
|
|
92
|
+
* @param command - The segment's command.
|
|
93
|
+
* @param input - The upstream bytes.
|
|
94
|
+
* @returns The segment's stdout.
|
|
95
|
+
*/
|
|
96
|
+
export declare function hostPipe_run(command: string, input: Buffer): Promise<Buffer>;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file Host control: the daemon's own declared capabilities.
|
|
3
|
+
*
|
|
4
|
+
* Capabilities are declared, never detected. Surfaces declare theirs on
|
|
5
|
+
* attach; this lets the HOST declare too. Off by default. With
|
|
6
|
+
* `--host-control` (bare = every tier) the daemon runs `!cmd` itself, lets
|
|
7
|
+
* `upload`/`download` reach its own disk, and runs pipe segments itself —
|
|
8
|
+
* the AI-harness permission model applied to the session daemon: the
|
|
9
|
+
* operator who starts the daemon decides what it may do on the machine it
|
|
10
|
+
* runs on. The host always wins under the policy, so one `!` means one
|
|
11
|
+
* machine, and every surface is told (attach ack, face, prompt, lamp).
|
|
12
|
+
*
|
|
13
|
+
* A non-loopback bind turns the attach token — a bearer secret in a URL —
|
|
14
|
+
* into a shell on this host for anyone holding it, so that combination
|
|
15
|
+
* refuses unless `--expose-host-control` is typed as well.
|
|
16
|
+
*
|
|
17
|
+
* @module
|
|
18
|
+
*/
|
|
19
|
+
import { spawn } from 'child_process';
|
|
20
|
+
/** The tiers the policy can grant. */
|
|
21
|
+
export const HOST_CONTROL_TIERS = ['shell', 'files', 'pipes'];
|
|
22
|
+
/** The policy that grants nothing. */
|
|
23
|
+
export const HOST_CONTROL_OFF = { tiers: new Set(), exposed: false };
|
|
24
|
+
/**
|
|
25
|
+
* Parses a tier list (`shell,files`, `all`, or empty for all).
|
|
26
|
+
*
|
|
27
|
+
* @param value - The list as typed.
|
|
28
|
+
* @returns The tiers, or an error naming the unknown word.
|
|
29
|
+
*/
|
|
30
|
+
export function hostControlTiers_parse(value) {
|
|
31
|
+
if (value === undefined || value === false)
|
|
32
|
+
return { tiers: new Set() };
|
|
33
|
+
if (value === true || value.trim() === '' || value.trim() === 'all')
|
|
34
|
+
return { tiers: new Set(HOST_CONTROL_TIERS) };
|
|
35
|
+
const tiers = new Set();
|
|
36
|
+
for (const word of value.split(',').map((part) => part.trim()).filter((part) => part !== '')) {
|
|
37
|
+
if (!HOST_CONTROL_TIERS.includes(word)) {
|
|
38
|
+
return { error: `unknown host-control tier '${word}' (shell, files, pipes, or all)` };
|
|
39
|
+
}
|
|
40
|
+
tiers.add(word);
|
|
41
|
+
}
|
|
42
|
+
return { tiers };
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Builds the policy from what a launcher collected: the flag wins over the
|
|
46
|
+
* env twin, the override is only ever typed.
|
|
47
|
+
*
|
|
48
|
+
* @param inputs - Flag, env, override.
|
|
49
|
+
* @returns The policy, or an error to print and refuse on.
|
|
50
|
+
*/
|
|
51
|
+
export function hostControl_fromInputs(inputs) {
|
|
52
|
+
const source = inputs.flag !== undefined && inputs.flag !== false ? inputs.flag : inputs.env;
|
|
53
|
+
const parsed = hostControlTiers_parse(source);
|
|
54
|
+
if ('error' in parsed)
|
|
55
|
+
return parsed;
|
|
56
|
+
return { policy: { tiers: parsed.tiers, exposed: inputs.exposed === true } };
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Parses a raw argv (the standalone calypso binary) and the environment.
|
|
60
|
+
*
|
|
61
|
+
* @param argv - Process arguments.
|
|
62
|
+
* @param env - Process environment.
|
|
63
|
+
* @returns The policy, or an error.
|
|
64
|
+
*/
|
|
65
|
+
export function hostControl_parseArgv(argv, env) {
|
|
66
|
+
let flag;
|
|
67
|
+
for (let index = 0; index < argv.length; index++) {
|
|
68
|
+
const word = argv[index] ?? '';
|
|
69
|
+
if (word === '--host-control') {
|
|
70
|
+
const next = argv[index + 1];
|
|
71
|
+
flag = next !== undefined && !next.startsWith('-') ? next : true;
|
|
72
|
+
}
|
|
73
|
+
else if (word.startsWith('--host-control=')) {
|
|
74
|
+
flag = word.slice('--host-control='.length);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return hostControl_fromInputs({ flag, env: env['CALYPSO_HOST_CONTROL'], exposed: argv.includes('--expose-host-control') });
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* The launch guard: host control on a non-loopback bind refuses unless the
|
|
81
|
+
* operator typed the override.
|
|
82
|
+
*
|
|
83
|
+
* @param policy - The policy.
|
|
84
|
+
* @param bindHost - The bind address.
|
|
85
|
+
* @returns The refusal line, or null when the launch may proceed.
|
|
86
|
+
*/
|
|
87
|
+
export function hostControl_guard(policy, bindHost) {
|
|
88
|
+
if (policy.tiers.size === 0 || bindHost === '127.0.0.1' || bindHost === 'localhost' || bindHost === '::1')
|
|
89
|
+
return null;
|
|
90
|
+
if (policy.exposed)
|
|
91
|
+
return null;
|
|
92
|
+
return `--host-control with CALYPSO_BIND=${bindHost} would hand a shell on this host to anyone holding the attach URL; bind to loopback, or type --expose-host-control if you mean it.`;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* The policy as a readout: `shell files pipes`, or empty when off.
|
|
96
|
+
*
|
|
97
|
+
* @param policy - The policy.
|
|
98
|
+
* @returns The tiers in canonical order.
|
|
99
|
+
*/
|
|
100
|
+
export function hostControl_describe(policy) {
|
|
101
|
+
return HOST_CONTROL_TIERS.filter((tier) => policy.tiers.has(tier)).join(' ');
|
|
102
|
+
}
|
|
103
|
+
/** The tiers as the attach ack carries them. */
|
|
104
|
+
export function hostControl_tiers(policy) {
|
|
105
|
+
return HOST_CONTROL_TIERS.filter((tier) => policy.tiers.has(tier));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Runs a shell command on the daemon host: `sh -c`, stdin closed (a daemon
|
|
109
|
+
* has no terminal to offer), stdout and stderr streamed to the caller as
|
|
110
|
+
* they arrive, working directory the daemon's own.
|
|
111
|
+
*
|
|
112
|
+
* @param command - The command without its leading `!`.
|
|
113
|
+
* @param write - Receives output chunks by channel.
|
|
114
|
+
* @returns The exit code (1 when the process died without one).
|
|
115
|
+
*/
|
|
116
|
+
export function hostShell_run(command, write) {
|
|
117
|
+
return new Promise((resolve, reject) => {
|
|
118
|
+
const child = spawn(command, { shell: true, stdio: ['ignore', 'pipe', 'pipe'], cwd: process.cwd() });
|
|
119
|
+
child.stdout?.on('data', (chunk) => write('data', chunk.toString('utf8')));
|
|
120
|
+
child.stderr?.on('data', (chunk) => write('err', chunk.toString('utf8')));
|
|
121
|
+
child.once('error', (error) => reject(error));
|
|
122
|
+
child.once('close', (code) => resolve(code ?? 1));
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Runs one pipeline segment on the daemon host: the input on stdin, the
|
|
127
|
+
* output collected.
|
|
128
|
+
*
|
|
129
|
+
* @param command - The segment's command.
|
|
130
|
+
* @param input - The upstream bytes.
|
|
131
|
+
* @returns The segment's stdout.
|
|
132
|
+
*/
|
|
133
|
+
export function hostPipe_run(command, input) {
|
|
134
|
+
return new Promise((resolve, reject) => {
|
|
135
|
+
const child = spawn(command, { shell: true, stdio: ['pipe', 'pipe', 'inherit'], cwd: process.cwd() });
|
|
136
|
+
const chunks = [];
|
|
137
|
+
child.stdout?.on('data', (chunk) => { chunks.push(chunk); });
|
|
138
|
+
child.once('error', (error) => reject(error));
|
|
139
|
+
child.once('close', () => resolve(Buffer.concat(chunks)));
|
|
140
|
+
child.stdin?.end(input);
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=hostControl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hostControl.js","sourceRoot":"","sources":["../../src/daemon/hostControl.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/launch.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type { BrasaEngine } from '@fnndsc/brasa';
|
|
|
3
3
|
import { type OutputSink } from '@fnndsc/brasa';
|
|
4
4
|
import type { ProgressEvent } from '@fnndsc/brasa';
|
|
5
5
|
import { type Surface } from '@fnndsc/brasa';
|
|
6
|
+
import { type HostControlPolicy } from './hostControl.js';
|
|
6
7
|
/** What a launched daemon hands back to its host (the console face's feed). */
|
|
7
8
|
export interface DaemonLaunchInfo {
|
|
8
9
|
/** The CUBE identity this daemon hosts. */
|
|
@@ -17,6 +18,10 @@ export interface DaemonLaunchInfo {
|
|
|
17
18
|
argusUrl: string | null;
|
|
18
19
|
/** The running daemon, for live telemetry. */
|
|
19
20
|
daemon: CalypsoDaemon;
|
|
21
|
+
/** The declared host-control policy. */
|
|
22
|
+
hostControl: HostControlPolicy;
|
|
23
|
+
/** The bind address, for the face's exposure line. */
|
|
24
|
+
bindHost: string;
|
|
20
25
|
}
|
|
21
26
|
/** The daemon sink forwards live command output to the executing surface. */
|
|
22
27
|
export declare class DaemonSink implements OutputSink {
|
|
@@ -43,7 +48,7 @@ export declare class DaemonSink implements OutputSink {
|
|
|
43
48
|
* @param daemon - The daemon whose brokers deliver the capability requests.
|
|
44
49
|
* @returns The surface to install with `surface_set` on the daemon host.
|
|
45
50
|
*/
|
|
46
|
-
export declare function daemonSurface_create(daemon: CalypsoDaemon): Surface;
|
|
51
|
+
export declare function daemonSurface_create(daemon: CalypsoDaemon, policy?: HostControlPolicy): Surface;
|
|
47
52
|
/**
|
|
48
53
|
* Starts the daemon over an engine and advertises it for same-user discovery.
|
|
49
54
|
*
|
|
@@ -53,4 +58,12 @@ export declare function daemonSurface_create(daemon: CalypsoDaemon): Surface;
|
|
|
53
58
|
* @returns The launched daemon's addresses and handle, once it is listening;
|
|
54
59
|
* the process then stays alive on the WebSocket server.
|
|
55
60
|
*/
|
|
56
|
-
|
|
61
|
+
/**
|
|
62
|
+
* What a launcher decided beyond the engine.
|
|
63
|
+
*
|
|
64
|
+
* @property hostControl - The declared host-control policy (off by default).
|
|
65
|
+
*/
|
|
66
|
+
export interface DaemonLaunchOptions {
|
|
67
|
+
hostControl?: HostControlPolicy;
|
|
68
|
+
}
|
|
69
|
+
export declare function daemon_launch(engine: BrasaEngine, beforeListen?: () => Promise<void>, options?: DaemonLaunchOptions): Promise<DaemonLaunchInfo>;
|
package/dist/daemon/launch.js
CHANGED
|
@@ -24,6 +24,7 @@ import { welcomeLine_build, versionReport_build, versions_get, buildHash_get, fo
|
|
|
24
24
|
import { chrisContext } from '@fnndsc/cumin';
|
|
25
25
|
import { identity_forSession, berth_write, berth_read, berth_path, berthUrl_isAlive, DISCONNECTED_IDENTITY } from './berth.js';
|
|
26
26
|
import { attachFile_write, attachFile_remove } from './attachFile.js';
|
|
27
|
+
import { HOST_CONTROL_OFF, hostControl_describe, hostControl_guard, hostControl_tiers, hostPipe_run, hostShell_run } from './hostControl.js';
|
|
27
28
|
/** The daemon sink forwards live command output to the executing surface. */
|
|
28
29
|
export class DaemonSink {
|
|
29
30
|
daemon;
|
|
@@ -54,7 +55,7 @@ export class DaemonSink {
|
|
|
54
55
|
* @param daemon - The daemon whose brokers deliver the capability requests.
|
|
55
56
|
* @returns The surface to install with `surface_set` on the daemon host.
|
|
56
57
|
*/
|
|
57
|
-
export function daemonSurface_create(daemon) {
|
|
58
|
+
export function daemonSurface_create(daemon, policy = HOST_CONTROL_OFF) {
|
|
58
59
|
return {
|
|
59
60
|
// A daemon has no capabilities of its own to offer. Those that vary by
|
|
60
61
|
// surface are read from whichever one is executing, as it declared them on
|
|
@@ -70,29 +71,26 @@ export function daemonSurface_create(daemon) {
|
|
|
70
71
|
pipeSegments: true,
|
|
71
72
|
shellCommands: true,
|
|
72
73
|
fileDelivery: attached?.fileDelivery ?? false,
|
|
73
|
-
// The daemon's disk belongs to nobody attending this session
|
|
74
|
-
//
|
|
75
|
-
|
|
74
|
+
// The daemon's disk belongs to nobody attending this session — unless
|
|
75
|
+
// the operator who started it declared otherwise with the `files`
|
|
76
|
+
// tier of --host-control, in which case it is theirs by declaration.
|
|
77
|
+
engineFilesystem: policy.tiers.has('files'),
|
|
76
78
|
localFilesystem: attached?.localFilesystem ?? false,
|
|
77
79
|
};
|
|
78
80
|
},
|
|
79
81
|
prompt: (request) => daemon.prompt_current(request.message, request.hidden ?? false),
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
// Under host control the host wins: the segment or the shell runs here,
|
|
83
|
+
// output on the session bus like any command's. Otherwise both relay to
|
|
84
|
+
// the surface that typed them.
|
|
85
|
+
pipeSegment: (command, input) => policy.tiers.has('pipes') ? hostPipe_run(command, input) : daemon.pipe_current(command, input),
|
|
86
|
+
shellCommand: (command) => policy.tiers.has('shell')
|
|
87
|
+
? hostShell_run(command, (channel, chunk) => { daemon.output_current(channel, chunk); })
|
|
88
|
+
: daemon.shell_current(command),
|
|
82
89
|
localEdit: (request) => daemon.edit_current(request.content, request.extension),
|
|
83
90
|
fileDeliver: (request) => daemon.deliver_current(request),
|
|
84
91
|
};
|
|
85
92
|
}
|
|
86
|
-
|
|
87
|
-
* Starts the daemon over an engine and advertises it for same-user discovery.
|
|
88
|
-
*
|
|
89
|
-
* @param engine - The engine to host (already created and connected by boot).
|
|
90
|
-
* @param beforeListen - Optional host preparation run after the duplicate guard
|
|
91
|
-
* and before the socket binds or the berth is published.
|
|
92
|
-
* @returns The launched daemon's addresses and handle, once it is listening;
|
|
93
|
-
* the process then stays alive on the WebSocket server.
|
|
94
|
-
*/
|
|
95
|
-
export async function daemon_launch(engine, beforeListen) {
|
|
93
|
+
export async function daemon_launch(engine, beforeListen, options = {}) {
|
|
96
94
|
// Force color into the engine's rendered text: no TTY here to auto-detect.
|
|
97
95
|
if (chalk.level < 1) {
|
|
98
96
|
chalk.level = 3;
|
|
@@ -134,6 +132,12 @@ export async function daemon_launch(engine, beforeListen) {
|
|
|
134
132
|
// every session, but the web bundle and the wire become reachable from
|
|
135
133
|
// any host that can route here.
|
|
136
134
|
const bindHost = process.env['CALYPSO_BIND'] ?? '127.0.0.1';
|
|
135
|
+
const hostControl = options.hostControl ?? HOST_CONTROL_OFF;
|
|
136
|
+
const refusal = hostControl_guard(hostControl, bindHost);
|
|
137
|
+
if (refusal !== null) {
|
|
138
|
+
console.error(chalk.red(`[!] ${refusal}`));
|
|
139
|
+
process.exit(1);
|
|
140
|
+
}
|
|
137
141
|
const daemon = new CalypsoDaemon({
|
|
138
142
|
engine,
|
|
139
143
|
token,
|
|
@@ -143,15 +147,19 @@ export async function daemon_launch(engine, beforeListen) {
|
|
|
143
147
|
// Only the daemon holds the session context, so it renders the themed
|
|
144
148
|
// prompt and pushes it to surfaces.
|
|
145
149
|
telemetryProvider: procIndex_snapshot,
|
|
146
|
-
promptProvider: (last) =>
|
|
147
|
-
|
|
148
|
-
|
|
150
|
+
promptProvider: async (last) => ({
|
|
151
|
+
...(await sessionPromptContext_build(last !== undefined
|
|
152
|
+
? { lastCommandDurationMs: last.durationMs, lastExitCode: last.exitCode }
|
|
153
|
+
: {})),
|
|
154
|
+
...(hostControl.tiers.size > 0 ? { hostControl: hostControl_tiers(hostControl) } : {}),
|
|
155
|
+
}),
|
|
149
156
|
// Report this process's own versions and build hash so attaching surfaces
|
|
150
157
|
// greet with the daemon's truth rather than their local install's.
|
|
151
158
|
stack: { ...versions_get(), build: buildHash_get() },
|
|
159
|
+
hostControl: hostControl_tiers(hostControl),
|
|
152
160
|
});
|
|
153
161
|
sink_set(new DaemonSink(daemon));
|
|
154
|
-
surface_set(daemonSurface_create(daemon));
|
|
162
|
+
surface_set(daemonSurface_create(daemon, hostControl));
|
|
155
163
|
const port = await daemon.start();
|
|
156
164
|
// The berth records where this daemon can actually be reached. Loopback is
|
|
157
165
|
// right for the ordinary case and wrong the moment CALYPSO_BIND opens the
|
|
@@ -174,6 +182,9 @@ export async function daemon_launch(engine, beforeListen) {
|
|
|
174
182
|
? [`ARGUS: http://${bindHost === '0.0.0.0' ? hostname() : bindHost}:${port}/?token=${token}`]
|
|
175
183
|
: []),
|
|
176
184
|
`attach: chell --remote --attach ${url} --token ${token}`,
|
|
185
|
+
...(hostControl.tiers.size > 0
|
|
186
|
+
? [`host control: ${hostControl_describe(hostControl)}${hostControl.exposed && bindHost !== '127.0.0.1' ? ` (EXPOSED on ${bindHost})` : ''}`]
|
|
187
|
+
: []),
|
|
177
188
|
];
|
|
178
189
|
const notePath = attachFile_write(noteLines);
|
|
179
190
|
if (notePath !== null) {
|
|
@@ -188,6 +199,13 @@ export async function daemon_launch(engine, beforeListen) {
|
|
|
188
199
|
}
|
|
189
200
|
console.log(chalk.gray(fortune_random(4)));
|
|
190
201
|
console.log(chalk.green(`[+] CALYPSO daemon listening on ${url}`));
|
|
202
|
+
if (hostControl.tiers.size > 0) {
|
|
203
|
+
// Annunciated every launch: this daemon acts on its own host.
|
|
204
|
+
console.log(chalk.yellow(`[!] HOST CONTROL: ${hostControl_describe(hostControl)} — \`!\`, pipes, and the disk are this host's`));
|
|
205
|
+
if (hostControl.exposed && bindHost !== '127.0.0.1') {
|
|
206
|
+
console.log(chalk.red(`[!] HOST CONTROL EXPOSED ON ${bindHost}: the attach URL is a shell on this host`));
|
|
207
|
+
}
|
|
208
|
+
}
|
|
191
209
|
console.log(chalk.gray(` identity: ${identity}`));
|
|
192
210
|
console.log(chalk.gray(` token: ${token}`));
|
|
193
211
|
console.log(chalk.gray(` berth: ${berth_path(identity)}`));
|
|
@@ -217,6 +235,8 @@ export async function daemon_launch(engine, beforeListen) {
|
|
|
217
235
|
berthPath: berth_path(identity),
|
|
218
236
|
argusUrl: webRoot !== null ? `http://${displayHost}:${port}/?token=${token}` : null,
|
|
219
237
|
daemon,
|
|
238
|
+
hostControl,
|
|
239
|
+
bindHost,
|
|
220
240
|
};
|
|
221
241
|
}
|
|
222
242
|
//# sourceMappingURL=launch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/daemon/launch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAmB,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,WAAW,EAA2G,MAAM,eAAe,CAAC;AAErJ,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAA6B,MAAM,eAAe,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,qBAAqB,EAAc,MAAM,YAAY,CAAC;AAC3I,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"launch.js","sourceRoot":"","sources":["../../src/daemon/launch.ts"],"names":[],"mappings":"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"}
|
package/dist/daemon/server.d.ts
CHANGED
|
@@ -33,6 +33,9 @@ export interface EditOutcome {
|
|
|
33
33
|
content: string;
|
|
34
34
|
changed: boolean;
|
|
35
35
|
}
|
|
36
|
+
/** The default number of envelopes retained for scrollback replay. */
|
|
37
|
+
/** The surface tag on session-bus envelopes the daemon itself originates. */
|
|
38
|
+
export declare const DAEMON_SURFACE: string;
|
|
36
39
|
/**
|
|
37
40
|
* Options for creating a daemon.
|
|
38
41
|
*
|
|
@@ -74,6 +77,8 @@ export interface DaemonOptions {
|
|
|
74
77
|
/** The hosting process's versions and build hash, reported on attach. */
|
|
75
78
|
stack?: DaemonStackInfo;
|
|
76
79
|
webRoot?: string;
|
|
80
|
+
/** The host-control tiers this daemon declares (empty or absent when off). */
|
|
81
|
+
hostControl?: string[];
|
|
77
82
|
}
|
|
78
83
|
/**
|
|
79
84
|
* A WebSocket daemon hosting one engine for attached surfaces, with a session
|
|
@@ -95,6 +100,7 @@ export declare class CalypsoDaemon {
|
|
|
95
100
|
/** Whether the last pushed prompt context carried active warm-up. */
|
|
96
101
|
private promptWarmupActive;
|
|
97
102
|
private readonly stack;
|
|
103
|
+
private readonly hostControl;
|
|
98
104
|
/** The one session all surfaces share; returned in each attach ack. */
|
|
99
105
|
private readonly sessionId;
|
|
100
106
|
private readonly surfaces;
|
|
@@ -114,6 +120,8 @@ export declare class CalypsoDaemon {
|
|
|
114
120
|
private queue;
|
|
115
121
|
/** The session's retained regard: the last indication from any surface. */
|
|
116
122
|
private regard;
|
|
123
|
+
/** Unsubscribes from the engine's ambient events; null until started. */
|
|
124
|
+
private ambientStop;
|
|
117
125
|
private currentOrigin;
|
|
118
126
|
private currentId;
|
|
119
127
|
private readonly prompts;
|
|
@@ -187,6 +195,25 @@ export declare class CalypsoDaemon {
|
|
|
187
195
|
* @returns The registered surface, or null when the attach was refused.
|
|
188
196
|
*/
|
|
189
197
|
private attach_handle;
|
|
198
|
+
/**
|
|
199
|
+
* Opens or closes a surface's watch on a subject and answers with the
|
|
200
|
+
* subject's state. A daemon whose engine cannot watch says so rather than
|
|
201
|
+
* leaving the surface waiting for liveness that will never come.
|
|
202
|
+
*
|
|
203
|
+
* @param origin - The surface asking.
|
|
204
|
+
* @param subject - The subject address.
|
|
205
|
+
* @param on - True to watch, false to release.
|
|
206
|
+
*/
|
|
207
|
+
private watch_receive;
|
|
208
|
+
/**
|
|
209
|
+
* Relays an engine-originated event to every surface: a sampler's refreshed
|
|
210
|
+
* model rides the session bus tagged with the daemon as its surface (off
|
|
211
|
+
* the scrollback — it is state, not something the operator did), and a
|
|
212
|
+
* watch state change goes out as its own message.
|
|
213
|
+
*
|
|
214
|
+
* @param event - The ambient event.
|
|
215
|
+
*/
|
|
216
|
+
private ambient_relay;
|
|
190
217
|
/**
|
|
191
218
|
* Retains a regard write (last write wins), mirrors it into the engine as
|
|
192
219
|
* session truth, and rebroadcasts it to every attached surface — the
|
package/dist/daemon/server.js
CHANGED
|
@@ -33,6 +33,8 @@ import { RequestBroker } from './broker.js';
|
|
|
33
33
|
import { CONTRACT_VERSION } from '@fnndsc/menu';
|
|
34
34
|
import { clientMessage_parse, attach_parse } from '@fnndsc/menu';
|
|
35
35
|
/** The default number of envelopes retained for scrollback replay. */
|
|
36
|
+
/** The surface tag on session-bus envelopes the daemon itself originates. */
|
|
37
|
+
export const DAEMON_SURFACE = 'daemon';
|
|
36
38
|
const SCROLLBACK_DEFAULT = 200;
|
|
37
39
|
/**
|
|
38
40
|
* A WebSocket daemon hosting one engine for attached surfaces, with a session
|
|
@@ -54,6 +56,7 @@ export class CalypsoDaemon {
|
|
|
54
56
|
/** Whether the last pushed prompt context carried active warm-up. */
|
|
55
57
|
promptWarmupActive = false;
|
|
56
58
|
stack;
|
|
59
|
+
hostControl;
|
|
57
60
|
/** The one session all surfaces share; returned in each attach ack. */
|
|
58
61
|
sessionId = randomBytes(8).toString('hex');
|
|
59
62
|
surfaces = new Set();
|
|
@@ -77,6 +80,8 @@ export class CalypsoDaemon {
|
|
|
77
80
|
queue = Promise.resolve();
|
|
78
81
|
/** The session's retained regard: the last indication from any surface. */
|
|
79
82
|
regard = null;
|
|
83
|
+
/** Unsubscribes from the engine's ambient events; null until started. */
|
|
84
|
+
ambientStop = null;
|
|
80
85
|
currentOrigin = null;
|
|
81
86
|
currentId = null;
|
|
82
87
|
// One RequestBroker per surface-delegated request kind. The broker owns the
|
|
@@ -101,6 +106,7 @@ export class CalypsoDaemon {
|
|
|
101
106
|
this.telemetryProvider = options.telemetryProvider;
|
|
102
107
|
this.stack = options.stack;
|
|
103
108
|
this.webRoot = options.webRoot;
|
|
109
|
+
this.hostControl = options.hostControl ?? [];
|
|
104
110
|
}
|
|
105
111
|
/**
|
|
106
112
|
* Starts the telemetry heartbeat: once a second, the live index counts go
|
|
@@ -168,6 +174,7 @@ export class CalypsoDaemon {
|
|
|
168
174
|
this.wss = wss;
|
|
169
175
|
this.httpServer = httpServer;
|
|
170
176
|
this.telemetry_start();
|
|
177
|
+
this.ambientStop = this.engine.ambient_listen?.((event) => this.ambient_relay(event)) ?? null;
|
|
171
178
|
});
|
|
172
179
|
}
|
|
173
180
|
/**
|
|
@@ -180,6 +187,10 @@ export class CalypsoDaemon {
|
|
|
180
187
|
clearInterval(this.telemetryTimer);
|
|
181
188
|
this.telemetryTimer = null;
|
|
182
189
|
}
|
|
190
|
+
if (this.ambientStop !== null) {
|
|
191
|
+
this.ambientStop();
|
|
192
|
+
this.ambientStop = null;
|
|
193
|
+
}
|
|
183
194
|
return new Promise((resolve) => {
|
|
184
195
|
if (!this.wss || !this.httpServer) {
|
|
185
196
|
resolve();
|
|
@@ -312,6 +323,9 @@ export class CalypsoDaemon {
|
|
|
312
323
|
else if (value.type === 'regard') {
|
|
313
324
|
this.regard_receive(value.regard);
|
|
314
325
|
}
|
|
326
|
+
else if (value.type === 'watch' || value.type === 'unwatch') {
|
|
327
|
+
this.watch_receive(attached, value.subject, value.type === 'watch');
|
|
328
|
+
}
|
|
315
329
|
else {
|
|
316
330
|
this.send(socket, { type: 'error', reason: 'already attached' });
|
|
317
331
|
}
|
|
@@ -319,6 +333,9 @@ export class CalypsoDaemon {
|
|
|
319
333
|
socket.on('close', () => {
|
|
320
334
|
if (surface) {
|
|
321
335
|
this.surfaces.delete(surface);
|
|
336
|
+
// A detached surface holds no watches: whatever it kept live is
|
|
337
|
+
// released, and a subject nobody else watches stops being sampled.
|
|
338
|
+
this.engine.watch_release?.(surface.id);
|
|
322
339
|
}
|
|
323
340
|
});
|
|
324
341
|
}
|
|
@@ -378,6 +395,9 @@ export class CalypsoDaemon {
|
|
|
378
395
|
session: this.sessionId,
|
|
379
396
|
protocolVersion: CONTRACT_VERSION,
|
|
380
397
|
...(this.stack !== undefined ? { stack: this.stack } : {}),
|
|
398
|
+
// Declared state, present from the first frame: a surface's lamp and a
|
|
399
|
+
// remote shell's banner read it, never infer it.
|
|
400
|
+
hostControl: this.hostControl,
|
|
381
401
|
});
|
|
382
402
|
this.scrollback_replay(socket);
|
|
383
403
|
// The newcomer shows the right prompt immediately, before any command.
|
|
@@ -390,6 +410,45 @@ export class CalypsoDaemon {
|
|
|
390
410
|
}
|
|
391
411
|
return surface;
|
|
392
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* Opens or closes a surface's watch on a subject and answers with the
|
|
415
|
+
* subject's state. A daemon whose engine cannot watch says so rather than
|
|
416
|
+
* leaving the surface waiting for liveness that will never come.
|
|
417
|
+
*
|
|
418
|
+
* @param origin - The surface asking.
|
|
419
|
+
* @param subject - The subject address.
|
|
420
|
+
* @param on - True to watch, false to release.
|
|
421
|
+
*/
|
|
422
|
+
watch_receive(origin, subject, on) {
|
|
423
|
+
if (this.engine.watch_set === undefined) {
|
|
424
|
+
this.send(origin.socket, { type: 'error', reason: 'this session cannot watch subjects' });
|
|
425
|
+
return;
|
|
426
|
+
}
|
|
427
|
+
const state = this.engine.watch_set(subject, origin.id, on);
|
|
428
|
+
if (state === null) {
|
|
429
|
+
this.send(origin.socket, { type: 'error', reason: `not a watchable subject: ${subject}` });
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
this.send(origin.socket, { type: 'watched', subject, state });
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* Relays an engine-originated event to every surface: a sampler's refreshed
|
|
436
|
+
* model rides the session bus tagged with the daemon as its surface (off
|
|
437
|
+
* the scrollback — it is state, not something the operator did), and a
|
|
438
|
+
* watch state change goes out as its own message.
|
|
439
|
+
*
|
|
440
|
+
* @param event - The ambient event.
|
|
441
|
+
*/
|
|
442
|
+
ambient_relay(event) {
|
|
443
|
+
for (const surface of this.surfaces) {
|
|
444
|
+
if (event.kind === 'envelope') {
|
|
445
|
+
this.send(surface.socket, { type: 'session', surface: DAEMON_SURFACE, envelope: event.envelope });
|
|
446
|
+
}
|
|
447
|
+
else {
|
|
448
|
+
this.send(surface.socket, { type: 'watched', subject: event.subject, state: event.state });
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
}
|
|
393
452
|
/**
|
|
394
453
|
* Retains a regard write (last write wins), mirrors it into the engine as
|
|
395
454
|
* session truth, and rebroadcasts it to every attached surface — the
|
|
@@ -606,7 +665,7 @@ export class CalypsoDaemon {
|
|
|
606
665
|
return Promise.reject(new Error('no active command to run a shell command for'));
|
|
607
666
|
}
|
|
608
667
|
if (!origin.capabilities.shellCommands) {
|
|
609
|
-
return Promise.reject(new Error('
|
|
668
|
+
return Promise.reject(new Error('this surface has no shell, and the daemon was not started with --host-control'));
|
|
610
669
|
}
|
|
611
670
|
return this.shells.open(origin.socket, (shellId) => {
|
|
612
671
|
this.send(origin.socket, { type: 'shell', shellId, command });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/daemon/server.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export { clientMessage_parse, serverMessage_parse, clientMessage_fromJson, attac
|
|
|
23
23
|
export { type HostedEngine, type CompletionResult } from './daemon/engine.js';
|
|
24
24
|
export { token_generate, token_writeFile, token_matches } from './daemon/token.js';
|
|
25
25
|
export { CalypsoDaemon, type DaemonOptions, type EditOutcome } from './daemon/server.js';
|
|
26
|
+
export { HOST_CONTROL_OFF, HOST_CONTROL_TIERS, hostControl_fromInputs, hostControl_parseArgv, hostControl_guard, hostControl_describe, hostControl_tiers, type HostControlPolicy, type HostControlTier, type HostControlInputs, } from './daemon/hostControl.js';
|
|
26
27
|
export { RequestBroker } from './daemon/broker.js';
|
|
27
28
|
export { daemon_launch, daemonSurface_create, DaemonSink, type DaemonLaunchInfo } from './daemon/launch.js';
|
|
28
29
|
export { face_start, face_boot, face_ready, face_suspend, face_resume, face_stop, face_isActive, face_frameCompose, uptime_format, FaceLogRing, type FaceInfo, type FaceTelemetry, type FaceOptions, type FaceFrame, } from './daemon/face.js';
|
package/dist/index.js
CHANGED
|
@@ -22,6 +22,7 @@ export { channelSchema, attachMessageSchema, executeMessageSchema, completeReque
|
|
|
22
22
|
export { clientMessage_parse, serverMessage_parse, clientMessage_fromJson, attach_parse, } from '@fnndsc/menu';
|
|
23
23
|
export { token_generate, token_writeFile, token_matches } from './daemon/token.js';
|
|
24
24
|
export { CalypsoDaemon } from './daemon/server.js';
|
|
25
|
+
export { HOST_CONTROL_OFF, HOST_CONTROL_TIERS, hostControl_fromInputs, hostControl_parseArgv, hostControl_guard, hostControl_describe, hostControl_tiers, } from './daemon/hostControl.js';
|
|
25
26
|
export { RequestBroker } from './daemon/broker.js';
|
|
26
27
|
export { daemon_launch, daemonSurface_create, DaemonSink } from './daemon/launch.js';
|
|
27
28
|
export { face_start, face_boot, face_ready, face_suspend, face_resume, face_stop, face_isActive, face_frameCompose, uptime_format, FaceLogRing, } from './daemon/face.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GAIpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,GAEb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAwC,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAyB,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GAKZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AACxG,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GAInB,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GAIpB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,GAEb,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnF,OAAO,EAAE,aAAa,EAAwC,MAAM,oBAAoB,CAAC;AACzF,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,GAIlB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAyB,MAAM,oBAAoB,CAAC;AAC5G,OAAO,EACL,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,GAKZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AACxG,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,GAInB,MAAM,mBAAmB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fnndsc/calypso",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "CALYPSO: the ChRIS session daemon — hosts a brasa engine for attached surfaces over a WebSocket",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"typescript": "^5.0.0"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@fnndsc/brasa": "^0.
|
|
55
|
-
"@fnndsc/cumin": "^3.
|
|
54
|
+
"@fnndsc/brasa": "^0.16.0",
|
|
55
|
+
"@fnndsc/cumin": "^3.17.0",
|
|
56
56
|
"chalk": "^4.1.2",
|
|
57
57
|
"ws": "^8.18.0",
|
|
58
58
|
"zod": "^3.23.8",
|