@eduwork/dsh-oidc 0.1.0-alpha.11 → 0.1.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/CHANGELOG.en.md +18 -0
- package/CHANGELOG.md +18 -0
- package/CODE_OF_CONDUCT.en.md +17 -0
- package/CODE_OF_CONDUCT.md +17 -0
- package/CONTRIBUTING.en.md +56 -0
- package/CONTRIBUTING.md +56 -0
- package/GOVERNANCE.en.md +41 -0
- package/GOVERNANCE.md +41 -0
- package/MAINTAINERS.en.md +13 -0
- package/MAINTAINERS.md +13 -0
- package/README.en.md +6 -6
- package/README.md +5 -5
- package/SECURITY.en.md +45 -0
- package/SECURITY.md +45 -0
- package/SUPPORT.en.md +15 -0
- package/SUPPORT.md +15 -0
- package/THIRD_PARTY_NOTICES.en.md +3 -3
- package/THIRD_PARTY_NOTICES.md +3 -3
- package/docs/EDUWORK-MIGRATION.en.md +3 -3
- package/docs/EDUWORK-MIGRATION.md +3 -3
- package/docs/compatibility.en.md +3 -2
- package/docs/compatibility.md +3 -2
- package/docs/decisions/0001-one-plugin-composition-boundary.en.md +1 -1
- package/docs/decisions/0001-one-plugin-composition-boundary.md +1 -1
- package/docs/dsh-integration.en.md +3 -3
- package/docs/dsh-integration.md +3 -3
- package/docs/enterprise-profile.en.md +2 -2
- package/docs/enterprise-profile.md +2 -2
- package/docs/getting-started.en.md +4 -8
- package/docs/getting-started.md +4 -8
- package/docs/release-checklist.en.md +9 -6
- package/docs/release-checklist.md +9 -6
- package/lib/client.js +4 -0
- package/lib/profile.js +43 -15
- package/lib/provider/index.js +21 -2
- package/lib/provider/transform-adapter.js +1 -1
- package/package.json +43 -20
- package/schema/enterprise-profile.v1alpha1.schema.json +18 -4
package/CHANGELOG.en.md
CHANGED
|
@@ -6,6 +6,24 @@ All notable changes are documented here. The format follows Keep a Changelog pri
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.1.0] - 2026-09-06
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
|
|
13
|
+
- Updated the exact compatibility baseline to DeepSeek Harness `0.1.2-rc.1` (`a66e4702…`) and stopped claiming current support for the alpha.2 combination that is outside this release acceptance.
|
|
14
|
+
- Expanded and locked the DSH peer closure, including the page package that declares `settings.general.item`, so an unlocked host cannot mix alpha.2 and rc.1 packages during npm resolution.
|
|
15
|
+
- Audited Credential Provider, Settings, LLM/Pi Provider, WebServer, API Remotes, Typert, and Client page-slot contracts; added the automated `check:dsh` contract check.
|
|
16
|
+
- Provider configuration now emits only declared fields and copies them into mutable data accepted by the rc.1 Settings/PiAi schema; reasoning and compat values are constrained to the rc.1 supported sets.
|
|
17
|
+
- The Settings section now validates serviceability so schema-shaped values that cannot construct an enterprise Provider are rejected before persistence.
|
|
18
|
+
- The Provider wrapper now delegates `imageRequestPricing` and follows rc.1's official attachment-to-read-only execution-path resolution chain.
|
|
19
|
+
- Enterprise single brand slots now use an explicit negative priority to shadow rc.1's official brand entries without colliding at default priority 0 and aborting Client initialization.
|
|
20
|
+
- Stabilized the npm package version as `@eduwork/dsh-oidc@0.1.0` while retaining `dsh-oidc/v1alpha1`, `oidcAccounts`, credential references, Provider identities, the settings namespace, and user data.
|
|
21
|
+
- Expanded CI to a Node.js 22/24 matrix on Windows and Linux and added a manual workflow that checks/packages by default and publishes through npm Trusted Publishing only after explicit authorization.
|
|
22
|
+
- Documentation-link and secret scans now explicitly ignore Git-excluded `dist/` acceptance artifacts so local caches cannot change source-check results.
|
|
23
|
+
- Release governance now accurately records the initial single-maintainer phase and relies on retained independent technical review, CI/focused regression evidence, and an explicit maintainer decision. Until Trusted Publishing is configured, the first npm publication uses browser 2FA and does not claim provenance.
|
|
24
|
+
- The npm package now includes the bilingual code of conduct, contribution, security, support, governance, and maintainer documents so README-relative links do not dangle after installation.
|
|
25
|
+
- Test discovery is pinned to the repository's `test/*.test.js`, so Git-ignored local acceptance snapshots cannot change the discovered test set or count.
|
|
26
|
+
|
|
9
27
|
## [0.1.0-alpha.11] - 2026-09-05
|
|
10
28
|
|
|
11
29
|
- Move the npm identity to `@eduwork/dsh-oidc`; update installation/module paths and Client registration together.
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,24 @@
|
|
|
6
6
|
|
|
7
7
|
## [未发布]
|
|
8
8
|
|
|
9
|
+
## [0.1.0] - 2026-09-06
|
|
10
|
+
|
|
11
|
+
### 变更
|
|
12
|
+
|
|
13
|
+
- 兼容基线精确更新至 DeepSeek Harness `0.1.2-rc.1`(`a66e4702…`),不再声明支持未完成本轮验收的 alpha.2 组合。
|
|
14
|
+
- 扩充并锁定 DSH peer 闭包,显式包含声明 `settings.general.item` 的页面包,避免 npm 在未锁定宿主中混装 alpha.2 与 rc.1。
|
|
15
|
+
- 逐项核对 Credential Provider、Settings、LLM/Pi Provider、WebServer、API Remotes、Typert 和 Client 页面插槽;新增 `check:dsh` 自动契约检查。
|
|
16
|
+
- Provider 配置只输出已声明字段,并复制为 rc.1 Settings/PiAi schema 可解析的可变数据;同时将 reasoning/compat 值域收紧到 rc.1 支持集合。
|
|
17
|
+
- Settings section 增加可服务性校验,阻止 schema 虽可解析、但无法构造企业 Provider 的配置被持久化。
|
|
18
|
+
- Provider 包装器补齐 `imageRequestPricing` 委托,并沿用 rc.1 官方附件到执行环境只读路径的解析链路。
|
|
19
|
+
- 企业品牌单插槽使用显式负优先级覆盖 rc.1 官方品牌项,避免与默认优先级 0 冲突而中断 Client 初始化。
|
|
20
|
+
- npm 包版本稳定为 `@eduwork/dsh-oidc@0.1.0`;保留 `dsh-oidc/v1alpha1`、`oidcAccounts`、凭据引用、Provider 标识、设置命名空间和用户数据。
|
|
21
|
+
- CI 扩展为 Windows/Linux 上的 Node.js 22/24 矩阵,并增加默认只检查/打包、显式授权后才通过 npm Trusted Publishing 发布的手动工作流。
|
|
22
|
+
- 文档链接和敏感信息检查显式忽略已被 Git 排除的 `dist/` 验收产物,避免本地缓存影响源码检查结果。
|
|
23
|
+
- 发布治理如实记录初期单一维护者模式,以独立技术复核、CI/专项回归和维护者决定留痕;Trusted Publisher 尚未配置时,首次 npm 发布使用浏览器 2FA 且不声称 provenance。
|
|
24
|
+
- npm 包补齐行为准则、贡献、安全、支持、治理和维护者双语文档,避免 README 在安装包内出现悬空的相对链接。
|
|
25
|
+
- 测试入口固定到仓库 `test/*.test.js`,避免被 Git 忽略的本地验收快照改变测试发现范围和计数。
|
|
26
|
+
|
|
9
27
|
## [0.1.0-alpha.11] - 2026-09-05
|
|
10
28
|
|
|
11
29
|
- npm 包身份改为 `@eduwork/dsh-oidc`,同步安装路径、组合模块路径与客户端注册。
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Code of conduct
|
|
2
|
+
|
|
3
|
+
[简体中文](CODE_OF_CONDUCT.md) | **English**
|
|
4
|
+
|
|
5
|
+
We are committed to a professional, inclusive, and harassment-free project.
|
|
6
|
+
|
|
7
|
+
Participants must:
|
|
8
|
+
|
|
9
|
+
- discuss ideas and code rather than personal characteristics;
|
|
10
|
+
- assume good intent while accepting evidence-based correction;
|
|
11
|
+
- protect private security reports, institutional information, and personal data;
|
|
12
|
+
- avoid harassment, threats, discriminatory language, sexualized conduct, doxxing, and sustained disruption;
|
|
13
|
+
- respect maintainer decisions made to protect users, protocol stability, licensing, or security.
|
|
14
|
+
|
|
15
|
+
Maintainers may edit, hide, reject, or remove contributions and may temporarily or permanently restrict participation when behavior threatens contributors or users. Enforcement should be proportionate, documented privately where appropriate, and avoid disclosing victims or security-sensitive details.
|
|
16
|
+
|
|
17
|
+
General conduct concerns may use an issue that contains no personal or sensitive details. For harassment, threats, doxxing, or another incident requiring confidentiality, use GitHub [Private Vulnerability Reporting](https://github.com/freedomkk-qfeng/dsh-oidc/security/advisories/new) and prefix the title with “Code of Conduct”. Do not disclose an affected person's identity or evidence attachments publicly.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# 行为准则
|
|
2
|
+
|
|
3
|
+
**简体中文** | [English](CODE_OF_CONDUCT.en.md)
|
|
4
|
+
|
|
5
|
+
我们致力于维护专业、包容且无骚扰的项目环境。
|
|
6
|
+
|
|
7
|
+
参与者必须:
|
|
8
|
+
|
|
9
|
+
- 讨论观点和代码,而不是个人特征;
|
|
10
|
+
- 假设善意,同时接受基于证据的纠正;
|
|
11
|
+
- 保护私有安全报告、机构信息和个人数据;
|
|
12
|
+
- 避免骚扰、威胁、歧视性语言、性化行为、人肉搜索和持续扰乱;
|
|
13
|
+
- 尊重维护者为了保护用户、协议稳定性、许可证或安全而作出的决定。
|
|
14
|
+
|
|
15
|
+
当行为威胁贡献者或用户时,维护者可以编辑、隐藏、拒绝或删除贡献,也可以临时或永久限制参与。执行措施应当适度;适合时应私下记录,并避免暴露受害者或安全敏感细节。
|
|
16
|
+
|
|
17
|
+
一般行为问题可以创建不含个人敏感信息的 Issue。需要保密处理的骚扰、威胁、人肉搜索或其他行为事件,请使用 GitHub [Private Vulnerability Reporting](https://github.com/freedomkk-qfeng/dsh-oidc/security/advisories/new),并在标题中标注“Code of Conduct”。不要在公开渠道披露受影响者身份或证据附件。
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Contributing
|
|
2
|
+
|
|
3
|
+
[简体中文](CONTRIBUTING.md) | **English**
|
|
4
|
+
|
|
5
|
+
Thank you for improving `dsh-oidc`. Authentication and credential code has a higher review bar than ordinary UI changes.
|
|
6
|
+
|
|
7
|
+
## Before starting
|
|
8
|
+
|
|
9
|
+
- Use a public issue for non-sensitive design/bug discussion.
|
|
10
|
+
- Use the [private security-reporting entry point](https://github.com/freedomkk-qfeng/dsh-oidc/security/advisories/new) for vulnerabilities or secrets.
|
|
11
|
+
- For a protocol or trust-boundary change, open a design issue and add an ADR under `docs/decisions/` before implementation.
|
|
12
|
+
- Do not include production endpoints, identifiers, logs, tokens, personal data, logos, or screenshots without explicit publication approval.
|
|
13
|
+
|
|
14
|
+
## Development
|
|
15
|
+
|
|
16
|
+
Requirements: Node.js 22+ and npm.
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm ci
|
|
20
|
+
npm run check
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Use placeholder domains under `example.com`, `example.edu`, or `example.net`. Unit tests must use generated keys and synthetic subjects.
|
|
24
|
+
|
|
25
|
+
## Pull request requirements
|
|
26
|
+
|
|
27
|
+
Every PR must:
|
|
28
|
+
|
|
29
|
+
- explain the user/security impact and affected boundary;
|
|
30
|
+
- include tests for success and negative/failure behavior;
|
|
31
|
+
- update schemas, OpenAPI, prose, examples, and changelog when a contract changes;
|
|
32
|
+
- preserve fixed callback/Key Binding paths unless introducing a versioned migration;
|
|
33
|
+
- keep profiles declarative and reject unknown executable-relevant fields;
|
|
34
|
+
- use official DSH/community capabilities where appropriate rather than introducing a parallel runtime;
|
|
35
|
+
- pass `npm run check` from a clean install;
|
|
36
|
+
- declare any new dependency, license, install script, and why it is necessary.
|
|
37
|
+
|
|
38
|
+
Changes to OIDC, Key Binding, credentials, Profile validation, the native account contract, build/release workflows, or dependency pins require independent technical review, CI, and focused regression evidence, with explicit acceptance by the current maintainer. After a second maintainer joins, these changes should also receive independent human approval.
|
|
39
|
+
|
|
40
|
+
## Code style
|
|
41
|
+
|
|
42
|
+
- Native ESM, Node 22 baseline.
|
|
43
|
+
- Small explicit modules and fail-closed validation.
|
|
44
|
+
- Public error codes are stable machine facts; messages must not contain secrets.
|
|
45
|
+
- Network operations need timeouts and bounded response bodies.
|
|
46
|
+
- Avoid logging response bodies, headers, tokens, keys, or full profiles.
|
|
47
|
+
- Prefer official DSH services and exports; document every compatibility seam.
|
|
48
|
+
|
|
49
|
+
## Commit and release hygiene
|
|
50
|
+
|
|
51
|
+
- Keep commits reviewable and signed where project policy supports it.
|
|
52
|
+
- Do not commit generated credentials, `.env`, archives, or session logs.
|
|
53
|
+
- `lib/` is generated by `npm run build`; review the source and tarball, not only minified output.
|
|
54
|
+
- Prefer protected tags and the approved Trusted Publishing workflow. Until that path is configured, the initial maintainer may publish the frozen, verified tarball with the npm CLI and browser 2FA, but must not claim provenance. Record provenance only after npm actually creates an attestation.
|
|
55
|
+
|
|
56
|
+
By participating, contributors agree to follow [`CODE_OF_CONDUCT.en.md`](CODE_OF_CONDUCT.en.md) and certify that they have the right to submit their contribution under the MIT license.
|
package/CONTRIBUTING.md
ADDED
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# 贡献指南
|
|
2
|
+
|
|
3
|
+
**简体中文** | [English](CONTRIBUTING.en.md)
|
|
4
|
+
|
|
5
|
+
感谢你改进 `dsh-oidc`。认证和凭据代码的审查门槛高于普通 UI 变更。
|
|
6
|
+
|
|
7
|
+
## 开始之前
|
|
8
|
+
|
|
9
|
+
- 非敏感设计或缺陷讨论请使用公开 Issue。
|
|
10
|
+
- 漏洞或秘密信息请使用[私有安全报告入口](https://github.com/freedomkk-qfeng/dsh-oidc/security/advisories/new)。
|
|
11
|
+
- 修改协议或信任边界前,请先创建设计 Issue,并在 `docs/decisions/` 下新增 ADR。
|
|
12
|
+
- 未经明确公开授权,不得提交生产 endpoint、标识符、日志、Token、个人数据、Logo 或截图。
|
|
13
|
+
|
|
14
|
+
## 开发
|
|
15
|
+
|
|
16
|
+
要求:Node.js 22+ 和 npm。
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
npm ci
|
|
20
|
+
npm run check
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
占位域名使用 `example.com`、`example.edu` 或 `example.net`。单元测试必须使用生成密钥和虚构 subject。
|
|
24
|
+
|
|
25
|
+
## Pull Request 要求
|
|
26
|
+
|
|
27
|
+
每个 PR 必须:
|
|
28
|
+
|
|
29
|
+
- 说明对用户和安全的影响,以及涉及的边界;
|
|
30
|
+
- 覆盖成功和反向/失败行为测试;
|
|
31
|
+
- 契约变化时同步更新 Schema、OpenAPI、规范正文、示例和 Changelog;
|
|
32
|
+
- 除非提供版本化迁移方案,否则保持 callback/Key Binding 固定路径不变;
|
|
33
|
+
- 保持 Profile 声明式,并拒绝与可执行行为相关的未知字段;
|
|
34
|
+
- 适用时优先使用 DSH 官方或社区能力,不引入平行运行时;
|
|
35
|
+
- 在干净安装中通过 `npm run check`;
|
|
36
|
+
- 声明所有新增依赖、许可证、安装脚本和引入理由。
|
|
37
|
+
|
|
38
|
+
修改 OIDC、Key Binding、凭据、Profile 校验、native 账号契约、构建/发布流程或依赖锁定,必须提供独立技术复核、CI 和专项回归证据,并由当前维护者明确接受结论。项目增加第二位维护者后,此类变更还应取得独立人工批准。
|
|
39
|
+
|
|
40
|
+
## 代码风格
|
|
41
|
+
|
|
42
|
+
- 原生 ESM,Node 22 基线。
|
|
43
|
+
- 模块保持小而明确,校验采用失败关闭。
|
|
44
|
+
- 公共错误码是稳定机器事实;消息不得包含秘密。
|
|
45
|
+
- 网络操作必须有超时和响应大小上限。
|
|
46
|
+
- 避免记录响应 body、header、Token、Key 或完整 Profile。
|
|
47
|
+
- 优先使用 DSH 官方服务和 export;记录每个兼容扩展点。
|
|
48
|
+
|
|
49
|
+
## Commit 与发布规范
|
|
50
|
+
|
|
51
|
+
- Commit 应便于审查;项目策略支持时使用签名。
|
|
52
|
+
- 不得提交生成的凭据、`.env`、归档或 session 日志。
|
|
53
|
+
- `lib/` 由 `npm run build` 生成;审查源码和 tarball,而不只是压缩产物。
|
|
54
|
+
- 优先通过受保护 tag 和批准的 Trusted Publishing 工作流发布。该流程尚未配置时,初始维护者可以用 npm CLI 和浏览器 2FA 发布已冻结并核验的 tarball,但不得声称 provenance;只有 npm 实际生成 attestation 后才能记录 provenance。
|
|
55
|
+
|
|
56
|
+
参与贡献即表示同意遵守[行为准则](CODE_OF_CONDUCT.md),并确认你有权按 MIT 许可证提交相关贡献。
|
package/GOVERNANCE.en.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Governance
|
|
2
|
+
|
|
3
|
+
[简体中文](GOVERNANCE.md) | **English**
|
|
4
|
+
|
|
5
|
+
## Project ownership
|
|
6
|
+
|
|
7
|
+
`dsh-oidc` is initiated and hosted by [@freedomkk-qfeng](https://github.com/freedomkk-qfeng). The project remains institution-neutral: an institution's names, trademarks, service addresses, and Client IDs belong only in authorized deployment configuration and must not become protocol defaults.
|
|
8
|
+
|
|
9
|
+
## Roles
|
|
10
|
+
|
|
11
|
+
- **Maintainers** merge ordinary changes, triage issues, and manage compatibility.
|
|
12
|
+
- **Security maintainers** review authentication, authorization, credential, build, and release changes and handle private reports.
|
|
13
|
+
- **Release managers** control tags, npm publishing, release evidence, provenance when available, and rollback.
|
|
14
|
+
|
|
15
|
+
The current roster is in [`MAINTAINERS.en.md`](MAINTAINERS.en.md). One maintainer currently holds all three roles and there is no backup. Release/security-recovery backups, role separation, and a second human reviewer are future governance goals. Current releases must accurately record independent technical review, CI/regression evidence, known limitations, and the maintainer's decision.
|
|
16
|
+
|
|
17
|
+
## Decision process
|
|
18
|
+
|
|
19
|
+
- Ordinary implementation decisions use pull-request review.
|
|
20
|
+
- Public contract, trust-boundary, dependency strategy, or governance changes require an Architecture Decision Record in `docs/decisions/`.
|
|
21
|
+
- Backward-incompatible changes require migration documentation and the versioning process in `docs/compatibility.en.md`.
|
|
22
|
+
- Maintainers seek rough consensus; unresolved security and interoperability concerns block release until addressed or explicitly accepted in a documented decision.
|
|
23
|
+
|
|
24
|
+
## Review and merge
|
|
25
|
+
|
|
26
|
+
- The current maintainer approves ordinary documentation, test, and UI changes through a reviewable pull-request record.
|
|
27
|
+
- OIDC, Key Binding, Profile validation, secrets, native boundaries, workflows, dependencies, and releases require independent technical review plus CI and focused regression evidence. The maintainer explicitly accepts findings and exceptions in the pull request or release record.
|
|
28
|
+
- There is no second human maintainer today, so the project must not claim two-person approval. Add independent human approval for security-sensitive changes after the maintainer roster expands.
|
|
29
|
+
- CI must be enabled on the public remote. Required human review and branch protection should be enabled when repository permissions and the maintainer roster support them; a direct merge during the initial single-maintainer phase must retain check results and decision rationale.
|
|
30
|
+
|
|
31
|
+
## Releases
|
|
32
|
+
|
|
33
|
+
- During the initial phase, the current maintainer also acts as release manager. Tags and npm packages are created only after `docs/release-checklist.en.md` is completed and its evidence and exceptions are recorded.
|
|
34
|
+
- npm Trusted Publishing/OIDC with provenance is the preferred target process. Until a Trusted Publisher is configured, the first stable release may use the npm CLI and maintainer-confirmed browser 2FA to publish the verified frozen tarball. That path must not claim provenance or write a long-lived token into the repository, logs, or deliverables.
|
|
35
|
+
- After Trusted Publishing is configured, releases should move to protected tags and the approved workflow, and provenance is recorded only when an npm attestation actually exists.
|
|
36
|
+
- A release record includes checksums, compatibility matrix, changelog, known limitations, and rollback guidance.
|
|
37
|
+
- A compromised or unsafe release is deprecated promptly; secrets are rotated and users are notified through the security policy.
|
|
38
|
+
|
|
39
|
+
## Branding and neutrality
|
|
40
|
+
|
|
41
|
+
The project may document ECNU as a reference implementation while keeping the protocol institution-neutral. Merging another organization's example does not imply endorsement. Trademarks and logos require their owners' permission and are not granted by the MIT code license.
|
package/GOVERNANCE.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# 治理规则
|
|
2
|
+
|
|
3
|
+
**简体中文** | [English](GOVERNANCE.en.md)
|
|
4
|
+
|
|
5
|
+
## 项目所有权
|
|
6
|
+
|
|
7
|
+
`dsh-oidc` 由 [@freedomkk-qfeng](https://github.com/freedomkk-qfeng) 发起并托管。项目保持机构中立;具体机构的名称、商标、服务地址和 Client ID 只能出现在获得授权的部署配置中,不能成为公共协议的默认值。
|
|
8
|
+
|
|
9
|
+
## 角色
|
|
10
|
+
|
|
11
|
+
- **维护者**:合并普通变更、处理 Issue 并管理兼容性。
|
|
12
|
+
- **安全维护者**:审查认证、授权、凭据、构建和发布变更,并处理私有报告。
|
|
13
|
+
- **发布经理**:控制 tag、npm 发布、发布证据、可用时的 provenance 和回滚。
|
|
14
|
+
|
|
15
|
+
维护者名单见 [`MAINTAINERS.md`](MAINTAINERS.md)。项目当前由一名维护者兼任上述角色,尚无替补。发布与安全恢复替补、多维护者权限分离和第二位人工审查是后续治理目标;当前发布必须如实记录独立技术复核、CI/回归证据、已知限制和维护者决定。
|
|
16
|
+
|
|
17
|
+
## 决策流程
|
|
18
|
+
|
|
19
|
+
- 普通实现决策通过 Pull Request 审查。
|
|
20
|
+
- 公共契约、信任边界、依赖策略或治理变更,需要在 `docs/decisions/` 中记录 ADR。
|
|
21
|
+
- 不向后兼容的变更必须提供迁移文档,并遵循[兼容性与发布策略](docs/compatibility.md)。
|
|
22
|
+
- 维护者寻求大致共识;未解决的安全和互操作问题会阻止发布,除非通过书面决策明确接受。
|
|
23
|
+
|
|
24
|
+
## 审查与合并
|
|
25
|
+
|
|
26
|
+
- 普通文档、测试和 UI 变更由当前维护者审批并保持可审查的 Pull Request 记录。
|
|
27
|
+
- OIDC、Key Binding、Profile 校验、秘密、native 边界、工作流、依赖或发布变更必须形成独立技术复核和 CI/专项回归证据,由维护者在 Pull Request 或发布记录中明确接受结论和例外。
|
|
28
|
+
- 当前没有第二位人工维护者,不得声称完成了两人审批。维护者名单扩充后,安全敏感变更应增加独立人工批准。
|
|
29
|
+
- 公开远程仓库必须启用 CI。分支保护和强制人工审查应在仓库权限与维护者配置具备条件后启用;初期单一维护者直接合并时必须留存检查结果和决定依据。
|
|
30
|
+
|
|
31
|
+
## 发布
|
|
32
|
+
|
|
33
|
+
- 初期由当前维护者兼任发布经理;只有在完成[公开发布检查表](docs/release-checklist.md)并记录证据和例外后,才能创建 tag 或发布 npm 包。
|
|
34
|
+
- npm Trusted Publishing/OIDC 和 provenance 是优先的目标流程。尚未配置 Trusted Publisher 时,首次稳定版可以由维护者使用 npm CLI 和浏览器 2FA 发布经过校验的冻结 tarball;该路径不得声称具有 provenance,也不得把长期 Token 写入仓库、日志或交付物。
|
|
35
|
+
- Trusted Publisher 配置完成后,发布应切换到受保护 tag 和批准的工作流,并以实际 npm attestation 为准记录 provenance。
|
|
36
|
+
- 发布记录包含 checksum、兼容性矩阵、Changelog、已知限制和回滚说明。
|
|
37
|
+
- 发现发布版本已被攻陷或不安全时,应迅速弃用、轮换秘密,并按安全政策通知用户。
|
|
38
|
+
|
|
39
|
+
## 品牌与中立性
|
|
40
|
+
|
|
41
|
+
项目可以记录 ECNU 参考实现,但协议必须保持机构中立。合并其他机构示例不代表背书。商标和 Logo 的使用需要权利人许可,MIT 代码许可证不授予商标权。
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Maintainers
|
|
2
|
+
|
|
3
|
+
[简体中文](MAINTAINERS.md) | **English**
|
|
4
|
+
|
|
5
|
+
| Role | Primary | Backup | Approval status |
|
|
6
|
+
| --- | --- | --- | --- |
|
|
7
|
+
| Project maintainer | [@freedomkk-qfeng](https://github.com/freedomkk-qfeng) | None yet | Initial single-maintainer phase |
|
|
8
|
+
| Security maintainer | [@freedomkk-qfeng](https://github.com/freedomkk-qfeng) | None yet | Initial single-maintainer phase |
|
|
9
|
+
| Release manager | [@freedomkk-qfeng](https://github.com/freedomkk-qfeng) | None yet | Initial single-maintainer phase |
|
|
10
|
+
|
|
11
|
+
The project is currently in its initial single-maintainer phase. It has no backup and does not claim a second human approval. The maintainer explicitly decides each release after recording independent technical review, CI/regression evidence, known limitations, and recovery steps. Adding a backup capable of handling private security reports and release recovery is a future governance goal; the roster and repository permissions must be updated when one is added.
|
|
12
|
+
|
|
13
|
+
Role responsibilities and review thresholds are defined in [`GOVERNANCE.en.md`](GOVERNANCE.en.md).
|
package/MAINTAINERS.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# 维护者
|
|
2
|
+
|
|
3
|
+
**简体中文** | [English](MAINTAINERS.en.md)
|
|
4
|
+
|
|
5
|
+
| 角色 | 主要负责人 | 替补 | 批准状态 |
|
|
6
|
+
| --- | --- | --- | --- |
|
|
7
|
+
| 项目维护者 | [@freedomkk-qfeng](https://github.com/freedomkk-qfeng) | 暂无 | 初期单一维护者 |
|
|
8
|
+
| 安全维护者 | [@freedomkk-qfeng](https://github.com/freedomkk-qfeng) | 暂无 | 初期单一维护者 |
|
|
9
|
+
| 发布经理 | [@freedomkk-qfeng](https://github.com/freedomkk-qfeng) | 暂无 | 初期单一维护者 |
|
|
10
|
+
|
|
11
|
+
项目当前处于初期单一维护者阶段,尚无替补,不声称已经完成第二位人工审批。发布由维护者在记录独立技术复核、CI/回归证据、已知限制和恢复步骤后明确决定。增加能够处理私有安全报告和发布恢复的替补,是后续治理目标;新增后应及时更新本表和仓库权限。
|
|
12
|
+
|
|
13
|
+
角色职责和审查门槛见[治理规则](GOVERNANCE.md)。
|
package/README.en.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# dsh-oidc
|
|
2
2
|
|
|
3
|
-
> npm package: `@eduwork/dsh-oidc@0.1.0
|
|
3
|
+
> npm package: `@eduwork/dsh-oidc@0.1.0`. The previous unscoped package and scoped alpha remain available during migration. See [migration and data compatibility](docs/EDUWORK-MIGRATION.en.md).
|
|
4
4
|
|
|
5
5
|
[简体中文](README.md) | **English**
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@ Standards-based enterprise identity and model integration for [DeepSeek Harness]
|
|
|
15
15
|
|
|
16
16
|
The plugin is Web-first and has no Wails dependency. A desktop product can select the native account backend without changing the profile, Provider routes, UI contract, or Key Binding semantics.
|
|
17
17
|
|
|
18
|
-
> **
|
|
18
|
+
> **Current release: 0.1.0.** The source targets DSH `0.1.2-rc.1` exactly (commit `a66e4702…`) and locks and checks the complete DSH peer closure. The package has a stable version number, while the Enterprise Profile remains `v1alpha1`; real OIDC/Key Binding integration and host credential-isolation review are still required before production use.
|
|
19
19
|
|
|
20
20
|
Integrating your own organization? Read the **[server API specification](docs/server-integration-contract.en.md)** first, then follow the **[getting-started guide](docs/getting-started.en.md)**. The first defines, with requests, responses, fields, and errors, the OIDC + PKCE, Key Binding, and model-gateway capabilities one institutional service must jointly deliver; the second covers configuration, installation, acceptance, and troubleshooting.
|
|
21
21
|
|
|
@@ -74,7 +74,7 @@ These values affect the document title, sidebar brand, conversation hero mark, l
|
|
|
74
74
|
## Requirements
|
|
75
75
|
|
|
76
76
|
- Node.js 22 or newer;
|
|
77
|
-
- DeepSeek Harness `0.1.2-
|
|
77
|
+
- the exact DeepSeek Harness `0.1.2-rc.1` peer set;
|
|
78
78
|
- an OIDC Public Client without a Client Secret that registers `http://127.0.0.1:3080/oauth/callback` exactly;
|
|
79
79
|
- Discovery metadata with PKCE S256, RS256 ID Tokens, and `userinfo_endpoint`;
|
|
80
80
|
- one institutional integration service implementing the complete [server contract](docs/server-integration-contract.en.md), including Key Binding and the model gateway;
|
|
@@ -87,7 +87,7 @@ The current Web backend is intentionally limited to a trusted, single-user DSH p
|
|
|
87
87
|
Install the reviewed, exact version from npm:
|
|
88
88
|
|
|
89
89
|
```bash
|
|
90
|
-
dsh plugin --profile web add @eduwork/dsh-oidc@0.1.0
|
|
90
|
+
dsh plugin --profile web add @eduwork/dsh-oidc@0.1.0
|
|
91
91
|
```
|
|
92
92
|
|
|
93
93
|
For auditing, development, or testing unpublished changes, install from a local checkout instead:
|
|
@@ -100,7 +100,7 @@ npm run check
|
|
|
100
100
|
dsh plugin --profile web add .
|
|
101
101
|
```
|
|
102
102
|
|
|
103
|
-
The local-path form links the checkout into the DSH `web` Profile, so keep the source directory in place. Team deployments should
|
|
103
|
+
The local-path form links the checkout into the DSH `web` Profile, so keep the source directory in place. Team deployments should pin a reviewed, exact npm version and must not mix another DSH prerelease line into the same profile.
|
|
104
104
|
|
|
105
105
|
Advanced products may instead add it explicitly to their own DSH bundle patch:
|
|
106
106
|
|
|
@@ -158,7 +158,7 @@ npm ci
|
|
|
158
158
|
npm run check
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
-
`npm run check` rebuilds both plugin faces
|
|
161
|
+
`npm run check` verifies the DSH rc.1 Host, Client, Provider, WebServer, credentials, and Typert contracts; rebuilds both plugin faces; runs unit/security-contract tests; validates examples and OpenAPI structure; scans publishable sources for common secrets, personal paths, non-example addresses, and ECNU service endpoints; and inspects the npm tarball.
|
|
162
162
|
|
|
163
163
|
The repository intentionally keeps Host code as native ESM under `src/host`; `scripts/build-host.mjs` copies it to `lib`. The DSH browser client is bundled as the loader-compatible `lib/client.js`.
|
|
164
164
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# dsh-oidc
|
|
2
2
|
|
|
3
|
-
> npm 包:`@eduwork/dsh-oidc@0.1.0
|
|
3
|
+
> npm 包:`@eduwork/dsh-oidc@0.1.0`。旧无作用域包和作用域 alpha 版本保留供迁移;安装切换与数据兼容见 [迁移说明](docs/EDUWORK-MIGRATION.md)。
|
|
4
4
|
|
|
5
5
|
**简体中文** | [English](README.en.md)
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
|
|
16
16
|
插件 Web 优先,不依赖 Wails。桌面产品可以切换到 native account backend,但 Enterprise Profile、Provider 路由、前端账号契约和 Key Binding 语义不变。
|
|
17
17
|
|
|
18
|
-
>
|
|
18
|
+
> **当前版本:0.1.0。** 当前源码精确适配 DSH `0.1.2-rc.1`(提交 `a66e4702…`),并锁定、检查完整 DSH peer 闭包。软件包使用稳定版本号,但 Enterprise Profile 仍为 `v1alpha1`;正式生产前仍必须完成真实 OIDC/Key Binding 联调和宿主凭据隔离审计。
|
|
19
19
|
|
|
20
20
|
准备接入自己的机构?先读 **[服务端接口规范](docs/server-integration-contract.md)**,再按 **[完整中文接入指南](docs/getting-started.md)** 部署。前者以请求、响应、字段和错误码形式定义一个机构服务必须共同实现的 OIDC + PKCE、Key Binding 和模型网关能力;后者覆盖配置、安装、验收和排障。
|
|
21
21
|
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
4. 从 npm 安装经过复核的精确版本:
|
|
69
69
|
|
|
70
70
|
```bash
|
|
71
|
-
dsh plugin --profile web add @eduwork/dsh-oidc@0.1.0
|
|
71
|
+
dsh plugin --profile web add @eduwork/dsh-oidc@0.1.0
|
|
72
72
|
```
|
|
73
73
|
|
|
74
74
|
需要审计、开发或测试尚未发布的改动时,也可以从本地 checkout 安装:
|
|
@@ -81,7 +81,7 @@ npm run check
|
|
|
81
81
|
dsh plugin --profile web add .
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
本地路径安装会把当前 checkout 以依赖链接到 DSH `web` Profile
|
|
84
|
+
本地路径安装会把当前 checkout 以依赖链接到 DSH `web` Profile;安装后不要移动或删除源码目录。团队部署应固定经过复核的 npm 精确版本,不要混装其他 DSH 预发布线。
|
|
85
85
|
|
|
86
86
|
高级产品也可以在自己的 DSH bundle 中显式引入 `dsh-oidc`:
|
|
87
87
|
|
|
@@ -125,7 +125,7 @@ npm ci
|
|
|
125
125
|
npm run check
|
|
126
126
|
```
|
|
127
127
|
|
|
128
|
-
完整检查包括 Host/Client 构建、单元测试、OIDC 安全边界测试、JSON Schema 示例校验、OpenAPI 结构检查、敏感信息扫描和 npm tarball 预检。
|
|
128
|
+
完整检查包括 DSH rc.1 Host/Client/API 契约核对、Host/Client 构建、单元测试、OIDC 安全边界测试、JSON Schema 示例校验、OpenAPI 结构检查、敏感信息扫描和 npm tarball 预检。
|
|
129
129
|
|
|
130
130
|
详细材料:
|
|
131
131
|
|
package/SECURITY.en.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Security policy
|
|
2
|
+
|
|
3
|
+
[简体中文](SECURITY.md) | **English**
|
|
4
|
+
|
|
5
|
+
## Supported versions
|
|
6
|
+
|
|
7
|
+
The supported release line is `0.1.x`; security fixes are applied to its latest release. Alpha versions before `0.1.0` remain available for migration and historical reproduction but do not receive routine fixes.
|
|
8
|
+
|
|
9
|
+
## Reporting a vulnerability
|
|
10
|
+
|
|
11
|
+
Do **not** open a public issue for a suspected vulnerability, leaked secret, private endpoint, identity mix-up, credential exposure, or authorization bypass.
|
|
12
|
+
|
|
13
|
+
Submit reports privately through GitHub [Private Vulnerability Reporting](https://github.com/freedomkk-qfeng/dsh-oidc/security/advisories/new). Do not disclose vulnerability details, real credentials, or personal data in a public issue, discussion, pull request, or log attachment. If the private reporting entry is unavailable, open only a detail-free public issue asking maintainers to check the security-reporting configuration.
|
|
14
|
+
|
|
15
|
+
Include, where safe:
|
|
16
|
+
|
|
17
|
+
- affected version/commit and DSH version;
|
|
18
|
+
- deployment topology (Web/native, single-user/shared, Credential Provider);
|
|
19
|
+
- reproduction steps or proof of concept;
|
|
20
|
+
- impact and whether secrets or personal data were accessed;
|
|
21
|
+
- logs with tokens, cookies, API keys, subjects, and internal hosts redacted;
|
|
22
|
+
- suggested mitigation or embargo constraints.
|
|
23
|
+
|
|
24
|
+
Maintainers aim to acknowledge a complete report within three business days, provide an initial assessment within seven business days, and coordinate disclosure after a fix is available. These are response targets, not a legal or service-level commitment.
|
|
25
|
+
|
|
26
|
+
## In scope
|
|
27
|
+
|
|
28
|
+
- OIDC state/nonce/PKCE/token validation and callback handling;
|
|
29
|
+
- identity confusion between ID Token, UserInfo, bootstrap, profiles, or native backend;
|
|
30
|
+
- Key Binding authorization, Provider binding, idempotency, or API-key exposure;
|
|
31
|
+
- credential storage/resolution and cross-user or cross-profile isolation;
|
|
32
|
+
- profile validation bypass or remote code/style execution;
|
|
33
|
+
- client loader, branding, XSS, open redirect, SSRF, or unsafe URL handling;
|
|
34
|
+
- dependency/build/release supply-chain compromise.
|
|
35
|
+
|
|
36
|
+
## Out of scope
|
|
37
|
+
|
|
38
|
+
- vulnerabilities solely in an unmodified upstream DSH/pi-ai/Node dependency (report upstream, but notify this project if exploitable here);
|
|
39
|
+
- an operator intentionally publishing secrets in a profile despite documented prohibitions;
|
|
40
|
+
- unsupported shared multi-user deployment using a global/file-backed Credential Provider;
|
|
41
|
+
- social engineering, physical attacks, or denial-of-service requiring unrealistic traffic, unless a low-cost amplification exists.
|
|
42
|
+
|
|
43
|
+
## Handling secrets
|
|
44
|
+
|
|
45
|
+
Never attach real tokens, keys, cookies, user records, production profiles, or raw session exports to an issue. If a repository secret is discovered, revoke/rotate it first; deleting Git history alone is not remediation.
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# 安全政策
|
|
2
|
+
|
|
3
|
+
**简体中文** | [English](SECURITY.en.md)
|
|
4
|
+
|
|
5
|
+
## 支持版本
|
|
6
|
+
|
|
7
|
+
当前受支持发布线为 `0.1.x`,安全修复应用于该发布线的最新版本。`0.1.0` 之前的 alpha 版本仅保留用于迁移和历史复现,不再接收常规修复。
|
|
8
|
+
|
|
9
|
+
## 报告漏洞
|
|
10
|
+
|
|
11
|
+
怀疑存在漏洞、秘密泄露、私有 endpoint、身份混淆、凭据暴露或授权绕过时,**不要创建公开 Issue**。
|
|
12
|
+
|
|
13
|
+
请通过 GitHub 的 [Private Vulnerability Reporting](https://github.com/freedomkk-qfeng/dsh-oidc/security/advisories/new) 私密提交报告。不要在公开 Issue、Discussion、Pull Request 或日志附件中披露漏洞细节、真实凭据或个人信息。如果该入口不可用,请只创建一条不含技术细节的公开 Issue,提醒维护者检查安全报告配置。
|
|
14
|
+
|
|
15
|
+
在安全允许的情况下,请提供:
|
|
16
|
+
|
|
17
|
+
- 受影响版本/commit 和 DSH 版本;
|
|
18
|
+
- 部署拓扑(Web/native、单用户/共享、Credential Provider);
|
|
19
|
+
- 复现步骤或 PoC;
|
|
20
|
+
- 影响范围,以及是否访问了秘密或个人数据;
|
|
21
|
+
- 已脱敏 Token、Cookie、API Key、subject 和内部 host 的日志;
|
|
22
|
+
- 建议缓解措施或保密期要求。
|
|
23
|
+
|
|
24
|
+
维护者目标是在三个工作日内确认完整报告,在七个工作日内给出初步评估,并在修复可用后协调披露。上述时间是响应目标,不是法律或服务等级承诺。
|
|
25
|
+
|
|
26
|
+
## 范围内
|
|
27
|
+
|
|
28
|
+
- OIDC state/nonce/PKCE/token 校验和 callback 处理;
|
|
29
|
+
- ID Token、UserInfo、bootstrap、Profile 或 native 后端之间的身份混淆;
|
|
30
|
+
- Key Binding 授权、Provider 绑定、幂等或 API Key 暴露;
|
|
31
|
+
- 凭据存储/解析,以及跨用户或跨 Profile 隔离;
|
|
32
|
+
- Profile 校验绕过或远程代码/样式执行;
|
|
33
|
+
- Client loader、品牌替换、XSS、开放重定向、SSRF 或不安全 URL 处理;
|
|
34
|
+
- 依赖、构建和发布供应链攻击。
|
|
35
|
+
|
|
36
|
+
## 范围外
|
|
37
|
+
|
|
38
|
+
- 只存在于未修改上游 DSH/pi-ai/Node 依赖中的漏洞(应报告上游;若能在本项目中利用,也请通知本项目);
|
|
39
|
+
- 运维方违反明确禁令,主动在 Profile 中公开秘密;
|
|
40
|
+
- 使用全局/文件型 Credential Provider 的不受支持共享多用户部署;
|
|
41
|
+
- 社会工程、物理攻击,或需要不现实流量的拒绝服务攻击,除非存在低成本放大。
|
|
42
|
+
|
|
43
|
+
## 秘密处理
|
|
44
|
+
|
|
45
|
+
不得在 Issue 中附加真实 Token、Key、Cookie、用户记录、生产 Profile 或原始 session 导出。如果发现仓库秘密,应先撤销或轮换;仅删除 Git 历史不构成修复。
|
package/SUPPORT.en.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Support
|
|
2
|
+
|
|
3
|
+
[简体中文](SUPPORT.md) | **English**
|
|
4
|
+
|
|
5
|
+
Use [GitHub Issues](https://github.com/freedomkk-qfeng/dsh-oidc/issues) for public integration questions. Use the private process in [`SECURITY.en.md`](SECURITY.en.md) for vulnerabilities and secrets.
|
|
6
|
+
|
|
7
|
+
When reporting a normal bug, include:
|
|
8
|
+
|
|
9
|
+
- `dsh-oidc`, Node.js, DSH, and pi-ai versions;
|
|
10
|
+
- Web or native backend and Credential Provider type;
|
|
11
|
+
- sanitized Enterprise Profile with all real domains/IDs replaced;
|
|
12
|
+
- expected and observed behavior;
|
|
13
|
+
- minimal reproduction and redacted logs.
|
|
14
|
+
|
|
15
|
+
The project does not support shared multi-user Web deployment, unreviewed DSH versions, private Provider adapters selected by profiles, or production secrets posted publicly.
|
package/SUPPORT.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# 支持
|
|
2
|
+
|
|
3
|
+
**简体中文** | [English](SUPPORT.en.md)
|
|
4
|
+
|
|
5
|
+
普通集成问题请使用 [GitHub Issues](https://github.com/freedomkk-qfeng/dsh-oidc/issues)。漏洞和秘密信息请使用[安全政策](SECURITY.md)规定的私有流程。
|
|
6
|
+
|
|
7
|
+
报告普通缺陷时,请提供:
|
|
8
|
+
|
|
9
|
+
- `dsh-oidc`、Node.js、DSH 和 pi-ai 版本;
|
|
10
|
+
- Web 或 native 后端,以及 Credential Provider 类型;
|
|
11
|
+
- 已将真实域名和 ID 全部替换的脱敏 Enterprise Profile;
|
|
12
|
+
- 预期行为和实际行为;
|
|
13
|
+
- 最小复现和脱敏日志。
|
|
14
|
+
|
|
15
|
+
项目不支持以下情形:共享多用户 Web 部署;未经审查的 DSH 版本;由 Profile 选择的私有 Provider adapter;在公开渠道提交生产秘密。
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## Runtime peers (not copied into this repository)
|
|
8
8
|
|
|
9
|
-
- DeepSeek Harness packages `0.1.2-
|
|
9
|
+
- DeepSeek Harness packages `0.1.2-rc.1` and `@deepseek-ai/cordis` `4.0.2` — MIT, Copyright (c) 2026 DeepSeek, <https://github.com/deepseek-ai/deepseek-harness>
|
|
10
10
|
- `@earendil-works/pi-ai` `^0.84.2` (`0.84.4` in the reviewed source Runtime) — MIT, <https://github.com/earendil-works/pi>
|
|
11
11
|
- React `18.x` — MIT, Copyright (c) Facebook, Inc. and its affiliates, <https://github.com/facebook/react>
|
|
12
12
|
|
|
@@ -46,6 +46,6 @@ Source: <https://github.com/colinhacks/zod>
|
|
|
46
46
|
|
|
47
47
|
The repository also declares tsdown (MIT), TypeScript (Apache-2.0), Ajv (MIT), YAML (ISC), and `@types/react` (MIT) for build and validation. They are not included in the npm package's runtime files. Review their transitive licenses and install scripts from the lockfile before release.
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
In the `0.1.0` lockfile, npm reports install scripts on `@google/genai` (a no-op preinstall) and `protobufjs` (postinstall), both reached through the `@earendil-works/pi-ai` peer tree. npm's allow-scripts policy left them unapproved during the preparation install. Release managers must re-review this fact whenever the lockfile changes; `npm audit` reporting zero known vulnerabilities does not replace that review.
|
|
50
50
|
|
|
51
|
-
The prepared lockfile contains
|
|
51
|
+
The prepared lockfile contains 230 package entries with declared license metadata: MIT (170), Apache-2.0 (45), BSD-3-Clause (12), ISC (2), and 0BSD (1). This is an inventory result, not legal advice; the release manager must regenerate and review it from the final lockfile.
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
## 运行时 Peer(源码未复制进本仓库)
|
|
8
8
|
|
|
9
|
-
- DeepSeek Harness `0.1.2-
|
|
9
|
+
- DeepSeek Harness `0.1.2-rc.1` 软件包和 `@deepseek-ai/cordis` `4.0.2`——MIT,Copyright (c) 2026 DeepSeek,<https://github.com/deepseek-ai/deepseek-harness>
|
|
10
10
|
- `@earendil-works/pi-ai` `^0.84.2`(已审查源码 Runtime 中为 `0.84.4`)——MIT,<https://github.com/earendil-works/pi>
|
|
11
11
|
- React `18.x`——MIT,Copyright (c) Facebook, Inc. and its affiliates,<https://github.com/facebook/react>
|
|
12
12
|
|
|
@@ -48,6 +48,6 @@ SOFTWARE.
|
|
|
48
48
|
|
|
49
49
|
仓库还声明 tsdown(MIT)、TypeScript(Apache-2.0)、Ajv(MIT)、YAML(ISC)和 `@types/react`(MIT),用于构建与校验。它们不包含在 npm 包运行时文件中。发布前应根据 lockfile 审查其间接许可证和安装脚本。
|
|
50
50
|
|
|
51
|
-
在
|
|
51
|
+
在 `0.1.0` lockfile 中,npm 报告 `@google/genai`(无操作 preinstall)和 `protobufjs`(postinstall)包含安装脚本;二者均来自 `@earendil-works/pi-ai` peer 依赖树。准备安装期间,npm allow-scripts 策略未批准这些脚本。每次 lockfile 变化后,发布经理必须重新审查;`npm audit` 报告零已知漏洞不能替代该审查。
|
|
52
52
|
|
|
53
|
-
准备好的 lockfile 含
|
|
53
|
+
准备好的 lockfile 含 230 个带许可证元数据的软件包条目:MIT 170 个、Apache-2.0 45 个、BSD-3-Clause 12 个、ISC 2 个和 0BSD 1 个。这只是清单结果,不构成法律意见;发布经理必须从最终 lockfile 重新生成并审查。
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
[简体中文](EDUWORK-MIGRATION.md) | **English**
|
|
4
4
|
|
|
5
|
-
Starting with
|
|
5
|
+
Starting with `0.1.0-alpha.11`, the npm package identity changed to `@eduwork/dsh-oidc`, replacing `dsh-oidc`; `0.1.0` is the first stable semantic version after that migration. The npm `eduwork` organization exists. The GitHub repository and checkout directory remain `dsh-oidc`. Consult the npm registry for current publication status.
|
|
6
6
|
|
|
7
7
|
## Installation and migration
|
|
8
8
|
|
|
9
9
|
```sh
|
|
10
|
-
dsh plugin --profile web add @eduwork/dsh-oidc@0.1.0
|
|
10
|
+
dsh plugin --profile web add @eduwork/dsh-oidc@0.1.0
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
Back up an existing Profile's package.json and cordis.patch.yml, then update its dependency and dsh.profile.bundles entries. Update module name paths in custom patches too. Do not enable both package identities together; restart the Host after switching. These are separate npm packages, so updating the old package cannot migrate an installation automatically.
|
|
@@ -20,4 +20,4 @@ Storage directories and user configuration content do not change. Product-manage
|
|
|
20
20
|
|
|
21
21
|
## Release scope
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
`0.1.0` stabilizes the package identity as `@eduwork/dsh-oidc` and targets DSH `0.1.2-rc.1` exactly. Build, tests, documentation, license, and tarball checks cover this change; they do not constitute real institutional sign-in, real email delivery, or production acceptance. Production adoption still requires the complete public-release deployment checks. Keep the old package and scoped alpha versions installable rather than unpublishing them.
|