kiokuko-dsh 0.1.6 → 0.1.7
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/dist/dsh/commands.d.ts +11 -2
- package/dist/dsh/commands.d.ts.map +1 -1
- package/dist/dsh/commands.js +46 -22
- package/dist/dsh/commands.js.map +1 -1
- package/dist/dsh/host-adapter.d.ts.map +1 -1
- package/dist/dsh/host-adapter.js +80 -29
- package/dist/dsh/host-adapter.js.map +1 -1
- package/dist/dsh/intake-gate.d.ts.map +1 -1
- package/dist/dsh/intake-gate.js +76 -46
- package/dist/dsh/intake-gate.js.map +1 -1
- package/dist/dsh/intake-profile-resolver.d.ts.map +1 -1
- package/dist/dsh/intake-profile-resolver.js +9 -2
- package/dist/dsh/intake-profile-resolver.js.map +1 -1
- package/docs/dsh-plugin.md +17 -8
- package/package.json +1 -1
package/dist/dsh/commands.d.ts
CHANGED
|
@@ -18,6 +18,13 @@ export interface DshNativeCommandDefinition {
|
|
|
18
18
|
export interface DshNativeCommandInvocation {
|
|
19
19
|
readonly rawInput: string;
|
|
20
20
|
readonly signal: AbortSignal;
|
|
21
|
+
readonly agent?: {
|
|
22
|
+
readonly id: string;
|
|
23
|
+
readonly session?: {
|
|
24
|
+
readonly id: string;
|
|
25
|
+
};
|
|
26
|
+
readonly sessionId?: string;
|
|
27
|
+
};
|
|
21
28
|
}
|
|
22
29
|
export type DshNativeCommandResult = {
|
|
23
30
|
readonly kind: 'success';
|
|
@@ -29,14 +36,16 @@ export type DshNativeCommandResult = {
|
|
|
29
36
|
/** Own request-local Ponytail state; it never changes global configuration. */
|
|
30
37
|
export declare class DshPonytailModes {
|
|
31
38
|
#private;
|
|
32
|
-
begin(requestId: string): void;
|
|
39
|
+
begin(requestId: string, owner?: string): void;
|
|
33
40
|
isActive(requestId: string): boolean;
|
|
34
41
|
set(requestId: string, mode: PonytailMode): PonytailMode;
|
|
35
|
-
execute(args: readonly string[]): string;
|
|
42
|
+
execute(args: readonly string[], owner?: string): string;
|
|
36
43
|
mode(requestId: string): PonytailMode | undefined;
|
|
37
44
|
end(requestId: string): boolean;
|
|
38
45
|
dispose(): void;
|
|
39
46
|
}
|
|
47
|
+
/** Stable owner key shared by turn admission and native command dispatch. */
|
|
48
|
+
export declare function dshPonytailOwnerKey(agentId: string, sessionId: string): string;
|
|
40
49
|
export declare function mountDshPonytailCommand(ctx: DshPonytailCommandContext, modes: DshPonytailModes): () => void;
|
|
41
50
|
/** Bind the command handler to one active request without leaking that request identity into the command text. */
|
|
42
51
|
export declare function executeDshPonytailCommand(modes: DshPonytailModes, requestId: string, args: readonly string[]): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/dsh/commands.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,oCAAqC,CAAA;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE;QACR,6EAA6E;QAC7E,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,KAAK,MAAM,IAAI,CAAC,GAClF,CAAC,CAAC,UAAU,EAAE,0BAA0B,KAAK,MAAM,IAAI,CAAC,CAAA;KAC7D,CAAA;CACF;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,0BAA0B,KAAK,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;CACvH;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/dsh/commands.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc,oCAAqC,CAAA;AAChE,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE;QACR,6EAA6E;QAC7E,QAAQ,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,MAAM,KAAK,MAAM,IAAI,CAAC,GAClF,CAAC,CAAC,UAAU,EAAE,0BAA0B,KAAK,MAAM,IAAI,CAAC,CAAA;KAC7D,CAAA;CACF;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,0BAA0B,KAAK,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;CACvH;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE;QACf,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;QACnB,QAAQ,CAAC,OAAO,CAAC,EAAE;YAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;SAAE,CAAA;QAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAC5B,CAAA;CACF;AAED,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AASrD,+EAA+E;AAC/E,qBAAa,gBAAgB;;IAI3B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAU9C,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAIpC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,GAAG,YAAY;IAOxD,OAAO,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;IAgBxD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIjD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAS/B,OAAO,IAAI,IAAI;CAIhB;AAED,6EAA6E;AAC7E,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9E;AAED,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,yBAAyB,EAAE,KAAK,EAAE,gBAAgB,GAAG,MAAM,IAAI,CA0B3G;AAED,kHAAkH;AAClH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAGrH"}
|
package/dist/dsh/commands.js
CHANGED
|
@@ -8,48 +8,68 @@ function parseMode(args) {
|
|
|
8
8
|
}
|
|
9
9
|
/** Own request-local Ponytail state; it never changes global configuration. */
|
|
10
10
|
export class DshPonytailModes {
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
begin(requestId) {
|
|
11
|
+
#modes = new Map();
|
|
12
|
+
#requestByOwner = new Map();
|
|
13
|
+
begin(requestId, owner) {
|
|
14
14
|
if (requestId.length === 0 || requestId.length > 256 || /[\p{Cc}]/u.test(requestId))
|
|
15
15
|
throw new KiokukoError('VALIDATION_ERROR', 'requestId is invalid');
|
|
16
|
-
if (this.#
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
if (!this.#modes.has(requestId))
|
|
17
|
+
this.#modes.set(requestId, undefined);
|
|
18
|
+
if (owner !== undefined) {
|
|
19
|
+
const previous = this.#requestByOwner.get(owner);
|
|
20
|
+
if (previous !== undefined && previous !== requestId)
|
|
21
|
+
this.end(previous);
|
|
22
|
+
this.#requestByOwner.set(owner, requestId);
|
|
23
|
+
}
|
|
20
24
|
}
|
|
21
25
|
isActive(requestId) {
|
|
22
|
-
return this.#
|
|
26
|
+
return this.#modes.has(requestId);
|
|
23
27
|
}
|
|
24
28
|
set(requestId, mode) {
|
|
25
|
-
if (this.#
|
|
29
|
+
if (!this.#modes.has(requestId))
|
|
26
30
|
throw new KiokukoError('CONFLICT', 'ponytail is available only for the active logical request');
|
|
27
31
|
if (!PONYTAIL_MODES.includes(mode))
|
|
28
32
|
throw new KiokukoError('VALIDATION_ERROR', 'Unknown ponytail mode');
|
|
29
|
-
this.#
|
|
33
|
+
this.#modes.set(requestId, mode);
|
|
30
34
|
return mode;
|
|
31
35
|
}
|
|
32
|
-
execute(args) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
execute(args, owner) {
|
|
37
|
+
const requestId = owner === undefined
|
|
38
|
+
? this.#modes.size === 1 ? this.#modes.keys().next().value : undefined
|
|
39
|
+
: this.#requestByOwner.get(owner);
|
|
40
|
+
if (requestId === undefined) {
|
|
41
|
+
const message = this.#modes.size === 0
|
|
42
|
+
? 'ponytail is available only for an active logical request'
|
|
43
|
+
: owner === undefined && this.#modes.size > 1
|
|
44
|
+
? 'ponytail requires the current request scope when multiple requests are active'
|
|
45
|
+
: 'ponytail is not active for the current request';
|
|
46
|
+
throw new KiokukoError('CONFLICT', message);
|
|
47
|
+
}
|
|
48
|
+
const mode = this.set(requestId, parseMode(args));
|
|
36
49
|
return `Ponytail mode set to ${mode} for the active request.`;
|
|
37
50
|
}
|
|
38
51
|
mode(requestId) {
|
|
39
|
-
return this.#
|
|
52
|
+
return this.#modes.get(requestId);
|
|
40
53
|
}
|
|
41
54
|
end(requestId) {
|
|
42
|
-
|
|
55
|
+
const deleted = this.#modes.delete(requestId);
|
|
56
|
+
if (!deleted)
|
|
43
57
|
return false;
|
|
44
|
-
this.#
|
|
45
|
-
|
|
46
|
-
|
|
58
|
+
for (const [owner, activeRequestId] of this.#requestByOwner) {
|
|
59
|
+
if (activeRequestId === requestId)
|
|
60
|
+
this.#requestByOwner.delete(owner);
|
|
61
|
+
}
|
|
62
|
+
return deleted;
|
|
47
63
|
}
|
|
48
64
|
dispose() {
|
|
49
|
-
this.#
|
|
50
|
-
this.#
|
|
65
|
+
this.#modes.clear();
|
|
66
|
+
this.#requestByOwner.clear();
|
|
51
67
|
}
|
|
52
68
|
}
|
|
69
|
+
/** Stable owner key shared by turn admission and native command dispatch. */
|
|
70
|
+
export function dshPonytailOwnerKey(agentId, sessionId) {
|
|
71
|
+
return `${agentId}\u0000${sessionId}`;
|
|
72
|
+
}
|
|
53
73
|
export function mountDshPonytailCommand(ctx, modes) {
|
|
54
74
|
// Cordis test doubles and early dsh adapters used the two-argument helper;
|
|
55
75
|
// dsh-commands uses one immutable definition object. Supporting both keeps
|
|
@@ -66,7 +86,11 @@ export function mountDshPonytailCommand(ctx, modes) {
|
|
|
66
86
|
handler: (invocation) => {
|
|
67
87
|
try {
|
|
68
88
|
const args = invocation.rawInput.trim().length === 0 ? [] : invocation.rawInput.trim().split(/\s+/u);
|
|
69
|
-
|
|
89
|
+
const sessionId = invocation.agent?.session?.id ?? invocation.agent?.sessionId;
|
|
90
|
+
const owner = invocation.agent === undefined || sessionId === undefined
|
|
91
|
+
? undefined
|
|
92
|
+
: dshPonytailOwnerKey(invocation.agent.id, sessionId);
|
|
93
|
+
return { kind: 'success', text: modes.execute(args, owner) };
|
|
70
94
|
}
|
|
71
95
|
catch (error) {
|
|
72
96
|
return { kind: 'error', text: error instanceof Error ? error.message : 'Invalid Ponytail command.' };
|
package/dist/dsh/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/dsh/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAE3C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/dsh/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-adapter.d.ts","sourceRoot":"","sources":["../../src/dsh/host-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"host-adapter.d.ts","sourceRoot":"","sources":["../../src/dsh/host-adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EACL,wBAAwB,EACxB,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAA;AAczB,OAAO,EAAqB,KAAK,eAAe,EAA+B,MAAM,sBAAsB,CAAA;AAmC3G,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IAClF,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9D;AAMD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;IAC3B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAA;CACpC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CACtC;AAoID,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,qBAA0B,GAAG,cAAc,CA8jBtG;AAkBD,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
|
package/dist/dsh/host-adapter.js
CHANGED
|
@@ -4,12 +4,13 @@ import { randomUUID } from 'node:crypto';
|
|
|
4
4
|
import { KIOKUKO_DSH_HOST_SERVICE, } from './composition.js';
|
|
5
5
|
import { DshRuntime } from './runtime.js';
|
|
6
6
|
import { DshIntakeGate } from './intake-gate.js';
|
|
7
|
+
import { resolveGroundedIntakeProfile } from './intake-profile-resolver.js';
|
|
7
8
|
import { DshToolPolicy } from './tool-policy.js';
|
|
8
9
|
import { DSH_MODEL_FACING_OPERATIONS, } from './tools.js';
|
|
9
10
|
import { DshSessionBridge, DshRunLifecycle } from './session-bridge.js';
|
|
10
11
|
import { DshEnnoController } from './enno-controller.js';
|
|
11
12
|
import { DshAdvisoryRunner } from './advisory-runner.js';
|
|
12
|
-
import { DshPonytailModes } from './commands.js';
|
|
13
|
+
import { DshPonytailModes, dshPonytailOwnerKey } from './commands.js';
|
|
13
14
|
import { createDshIntakeAnswerer, createDshConfirmationAnswerer } from './user-interaction.js';
|
|
14
15
|
import { createDshCapabilityCatalog } from './capability-catalog.js';
|
|
15
16
|
import { STANDARD_SKILL_MANIFESTS } from '../setup/standard-skills.js';
|
|
@@ -24,13 +25,23 @@ import { curateMemoryCandidates } from '../memory/curator.js';
|
|
|
24
25
|
import { checkpointScopedMemoryWithProvenance } from '../memory/scoped-memory.js';
|
|
25
26
|
import { LedgerStore } from '../ledger/store.js';
|
|
26
27
|
function textFromMessages(messages) {
|
|
27
|
-
const
|
|
28
|
+
const userTexts = [];
|
|
29
|
+
const legacyTexts = [];
|
|
28
30
|
for (const value of messages) {
|
|
29
31
|
if (typeof value !== 'object' || value === null || Array.isArray(value))
|
|
30
32
|
continue;
|
|
31
33
|
const message = value;
|
|
32
34
|
if (message.role !== undefined && message.role !== 'user')
|
|
33
35
|
continue;
|
|
36
|
+
const source = message.source;
|
|
37
|
+
const sourceKind = typeof source === 'object' && source !== null && !Array.isArray(source)
|
|
38
|
+
? source.kind
|
|
39
|
+
: undefined;
|
|
40
|
+
// File/session context and other host instructions may intentionally use
|
|
41
|
+
// the user role so the model sees them. They are still not the human's
|
|
42
|
+
// request and must not influence intake classification or task identity.
|
|
43
|
+
if (sourceKind !== undefined && sourceKind !== 'user')
|
|
44
|
+
continue;
|
|
34
45
|
const content = message.content;
|
|
35
46
|
if (!Array.isArray(content))
|
|
36
47
|
continue;
|
|
@@ -38,10 +49,18 @@ function textFromMessages(messages) {
|
|
|
38
49
|
if (typeof block !== 'object' || block === null || Array.isArray(block))
|
|
39
50
|
continue;
|
|
40
51
|
const text = block.text;
|
|
41
|
-
if (typeof text
|
|
42
|
-
|
|
52
|
+
if (typeof text !== 'string' || text.length === 0)
|
|
53
|
+
continue;
|
|
54
|
+
if (sourceKind === 'user')
|
|
55
|
+
userTexts.push(text);
|
|
56
|
+
else
|
|
57
|
+
legacyTexts.push(text);
|
|
43
58
|
}
|
|
44
59
|
}
|
|
60
|
+
// Current DSH messages carry provenance. Keep the legacy fallback only for
|
|
61
|
+
// older host doubles/adapters, and never merge it with authenticated user
|
|
62
|
+
// text when both are present.
|
|
63
|
+
const texts = userTexts.length > 0 ? userTexts : legacyTexts;
|
|
45
64
|
const task = texts.join('\n').trim();
|
|
46
65
|
if (task.length === 0)
|
|
47
66
|
throw new Error('dsh pre-step did not contain a user task');
|
|
@@ -157,8 +176,9 @@ export function createDshHostAdapter(ctx, options = {}) {
|
|
|
157
176
|
const modes = new DshPonytailModes();
|
|
158
177
|
const confirmation = userQuestions === undefined ? undefined : createDshConfirmationAnswerer(userQuestions);
|
|
159
178
|
let prepareGeneration = 0;
|
|
160
|
-
const
|
|
161
|
-
|
|
179
|
+
const continuedTurns = new Map();
|
|
180
|
+
let retireSupersededRun;
|
|
181
|
+
const identityKey = (agentId, sessionId) => dshPonytailOwnerKey(agentId, sessionId);
|
|
162
182
|
const turnKey = (agentId, sessionId, turn) => `${identityKey(agentId, sessionId)}\u0000${turn}`;
|
|
163
183
|
const record = (event, result, generation) => {
|
|
164
184
|
const run = result.prepared.run.runId;
|
|
@@ -222,7 +242,7 @@ export function createDshHostAdapter(ctx, options = {}) {
|
|
|
222
242
|
if (activeModeRequest !== modeRequest) {
|
|
223
243
|
if (activeModeRequest !== undefined)
|
|
224
244
|
modes.end(activeModeRequest);
|
|
225
|
-
modes.begin(modeRequest);
|
|
245
|
+
modes.begin(modeRequest, modeKey);
|
|
226
246
|
activeModeRequests.set(modeKey, modeRequest);
|
|
227
247
|
}
|
|
228
248
|
const existingState = states.get(item.runId);
|
|
@@ -260,32 +280,47 @@ export function createDshHostAdapter(ctx, options = {}) {
|
|
|
260
280
|
skillDiscoveryMode: event.skillDiscoveryMode ?? null,
|
|
261
281
|
catalogDigest: event.capabilities.digest,
|
|
262
282
|
});
|
|
263
|
-
const cached =
|
|
283
|
+
const cached = continuedTurns.get(cacheKey);
|
|
264
284
|
if (cached !== undefined) {
|
|
265
285
|
if (cached.fingerprint !== fingerprint
|
|
266
286
|
|| cached.nativeAgent !== event.nativeAgent
|
|
267
287
|
|| cached.nativeSession !== event.nativeSession) {
|
|
268
|
-
throw new KiokukoError('CONFLICT', 'dsh
|
|
288
|
+
throw new KiokukoError('CONFLICT', 'dsh continued turn was reused with different bound input');
|
|
269
289
|
}
|
|
270
290
|
this.assertCatalog(cached.result.catalog, event.capabilities);
|
|
271
291
|
return event.signal.aborted ? { ...cached.result, admitted: false } : cached.result;
|
|
272
292
|
}
|
|
273
293
|
const previous = currentForAgentEvent(event.agent.id, event.sessionId, undefined, event.nativeSession, event.nativeAgent);
|
|
274
|
-
if (previous !== undefined
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
const
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
294
|
+
if (previous !== undefined && previous.turn < event.turn) {
|
|
295
|
+
if (event.signal.aborted)
|
|
296
|
+
return { admitted: false, prepared: previous.prepared, catalog: event.capabilities };
|
|
297
|
+
const previousState = await runtime.withDatabase((database) => stateForRun(database, previous));
|
|
298
|
+
const previousWasChat = previous.prepared.intake.profile.taskType === 'chat';
|
|
299
|
+
const continuePrevious = previousWasChat
|
|
300
|
+
? event.profileHints?.taskType === 'chat'
|
|
301
|
+
: previousState.status !== 'completed'
|
|
302
|
+
&& previousState.status !== 'blocked'
|
|
303
|
+
&& previousState.status !== 'cancelled'
|
|
304
|
+
&& previousState.nextAction !== 'complete';
|
|
305
|
+
if (continuePrevious) {
|
|
306
|
+
this.assertCatalog(previous.catalog, event.capabilities);
|
|
307
|
+
const continued = { admitted: !event.signal.aborted, prepared: previous.prepared, catalog: event.capabilities };
|
|
308
|
+
if (continued.admitted) {
|
|
309
|
+
continuedTurns.set(cacheKey, {
|
|
310
|
+
fingerprint,
|
|
311
|
+
result: continued,
|
|
312
|
+
...(event.nativeAgent === undefined ? {} : { nativeAgent: event.nativeAgent }),
|
|
313
|
+
...(event.nativeSession === undefined ? {} : { nativeSession: event.nativeSession }),
|
|
314
|
+
});
|
|
315
|
+
record(event, continued, generation);
|
|
316
|
+
}
|
|
317
|
+
return continued;
|
|
287
318
|
}
|
|
288
|
-
|
|
319
|
+
if (event.signal.aborted)
|
|
320
|
+
return { admitted: false, prepared: previous.prepared, catalog: event.capabilities };
|
|
321
|
+
if (retireSupersededRun === undefined)
|
|
322
|
+
throw new Error('kiokuko-dsh run lifecycle is unavailable');
|
|
323
|
+
await retireSupersededRun(previous, previousState.status === 'cancelled' ? 'cancelled' : previousState.status === 'blocked' ? 'failed' : 'completed');
|
|
289
324
|
}
|
|
290
325
|
const prepared = await super.prepare(event);
|
|
291
326
|
if (prepared.admitted)
|
|
@@ -304,7 +339,7 @@ export function createDshHostAdapter(ctx, options = {}) {
|
|
|
304
339
|
}
|
|
305
340
|
clearTurn(sessionId, turn) {
|
|
306
341
|
super.clearTurn(sessionId, turn);
|
|
307
|
-
|
|
342
|
+
continuedTurns.delete(`${sessionId}\u0000${turn}`);
|
|
308
343
|
}
|
|
309
344
|
}
|
|
310
345
|
const gate = new CapturingGate(runtime, userQuestions === undefined ? undefined : createDshIntakeAnswerer(userQuestions), (context) => capabilityCatalog(skills, tools, context));
|
|
@@ -370,10 +405,21 @@ export function createDshHostAdapter(ctx, options = {}) {
|
|
|
370
405
|
step: payload.step,
|
|
371
406
|
task,
|
|
372
407
|
cwd,
|
|
373
|
-
...((
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
408
|
+
...(() => {
|
|
409
|
+
if (bound !== undefined) {
|
|
410
|
+
return continuedTurns.has(`${sessionId}\u0000${payload.turn}`)
|
|
411
|
+
? { profileHints: { taskType: bound.prepared.intake.profile.taskType } }
|
|
412
|
+
: {};
|
|
413
|
+
}
|
|
414
|
+
if (previous === undefined)
|
|
415
|
+
return {};
|
|
416
|
+
const inferred = resolveGroundedIntakeProfile({ task, cwd }).profileHints.taskType;
|
|
417
|
+
const previousType = previous.prepared.intake.profile.taskType;
|
|
418
|
+
if (inferred === null || previousType === 'chat' && inferred === 'chat') {
|
|
419
|
+
return { profileHints: { taskType: previousType } };
|
|
420
|
+
}
|
|
421
|
+
return {};
|
|
422
|
+
})(),
|
|
377
423
|
capabilities: catalog,
|
|
378
424
|
signal: payload.signal,
|
|
379
425
|
};
|
|
@@ -602,6 +648,8 @@ export function createDshHostAdapter(ctx, options = {}) {
|
|
|
602
648
|
return { runId: item.runId, status: 'failed' };
|
|
603
649
|
if (state.status === 'cancelled')
|
|
604
650
|
return { runId: item.runId, status: 'cancelled' };
|
|
651
|
+
if (state.status === 'blocked' || state.nextAction === 'report_blocker')
|
|
652
|
+
return { runId: item.runId, status: 'failed' };
|
|
605
653
|
// A chat run spans the quiet time between user messages. Enno's
|
|
606
654
|
// inapplicable `complete` means that no orchestration is required for this
|
|
607
655
|
// turn; it does not mean that the persistent conversation has ended.
|
|
@@ -610,7 +658,7 @@ export function createDshHostAdapter(ctx, options = {}) {
|
|
|
610
658
|
if (state.status === 'completed' || state.nextAction === 'complete')
|
|
611
659
|
return { runId: item.runId, status: 'completed' };
|
|
612
660
|
// Idle means the driver has no active work, not that Enno reached a
|
|
613
|
-
// terminal state. Keep
|
|
661
|
+
// terminal state. Keep only genuinely resumable active states open.
|
|
614
662
|
return undefined;
|
|
615
663
|
};
|
|
616
664
|
const resolveSessionClose = async (sessionId, nativeSession) => {
|
|
@@ -622,6 +670,8 @@ export function createDshHostAdapter(ctx, options = {}) {
|
|
|
622
670
|
const state = await runtime.withDatabase((database) => stateForRun(database, item));
|
|
623
671
|
if (state.status === 'cancelled')
|
|
624
672
|
return { runId: item.runId, status: 'cancelled' };
|
|
673
|
+
if (state.status === 'blocked' || state.nextAction === 'report_blocker')
|
|
674
|
+
return { runId: item.runId, status: 'failed' };
|
|
625
675
|
if (item.prepared.intake.profile.taskType === 'chat' || state.status === 'completed' || state.nextAction === 'complete') {
|
|
626
676
|
return { runId: item.runId, status: 'completed' };
|
|
627
677
|
}
|
|
@@ -660,6 +710,7 @@ export function createDshHostAdapter(ctx, options = {}) {
|
|
|
660
710
|
item.failed = true;
|
|
661
711
|
});
|
|
662
712
|
const bridgeLifecycle = new DshRunLifecycle({ bridge, closeRun });
|
|
713
|
+
retireSupersededRun = (item, status) => bridgeLifecycle.closeTurn({ runId: item.runId, status });
|
|
663
714
|
const host = {
|
|
664
715
|
...(skills === undefined ? {} : { skills: skills }),
|
|
665
716
|
...(systemPrompt === undefined ? {} : { systemPrompt }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"host-adapter.js","sourceRoot":"","sources":["../../src/dsh/host-adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"host-adapter.js","sourceRoot":"","sources":["../../src/dsh/host-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-gate.d.ts","sourceRoot":"","sources":["../../src/dsh/intake-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AACrG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAGvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAC9C,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,yBAAyB,CAAA;AAEhC,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAC3C,qEAAqE;IACrE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IAChD,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAA;IAC3C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,GAC3B;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAE1G,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CACvC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;IACvC,QAAQ,CAAC,WAAW,CAAC,EAAE,oBAAoB,CAAA;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;CAC7B;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAIxE;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,kBAAkB,CAAC,KAAK,OAAO,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,IAAI,CAAA;CAC7L;AAYD,qHAAqH;AACrH,qBAAa,aAAa;;
|
|
1
|
+
{"version":3,"file":"intake-gate.d.ts","sourceRoot":"","sources":["../../src/dsh/intake-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/dsh/intake-gate.js
CHANGED
|
@@ -22,6 +22,7 @@ export class DshIntakeGate {
|
|
|
22
22
|
#answerer;
|
|
23
23
|
#readCapabilities;
|
|
24
24
|
#prepared = new Map();
|
|
25
|
+
#preparing = new Map();
|
|
25
26
|
constructor(runtime, answerer, readCapabilities) {
|
|
26
27
|
this.#runtime = runtime;
|
|
27
28
|
this.#answerer = answerer;
|
|
@@ -62,62 +63,89 @@ export class DshIntakeGate {
|
|
|
62
63
|
assertDshCapabilityCatalogStable(cached.result.catalog, event.capabilities);
|
|
63
64
|
return cached.result;
|
|
64
65
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
...(event.skillDiscoveryMode === undefined ? {} : { skillDiscoveryMode: event.skillDiscoveryMode }),
|
|
73
|
-
signal: event.signal,
|
|
74
|
-
}));
|
|
75
|
-
while (prepared.intake.status === 'needs_answer') {
|
|
76
|
-
if (this.#answerer === undefined || prepared.intake.question === null) {
|
|
77
|
-
const result = { admitted: false, prepared, catalog: event.capabilities };
|
|
78
|
-
this.#prepared.set(cacheKey, {
|
|
79
|
-
fingerprint,
|
|
80
|
-
result,
|
|
81
|
-
agentId: event.agent.id,
|
|
82
|
-
...(event.nativeAgent === undefined ? {} : { nativeAgent: event.nativeAgent }),
|
|
83
|
-
...(event.nativeSession === undefined ? {} : { nativeSession: event.nativeSession }),
|
|
84
|
-
});
|
|
85
|
-
return result;
|
|
66
|
+
const inFlight = this.#preparing.get(cacheKey);
|
|
67
|
+
if (inFlight !== undefined) {
|
|
68
|
+
if (inFlight.fingerprint !== fingerprint
|
|
69
|
+
|| inFlight.agentId !== event.agent.id
|
|
70
|
+
|| inFlight.nativeAgent !== event.nativeAgent
|
|
71
|
+
|| inFlight.nativeSession !== event.nativeSession) {
|
|
72
|
+
conflict('dsh logical turn was reused with different bound input');
|
|
86
73
|
}
|
|
87
|
-
const
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
signal: event.signal,
|
|
95
|
-
});
|
|
96
|
-
assertDshCapabilityCatalogStable(event.capabilities, currentCapabilities);
|
|
97
|
-
prepared = await this.#runtime.withDatabase((database) => answerAgentTask(database, {
|
|
98
|
-
sessionId: prepared.intake.sessionId,
|
|
99
|
-
runId: prepared.run.runId,
|
|
100
|
-
questionId: prepared.intake.question.id,
|
|
101
|
-
value,
|
|
74
|
+
const result = await inFlight.promise;
|
|
75
|
+
return event.signal.aborted ? { ...result, admitted: false } : result;
|
|
76
|
+
}
|
|
77
|
+
const operation = (async () => {
|
|
78
|
+
let prepared = await this.#runtime.withDatabase((database) => prepareAgentTask(database, {
|
|
79
|
+
requestId,
|
|
80
|
+
task: grounded.task,
|
|
102
81
|
cwd: grounded.cwd,
|
|
82
|
+
profileHints: grounded.profileHints,
|
|
103
83
|
capabilities: [...event.capabilities.skills, ...event.capabilities.tools],
|
|
84
|
+
client: { kind: 'dsh', sessionId: event.sessionId },
|
|
104
85
|
...(event.skillDiscoveryMode === undefined ? {} : { skillDiscoveryMode: event.skillDiscoveryMode }),
|
|
105
86
|
signal: event.signal,
|
|
106
87
|
}));
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
88
|
+
while (prepared.intake.status === 'needs_answer') {
|
|
89
|
+
if (this.#answerer === undefined || prepared.intake.question === null) {
|
|
90
|
+
const result = { admitted: false, prepared, catalog: event.capabilities };
|
|
91
|
+
this.#prepared.set(cacheKey, {
|
|
92
|
+
fingerprint,
|
|
93
|
+
result,
|
|
94
|
+
agentId: event.agent.id,
|
|
95
|
+
...(event.nativeAgent === undefined ? {} : { nativeAgent: event.nativeAgent }),
|
|
96
|
+
...(event.nativeSession === undefined ? {} : { nativeSession: event.nativeSession }),
|
|
97
|
+
});
|
|
98
|
+
return result;
|
|
99
|
+
}
|
|
100
|
+
const value = await this.#answerer.ask(prepared.intake.question, event.signal, event.nativeAgent);
|
|
101
|
+
const currentCapabilities = this.#readCapabilities === undefined
|
|
102
|
+
? event.capabilities
|
|
103
|
+
: await this.#readCapabilities({
|
|
104
|
+
agent: event.agent,
|
|
105
|
+
...(event.nativeAgent === undefined ? {} : { nativeAgent: event.nativeAgent }),
|
|
106
|
+
cwd: event.cwd,
|
|
107
|
+
signal: event.signal,
|
|
108
|
+
});
|
|
109
|
+
assertDshCapabilityCatalogStable(event.capabilities, currentCapabilities);
|
|
110
|
+
prepared = await this.#runtime.withDatabase((database) => answerAgentTask(database, {
|
|
111
|
+
sessionId: prepared.intake.sessionId,
|
|
112
|
+
runId: prepared.run.runId,
|
|
113
|
+
questionId: prepared.intake.question.id,
|
|
114
|
+
value,
|
|
115
|
+
cwd: grounded.cwd,
|
|
116
|
+
capabilities: [...event.capabilities.skills, ...event.capabilities.tools],
|
|
117
|
+
...(event.skillDiscoveryMode === undefined ? {} : { skillDiscoveryMode: event.skillDiscoveryMode }),
|
|
118
|
+
signal: event.signal,
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
const result = prepared.nextAction !== 'proceed'
|
|
122
|
+
? { admitted: false, prepared, catalog: event.capabilities }
|
|
123
|
+
: { admitted: true, prepared, catalog: event.capabilities };
|
|
124
|
+
this.#prepared.set(cacheKey, {
|
|
125
|
+
fingerprint,
|
|
126
|
+
result,
|
|
127
|
+
agentId: event.agent.id,
|
|
128
|
+
...(event.nativeAgent === undefined ? {} : { nativeAgent: event.nativeAgent }),
|
|
129
|
+
...(event.nativeSession === undefined ? {} : { nativeSession: event.nativeSession }),
|
|
130
|
+
});
|
|
131
|
+
if (event.signal.aborted)
|
|
132
|
+
return { admitted: false, prepared, catalog: event.capabilities };
|
|
133
|
+
return result;
|
|
134
|
+
})();
|
|
135
|
+
this.#preparing.set(cacheKey, {
|
|
112
136
|
fingerprint,
|
|
113
|
-
result,
|
|
114
137
|
agentId: event.agent.id,
|
|
115
138
|
...(event.nativeAgent === undefined ? {} : { nativeAgent: event.nativeAgent }),
|
|
116
139
|
...(event.nativeSession === undefined ? {} : { nativeSession: event.nativeSession }),
|
|
140
|
+
promise: operation,
|
|
117
141
|
});
|
|
118
|
-
|
|
119
|
-
return
|
|
120
|
-
|
|
142
|
+
try {
|
|
143
|
+
return await operation;
|
|
144
|
+
}
|
|
145
|
+
finally {
|
|
146
|
+
if (this.#preparing.get(cacheKey)?.promise === operation)
|
|
147
|
+
this.#preparing.delete(cacheKey);
|
|
148
|
+
}
|
|
121
149
|
}
|
|
122
150
|
async preStep(event, next) {
|
|
123
151
|
const result = await this.prepare(event);
|
|
@@ -136,7 +164,9 @@ export class DshIntakeGate {
|
|
|
136
164
|
}
|
|
137
165
|
/** Release the cached preparation for a turn once its owning run closes. */
|
|
138
166
|
clearTurn(sessionId, turn) {
|
|
139
|
-
|
|
167
|
+
const key = `${sessionId}\u0000${turn}`;
|
|
168
|
+
this.#prepared.delete(key);
|
|
169
|
+
this.#preparing.delete(key);
|
|
140
170
|
}
|
|
141
171
|
}
|
|
142
172
|
export function mountDshIntakeGate(ctx, gate) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-gate.js","sourceRoot":"","sources":["../../src/dsh/intake-gate.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"intake-gate.js","sourceRoot":"","sources":["../../src/dsh/intake-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-profile-resolver.d.ts","sourceRoot":"","sources":["../../src/dsh/intake-profile-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,sBAAsB,CAAA;AAEjE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAgBD,uFAAuF;AACvF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,0BAA0B,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"intake-profile-resolver.d.ts","sourceRoot":"","sources":["../../src/dsh/intake-profile-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAY,MAAM,sBAAsB,CAAA;AAEjE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,YAAY,EAAE,WAAW,CAAA;IAClC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CACrC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAgBD,uFAAuF;AACvF,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,0BAA0B,GAAG,qBAAqB,CAsBrG;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAIlE"}
|
|
@@ -22,10 +22,17 @@ export function resolveGroundedIntakeProfile(input) {
|
|
|
22
22
|
if (!path.isAbsolute(cwd))
|
|
23
23
|
validation('cwd must be absolute');
|
|
24
24
|
const hints = input.profileHints ?? {};
|
|
25
|
+
const groundedExpected = task.length <= 4_000
|
|
26
|
+
? task
|
|
27
|
+
: 'Complete the requested work and verify the result against the full task.';
|
|
25
28
|
const profile = deriveProfile(task, {
|
|
26
29
|
taskType: hints.taskType ?? null,
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
// The native DSH turn is already bound to one canonical workspace and to
|
|
31
|
+
// the user's exact request. Those are grounded answers to the generic
|
|
32
|
+
// target/completion fields; asking the user to repeat them adds no
|
|
33
|
+
// information and blocks the model before it can inspect referenced files.
|
|
34
|
+
target: optionalText(hints.target) ?? cwd,
|
|
35
|
+
expected: optionalText(hints.expected) ?? groundedExpected,
|
|
29
36
|
constraints: optionalText(hints.constraints),
|
|
30
37
|
});
|
|
31
38
|
const evidence = input.evidence ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intake-profile-resolver.js","sourceRoot":"","sources":["../../src/dsh/intake-profile-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAA;AAsBrD,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAA;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,KAAa,EAAE,OAAe;IACjE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,OAAO,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,UAAU,CAAC,GAAG,KAAK,qCAAqC,CAAC,CAAA;IAChL,OAAO,KAAK,CAAC,IAAI,EAAE,CAAA;AACrB,CAAC;AAED,SAAS,YAAY,CAAC,KAAgC;IACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,IAAI,CAAA;IACtD,OAAO,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,CAAC,CAAA;AAClD,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,4BAA4B,CAAC,KAAiC;IAC5E,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,CAAA;IACvD,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;IAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,UAAU,CAAC,sBAAsB,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,IAAI,EAAE,CAAA;IACtC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE;QAClC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QAChC,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"intake-profile-resolver.js","sourceRoot":"","sources":["../../src/dsh/intake-profile-resolver.ts"],"names":[],"mappings":"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"}
|
package/docs/dsh-plugin.md
CHANGED
|
@@ -136,15 +136,19 @@ The dsh integration provides:
|
|
|
136
136
|
|
|
137
137
|
- the exact bundled `kiokuko-soul` system-prompt section and six standard Skill
|
|
138
138
|
providers;
|
|
139
|
-
- one current Akinator question at a time
|
|
140
|
-
|
|
139
|
+
- one current Akinator question at a time only when the task type remains
|
|
140
|
+
ambiguous; the canonical workspace and exact user request ground the target
|
|
141
|
+
and completion fields without asking the user to repeat known context, and
|
|
142
|
+
unresolved intake blocks the model and tools;
|
|
141
143
|
- an explicit `chat` intake choice (including free-form aliases such as
|
|
142
144
|
`just chatting` and `雑談`) and the task-type question's **Skip this
|
|
143
145
|
question** action; both skip target/success follow-ups and never create an
|
|
144
|
-
Enno-Oduno contract, and the chat choice carries across
|
|
145
|
-
|
|
146
|
+
Enno-Oduno contract, and the chat choice carries across conversational
|
|
147
|
+
follow-ups until an explicit actionable request starts a new run;
|
|
146
148
|
- all fourteen Kiokuko operations, with only the seven model-facing operations
|
|
147
149
|
exposed as model tools and host identity injected after argument validation;
|
|
150
|
+
- request-scoped Ponytail state for concurrent DSH conversations, with native
|
|
151
|
+
commands routed to the exact invoking agent and session;
|
|
148
152
|
- revision, route, phase, lease, idempotency, confirmation, verifier, and
|
|
149
153
|
meditation gates through the Kiokuko core;
|
|
150
154
|
- ordered, idempotent SessionEvent bridging with a final flush before terminal
|
|
@@ -152,10 +156,15 @@ The dsh integration provides:
|
|
|
152
156
|
- bounded turn continuation, exact run/session/workspace/route binding, and
|
|
153
157
|
in-memory plaintext continuation tokens.
|
|
154
158
|
|
|
155
|
-
Ordinary chat remains open while the agent is idle between
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
+
Ordinary chat remains open while the agent is idle between conversational
|
|
160
|
+
messages. An explicit build, debug, review, research, writing, analysis, or
|
|
161
|
+
DevOps request closes the preceding chat run before starting its task run.
|
|
162
|
+
An unfinished, resumable non-chat run remains bound across later user turns so
|
|
163
|
+
a follow-up instruction does not orphan the existing plan. Completed,
|
|
164
|
+
cancelled, and blocked runs are closed before the next independent request
|
|
165
|
+
starts; blocked runs retain their failed ledger outcome rather than lingering
|
|
166
|
+
as unusable active bindings. Disposing the DSH session closes its current run
|
|
167
|
+
after queued events are durable.
|
|
159
168
|
|
|
160
169
|
`runId` is required for dsh resume. The plugin never selects a repository-wide
|
|
161
170
|
latest run. Ambiguous, stale, cancelled, aborted, lease-conflicting, or
|