dsh-dev-workbench 0.0.0-stage → 0.3.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/LICENSE +21 -0
- package/README.md +159 -2
- package/THIRD-PARTY-NOTICES.txt +232 -0
- package/bin/harness-linky.mjs +365 -0
- package/client.js +20461 -0
- package/cordis.patch.yml +13 -0
- package/icon.svg +14 -0
- package/index.js +24205 -0
- package/locale/en.json +6 -0
- package/locale/zh.json +6 -0
- package/package.json +101 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 longlong_wu
|
|
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.
|
package/README.md
CHANGED
|
@@ -1,3 +1,160 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 智能工作台 · DSH Dev Workbench
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
DeepSeek Harness 原生插件,把消息跟进、研发任务、多 AI 对话、开发调试和知识检索放在同一个工作入口。复用 Harness 已配置的模型、会话和工具,从日常沟通中整理事项,带着工程与来源上下文继续处理,再把确认过的结论沉淀为知识。
|
|
4
|
+
|
|
5
|
+
- **办公跟进**:今日简报、待办与待回复、云之家连接、持续消息识别和日报周报。
|
|
6
|
+
- **研发协作**:Linky 工作项、本地工程、专属 Harness 会话、测试与独立审查。
|
|
7
|
+
- **分析与复用**:多 AI 统一提问、开发工具与数据查询、历史搜索和带来源的知识问答。
|
|
8
|
+
|
|
9
|
+
[源码仓库](https://github.com/LongerWu2026/dsh-dev-workbench) · [版本与下载](https://github.com/LongerWu2026/dsh-dev-workbench/releases) · [npm](https://www.npmjs.com/package/dsh-dev-workbench) · [问题反馈](https://github.com/LongerWu2026/dsh-dev-workbench/issues)
|
|
10
|
+
|
|
11
|
+
## 安装与升级
|
|
12
|
+
|
|
13
|
+
需要已安装的 DeepSeek Harness;命令行安装需要 Node.js **≥22.19.0** 和可用的 `dsh` 命令。插件名称为 `dsh-dev-workbench`,界面名称为「智能工作台」。
|
|
14
|
+
|
|
15
|
+
### 从插件市场安装
|
|
16
|
+
|
|
17
|
+
在 **dshmarket** 中搜索 `dsh-dev-workbench` 或「智能工作台」,进入详情安装或升级。市场共享目录更新可能晚于 GitHub 和 npm;中国大陆线路还取决于目录包及镜像同步。暂时搜不到或版本较旧时,可使用下面的安装方式。
|
|
18
|
+
|
|
19
|
+
### 通过 npm 安装
|
|
20
|
+
|
|
21
|
+
通过 npm 安装下列版本;若 registry 或镜像暂未同步,可使用下一节的 GitHub 预构建包。
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
dsh plugin --profile desktop add dsh-dev-workbench@0.3.0
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
将 `desktop` 替换为实际宿主使用的 profile。使用指定版本便于核对安装结果;桌面端也可使用应用自己的插件管理入口。
|
|
28
|
+
|
|
29
|
+
### 下载预构建包
|
|
30
|
+
|
|
31
|
+
从 [Releases](https://github.com/LongerWu2026/dsh-dev-workbench/releases) 下载 `dsh-dev-workbench-<版本>.tgz`,或直接安装:
|
|
32
|
+
|
|
33
|
+
```sh
|
|
34
|
+
dsh plugin --profile desktop add https://github.com/LongerWu2026/dsh-dev-workbench/releases/download/v0.3.0/dsh-dev-workbench-0.3.0.tgz
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
升级后按宿主机制重载插件组件或重启 Harness,再打开侧栏「智能工作台」。只刷新页面不会重新注册新增 Host 接口;遇到 `/api/workbench/...` 返回 404,先重载插件组件。升级前建议备份工作台数据,位置见下文。
|
|
38
|
+
|
|
39
|
+
## 首次使用
|
|
40
|
+
|
|
41
|
+
1. 打开「更多 → 连接与设置」,按需要配置连接器、项目和 AI。AI 主开关、自动登记及普通定时运行分别配置,新安装默认关闭;AI 使用宿主已配置模型及其用量。
|
|
42
|
+
2. 需要消息跟进时,在云之家连接器中点击「安装」和「登录授权」,在官方浏览器页面完成授权,再点击「重新检测」。连接成功后开始同步和提取;无需为 CLI 安装再次重启 Harness。
|
|
43
|
+
3. 在「今日简报」查看待办、待回复、日程与 AI 动态;进入来源详情核对消息后处理。点一次提取可按每批最多 50 条持续执行,在状态栏查看剩余数量、失败或暂停原因。
|
|
44
|
+
4. 需要研发辅助时,进入「研发任务」连接 Linky,选择本人工作项和工程,再确认测试命令。需要多 AI 问答时,进入「多 AI 对话」,在各厂商内嵌官网完成登录并选择发送对象。
|
|
45
|
+
|
|
46
|
+
各模块可独立使用;使用工具箱不要求先连接云之家或 Linky。窄窗口放不下的导航入口自动收进「更多」。
|
|
47
|
+
|
|
48
|
+
## 功能介绍
|
|
49
|
+
|
|
50
|
+
| 模块 | 可以做什么 |
|
|
51
|
+
| --- | --- |
|
|
52
|
+
| 今日简报 | 聚合待办与待回复、查看会议和提醒、关注 AI 动态、复制工作简报,持续查看提取进度 |
|
|
53
|
+
| 研发任务 | 读取 Linky 本人需求、用户故事和缺陷,关联工程、原生工作区和开发会话,组织分析、开发、测试、独立审查与人工确认 |
|
|
54
|
+
| 智能办公 | 批量准备回复草稿、生成日报周报和待办方案,保留产物与执行记录,按需开启忙碌自动回复 |
|
|
55
|
+
| 任务中心与待回复 | 独立管理交付与回复责任,支持搜索、筛选、状态切换、来源回查和确认后回复 |
|
|
56
|
+
| AI 资讯 | 使用宿主联网能力或可选 RSS 发现资讯,读取原文、生成摘要,按时间及关注主题组织 |
|
|
57
|
+
| 知识空间 | 保存候选知识、人工审核、限定项目和账号范围,检索原文并显示版本、行号与引用 |
|
|
58
|
+
| 多 AI 对话 | 同一问题发给选定厂商,逐轮切换查看回答,管理附件和本地历史,将选中回答保存为候选知识 |
|
|
59
|
+
| 工作搜索 | 在工作台记录中查找任务、回复、资料与问答,回到对应内容继续处理 |
|
|
60
|
+
| 开发工具箱 | 数据连接、JSON、Diff、HTTP/MCP 调试、日志、SQL、正则、类型生成及常用转换工具 |
|
|
61
|
+
| 研发协作 | 管理本地工程、启动命令,联动 VS Code、IDEA 和终端,查看运行日志 |
|
|
62
|
+
|
|
63
|
+
### 消息提取、待办与回复
|
|
64
|
+
|
|
65
|
+
消息按组织、账号、会话和原消息去重,保留来源及北京时间。聚焦未读消息、@本人、@全员及明确关联已有事项的跟进,普通已读聊天不会全量交给 AI。只采集和处理插件安装日期(北京时间)起的消息;升级、恢复与导入保留本机安装日期。
|
|
66
|
+
|
|
67
|
+
私聊未读先登记回复义务,识别为具体事项后转为待办;群消息需符合 @ 等处理规则。已读、确认收到和实际完成是不同状态,聊天不会自动完成或取消待办,人工确认字段受到保护。首页聚合存在明确关联的事项,完成待办和处理回复仍分别操作。
|
|
68
|
+
|
|
69
|
+
提取采用持久化队列:每批最多 50 条,点击一次持续处理,显示累计、剩余、失败及自动重试时间。临时失败按规则恢复,达到上限则明确暂停;重启恢复进度,成功内容不重复识别。普通自动同步在北京时间 **09:00–21:00 每五分钟**运行,包含 21:00;手动同步不受此时段限制。后台任务依赖 Harness 进程运行。
|
|
70
|
+
|
|
71
|
+
人工回复先编辑、核对并确认发送,生成、保存和复制草稿不会发送消息。可选的「忙碌自动回复」默认关闭:主动开启后,仅对本次忙碌期间的新未读私聊发送一次告知,每个会话每周期最多一次;成功告知后仍保留人工答复义务。该模式在 Harness 运行期间额外每分钟检查,关闭停止新告知,账号变化后需重新启用。详见[消息分流规则](docs/MESSAGE-ROUTING-RULES-2026-10-29.md)、[连续识别](docs/CONTINUOUS-ANALYSIS-2026-10-30.md)和[忙碌回复](docs/BUSY-PRIVATE-REPLY-2026-10-31.md)。
|
|
72
|
+
|
|
73
|
+
### Linky 研发任务
|
|
74
|
+
|
|
75
|
+
- 登录后查看本人需求、用户故事与缺陷,按空间、类型、状态筛选,打开完整描述并继续已有研发过程。
|
|
76
|
+
- 将工作项与本地工程、原生 Harness 工作区及专属会话关联。满足条件的干净 Git 根仓库可建立独立 worktree;普通目录或已有改动等情形使用所选目录,保留原有内容。
|
|
77
|
+
- 确认工程与测试命令后启动分析、开发、真实测试和独立 AI 审查。测试未配置、执行失败或模型异常会暂停;可补充要求并继续原会话。
|
|
78
|
+
- 人工审查展示差异、测试退出码及审查意见。批准绑定当前代码内容,后续变化会使批准失效。批准与向 Linky 回写评论分别确认,评论回写不会代替代码提交、合并或发布。
|
|
79
|
+
- npm 包包含 `harness-linky` CLI,可将 Linky 的 Codex 协议入口适配到官方 Harness ACP;配置及权限边界见[实施说明](docs/LINKY-DEVELOPMENT-IMPLEMENTATION-2026-10-31.md)。
|
|
80
|
+
|
|
81
|
+
页面使用方式及工程选择见[研发任务说明](docs/DEVELOPMENT-UX-2026-10-31.md)。完整真实业务修复与回写仍需用户在实际工作项中验证,隔离测试不代表业务已完成。
|
|
82
|
+
|
|
83
|
+
### 多 AI 对话与历史
|
|
84
|
+
|
|
85
|
+
内嵌 Kimi、智谱清言、豆包、元宝和千问,ChatGPT 可选。统一输入问题,选择发送厂商,每轮通过厂商标签查看回答;各厂商保持自己的官网会话,新厂商不会自动继承其他厂商的历史上下文。
|
|
86
|
+
|
|
87
|
+
支持选择、粘贴和拖入图片或文档,发送前预览和移除。每次最多 5 个附件,单文件 10 MB、合计 20 MB;历史仅保留附件元数据,刷新后需重选原文件。回答可保存、搜索、重命名、归档或放入本地回收站,选中内容可加入候选知识。恢复采集只读取回答;仅明确未提交的厂商可由用户点击补发,提交结果不确定时不自动重发。
|
|
88
|
+
|
|
89
|
+
登录、验证码、站点繁忙及附件格式受各厂商规则约束。**跨 Harness 重启的网页登录持久化需要另行适配宿主扩展,安装本插件不会自动修改桌面应用**;普通原版宿主不保证这一能力。详见[聊天与补发](docs/WEB-AI-CHAT-REDESIGN-2026-10-30.md)、[历史管理](docs/WEB-AI-LOCAL-HISTORY-2026-10-29.md)、[真实站点验证](docs/WEB-AI-LIVE-ACCEPTANCE-2026-10-30.md)及[可选 rc.5 宿主扩展](host-integration/rc5/README.md)。
|
|
90
|
+
|
|
91
|
+
### 开发工具与数据查询
|
|
92
|
+
|
|
93
|
+
工具箱按工具展示输入和结果,可搜索、筛选并在当前页面保留切换前的输入。JSON 支持格式化、树形查看和路径复制;Diff 支持文本和 JSON 结构对比;HTTP 调试支持导入基础 cURL,导入本身不发送请求;另有 MCP Streamable HTTP 调试、日志筛选、正则、Cron、SQL 格式化、类型生成、YAML/CSV 转换等工具。AI 辅助需显式点击,沿用宿主助手。
|
|
94
|
+
|
|
95
|
+
数据连接支持 MySQL、PostgreSQL、Elasticsearch 和单节点 Redis:读取所选结构、生成查询并在用户点击后执行。SQL 使用语法树校验和只读事务,Redis 仅开放受限读取;建议配合只读账号使用。AI 生成只传数据库类型与所选结构元数据,不传连接密码、地址或业务行数据;生成的结构变更与回滚脚本仅供预览。查询结果最多 200 行、1 MB。
|
|
96
|
+
|
|
97
|
+
数据连接密码只驻留宿主内存,重启或断开后重新填写;非密码配置保存在本地。HTTP/MCP 调试按用户操作联网,离线转换在本地执行。详见[工具箱介绍](docs/DEVELOPER-TOOLBOX-2026-10-31.md)、[数据连接说明](docs/DATA-TOOLS-2026-10-31.md)和[研发协作](docs/DEVELOPER-WORKFLOWS-2026-10-29.md)。
|
|
98
|
+
|
|
99
|
+
### 知识检索与工作汇总
|
|
100
|
+
|
|
101
|
+
回答和办公产物先保存为候选知识,经人工审核后参与默认检索。检索按项目、账号、有效期和归档状态过滤,默认采用本地中文分词、分块与 BM25 排序,回答携带实际使用的原文、版本及行号。可选远程 Embedding 需要 HTTPS,HTTP 仅允许本机回环地址;不安全地址会在发送凭据和正文前被阻断,并保留本地检索。
|
|
102
|
+
|
|
103
|
+
智能办公将工作记录组织为回复草稿、日报周报和待办方案,产物及执行状态可追踪。模型输出仍需人工核验,未命中资料时不会把未读取的链接当作依据。详见[知识检索与引用](docs/KNOWLEDGE-RETRIEVAL-IMPLEMENTATION-2026-10-28.md)及[办公流程](docs/AGENT-WORKFLOWS-IMPLEMENTATION-2026-10-28.md)。
|
|
104
|
+
|
|
105
|
+
## 数据、权限与备份
|
|
106
|
+
|
|
107
|
+
工作台数据按 Harness Home 保存,切换聊天不会切换数据空间。项目用于记录归属和上下文范围。默认目录为 `~/.dsh/storages/dev-workbench/`;设置了 `DSH_HOME` 时使用 `$DSH_HOME/storages/dev-workbench/`。
|
|
108
|
+
|
|
109
|
+
| 内容 | 相对工作台数据目录的位置 |
|
|
110
|
+
| --- | --- |
|
|
111
|
+
| 业务记录与处理队列 | `state.json` |
|
|
112
|
+
| 业务状态备份 | `backups/` |
|
|
113
|
+
| 数据连接非密码配置 | `data-connections.json` |
|
|
114
|
+
| 研发配置、任务和适配器记录 | `development/` |
|
|
115
|
+
| 托管云之家 CLI | `tools/yunzhijia/` |
|
|
116
|
+
|
|
117
|
+
迁移工具提供预检、备份、关联检查、合并或替换。**现有业务导出不会包含独立的 `development/`,备份研发记录时须一并保存该目录。** 模型凭据、厂商登录状态和原生 Harness 会话另行管理。
|
|
118
|
+
|
|
119
|
+
连接器需要对应账号授权;AI 请求使用宿主配置的模型;主动发送、开启忙碌告知、研发执行和回写均应按页面要求操作。源码和 npm 包不包含本机截图、原始观测日志或账号数据,相关验收材料保存在本地忽略目录中。
|
|
120
|
+
|
|
121
|
+
## 开发与验证
|
|
122
|
+
|
|
123
|
+
源码采用 TypeScript 和 React/TSX:`src/host.ts` 为 Host 入口,`src/client.ts` 为 Client 入口,`src/shared/` 维护共享契约,`src/cli/harness-linky.ts` 为 CLI 入口。构建生成 `index.js`、`client.js` 和 `bin/harness-linky.mjs`;不要直接编辑生成文件。模块职责见[源码导航](src/README.md)。
|
|
124
|
+
|
|
125
|
+
```sh
|
|
126
|
+
pnpm install --frozen-lockfile
|
|
127
|
+
pnpm --dir plugin-tests install --frozen-lockfile
|
|
128
|
+
pnpm build
|
|
129
|
+
pnpm check
|
|
130
|
+
pnpm test
|
|
131
|
+
pnpm test:layout
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
`pnpm check` 包含严格类型、架构、产物一致性与语法检查;`pnpm test` 运行 Host 场景及客户端交互回归;布局测试使用隔离浏览器与合成数据。可选宿主集成测试见[rc.5 集成说明](host-integration/rc5/README.md),需要单独准备对应宿主源码或运行环境。
|
|
135
|
+
|
|
136
|
+
本地源码安装:
|
|
137
|
+
|
|
138
|
+
```sh
|
|
139
|
+
dsh plugin --profile desktop add .
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
真实账号、厂商网页与多日运行的验证范围应以对应记录为准;单元测试、合成消息与协议夹具不等同于真实业务投递或执行。历史桌面验证见[桌面记录](docs/DESKTOP-VALIDATION-2026-10-28.md)和[稳定性记录](docs/RELIABILITY-VALIDATION-2026-10-28.md)。
|
|
143
|
+
|
|
144
|
+
## 文档索引
|
|
145
|
+
|
|
146
|
+
| 文档 | 内容 |
|
|
147
|
+
| --- | --- |
|
|
148
|
+
| [研发任务](docs/DEVELOPMENT-UX-2026-10-31.md) | Linky 工作项、工程、会话、测试和人工审查 |
|
|
149
|
+
| [多 AI 对话](docs/WEB-AI-CHAT-REDESIGN-2026-10-30.md) | 聊天布局、逐厂商状态、附件与补发规则 |
|
|
150
|
+
| [今日简报](docs/BRIEF-OVERVIEW-2026-10-30.md) | 待办与回复聚合、日程和资讯入口 |
|
|
151
|
+
| [提取状态](docs/EXTRACTION-STATUS-2026-10-30.md) | 连续处理、进度与失败重试 |
|
|
152
|
+
| [云之家连接](docs/YUNZHIJIA-SETUP-2026-10-30.md) | 安装、授权、重新检测与运行要求 |
|
|
153
|
+
| [架构与功能](docs/PROJECT-ARCHITECTURE-AND-FEATURES.md) | 模块及数据组织 |
|
|
154
|
+
| [实施与验证记录](docs/IMPLEMENTATION-STATUS-0.2.0.md) | 历史实现、技术证据及验证边界 |
|
|
155
|
+
| [待办与验收](docs/TODO-AI-AUTOMATION.md) | 当前验收、历史及后续观察事项 |
|
|
156
|
+
| [业务验收手册](docs/REAL-VALIDATION-RUNBOOK.md) | 隔离样本与复验步骤 |
|
|
157
|
+
|
|
158
|
+
## 开源许可
|
|
159
|
+
|
|
160
|
+
MIT。第三方组件说明见 [THIRD-PARTY-NOTICES.txt](THIRD-PARTY-NOTICES.txt)。
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
Bundled component: node-sql-parser 5.4.0 (MySQL and PostgreSQL grammars only)
|
|
2
|
+
Source: https://github.com/taozhi8833998/node-sql-parser
|
|
3
|
+
License: Apache-2.0
|
|
4
|
+
Modifications: bundled with esbuild; no grammar source changes.
|
|
5
|
+
|
|
6
|
+
Apache License
|
|
7
|
+
Version 2.0, January 2004
|
|
8
|
+
http://www.apache.org/licenses/
|
|
9
|
+
|
|
10
|
+
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
11
|
+
|
|
12
|
+
1. Definitions.
|
|
13
|
+
|
|
14
|
+
"License" shall mean the terms and conditions for use, reproduction,
|
|
15
|
+
and distribution as defined by Sections 1 through 9 of this document.
|
|
16
|
+
|
|
17
|
+
"Licensor" shall mean the copyright owner or entity authorized by
|
|
18
|
+
the copyright owner that is granting the License.
|
|
19
|
+
|
|
20
|
+
"Legal Entity" shall mean the union of the acting entity and all
|
|
21
|
+
other entities that control, are controlled by, or are under common
|
|
22
|
+
control with that entity. For the purposes of this definition,
|
|
23
|
+
"control" means (i) the power, direct or indirect, to cause the
|
|
24
|
+
direction or management of such entity, whether by contract or
|
|
25
|
+
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
26
|
+
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
27
|
+
|
|
28
|
+
"You" (or "Your") shall mean an individual or Legal Entity
|
|
29
|
+
exercising permissions granted by this License.
|
|
30
|
+
|
|
31
|
+
"Source" form shall mean the preferred form for making modifications,
|
|
32
|
+
including but not limited to software source code, documentation
|
|
33
|
+
source, and configuration files.
|
|
34
|
+
|
|
35
|
+
"Object" form shall mean any form resulting from mechanical
|
|
36
|
+
transformation or translation of a Source form, including but
|
|
37
|
+
not limited to compiled object code, generated documentation,
|
|
38
|
+
and conversions to other media types.
|
|
39
|
+
|
|
40
|
+
"Work" shall mean the work of authorship, whether in Source or
|
|
41
|
+
Object form, made available under the License, as indicated by a
|
|
42
|
+
copyright notice that is included in or attached to the work
|
|
43
|
+
(an example is provided in the Appendix below).
|
|
44
|
+
|
|
45
|
+
"Derivative Works" shall mean any work, whether in Source or Object
|
|
46
|
+
form, that is based on (or derived from) the Work and for which the
|
|
47
|
+
editorial revisions, annotations, elaborations, or other modifications
|
|
48
|
+
represent, as a whole, an original work of authorship. For the purposes
|
|
49
|
+
of this License, Derivative Works shall not include works that remain
|
|
50
|
+
separable from, or merely link (or bind by name) to the interfaces of,
|
|
51
|
+
the Work and Derivative Works thereof.
|
|
52
|
+
|
|
53
|
+
"Contribution" shall mean any work of authorship, including
|
|
54
|
+
the original version of the Work and any modifications or additions
|
|
55
|
+
to that Work or Derivative Works thereof, that is intentionally
|
|
56
|
+
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
57
|
+
or by an individual or Legal Entity authorized to submit on behalf of
|
|
58
|
+
the copyright owner. For the purposes of this definition, "submitted"
|
|
59
|
+
means any form of electronic, verbal, or written communication sent
|
|
60
|
+
to the Licensor or its representatives, including but not limited to
|
|
61
|
+
communication on electronic mailing lists, source code control systems,
|
|
62
|
+
and issue tracking systems that are managed by, or on behalf of, the
|
|
63
|
+
Licensor for the purpose of discussing and improving the Work, but
|
|
64
|
+
excluding communication that is conspicuously marked or otherwise
|
|
65
|
+
designated in writing by the copyright owner as "Not a Contribution."
|
|
66
|
+
|
|
67
|
+
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
68
|
+
on behalf of whom a Contribution has been received by Licensor and
|
|
69
|
+
subsequently incorporated within the Work.
|
|
70
|
+
|
|
71
|
+
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
72
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
73
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
74
|
+
copyright license to reproduce, prepare Derivative Works of,
|
|
75
|
+
publicly display, publicly perform, sublicense, and distribute the
|
|
76
|
+
Work and such Derivative Works in Source or Object form.
|
|
77
|
+
|
|
78
|
+
3. Grant of Patent License. Subject to the terms and conditions of
|
|
79
|
+
this License, each Contributor hereby grants to You a perpetual,
|
|
80
|
+
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
81
|
+
(except as stated in this section) patent license to make, have made,
|
|
82
|
+
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
83
|
+
where such license applies only to those patent claims licensable
|
|
84
|
+
by such Contributor that are necessarily infringed by their
|
|
85
|
+
Contribution(s) alone or by combination of their Contribution(s)
|
|
86
|
+
with the Work to which such Contribution(s) was submitted. If You
|
|
87
|
+
institute patent litigation against any entity (including a
|
|
88
|
+
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
89
|
+
or a Contribution incorporated within the Work constitutes direct
|
|
90
|
+
or contributory patent infringement, then any patent licenses
|
|
91
|
+
granted to You under this License for that Work shall terminate
|
|
92
|
+
as of the date such litigation is filed.
|
|
93
|
+
|
|
94
|
+
4. Redistribution. You may reproduce and distribute copies of the
|
|
95
|
+
Work or Derivative Works thereof in any medium, with or without
|
|
96
|
+
modifications, and in Source or Object form, provided that You
|
|
97
|
+
meet the following conditions:
|
|
98
|
+
|
|
99
|
+
(a) You must give any other recipients of the Work or
|
|
100
|
+
Derivative Works a copy of this License; and
|
|
101
|
+
|
|
102
|
+
(b) You must cause any modified files to carry prominent notices
|
|
103
|
+
stating that You changed the files; and
|
|
104
|
+
|
|
105
|
+
(c) You must retain, in the Source form of any Derivative Works
|
|
106
|
+
that You distribute, all copyright, patent, trademark, and
|
|
107
|
+
attribution notices from the Source form of the Work,
|
|
108
|
+
excluding those notices that do not pertain to any part of
|
|
109
|
+
the Derivative Works; and
|
|
110
|
+
|
|
111
|
+
(d) If the Work includes a "NOTICE" text file as part of its
|
|
112
|
+
distribution, then any Derivative Works that You distribute must
|
|
113
|
+
include a readable copy of the attribution notices contained
|
|
114
|
+
within such NOTICE file, excluding those notices that do not
|
|
115
|
+
pertain to any part of the Derivative Works, in at least one
|
|
116
|
+
of the following places: within a NOTICE text file distributed
|
|
117
|
+
as part of the Derivative Works; within the Source form or
|
|
118
|
+
documentation, if provided along with the Derivative Works; or,
|
|
119
|
+
within a display generated by the Derivative Works, if and
|
|
120
|
+
wherever such third-party notices normally appear. The contents
|
|
121
|
+
of the NOTICE file are for informational purposes only and
|
|
122
|
+
do not modify the License. You may add Your own attribution
|
|
123
|
+
notices within Derivative Works that You distribute, alongside
|
|
124
|
+
or as an addendum to the NOTICE text from the Work, provided
|
|
125
|
+
that such additional attribution notices cannot be construed
|
|
126
|
+
as modifying the License.
|
|
127
|
+
|
|
128
|
+
You may add Your own copyright statement to Your modifications and
|
|
129
|
+
may provide additional or different license terms and conditions
|
|
130
|
+
for use, reproduction, or distribution of Your modifications, or
|
|
131
|
+
for any such Derivative Works as a whole, provided Your use,
|
|
132
|
+
reproduction, and distribution of the Work otherwise complies with
|
|
133
|
+
the conditions stated in this License.
|
|
134
|
+
|
|
135
|
+
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
136
|
+
any Contribution intentionally submitted for inclusion in the Work
|
|
137
|
+
by You to the Licensor shall be under the terms and conditions of
|
|
138
|
+
this License, without any additional terms or conditions.
|
|
139
|
+
Notwithstanding the above, nothing herein shall supersede or modify
|
|
140
|
+
the terms of any separate license agreement you may have executed
|
|
141
|
+
with Licensor regarding such Contributions.
|
|
142
|
+
|
|
143
|
+
6. Trademarks. This License does not grant permission to use the trade
|
|
144
|
+
names, trademarks, service marks, or product names of the Licensor,
|
|
145
|
+
except as required for reasonable and customary use in describing the
|
|
146
|
+
origin of the Work and reproducing the content of the NOTICE file.
|
|
147
|
+
|
|
148
|
+
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
149
|
+
agreed to in writing, Licensor provides the Work (and each
|
|
150
|
+
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
151
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
152
|
+
implied, including, without limitation, any warranties or conditions
|
|
153
|
+
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
154
|
+
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
155
|
+
appropriateness of using or redistributing the Work and assume any
|
|
156
|
+
risks associated with Your exercise of permissions under this License.
|
|
157
|
+
|
|
158
|
+
8. Limitation of Liability. In no event and under no legal theory,
|
|
159
|
+
whether in tort (including negligence), contract, or otherwise,
|
|
160
|
+
unless required by applicable law (such as deliberate and grossly
|
|
161
|
+
negligent acts) or agreed to in writing, shall any Contributor be
|
|
162
|
+
liable to You for damages, including any direct, indirect, special,
|
|
163
|
+
incidental, or consequential damages of any character arising as a
|
|
164
|
+
result of this License or out of the use or inability to use the
|
|
165
|
+
Work (including but not limited to damages for loss of goodwill,
|
|
166
|
+
work stoppage, computer failure or malfunction, or any and all
|
|
167
|
+
other commercial damages or losses), even if such Contributor
|
|
168
|
+
has been advised of the possibility of such damages.
|
|
169
|
+
|
|
170
|
+
9. Accepting Warranty or Additional Liability. While redistributing
|
|
171
|
+
the Work or Derivative Works thereof, You may choose to offer,
|
|
172
|
+
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
173
|
+
or other liability obligations and/or rights consistent with this
|
|
174
|
+
License. However, in accepting such obligations, You may act only
|
|
175
|
+
on Your own behalf and on Your sole responsibility, not on behalf
|
|
176
|
+
of any other Contributor, and only if You agree to indemnify,
|
|
177
|
+
defend, and hold each Contributor harmless for any liability
|
|
178
|
+
incurred by, or claims asserted against, such Contributor by reason
|
|
179
|
+
of your accepting any such warranty or additional liability.
|
|
180
|
+
|
|
181
|
+
END OF TERMS AND CONDITIONS
|
|
182
|
+
|
|
183
|
+
APPENDIX: How to apply the Apache License to your work.
|
|
184
|
+
|
|
185
|
+
To apply the Apache License to your work, attach the following
|
|
186
|
+
boilerplate notice, with the fields enclosed by brackets "{}"
|
|
187
|
+
replaced with your own identifying information. (Don't include
|
|
188
|
+
the brackets!) The text should be enclosed in the appropriate
|
|
189
|
+
comment syntax for the file format. We also recommend that a
|
|
190
|
+
file or class name and description of purpose be included on the
|
|
191
|
+
same "printed page" as the copyright notice for easier
|
|
192
|
+
identification within third-party archives.
|
|
193
|
+
|
|
194
|
+
Copyright {yyyy} {name of copyright owner}
|
|
195
|
+
|
|
196
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
197
|
+
you may not use this file except in compliance with the License.
|
|
198
|
+
You may obtain a copy of the License at
|
|
199
|
+
|
|
200
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
201
|
+
|
|
202
|
+
Unless required by applicable law or agreed to in writing, software
|
|
203
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
204
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
205
|
+
See the License for the specific language governing permissions and
|
|
206
|
+
limitations under the License.
|
|
207
|
+
|
|
208
|
+
Bundled dependency: big-integer
|
|
209
|
+
This is free and unencumbered software released into the public domain.
|
|
210
|
+
|
|
211
|
+
Anyone is free to copy, modify, publish, use, compile, sell, or
|
|
212
|
+
distribute this software, either in source code form or as a compiled
|
|
213
|
+
binary, for any purpose, commercial or non-commercial, and by any
|
|
214
|
+
means.
|
|
215
|
+
|
|
216
|
+
In jurisdictions that recognize copyright laws, the author or authors
|
|
217
|
+
of this software dedicate any and all copyright interest in the
|
|
218
|
+
software to the public domain. We make this dedication for the benefit
|
|
219
|
+
of the public at large and to the detriment of our heirs and
|
|
220
|
+
successors. We intend this dedication to be an overt act of
|
|
221
|
+
relinquishment in perpetuity of all present and future rights to this
|
|
222
|
+
software under copyright law.
|
|
223
|
+
|
|
224
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
225
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
226
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
227
|
+
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
|
228
|
+
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
229
|
+
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
230
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
|
231
|
+
|
|
232
|
+
For more information, please refer to <http://unlicense.org>
|