dsh-ops 0.0.0-stage → 0.2.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.
- package/CHANGELOG.md +189 -0
- package/LICENSE +30 -0
- package/NOTICE +106 -0
- package/PROVENANCE.md +417 -0
- package/README.en.md +121 -0
- package/README.md +113 -2
- package/README.zh.md +114 -0
- package/bin/dsh-ops.mjs +1216 -0
- package/cordis.patch.yml +160 -0
- package/docs/manual-validation.md +53 -0
- package/docs/schema-baseline.json +64 -0
- package/docs/schema-current.json +84 -0
- package/docs/schema-measurement.md +17 -0
- package/dsh-plugin.json +88 -0
- package/icon.svg +12 -0
- package/lib/binary.js +409 -0
- package/lib/config.js +198 -0
- package/lib/handshake.js +252 -0
- package/lib/index.js +108 -0
- package/lib/jobs.js +42 -0
- package/lib/policy.js +64 -0
- package/lib/presentation.js +63 -0
- package/lib/profile-install.js +61 -0
- package/lib/rust.js +194 -0
- package/lib/session-shells.js +78 -0
- package/lib/shells.js +993 -0
- package/lib/tools.js +657 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +114 -4
- package/vendor/fastctx/Cargo.lock +3210 -0
- package/vendor/fastctx/Cargo.toml +94 -0
- package/vendor/fastctx/FORK.md +119 -0
- package/vendor/fastctx/LICENSE-APACHE +201 -0
- package/vendor/fastctx/NOTICE +40 -0
- package/vendor/fastctx/README.md +439 -0
- package/vendor/fastctx/THIRD_PARTY_LICENSES.md +17 -0
- package/vendor/fastctx/THIRD_PARTY_LICENSES_RUST.md +7914 -0
- package/vendor/fastctx/UPSTREAM.md +49 -0
- package/vendor/fastctx/build.rs +413 -0
- package/vendor/fastctx/src/background_status.rs +403 -0
- package/vendor/fastctx/src/binary.rs +75 -0
- package/vendor/fastctx/src/bounded_sort.rs +500 -0
- package/vendor/fastctx/src/budget.rs +781 -0
- package/vendor/fastctx/src/cli/mod.rs +110 -0
- package/vendor/fastctx/src/context_guard.rs +289 -0
- package/vendor/fastctx/src/control/mod.rs +6 -0
- package/vendor/fastctx/src/control/paths.rs +49 -0
- package/vendor/fastctx/src/control/settings.rs +753 -0
- package/vendor/fastctx/src/control/transaction.rs +531 -0
- package/vendor/fastctx/src/edit/document.rs +535 -0
- package/vendor/fastctx/src/edit/locks.rs +371 -0
- package/vendor/fastctx/src/edit/mod.rs +213 -0
- package/vendor/fastctx/src/edit/private_storage/unix.rs +315 -0
- package/vendor/fastctx/src/edit/private_storage/windows.rs +793 -0
- package/vendor/fastctx/src/edit/private_storage.rs +234 -0
- package/vendor/fastctx/src/edit/replace.rs +1030 -0
- package/vendor/fastctx/src/edit_server.rs +53 -0
- package/vendor/fastctx/src/encoding/reference_v011.rs +587 -0
- package/vendor/fastctx/src/encoding/snapshot_pipeline.rs +1678 -0
- package/vendor/fastctx/src/encoding.rs +1118 -0
- package/vendor/fastctx/src/file_executor.rs +1151 -0
- package/vendor/fastctx/src/file_snapshot.rs +1491 -0
- package/vendor/fastctx/src/glob_filter.rs +98 -0
- package/vendor/fastctx/src/glob_tool.rs +653 -0
- package/vendor/fastctx/src/grep_sink.rs +1162 -0
- package/vendor/fastctx/src/grep_tool.rs +2449 -0
- package/vendor/fastctx/src/lib.rs +45 -0
- package/vendor/fastctx/src/main.rs +15 -0
- package/vendor/fastctx/src/model.rs +51 -0
- package/vendor/fastctx/src/model_guidance.rs +62 -0
- package/vendor/fastctx/src/operation.rs +356 -0
- package/vendor/fastctx/src/ordered_window.rs +1235 -0
- package/vendor/fastctx/src/os_environment.rs +414 -0
- package/vendor/fastctx/src/path_codec.rs +850 -0
- package/vendor/fastctx/src/paths.rs +244 -0
- package/vendor/fastctx/src/process_identity.rs +763 -0
- package/vendor/fastctx/src/process_policy.rs +74 -0
- package/vendor/fastctx/src/read_tool/batch.rs +496 -0
- package/vendor/fastctx/src/read_tool/hex_file.rs +141 -0
- package/vendor/fastctx/src/read_tool/image_file.rs +88 -0
- package/vendor/fastctx/src/read_tool/mod.rs +245 -0
- package/vendor/fastctx/src/read_tool/pdf.rs +470 -0
- package/vendor/fastctx/src/read_tool/pdf_disabled.rs +47 -0
- package/vendor/fastctx/src/read_tool/pdf_engine.rs +664 -0
- package/vendor/fastctx/src/read_tool/text_file.rs +351 -0
- package/vendor/fastctx/src/render_plan.rs +468 -0
- package/vendor/fastctx/src/runtime/activity.rs +159 -0
- package/vendor/fastctx/src/runtime/hosts.rs +99 -0
- package/vendor/fastctx/src/runtime/journal.rs +556 -0
- package/vendor/fastctx/src/runtime/local_ipc.rs +186 -0
- package/vendor/fastctx/src/runtime/mod.rs +746 -0
- package/vendor/fastctx/src/runtime/protocol.rs +296 -0
- package/vendor/fastctx/src/runtime/session.rs +536 -0
- package/vendor/fastctx/src/runtime/windows_process.rs +66 -0
- package/vendor/fastctx/src/search_parallelism.rs +106 -0
- package/vendor/fastctx/src/search_text.rs +227 -0
- package/vendor/fastctx/src/server.rs +359 -0
- package/vendor/fastctx/src/server_manifest.rs +468 -0
- package/vendor/fastctx/src/server_support.rs +826 -0
- package/vendor/fastctx/src/session.rs +629 -0
- package/vendor/fastctx/src/shell/apply_patch_hint.rs +41 -0
- package/vendor/fastctx/src/shell/bash.rs +263 -0
- package/vendor/fastctx/src/shell/buffer.rs +108 -0
- package/vendor/fastctx/src/shell/encoding.rs +403 -0
- package/vendor/fastctx/src/shell/foreground.rs +115 -0
- package/vendor/fastctx/src/shell/jobs/admission.rs +91 -0
- package/vendor/fastctx/src/shell/jobs/background.rs +146 -0
- package/vendor/fastctx/src/shell/jobs/host.rs +830 -0
- package/vendor/fastctx/src/shell/jobs/identity.rs +29 -0
- package/vendor/fastctx/src/shell/jobs/mod.rs +1513 -0
- package/vendor/fastctx/src/shell/jobs/model.rs +244 -0
- package/vendor/fastctx/src/shell/jobs/output_log.rs +1148 -0
- package/vendor/fastctx/src/shell/jobs/store.rs +1300 -0
- package/vendor/fastctx/src/shell/mod.rs +345 -0
- package/vendor/fastctx/src/shell/normalize.rs +389 -0
- package/vendor/fastctx/src/shell/output.rs +406 -0
- package/vendor/fastctx/src/shell/process.rs +493 -0
- package/vendor/fastctx/src/shell_server.rs +156 -0
- package/vendor/fastctx/src/skip_report.rs +83 -0
- package/vendor/fastctx/src/stdio_transport.rs +177 -0
- package/vendor/fastctx/src/tool_schema.rs +204 -0
- package/vendor/fastctx/src/traversal.rs +846 -0
- package/vendor/fastctx/third-party/pdfium-7763/LICENSE +9 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/abseil.txt +202 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/agg23.txt +14 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/fast_float.txt +27 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/freetype.txt +169 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/icu.txt +542 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/lcms.txt +27 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/libjpeg_turbo.ijg +260 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/libjpeg_turbo.md +135 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/libopenjpeg.txt +32 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/libpng.txt +134 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/libtiff.txt +21 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/llvm-libc.txt +278 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/pdfium.txt +230 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/simdutf.txt +18 -0
- package/vendor/fastctx/third-party/pdfium-7763/licenses/zlib.txt +29 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this package are recorded here.
|
|
4
|
+
|
|
5
|
+
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
|
|
6
|
+
this package adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.2.1] — Windows payload packaging
|
|
9
|
+
|
|
10
|
+
- Assemble complete digest-verified PortableGit/bash and PowerShell 7 runtime packages instead of metadata-only pins; inject all three Windows x64 runtime dependencies in the publish artifact.
|
|
11
|
+
- Add explicit-profile install/status/uninstall delegation to the official DSH manager; map tui to dsh-tui and use Desktop's installation-owned CLI.
|
|
12
|
+
- Resolve the pwsh dependency from the plugin package under pnpm isolation.
|
|
13
|
+
- Make the default README Chinese and add a concise English translation.
|
|
14
|
+
- Correct the npm credential selection: the initial E403 used an old local token, not the maintainer-provided bypass token. The explicitly selected bypass token was accepted for publication. Local payload builds are not license-compliance evidence.
|
|
15
|
+
|
|
16
|
+
## [Unreleased] — additive tool surface
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
|
|
20
|
+
- Replace the execution ladder and duplicate prompt sections with one compact routing table.
|
|
21
|
+
- Preserve `ops_bash` as the preferred general command executor in the tools → bash → PowerShell 7 design; publish it in full-access agent scopes with the host subprocess service. Keep the compact routing table and use pwsh only for necessary Windows-native operations.
|
|
22
|
+
- Publish command/job tools only in plugin-owned agent fibers under authoritative per-session `danger-full-access`; reconcile `sandbox/mode` changes and recheck calls. No env/preset fallback.
|
|
23
|
+
- Reject image inspection explicitly and advertise PDF text only; preserve batch text ranges, encodings, hex, search filtering, and batch replacement.
|
|
24
|
+
- Shorten published schema descriptions and advertise only symmetric grep context. Forward ordinary arguments unchanged.
|
|
25
|
+
- Track background-job ownership per session/connection; reject foreign output/kill, filter background footers, and project owned job listings/counts/pagination.
|
|
26
|
+
- Withdraw tools on disconnect. Scope all definitions/disposers to plugin ownership, with no shared registry rewrite or host value imports.
|
|
27
|
+
- Declare read-only sibling concurrency through the host's function API. Do not assert host timeout quiescence; preserve the existing transport deadline.
|
|
28
|
+
|
|
29
|
+
### Measurement and validation
|
|
30
|
+
|
|
31
|
+
- Add a standalone schema measurement command and pre-change baseline, not a test gate.
|
|
32
|
+
- Document manual acceptance and limits. No regression tests/CI added, existing tests neither updated nor run for this change.
|
|
33
|
+
- Filesystem confinement of FastCtx file tools, per-command approval escalation, and cancellation quiescence remain outside this pass.
|
|
34
|
+
|
|
35
|
+
## [0.2.0] - Unreleased
|
|
36
|
+
|
|
37
|
+
The command-execution ladder, the plugin's own shells, the runtime package and the
|
|
38
|
+
two shell pins that bring them, and the end of the MCP bridge dependency. Not
|
|
39
|
+
published either: the repository still has no remote and no release tags, and this
|
|
40
|
+
entry is where `package.json` / `dsh-plugin.json` move to `0.2.0`; no tag has been
|
|
41
|
+
cut from it.
|
|
42
|
+
|
|
43
|
+
### Added
|
|
44
|
+
|
|
45
|
+
- **The command-execution ladder.** `lib/policy.js` renders the repository-tooling
|
|
46
|
+
section as an explicit ladder — FastCtx (`ops_*`), then `ops_bash`, then
|
|
47
|
+
PowerShell 7, then the host's own shell tools as the last resort — naming only the
|
|
48
|
+
rungs the model can actually reach and renumbering the rest, so the text the model
|
|
49
|
+
reads has no gaps. Preference is wording: the plugin never retries a failed call
|
|
50
|
+
on another rung and never cascades at run time.
|
|
51
|
+
- **`ops_bash`** — the plugin's own bash, published as an ordinary tool through
|
|
52
|
+
`ctx.tools.register` (only while the host's subprocess service is mounted) and
|
|
53
|
+
executed through `ctx.get('subprocess')`, so commands run under the harness's own
|
|
54
|
+
credential scrub, output spilling, and process termination. Its environment is the
|
|
55
|
+
terminal overrides (`NO_COLOR`, `TERM`, `PAGER`, `GIT_PAGER`) and nothing else: it
|
|
56
|
+
forwards no credential-shaped name and no `DSH_*` fact, and it never writes
|
|
57
|
+
`process.env`, `PATH`, or the working directory.
|
|
58
|
+
- **PowerShell 7 as rung 3.** The bundle patch re-points the host's `pwsh-sandbox`
|
|
59
|
+
row at the plugin's own pwsh through a `!!js` `pwshPath` — Windows-gated,
|
|
60
|
+
`lstat`-based usability checks over both bundled layouts in one order (the
|
|
61
|
+
installed `@dsh-ops/pwsh-<platform>-<arch>` package first, then the vendored copy),
|
|
62
|
+
and a wrapping `try`/`catch`. A deployment whose package carries neither copy gets
|
|
63
|
+
`undefined`, which is the row's own default, so the host's PowerShell resolution is
|
|
64
|
+
untouched. A profile overrides the entry in its own `cordis.patch.yml`, which
|
|
65
|
+
applies after every bundle layer.
|
|
66
|
+
- **Per-agent visibility under `deny-host-shell`.** On `agent/created` the plugin
|
|
67
|
+
masks the configured host shell tools out of that agent's view with
|
|
68
|
+
`agent.ctx.tools.restrict({ deny })` — only while a rung of its own is live; the
|
|
69
|
+
fence at `tools/pre-execute` stays the guarantee, and the mask's disposer is owned
|
|
70
|
+
by the plugin as well, so unloading lifts it. With no rung of the plugin's own, the
|
|
71
|
+
fence is kept, visibility is left alone, and the reason is reported once.
|
|
72
|
+
- Three config keys: `bashPath` (an explicit bash for rung 2, authoritative),
|
|
73
|
+
`publishBashTool` (default `true`), and `allowSystemShellFallback` (default
|
|
74
|
+
`true`, to confine rung 2 to plugin-provided shells).
|
|
75
|
+
- **One runtime package, and two pins instead of two redistributions.**
|
|
76
|
+
`@dsh-ops/fastctx-<platform>-<arch>` carries this fork's slimmed FastCtx build
|
|
77
|
+
(`bin/fastctx.exe`), built here. `@dsh-ops/bash-<platform>-<arch>` and
|
|
78
|
+
`@dsh-ops/pwsh-<platform>-<arch>` carry **metadata only** — the upstream URL,
|
|
79
|
+
release, version, byte count, and SHA-256 of Git for Windows PortableGit and of
|
|
80
|
+
PowerShell 7. Neither upstream binary is repackaged, forwarded, or redistributed
|
|
81
|
+
by this distribution; the tag's GitHub Release carries this distribution's own
|
|
82
|
+
tarballs and a `SHA256SUMS`, and nothing upstream's. `PROVENANCE.md` records every
|
|
83
|
+
pin and licence.
|
|
84
|
+
- **`dsh-ops provision-shells [--bash|--pwsh]`.** Reads a pin, downloads that
|
|
85
|
+
upstream archive on the user's own machine, verifies it against the pinned
|
|
86
|
+
SHA-256, and unpacks it under `<DSH_HOME>/dsh-ops/shells/<name>/<version>/`, which
|
|
87
|
+
is the first place both shell rungs resolve from. Nothing is downloaded at plugin
|
|
88
|
+
load time, and nothing is downloaded unless the command is run.
|
|
89
|
+
- **`dsh-ops ladder`.** The CLI prints each rung's availability and the executable it
|
|
90
|
+
came from, together with the rungs the prompt text renders for that answer, so a
|
|
91
|
+
deployment can confirm which shells took effect without opening a session.
|
|
92
|
+
- **The shell resolution gained a provisioned tier, and so did the runtime chain.**
|
|
93
|
+
Rung 2 resolves `config.bashPath`, then the provisioned copy, then a packaged copy,
|
|
94
|
+
then `PATH`, then the well-known installs; rung 3 and the bundle patch that
|
|
95
|
+
re-points the host's `pwsh-sandbox` row walk the same layouts in the same order. On
|
|
96
|
+
the runtime side, the FastCtx chain tries `@dsh-ops/fastctx-<platform>-<arch>` ahead
|
|
97
|
+
of the upstream `@fastctx/<platform>-<arch>` step, so an install gets this fork's
|
|
98
|
+
build by default while a deployment without it still falls through to the vendored
|
|
99
|
+
source build, the upstream package, or `fastctx` on `PATH`.
|
|
100
|
+
|
|
101
|
+
### Changed
|
|
102
|
+
|
|
103
|
+
- The repository-tooling section is no longer a flat tool list; it is the ladder
|
|
104
|
+
above, rendered from the rungs the model can actually reach.
|
|
105
|
+
- `dsh-plugin.json` declares a second tool namespace for the tools the plugin
|
|
106
|
+
registers itself (`ops_bash`, `transport: in-process`), and the manifest gate
|
|
107
|
+
checks it against the fully-open ladder text.
|
|
108
|
+
- **This distribution's own platform packages are injected into
|
|
109
|
+
`optionalDependencies` at release time, not committed.** Before the first release
|
|
110
|
+
those names resolve nowhere, so listing them in the repository would put a failed
|
|
111
|
+
optional fetch into every contributor's install log for no gain; the release step
|
|
112
|
+
writes them, and the tarball it publishes is the one that declares them. The two
|
|
113
|
+
shell pins cost an install nothing to declare, because they hold metadata and no
|
|
114
|
+
binaries.
|
|
115
|
+
- The package version moves to `0.2.0` in `package.json` and `dsh-plugin.json`.
|
|
116
|
+
|
|
117
|
+
### Removed
|
|
118
|
+
|
|
119
|
+
- `pwshPath` and `overridePwshExecutor` are not config keys and now fail as unknown
|
|
120
|
+
keys. A bundle patch is evaluated before any `dsh-ops` row is mounted, so a key
|
|
121
|
+
could never reach the `pwsh-sandbox` override; rung 3 follows the executable
|
|
122
|
+
instead, and the override is the patch entry documented above.
|
|
123
|
+
- `@deepseek-ai/dsh-mcp-client`, along with the `BRIDGE_PACKAGE` declaration and the
|
|
124
|
+
manifest check that required it. The plugin holds the MCP stdio connection to the
|
|
125
|
+
FastCtx server it spawns and publishes the tools itself (`lib/handshake.js`,
|
|
126
|
+
`lib/tools.js`); it no longer mounts a bridge, and the 0.1.0 entry's
|
|
127
|
+
registry-boundary renaming is gone with it.
|
|
128
|
+
|
|
129
|
+
### Fixed
|
|
130
|
+
|
|
131
|
+
- **`ops_bash` registers on the real host.** Its output schema used type arrays
|
|
132
|
+
(`['integer', 'null']`), which the harness's schema gate rejects outright, so the
|
|
133
|
+
tool could not be registered at all. Every `type` is now a single type and
|
|
134
|
+
`exitCode`/`signal` are optional properties: an unknown exit fact omits the key
|
|
135
|
+
rather than sending `null`.
|
|
136
|
+
- **Rung 3 and the host row are one fact.** The bundle patch's expression and the
|
|
137
|
+
plugin's own probe now walk the same two bundled layouts
|
|
138
|
+
(`BUNDLED_LAYOUT_ORDER`) in the same order with the same `lstat` test, so the
|
|
139
|
+
ladder cannot advertise a PowerShell rung the host row does not run — or miss one
|
|
140
|
+
it would.
|
|
141
|
+
- **The visibility mask follows the rungs that are live.** `deny-host-shell` used to
|
|
142
|
+
hide the host shell tools whenever a bash merely resolved. The question is now
|
|
143
|
+
asked of the ladder the model can reach — `ops_bash` published, or the PowerShell
|
|
144
|
+
rung live — and asked again as each agent appears. With no rung of the plugin's
|
|
145
|
+
own, visibility is left alone and the reason is reported once; the
|
|
146
|
+
`tools/pre-execute` fence is unchanged and is installed by the mode alone.
|
|
147
|
+
|
|
148
|
+
## [0.1.0] - Unreleased
|
|
149
|
+
|
|
150
|
+
The first version. Not published: the repository has no remote and no release
|
|
151
|
+
tags, and `package.json` still carries `"private": true`.
|
|
152
|
+
|
|
153
|
+
### Added
|
|
154
|
+
|
|
155
|
+
- The plugin itself: one bundle that mounts the FastCtx MCP runtime as the
|
|
156
|
+
profile's repository tool surface, publishes its tools under a namespace of the
|
|
157
|
+
plugin's own, and injects two prompt sections that steer repository work away
|
|
158
|
+
from the host shell.
|
|
159
|
+
- `shellPolicy: deny-host-shell` — an opt-in `tools/pre-execute` fence that
|
|
160
|
+
refuses the configured host shell tools by name. FastCtx's own tools are never
|
|
161
|
+
refused, so command execution stays available.
|
|
162
|
+
- The `dsh-ops` CLI: `resolve`, `status`, `build`, and `provision`. `provision`
|
|
163
|
+
installs the built runtime into `<DSH_HOME>/dsh-ops/bin/` and writes a receipt
|
|
164
|
+
recording its origin, version, and SHA-256.
|
|
165
|
+
- Composite licensing — MIT for the plugin, Apache-2.0 for `vendor/fastctx/` —
|
|
166
|
+
with FastCtx's required notice reproduced verbatim in `README.md`,
|
|
167
|
+
`README.zh.md`, and `NOTICE`.
|
|
168
|
+
|
|
169
|
+
### Changed
|
|
170
|
+
|
|
171
|
+
- **The FastCtx tools are published as `ops_*`.** The bridge's own
|
|
172
|
+
`mcp__<serverName>__<rawName>` naming is transport vocabulary in every
|
|
173
|
+
transcript, so registrations inside this plugin's bridge namespace are renamed
|
|
174
|
+
at the registry boundary: the model calls `ops_grep`, and a transcript shows
|
|
175
|
+
`ops_grep`. The `mcp__fastctx__*` names never reach the model.
|
|
176
|
+
- **The vendored FastCtx is stripped to its MCP server.** Upstream's control
|
|
177
|
+
terminal (`src/tui/`), self-updater and upstream-version check (`src/update/`),
|
|
178
|
+
and Codex integration — including `control/i18n.rs` and the other locale
|
|
179
|
+
catalogs — are deleted rather than left unreachable, along with the
|
|
180
|
+
distribution and CI machinery. 57 files changed, 285 insertions and 24,715
|
|
181
|
+
deletions. The binary now carries `serve` plus the internal entry points the
|
|
182
|
+
shell and session machinery spawn.
|
|
183
|
+
- `PROVENANCE.md` now records what was read from the readable `0.2.0-rc.2`
|
|
184
|
+
source, with file and line, next to what a suite actually ran.
|
|
185
|
+
|
|
186
|
+
### Removed
|
|
187
|
+
|
|
188
|
+
- Upstream's `.github/`, `packages/` (the npm launcher, `codex-fastctx`, and the
|
|
189
|
+
five `@fastctx/<platform>` binary packages), and `scripts/`.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 T-Auto and the dsh-ops contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
-------------------------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
This MIT license covers the dsh-ops plugin: everything in this repository
|
|
26
|
+
except `vendor/fastctx/`, which is FastCtx under the Apache License 2.0. The
|
|
27
|
+
distribution as a whole is therefore licensed under the composite
|
|
28
|
+
`MIT AND Apache-2.0`. See `NOTICE` for the full statement and the attribution
|
|
29
|
+
FastCtx requires, and `vendor/fastctx/LICENSE-APACHE` for the Apache License
|
|
30
|
+
2.0 text.
|
package/NOTICE
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
dsh-ops
|
|
2
|
+
Copyright (c) 2026 T-Auto and the dsh-ops contributors
|
|
3
|
+
|
|
4
|
+
================================================================
|
|
5
|
+
COMPOSITE LICENSE
|
|
6
|
+
================================================================
|
|
7
|
+
|
|
8
|
+
This distribution is licensed under the composite expression
|
|
9
|
+
|
|
10
|
+
MIT AND Apache-2.0
|
|
11
|
+
|
|
12
|
+
because it contains two bodies of work under two licenses:
|
|
13
|
+
|
|
14
|
+
1. The dsh-ops plugin — everything in this repository except
|
|
15
|
+
`vendor/fastctx/`. Licensed MIT. The license text is in `LICENSE`.
|
|
16
|
+
|
|
17
|
+
2. The vendored FastCtx source in `vendor/fastctx/`. Licensed
|
|
18
|
+
Apache-2.0 by its author. The license text is in
|
|
19
|
+
`vendor/fastctx/LICENSE-APACHE`, upstream's notice is in
|
|
20
|
+
`vendor/fastctx/NOTICE`, and the exact upstream revision and every
|
|
21
|
+
difference from it are recorded in `vendor/fastctx/UPSTREAM.md` and
|
|
22
|
+
`vendor/fastctx/FORK.md`.
|
|
23
|
+
|
|
24
|
+
The installed npm package additionally depends on the published FastCtx
|
|
25
|
+
platform packages `@fastctx/<platform>` (Apache-2.0), which are separate
|
|
26
|
+
works distributed under their own terms; `vendor/fastctx/THIRD_PARTY_LICENSES.md`
|
|
27
|
+
lists the third-party components inside FastCtx itself. Bundled Pdfium
|
|
28
|
+
notices are in `vendor/fastctx/third-party/pdfium-7763/`.
|
|
29
|
+
|
|
30
|
+
The published package also declares this distribution's own platform
|
|
31
|
+
packages as OPTIONAL dependencies, and the same packages — this
|
|
32
|
+
distribution's own tarballs, and nothing upstream's — are the assets
|
|
33
|
+
attached to the GitHub Release for a tag. They are optional in the
|
|
34
|
+
dependency sense, and two of them are not payloads at all: no upstream
|
|
35
|
+
binary travels in this distribution.
|
|
36
|
+
|
|
37
|
+
* `@dsh-ops/fastctx-<platform>-<arch>` — this fork's build of FastCtx,
|
|
38
|
+
a payload built by this distribution from `vendor/fastctx/`.
|
|
39
|
+
Apache-2.0, by FastCtx's author, with the removals this distribution
|
|
40
|
+
made: the notice upstream requires is reproduced in this file and in
|
|
41
|
+
both READMEs, every source file this distribution touched carries its
|
|
42
|
+
own Apache-2.0 section 4(b) notice, and the complete enumeration is
|
|
43
|
+
in `vendor/fastctx/FORK.md`. `PROVENANCE.md` records this package's
|
|
44
|
+
upstream revision, upstream version, and payload SHA-256.
|
|
45
|
+
|
|
46
|
+
* `@dsh-ops/bash-<platform>-<arch>` — a PIN, not a redistribution.
|
|
47
|
+
This distribution does not contain, forward, repackage, or
|
|
48
|
+
redistribute Git for Windows. The pin records the upstream release
|
|
49
|
+
the shell is taken from (`PortableGit-2.56.0.2-64-bit.7z.exe`, Git
|
|
50
|
+
for Windows `v2.56.0.windows.2`), the official URL that publishes it,
|
|
51
|
+
and its SHA-256; `dsh-ops provision-shells` reads the pin, downloads
|
|
52
|
+
that asset on the user's own machine, verifies the digest there, and
|
|
53
|
+
unpacks it there. Git for Windows is distributed under the GNU
|
|
54
|
+
General Public License version 2, so the bytes a user obtains that
|
|
55
|
+
way are GPL-2.0 and are used under that licence; its terms, its
|
|
56
|
+
copyright, and the corresponding source belong to the Git for
|
|
57
|
+
Windows project (https://github.com/git-for-windows/git) and to the
|
|
58
|
+
Git project (https://github.com/git/git). No GPL-2.0-covered
|
|
59
|
+
component is part of this distribution.
|
|
60
|
+
|
|
61
|
+
* `@dsh-ops/pwsh-<platform>-<arch>` — a PIN, not a redistribution.
|
|
62
|
+
This distribution does not contain, forward, repackage, or
|
|
63
|
+
redistribute PowerShell. The pin records the upstream release
|
|
64
|
+
(`PowerShell-7.6.6-win-x64.zip`, PowerShell `v7.6.6`), the official
|
|
65
|
+
URL that publishes it, and its SHA-256; `dsh-ops provision-shells
|
|
66
|
+
--pwsh` reads the pin, downloads that asset on the user's own
|
|
67
|
+
machine, and verifies the digest there. PowerShell is distributed by
|
|
68
|
+
Microsoft under the MIT licence; that licence text, its copyright,
|
|
69
|
+
and the corresponding source belong to Microsoft and to the
|
|
70
|
+
PowerShell project (https://github.com/PowerShell/PowerShell).
|
|
71
|
+
|
|
72
|
+
Nothing in this distribution is relicensed. The MIT grant covers only the
|
|
73
|
+
work this repository authored.
|
|
74
|
+
|
|
75
|
+
================================================================
|
|
76
|
+
ATTRIBUTION NOTICE — FastCtx
|
|
77
|
+
================================================================
|
|
78
|
+
|
|
79
|
+
FastCtx's NOTICE requires that a derivative work carry the following
|
|
80
|
+
notice verbatim in its documentation. It is reproduced here and in the
|
|
81
|
+
repository README, as required.
|
|
82
|
+
|
|
83
|
+
This product includes FastCtx
|
|
84
|
+
(https://github.com/yc-duan/fastctx), Copyright (c) 2026 yc-duan,
|
|
85
|
+
used under the Apache License 2.0.
|
|
86
|
+
|
|
87
|
+
FastCtx is redistributed and/or modified here by the maintainer of
|
|
88
|
+
this distribution. Any such change is that maintainer's own work
|
|
89
|
+
and their sole responsibility. It is not endorsed by, not
|
|
90
|
+
supported by, and not attributable to the author of FastCtx, who
|
|
91
|
+
accepts no liability of any kind arising from this distribution or
|
|
92
|
+
from anything built on top of it.
|
|
93
|
+
|
|
94
|
+
The changes this distribution makes to FastCtx are removals — of
|
|
95
|
+
distribution and CI machinery, and of the code that existed only for
|
|
96
|
+
upstream's standalone product (the control terminal, the self-updater and
|
|
97
|
+
its upstream update detection, and the Codex integration) — together with
|
|
98
|
+
the edits those removals forced in the files that remain. Every source
|
|
99
|
+
file this distribution touched carries its own Apache-2.0 section 4(b)
|
|
100
|
+
notice at the top, and the complete enumeration is in
|
|
101
|
+
`vendor/fastctx/FORK.md`.
|
|
102
|
+
|
|
103
|
+
================================================================
|
|
104
|
+
|
|
105
|
+
FastCtx is developed and maintained at
|
|
106
|
+
https://github.com/yc-duan/fastctx
|