kiokuko 1.0.20 → 1.0.21
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/agent-file/render.d.ts +1 -1
- package/dist/agent-file/render.js +3 -3
- package/dist/agent-file/render.js.map +1 -1
- package/dist/akinator/agent-task.d.ts +27 -0
- package/dist/akinator/agent-task.d.ts.map +1 -1
- package/dist/akinator/agent-task.js +14 -5
- package/dist/akinator/agent-task.js.map +1 -1
- package/dist/akinator/capability-contract.d.ts +25 -0
- package/dist/akinator/capability-contract.d.ts.map +1 -0
- package/dist/akinator/capability-contract.js +33 -0
- package/dist/akinator/capability-contract.js.map +1 -0
- package/dist/akinator/instructions.d.ts +3 -1
- package/dist/akinator/instructions.d.ts.map +1 -1
- package/dist/akinator/instructions.js +3 -1
- package/dist/akinator/instructions.js.map +1 -1
- package/dist/akinator/preparation-recovery.d.ts +48 -0
- package/dist/akinator/preparation-recovery.d.ts.map +1 -0
- package/dist/akinator/preparation-recovery.js +161 -0
- package/dist/akinator/preparation-recovery.js.map +1 -0
- package/dist/akinator/service.d.ts +7 -0
- package/dist/akinator/service.d.ts.map +1 -1
- package/dist/akinator/service.js +13 -0
- package/dist/akinator/service.js.map +1 -1
- package/dist/assurance/codex-hooks.d.ts.map +1 -1
- package/dist/assurance/codex-hooks.js +45 -4
- package/dist/assurance/codex-hooks.js.map +1 -1
- package/dist/assurance/contracts.d.ts +8 -1
- package/dist/assurance/contracts.d.ts.map +1 -1
- package/dist/assurance/contracts.js +3 -2
- package/dist/assurance/contracts.js.map +1 -1
- package/dist/assurance/hook-diagnostics.d.ts +4 -0
- package/dist/assurance/hook-diagnostics.d.ts.map +1 -0
- package/dist/assurance/hook-diagnostics.js +16 -0
- package/dist/assurance/hook-diagnostics.js.map +1 -0
- package/dist/commands/codex-hook.d.ts.map +1 -1
- package/dist/commands/codex-hook.js +15 -0
- package/dist/commands/codex-hook.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +5 -2
- package/dist/commands/setup.js.map +1 -1
- package/dist/gateway/agent-service.d.ts +4 -0
- package/dist/gateway/agent-service.d.ts.map +1 -1
- package/dist/gateway/agent-service.js +14 -5
- package/dist/gateway/agent-service.js.map +1 -1
- package/dist/mcp/request-deadline.d.ts +1 -1
- package/dist/mcp/request-deadline.d.ts.map +1 -1
- package/dist/mcp/request-deadline.js +1 -0
- package/dist/mcp/request-deadline.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +53 -8
- package/dist/mcp/server.js.map +1 -1
- package/dist/server/routes/task-assurance.d.ts.map +1 -1
- package/dist/server/routes/task-assurance.js +8 -3
- package/dist/server/routes/task-assurance.js.map +1 -1
- package/dist/setup/codex-hooks.d.ts +7 -1
- package/dist/setup/codex-hooks.d.ts.map +1 -1
- package/dist/setup/codex-hooks.js +12 -2
- package/dist/setup/codex-hooks.js.map +1 -1
- package/dist/setup/render.js +2 -2
- package/dist/setup/render.js.map +1 -1
- package/docs/client-compatibility.md +51 -2
- package/docs/memory-assurance.md +5 -3
- package/migrations/009_preparation_recovery.sql +11 -0
- package/package.json +1 -1
- package/skills/kiokuko-soul/SKILL.md +6 -2
- package/templates/AGENTS.md +3 -3
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import * as z from 'zod/v4';
|
|
2
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
3
|
+
import { withImmediateTransaction } from '../db/transaction.js';
|
|
4
|
+
import { KiokukoError } from '../errors.js';
|
|
5
|
+
import { LedgerStore } from '../ledger/store.js';
|
|
6
|
+
import { AgentGatewayService } from '../gateway/agent-service.js';
|
|
7
|
+
import { canonicalContentHash } from '../serialization/validate.js';
|
|
8
|
+
import { resolveProjectWorkspaceReadOnly } from '../memory/workspaces.js';
|
|
9
|
+
import { canonicalDirectory } from '../repository/detect-root.js';
|
|
10
|
+
import { captureProjectManifestSnapshot, bindProjectManifestSnapshot, assertProjectManifestSnapshotBinding, } from '../repository/project-fingerprint.js';
|
|
11
|
+
import { assuranceState, enrollAssurance, bindAssuranceRoot } from '../assurance/service.js';
|
|
12
|
+
import { getAkinatorStateService } from './service.js';
|
|
13
|
+
import { resolveCapabilities, hasBlockingRequiredCapability } from './capabilities.js';
|
|
14
|
+
import { capabilityCatalogDigest, assertCapabilityCatalogBinding } from './capability-binding.js';
|
|
15
|
+
import { assertPreparationCapabilities, capabilityCatalogSchema } from './capability-contract.js';
|
|
16
|
+
import { readTaskContextRequestBinding, bindTaskContextRequest, bindSkillDiscoveryRequest, skillDiscoveryRequestIdentity, assertSkillDiscoveryRequestBinding, finalizeAgentTask, } from './agent-task.js';
|
|
17
|
+
import { readSkillDiscoveryConfig } from '../skills/config.js';
|
|
18
|
+
const id = z.string().min(1).max(256).refine(value => value.trim() === value && !/\p{Cc}/u.test(value));
|
|
19
|
+
export const preparationRecoverySchema = z.object({
|
|
20
|
+
cwd: z.string().min(1).max(4096),
|
|
21
|
+
runId: id,
|
|
22
|
+
requestId: id,
|
|
23
|
+
operationId: id,
|
|
24
|
+
expectedRevision: z.number().int().min(0),
|
|
25
|
+
soulRead: z.literal(true),
|
|
26
|
+
previousCapabilities: z.array(z.unknown()).optional(),
|
|
27
|
+
capabilities: capabilityCatalogSchema,
|
|
28
|
+
}).strict();
|
|
29
|
+
function conflict(message) { throw new KiokukoError('CONFLICT', message); }
|
|
30
|
+
/** Establish the immutable predecessor identity without retrieving its memories. */
|
|
31
|
+
async function readPredecessor(db, input) {
|
|
32
|
+
const root = canonicalDirectory(input.cwd);
|
|
33
|
+
const project = await resolveProjectWorkspaceReadOnly(db, root);
|
|
34
|
+
if (!project)
|
|
35
|
+
conflict('Recovery project is not registered');
|
|
36
|
+
const old = new LedgerStore(db).readRun(input.runId);
|
|
37
|
+
if (!old || old.workspace !== project.workspace
|
|
38
|
+
|| assuranceState(db, old.runId)?.repository_root !== project.repositoryRoot) {
|
|
39
|
+
conflict('Recovery repository differs from predecessor');
|
|
40
|
+
}
|
|
41
|
+
assertCapabilityCatalogBinding(old.metadata, input.previousCapabilities);
|
|
42
|
+
const openingKey = `mcp-task-prepare-${canonicalContentHash({ version: 1, requestId: input.requestId })}`;
|
|
43
|
+
const opening = db.prepare("SELECT response_json FROM gateway_idempotency WHERE scope='agent.run.open' AND key_hash=?")
|
|
44
|
+
.get(createHash('sha256').update(openingKey).digest('hex'));
|
|
45
|
+
if (!opening || JSON.parse(opening.response_json).runId !== old.runId) {
|
|
46
|
+
conflict('Logical request does not identify predecessor');
|
|
47
|
+
}
|
|
48
|
+
const session = db.prepare('SELECT session_id FROM run_intakes WHERE run_id=?')
|
|
49
|
+
.get(old.runId);
|
|
50
|
+
if (!session)
|
|
51
|
+
conflict('Predecessor intake is unavailable');
|
|
52
|
+
const intake = await getAkinatorStateService(db, { workspace: old.workspace, sessionId: session.session_id });
|
|
53
|
+
const capabilities = resolveCapabilities({
|
|
54
|
+
task: intake.session.task, profile: intake.session.profile, recommendedTags: intake.recommendedTags,
|
|
55
|
+
capabilities: input.previousCapabilities, memoryUse: 'none',
|
|
56
|
+
});
|
|
57
|
+
if (!hasBlockingRequiredCapability(capabilities))
|
|
58
|
+
conflict('Predecessor is not capability blocked');
|
|
59
|
+
const binding = readTaskContextRequestBinding(old.metadata);
|
|
60
|
+
if (!binding)
|
|
61
|
+
conflict('Predecessor retrieval binding is unavailable');
|
|
62
|
+
return { root, project, old, intake, binding };
|
|
63
|
+
}
|
|
64
|
+
/** Check safety again under the write lock, including work admitted by client hooks. */
|
|
65
|
+
function assertUnexecutedPredecessor(db, input, old) {
|
|
66
|
+
const current = new LedgerStore(db).readRun(old.runId);
|
|
67
|
+
const state = assuranceState(db, old.runId);
|
|
68
|
+
if (!['active', 'intake'].includes(current.status) || state?.revision !== input.expectedRevision
|
|
69
|
+
|| current.lastSequence !== old.lastSequence)
|
|
70
|
+
conflict('Predecessor state changed');
|
|
71
|
+
const executed = db.prepare(`SELECT 1 FROM ledger_events WHERE run_id=? AND event_type NOT IN
|
|
72
|
+
('intake.started','intake.answered','intake.ready','intake.exhausted','run.started') LIMIT 1`).get(old.runId);
|
|
73
|
+
const evidence = db.prepare('SELECT 1 FROM task_execution_evidence WHERE run_id=? LIMIT 1').get(old.runId);
|
|
74
|
+
const hook = db.prepare('SELECT 1 FROM codex_hook_tools WHERE run_id=? LIMIT 1').get(old.runId);
|
|
75
|
+
const running = db.prepare("SELECT 1 FROM agent_task_skill_discovery_attempts WHERE run_id=? AND state='started' LIMIT 1")
|
|
76
|
+
.get(old.runId);
|
|
77
|
+
if (executed || evidence || hook || running)
|
|
78
|
+
conflict('Predecessor has execution or in-flight work');
|
|
79
|
+
}
|
|
80
|
+
/** Recover only an unexecuted capability-blocked task; retain its immutable history. */
|
|
81
|
+
export async function recoverTaskPreparation(db, raw, signal) {
|
|
82
|
+
const parsed = preparationRecoverySchema.safeParse(raw);
|
|
83
|
+
if (!parsed.success)
|
|
84
|
+
throw new KiokukoError('VALIDATION_ERROR', 'Invalid preparation recovery input');
|
|
85
|
+
const input = parsed.data;
|
|
86
|
+
assertPreparationCapabilities(input.capabilities);
|
|
87
|
+
signal?.throwIfAborted();
|
|
88
|
+
const { root, project, old, intake, binding } = await readPredecessor(db, input);
|
|
89
|
+
const requestDigest = canonicalContentHash({
|
|
90
|
+
...input, cwd: root, previousCapabilities: capabilityCatalogDigest(input.previousCapabilities),
|
|
91
|
+
capabilities: capabilityCatalogDigest(input.capabilities),
|
|
92
|
+
});
|
|
93
|
+
const operationHash = canonicalContentHash(input.operationId);
|
|
94
|
+
const logicalHash = canonicalContentHash(input.requestId);
|
|
95
|
+
const manifestSnapshot = captureProjectManifestSnapshot(project);
|
|
96
|
+
const discovery = skillDiscoveryRequestIdentity(readSkillDiscoveryConfig().mode, input.capabilities);
|
|
97
|
+
const successor = withImmediateTransaction(db, () => {
|
|
98
|
+
signal?.throwIfAborted();
|
|
99
|
+
const operation = db.prepare('SELECT predecessor_run_id FROM task_preparation_recoveries WHERE operation_hash=?')
|
|
100
|
+
.get(operationHash);
|
|
101
|
+
if (operation && operation.predecessor_run_id !== old.runId)
|
|
102
|
+
conflict('Recovery operation belongs to another predecessor');
|
|
103
|
+
const prior = db.prepare('SELECT * FROM task_preparation_recoveries WHERE predecessor_run_id=?')
|
|
104
|
+
.get(old.runId);
|
|
105
|
+
if (prior) {
|
|
106
|
+
if (prior.request_digest !== requestDigest || prior.operation_hash !== operationHash
|
|
107
|
+
|| prior.logical_request_hash !== logicalHash)
|
|
108
|
+
conflict('Recovery operation conflicts');
|
|
109
|
+
return prior.successor_run_id;
|
|
110
|
+
}
|
|
111
|
+
assertUnexecutedPredecessor(db, input, old);
|
|
112
|
+
const newRunId = randomUUID();
|
|
113
|
+
const gateway = new AgentGatewayService(db, { runIdFactory: () => newRunId });
|
|
114
|
+
gateway.openRunInTransaction({
|
|
115
|
+
idempotencyKey: `recovery-${canonicalContentHash({ predecessor: old.runId, operationHash })}`,
|
|
116
|
+
request: {
|
|
117
|
+
apiVersion: '1', workspace: old.workspace, client: old.client,
|
|
118
|
+
captureProfile: old.captureProfile, coverage: old.coverage,
|
|
119
|
+
task: { title: old.title ?? intake.session.task, query: intake.session.task, profileHints: intake.session.profile },
|
|
120
|
+
capabilities: input.capabilities,
|
|
121
|
+
metadata: bindTaskContextRequest(bindSkillDiscoveryRequest(bindProjectManifestSnapshot({ source: 'mcp' }, project, manifestSnapshot), discovery), binding.maxContextChars, binding.temporal, binding.relatedMode),
|
|
122
|
+
},
|
|
123
|
+
}, { predecessorRunId: old.runId });
|
|
124
|
+
const now = new Date().toISOString();
|
|
125
|
+
enrollAssurance(db, newRunId, now);
|
|
126
|
+
bindAssuranceRoot(db, newRunId, project.repositoryRoot, 'pending');
|
|
127
|
+
const store = new LedgerStore(db);
|
|
128
|
+
store.appendBatchInTransaction(old.runId, { events: [{
|
|
129
|
+
eventId: randomUUID(), eventType: 'run.closed', actor: 'kiokuko', occurredAt: now,
|
|
130
|
+
payload: { status: 'failed', reason: 'capability_preparation_recovered', successorRunId: newRunId },
|
|
131
|
+
}] });
|
|
132
|
+
store.updateRunStatusInTransaction(old.runId, 'failed', now);
|
|
133
|
+
db.prepare(`INSERT INTO task_preparation_recoveries
|
|
134
|
+
(predecessor_run_id,successor_run_id,request_digest,operation_hash,logical_request_hash,
|
|
135
|
+
old_catalog_digest,new_catalog_digest,created_at) VALUES (?,?,?,?,?,?,?,?)`)
|
|
136
|
+
.run(old.runId, newRunId, requestDigest, operationHash, logicalHash, capabilityCatalogDigest(input.previousCapabilities), capabilityCatalogDigest(input.capabilities), now);
|
|
137
|
+
return newRunId;
|
|
138
|
+
});
|
|
139
|
+
const newRun = new LedgerStore(db).readRun(successor);
|
|
140
|
+
if (!['active', 'intake'].includes(newRun.status))
|
|
141
|
+
conflict('Recovered successor is terminal');
|
|
142
|
+
assertProjectManifestSnapshotBinding(newRun.metadata, project, manifestSnapshot);
|
|
143
|
+
assertSkillDiscoveryRequestBinding(newRun.metadata, discovery);
|
|
144
|
+
const session = db.prepare('SELECT session_id FROM run_intakes WHERE run_id=?')
|
|
145
|
+
.get(successor);
|
|
146
|
+
const context = await getAkinatorStateService(db, { workspace: old.workspace, sessionId: session.session_id });
|
|
147
|
+
const prepared = await finalizeAgentTask({
|
|
148
|
+
database: db, project,
|
|
149
|
+
executionContext: {
|
|
150
|
+
canonicalCwd: root, repositoryRoot: project.repositoryRoot,
|
|
151
|
+
cwdIsRepositoryRoot: root === project.repositoryRoot, pathPolicy: 'canonical_absolute_under_repository_root',
|
|
152
|
+
},
|
|
153
|
+
manifestSnapshot, context, runId: successor, capabilities: input.capabilities,
|
|
154
|
+
maxContextChars: binding.maxContextChars,
|
|
155
|
+
...(binding.temporal === undefined ? {} : { temporal: binding.temporal }),
|
|
156
|
+
relatedMode: binding.relatedMode, discoveryMode: discovery.mode,
|
|
157
|
+
...(signal === undefined ? {} : { signal }),
|
|
158
|
+
});
|
|
159
|
+
return { ...prepared, recoveredFromRunId: old.runId };
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=preparation-recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preparation-recovery.js","sourceRoot":"","sources":["../../src/akinator/preparation-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,13 @@ export interface AkinatorAnswerTransactionResult {
|
|
|
24
24
|
}
|
|
25
25
|
/** Caller-owned transaction primitive. It never begins, commits, or rolls back. */
|
|
26
26
|
export declare function startAkinatorInTransaction(database: SqliteDatabase, input: StartAkinatorInput): AkinatorResult;
|
|
27
|
+
/** Clone intake progress into a fresh session inside the caller's transaction. */
|
|
28
|
+
export declare function cloneAkinatorInTransaction(database: SqliteDatabase, input: {
|
|
29
|
+
workspace: string;
|
|
30
|
+
sessionId: string;
|
|
31
|
+
successorSessionId: string;
|
|
32
|
+
now: string;
|
|
33
|
+
}): AkinatorResult;
|
|
27
34
|
export declare function startAkinatorService(database: SqliteDatabase, input: StartAkinatorInput): Promise<AkinatorResult>;
|
|
28
35
|
/** Caller-owned transaction primitive. It never begins, commits, or rolls back. */
|
|
29
36
|
export declare function answerAkinatorInTransaction(database: SqliteDatabase, input: AnswerAkinatorInput): AkinatorAnswerTransactionResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/akinator/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAiBvD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAuB,WAAW,EAAE,MAAM,YAAY,CAAC;AAKpG,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,WAAW,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAqLD,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAsBhB;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GACzB,+BAA+B,CA0CjC;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAOzB;AAED,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAyB1B"}
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/akinator/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAiBvD,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAuB,WAAW,EAAE,MAAM,YAAY,CAAC;AAKpG,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,WAAW,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B;AAqLD,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACxB,cAAc,CAsBhB;AAED,kFAAkF;AAClF,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACvF,cAAc,CAWhB;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,kBAAkB,GACxB,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED,mFAAmF;AACnF,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GACzB,+BAA+B,CA0CjC;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC,cAAc,CAAC,CAGzB;AAED,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,cAAc,CAAC,CAOzB;AAED,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAyB1B"}
|
package/dist/akinator/service.js
CHANGED
|
@@ -221,6 +221,19 @@ export function startAkinatorInTransaction(database, input) {
|
|
|
221
221
|
});
|
|
222
222
|
return resultForSession(session);
|
|
223
223
|
}
|
|
224
|
+
/** Clone intake progress into a fresh session inside the caller's transaction. */
|
|
225
|
+
export function cloneAkinatorInTransaction(database, input) {
|
|
226
|
+
const previous = readAkinatorSession(database, { workspace: input.workspace, sessionId: input.sessionId });
|
|
227
|
+
const session = insertAkinatorSession(database, {
|
|
228
|
+
id: input.successorSessionId, workspace: previous.workspace, task: previous.task,
|
|
229
|
+
profile: previous.profile, status: previous.status, questionCount: previous.questionCount,
|
|
230
|
+
createdAt: input.now, updatedAt: input.now,
|
|
231
|
+
});
|
|
232
|
+
database.prepare(`INSERT INTO akinator_answers (session_id, question_id, answer_json, created_at)
|
|
233
|
+
SELECT ?, question_id, answer_json, created_at FROM akinator_answers WHERE session_id=?`)
|
|
234
|
+
.run(session.id, previous.id);
|
|
235
|
+
return resultForSession(session);
|
|
236
|
+
}
|
|
224
237
|
export async function startAkinatorService(database, input) {
|
|
225
238
|
const normalized = startInput(input);
|
|
226
239
|
return withImmediateTransaction(database, () => startAkinatorInTransaction(database, normalized));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/akinator/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAoB,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,MAAM,yBAAyB,GAAG,EAAE,GAAG,IAAI,CAAC;AAC5C,MAAM,cAAc,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAU,CAAC;AA4BlF,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe,EAAE,UAAmC,EAAE;IACtE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,OAAO;QAAE,MAAM,IAAI,YAAY,CAAC,oBAAoB,EAAE,0DAA0D,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AAChJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,yBAAyB,EAAE,CAAC;QACjE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,kCAAkC,yBAAyB,QAAQ,CAAC,CAAC;IAClH,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa,EAAE,UAA6B;IACvE,cAAc,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAoB;IAC7C,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC7B,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/C,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;AAC9D,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC;AACrC,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC;QAAE,UAAU,CAAC,mDAAmD,CAAC,CAAC;IACnJ,OAAO,KAA0B,CAAC;AACpC,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,UAAU,CAAC,8BAA8B,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;IACnF,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAE,UAAU,CAAC,oCAAoC,CAAC,CAAC;IAC9G,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,CAAC,sCAAsC,CAAC,CAAC;IACnI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,CAAC,iCAAiC,CAAC,CAAC;IACpH,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACjG,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC;QAAE,UAAU,CAAC,8BAA8B,CAAC,CAAC;IAC/G,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;QACjF,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QACtD,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;KACzE,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,UAAU,CAAC,+BAA+B,CAAC,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAClF,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAE,UAAU,CAAC,qCAAqC,CAAC,CAAC;IAC/G,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,CAAC,sCAAsC,CAAC,CAAC;IACnI,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,CAAC,sCAAsC,CAAC,CAAC;IACnI,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,UAAU,CAAC,+BAA+B,CAAC,CAAC;IACjF,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;IACjG,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAClD,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,UAAU;QACV,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;QAAE,UAAU,CAAC,gCAAgC,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAAE,UAAU,CAAC,sCAAsC,CAAC,CAAC;IAChH,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,CAAC,sCAAsC,CAAC,CAAC;IACnI,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,CAAC,sCAAsC,CAAC,CAAC;IACnI,OAAO;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,MAAgC;IACtD,OAAO,MAAM,KAAK,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACvD,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA4B;IACpD,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC3E,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM;QACzB,OAAO;QACP,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,aAAa,EAAE,UAAU,CAAC,aAAa;QACvC,eAAe,EAAE,UAAU,CAAC,eAAe;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,OAA4B,EAAE,KAA0B;IAC5E,IAAI,CAAC;QACH,OAAO,WAAW,CAAC;YACjB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,aAAa,EAAE,OAAO,CAAC,aAAa;SACrC,EAAE;YACD,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC/D,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,qDAAqD,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3G,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAiB,EAAE,KAAa;IAC3D,OAAO,aAAa,CAAC,QAAQ,CAAC,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,OAA4B;IAC7C,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;SACjG,MAAM,CAAC,CAAC,KAAK,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;SACjF,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,QAAwB,EAAE,SAAiB,EAAE,IAAc,EAAE,KAAK,GAAG,EAAE;IAC5F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,IAAI,MAAsD,CAAC;IAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC;;;;4CAIU,YAAY;UAC9C,MAAM,CAAC,CAAC,CAAC,2DAA2D,CAAC,CAAC,CAAC,EAAE;;KAE9E,CAAC,CAAC,GAAG,CAAqC,SAAS,EAAE,GAAG,IAAI,EAC3D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7F,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM;QAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;gBAChF,MAAM,IAAI,YAAY,CAAC,iBAAiB,EAAE,mCAAmC,CAAC,CAAC;YACjF,CAAC;YACD,MAAM,GAAG,GAAG,CAAC;YACb,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAClE,IAAI,kBAAkB,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,YAAY;mBACnE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK;gBAAE,OAAO,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,QAAwB,EAAE,OAA4B,EAAE,IAAc;IAC1F,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QACjB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACpI,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE;QAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,0BAA0B,CACxC,QAAwB,EACxB,KAAyB;IAEzB,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACpC,YAAY,CAAC,IAAI,CAAC,CAAC;IACnB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,OAAO,GAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IAChF,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvD,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,EAAE,CAAC;IAElD,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE;QAC9C,EAAE;QACF,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,IAAI;QACJ,OAAO;QACP,MAAM,EAAE,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC;QACzC,aAAa,EAAE,CAAC;QAChB,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAwB,EACxB,KAAyB;IAEzB,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,0BAA0B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AACpG,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,2BAA2B,CACzC,QAAwB,EACxB,KAA0B;IAE1B,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,UAAU,CAAC,yCAAyC,CAAC,CAAC;IAC9E,YAAY,CAAC,KAAK,CAAC,CAAC;IACpB,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEvD,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE;QAC5C,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;KAChC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,EAAE;QAC5C,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,UAAU,EAAE,UAAU,CAAC,UAAU;KAClC,CAAC,CAAC;IACH,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;YAAE,QAAQ,CAAC,oDAAoD,CAAC,CAAC;QACjH,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/D,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ;QAAE,QAAQ,CAAC,sCAAsC,CAAC,CAAC;IAElF,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,EAAE,EAAE,GAAG,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE;QAC9C,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,UAAU,EAAE,UAAU,CAAC,UAAU;QACjC,MAAM,EAAE,KAAK;QACb,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,QAAQ;QAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACpF,MAAM,OAAO,GAAG,qBAAqB,CAAC,QAAQ,EAAE;QAC9C,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,qBAAqB,EAAE,OAAO,CAAC,aAAa;QAC5C,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC;QACnC,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IACH,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AAChE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAwB,EACxB,KAA0B;IAE1B,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACtC,OAAO,wBAAwB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,2BAA2B,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAC5G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAwB,EACxB,KAA2B;IAE3B,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,mBAAmB,CAAC,QAAQ,EAAE;QAC5C,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,SAAS,EAAE,UAAU,CAAC,SAAS;KAChC,CAAC,CAAC;IACH,OAAO,gBAAgB,CAAC,OAAO,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAwB,EACxB,KAA2B;IAE3B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,cAAc,EAAE,CAAC;QACrC,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE,EAAE;YACX,YAAY,EAAE;gBACZ,6DAA6D;gBAC7D,4FAA4F;aAC7F;SACF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;IAExE,OAAO;QACL,GAAG,MAAM;QACT,OAAO;QACP,YAAY,EAAE;YACZ,uJAAuJ;YACvJ,yHAAyH;YACzH,sHAAsH;SACvH;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/akinator/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-hooks.d.ts","sourceRoot":"","sources":["../../src/assurance/codex-hooks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AASlE,eAAO,MAAM,qBAAqB,yMAAyM,CAAC;AAU5O,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAI9E;AAkBD,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAG9D;
|
|
1
|
+
{"version":3,"file":"codex-hooks.d.ts","sourceRoot":"","sources":["../../src/assurance/codex-hooks.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,kBAAkB,CAAC;AASlE,eAAO,MAAM,qBAAqB,yMAAyM,CAAC;AAU5O,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAI9E;AAkBD,iGAAiG;AACjG,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAG9D;AAmMD,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,OAAO,GAAG,MAAM,CAuBxE;AACD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAe3D"}
|
|
@@ -68,7 +68,7 @@ function memoryStepContext(db, runId, root) {
|
|
|
68
68
|
return context('PostToolUse', `Next action: review_memory_application (${report.pending.length} pending). Call task_memory_status with ${identity}, then task_memory_review for every pending entry. Use task_inspect for evidence and bundled Skills, including natural-japanese-output; do not use shell commands or code search yet. Submit reviews sequentially with the revision from the latest response. Register grounded adoption, inapplicability or contradiction; never invent decisions to unlock execution. After the last review, check task_memory_status. Do not repeat task_prepare.`);
|
|
69
69
|
return context('PostToolUse', 'Memory decisions are current; ordinary tools may proceed for this active run. Adopted code memories still require passing verification before completion.');
|
|
70
70
|
}
|
|
71
|
-
const preparationTools = new Set(['memory_index_submit', 'memory_index_review', 'task_inspect', 'task_prepare', 'task_answer', 'task_memory_review', 'task_memory_status', 'task_memory_refresh', 'task_execution_evidence', 'memory_checkpoint', 'memory_capture', 'memory_recall', 'handoff_save', 'handoff_load', 'handoff_discard', 'curator_check']);
|
|
71
|
+
const preparationTools = new Set(['memory_index_submit', 'memory_index_review', 'task_inspect', 'task_prepare', 'task_prepare_recover', 'task_answer', 'task_memory_review', 'task_memory_status', 'task_memory_refresh', 'task_execution_evidence', 'memory_checkpoint', 'memory_capture', 'memory_recall', 'handoff_save', 'handoff_load', 'handoff_discard', 'curator_check']);
|
|
72
72
|
function kiokukoTool(name) {
|
|
73
73
|
const match = /^mcp__kiokuko__(\w+)$/.exec(name);
|
|
74
74
|
return match && preparationTools.has(match[1]) ? match[1] : null;
|
|
@@ -131,6 +131,16 @@ function handleCodexHookEvent(db, raw) {
|
|
|
131
131
|
if (input.hook_event_name === 'PreToolUse') {
|
|
132
132
|
if (['spawn_agent', 'Agent'].includes(input.tool_name))
|
|
133
133
|
return deny('Delegation requires a client adapter that supplies distinct agent identity on every child tool event.');
|
|
134
|
+
if (operation === 'task_prepare_recover') {
|
|
135
|
+
const receipt = db.prepare('SELECT successor_run_id FROM task_preparation_recoveries WHERE predecessor_run_id=?')
|
|
136
|
+
.get(String(args.runId));
|
|
137
|
+
if (args.requestId !== requestId
|
|
138
|
+
|| (args.runId !== request.run_id && receipt?.successor_run_id !== request.run_id)
|
|
139
|
+
|| typeof args.cwd !== 'string' || realpathSync(args.cwd) !== root) {
|
|
140
|
+
return deny('Recovery must match the pending client request and predecessor');
|
|
141
|
+
}
|
|
142
|
+
return {};
|
|
143
|
+
}
|
|
134
144
|
if (operation === 'task_prepare') {
|
|
135
145
|
// Validate rather than rewrite: MCP updatedInput can trigger client approval.
|
|
136
146
|
// The model must supply its own read attestation and request binding.
|
|
@@ -182,6 +192,25 @@ function handleCodexHookEvent(db, raw) {
|
|
|
182
192
|
return deny('Tool call identity was reused with different input');
|
|
183
193
|
return {};
|
|
184
194
|
}
|
|
195
|
+
if (operation === 'task_prepare_recover') {
|
|
196
|
+
const result = responseData(input.tool_response);
|
|
197
|
+
const successor = record(result.run).runId;
|
|
198
|
+
if (typeof successor !== 'string')
|
|
199
|
+
return {};
|
|
200
|
+
const receipt = db.prepare('SELECT * FROM task_preparation_recoveries WHERE predecessor_run_id=?')
|
|
201
|
+
.get(String(args.runId));
|
|
202
|
+
if (!receipt || receipt.successor_run_id !== successor
|
|
203
|
+
|| receipt.logical_request_hash !== canonicalContentHash(requestId)
|
|
204
|
+
|| receipt.operation_hash !== canonicalContentHash(args.operationId)
|
|
205
|
+
|| (result.recoveredFromRunId !== request.run_id && successor !== request.run_id)
|
|
206
|
+
|| assuranceState(db, successor)?.repository_root !== root) {
|
|
207
|
+
throw new KiokukoError('CONFLICT', 'Recovery response does not match durable client binding');
|
|
208
|
+
}
|
|
209
|
+
const admitted = ['proceed', 'review_memory_application', 'refresh_memory'].includes(String(result.nextAction));
|
|
210
|
+
db.prepare('UPDATE codex_hook_requests SET run_id=?,state=? WHERE identity_digest=?')
|
|
211
|
+
.run(successor, admitted ? 'bound' : 'pending', identity);
|
|
212
|
+
return admitted ? memoryStepContext(db, successor, root) : {};
|
|
213
|
+
}
|
|
185
214
|
if (operation === 'task_prepare' || operation === 'task_answer') {
|
|
186
215
|
const result = responseData(input.tool_response);
|
|
187
216
|
const runId = record(result.run).runId;
|
|
@@ -213,9 +242,14 @@ function handleCodexHookEvent(db, raw) {
|
|
|
213
242
|
return withImmediateTransaction(db, () => {
|
|
214
243
|
const current = db.prepare('SELECT * FROM codex_hook_requests WHERE identity_digest = ?').get(identity);
|
|
215
244
|
const call = db.prepare('SELECT * FROM codex_hook_tools WHERE identity_digest = ? AND call_id = ?').get(identity, input.tool_use_id);
|
|
216
|
-
if (!current || current.run_id !== request.run_id || current.state !== 'bound'
|
|
217
|
-
|
|
245
|
+
if (!current || current.run_id !== request.run_id || current.state !== 'bound')
|
|
246
|
+
throw new KiokukoError('CONFLICT', 'Tool completion binding changed');
|
|
247
|
+
if (!call)
|
|
218
248
|
throw new KiokukoError('CONFLICT', 'Tool completion has no matching start');
|
|
249
|
+
if (call.run_id !== current.run_id)
|
|
250
|
+
throw new KiokukoError('CONFLICT', 'Tool completion binding changed');
|
|
251
|
+
if (call.input_digest !== canonicalContentHash(input.tool_input ?? null))
|
|
252
|
+
throw new KiokukoError('CONFLICT', 'Tool completion input changed');
|
|
219
253
|
const run = new LedgerStore(db).readRun(current.run_id);
|
|
220
254
|
if (!run || run.status !== 'active')
|
|
221
255
|
throw new KiokukoError('CONFLICT', 'Tool completion belongs to a terminal run');
|
|
@@ -286,8 +320,15 @@ export function handleCodexHook(db, raw) {
|
|
|
286
320
|
}
|
|
287
321
|
export function codexHookFailureCode(error) {
|
|
288
322
|
if (error instanceof KiokukoError) {
|
|
289
|
-
if (error.code === 'CONFLICT')
|
|
323
|
+
if (error.code === 'CONFLICT') {
|
|
324
|
+
if (error.message === 'Tool completion has no matching start')
|
|
325
|
+
return 'completion_without_admission';
|
|
326
|
+
if (error.message === 'Tool completion input changed')
|
|
327
|
+
return 'completion_input_mismatch';
|
|
328
|
+
if (error.message === 'Tool completion binding changed')
|
|
329
|
+
return 'completion_binding_changed';
|
|
290
330
|
return 'state_conflict';
|
|
331
|
+
}
|
|
291
332
|
if (error.code === 'BACKPRESSURE')
|
|
292
333
|
return 'database_busy';
|
|
293
334
|
if (error.code === 'SERVICE_UNAVAILABLE' && error.message === 'Repository state digest unavailable')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-hooks.js","sourceRoot":"","sources":["../../src/assurance/codex-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC/G,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,sMAAsM,CAAC;AAC5O,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1B,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAChI,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE;IACjF,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzI,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC,WAAW,EAAE,CAAC;AAGjB,MAAM,UAAU,sBAAsB,CAAC,MAA+B;IACpE,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACtE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;QACpD,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AACpG,CAAC;AACD,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtH,CAAC;AACD,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5B,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC;IACtC,IAAI,KAAK,CAAC,iBAAiB;QAAE,OAAO,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1D,IAAI,CAAC;oBAAC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,4CAA4C,CAAC,CAAC;YACtG,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD,iGAAiG;AACjG,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;AACxH,CAAC;AACD,SAAS,IAAI,CAAC,MAAc;IAC1B,OAAO;QACL,aAAa,EAAE,mCAAmC,MAAM,EAAE;QAC1D,kBAAkB,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE;KAClH,CAAC;AACJ,CAAC;AACD,SAAS,OAAO,CAAC,KAAa,EAAE,IAAY;IAC1C,OAAO,EAAE,kBAAkB,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,CAAC;AACnF,CAAC;AACD,SAAS,iBAAiB,CAAC,EAAkB,EAAE,KAAa,EAAE,IAAY;IACxE,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACtD,IAAI,UAAU,KAAK,gBAAgB;QAAE,OAAO,OAAO,CAAC,aAAa,EAAE,6DAA6D,QAAQ,2LAA2L,CAAC,CAAC;IACrU,IAAI,UAAU,KAAK,2BAA2B;QAAE,OAAO,OAAO,CAAC,aAAa,EAAE,2CAA2C,MAAM,CAAC,OAAO,CAAC,MAAM,2CAA2C,QAAQ,sbAAsb,CAAC,CAAC;IACznB,OAAO,OAAO,CAAC,aAAa,EAAE,2JAA2J,CAAC,CAAC;AAC7L,CAAC;AACD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC,CAAC;AAC1V,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,KAAK,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrE,CAAC;AACD,oHAAoH;AACpH,SAAS,oBAAoB,CAAC,EAAkB,EAAE,GAAY;IAC5D,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5J,MAAM,QAAQ,GAAG,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACjI,MAAM,SAAS,GAAG,SAAS,QAAQ,EAAE,CAAC;IACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAc,QAAQ,CAAC,CAAC;IACnH,IAAI,KAAK,CAAC,eAAe,KAAK,kBAAkB,IAAI,KAAK,CAAC,eAAe,KAAK,eAAe,EAAE,CAAC;QAC9F,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,OAAO,CAAC,sLAAsL,CAAC;iBAC/L,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,mBAAmB,SAAS,wDAAwD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,8kBAA8kB,qBAAqB,EAAE,CAAC,CAAC;IACvvB,CAAC;IACD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW,IAAI,KAAK,CAAC,eAAe,KAAK,cAAc;YAAE,OAAO,EAAE,CAAC;QACjG,IAAI,KAAK,CAAC,eAAe,KAAK,YAAY;YAAE,OAAO,IAAI,CAAC,yFAAyF,CAAC,CAAC;QACnJ,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,qCAAqC,CAAC,CAAC;IAC5E,CAAC;IACD,EAAE,CAAC,OAAO,CAAC,yFAAyF,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChJ,IAAI,KAAK,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;QAC1C,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,OAAO,CAAC,8EAA8E,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACzG,IAAI,OAAQ,CAAC,MAAM,EAAE,CAAC;gBACpB,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;gBAClC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3C,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;oBAAE,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;YACrI,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC,CAAC,iDAAiD;IAC9D,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,KAAK,WAAW;QAAE,OAAO,KAAK,CAAC,eAAe,KAAK,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxH,IAAI,KAAK,CAAC,eAAe,KAAK,MAAM,IAAI,KAAK,CAAC,eAAe,KAAK,cAAc,EAAE,CAAC;QACjF,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC,CAAC,8CAA8C;QAC9E,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,+EAA+E;QAC/E,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,CAAC;QAC/F,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,sDAAsD,EAAE,CAAC;QAC9H,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,yDAAyD,EAAE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/J,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,WAAW;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,+BAA+B,CAAC,CAAC;IACxH,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,eAAe,KAAK,YAAY,EAAE,CAAC;QAC3C,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC,uGAAuG,CAAC,CAAC;QAC7K,IAAI,SAAS,KAAK,cAAc,EAAE,CAAC;YACjC,8EAA8E;YAC9E,sEAAsE;YACtE,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,iBAAiB,SAAS,YAAY,IAAI,oBAAoB,CAAC,CAAC;YACjL,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC,8CAA8C,CAAC,CAAC;YAC3H,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,qHAAqH,CAAC,CAAC;QAC1N,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,yGAAyG,CAAC,CAAC;QACtJ,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACxG,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9D,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,gCAAgC,MAAM,CAAC,OAAO,CAAC,MAAM,aAAa,MAAM,CAAC,KAAK,CAAC,MAAM,oDAAoD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC,CAAC,EAAE,8MAA8M,CAAC,CAAC;QAC/e,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAE,CAAC;QAClD,MAAM,WAAW,GAAG,oBAAoB,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QACnE,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YAAC,WAAW,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAClD,MAAM,CAAC;YAAC,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,qCAAqC,CAAC,CAAC;QAAC,CAAC;QAC/F,MAAM,SAAS,GAAG,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE;YAClD,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAc,QAAQ,CAAC,CAAC;YACrH,MAAM,UAAU,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxF,MAAM,YAAY,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjF,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAQ,CAAC,MAAM,IAAI,UAAU,EAAE,MAAM,KAAK,QAAQ;mBAC7G,YAAY,EAAE,WAAW,KAAK,KAAK,CAAC,WAAW;gBAAE,OAAO,OAAO,CAAC;YACrE,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,qFAAqF,CAAC,CAAC,GAAG,CAA2B,QAAQ,EAAE,KAAK,CAAC,WAAY,CAAC,CAAC;YAC5K,IAAI,KAAK;gBAAE,OAAO,KAAK,CAAC,YAAY,KAAK,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAC/E,EAAE,CAAC,OAAO,CAAC,sJAAsJ,CAAC;iBAC/J,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAY,EAAE,OAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YACnG,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,SAAS,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACnF,IAAI,SAAS,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAChG,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,SAAS,KAAK,cAAc,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;QACvC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,OAAO,CAAC,aAAa,EAAE,oDAAoD,CAAC,CAAC;QACnH,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,IAAI,CAAC,SAAS,KAAK,cAAc,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;eACzG,CAAC,SAAS,KAAK,aAAa,IAAI,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,iEAAiE,CAAC,CAAC;QACtK,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,0CAA0C,CAAC,CAAC;QAC/H,4EAA4E;QAC5E,uEAAuE;QACvE,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,2BAA2B,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAChH,EAAE,CAAC,OAAO,CAAC,gFAAgF,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClJ,OAAO,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,oBAAoB,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO;WACnG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,KAAK,IAAI;WAC9D,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,QAAQ;QAAE,OAAO,iBAAiB,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACnD,iFAAiF;IACjF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IACvD,8EAA8E;IAC9E,6EAA6E;IAC7E,OAAO,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE;QACvC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,6DAA6D,CAAC,CAAC,GAAG,CAAc,QAAQ,CAAC,CAAC;QACrH,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,0EAA0E,CAAC,CAAC,GAAG,CAAW,QAAQ,EAAE,KAAK,CAAC,WAAY,CAAC,CAAC;QAChJ,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,OAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,OAAO;eAC1E,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,KAAK,oBAAoB,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,CAAC;YAClH,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,uCAAuC,CAAC,CAAC;QAC9E,MAAM,GAAG,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAO,CAAC,CAAC;QACzD,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,2CAA2C,CAAC,CAAC;QACrH,MAAM,KAAK,GAAG,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,MAAO,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI;YAAE,MAAM,IAAI,YAAY,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAC;QACvH,IAAI,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC,WAAW;YAAE,OAAO,OAAO,CAAC,aAAa,EAAE,+EAA+E,CAAC,CAAC;QAC3J,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,OAAO,CAAC,aAAa,EAAE,uBAAuB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/F,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YAAC,MAAM,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAAC,CAAC;QAC7C,MAAM,CAAC;YAAC,MAAM,IAAI,YAAY,CAAC,qBAAqB,EAAE,qCAAqC,CAAC,CAAC;QAAC,CAAC;QAC/F,IAAI,MAAM,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,EAAE,CAAC,OAAO,CAAC,kFAAkF,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACnH,EAAE,CAAC,OAAO,CAAC,uFAAuF,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAY,CAAC,CAAC;YAChJ,CAAC;YACD,OAAO,OAAO,CAAC,aAAa,EAAE,6HAA6H,CAAC,CAAC;QAC/J,CAAC;QACD,IAAI,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAU,CAAC;YAAE,OAAO,EAAE,CAAC;QACpE,IAAI,QAAQ,CAAC,UAAU,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI;YAAE,OAAO,OAAO,CAAC,aAAa,EAAE,sDAAsD,CAAC,CAAC;QAClJ,MAAM,OAAO,GAAG,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QACrF,MAAM,UAAU,GAAG,kBAAkB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,MAAO,EAAE,UAAU,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI;YAChH,eAAe,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC/G,EAAE,CAAC,OAAO,CAAC,uFAAuF,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAY,CAAC,CAAC;QAClJ,EAAE,CAAC,OAAO,CAAC,4EAA4E,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAClH,OAAO,OAAO,CAAC,aAAa,EAAE,uBAAuB,UAAU,cAAc,OAAO,oCAAoC,CAAC,CAAC;IAC5H,CAAC,CAAC,CAAC;AACL,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe,CAAC,EAAkB,EAAE,GAAY;IAC9D,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,KAAK,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,iBAAiB;QACxN,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAClH,MAAM,IAAI,GAAG,CAAC,QAAgB,EAAE,MAAe,EAAE,EAAE,CAAC,wBAAwB,CAAC,EAAE,EAAE,GAAG,EAAE;QACpF,MAAM,UAAU,GAAG,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7E,EAAE,CAAC,OAAO,CAAC,+DAA+D,CAAC;aACxE,GAAG,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACrI,EAAE,CAAC,OAAO,CAAC,mIAAmI,CAAC,CAAC,GAAG,EAAE,CAAC;IACxJ,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC3D,IAAI,CAAC;YAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAAC,CAAC;QAClJ,MAAM,CAAC;YAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAAC,CAAC;QACpG,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC;YAAC,IAAI,CAAC,KAAK,YAAY,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,eAAe,EAAE,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,CAAC;QACxG,MAAM,CAAC,CAAC,mCAAmC,CAAC,CAAC;QAC7C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD,MAAM,UAAU,oBAAoB,CAAC,KAAc;IACjD,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,gBAAgB,CAAC;QACvD,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,eAAe,CAAC;QAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,IAAI,KAAK,CAAC,OAAO,KAAK,qCAAqC;YAAE,OAAO,0BAA0B,CAAC;QACvI,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;YAAE,OAAO,wBAAwB,CAAC;QAC3G,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;QAAE,OAAO,gBAAgB,CAAC;IAChJ,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
1
|
+
{"version":3,"file":"codex-hooks.js","sourceRoot":"","sources":["../../src/assurance/codex-hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,7 +41,14 @@ export declare const executionEvidenceSchema: z.ZodObject<{
|
|
|
41
41
|
cwd: z.ZodString;
|
|
42
42
|
}, z.core.$strict>;
|
|
43
43
|
export declare const memoryRefreshSchema: z.ZodObject<{
|
|
44
|
-
capabilities: z.ZodOptional<z.ZodArray<z.
|
|
44
|
+
capabilities: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
45
|
+
kind: z.ZodEnum<{
|
|
46
|
+
skill: "skill";
|
|
47
|
+
mcp_tool: "mcp_tool";
|
|
48
|
+
}>;
|
|
49
|
+
name: z.ZodString;
|
|
50
|
+
description: z.ZodOptional<z.ZodString>;
|
|
51
|
+
}, z.core.$strict>>>;
|
|
45
52
|
indexing: z.ZodOptional<z.ZodObject<{
|
|
46
53
|
stage: z.ZodEnum<{
|
|
47
54
|
atomic: "atomic";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/assurance/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/assurance/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAK5B,eAAO,MAAM,aAAa;;;;;CAEzB,CAAC;AACF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;kBAS7B,CAAC;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;kBAI2E,CAAC;AAChH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;kBAM0K,CAAC;AAC3M,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,GAAG,CAAC,CAIvE"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as z from 'zod/v4';
|
|
2
|
+
import { capabilityCatalogSchema } from '../akinator/capability-contract.js';
|
|
2
3
|
import { KiokukoError } from '../errors.js';
|
|
3
4
|
const id = z.string().min(1).max(256).refine(v => v.trim() === v && !/\p{Cc}/u.test(v));
|
|
4
5
|
const text = z.string().trim().min(1).max(4000);
|
|
@@ -23,12 +24,12 @@ export const executionEvidenceSchema = z.object({
|
|
|
23
24
|
outcome: z.enum(['passed', 'failed', 'skipped', 'unknown']), exitCode: z.number().int().nullable(),
|
|
24
25
|
}).strict().refine(v => v.outcome !== 'passed' || v.exitCode === 0, 'Passing evidence requires exit code zero');
|
|
25
26
|
export const memoryRefreshSchema = z.object({
|
|
26
|
-
...assuranceBase, capabilities:
|
|
27
|
+
...assuranceBase, capabilities: capabilityCatalogSchema.optional(),
|
|
27
28
|
indexing: z.object({ stage: z.enum(['atomic', 'bridge']), cursor: z.string().max(256).default('') }).strict().optional(),
|
|
28
29
|
changedPaths: z.array(z.string().min(1).max(500)).max(100).default([]),
|
|
29
30
|
errorSignatures: z.array(z.string().min(1).max(1000)).max(50).default([]),
|
|
30
31
|
maxContextChars: z.number().int().min(1).max(100000).optional(),
|
|
31
|
-
}).strict().refine(v => v.indexing !== undefined || v.changedPaths.length + v.errorSignatures.length > 0, 'Refresh requires new retrieval signals');
|
|
32
|
+
}).strict().refine(v => v.indexing !== undefined || v.changedPaths.length + v.errorSignatures.length > 0, 'Refresh requires new retrieval signals; use task_prepare_recover for legacy capability repair');
|
|
32
33
|
export function parseAssurance(schema, raw) {
|
|
33
34
|
const result = schema.safeParse(raw);
|
|
34
35
|
if (!result.success)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/assurance/contracts.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/assurance/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { SqliteDatabase } from '../db/adapter.js';
|
|
2
|
+
/** Read only the bounded protocol metadata for an operator-provided call ID. */
|
|
3
|
+
export declare function codexHookDiagnostics(db: SqliteDatabase, correlationId: string): object;
|
|
4
|
+
//# sourceMappingURL=hook-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-diagnostics.d.ts","sourceRoot":"","sources":["../../src/assurance/hook-diagnostics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,gFAAgF;AAChF,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAWtF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { KiokukoError } from '../errors.js';
|
|
2
|
+
/** Read only the bounded protocol metadata for an operator-provided call ID. */
|
|
3
|
+
export function codexHookDiagnostics(db, correlationId) {
|
|
4
|
+
if (!/^[0-9a-f]{16}$/u.test(correlationId))
|
|
5
|
+
throw new KiokukoError('VALIDATION_ERROR', 'Hook correlation ID must be 16 lowercase hex characters');
|
|
6
|
+
const rows = db.prepare(`SELECT event_name, decision, observed_at,
|
|
7
|
+
json_extract(response_shape, '$.reason') AS reason
|
|
8
|
+
FROM codex_hook_observations WHERE json_extract(response_shape, '$.call') = ?
|
|
9
|
+
ORDER BY rowid DESC LIMIT 20`).all(correlationId);
|
|
10
|
+
return {
|
|
11
|
+
correlationId,
|
|
12
|
+
retention: 'Last 1000 hook observations; at most 20 matching events. Absence is not proof an event never occurred.',
|
|
13
|
+
events: rows.reverse().map(row => ({ event: row.event_name, decision: row.decision, reason: row.reason, observedAt: row.observed_at })),
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=hook-diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hook-diagnostics.js","sourceRoot":"","sources":["../../src/assurance/hook-diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,gFAAgF;AAChF,MAAM,UAAU,oBAAoB,CAAC,EAAkB,EAAE,aAAqB;IAC5E,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC;QAAE,MAAM,IAAI,YAAY,CAAC,kBAAkB,EAAE,yDAAyD,CAAC,CAAC;IAClJ,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC;;;iCAGO,CAAC,CAAC,GAAG,CAAuF,aAAa,CAAC,CAAC;IAC1I,OAAO;QACL,aAAa;QACb,SAAS,EAAE,wGAAwG;QACnH,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;KACxI,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-hook.d.ts","sourceRoot":"","sources":["../../src/commands/codex-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"codex-hook.d.ts","sourceRoot":"","sources":["../../src/commands/codex-hook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,8FAA8F;AAC9F,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA4C3D"}
|
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
import { openConnection } from '../db/connection.js';
|
|
2
2
|
import { codexHookCorrelationId, codexHookFailureCode, handleCodexHook } from '../assurance/codex-hooks.js';
|
|
3
|
+
import { codexHookDiagnostics } from '../assurance/hook-diagnostics.js';
|
|
4
|
+
import { KiokukoError } from '../errors.js';
|
|
3
5
|
/** A hook process never prints raw input, transcripts, shell output or exception payloads. */
|
|
4
6
|
export function registerCodexHookCommand(cli) {
|
|
5
7
|
cli.command('codex-hook').description('Handle a Codex lifecycle event from stdin')
|
|
6
8
|
.requiredOption('--database <path>', 'Database used by the installed Kiokuko integration')
|
|
9
|
+
.option('--diagnose-call <id>', 'Read bounded hook metadata for a correlation ID; no stdin or task data')
|
|
7
10
|
.action(async (options) => {
|
|
8
11
|
let raw = '';
|
|
9
12
|
let event;
|
|
10
13
|
try {
|
|
14
|
+
if (options.diagnoseCall !== undefined) {
|
|
15
|
+
if (!/^[0-9a-f]{16}$/u.test(options.diagnoseCall))
|
|
16
|
+
throw new KiokukoError('VALIDATION_ERROR', 'Invalid hook correlation ID');
|
|
17
|
+
const database = openConnection(options.database, { readOnly: true });
|
|
18
|
+
try {
|
|
19
|
+
process.stdout.write(JSON.stringify(codexHookDiagnostics(database, options.diagnoseCall)) + '\n');
|
|
20
|
+
}
|
|
21
|
+
finally {
|
|
22
|
+
database.close();
|
|
23
|
+
}
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
11
26
|
for await (const chunk of process.stdin) {
|
|
12
27
|
raw += String(chunk);
|
|
13
28
|
if (Buffer.byteLength(raw) > 2 * 1024 * 1024)
|