dsh-kingdom 0.8.0 → 2.0.0

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.
Files changed (162) hide show
  1. package/ASSETS_NOTICE.md +22 -0
  2. package/LICENSE +661 -29
  3. package/NOTICE +9 -0
  4. package/README.md +93 -94
  5. package/THIRD_PARTY_NOTICES.md +92 -0
  6. package/cordis.patch.yml +6 -6
  7. package/docs/V2.0-RELEASE-NOTES.md +30 -0
  8. package/docs/V2.0-USER-GUIDE.md +74 -0
  9. package/lib/adapter/dsh-backend.js +327 -24
  10. package/lib/adapter/dsh-backend.js.map +1 -1
  11. package/lib/adapter/dsh-cost.js +68 -0
  12. package/lib/adapter/dsh-cost.js.map +1 -0
  13. package/lib/adapter/dsh-session-events.js +86 -0
  14. package/lib/adapter/dsh-session-events.js.map +1 -0
  15. package/lib/adapter/dsh-usage.js +159 -0
  16. package/lib/adapter/dsh-usage.js.map +1 -0
  17. package/lib/capability/admin.js +72 -0
  18. package/lib/capability/admin.js.map +1 -0
  19. package/lib/capability/dsh-enforcement.js +143 -34
  20. package/lib/capability/dsh-enforcement.js.map +1 -1
  21. package/lib/capability/resolver.js +21 -8
  22. package/lib/capability/resolver.js.map +1 -1
  23. package/lib/capability/service.js +169 -26
  24. package/lib/capability/service.js.map +1 -1
  25. package/lib/capability/tool-disclosure.js +144 -0
  26. package/lib/capability/tool-disclosure.js.map +1 -0
  27. package/lib/core/binding.js +52 -34
  28. package/lib/core/binding.js.map +1 -1
  29. package/lib/core/budget.js +304 -0
  30. package/lib/core/budget.js.map +1 -0
  31. package/lib/core/collaboration.js +422 -0
  32. package/lib/core/collaboration.js.map +1 -0
  33. package/lib/core/cost.js +212 -0
  34. package/lib/core/cost.js.map +1 -0
  35. package/lib/core/db.js +197 -4
  36. package/lib/core/db.js.map +1 -1
  37. package/lib/core/execution.js +2 -2
  38. package/lib/core/execution.js.map +1 -1
  39. package/lib/core/governed-claim.js +46 -0
  40. package/lib/core/governed-claim.js.map +1 -0
  41. package/lib/core/governed.js +891 -98
  42. package/lib/core/governed.js.map +1 -1
  43. package/lib/core/kingdom.js +78 -70
  44. package/lib/core/kingdom.js.map +1 -1
  45. package/lib/core/owner-binding-intent.js +732 -0
  46. package/lib/core/owner-binding-intent.js.map +1 -0
  47. package/lib/core/owner-control.js +86 -0
  48. package/lib/core/owner-control.js.map +1 -0
  49. package/lib/core/owner-window.js +822 -0
  50. package/lib/core/owner-window.js.map +1 -0
  51. package/lib/core/task-service.js +296 -133
  52. package/lib/core/task-service.js.map +1 -1
  53. package/lib/core/territory.js +44 -14
  54. package/lib/core/territory.js.map +1 -1
  55. package/lib/core/usage.js +39 -0
  56. package/lib/core/usage.js.map +1 -0
  57. package/lib/core/workspace-admission.js +225 -0
  58. package/lib/core/workspace-admission.js.map +1 -0
  59. package/lib/dispatch/evidence.js +5 -2
  60. package/lib/dispatch/evidence.js.map +1 -1
  61. package/lib/dispatch/reconcile.js +3 -9
  62. package/lib/dispatch/reconcile.js.map +1 -1
  63. package/lib/dispatch/service.js +464 -64
  64. package/lib/dispatch/service.js.map +1 -1
  65. package/lib/gui/assets/characters/chancellor-idle.svg +67 -0
  66. package/lib/gui/assets/characters/chancellor-sleeping.svg +67 -0
  67. package/lib/gui/assets/characters/chancellor-thinking.svg +67 -0
  68. package/lib/gui/assets/characters/chancellor-working.svg +67 -0
  69. package/lib/gui/assets/characters/knight-redraw-r1-idle.svg +67 -0
  70. package/lib/gui/assets/characters/knight-redraw-r1-sleeping.svg +67 -0
  71. package/lib/gui/assets/characters/knight-redraw-r1-thinking.svg +67 -0
  72. package/lib/gui/assets/characters/knight-redraw-r1-working.svg +67 -0
  73. package/lib/gui/assets/characters/supervisor-idle.svg +67 -0
  74. package/lib/gui/assets/characters/supervisor-sleeping.svg +67 -0
  75. package/lib/gui/assets/characters/supervisor-thinking.svg +67 -0
  76. package/lib/gui/assets/characters/supervisor-working.svg +67 -0
  77. package/lib/gui/console-app.js +2330 -0
  78. package/lib/gui/console-app.js.map +1 -0
  79. package/lib/gui/contract.js +5 -5
  80. package/lib/gui/contract.js.map +1 -1
  81. package/lib/gui/control-contract.js +232 -0
  82. package/lib/gui/control-contract.js.map +1 -0
  83. package/lib/gui/local-control.js +423 -0
  84. package/lib/gui/local-control.js.map +1 -0
  85. package/lib/gui/owner-control.js +310 -0
  86. package/lib/gui/owner-control.js.map +1 -0
  87. package/lib/gui/owner-ui.js +191 -0
  88. package/lib/gui/owner-ui.js.map +1 -0
  89. package/lib/gui/server.js +445 -35
  90. package/lib/gui/server.js.map +1 -1
  91. package/lib/gui/snapshot.js +1346 -67
  92. package/lib/gui/snapshot.js.map +1 -1
  93. package/lib/gui/visual-assets.js +56 -0
  94. package/lib/gui/visual-assets.js.map +1 -0
  95. package/lib/gui/visual-system.js +272 -0
  96. package/lib/gui/visual-system.js.map +1 -0
  97. package/lib/gui/workbench-ui.js +358 -0
  98. package/lib/gui/workbench-ui.js.map +1 -0
  99. package/lib/gui/workbench.js +163 -0
  100. package/lib/gui/workbench.js.map +1 -0
  101. package/lib/index.js +1384 -361
  102. package/lib/index.js.map +1 -1
  103. package/lib/runner-context-broker.js +1134 -0
  104. package/lib/runner-context-broker.js.map +1 -0
  105. package/lib/runtime-cost-observer.js +145 -0
  106. package/lib/runtime-cost-observer.js.map +1 -0
  107. package/lib/types/adapter/contract.d.ts +61 -1
  108. package/lib/types/adapter/dsh-backend.d.ts +32 -13
  109. package/lib/types/adapter/dsh-cost.d.ts +13 -0
  110. package/lib/types/adapter/dsh-session-events.d.ts +16 -0
  111. package/lib/types/adapter/dsh-usage.d.ts +36 -0
  112. package/lib/types/capability/admin.d.ts +13 -0
  113. package/lib/types/capability/dsh-enforcement.d.ts +11 -7
  114. package/lib/types/capability/service.d.ts +10 -3
  115. package/lib/types/capability/tool-disclosure.d.ts +36 -0
  116. package/lib/types/core/binding.d.ts +19 -10
  117. package/lib/types/core/budget.d.ts +81 -0
  118. package/lib/types/core/collaboration.d.ts +110 -0
  119. package/lib/types/core/cost.d.ts +99 -0
  120. package/lib/types/core/db.d.ts +44 -4
  121. package/lib/types/core/execution.d.ts +1 -1
  122. package/lib/types/core/governed-claim.d.ts +7 -0
  123. package/lib/types/core/governed.d.ts +182 -1
  124. package/lib/types/core/kingdom.d.ts +3 -0
  125. package/lib/types/core/owner-binding-intent.d.ts +176 -0
  126. package/lib/types/core/owner-control.d.ts +53 -0
  127. package/lib/types/core/owner-window.d.ts +226 -0
  128. package/lib/types/core/task-service.d.ts +60 -13
  129. package/lib/types/core/territory.d.ts +9 -2
  130. package/lib/types/core/usage.d.ts +26 -0
  131. package/lib/types/core/workspace-admission.d.ts +43 -0
  132. package/lib/types/dispatch/evidence.d.ts +2 -5
  133. package/lib/types/dispatch/service.d.ts +62 -4
  134. package/lib/types/gui/console-app.d.ts +137 -0
  135. package/lib/types/gui/contract.d.ts +396 -16
  136. package/lib/types/gui/control-contract.d.ts +111 -0
  137. package/lib/types/gui/local-control.d.ts +120 -0
  138. package/lib/types/gui/owner-control.d.ts +45 -0
  139. package/lib/types/gui/owner-ui.d.ts +2 -0
  140. package/lib/types/gui/server.d.ts +17 -3
  141. package/lib/types/gui/snapshot.d.ts +33 -11
  142. package/lib/types/gui/visual-assets.d.ts +27 -0
  143. package/lib/types/gui/visual-system.d.ts +2 -0
  144. package/lib/types/gui/workbench-ui.d.ts +5 -0
  145. package/lib/types/gui/workbench.d.ts +33 -0
  146. package/lib/types/index.d.ts +157 -6
  147. package/lib/types/runner-context-broker.d.ts +119 -0
  148. package/lib/types/runtime-cost-observer.d.ts +22 -0
  149. package/lib/types/worker/collaboration.d.ts +35 -0
  150. package/lib/types/worker/dsh-subagent.d.ts +4 -4
  151. package/lib/types/worker/executor-factory.d.ts +2 -1
  152. package/lib/types/worker/executor.d.ts +8 -3
  153. package/lib/types/worker/governed-executor.d.ts +8 -1
  154. package/lib/worker/collaboration.js +172 -0
  155. package/lib/worker/collaboration.js.map +1 -0
  156. package/lib/worker/dsh-subagent.js +4 -4
  157. package/lib/worker/executor-factory.js.map +1 -1
  158. package/lib/worker/executor.js +7 -2
  159. package/lib/worker/executor.js.map +1 -1
  160. package/lib/worker/governed-executor.js +295 -84
  161. package/lib/worker/governed-executor.js.map +1 -1
  162. package/package.json +23 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runner-context-broker.js","sourceRoot":"","sources":["../src/runner-context-broker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ import { recordRoleUsage, recordPromptCost, recordUsageCoverageGap, closeInterruptedRoleObservations } from './core/cost.js';
