Merge remote-tracking branch 'origin/master' into worktree/web-background-tasks-display-258f7e

This commit is contained in:
Yichen Jiang
2026-08-10 13:22:51 +08:00
2523 changed files with 54827 additions and 12696 deletions

View File

@@ -2,5 +2,5 @@
# side as of the last confirmed-consistent state. Both languages carry equal authority;
# after editing either side, bring the other along and re-record with:
# pnpm run verify-translation-pairing --write packages/tasks/tasks/README.md
README.md: 739c3dabda73594991bfdcff11dbdebd7b51a2a5
README.zh.md: 81db57fb81a2c3829afdabd8b965db5e4cebfe8e
README.md: 8ad124531daf74f1d44ff46aaaad9b9b860b07c8
README.zh.md: c1452d4610c65fa66c5ba2f2939b8c501e92bd7a

View File

@@ -2,7 +2,7 @@
English | [中文](README.zh.md)
The background task registry seam (`ctx.tasks`). The abstract `TaskService` and its vocabulary types give long-running producers shared ids, owner isolation, reads, cancellation, waiting, notices, and cleanup under one contract; the process-local registry lives in [`dsh-tasks-local`](../tasks-local/README.md). Producer plugins extend `TaskKindMap` with their opaque id namespace.
The background task registry contract (`ctx.tasks`). The abstract `TaskService` and its vocabulary types give long-running producers shared ids, owner isolation, reads, cancellation, waiting, notices, and cleanup under one contract; the process-local registry lives in [`dsh-tasks-local`](../tasks-local/README.md). Producer plugins extend `TaskKindMap` with their opaque id namespace.
## Service contract

View File

@@ -2,7 +2,7 @@
[English](README.md) | 中文
后台任务注册表 seam(`ctx.tasks`)。抽象的 `TaskService` 及其词汇类型在同一份约定下为长时间运行的生产方提供共享 id、owner 隔离、读取、取消、等待、通知和清理;进程局部注册表位于 [`dsh-tasks-local`](../tasks-local/README.md)。生产方插件使用其不透明 id namespace 扩展 `TaskKindMap`。
后台任务注册表约定(`ctx.tasks`)。抽象的 `TaskService` 及其词汇类型在同一份约定下为长时间运行的生产方提供共享 id、owner 隔离、读取、取消、等待、通知和清理;进程局部注册表位于 [`dsh-tasks-local`](../tasks-local/README.md)。生产方插件使用其不透明 id namespace 扩展 `TaskKindMap`。
## 服务约定

View File

@@ -1,5 +1,5 @@
/**
* The background task registry seam (`ctx.tasks`). It owns the contract for
* The background-task Service Definition (`ctx.tasks`). It owns the contract for
* task ids, session-scoped access, lifecycle state, completion listeners, and
* owner cleanup while producers retain their execution resources. The
* process-local registry lives in `@deepseek-ai/dsh-tasks-local`.
@@ -52,10 +52,9 @@ declare module 'cordis' {
*/
export abstract class TaskService extends Service {
constructor(ctx: Context) {
// `abstract` erases at runtime, and this package name used to be the
// mountable concrete registry — a stale composition row would otherwise
// register a ctx.tasks with no method implementations and fail far from
// the misconfiguration. Fail loud at load instead.
// `abstract` erases at runtime, so a composition row naming this package
// would register a ctx.tasks with no method implementations and fail far
// from the misconfiguration. Fail loud at load instead.
if (new.target === TaskService) {
throw new Error('@deepseek-ai/dsh-tasks is the abstract task registry seam; load an implementation such as @deepseek-ai/dsh-tasks-local instead')
}

View File

@@ -7,7 +7,7 @@ import type {
} from '@deepseek-ai/dsh-tasks'
/**
* Minimal concrete registry: one canned record. The seam owns the contract
* Minimal concrete registry: one canned record. The Service Definition owns the contract
* only (ids, snapshots, authorization-shaped signatures); the registry
* behavior suite lives with `@deepseek-ai/dsh-tasks-local`.
*/