refactor: apply repository naming contract

Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
This commit is contained in:
Tianyi Cui
2026-08-13 00:36:22 +08:00
parent 101df7cf58
commit a2d0f7f411
3281 changed files with 21730 additions and 21592 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/feedback/message-feedback/README.md
README.md: 54c6b92fbb68027a4aedb198948785183661a724
README.zh.md: 376d161559fb93f855eb2a5341901d53b5e99f18
README.md: b85104abb983eb3b33ab6ddad9328e6f5f3b1fc9
README.zh.md: 52efef5119854f4a5c3c776a227032b59b680fc5

View File

@@ -37,7 +37,7 @@ Message feedback is not Session-log content or a Session projection. It emits no
## Service and Host Remote contract
The same three `MessageFeedbackService` methods are published by `GatewayService` and `@Remote`; the Host endpoint names are `messageFeedback.list`, `messageFeedback.put`, and `messageFeedback.delete`. Every method returns a discriminated business union: `{ ok: true, value }` or `{ ok: false, error }`. Operational storage, corruption, or missing-durability-listener failures reject instead of being mislabeled as business errors.
The same three `MessageFeedbackService` methods are published by `TypertRemoteService` and `@Remote`; the Host endpoint names are `messageFeedback.list`, `messageFeedback.put`, and `messageFeedback.delete`. Every method returns a discriminated business union: `{ ok: true, value }` or `{ ok: false, error }`. Operational storage, corruption, or missing-durability-listener failures reject instead of being mislabeled as business errors.
| Method | Request | Success `value` | Rejected `error.code` |
|---|---|---|---|

View File

