@nexus-aethra/dshell-std 0.1.0 → 0.1.2
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/lib/contracts.js +57 -6
- package/lib/contracts.js.map +1 -1
- package/lib/data-root.js +30 -0
- package/lib/data-root.js.map +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/types/contracts.d.ts +226 -15
- package/lib/types/contracts.d.ts.map +1 -1
- package/lib/types/data-root.d.ts +44 -0
- package/lib/types/data-root.d.ts.map +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/contracts.js
CHANGED
|
@@ -83,16 +83,31 @@ export const SETTLED_STATES = ['done', 'failed', 'timeout', 'cancelled'];
|
|
|
83
83
|
export const DSHELL_SSH_PATH = '/api/dshell/ssh';
|
|
84
84
|
/** Settings namespace owned by this plugin; also the device card's slot key. */
|
|
85
85
|
export const SSH_SETTINGS_NAMESPACE = 'dshell-ssh';
|
|
86
|
-
// ─── workspace — the session
|
|
86
|
+
// ─── workspace — the session delete route ───
|
|
87
87
|
// moved from packages/dshell/workspace/src/protocol.ts
|
|
88
88
|
/**
|
|
89
89
|
* dshell session-panel wire — design 4.7 follow-up.
|
|
90
90
|
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
91
|
+
* This route carries ONE dshell-only concern now: the history purge. Its
|
|
92
|
+
* companion, the archive tag, has moved to upstream and left this contract:
|
|
93
|
+
*
|
|
94
|
+
* - The **archive set is upstream's.** `workspaceRegistry.archiveSession` /
|
|
95
|
+
* `unarchiveSession` own it, the stock `workspace-controller` row (enabled in
|
|
96
|
+
* this profile) exposes both as remote commands and pushes a
|
|
97
|
+
* `{ type: 'archived' }` increment, and `ui-settings-unarchive-sessions` —
|
|
98
|
+
* the settings page this profile renders — is its restore surface. dshell
|
|
99
|
+
* supplies the registry's storage half and nothing else; there is no dshell
|
|
100
|
+
* archive UI and no dshell archive route. See packages/dshell/workspace/
|
|
101
|
+
* src/index.ts.
|
|
102
|
+
* - The **history purge still has no upstream.** `SessionPersistence` is
|
|
103
|
+
* append-only — create/open/stat/list and no delete — `session-controller`
|
|
104
|
+
* has no delete command, and the jsonl lease documents "Release never
|
|
105
|
+
* removes". `api-session/removed` is a `session/disposed` relay that
|
|
106
|
+
* upstream's own client turns into a snapshot flag, deleting nothing.
|
|
107
|
+
*
|
|
108
|
+
* The purge travels over dshell's own exact route on the shared `/api` channel
|
|
109
|
+
* rather than through the Typert Remote table (whose client artifacts are
|
|
110
|
+
* generated from dsh's own packages).
|
|
96
111
|
*
|
|
97
112
|
* The path sits below the shared channel exactly like file-upload's: the
|
|
98
113
|
* physical carrier applies dsh's trust and authentication policy before the
|
|
@@ -126,4 +141,40 @@ export const DSHELL_STREAM_PATH = '/api/dshell/stream';
|
|
|
126
141
|
* with. Answers with no body; the stream is the only place results appear.
|
|
127
142
|
*/
|
|
128
143
|
export const DSHELL_STREAM_SEND_PATH = '/api/dshell/stream/send';
|
|
144
|
+
// ─── dshell's own data root, and the directory browser that picks it ───
|
|
145
|
+
/**
|
|
146
|
+
* Environment variable holding the directory dshell keeps its own files under.
|
|
147
|
+
*
|
|
148
|
+
* dshell derives every one of its paths from a harness home — `DSH_HOME` when
|
|
149
|
+
* the deployment sets one, `~/.dsh` otherwise — and puts `dshell/` (device
|
|
150
|
+
* registry, buffer state, session tags, mount points) and `dshell-pty/`
|
|
151
|
+
* (transcripts, their timelines, the history database) beneath it.
|
|
152
|
+
*
|
|
153
|
+
* This variable overrides that home for dshell ALONE. The distinct name is the
|
|
154
|
+
* whole point: `DSH_HOME` belongs to the harness and moving it moves sessions,
|
|
155
|
+
* settings and storage too, while a reader who wants their shell transcripts on
|
|
156
|
+
* another disk is not asking to relocate dsh. Two deployments set it — the
|
|
157
|
+
* settings card (`dataDir` in the `dshell` namespace, applied by the host half
|
|
158
|
+
* at start) and a user or unit file exporting it directly, which is what the
|
|
159
|
+
* packaged builds use.
|
|
160
|
+
*
|
|
161
|
+
* It is read at each path resolution rather than cached, for the same reason
|
|
162
|
+
* dsh's own resolution is: the value is a fact about the process, set once
|
|
163
|
+
* before anything asks.
|
|
164
|
+
*/
|
|
165
|
+
export const DSHELL_HOME_ENV = 'DSHELL_HOME';
|
|
166
|
+
/**
|
|
167
|
+
* Exact `/api` route path owned by dshell's directory browser.
|
|
168
|
+
*
|
|
169
|
+
* The settings card's data-directory field cannot be typed by everyone and
|
|
170
|
+
* cannot be a native folder dialog: a browser has no access to a host path, and
|
|
171
|
+
* the harness may not even be on the machine drawing the page (the desktop
|
|
172
|
+
* shell and a remote `dsh web` are the same client). So the host lists its own
|
|
173
|
+
* directories and the card draws them — the picker is an ordinary route on the
|
|
174
|
+
* shared `/api` channel, under the same trust and authentication policy as the
|
|
175
|
+
* rest of dshell's routes.
|
|
176
|
+
*/
|
|
177
|
+
export const DSHELL_DIRS_PATH = '/api/dshell/dirs';
|
|
178
|
+
/** The cordis service name `DshellFileSystem` publishes under. */
|
|
179
|
+
export const DEVICE_FS_SERVICE = 'dshellDeviceFs';
|
|
129
180
|
//# sourceMappingURL=contracts.js.map
|
package/lib/contracts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH;;;;;;;;;;;;GAYG;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AA2KpD,8CAA8C;AAC9C,4DAA4D;AAE5D;;;;;;;;;;;;GAYG;AAEH,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAsH1D,6EAA6E;AAC7E,oDAAoD;AAEpD;;;;;;;;;;GAUG;AAEH,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AAEtD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAA;AAW5C,sEAAsE;AACtE,MAAM,CAAC,MAAM,cAAc,GAAiC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AAyLtG,4DAA4D;AAC5D,iDAAiD;AAEjD;;;;;;;;;;;GAWG;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEhD,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../src/contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAWH;;;;;;;;;;;;GAYG;AAEH,yDAAyD;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AA2KpD,8CAA8C;AAC9C,4DAA4D;AAE5D;;;;;;;;;;;;GAYG;AAEH,wDAAwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AAsH1D,6EAA6E;AAC7E,oDAAoD;AAEpD;;;;;;;;;;GAUG;AAEH,kDAAkD;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AAEtD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAA;AAW5C,sEAAsE;AACtE,MAAM,CAAC,MAAM,cAAc,GAAiC,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;AAyLtG,4DAA4D;AAC5D,iDAAiD;AAEjD;;;;;;;;;;;GAWG;AAEH,gEAAgE;AAChE,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAEhD,gFAAgF;AAChF,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAA;AA4JlD,+CAA+C;AAC/C,uDAAuD;AAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,iEAAiE;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAA;AA4B1D,qDAAqD;AACrD,0DAA0D;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAG,iBAAiB,CAAA;AAuChD,yEAAyE;AAEzE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,yBAAyB,CAAA;AAEhE,0EAA0E;AAE1E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAA;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAiIlD,kEAAkE;AAClE,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAA"}
|
package/lib/data-root.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one host fact dshell's packages have to agree on before they touch a
|
|
3
|
+
* path: where dshell's own files live.
|
|
4
|
+
*
|
|
5
|
+
* dsh resolves its home per call from the environment (`DSH_HOME`, else
|
|
6
|
+
* `~/.dsh`), which is why a plugin never has to ask what it is. dshell's own
|
|
7
|
+
* data root is different: it is a SETTING, so it is known only once the
|
|
8
|
+
* settings service is up and dshell-mode has read the value — and a plugin
|
|
9
|
+
* whose apply finishes before that would otherwise capture the wrong directory
|
|
10
|
+
* and keep it for the life of the process. That is not hypothetical: a reader
|
|
11
|
+
* who moved their data directory found their device registry empty afterwards,
|
|
12
|
+
* with the file sitting intact at the old location, because `dshell-ssh` had
|
|
13
|
+
* built its store first.
|
|
14
|
+
*
|
|
15
|
+
* So the root is published as a service, and the packages that resolve a path
|
|
16
|
+
* during composition wait for it. The declaration lives here, in the shared
|
|
17
|
+
* layer, because the provider (`dshell-mode`) and the waiters (`dshell-ssh`,
|
|
18
|
+
* `dshell-workspace`) are separate packages that must not import each other —
|
|
19
|
+
* and because the seat is small enough to read in full: a promise that settles
|
|
20
|
+
* with the decision.
|
|
21
|
+
*
|
|
22
|
+
* A package need not wait to resolve a path LATER (a route call, a shell spawn,
|
|
23
|
+
* a file listing): those all happen after composition, so the root is settled by
|
|
24
|
+
* then, and reading it where it is used is the cheaper and equally safe rule.
|
|
25
|
+
* What must not happen is resolving a path while the composition is still
|
|
26
|
+
* running and keeping the answer.
|
|
27
|
+
*/
|
|
28
|
+
/** Service name dshell-mode provides and the path-owning packages wait on. */
|
|
29
|
+
export const DSHELL_DATA_ROOT_SERVICE = 'dshellDataRoot';
|
|
30
|
+
//# sourceMappingURL=data-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-root.js","sourceRoot":"","sources":["../src/data-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,8EAA8E;AAC9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,gBAAgB,CAAA"}
|
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
|
package/lib/types/contracts.d.ts
CHANGED
|
@@ -548,6 +548,33 @@ export declare const DSHELL_SSH_PATH = "/api/dshell/ssh";
|
|
|
548
548
|
export declare const SSH_SETTINGS_NAMESPACE = "dshell-ssh";
|
|
549
549
|
/** How a device authenticates. */
|
|
550
550
|
export type DeviceAuth = 'key' | 'password';
|
|
551
|
+
/**
|
|
552
|
+
* What dshell knows about the helper on a device.
|
|
553
|
+
*
|
|
554
|
+
* Three states the device card surfaces differently:
|
|
555
|
+
*
|
|
556
|
+
* - `absent` — no helper has ever been deployed to this device. A device
|
|
557
|
+
* session's RPC lane is unavailable; the assembled-command lane still
|
|
558
|
+
* works. The Test button reports the absence and offers to install.
|
|
559
|
+
* - `present` — a helper is deployed whose digest matches the artifact this
|
|
560
|
+
* build ships. RPC is ready.
|
|
561
|
+
* - `mismatch` — a helper is deployed but its digest disagrees with this
|
|
562
|
+
* build's. The next connection will redploy automatically; the card
|
|
563
|
+
* surfaces the disagreement so the user can decide whether to wait.
|
|
564
|
+
*/
|
|
565
|
+
export type DeviceHelperState = 'absent' | 'present' | 'mismatch';
|
|
566
|
+
/** What the helper deployment looks like right now, when known. */
|
|
567
|
+
export interface DeviceHelperStatus {
|
|
568
|
+
readonly state: DeviceHelperState;
|
|
569
|
+
/** Digest of the file on the device, when the last check could read it. */
|
|
570
|
+
readonly onDevice?: string;
|
|
571
|
+
/** Digest of the artifact this build ships; absent means the build is unbundled. */
|
|
572
|
+
readonly expected?: string;
|
|
573
|
+
/** Absolute path the helper lives at, when known. */
|
|
574
|
+
readonly path?: string;
|
|
575
|
+
/** Last check's verbatim result; empty on `absent` with no attempt. */
|
|
576
|
+
readonly message: string;
|
|
577
|
+
}
|
|
551
578
|
/** One configured device as the UI sees it — never includes secret material. */
|
|
552
579
|
export interface DeviceView {
|
|
553
580
|
readonly id: string;
|
|
@@ -565,6 +592,8 @@ export interface DeviceView {
|
|
|
565
592
|
readonly auth: DeviceAuth;
|
|
566
593
|
/** Whether the secret for {@link auth} (key or password) is stored. */
|
|
567
594
|
readonly hasSecret: boolean;
|
|
595
|
+
/** Helper deployment state, when known. Absent for compositions that have not checked. */
|
|
596
|
+
readonly helper?: DeviceHelperStatus | undefined;
|
|
568
597
|
}
|
|
569
598
|
/** One device as submitted by the UI; `key` is write-only. */
|
|
570
599
|
export interface DeviceInput {
|
|
@@ -638,6 +667,16 @@ export type SshRequest = {
|
|
|
638
667
|
readonly action: 'mount';
|
|
639
668
|
readonly deviceId: string;
|
|
640
669
|
readonly remoteRoot?: string | null;
|
|
670
|
+
} | {
|
|
671
|
+
/**
|
|
672
|
+
* Deploy this build's helper to the device, content-addressed by digest.
|
|
673
|
+
*
|
|
674
|
+
* The route runs `mkdir -p ~/.dshell/helper` and `base64 -d > ~/.dshell/helper/helper-<sha256>.mjs`,
|
|
675
|
+
* then `chmod 0700`. The reply carries the resulting {@link DeviceHelperStatus},
|
|
676
|
+
* which the card renders to confirm the deployment.
|
|
677
|
+
*/
|
|
678
|
+
readonly action: 'install';
|
|
679
|
+
readonly deviceId: string;
|
|
641
680
|
};
|
|
642
681
|
/** One response body; `error` is a refusal the UI shows verbatim. */
|
|
643
682
|
export interface SshResponse {
|
|
@@ -647,16 +686,36 @@ export interface SshResponse {
|
|
|
647
686
|
readonly testResult?: string | undefined;
|
|
648
687
|
/** Local mount directory, answering the `mount` action. */
|
|
649
688
|
readonly mountPath?: string | undefined;
|
|
689
|
+
/**
|
|
690
|
+
* Helper deployment status from the last check, set when one was requested
|
|
691
|
+
* (`install` action or the eventual three-phase `test` extension).
|
|
692
|
+
*/
|
|
693
|
+
readonly helper?: DeviceHelperStatus | undefined;
|
|
650
694
|
readonly error?: string | undefined;
|
|
651
695
|
}
|
|
652
696
|
/**
|
|
653
697
|
* dshell session-panel wire — design 4.7 follow-up.
|
|
654
698
|
*
|
|
655
|
-
*
|
|
656
|
-
*
|
|
657
|
-
*
|
|
658
|
-
*
|
|
659
|
-
*
|
|
699
|
+
* This route carries ONE dshell-only concern now: the history purge. Its
|
|
700
|
+
* companion, the archive tag, has moved to upstream and left this contract:
|
|
701
|
+
*
|
|
702
|
+
* - The **archive set is upstream's.** `workspaceRegistry.archiveSession` /
|
|
703
|
+
* `unarchiveSession` own it, the stock `workspace-controller` row (enabled in
|
|
704
|
+
* this profile) exposes both as remote commands and pushes a
|
|
705
|
+
* `{ type: 'archived' }` increment, and `ui-settings-unarchive-sessions` —
|
|
706
|
+
* the settings page this profile renders — is its restore surface. dshell
|
|
707
|
+
* supplies the registry's storage half and nothing else; there is no dshell
|
|
708
|
+
* archive UI and no dshell archive route. See packages/dshell/workspace/
|
|
709
|
+
* src/index.ts.
|
|
710
|
+
* - The **history purge still has no upstream.** `SessionPersistence` is
|
|
711
|
+
* append-only — create/open/stat/list and no delete — `session-controller`
|
|
712
|
+
* has no delete command, and the jsonl lease documents "Release never
|
|
713
|
+
* removes". `api-session/removed` is a `session/disposed` relay that
|
|
714
|
+
* upstream's own client turns into a snapshot flag, deleting nothing.
|
|
715
|
+
*
|
|
716
|
+
* The purge travels over dshell's own exact route on the shared `/api` channel
|
|
717
|
+
* rather than through the Typert Remote table (whose client artifacts are
|
|
718
|
+
* generated from dsh's own packages).
|
|
660
719
|
*
|
|
661
720
|
* The path sits below the shared channel exactly like file-upload's: the
|
|
662
721
|
* physical carrier applies dsh's trust and authentication policy before the
|
|
@@ -670,28 +729,26 @@ export declare const DSHELL_SESSIONS_PATH = "/api/dshell/sessions";
|
|
|
670
729
|
/** One request body the route accepts; `list` is also the GET shape. */
|
|
671
730
|
export type SessionRequest = {
|
|
672
731
|
readonly action: 'list';
|
|
673
|
-
} | {
|
|
674
|
-
readonly action: 'archive';
|
|
675
|
-
readonly sessionId: string;
|
|
676
|
-
} | {
|
|
677
|
-
readonly action: 'unarchive';
|
|
678
|
-
readonly sessionId: string;
|
|
679
732
|
} | {
|
|
680
733
|
readonly action: 'delete';
|
|
681
734
|
readonly sessionId: string;
|
|
682
735
|
};
|
|
683
736
|
/**
|
|
684
|
-
* One response body. `
|
|
685
|
-
* the request, so one round trip leaves the caller's snapshot
|
|
737
|
+
* One response body. `pendingPurge` rides on every response — the scheduled
|
|
738
|
+
* set after the request, so one round trip leaves the caller's snapshot
|
|
739
|
+
* current.
|
|
740
|
+
*
|
|
741
|
+
* It is only the QUALIFIER half of the archive set: a pending id is always
|
|
742
|
+
* archived too, but the archive half is not dshell's to report any more (see
|
|
743
|
+
* above), and the sidebar reads it from the workspace registry's snapshot.
|
|
686
744
|
* `error` is a refusal the sidebar shows verbatim; it is not a transport
|
|
687
745
|
* failure, so the response still carries a 2xx status.
|
|
688
746
|
*/
|
|
689
747
|
export interface SessionResponse {
|
|
690
|
-
readonly archived: readonly string[];
|
|
691
748
|
/**
|
|
692
749
|
* Archived ids whose log is scheduled for removal at the next start (the
|
|
693
750
|
* session was still loaded in this process, so its writer would have
|
|
694
|
-
* recreated the directory).
|
|
751
|
+
* recreated the directory).
|
|
695
752
|
*/
|
|
696
753
|
readonly pendingPurge?: readonly string[];
|
|
697
754
|
readonly error?: string;
|
|
@@ -750,4 +807,158 @@ export declare const DSHELL_STREAM_PATH = "/api/dshell/stream";
|
|
|
750
807
|
* with. Answers with no body; the stream is the only place results appear.
|
|
751
808
|
*/
|
|
752
809
|
export declare const DSHELL_STREAM_SEND_PATH = "/api/dshell/stream/send";
|
|
810
|
+
/**
|
|
811
|
+
* Environment variable holding the directory dshell keeps its own files under.
|
|
812
|
+
*
|
|
813
|
+
* dshell derives every one of its paths from a harness home — `DSH_HOME` when
|
|
814
|
+
* the deployment sets one, `~/.dsh` otherwise — and puts `dshell/` (device
|
|
815
|
+
* registry, buffer state, session tags, mount points) and `dshell-pty/`
|
|
816
|
+
* (transcripts, their timelines, the history database) beneath it.
|
|
817
|
+
*
|
|
818
|
+
* This variable overrides that home for dshell ALONE. The distinct name is the
|
|
819
|
+
* whole point: `DSH_HOME` belongs to the harness and moving it moves sessions,
|
|
820
|
+
* settings and storage too, while a reader who wants their shell transcripts on
|
|
821
|
+
* another disk is not asking to relocate dsh. Two deployments set it — the
|
|
822
|
+
* settings card (`dataDir` in the `dshell` namespace, applied by the host half
|
|
823
|
+
* at start) and a user or unit file exporting it directly, which is what the
|
|
824
|
+
* packaged builds use.
|
|
825
|
+
*
|
|
826
|
+
* It is read at each path resolution rather than cached, for the same reason
|
|
827
|
+
* dsh's own resolution is: the value is a fact about the process, set once
|
|
828
|
+
* before anything asks.
|
|
829
|
+
*/
|
|
830
|
+
export declare const DSHELL_HOME_ENV = "DSHELL_HOME";
|
|
831
|
+
/**
|
|
832
|
+
* Exact `/api` route path owned by dshell's directory browser.
|
|
833
|
+
*
|
|
834
|
+
* The settings card's data-directory field cannot be typed by everyone and
|
|
835
|
+
* cannot be a native folder dialog: a browser has no access to a host path, and
|
|
836
|
+
* the harness may not even be on the machine drawing the page (the desktop
|
|
837
|
+
* shell and a remote `dsh web` are the same client). So the host lists its own
|
|
838
|
+
* directories and the card draws them — the picker is an ordinary route on the
|
|
839
|
+
* shared `/api` channel, under the same trust and authentication policy as the
|
|
840
|
+
* rest of dshell's routes.
|
|
841
|
+
*/
|
|
842
|
+
export declare const DSHELL_DIRS_PATH = "/api/dshell/dirs";
|
|
843
|
+
/** One request body: what to do with the directory being shown. */
|
|
844
|
+
export interface DshellDirsRequest {
|
|
845
|
+
/**
|
|
846
|
+
* `list` (the default) reads a directory, `mkdir` creates one inside it.
|
|
847
|
+
*
|
|
848
|
+
* Two actions rather than two routes because they are the same subject read
|
|
849
|
+
* two ways: the picker shows a directory, and the one way out of a tree whose
|
|
850
|
+
* directory does not exist yet is to make it where the reader is standing.
|
|
851
|
+
*/
|
|
852
|
+
readonly action?: 'list' | 'mkdir' | undefined;
|
|
853
|
+
/**
|
|
854
|
+
* A path on the HOST machine. Absolute, or `~`-prefixed; anything else is
|
|
855
|
+
* resolved against the home directory rather than the process's cwd, which is
|
|
856
|
+
* the one thing a browser could not know and would surprise a reader either
|
|
857
|
+
* way.
|
|
858
|
+
*
|
|
859
|
+
* For `mkdir` this is the PARENT directory, and it must already exist.
|
|
860
|
+
*/
|
|
861
|
+
readonly path?: string | undefined;
|
|
862
|
+
/**
|
|
863
|
+
* The directory to create, for `mkdir`: ONE path segment, not a path.
|
|
864
|
+
*
|
|
865
|
+
* A name rather than a path on purpose — `mkdir` here is the picker's
|
|
866
|
+
* "new folder", and a field that accepts `a/b/c` is a field that creates
|
|
867
|
+
* three directories somewhere the reader cannot see while typing.
|
|
868
|
+
*/
|
|
869
|
+
readonly name?: string | undefined;
|
|
870
|
+
}
|
|
871
|
+
/** One directory below the listed one. Files are not offered: this names a data root. */
|
|
872
|
+
export interface DshellDirsEntry {
|
|
873
|
+
/** The directory's own name (the last path segment). */
|
|
874
|
+
readonly name: string;
|
|
875
|
+
/** Its absolute path; what the field stores. */
|
|
876
|
+
readonly path: string;
|
|
877
|
+
}
|
|
878
|
+
/**
|
|
879
|
+
* One answer.
|
|
880
|
+
*
|
|
881
|
+
* `parent` is `null` at the file system root, which is how the picker knows to
|
|
882
|
+
* stop drawing an up-one-level control. `created` is the directory a `mkdir`
|
|
883
|
+
* request made, and the listing alongside it is that directory's (empty) own —
|
|
884
|
+
* so the picker lands the reader inside what they just made rather than leaving
|
|
885
|
+
* them to find it. `writable` describes the listed directory itself — the card
|
|
886
|
+
* refuses a read-only choice in words rather than letting the harness fail to
|
|
887
|
+
* write after a restart — and is absent when the host could not tell. `home` is
|
|
888
|
+
* where the picker opens and what 「跟随默认」 points at.
|
|
889
|
+
*/
|
|
890
|
+
export interface DshellDirsResponse {
|
|
891
|
+
/** The resolved directory that was listed. */
|
|
892
|
+
readonly path?: string;
|
|
893
|
+
/** Its parent, `null` at the root, absent when nothing was listed. */
|
|
894
|
+
readonly parent?: string | null;
|
|
895
|
+
/** The host user's home directory. */
|
|
896
|
+
readonly home?: string;
|
|
897
|
+
/** The directories below `path`, sorted the way the picker draws them. */
|
|
898
|
+
readonly entries?: readonly DshellDirsEntry[];
|
|
899
|
+
/** The directory a `mkdir` created, when one was. */
|
|
900
|
+
readonly created?: string;
|
|
901
|
+
/** Whether `path` is writable by the harness; absent when unknown. */
|
|
902
|
+
readonly writable?: boolean;
|
|
903
|
+
/** Whether the host cut the listing at its cap; the picker says so rather than lying by omission. */
|
|
904
|
+
readonly truncated?: boolean;
|
|
905
|
+
/** Why the answer carries no listing, when it does not. */
|
|
906
|
+
readonly note?: 'noDirectory' | 'notDirectory' | 'noAccess' | 'exists' | 'badName';
|
|
907
|
+
/** A refusal the card shows verbatim. */
|
|
908
|
+
readonly error?: string;
|
|
909
|
+
}
|
|
910
|
+
/**
|
|
911
|
+
* Byte-level filesystem ops on a device, for callers that need them outside
|
|
912
|
+
* the policy fence that `ctx.fs` draws.
|
|
913
|
+
*
|
|
914
|
+
* Two things use it today: the chunked transfer relay in `dshell-files` and
|
|
915
|
+
* the chunked buffer relay in `dshell-buffer`. Both want the operations
|
|
916
|
+
* `ctx.fs` deliberately does not expose — `mkdir`, `remove`, `rename`,
|
|
917
|
+
* `sha256`, `copy` — because the seam's contract is "you read / write text
|
|
918
|
+
* through `ctx.fs`", and the two relays transfer arbitrary bytes.
|
|
919
|
+
*
|
|
920
|
+
* The interface is shaped so a transfer engine does not have to learn anything
|
|
921
|
+
* about the device registry or the routing table. The provider resolves the
|
|
922
|
+
* device from the ambient call's session, and the engine asks for an ops
|
|
923
|
+
* object once, at the top of its function.
|
|
924
|
+
*
|
|
925
|
+
* The shape mirrors `RemoteFileSystem` (which is what the `dshell-ssh`
|
|
926
|
+
* implementation packages): the engine can pass the same paths and read the
|
|
927
|
+
* same replies regardless of which backend answered. A backend that has not
|
|
928
|
+
* pre-deployed a helper rejects with `FsError('FS_NOT_OBSERVED', …)`; an
|
|
929
|
+
* unbound session produces `undefined` from `forInitiator`, the same shape
|
|
930
|
+
* `RemoteFileSystem`'s internal callers expect.
|
|
931
|
+
*/
|
|
932
|
+
export interface DeviceFsOps {
|
|
933
|
+
/** Publish one file's whole contents on the device, byte for byte. */
|
|
934
|
+
writeBytes(remote: string, bytes: Uint8Array, signal?: AbortSignal): Promise<void>;
|
|
935
|
+
/** Create one or more directories, optionally recursive. */
|
|
936
|
+
mkdir(paths: readonly string[], recursive: boolean, signal?: AbortSignal): Promise<void>;
|
|
937
|
+
/** Remove one path, recursively and tolerating absence when forced. */
|
|
938
|
+
remove(path: string, force: boolean, signal?: AbortSignal): Promise<void>;
|
|
939
|
+
/** Rename one path to another, optionally overwriting an existing one. */
|
|
940
|
+
rename(from: string, to: string, overwrite: boolean, signal?: AbortSignal): Promise<void>;
|
|
941
|
+
/** The whole-file SHA-256 of one path, computed on the device. */
|
|
942
|
+
sha256(path: string, signal?: AbortSignal): Promise<string>;
|
|
943
|
+
/** Copy one file on the device, end-to-end. */
|
|
944
|
+
copy(source: string, destination: string, overwrite: boolean, expectedSha256: string | undefined, onProgress: (written: number, totalBytes: number) => void, signal: AbortSignal): Promise<{
|
|
945
|
+
destination: string;
|
|
946
|
+
sourceSha256: string;
|
|
947
|
+
bytes: number;
|
|
948
|
+
}>;
|
|
949
|
+
}
|
|
950
|
+
/**
|
|
951
|
+
* The byte-level device ops seat.
|
|
952
|
+
*
|
|
953
|
+
* `forInitiator` answers the device for the ambient call's session, or
|
|
954
|
+
* `undefined` when the session is local / unbound / has no helper. The
|
|
955
|
+
* transfer engine reads it once at the top of its function, and passes the
|
|
956
|
+
* resulting ops object down to every chunk — so the routing decision is
|
|
957
|
+
* made exactly once per copy, not once per chunk.
|
|
958
|
+
*/
|
|
959
|
+
export interface DeviceFsSeat {
|
|
960
|
+
readonly forInitiator: () => DeviceFsOps | undefined;
|
|
961
|
+
}
|
|
962
|
+
/** The cordis service name `DshellFileSystem` publishes under. */
|
|
963
|
+
export declare const DEVICE_FS_SERVICE = "dshellDeviceFs";
|
|
753
964
|
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one host fact dshell's packages have to agree on before they touch a
|
|
3
|
+
* path: where dshell's own files live.
|
|
4
|
+
*
|
|
5
|
+
* dsh resolves its home per call from the environment (`DSH_HOME`, else
|
|
6
|
+
* `~/.dsh`), which is why a plugin never has to ask what it is. dshell's own
|
|
7
|
+
* data root is different: it is a SETTING, so it is known only once the
|
|
8
|
+
* settings service is up and dshell-mode has read the value — and a plugin
|
|
9
|
+
* whose apply finishes before that would otherwise capture the wrong directory
|
|
10
|
+
* and keep it for the life of the process. That is not hypothetical: a reader
|
|
11
|
+
* who moved their data directory found their device registry empty afterwards,
|
|
12
|
+
* with the file sitting intact at the old location, because `dshell-ssh` had
|
|
13
|
+
* built its store first.
|
|
14
|
+
*
|
|
15
|
+
* So the root is published as a service, and the packages that resolve a path
|
|
16
|
+
* during composition wait for it. The declaration lives here, in the shared
|
|
17
|
+
* layer, because the provider (`dshell-mode`) and the waiters (`dshell-ssh`,
|
|
18
|
+
* `dshell-workspace`) are separate packages that must not import each other —
|
|
19
|
+
* and because the seat is small enough to read in full: a promise that settles
|
|
20
|
+
* with the decision.
|
|
21
|
+
*
|
|
22
|
+
* A package need not wait to resolve a path LATER (a route call, a shell spawn,
|
|
23
|
+
* a file listing): those all happen after composition, so the root is settled by
|
|
24
|
+
* then, and reading it where it is used is the cheaper and equally safe rule.
|
|
25
|
+
* What must not happen is resolving a path while the composition is still
|
|
26
|
+
* running and keeping the answer.
|
|
27
|
+
*/
|
|
28
|
+
/** Service name dshell-mode provides and the path-owning packages wait on. */
|
|
29
|
+
export declare const DSHELL_DATA_ROOT_SERVICE = "dshellDataRoot";
|
|
30
|
+
/** Which input decided the root, in the provider's precedence order. */
|
|
31
|
+
export type DshellDataRootSource = 'setting' | 'environment' | 'harness';
|
|
32
|
+
/** What the settlement decided about this process's data root. */
|
|
33
|
+
export interface DshellDataRootPlan {
|
|
34
|
+
/** The directory dshell's own trees are resolved under. */
|
|
35
|
+
readonly root: string;
|
|
36
|
+
/** The input that decided it. */
|
|
37
|
+
readonly source: DshellDataRootSource;
|
|
38
|
+
}
|
|
39
|
+
/** The seat a waiting package reads: a promise, never a captured string. */
|
|
40
|
+
export interface DshellDataRootSeat {
|
|
41
|
+
/** Settles with the decision, once the settings document has been read. */
|
|
42
|
+
readonly settled: Promise<DshellDataRootPlan>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=data-root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-root.d.ts","sourceRoot":"","sources":["../../src/data-root.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,8EAA8E;AAC9E,eAAO,MAAM,wBAAwB,mBAAmB,CAAA;AAExD,wEAAwE;AACxE,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,CAAA;AAExE,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,iCAAiC;IACjC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;CACtC;AAED,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAC9C"}
|
package/lib/types/index.d.ts
CHANGED
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,cAAc,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus-aethra/dshell-std",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "dshell standard layer: the wire contracts every plugin shares (paths + shapes), with no dependency on dsh and no feature code — the single place a dsh interface change is absorbed.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|