瀏覽代碼

test: complete projection fixtures and configuration catalog

creatixchu 1 周之前
父節點
當前提交
1d4d22c1ff

+ 2 - 2
docs/config-catalog.i18n.yaml

@@ -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 docs/config-catalog.md
-config-catalog.md: ac456fd50f29d7efc2c30aea9420083a76911c61
-config-catalog.zh.md: 9e49687d376d16d481d4417f37704c7a8512250e
+config-catalog.md: a9dfb42b9eb5d6b779c10a92ef96e51c078dd449
+config-catalog.zh.md: 4d5547f22d95b50e9d4a30988192ff0eeb58032d

+ 1 - 1
docs/config-catalog.md

@@ -3500,7 +3500,7 @@ These load from a `cordis.yml` entry with no `config:` block; they declare no co
 - `@deepseek-ai/dsh-command-feedback` — requires `commands` ([`packages/feedback/command-feedback/src/index.ts`](../packages/feedback/command-feedback/src/index.ts))
 - `@deepseek-ai/dsh-command-goal` — requires `commands` · `goals` ([`packages/goal/command-goal/src/index.ts`](../packages/goal/command-goal/src/index.ts))
 - `@deepseek-ai/dsh-commands` ([`packages/interaction/commands/src/index.ts`](../packages/interaction/commands/src/index.ts))
-- `@deepseek-ai/dsh-compaction-image-offload` — requires `agents` ([`packages/compaction/compaction-image-offload/src/index.ts`](../packages/compaction/compaction-image-offload/src/index.ts))
+- `@deepseek-ai/dsh-compaction-image-offload` — requires `agents` · `sessions` ([`packages/compaction/compaction-image-offload/src/index.ts`](../packages/compaction/compaction-image-offload/src/index.ts))
 - `@deepseek-ai/dsh-cordis-client-runner` ([`packages/extensions/cordis-client-runner/src/index.ts`](../packages/extensions/cordis-client-runner/src/index.ts))
 - `@deepseek-ai/dsh-deepseek-llm-api-extensions` ([`packages/llm/deepseek-llm-api-extensions/src/index.ts`](../packages/llm/deepseek-llm-api-extensions/src/index.ts))
 - `@deepseek-ai/dsh-experimental-client-ui-agent-team` ([`packages/experimental/client-ui-agent-team/src/index.ts`](../packages/experimental/client-ui-agent-team/src/index.ts))

+ 1 - 1
docs/config-catalog.zh.md

@@ -3502,7 +3502,7 @@ export interface Config {
 - `@deepseek-ai/dsh-command-feedback` — 需要 `commands`([`packages/feedback/command-feedback/src/index.ts`](../packages/feedback/command-feedback/src/index.ts))
 - `@deepseek-ai/dsh-command-goal` — 需要 `commands` · `goals`([`packages/goal/command-goal/src/index.ts`](../packages/goal/command-goal/src/index.ts))
 - `@deepseek-ai/dsh-commands`([`packages/interaction/commands/src/index.ts`](../packages/interaction/commands/src/index.ts))
-- `@deepseek-ai/dsh-compaction-image-offload`,需要 `agents`([`packages/compaction/compaction-image-offload/src/index.ts`](../packages/compaction/compaction-image-offload/src/index.ts))
+- `@deepseek-ai/dsh-compaction-image-offload`,需要 `agents` 和 `sessions`([`packages/compaction/compaction-image-offload/src/index.ts`](../packages/compaction/compaction-image-offload/src/index.ts))
 - `@deepseek-ai/dsh-cordis-client-runner`([`packages/extensions/cordis-client-runner/src/index.ts`](../packages/extensions/cordis-client-runner/src/index.ts))
 - `@deepseek-ai/dsh-deepseek-llm-api-extensions`([`packages/llm/deepseek-llm-api-extensions/src/index.ts`](../packages/llm/deepseek-llm-api-extensions/src/index.ts))
 - `@deepseek-ai/dsh-experimental-client-ui-agent-team`([`packages/experimental/client-ui-agent-team/src/index.ts`](../packages/experimental/client-ui-agent-team/src/index.ts))

+ 5 - 2
packages/core/session/tests/message-projections.spec.ts

@@ -63,7 +63,10 @@ describe('plugin-owned message projections', () => {
     const ctx = new Context()
     contexts.push(ctx)
     await ctx.plugin(SessionStore)
-    const fiber = await ctx.plugin((owner) => { owner.sessions.registerMessageProjection(projection) })
+    const fiber = await ctx.plugin({
+      inject: ['sessions'],
+      apply(owner: Context) { owner.sessions.registerMessageProjection(projection) },
+    })
     expect(() => ctx.sessions.registerMessageProjection(projection)).toThrow(/already registered/)
     const live = ctx.sessions.create(SessionId('live'))
     const source = input(live)
@@ -75,7 +78,7 @@ describe('plugin-owned message projections', () => {
     const child = ctx.sessions.fork(live)
     expect(child.deriveMessages()).toEqual(before)
     const restored = ctx.sessions.prepare(SessionId('restore'), {
-      seed: live.snapshotEvents(), meta: { ...live.header, id: SessionId('restore') },
+      seed: [...live.snapshotEvents()], meta: { ...live.header, id: SessionId('restore') },
       inheritedEventCount: live.inheritedEventCount, eventState: 'shared-frozen',
     })
     expect(restored.deriveMessages()).toEqual(before)

+ 1 - 1
packages/session/session-format-catalog/tests/catalog.spec.ts

@@ -22,7 +22,7 @@ describe('first-party Session format catalog', () => {
     const session = Session.create(SessionId('projection-catalog'))
     session.append('user/message', createUserMessage({ content: [{ type: 'text', text: 'no image' }], source: { kind: 'user' } }), { surfaceOp: 'append' })
     const artifact = {
-      header: session.header, inheritedEventCount: 0,
+      header: { ...session.header, delegationDepth: 0 }, inheritedEventCount: 0,
       events: [...session.snapshotEvents(), { type: 'image/offload', seq: 1, time: 0, data: { targets: [{ seq: 0, imageIndexes: [0] }] } }],
     }
     expect(() => validateInstalledCurrentSessionArtifact(artifact)).toThrow(/image index 0 does not exist/)