Merge remote-tracking branch 'origin/master' into session-query-search

# Conflicts:
#	docs/architecture.i18n.yaml
#	packages/client/ui-sidebar/tests/sidebar-root.spec.tsx
#	packages/session-persistence/session-persistence-jsonl/src/index.ts
#	packages/session-persistence/session-persistence/README.md
This commit is contained in:
Hypatia May
2026-07-23 21:13:29 +08:00
461 changed files with 21288 additions and 6015 deletions

View File

@@ -208,6 +208,8 @@ const TYPE_LINK_EXEMPTIONS: Readonly<Record<string, string>> = {
LocaleDict: 'service-local dictionary shape is owned by packages/client/i18n/src/index.ts',
ThemeTokens: 'service-local token dictionary is owned by packages/client/ui-theme/src/index.ts',
Translate: 'service-local bound translator is owned by packages/client/i18n/src/index.ts',
TuiOverlayRequest: 'service-local extension contract is owned by packages/ui/tui/README.md',
TuiOverlaySession: 'service-local extension contract is owned by packages/ui/tui/README.md',
InvariantRegistration: 'service-local lifecycle handle is owned by packages/support/invariants/README.md',
PresetOption: 'deployment menu metadata is owned by packages/ui/permission/README.md',
PresetSpec: 'deployment preset composition is owned by packages/ui/permission/README.md',

View File

@@ -198,6 +198,13 @@ const SERVICE_ROLES: ServiceRole[] = [
consumers: ['tui', 'acp'],
note: 'Plugins register direct human commands; TUI and ACP consume the same effective per-agent catalog without sending invocations to the model.',
},
{
key: 'tui',
pkg: 'tui',
title: 'Mounted-terminal interaction service',
mode: 'bundle',
note: 'One TUI front door provides a FIFO overlay host; injected plugins receive caller-fiber ownership without access to pi-tui or terminal lifecycle state.',
},
{
key: 'skills',
pkg: 'skill',

View File

@@ -168,7 +168,6 @@ function nodeOptions(...options: string[]): string {
function gatesForMode(selected: Mode): Gate[] {
switch (selected) {
case 'ci-primary':
case 'pre-push':
return ciPrimaryGates()
case 'ci-static':
return ciStaticGates()
@@ -191,6 +190,7 @@ function gatesForMode(selected: Mode): Gate[] {
return ciWindowsObservationalGates()
case 'node-compat':
return nodeCompatGates()
case 'pre-push': return []
case 'check-all':
return [
pnpmScript('runtime-closure', 'verify-runtime-closure', { label: 'runtime closure' }),
@@ -317,14 +317,8 @@ function ciWindowsCompleteGates(): Gate[] {
function ciWindowsObservationalGates(): Gate[] {
return [
...ciStaticGates(),
lintGate(),
// Linux owns required lint, coverage, and snapshots; Windows omits those duplicates.
pnpmScript('duplication', 'duplication'),
{
...coverageGate(),
env: { DSH_EXAMPLE_MODE: 'lib' },
needs: ['build'],
},
snapshotGate(),
pnpmScript('publint', 'publint', { needs: ['build'] }),
pnpmScript('node-next-types', 'verify-node-next-types', {
label: 'node-next types',

View File

@@ -136,7 +136,11 @@
"symbol": "Scope",
"source": "packages/core/scope/src/index.ts"
},
{ "doc": "docs/core-data-structures/scope.md", "symbol": "ScopeLayer", "source": "packages/core/scope/src/store.ts" },
{
"doc": "docs/core-data-structures/scope.md",
"symbol": "ScopeLayer",
"source": "packages/core/scope/src/store.ts"
},
{
"doc": "docs/core-data-structures/goal.md",
"symbol": "GoalRef",
@@ -294,7 +298,11 @@
"symbol": "SessionEventMap",
"source": "packages/core/session/src/types.ts"
},
{ "doc": "docs/core-data-structures/session.md", "symbol": "OutOfBandSessionEventMap", "source": "packages/core/session/src/types.ts" },
{
"doc": "docs/core-data-structures/session.md",
"symbol": "OutOfBandSessionEventMap",
"source": "packages/core/session/src/types.ts"
},
{
"doc": "docs/core-data-structures/session.md",
"symbol": "EpochHeader",
@@ -426,7 +434,6 @@
"symbol": "SessionEventTrace",
"source": "packages/session-query/session-query/src/types.ts"
},
{
"doc": "docs/core-data-structures/session-reference.md",
"symbol": "SessionReferenceInput",
@@ -447,18 +454,66 @@
"symbol": "SessionReferenceErrorCode",
"source": "packages/context/session-reference/src/config.ts"
},
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleProviderId", "source": "packages/session-title/session-title/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleModelProvenance", "source": "packages/session-title/session-title/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleSource", "source": "packages/session-title/session-title/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleEventData", "source": "packages/session-title/session-title/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleSnapshot", "source": "packages/session-title/session-title/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleLlmRequestEventData", "source": "packages/session-title/session-title-llm/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleUserMessage", "source": "packages/session-title/session-title/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleAutomaticMode", "source": "packages/session-title/session-title/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleProviderRequest", "source": "packages/session-title/session-title/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleProviderResult", "source": "packages/session-title/session-title/src/index.ts" },
{ "doc": "docs/core-data-structures/session-title.md", "symbol": "SessionTitleProvider", "source": "packages/session-title/session-title/src/index.ts" },
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleProviderId",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleModelProvenance",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleSource",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleEventData",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleSnapshot",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleLlmRequestEventData",
"source": "packages/session-title/session-title-llm/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleUserMessage",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleAutomaticMode",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleProviderRequest",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleProviderResult",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/session-title.md",
"symbol": "SessionTitleProvider",
"source": "packages/session-title/session-title/src/index.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "ToolOutputDefinition",
"source": "packages/core/tools/src/index.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "ToolDefinition",
@@ -466,12 +521,22 @@
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "SchemaProp",
"symbol": "ValueSchemaSpec",
"source": "packages/core/tools/src/schema.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "SchemaSpec",
"symbol": "ParameterPropertySpec",
"source": "packages/core/tools/src/schema.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "ParameterSchemaSpec",
"source": "packages/core/tools/src/schema.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "InferValue",
"source": "packages/core/tools/src/schema.ts"
},
{
@@ -519,6 +584,21 @@
"symbol": "ToolRestriction",
"source": "packages/core/tools/src/index.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "ToolFailure",
"source": "packages/core/tools/src/index.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "ToolExecutionSuccess",
"source": "packages/core/tools/src/index.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "ToolExecutionFailure",
"source": "packages/core/tools/src/index.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "ToolExecutionResult",
@@ -536,22 +616,22 @@
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "StructuredScalar",
"symbol": "JsonSchemaScalar",
"source": "packages/core/tools/src/json-schema.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "StructuredSchemaType",
"symbol": "JsonSchemaType",
"source": "packages/core/tools/src/json-schema.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "StructuredSchemaNode",
"symbol": "JsonSchemaNode",
"source": "packages/core/tools/src/json-schema.ts"
},
{
"doc": "docs/core-data-structures/tools.md",
"symbol": "StructuredOutputSchema",
"symbol": "ObjectJsonSchema",
"source": "packages/core/tools/src/json-schema.ts"
},
{
@@ -749,6 +829,11 @@
"symbol": "ConfinedArgv",
"source": "packages/sandbox/sandbox/src/index.ts"
},
{
"doc": "docs/core-data-structures/code-runtime.md",
"symbol": "CodeJsonValue",
"source": "packages/code-runtime/code-runtime/src/types.ts"
},
{
"doc": "docs/core-data-structures/code-runtime.md",
"symbol": "CodeRunRequest",
@@ -764,6 +849,11 @@
"symbol": "CodeBindingNamespace",
"source": "packages/code-runtime/code-runtime/src/types.ts"
},
{
"doc": "docs/core-data-structures/code-runtime.md",
"symbol": "CodeBindingErrorClass",
"source": "packages/code-runtime/code-runtime/src/types.ts"
},
{
"doc": "docs/core-data-structures/code-runtime.md",
"symbol": "CodeBindingFunction",