dsh-github-copilot 0.4.0-alpha.18 → 0.4.0-alpha.20
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/AGENTS.md +12 -6
- package/CHANGELOG.md +26 -0
- package/CONTRIBUTING.md +1 -1
- package/README.md +25 -10
- package/README.zh.md +25 -10
- package/deployment-baseline.json +34 -7
- package/docs/agent-readiness.md +8 -0
- package/docs/dual-model.md +63 -0
- package/docs/images/dual-model-desktop.png +0 -0
- package/docs/images/dual-model-mobile.png +0 -0
- package/docs/images/dual-model-provenance.json +35 -0
- package/docs/npm-distribution.md +88 -34
- package/docs/session-search-routing.md +1 -1
- package/lib/client.js +721 -42
- package/lib/client.js.map +1 -1
- package/lib/index.js +745 -7
- package/lib/remote.js +129 -29
- package/lib/types/client.d.ts +1 -0
- package/lib/types/compatibility.d.ts +3 -3
- package/lib/types/dual-model-card.d.ts +51 -0
- package/lib/types/dual-model-host.d.ts +119 -0
- package/lib/types/dual-model-remote.d.ts +63 -0
- package/lib/types/dual-model-types.d.ts +34 -0
- package/lib/types/dual-model-ui.d.ts +5 -0
- package/package.json +24 -17
package/docs/npm-distribution.md
CHANGED
|
@@ -25,27 +25,24 @@ through the normal reviewed PR path. Version changes include package.json,
|
|
|
25
25
|
deployment-baseline.json and both README URLs; `publishConfig.tag` must agree
|
|
26
26
|
with the channel. Do not silently rename a taken package.
|
|
27
27
|
|
|
28
|
-
##
|
|
29
|
-
|
|
30
|
-
The
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
archive's SHA-512 SRI. Configure trusted publishing, then rerun the failed
|
|
47
|
-
CI release job on its original revision. It recovers the same bytes and
|
|
48
|
-
verifies the existing npm version without another publish.
|
|
28
|
+
## Initial package publication is complete
|
|
29
|
+
|
|
30
|
+
The initial `dsh-github-copilot@0.4.0-alpha.18` package was published from the
|
|
31
|
+
immutable `v0.4.0-alpha.18` GitHub Release archive. The public registry version,
|
|
32
|
+
SHA-512 SRI, `alpha` tag, tarball size and SHA-256 were independently verified
|
|
33
|
+
against those original Release bytes. The one-time workflow, token-authenticated
|
|
34
|
+
bootstrap script and their focused tests have therefore been removed. No normal
|
|
35
|
+
release workflow references `NPM_TOKEN`; removing any now-unused repository
|
|
36
|
+
secret remains a separate explicit maintainer operation.
|
|
37
|
+
|
|
38
|
+
The successful publish was not immediately visible to a read performed about
|
|
39
|
+
four seconds later, so that workflow run ended as a failure even though the
|
|
40
|
+
package and tag subsequently converged. Treat this as an uncertain write, not
|
|
41
|
+
permission to publish again. npm registry package metadata and dist-tags are
|
|
42
|
+
eventually consistent: after any successful or uncertain publish command, wait
|
|
43
|
+
for the exact version to become observable, verify `dist.integrity` and the
|
|
44
|
+
non-decreasing channel tag, then rerun the normal pipeline to reconcile
|
|
45
|
+
read-only. Never retry a publish merely because immediate readback is stale.
|
|
49
46
|
|
|
50
47
|
**`npm stage publish` cannot bootstrap a nonexistent package.** The
|
|
51
48
|
[official npm stage prerequisites](https://docs.npmjs.com/cli/v11/commands/npm-stage/)
|
|
@@ -104,7 +101,8 @@ The npm step reads package/version state before writing. Only E404 means
|
|
|
104
101
|
absence; auth, TLS, timeout, malformed metadata and registry failures stop
|
|
105
102
|
delivery. An existing exact version is accepted only with matching SHA-512 SRI
|
|
106
103
|
and a channel tag at that version or a newer one. Conflicting bytes fail closed.
|
|
107
|
-
An uncertain write is not retried in-process
|
|
104
|
+
An uncertain write is not retried in-process. Allow registry visibility to
|
|
105
|
+
converge, then rerun the workflow to reconcile the exact existing version.
|
|
108
106
|
A matching version with an older/missing tag requires maintainer review; the
|
|
109
107
|
workflow does not silently repair it with separate dist-tag writes.
|
|
110
108
|
|
|
@@ -120,15 +118,71 @@ There is no historical bulk backfill and no silent npm opt-out.
|
|
|
120
118
|
|
|
121
119
|
## Installation preflight still applies
|
|
122
120
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
121
|
+
The native Desktop package manager remains the preferred interactive entry
|
|
122
|
+
point when its registry access is permitted and available. After npm publication
|
|
123
|
+
is verified, it accepts the exact `dsh-github-copilot@<version>` npm spec, not a
|
|
124
|
+
Release URL or local tarball in that UI. This UI input restriction is not a
|
|
125
|
+
blanket prohibition on maintaining the same profile through the supported CLI.
|
|
126
|
+
Controlled CLI maintenance is also supported for Desktop-managed profiles under
|
|
127
|
+
the checklist below. Neither entry point replaces the package's required
|
|
128
|
+
`scripts/check-search-composition.mjs` preflight. A package lookup, preflight or
|
|
129
|
+
successful installation is not proof of runtime activation or a model call.
|
|
130
|
+
|
|
131
|
+
## Controlled offline CLI maintenance
|
|
132
|
+
|
|
133
|
+
This path installs this package's prebuilt, verified Release without requiring
|
|
134
|
+
access to a blocked npm registry. It is not permission to bypass organizational registry restrictions:
|
|
135
|
+
use only artifacts obtained through organizationally approved sources and
|
|
136
|
+
already available dependency caches. A registry ban remains in force; offline
|
|
137
|
+
installation does not repair TLS or prove that npm publication is healthy. The
|
|
138
|
+
dual-channel **publication** policy above is unchanged.
|
|
139
|
+
|
|
140
|
+
1. Obtain explicit installation approval for the exact version and profile.
|
|
141
|
+
Resolve the actual DSH CLI, install anchor, `DSH_HOME` and profile directory;
|
|
142
|
+
do not assume a shell shim points to the Desktop's current installation.
|
|
143
|
+
2. Verify the original Release tarball with an independently trusted SHA-256,
|
|
144
|
+
its package name/version and safe archive layout. Do not substitute a local
|
|
145
|
+
build or repack an existing immutable Release. Extract only the verified
|
|
146
|
+
artifact before executing its packaged preflight.
|
|
147
|
+
3. Run `scripts/check-search-composition.mjs` against that exact profile, home
|
|
148
|
+
and install anchor, including any extra startup patches. Require
|
|
149
|
+
`supported: true`; unknown, conflicting or unsupported composition is a stop,
|
|
150
|
+
not permission to remove guards or rewrite the profile.
|
|
151
|
+
4. Keep one writer: do not run Desktop package updates and CLI installation
|
|
152
|
+
concurrently. Take a private backup of installation metadata (package.json,
|
|
153
|
+
lockfile, bundle/patch configuration and relevant package-manager settings),
|
|
154
|
+
record the current version, and retain a verified rollback artifact.
|
|
155
|
+
Do not copy credential stores, `.env` files or browser storage. If ensuring
|
|
156
|
+
exclusive maintenance requires stopping the Host, obtain separate approval.
|
|
157
|
+
5. Invoke the supported DSH CLI with an absolute path to the verified archive:
|
|
158
|
+
|
|
159
|
+
```sh
|
|
160
|
+
dsh plugin --profile web add /absolute/path/to/verified-release.tgz --offline --ignore-scripts
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
Replace `web` and the archive path with the approved targets. `--offline`
|
|
164
|
+
requires the existing cache; `--ignore-scripts` prevents package lifecycle
|
|
165
|
+
scripts from creating a second, uncontrolled installation/network path. If
|
|
166
|
+
the cache is incomplete or a dependency requires a new build, stop and report
|
|
167
|
+
the missing requirement. Do not silently remove these flags, change registry,
|
|
168
|
+
add a VPN/proxy/mirror, or fetch blocked dependencies through another channel.
|
|
169
|
+
Keep TLS verification enabled. Actual platform permission/approval refusals
|
|
170
|
+
remain authoritative; this procedure does not override them.
|
|
171
|
+
6. Check the exit result and read back the installed version, lock entry and
|
|
172
|
+
package files against the verified archive. Re-run the composition preflight
|
|
173
|
+
and an appropriate import-only smoke check without activating the plugin.
|
|
174
|
+
Inspect all metadata differences: the CLI reconciles `dsh.profile.bundles`
|
|
175
|
+
and may add unrelated installed bundles. Preserve unrelated settings; stop
|
|
176
|
+
for review on unexpected changes and revert only changes proven to belong
|
|
177
|
+
to this operation, never overwrite later user edits with a whole backup.
|
|
178
|
+
Use the package manager, not manual copying into node_modules or Core patches.
|
|
179
|
+
7. Report the installed version, checksum, backup and evidence limits. Obtain
|
|
180
|
+
separate restart approval before interrupting the Host or active Sessions.
|
|
181
|
+
Installed-on-disk and loaded-runtime are separate states: after an approved
|
|
182
|
+
restart, verify the loaded build and the intended behavior independently.
|
|
183
|
+
|
|
184
|
+
If installation fails, inspect the actual installed state before retrying or
|
|
185
|
+
rolling back; a failed command is not proof that nothing changed. A rollback
|
|
186
|
+
also needs reviewed, narrowly scoped metadata/dependency restoration. This
|
|
187
|
+
documentation change does not rewrite installed or published historical docs,
|
|
188
|
+
change machine-wide registry policy, or grant blanket approval for future updates.
|
|
@@ -48,6 +48,6 @@ The added regressions cover silent expiry/replacement, native final assertions,
|
|
|
48
48
|
|
|
49
49
|
1. Complete the full verification gate and update deployment/agent evidence inventories, public export smoke and both READMEs.
|
|
50
50
|
2. Add end-to-end coverage of the main router's managed metadata, fallback credentials/options, cancellations during discovery/fallback, mixed multi-query provenance, and complete unload/reload behavior.
|
|
51
|
-
3. Run retained exact Core-baseline fixtures, not only the development artifact. Do not infer
|
|
51
|
+
3. Run retained exact Core-baseline fixtures, not only the development artifact. Do not infer eight-pin runtime compatibility from type checks.
|
|
52
52
|
4. Align the new package version, release metadata and package/archive tests.
|
|
53
53
|
5. Run bounded live Copilot hosted-search and permitted-fallback acceptance separately. A successful chat request does not prove hosted search. No live profile installation, global search selection change or restart has occurred for this work.
|