2
+ import { observeDshTurnCost } from './adapter/dsh-cost.js';
3
+ const count = (value) => typeof value === 'number' && Number.isSafeInteger(value) && value >= 0;
4
+ const bytes = (value) => Buffer.byteLength(typeof value === 'string' ? value : JSON.stringify(value), 'utf8');
5
+ /** Integration observer: Runtime evidence is neutral; all role attribution comes from Core bindings. */
6
+ export function installRuntimeCostObservers(host, store, input) {
7
+ const existingKingdom = store.getDefaultKingdom();
8
+ if (existingKingdom)
9
+ closeInterruptedRoleObservations(store, existingKingdom.kingdom_id, input.runtimeInstanceRef);
10
+ if (typeof host.on !== 'function')
11
+ return { available: false, dispose() { } };
12
+ let disposed = false, assemblyCounter = 0;
13
+ const ambiguous = new Map();
14
+ const turns = new Map(), pending = new Set(), disposers = [];
15
+ const agents = () => {
16
+ const registry = host.get('agents');
17
+ return typeof registry?.list === 'function' ? registry.list() : [];
18
+ };
19
+ const identify = (session, includeWorker = false) => {
20
+ const kingdom = store.getDefaultKingdom();
21
+ if (!kingdom)
22
+ return null;
23
+ const matches = agents().filter(agent => agent.session === session && typeof agent.id === 'string' && agent.session.id === agent.id);
24
+ if (matches.length !== 1)
25
+ return null;
26
+ const agent = matches[0];
27
+ const roles = store.listBindings(kingdom.kingdom_id).filter(binding => {
28
+ if (binding.status !== 'ACTIVE' || binding.role_type === 'OWNER')
29
+ return false;
30
+ if (binding.role_type !== 'WORKER')
31
+ return binding.session_id === agent.id;
32
+ const affinity = store.getCurrentAffinityForWorker(kingdom.kingdom_id, binding.binding_id);
33
+ return affinity?.session_ref === agent.id && affinity.runtime_type === 'dsh' && affinity.runtime_instance_ref === input.runtimeInstanceRef;
34
+ });
35
+ ambiguous.delete(session);
36
+ if (roles.length > 1)
37
+ ambiguous.set(session, { kingdomId: kingdom.kingdom_id, sessionRef: agent.id });
38
+ return roles.length === 1 && (includeWorker || roles[0].role_type !== 'WORKER') ? { binding: roles[0], kingdomId: kingdom.kingdom_id, agent } : null;
39
+ };
40
+ const collect = async (captured, endLedgerSeq) => {
41
+ const observed = await observeDshTurnCost(captured.session, captured.fromSeq);
42
+ if (disposed)
43
+ return;
44
+ // Successful canonical actor events provide related task references, but
45
+ // do not prove the whole model turn exclusively worked on that task.
46
+ const taskIds = [...new Set(store.listActorEventsSince(captured.kingdomId, captured.binding.binding_id, captured.initial.startedLedgerSeq)
47
+ .filter(event => event.seq <= endLedgerSeq && event.target_type === 'task' && event.target_id && store.getTask(event.target_id))
48
+ .map(event => event.target_id))];
49
+ const bounded = taskIds.length <= 32 ? taskIds : [];
50
+ const value = { ...captured.initial, ...observed, taskIds: bounded, attribution: bounded.length ? 'SHARED' : 'UNATTRIBUTED' };
51
+ if (value.observationSequence >= captured.latest.observationSequence)
52
+ captured.latest = value;
53
+ recordRoleUsage(store, captured.kingdomId, value);
54
+ if (captured.ended && observed.status !== 'IN_PROGRESS') {
55
+ if (turns.get(captured.session) === captured)
56
+ turns.delete(captured.session);
57
+ pending.delete(captured);
58
+ }
59
+ };
60
+ try {
61
+ disposers.push(host.on('session/event', (session, event) => {
62
+ if (disposed || !session || typeof session !== 'object')
63
+ return;
64
+ try {
65
+ if (event.type === 'turn/start') {
66
+ const actor = identify(session);
67
+ if (!actor || !count(event.seq)) {
68
+ const conflict = ambiguous.get(session);
69
+ if (conflict && count(event.seq))
70
+ recordUsageCoverageGap(store, conflict.kingdomId, `${input.runtimeInstanceRef}:${conflict.sessionRef}:${event.seq}`, 'ROLE_IDENTITY_AMBIGUOUS');
71
+ return;
72
+ }
73
+ const initial = {
74
+ type: 'KingdomRoleUsage/v1', source: 'provider-reported',
75
+ sourceUnitRef: `${input.runtimeInstanceRef}:${actor.agent.id}:${event.seq}`,
76
+ runtimeInstanceRef: input.runtimeInstanceRef, sessionRef: actor.agent.id,
77
+ bindingId: actor.binding.binding_id, roleType: actor.binding.role_type,
78
+ taskIds: [], attribution: 'UNATTRIBUTED', startedAt: new Date().toISOString(), startedLedgerSeq: store.eventSequence(),
79
+ observationSequence: event.seq, status: 'IN_PROGRESS', reasonCode: 'TURN_IN_PROGRESS', observedRequests: 0, reportedRequests: 0, usage: null,
80
+ };
81
+ const captured = { binding: actor.binding, kingdomId: actor.kingdomId, session, fromSeq: event.seq, initial, latest: initial, latestSeq: event.seq, ended: false };
82
+ turns.set(session, captured);
83
+ pending.add(captured);
84
+ recordRoleUsage(store, actor.kingdomId, initial);
85
+ }
86
+ else if (['step/start', 'llm/retry-started', 'assistant/message', 'assistant/attempt', 'turn/end'].includes(event.type)) {
87
+ const captured = turns.get(session);
88
+ if (!captured)
89
+ return;
90
+ if (count(event.seq))
91
+ captured.latestSeq = Math.max(captured.latestSeq, event.seq);
92
+ if (event.type === 'turn/end')
93
+ captured.ended = true;
94
+ const endSeq = store.eventSequence();
95
+ void collect(captured, endSeq).catch(() => { });
96
+ }
97
+ }
98
+ catch { /* Registry/schema absence is a coverage gap, never a governance action. */ }
99
+ }));
100
+ disposers.push(host.on('system-prompt/assemble', async (_assembly, context, next) => {
101
+ const result = await next();
102
+ if (disposed)
103
+ return result;
104
+ try {
105
+ const actor = identify(context.agent?.session, true);
106
+ if (!actor || !result || !Array.isArray(result.tools) || !Array.isArray(result.sections) || !Array.isArray(result.contexts))
107
+ return result;
108
+ const parts = (items) => items.slice(0, 128).map(item => ({ name: item.name.replace(/[\r\n]/gu, ' ').slice(0, 160), bytes: bytes(item.text) }));
109
+ const actual = bytes(result.tools);
110
+ const disclosure = input.disclosureMeta?.(result);
111
+ const value = {
112
+ type: 'KingdomPromptCost/v1', source: 'assembly-byte-observation', sourceUnitRef: `${input.runtimeInstanceRef}:${actor.agent.id}:assembly:${++assemblyCounter}`,
113
+ bindingId: actor.binding.binding_id, roleType: actor.binding.role_type,
114
+ toolsBefore: disclosure?.toolsBefore ?? result.tools.length, toolsAfter: disclosure?.toolsAfter ?? result.tools.length,
115
+ toolsBytesBefore: disclosure?.toolsBytesBefore ?? actual, toolsBytesAfter: disclosure?.toolsBytesAfter ?? actual,
116
+ sections: parts(result.sections), contexts: parts(result.contexts), historyBytes: null, tokenEstimate: null,
117
+ mode: disclosure?.mode ?? 'off', reasonCode: disclosure ? disclosure.reasonCode : (input.mode === 'pilot' ? 'PILOT_NOT_ACTIVE_FOR_THIS_SCOPE' : null),
118
+ };
119
+ recordPromptCost(store, actor.kingdomId, value);
120
+ }
121
+ catch { /* Only byte counts are observed; original prompt content is never stored here. */ }
122
+ return result;
123
+ }));
124
+ }
125
+ catch {
126
+ disposed = true;
127
+ for (const dispose of disposers.reverse())
128
+ dispose();
129
+ return { available: false, dispose() { } };
130
+ }
131
+ return { available: true, dispose() {
132
+ if (disposed)
133
+ return;
134
+ disposed = true;
135
+ for (const captured of pending)
136
+ recordRoleUsage(store, captured.kingdomId, { ...captured.latest,
137
+ observationSequence: captured.latestSeq, status: 'UNAVAILABLE', reasonCode: 'OBSERVER_CLOSED', usage: null });
138
+ turns.clear();
139
+ pending.clear();
140
+ ambiguous.clear();
141
+ for (const dispose of disposers.reverse())
142
+ dispose();
143
+ } };
144
+ }
145
+ //# sourceMappingURL=runtime-cost-observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-cost-observer.js","sourceRoot":"","sources":["../src/runtime-cost-observer.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,53 @@ export interface DispatchReceipt {
39
39
  readonly refs: RuntimeRefs;
