Merge updated feedback base into telemetry stack
# Conflicts: # .agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.i18n.yaml # .agents/notes/implemented/feature/2026-07-23-session-telemetry-otel-revival.zh.md # .agents/notes/implemented/feature/2026-07-28-feedback-command.i18n.yaml # docs/config-catalog.md # docs/event-producer-consumer.md # docs/module-graph.md # examples/package.json # packages/feedback/command-feedback/README.i18n.yaml # packages/telemetry/README.i18n.yaml # packages/telemetry/README.md # packages/telemetry/README.zh.md # packages/telemetry/session-telemetry-otel/README.i18n.yaml # packages/telemetry/session-telemetry-otel/README.md # packages/telemetry/session-telemetry-otel/README.zh.md # packages/telemetry/session-telemetry-otel/package.json # packages/telemetry/session-telemetry-otel/src/index.ts # packages/telemetry/session-telemetry-otel/tests/otel.spec.ts # packages/telemetry/session-telemetry/README.i18n.yaml # packages/telemetry/session-telemetry/README.zh.md # pnpm-lock.yaml
This commit is contained in:
@@ -1,6 +1,9 @@
|
||||
- id: cli-mock-llm
|
||||
name: './cli-mock-llm.ts'
|
||||
|
||||
- id: repository-plugin-fixture
|
||||
name: './repository-plugin/load.mjs'
|
||||
|
||||
- id: base
|
||||
name: '@cordisjs/plugin-include'
|
||||
config:
|
||||
@@ -16,4 +19,8 @@
|
||||
model: cli-mock
|
||||
persistenceRoot: './.sessions'
|
||||
workspaceContext: false
|
||||
dshHome: './.dsh-home'
|
||||
skills:
|
||||
local:
|
||||
agentsHome: './.agents-home'
|
||||
persona: 'Keyless headless-agent smoke.'
|
||||
|
||||
17
examples/headless-agent/tests/fixtures/deepseek-defaults.cordis.yml
vendored
Normal file
17
examples/headless-agent/tests/fixtures/deepseek-defaults.cordis.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
- id: base
|
||||
name: '@cordisjs/plugin-include'
|
||||
config:
|
||||
path: ../../cordis.yml
|
||||
patches:
|
||||
- id: llm-deepseek
|
||||
config:
|
||||
apiKey: snapshot-key
|
||||
baseURL: !!js process.env.DSH_SNAPSHOT_BASE_URL
|
||||
thinking: disabled
|
||||
- id: cli-agent
|
||||
config:
|
||||
provider: deepseek-official
|
||||
model: deepseek-v4-flash
|
||||
persistenceRoot: './.sessions'
|
||||
workspaceContext: false
|
||||
persona: 'Keyless DeepSeek adapter defaults snapshot.'
|
||||
@@ -7,11 +7,13 @@ export const name = 'seed-goal'
|
||||
export const inject = ['goals']
|
||||
|
||||
export function apply(ctx: Context): void {
|
||||
ctx.on('agent/step', (agent) => {
|
||||
if (ctx.goals.get(agent) !== undefined) return
|
||||
ctx.goals.create(agent, {
|
||||
objective: 'Prove the composed goal survives in the session log',
|
||||
maxGoalRounds: 7,
|
||||
})
|
||||
ctx.on('agent/pre-step', (agent, _messages, _context, next) => {
|
||||
if (ctx.goals.get(agent) === undefined) {
|
||||
ctx.goals.create(agent, {
|
||||
objective: 'Prove the composed goal survives in the session log',
|
||||
maxGoalRounds: 7,
|
||||
})
|
||||
}
|
||||
return next()
|
||||
})
|
||||
}
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
---
|
||||
name: repository-fixture
|
||||
description: Repository fixture skill.
|
||||
---
|
||||
|
||||
Static instructions from a prepared repository plugin.
|
||||
9
examples/headless-agent/tests/fixtures/repository-plugin/dsh-plugin.mjs
vendored
Normal file
9
examples/headless-agent/tests/fixtures/repository-plugin/dsh-plugin.mjs
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
// Generated by dsh-plugin-prepare. Do not edit.
|
||||
const manifest = {"name":"headless-repository-fixture","skills":["dsh-plugin-assets/skills/0"]}
|
||||
export const name = "headless-repository-fixture"
|
||||
export const inject = ["loader","skills"]
|
||||
export async function apply(ctx) {
|
||||
const runtime = ctx.loader.builtins["dsh-repository-plugin"]
|
||||
if (runtime === undefined) throw new Error("missing Cordis builtin dsh-repository-plugin")
|
||||
await ctx.plugin(runtime, { baseUrl: import.meta.url, manifest })
|
||||
}
|
||||
13
examples/headless-agent/tests/fixtures/repository-plugin/load.mjs
vendored
Normal file
13
examples/headless-agent/tests/fixtures/repository-plugin/load.mjs
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Keyless fixture owner that mounts the runtime before its prepared wrapper.
|
||||
* Cordis starts sibling Loader entries concurrently, so row order is not a dependency edge.
|
||||
*/
|
||||
import * as RepositoryPlugin from '@deepseek-ai/dsh-repository-plugin'
|
||||
import * as PreparedPlugin from './dsh-plugin.mjs'
|
||||
|
||||
export const name = 'headless-repository-fixture-loader'
|
||||
|
||||
export async function apply(ctx) {
|
||||
await ctx.plugin(RepositoryPlugin)
|
||||
await ctx.plugin(PreparedPlugin)
|
||||
}
|
||||
@@ -49,5 +49,5 @@ export const inject = ['llm']
|
||||
* @param {import('cordis').Context} ctx - plugin context carrying the LLM service.
|
||||
*/
|
||||
export function apply(ctx) {
|
||||
ctx.llm.registerAdapter(['deepseek'], new RetrySnapshotAdapter())
|
||||
ctx.llm.registerAdapter(['deepseek-official'], new RetrySnapshotAdapter())
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ export const inject = ['agents', 'agentLoop', 'sessionPersistence']
|
||||
export async function apply(ctx: Context): Promise<void> {
|
||||
const handle = await ctx.agents.resume({
|
||||
resumeSessionId: 'semantic-checkpoint-unknown-outcome' as SessionId,
|
||||
agentOptions: { provider: 'deepseek', model: 'deepseek-v4-flash' },
|
||||
agentOptions: { provider: 'deepseek-official', model: 'deepseek-v4-flash' },
|
||||
})
|
||||
ctx.effect(() => () => handle.dispose(), 'semantic-checkpoint-agent.handle')
|
||||
}
|
||||
|
||||
6
examples/headless-agent/tests/fixtures/startup-activation-error/activation-error.mjs
vendored
Normal file
6
examples/headless-agent/tests/fixtures/startup-activation-error/activation-error.mjs
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
/** Fail activation with a deterministic stack so the user-visible startup diagnostic is snapshot-stable. */
|
||||
export function apply() {
|
||||
const failure = new Error('startup activation snapshot failure')
|
||||
failure.stack = 'Error: startup activation snapshot failure\n at activation-error-fixture'
|
||||
throw failure
|
||||
}
|
||||
2
examples/headless-agent/tests/fixtures/startup-activation-error/cordis.yml
vendored
Normal file
2
examples/headless-agent/tests/fixtures/startup-activation-error/cordis.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
- id: activation-error
|
||||
name: ./activation-error.mjs
|
||||
@@ -19,7 +19,7 @@ export const inject = ['agents', 'agentLoop', 'sessionPersistence']
|
||||
export async function apply(ctx: Context): Promise<void> {
|
||||
const handle = await ctx.agents.resume({
|
||||
resumeSessionId: 'subagent-inheritance-parent' as SessionId,
|
||||
agentOptions: { provider: 'deepseek', model: 'deepseek-v4-flash' },
|
||||
agentOptions: { provider: 'deepseek-official', model: 'deepseek-v4-flash' },
|
||||
})
|
||||
ctx.effect(() => () => handle.dispose(), 'subagent-inheritance-agent.handle')
|
||||
}
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
- id: telemetry-redact-rule
|
||||
name: './telemetry-redact-rule.ts'
|
||||
|
||||
# Managed child-process groups required by the bash executor.
|
||||
- id: subprocess
|
||||
name: '@deepseek-ai/dsh-subprocess-local'
|
||||
|
||||
- id: bash
|
||||
name: '@deepseek-ai/dsh-bash-local'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user