dsh-plugin-prompt-tool 3.0.2 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -1
- package/engine/actions/index.mjs +5 -3
- package/engine/actions/tool-visibility.mjs +4 -1
- package/engine/compositions/source/local/context-provenance.yml +9 -0
- package/engine/compositions/source/local/generation-recovery.yml +10 -0
- package/engine/compositions/source/local/retrieval.yml +7 -0
- package/engine/compositions/source/local/soul-ledger.yml +3 -0
- package/engine/compositions/source/local/soul-maintenance.yml +9 -0
- package/engine/conditions/examples.mjs +1 -0
- package/engine/conditions/index.mjs +7 -0
- package/engine/conditions/manifest.mjs +28 -0
- package/engine/context-idle-compaction.mjs +58 -0
- package/engine/context-provenance.d.mts +7 -0
- package/engine/context-provenance.mjs +156 -0
- package/engine/context-pruner.mjs +64 -0
- package/engine/context-routing.mjs +45 -0
- package/engine/context-summary.mjs +80 -0
- package/engine/fillers.mjs +11 -2
- package/engine/generation-recovery-coordinator.mjs +40 -0
- package/engine/generation-recovery-maintenance.mjs +18 -0
- package/engine/generation-recovery.mjs +153 -0
- package/engine/host-package.mjs +13 -0
- package/engine/layers.d.mts +4 -0
- package/engine/layers.mjs +57 -20
- package/engine/present-as.mjs +2 -2
- package/engine/retrieval-reference.d.mts +5 -0
- package/engine/retrieval-reference.mjs +26 -0
- package/engine/retrieval.mjs +17 -0
- package/engine/rule-engine.mjs +1 -0
- package/engine/rule-runtime.d.mts +8 -1
- package/engine/rule-runtime.mjs +18 -10
- package/engine/rule-spec.mjs +4 -2
- package/engine/schema.mjs +1 -1
- package/engine/service-names.d.mts +5 -0
- package/engine/service-names.mjs +5 -0
- package/engine/soul-ledger.mjs +8 -0
- package/engine/soul-maintenance.mjs +20 -0
- package/lib/client.js +12 -2
- package/lib/client.js.map +1 -1
- package/lib/index.mjs +1868 -208
- package/modules/soul/assets/ledger.md +6 -2
- package/modules/soul/assets/manifest.yml +2 -0
- package/modules/soul/assets/templates/agents-template.md +3 -0
- package/modules/soul/assets/templates/self-template.md +19 -0
- package/modules/soul/assets/tools.md +10 -0
- package/modules/soul/module.yml +89 -15
- package/modules/tool-surface/module.yml +28 -6
- package/package.json +1 -1
- package/skills/dsh-module/reference.md +1 -1
- package/templates/80-tool-surface.yml +25 -4
package/engine/schema.mjs
CHANGED
|
@@ -198,7 +198,7 @@ export const KNOWN_MODEL_SCOPES = new Set(['all', 'pro', 'flash'])
|
|
|
198
198
|
* 自定义策略或模板 patch 的角色仍由 executor 在出口校验,避免写出非法事件。
|
|
199
199
|
*/
|
|
200
200
|
export const KNOWN_ROLES = new Set(['user'])
|
|
201
|
-
export const KNOWN_FILLS = new Set(['instruction-hint', 'env-facts', 'skill-catalog', 'tool-catalog'])
|
|
201
|
+
export const KNOWN_FILLS = new Set(['instruction-hint', 'env-facts', 'skill-catalog', 'tool-catalog', 'soul-self'])
|
|
202
202
|
|
|
203
203
|
/** 层能力矩阵:每个字段只在对应注入层生效。客户端表单据此动态渲染。 */
|
|
204
204
|
export const LAYER_FIELD_POLICIES = Object.fromEntries(
|
|
@@ -5,6 +5,11 @@ export const PRE_STEP_COORDINATOR_SERVICE: string
|
|
|
5
5
|
|
|
6
6
|
/** 发现引擎注册表服务名:宿主 root provide,adapter 行按 agent 注册,动作按 agent 解析。 */
|
|
7
7
|
export const DISCOVERY_SERVICE: string
|
|
8
|
+
export const SOUL_SELF_SERVICE: string
|
|
9
|
+
export const SOUL_MAINTENANCE_SERVICE: string
|
|
10
|
+
|
|
11
|
+
/** 模块清单 checks 事实:宿主提供,宿主装配读取后经挂载 options 传给谓词。 */
|
|
12
|
+
export const MANIFEST_CHECK_SERVICE: 'promptToolManifestCheck'
|
|
8
13
|
|
|
9
14
|
/** 四个模块工具外壳的服务名:`pt-<引擎模块 id>`。前缀是本函数的内部细节。 */
|
|
10
15
|
export function toolServiceName(engineModuleId: string): string
|
package/engine/service-names.mjs
CHANGED
|
@@ -3,6 +3,11 @@ export const PRE_STEP_COORDINATOR_SERVICE = 'promptToolPreStep'
|
|
|
3
3
|
|
|
4
4
|
/** 发现引擎注册表:宿主 root provide,adapter 行按 agent 注册,动作按 agent 解析。 */
|
|
5
5
|
export const DISCOVERY_SERVICE = 'promptToolDiscovery'
|
|
6
|
+
export const SOUL_SELF_SERVICE = 'promptToolSoulSelf'
|
|
7
|
+
export const SOUL_MAINTENANCE_SERVICE = 'promptToolSoulMaintenance'
|
|
8
|
+
|
|
9
|
+
/** 模块清单 checks 事实:宿主提供,宿主装配读取后经挂载 options 传给谓词。 */
|
|
10
|
+
export const MANIFEST_CHECK_SERVICE = 'promptToolManifestCheck'
|
|
6
11
|
|
|
7
12
|
/** 五个模块工具外壳的服务名:`pt-<引擎模块 id>`。前缀是本函数的内部细节。 */
|
|
8
13
|
export function toolServiceName(engineModuleId) {
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { toolServiceName } from './service-names.mjs'
|
|
2
|
+
|
|
3
|
+
export const name = 'soul-ledger'
|
|
4
|
+
export function apply(ctx) {
|
|
5
|
+
ctx.inject([toolServiceName(name)], scopeCtx => {
|
|
6
|
+
scopeCtx.effect(() => scopeCtx.get(toolServiceName(name)).mount(scopeCtx), name + ': mount')
|
|
7
|
+
})
|
|
8
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { bool, defineConfig, enumOf, passthrough } from './fields.mjs'
|
|
2
|
+
import { SOUL_MAINTENANCE_SERVICE } from './service-names.mjs'
|
|
3
|
+
|
|
4
|
+
export const name = 'soul-maintenance'
|
|
5
|
+
const bounded = (fallback, min, max) => passthrough((value = fallback, plugin, field) => {
|
|
6
|
+
if (!Number.isSafeInteger(value) || value < min || value > max) throw new TypeError(`${plugin}: ${field} must be an integer from ${min} to ${max}`)
|
|
7
|
+
return value
|
|
8
|
+
})
|
|
9
|
+
export const configContract = defineConfig({
|
|
10
|
+
enabled: bool({ default: false }), intervalMs: bounded(60000, 1000, 2147483647),
|
|
11
|
+
wake: bool({ default: false }), audience: enumOf(['all', 'main', 'subagent'], { default: 'all' }),
|
|
12
|
+
budgetBytes: bounded(12288, 1024, 65536),
|
|
13
|
+
})
|
|
14
|
+
export function apply(ctx, raw, options = {}) {
|
|
15
|
+
const config = configContract.parse(raw, name)
|
|
16
|
+
if (!config.enabled) return
|
|
17
|
+
ctx.inject([SOUL_MAINTENANCE_SERVICE], scopeCtx => {
|
|
18
|
+
scopeCtx.effect(() => scopeCtx.get(SOUL_MAINTENANCE_SERVICE).mount(scopeCtx, config, options), name + ': mount')
|
|
19
|
+
})
|
|
20
|
+
}
|
package/lib/client.js
CHANGED
|
@@ -742,7 +742,10 @@ window.__ModuleLoader__.load({
|
|
|
742
742
|
fileRead: "module_file_read",
|
|
743
743
|
fileAppend: "module_file_append",
|
|
744
744
|
manifest: "module_manifest",
|
|
745
|
-
variables: "module_variables"
|
|
745
|
+
variables: "module_variables",
|
|
746
|
+
soulLedger: "soul_ledger",
|
|
747
|
+
search: "module_search",
|
|
748
|
+
open: "module_open"
|
|
746
749
|
};
|
|
747
750
|
const MODULE_TOOL_CAPABILITIES = {
|
|
748
751
|
[MODULE_TOOL_NAMES.import]: "module-import-tools",
|
|
@@ -751,7 +754,10 @@ window.__ModuleLoader__.load({
|
|
|
751
754
|
[MODULE_TOOL_NAMES.fileRead]: "module-file-tools",
|
|
752
755
|
[MODULE_TOOL_NAMES.fileAppend]: "module-file-tools",
|
|
753
756
|
[MODULE_TOOL_NAMES.manifest]: "module-manifest-tools",
|
|
754
|
-
[MODULE_TOOL_NAMES.variables]: "module-variable-tools"
|
|
757
|
+
[MODULE_TOOL_NAMES.variables]: "module-variable-tools",
|
|
758
|
+
[MODULE_TOOL_NAMES.soulLedger]: "soul-ledger",
|
|
759
|
+
[MODULE_TOOL_NAMES.search]: "retrieval",
|
|
760
|
+
[MODULE_TOOL_NAMES.open]: "retrieval"
|
|
755
761
|
};
|
|
756
762
|
/** 旧公开类型名只作输入兼容。 */
|
|
757
763
|
/**
|
|
@@ -10469,6 +10475,7 @@ window.__ModuleLoader__.load({
|
|
|
10469
10475
|
"triggers.label.variable": "变量状态",
|
|
10470
10476
|
"triggers.label.op": "比较方式",
|
|
10471
10477
|
"triggers.label.value": "比较值",
|
|
10478
|
+
"triggers.label.manifest": "清单检查",
|
|
10472
10479
|
"triggers.label.after": "限定在动作投递之后",
|
|
10473
10480
|
"triggers.label.afterAction": "起点动作标识",
|
|
10474
10481
|
"triggers.option.userMessage": "用户消息",
|
|
@@ -10494,6 +10501,7 @@ window.__ModuleLoader__.load({
|
|
|
10494
10501
|
"triggers.backToSettings": "返回本层参数",
|
|
10495
10502
|
"triggers.label.text": "文本",
|
|
10496
10503
|
"triggers.label.phase": "阶段",
|
|
10504
|
+
"triggers.label.ok": "检查通过",
|
|
10497
10505
|
"triggers.label.source": "消息来源",
|
|
10498
10506
|
"triggers.label.count": "事件计数",
|
|
10499
10507
|
"triggers.label.names": "名称名单",
|
|
@@ -10693,6 +10701,7 @@ window.__ModuleLoader__.load({
|
|
|
10693
10701
|
"triggers.label.variable": "Variable state",
|
|
10694
10702
|
"triggers.label.op": "Comparison",
|
|
10695
10703
|
"triggers.label.value": "Comparison value",
|
|
10704
|
+
"triggers.label.manifest": "Manifest check",
|
|
10696
10705
|
"triggers.label.after": "Observe after action delivery",
|
|
10697
10706
|
"triggers.label.afterAction": "Starting action ID",
|
|
10698
10707
|
"triggers.option.userMessage": "User message",
|
|
@@ -10718,6 +10727,7 @@ window.__ModuleLoader__.load({
|
|
|
10718
10727
|
"triggers.backToSettings": "Back to layer parameters",
|
|
10719
10728
|
"triggers.label.text": "Text",
|
|
10720
10729
|
"triggers.label.phase": "Phase",
|
|
10730
|
+
"triggers.label.ok": "Checks passed",
|
|
10721
10731
|
"triggers.label.source": "Message source",
|
|
10722
10732
|
"triggers.label.count": "Event count",
|
|
10723
10733
|
"triggers.label.names": "Name list",
|