@@ -37,7 +37,7 @@ message feedback 不是 Session 日志内容或 Session 投影。它不发出 `f
## 服务与 Host Remote 契约
`GatewayService``@Remote``MessageFeedbackService` 的同三个方法发布出去Host endpoint 名称为 `messageFeedback.list``messageFeedback.put``messageFeedback.delete`。每个方法都返回判别式业务 union`{ ok: true, value }``{ ok: false, error }`。存储、损坏或缺少 durability listener 等操作故障会产生 reject不会被误标为业务错误。
`TypertRemoteService``@Remote``MessageFeedbackService` 的同三个方法发布出去Host endpoint 名称为 `messageFeedback.list``messageFeedback.put``messageFeedback.delete`。每个方法都返回判别式业务 union`{ ok: true, value }``{ ok: false, error }`。存储、损坏或缺少 durability listener 等操作故障会产生 reject不会被误标为业务错误。
| 方法 | 请求 | 成功 `value` | 拒绝的 `error.code` |
|---|---|---|---|

View File

@@ -55,7 +55,7 @@
"@deepseek-ai/dsh-session": "workspace:^",
"@deepseek-ai/dsh-session-persistence": "workspace:^",
"@deepseek-ai/dsh-storage-domain": "workspace:^",
"@deepseek-ai/dsh-type-meta": "workspace:^",
"@deepseek-ai/dsh-typert-protocol": "workspace:^",
"@deepseek-ai/cordis": "workspace:^"
},
"dependencies": {
@@ -74,7 +74,7 @@
"@deepseek-ai/dsh-storage": "workspace:^",
"@deepseek-ai/dsh-storage-domain": "workspace:^",
"@deepseek-ai/dsh-storage-json": "workspace:^",
"@deepseek-ai/dsh-type-meta": "workspace:^",
"@deepseek-ai/dsh-typert-protocol": "workspace:^",
"@deepseek-ai/cordis": "workspace:^"
}
}

View File

@@ -11,7 +11,7 @@ import { deriveEventMessage, isAppendSurfaceEvent } from '@deepseek-ai/dsh-sessi
import type { SessionHeader, SessionId } from '@deepseek-ai/dsh-session/types'
import type { SessionInspection } from '@deepseek-ai/dsh-session-persistence'
import type { KvTable } from '@deepseek-ai/dsh-storage-domain'
import { GatewayService, Remote } from '@deepseek-ai/dsh-type-meta'
import { TypertRemoteService, Remote } from '@deepseek-ai/dsh-typert-protocol'
import { messageFeedbackDomainSpec } from './spec.ts'
import type { MessageFeedbackRow, MessageFeedbackSessionIdentity } from './spec.ts'
import type {
@@ -147,7 +147,7 @@ type ResolvedNote =
* Storage-domain sidecar service. It inspects persisted Session history and
* never creates or resumes an Agent or Session.
*/
export class MessageFeedbackService extends GatewayService {
export class MessageFeedbackService extends TypertRemoteService {
static inject = ['storageDomain', 'sessionPersistence', 'sessions']
/** Loader validation for the required note-size policy. */

View File

@@ -1,5 +1,5 @@
import { describe, expect, it } from 'vitest'
import InvariantService from '@deepseek-ai/dsh-invariants'
import InvariantRegistry from '@deepseek-ai/dsh-invariants'
import * as MessageFeedbackInvariant from '../src/invariant.ts'
import { setupHarness } from './helpers.ts'
@@ -7,7 +7,7 @@ describe('message-feedback invariant companion', () => {
it('removes its registry contribution when its fiber is disposed (HMR safety)', async () => {
const harness = await setupHarness()
try {
await harness.ctx.plugin(InvariantService)
await harness.ctx.plugin(InvariantRegistry)
const fiber = await harness.ctx.plugin(MessageFeedbackInvariant)
expect(() => {

View File

@@ -7,11 +7,11 @@ import { Context } from '@deepseek-ai/cordis'
import Include from '@deepseek-ai/cordis-plugin-include'
import Loader from '@deepseek-ai/cordis-plugin-loader'
import SessionStore, { SessionId } from '@deepseek-ai/dsh-session'
import SessionPersistenceJsonl from '@deepseek-ai/dsh-session-persistence-jsonl'
import JsonlSessionPersistence from '@deepseek-ai/dsh-session-persistence-jsonl'
import Storage from '@deepseek-ai/dsh-storage'
import * as StorageDomain from '@deepseek-ai/dsh-storage-domain'
import * as StorageJson from '@deepseek-ai/dsh-storage-json'
import { remoteMethods } from '@deepseek-ai/dsh-type-meta'
import { remoteMethods } from '@deepseek-ai/dsh-typert-protocol'
import MessageFeedbackService from '../src/index.ts'
import { appendMessageFixture } from './helpers.ts'
@@ -31,7 +31,7 @@ async function loadComposition(configPath: string): Promise<Context> {
ctx.loader.builtins.include = Include
const modules = new Map<string, unknown>([
['@deepseek-ai/dsh-session', SessionStore],
['@deepseek-ai/dsh-session-persistence-jsonl', SessionPersistenceJsonl],
['@deepseek-ai/dsh-session-persistence-jsonl', JsonlSessionPersistence],
['@deepseek-ai/dsh-storage', Storage],
['@deepseek-ai/dsh-storage-json', StorageJson],
['@deepseek-ai/dsh-storage-domain', StorageDomain],
@@ -81,7 +81,7 @@ describe('message feedback through a real Loader composition', () => {
].join('\n'))
const first = await loadComposition(configPath)
expect(first.messageFeedback.typertGateway.namespace).toBe('messageFeedback')
expect(first.messageFeedback.typertRemote.namespace).toBe('messageFeedback')
expect(remoteMethods(first.messageFeedback).map(marker => marker.method))
.toEqual(['list', 'put', 'delete'])

View File

@@ -3,7 +3,7 @@ import { afterEach, describe, expect, it, vi } from 'vitest'
import { Context } from '@deepseek-ai/cordis'
import type { MessageId } from '@deepseek-ai/dsh-llm/brand'
import { Session, SessionId } from '@deepseek-ai/dsh-session'
import { remoteMethods } from '@deepseek-ai/dsh-type-meta'
import { remoteMethods } from '@deepseek-ai/dsh-typert-protocol'
import MessageFeedbackService, { messageFeedbackRowSchema } from '../src/index.ts'
import type {
MessageFeedbackItem,
@@ -43,7 +43,7 @@ function expectItem(
describe('MessageFeedbackService public contract', () => {
it('publishes the exact Gateway namespace and Remote method names', async () => {
const { ctx } = await harness()
const binding = ctx.messageFeedback.typertGateway
const binding = ctx.messageFeedback.typertRemote
expect(binding.serviceKey).toBe('messageFeedback')
expect(binding.namespace).toBe('messageFeedback')
expect(remoteMethods(ctx.messageFeedback)).toEqual([

View File

@@ -36,10 +36,10 @@
"path": "../../storage/storage-domain"
},
{
"path": "../../typert/type-meta"
"path": "../../typert/protocol"
},
{
"path": "../../support/invariants"
"path": "../../runtime-diagnostics/invariants"
}
]
}