40
40
  readonly acceptedAt: string;
41
41
  }
42
+ /** Runtime event projection consumed by the dispatch trust-fence seam. */
43
+ export interface RuntimeEvent {
44
+ readonly type: string;
45
+ readonly data?: Record<string, unknown>;
46
+ readonly [key: string]: unknown;
47
+ }
48
+ /**
49
+ * An opaque, adapter-issued reservation for one governed dispatch.
50
+ *
51
+ * The brand is deliberately module-private at the type level. Runtime
52
+ * implementations must also validate object identity; callers must never
53
+ * construct a fence from its visible shape or copy its fields between
54
+ * sessions/leases.
55
+ */
56
+ declare const runtimeTrustFenceBrand: unique symbol;
57
+ export interface RuntimeTrustFence {
58
+ readonly [runtimeTrustFenceBrand]: 'RuntimeTrustFence';
59
+ }
60
+ /**
61
+ * The Core-side identity proof required when an opaque fence is consumed.
62
+ *
63
+ * `leaseId` and `sessionRef` are correlation facts, not authority. The
64
+ * adapter must compare them with the values captured when it issued the
65
+ * fence; callers must not be able to retarget a fence by passing a different
66
+ * lease/session pair at cleanup or settlement time.
67
+ */
68
+ export interface RuntimeTrustFenceExpectation {
69
+ readonly leaseId: string;
70
+ readonly sessionRef: string;
71
+ }
72
+ export type RuntimeTrustFencePhase = 'terminal-write' | 'cleanup-reserved' | 'cleanup' | 'settlement' | 'release';
73
+ export type RuntimeTrustFenceOutcome = 'RELEASED' | 'RECOVERING';
74
+ export interface RuntimeTrustFenceInput {
75
+ readonly leaseId: string;
76
+ readonly sessionRef: string;
77
+ /** Runtime dispatch ref is bound after the adapter accepts the owned message. */
78
+ readonly runtimeDispatchRef: string | null;
79
+ /** Snapshot taken before the owned Runtime dispatch side effect. */
80
+ readonly baselineEvents: readonly RuntimeEvent[];
81
+ }
82
+ export interface RuntimeTrustFenceCheck {
83
+ readonly ok: boolean;
84
+ readonly status: 'VALID' | 'TAINTED' | 'UNKNOWN' | 'RELEASED';
85
+ readonly reservation: 'SERIALIZED' | 'DETECT_ONLY' | 'UNKNOWN';
86
+ readonly generation: number | null;
87
+ readonly reason: string;
88
+ }
42
89
  export interface ReconcileResult {
43
90
  readonly executionObservation: ExecutionObservation;
44
91
  readonly sessionObservation: 'AVAILABLE' | 'GONE' | 'UNKNOWN';
@@ -111,13 +158,26 @@ export interface RuntimeAdapter {
111
158
  capabilities(context: unknown): Promise<RuntimeEnforceableSet>;
112
159
  preflight(request: EnforcementRequest, context: unknown): Promise<PreflightResult>;
113
160
  materialize(request: EnforcementRequest, context: unknown): Promise<MaterializeResult>;
114
- cleanup(request: EnforcementRequest, context: unknown): Promise<CleanupResult>;
161
+ /**
162
+ * cleanup consumes the same opaque fence as terminal settlement when the
163
+ * call belongs to a governed persistent dispatch. Capability-denial cleanup
164
+ * may omit the fence because no governed terminal exists yet.
165
+ */
166
+ cleanup(request: EnforcementRequest, context: unknown, fence?: RuntimeTrustFence, expectation?: RuntimeTrustFenceExpectation): Promise<CleanupResult>;
167
+ openTrustFence(input: RuntimeTrustFenceInput): Promise<RuntimeTrustFence>;
168
+ bindTrustFence(fence: RuntimeTrustFence, runtimeDispatchRef: string, expectation: RuntimeTrustFenceExpectation): RuntimeTrustFenceCheck;
169
+ checkTrustFence(fence: RuntimeTrustFence, phase: RuntimeTrustFencePhase, expectation: RuntimeTrustFenceExpectation): RuntimeTrustFenceCheck;
170
+ /** Fence release is a synchronous state transition; any held Runtime
171
+ * reservation is released by the adapter before this method returns. */
172
+ releaseTrustFence(fence: RuntimeTrustFence, outcome: RuntimeTrustFenceOutcome, expectation: RuntimeTrustFenceExpectation): RuntimeTrustFenceCheck;
115
173
  dispatch(input: DispatchInput): Promise<DispatchReceipt>;
116
174
  observeExecution(refs: RuntimeRefs, session: unknown): Promise<ExecutionObservation>;
117
175
  reconcile(kingdomDispatchId: string, refs: RuntimeRefs): Promise<ReconcileResult>;
118
176
  }
119
177
  /** DSH backend 的构造入参(注入面;结构型,不 import dsh 类型——dsh-subagent.ts 同款模式)。 */
120
178
  export interface DshBackendDeps {
179
+ /** Optional DSH-only display policy, separate from effective capabilities. */
180
+ toolDisclosure?: unknown;
121
181
  runtimeInstanceRef: string;
122
182
  provider: string;
123
183
  model: string | null;
@@ -1,13 +1,9 @@
1
- import type { CleanupResult, DshBackendDeps, DispatchInput, DispatchReceipt, EnforcementRequest, ExecutionObservation, MaterializeResult, PreflightResult, ReconcileResult, RuntimeAdapter, RuntimeEnforceableSet, SessionHandle, SessionObservation } from './contract.js';
2
- interface SessionLike {
1
+ import type { CleanupResult, DshBackendDeps, DispatchInput, DispatchReceipt, EnforcementRequest, ExecutionObservation, MaterializeResult, PreflightResult, ReconcileResult, RuntimeAdapter, RuntimeEnforceableSet, RuntimeTrustFence, RuntimeTrustFenceCheck, RuntimeTrustFenceExpectation, RuntimeTrustFenceInput, RuntimeTrustFenceOutcome, RuntimeTrustFencePhase, SessionHandle, SessionObservation } from './contract.js';
2
+ import { type DshSessionEventSource } from './dsh-session-events.js';
3
+ interface SessionLike extends DshSessionEventSource {
3
4
  header: {
4
5
  cwd?: string;
5
6
  };
6
- events: readonly {
7
- type: string;
8
- data?: Record<string, unknown>;
9
- [key: string]: unknown;
10
- }[];
11
7
  }
12
8
  /**
13
9
  * 事件链重建 execution 观测(S3 粗粒度;S5 evidence.ts 细化到 splice/turn 边界)。
@@ -23,6 +19,8 @@ export declare function reconstructExecutionObservation(session: SessionLike, si
23
19
  /** DSH RuntimeAdapter 实现。 */
24
20
  export declare class DshRuntimeAdapter implements RuntimeAdapter {
25
21
  readonly runtimeType = "dsh";
22
+ /** Fence tokens are accepted only by the exact Adapter instance that issued them. */
23
+ private readonly trustFenceStates;
26
24
  private readonly deps;
27
25
  constructor(deps: DshBackendDeps);
28
26
  identify(): {
@@ -54,20 +52,41 @@ export declare class DshRuntimeAdapter implements RuntimeAdapter {
54
52
  private toHandle;
55
53
  observeSession(handle: SessionHandle): Promise<SessionObservation>;
56
54
  retireSession(handle: SessionHandle): Promise<void>;
55
+ /**
56
+ * Read the current live projection through the exact registry object. A
57
+ * fence never trusts a copied Session/Agent-shaped object supplied by a
58
+ * caller; the registry identity is the Runtime-local authority.
59
+ */
60
+ private currentFenceEvents;
61
+ private taintFence;
62
+ private asFenceState;
63
+ private checkFenceExpectation;
64
+ private inspectFence;
65
+ openTrustFence(input: RuntimeTrustFenceInput): Promise<RuntimeTrustFence>;
66
+ bindTrustFence(fence: RuntimeTrustFence, runtimeDispatchRef: string, expectation: RuntimeTrustFenceExpectation): RuntimeTrustFenceCheck;
67
+ checkTrustFence(fence: RuntimeTrustFence, phase: RuntimeTrustFencePhase, expectation: RuntimeTrustFenceExpectation): RuntimeTrustFenceCheck;
68
+ /**
69
+ * Execute the disposer while the Runtime's own maintenance ingress
70
+ * reservation is held. Normal followup calls are queued by DSH until the
71
+ * hold is released; an already-running/unmanaged ingress makes the
72
+ * reservation fail and the fence is tainted before any disposer call.
73
+ */
74
+ private cleanupWithFence;
75
+ cleanup(request: EnforcementRequest, context: unknown, fence?: RuntimeTrustFence, expectation?: RuntimeTrustFenceExpectation): Promise<CleanupResult>;
76
+ releaseTrustFence(fence: RuntimeTrustFence, outcome: RuntimeTrustFenceOutcome, expectation: RuntimeTrustFenceExpectation): RuntimeTrustFenceCheck;
57
77
  /**
58
78
  * context-bound Runtime Enforceable Set:回答「这次 Session 下**能** enforce 什么」。
59
- * - tools:A∩B(A=真实 `tools.schemas()` Runtime inventory;B=preset 声明面,回退 session 装配面)——
60
- * Owner S4 seam 裁决(A+B 组合),见 `readEnforceableSet`;
61
- * - sandboxMode:有 confining 后端(sandboxPolicy 或 permission preset)→ 'workspace-write';
62
- * - approvalPolicy:有禁扩权机制(approval 或 permission preset)→ 'never'。
79
+ * - tools:只有当前 context 同时暴露 `restrict`/`guard` 时,才计算
80
+ * A∩B(A=真实 `tools.schemas()` Runtime inventory;B=preset 声明面,回退 session 装配面);
81
+ * schemas 单独存在只代表声明,不进入 RuntimeEnforceableSet,见 `readEnforceableSet`;
82
+ * - sandboxMode/approvalPolicy:只从当前 context-bound Session 的最新政策事件重建;
83
+ * 构造期 setter 是否存在不能证明这次 Session 当前已经可 enforce。
63
84
  */
64
85
  capabilities(context: unknown): Promise<RuntimeEnforceableSet>;
65
86
  /** preflight:纯检查、零副作用(M3-S1 Stage 3)。 */
66
87
  preflight(request: EnforcementRequest, context: unknown): Promise<PreflightResult>;
67
88
  /** materialize:把 EnforcementRequest 应用到 live session;失败 → DENIED + zero execution。 */
68
89
  materialize(request: EnforcementRequest, context: unknown): Promise<MaterializeResult>;
69
- /** cleanup:拆除 per-execution guard/restrict(session 级政策保留)。 */
70
- cleanup(_request: EnforcementRequest, context: unknown): Promise<CleanupResult>;
71
90
  dispatch(input: DispatchInput): Promise<DispatchReceipt>;
72
91
  observeExecution(refs: {
73
92
  sessionRef: string;
@@ -0,0 +1,13 @@
1
+ import type { RuntimeEvent } from './contract.js';
2
+ import { type DshUsageCounts, type DshTurnUsageDeriver } from './dsh-usage.js';
3
+ export interface DshTurnCostObservation {
4
+ status: 'IN_PROGRESS' | 'COMPLETE' | 'UNAVAILABLE';
5
+ reasonCode: string | null;
6
+ observationSequence: number;
7
+ observedRequests: number;
8
+ reportedRequests: number;
9
+ usage: DshUsageCounts | null;
10
+ }
11
+ /** An exact turn start is captured by the host observer, not inferred from a tool argument. */
12
+ export declare function extractDshTurnCost(events: readonly RuntimeEvent[] | null, fromSeq: number, derive: DshTurnUsageDeriver | null): DshTurnCostObservation;
13
+ export declare function observeDshTurnCost(session: unknown, fromSeq: number): Promise<DshTurnCostObservation>;
@@ -0,0 +1,16 @@
1
+ import type { RuntimeEvent } from './contract.js';
2
+ /** Supported DSH Session read surfaces; the live Session is never wrapped. */
3
+ export interface DshSessionEventSource {
4
+ readonly snapshotEvents?: () => readonly RuntimeEvent[];
5
+ readonly events?: readonly RuntimeEvent[];
6
+ }
7
+ /**
8
+ * Read the current snapshot on every call. Only absence of the modern API
9
+ * permits legacy access; a broken advertised API must not hide behind stale
10
+ * legacy evidence. null means unreadable, whereas [] is a proven empty log.
11
+ */
12
+ export declare function readDshSessionEvents(session: unknown): readonly RuntimeEvent[] | null;
13
+ /** Only explicit message IDs establish correlation, never text substrings. */
14
+ export declare function locateDshDispatchRef(events: readonly RuntimeEvent[], ref: string): number;
15
+ /** Read only this dispatch's response; absent output never borrows a prior Claim. */
16
+ export declare function readDshDispatchSummary(session: unknown, dispatchRef: string): string | null;
@@ -0,0 +1,36 @@
1
+ import type { RuntimeEvent } from './contract.js';
2
+ export interface DshUsageCounts {
3
+ readonly uncachedInputTokens: number;
4
+ readonly outputTokens: number;
5
+ readonly totalTokens: number;
6
+ readonly cacheReadTokens?: number;
7
+ readonly cacheWriteTokens?: number;
8
+ /** Already part of outputTokens; never add it to the total. */
9
+ readonly reasoningTokens?: number;
10
+ readonly routes?: readonly {
11
+ provider: string;
12
+ model: string;
13
+ }[];
14
+ }
15
+ /** Neutral observation only; its caller supplies the canonical Kingdom relation. */
16
+ export interface DshDispatchUsageObservation {
17
+ readonly type: 'DshDispatchUsage/v1';
18
+ readonly source: 'provider-reported';
19
+ readonly runtimeDispatchRef: string;
20
+ readonly status: 'COMPLETE' | 'PARTIAL' | 'UNAVAILABLE';
21
+ readonly reasonCode: string | null;
22
+ readonly turn: number | null;
23
+ readonly fromSeq: number | null;
24
+ readonly throughSeq: number | null;
25
+ readonly observedRequests: number;
26
+ readonly reportedRequests: number;
27
+ /** Present only if the complete turn and every billed attempt are provable. */
28
+ readonly usage: DshUsageCounts | null;
29
+ }
30
+ export type DshTurnUsageDeriver = (events: readonly RuntimeEvent[]) => unknown;
31
+ export declare function normalizeDshUsageCounts(value: unknown): DshUsageCounts | null;
32
+ /** Pure extraction from an already acquired snapshot; no persistence or model calls. */
33
+ export declare function extractDshDispatchUsage(events: readonly RuntimeEvent[] | null, runtimeDispatchRef: string, deriveTurnUsage: DshTurnUsageDeriver | null): DshDispatchUsageObservation;
34
+ /** Optional public package export; never deep-import private runtime files. */
35
+ export declare function loadDshUsageReader(): Promise<DshTurnUsageDeriver | null>;
36
+ export declare function observeDshDispatchUsage(session: unknown, runtimeDispatchRef: string): Promise<DshDispatchUsageObservation>;
@@ -0,0 +1,13 @@
1
+ import type { KingdomStore } from '../core/db.js';
2
+ import { type AdminAuth } from '../core/binding.js';
3
+ export interface SetCapabilityCeilingInput {
4
+ kingdomId: string;
5
+ /** JSON object string; null clears the ceiling and keeps governed execution fail-closed. */
6
+ ceilingJson: string | null;
7
+ }
8
+ /**
9
+ * Set or clear the existing Owner Ceiling fact through the direct Owner
10
+ * Control plane. A runtime-derived principal or a session id supplied in
11
+ * tool arguments is never accepted here.
12
+ */
13
+ export declare function setCapabilityCeiling(store: KingdomStore, input: SetCapabilityCeilingInput, auth?: AdminAuth): string;
@@ -7,12 +7,19 @@
7
7
  * `setApprovalPolicy(session, 'never')`(user-approval/src/index.ts:142);
8
8
  * - 工具面:`agent.ctx.tools.restrict({allow})`(tools/src/index.ts:1071)+
9
9
  * `agent.ctx.tools.guard(...)`(:1110,单调拒绝、body 不执行,C-009);
10
+ * 只有同时存在这两个 context-bound seam 时,schemas inventory 才能进入
11
+ * RuntimeEnforceableSet;schemas 本身只是声明面,不是 enforcement 证据;
10
12
  * - fail-before-dispatch:任一步失败 → cleanup + DENIED,zero execution;
11
13
  * - evidence 诚实:typed envelope 只记录真实应用的事实与事件证据,不夸大(G5/G9)。
12
14
  */
13
15
  import type { CleanupResult, EnforcementRequest, MaterializeResult, RuntimeEnforceableSet } from '../adapter/contract.js';
16
+ import { type DshSessionEventSource } from '../adapter/dsh-session-events.js';
14
17
  /** DSH 政策注入面(结构型)。 */
15
18
  export interface DshPolicyDeps {
19
+ /** Optional display-only pilot; it never changes the Gate's allowed set. */
20
+ toolDisclosure?: {
21
+ install(agent: DshEnforcementContext['agent'], tools: readonly string[]): () => void;
22
+ };
16
23
  /** ctx.get('permission')——permissionPresets.set(session, name)。 */
17
24
  permission?: {
18
25
  set(session: unknown, name: string): void;
@@ -28,7 +35,9 @@ export interface DshPolicyDeps {
28
35
  }
29
36
  /** 结构面:live agent 的作用域工具 API(guard/restrict 返回 disposer;schemas 为真实 Runtime inventory)。 */
30
37
  export interface DshAgentScopeLike {
38
+ on?(event: string, callback: (...args: any[]) => any): () => void;
31
39
  tools?: {
40
+ get?(name: string): unknown;
32
41
  guard?(guard: (exec: {
33
42
  name: string;
34
43
  }) => string | undefined): () => void;
@@ -51,12 +60,7 @@ export interface DshEnforcementContext {
51
60
  /** live agent(agent.ctx.tools 用于 per-execution guard/restrict)。 */
52
61
  agent: {
53
62
  ctx: DshAgentScopeLike;
54
- session: {
55
- events: readonly {
56
- type: string;
57
- data?: Record<string, unknown>;
58
- }[];
59
- };
63
+ session: DshSessionEventSource;
60
64
  };
61
65
  /**
62
66
  * 真实 **agent preset** id(createSession 时装配的 preset:standard/code/minimal/…)。
@@ -77,7 +81,7 @@ export declare const TEARDOWN_EVIDENCE_TYPE = "DshEnforcementTeardownEvidence/v1
77
81
  /**
78
82
  * 从真实 DSH API 重建 context-bound RuntimeEnforceableSet(Owner S4 seam 裁决:A∩B)。
79
83
  *
80
- * - A = **Runtime Tool Inventory**:`tools.schemas()`(实证返回 `[{name,description,parameters}]`);
84
+ * - A = **Runtime Tool Inventory**:`tools.schemas()`(实证返回 `[{name,description,parameters}]`),但只有当前 context 同时有 `restrict` 与 `guard` 才能证明 A 可 enforce;
81
85
  * - B = **Actual Agent Preset / Session Tool Surface**:仅用 `context.agentPresetId`(真实 agent preset:
82
86
  * standard/code/minimal/…)调 `presets.resolveMountable(agentPresetId)`(await + catch,**禁止未处理
83
87
  * rejection 泄漏**——BLOCKER #2 根因);`permission/preset` 事件值是 PermissionPresetService 的预设名
@@ -2,19 +2,21 @@
2
2
  * dsh-kingdom — v0.8 Capability Gate(M3-S4 服务层,TX-0D..TX-2S/2F 编排)。
3
3
  *
4
4
  * 依 M3-S4 Thin Spec §1 + v6 §4 TX 流程:
5
- * - TX-0D:resolution DENY(coverage ≠ FULL / ceiling 缺失)→ DENIED Decision + zero execution;
5
+ * - TX-0D:ceiling/grant/交集为空 → DENIED Decision + zero execution;
6
6
  * - TX-1:写 Enforcement Plan(lease.enforcement_plan_snapshot)→ PREPARING → MATERIALIZING;
7
7
  * - TX-2S:preflight → materialize 成功 → GRANTED+ENFORCED + evidence → bind → DISPATCH_READY;
8
8
  * - TX-2F:materialize/preflight 失败 → DENIED(UNAVAILABLE/FAILED)→ cleanup → RELEASED(zero execution)。
9
9
  *
10
- * fail-closed:coverage≠FULL 即拒(缺少任一必需能力不得「部分治理」蒙混);
10
+ * fail-closed:requirement_coverage 仅信息字段;部分/无覆盖不单独拒绝,
11
+ * 但没有有效交集或 Runtime enforcement 失败仍绝不 dispatch;
11
12
  * materialize 失败绝不产生声称 GRANTED+ENFORCED 但实际没装 policy 的 Execution。
12
13
  */
13
14
  import type { KingdomStore, CapabilityDecisionRow, LeaseRow } from '../core/db.js';
14
- import type { RuntimeAdapter } from '../adapter/contract.js';
15
+ import type { EnforcementRequest, RuntimeAdapter } from '../adapter/contract.js';
15
16
  import type { DshEnforcementContext } from './dsh-enforcement.js';
16
17
  import { type GrantMap } from './resolver.js';
17
18
  export interface CapabilityGateInput {
19
+ stillAuthorized?: () => boolean;
18
20
  store: KingdomStore;
19
21
  adapter: RuntimeAdapter;
20
22
  kingdomId: string;
@@ -39,6 +41,11 @@ export interface CapabilityGateResult {
39
41
  decision: CapabilityDecisionRow;
40
42
  lease: LeaseRow;
41
43
  materialized: boolean;
44
+ /**
45
+ * 成功 Gate 交给后续 dispatch/settlement 的同一份 materialized request。
46
+ * 失败时为 null;禁止消费者自行重算 teardown target。
47
+ */
48
+ enforcementRequest: EnforcementRequest | null;
42
49
  }
43
50
  /**
44
51
  * 完整能力闸门(TX-0D..TX-2S/2F):
@@ -0,0 +1,36 @@
1
+ import type { DisclosureCostMeta } from '../runtime-cost-observer.js';
2
+ export declare const DISCOVERY_TOOL_NAME = "kingdom_find_tools";
3
+ export interface ToolDisclosureConfig {
4
+ mode: 'off' | 'pilot';
5
+ residentTools?: string[];
6
+ phaseTools?: string[];
7
+ maxResults?: number;
8
+ maxResultBytes?: number;
9
+ }
10
+ interface Scope {
11
+ tools?: {
12
+ schemas?(): unknown;
13
+ get?(name: string): unknown;
14
+ };
15
+ on?(event: string, callback: (...args: any[]) => any): () => void;
16
+ }
17
+ interface Agent {
18
+ ctx: Scope;
19
+ }
20
+ /** Display policy only. The existing Capability Gate remains authoritative for calls. */
21
+ export declare class ToolDisclosureRuntime {
22
+ readonly config: Readonly<Required<ToolDisclosureConfig>>;
23
+ private readonly states;
24
+ private readonly active;
25
+ private readonly observations;
26
+ constructor(config: ToolDisclosureConfig);
27
+ metadata(assembly: object): DisclosureCostMeta | undefined;
28
+ private catalog;
29
+ install(agent: Agent, allowedTools: readonly string[]): () => void;
30
+ find(input: unknown, execution: {
31
+ agent?: unknown;
32
+ signal?: AbortSignal;
33
+ }): unknown;
34
+ dispose(): void;
35
+ }
36
+ export {};