Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/validate-pinned-dsh-source.yml
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,8 @@ jobs:
if ($LASTEXITCODE) { throw 'Distribution config patch checks failed' }
node --test core/dsh-plugins/tool-browser/test/*.test.mjs
if ($LASTEXITCODE) { throw 'Managed browser lifecycle and search configuration checks failed' }
node --test core/dsh-plugins/calendar/test/*.test.mjs
if ($LASTEXITCODE) { throw 'Calendar record and local storage checks failed' }
node --test core/scripts/test/session-search-runtime.test.mjs
if ($LASTEXITCODE) { throw 'Session search live persistence regression checks failed' }
node --test core/dsh-host/test/native-020.test.mjs core/dsh-electron/tests/update-channel-migration.test.mjs core/dsh-electron/tests/alpha-update-migration.test.mjs
Expand Down
4 changes: 4 additions & 0 deletions config/assembly.eduwork.json
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,10 @@
{
"source": "dsh-plugins/media-openai",
"package": "dsh-media-openai"
},
{
"source": "dsh-plugins/calendar",
"package": "dsh-calendar"
}
],
"skills": [
Expand Down
14 changes: 14 additions & 0 deletions config/distributions/generic.json
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,12 @@
"source": "dsh-plugins/activity-insights-native",
"id": "eduwork-activity-insights-native",
"name": "@chatecnu-work/dsh-activity-insights-native"
},
{
"root": "core",
"source": "dsh-plugins/calendar",
"id": "eduwork-calendar",
"name": "@eduwork/dsh-calendar"
}
],
"skills": [
Expand Down Expand Up @@ -229,6 +235,14 @@
}
]
},
{
"insert": [
{
"id": "eduwork-calendar-tools",
"name": "@eduwork/dsh-calendar/tools"
}
]
},
{
"id": "ui-brand-official",
"disabled": true
Expand Down
4 changes: 3 additions & 1 deletion docs/images/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@

| 文件 | 展示内容 |
| --- | --- |
| `readme-hero.svg` · `readme-hero-en.svg` | 保留的早期品牌插画;当前首页使用 `assets/eduwork/icon-red.svg` 与下列五张实机截图。 |
| `readme-hero.svg` · `readme-hero-en.svg` | 保留的早期品牌插画;当前首页使用 `assets/eduwork/icon-red.svg` 与 `workspace`、`studio`、`quiz`、`skills`、`litellm-models` 五张实机截图。 |
| `workspace.png` | 公版工作区:调研对话与生成的 HTML 网页预览。 |
| `studio.png` | 公版 Studio:成果类型入口与最近生成的测验。 |
| `quiz.png` | 测验答题、解析与来源依据。 |
| `skills.png` | 技能中心。 |
| `litellm-models.png` | LiteLLM 登录后选择获授权的模型;红框标出 LiteLLM 分组。 |
| `calendar-week.png` | 公版日历:周视图的日程块与重叠分列,以及画在日期表头里的全天记录。 |
| `calendar-agent.png` | 模型调用日历工具后,写入停在待确认状态。 |

截图使用公版红色主题与演示资料,展示功能与操作入口;图中生成内容不作为事实参考。中英文文档共用图片;更新时同步替代文本,并避免包含个人或机构私有数据。
4 changes: 3 additions & 1 deletion docs/images/README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,13 @@

| File | Content |
| --- | --- |
| `readme-hero.svg` · `readme-hero-en.svg` | Earlier brand illustrations retained as assets; the current homepage uses `assets/eduwork/icon-red.svg` and the five application screenshots below. |
| `readme-hero.svg` · `readme-hero-en.svg` | Earlier brand illustrations retained as assets; the current homepage uses `assets/eduwork/icon-red.svg` and the `workspace`, `studio`, `quiz`, `skills` and `litellm-models` screenshots. |
| `workspace.png` | Public-edition workspace: research conversation and a generated HTML page preview |
| `studio.png` | Public-edition Studio: output types and a recently generated quiz |
| `quiz.png` | Quiz answers, explanations, and source evidence |
| `skills.png` | Skill management |
| `litellm-models.png` | Selecting an authorized model after LiteLLM sign-in; the red box highlights the LiteLLM group |
| `calendar-week.png` | Public-edition calendar: entries in the week view, overlapped entries side by side, and whole-day records drawn in the day headers |
| `calendar-agent.png` | A calendar write left waiting for confirmation after the model calls a tool |

Screenshots show the public edition's red theme with demonstration material. They illustrate features and controls; generated content in them is not a factual reference. Chinese and English documents share the same images. Update alternative text with the images and exclude personal or institution-private information.
Binary file added docs/images/calendar-agent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/images/calendar-week.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
263 changes: 263 additions & 0 deletions docs/proposals/calendar/README.md

Large diffs are not rendered by default.

263 changes: 263 additions & 0 deletions docs/proposals/calendar/README_EN.md

Large diffs are not rendered by default.

109 changes: 109 additions & 0 deletions dsh-plugins/calendar/README.md

Large diffs are not rendered by default.

111 changes: 111 additions & 0 deletions dsh-plugins/calendar/README_EN.md

Large diffs are not rendered by default.

40 changes: 40 additions & 0 deletions dsh-plugins/calendar/build-client.ps1
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#Requires -Version 7.0
[CmdletBinding()]
param(
[Parameter(Mandatory)][string]$Upstream,
[Parameter(Mandatory)][string]$Output,
[Parameter(Mandatory)][string]$RuntimePackages
)
$ErrorActionPreference = 'Stop'
$upstreamRoot = (Resolve-Path -LiteralPath $Upstream).Path
$target = [IO.Path]::GetFullPath($Output)
$stage = Join-Path $upstreamRoot ('packages/extensions/eduwork-calendar-build-' + [guid]::NewGuid().ToString('N'))
$tsdown = Join-Path $upstreamRoot ('node_modules/.bin/' + $(if ($IsWindows) { 'tsdown.cmd' } else { 'tsdown' }))
$linkType = if ($IsWindows) { 'Junction' } else { 'SymbolicLink' }
if (-not $stage.StartsWith($upstreamRoot.TrimEnd('\','/') + [IO.Path]::DirectorySeparatorChar,[StringComparison]::OrdinalIgnoreCase)) { throw 'Build stage must stay in the selected toolchain' }
New-Item -ItemType Directory -Path $stage | Out-Null
try {
# The remote descriptors carry zod schemas, so the compiler needs the zod the
# selected runtime ships. Link it instead of copying, and only the link is
# removed below — the runtime stays untouched.
$dependencies = (Resolve-Path -LiteralPath $RuntimePackages).Path
if (-not (Test-Path -LiteralPath (Join-Path $dependencies 'zod/package.json'))) { throw 'The selected runtime must provide zod' }
New-Item -ItemType Directory -Path (Join-Path $stage 'node_modules') -Force | Out-Null
New-Item -ItemType $linkType -Path (Join-Path $stage 'node_modules/zod') -Target (Join-Path $dependencies 'zod') | Out-Null
foreach ($name in @('src','lib','package.json','tsdown.config.ts','tsconfig.json')) { Copy-Item -LiteralPath (Join-Path $PSScriptRoot $name) -Destination $stage -Recurse }
Push-Location $stage
try { & $tsdown --config tsdown.config.ts; if ($LASTEXITCODE -ne 0) { throw 'Calendar client build failed' } }
finally { Pop-Location }
New-Item -ItemType Directory -Path $target -Force | Out-Null
foreach ($file in Get-ChildItem -LiteralPath (Join-Path $stage 'lib') -File -Filter '*.js') {
$content = [IO.File]::ReadAllText($file.FullName) -replace '(?m)^//# sourceMappingURL=.*$', ''
# Rolldown region comments can contain resolved dependency paths outside
# the toolchain. Keep build-machine paths out of the shipped source.
$content = $content -replace '(?m)^[ \t]*//#(?:end)?region\b[^\r\n]*\r?\n', ''
$content = ($content -replace '(?m)[ \t]+(?=\r?$)', '').TrimEnd("`r", "`n") + "`n"
[IO.File]::WriteAllText((Join-Path $target $file.Name),$content,[Text.UTF8Encoding]::new($false))
}
} finally {
if (Test-Path -LiteralPath (Join-Path $stage 'node_modules/zod')) { Remove-Item -LiteralPath (Join-Path $stage 'node_modules/zod') -Force }
if (Test-Path -LiteralPath $stage) { Remove-Item -LiteralPath $stage -Recurse -Force }
}
Loading
Loading