@avantf/dsh-mem 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +97 -87
- package/lib/client.js +2359 -1174
- package/lib/client.js.map +1 -1
- package/lib/dsh-build.json +5 -5
- package/lib/index.js +1081 -668
- package/lib/interface-version.json +4 -0
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/index.js +21 -1
- package/lib/types/client/index.js.map +1 -1
- package/lib/types/data_home.d.ts +3 -0
- package/lib/types/data_home.d.ts.map +1 -0
- package/lib/types/data_home.js +26 -0
- package/lib/types/data_home.js.map +1 -0
- package/lib/types/envinit-bootstrap.d.ts +13 -3
- package/lib/types/envinit-bootstrap.js +14 -4
- package/lib/types/envinit.d.ts +11 -6
- package/lib/types/envinit.d.ts.map +1 -1
- package/lib/types/envinit.js +62 -155
- package/lib/types/envinit.js.map +1 -1
- package/lib/types/hints.d.ts +15 -16
- package/lib/types/hints.d.ts.map +1 -1
- package/lib/types/hints.js +16 -17
- package/lib/types/hints.js.map +1 -1
- package/lib/types/index.d.ts +33 -11
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/index.js +110 -63
- package/lib/types/index.js.map +1 -1
- package/lib/types/interface_gate.d.ts +51 -0
- package/lib/types/interface_gate.d.ts.map +1 -0
- package/lib/types/interface_gate.js +84 -0
- package/lib/types/interface_gate.js.map +1 -0
- package/lib/types/prompt.d.ts +74 -4
- package/lib/types/prompt.d.ts.map +1 -1
- package/lib/types/prompt.js +85 -2
- package/lib/types/prompt.js.map +1 -1
- package/lib/types/provision.d.ts +29 -24
- package/lib/types/provision.d.ts.map +1 -1
- package/lib/types/provision.js +3 -59
- package/lib/types/provision.js.map +1 -1
- package/lib/types/remote.d.ts +7 -6
- package/lib/types/remote.d.ts.map +1 -1
- package/lib/types/remote.js +24 -10
- package/lib/types/remote.js.map +1 -1
- package/package.json +20 -22
package/lib/types/index.js
CHANGED
|
@@ -33,17 +33,19 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
|
|
|
33
33
|
done = true;
|
|
34
34
|
};
|
|
35
35
|
import { existsSync } from 'node:fs';
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
36
|
+
import { join } from 'node:path';
|
|
37
|
+
import { buildPromptSections, promptFileSpecs, promptTextWarnings } from './prompt.js';
|
|
38
|
+
import { hintText, messageText } from './hints.js';
|
|
38
39
|
import z from '@deepseek-ai/schemastery';
|
|
39
40
|
import { defineTool } from '@deepseek-ai/dsh-tools';
|
|
40
41
|
import { TypertRemoteService, Remote } from '@deepseek-ai/dsh-typert-protocol';
|
|
41
42
|
import { buildRuntime, dispatchToolKey, provisionToolchainAsync, supportsToolKey, warmSemanticAsync, warmTokenizerAsync, } from '@avantf/mem';
|
|
42
43
|
import { REMEMBER_TOOL, RECALL_TOOL, ADMIN_TOOL, KB_TOOL, QUERY_TOOL, TOOL_SPECS, createConsoleLogger, describeError, modelFacingToolResult, toolOk, toolErr, validationError, remoteErrorText, } from '@avantf/mem-contract';
|
|
43
44
|
import { hostContribution } from './remote.js';
|
|
45
|
+
import { configDataHome } from './data_home.js';
|
|
44
46
|
import { provision, registerCompatMegaphone, verifyRegisteredFaces } from './provision.js';
|
|
45
47
|
import { managedModelSpec, MODEL_ITEM, PANDOC_ITEM, loadEnvinit, } from './envinit.js';
|
|
46
|
-
import {
|
|
48
|
+
import { parseToolsConfig, resolveToolsDir } from '@avantf/mem-provision';
|
|
47
49
|
import { resetPandocResolution, setPandocProvisioning } from '@avantf/mem-convert';
|
|
48
50
|
import { openDocumentPath } from './open.js';
|
|
49
51
|
import { browseDirectory, classifySource } from '@avantf/mem';
|
|
@@ -54,10 +56,10 @@ export { inject } from './inject.js';
|
|
|
54
56
|
export { KNOWLEDGE_PROMPT_SECTION, MEMORY_PROMPT_SECTION } from './prompt.js';
|
|
55
57
|
export const Config = z.object({
|
|
56
58
|
mode: z.union([z.const('cordis'), z.const('mcp')]).default('cordis'),
|
|
57
|
-
// Deliberately NO default: a
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
59
|
+
// Deliberately NO default: this is a CONFIGURED value (layer ②), so `$AVANTF_HOME` (④) has to be
|
|
60
|
+
// able to outrank it — and a literal `~/.avantf` default would make "unset" indistinguishable from
|
|
61
|
+
// "configured as the default", which is how merely having a default used to kill the env var. Left
|
|
62
|
+
// unset, resolution falls through ④ to the default (see `configDataHome`).
|
|
61
63
|
dataHome: z.string(),
|
|
62
64
|
});
|
|
63
65
|
/**
|
|
@@ -155,6 +157,16 @@ let AvantfMemGateway = (() => {
|
|
|
155
157
|
super(ctx, 'avantfMem');
|
|
156
158
|
this.rt = rt;
|
|
157
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Run one already-validated tool call and wrap the answer in the contract envelope.
|
|
162
|
+
*
|
|
163
|
+
* `T` is the payload the tool key is DECLARED to answer, spelled at each `@Remote` below; this used
|
|
164
|
+
* to be `unknown` everywhere, which made the host half the one seam in the type chain where nothing
|
|
165
|
+
* said what crosses the wire. The single `as T` is unavoidable and is the honest part: the dispatch
|
|
166
|
+
* table is keyed by `ToolSpec.key` (a `string`), so its result is `unknown` by construction. Naming
|
|
167
|
+
* the type is what turns "the client assumed a shape" into "the engine's own type is what the host
|
|
168
|
+
* claims to send".
|
|
169
|
+
*/
|
|
158
170
|
async call(key, spec, payload) {
|
|
159
171
|
const parsed = spec.input.safeParse(payload);
|
|
160
172
|
if (!parsed.success) {
|
|
@@ -163,12 +175,17 @@ let AvantfMemGateway = (() => {
|
|
|
163
175
|
}
|
|
164
176
|
try {
|
|
165
177
|
const value = await dispatchToolKey(this.rt, key, parsed.data);
|
|
166
|
-
return { ok: true, value: value ?? null };
|
|
178
|
+
return { ok: true, value: (value ?? null) };
|
|
167
179
|
}
|
|
168
180
|
catch (error) {
|
|
169
181
|
return { ok: false, error: remoteErrorText(error) };
|
|
170
182
|
}
|
|
171
183
|
}
|
|
184
|
+
/**
|
|
185
|
+
* Each payload is written as the ENGINE type that produces it (`StoreResult<…>`, or a contract
|
|
186
|
+
* interface), never as a hand-copied shape: if a store method's result changes, the declaration
|
|
187
|
+
* here stops compiling instead of quietly misdescribing the wire.
|
|
188
|
+
*/
|
|
172
189
|
remember(args) {
|
|
173
190
|
const payload = defined(args);
|
|
174
191
|
return this.call('remember', REMEMBER_TOOL, { action: 'add', ...payload });
|
|
@@ -181,6 +198,12 @@ let AvantfMemGateway = (() => {
|
|
|
181
198
|
const payload = defined(args);
|
|
182
199
|
return this.call('admin', ADMIN_TOOL, { action: 'list', ...payload });
|
|
183
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* The one method that keeps `unknown`, and deliberately: its payload is whichever of the seven
|
|
203
|
+
* corpus actions the caller asked for (a page, one document, an ingest report, a conflict report, a
|
|
204
|
+
* reindex plan …), so there is no single engine type to name. The engine's `KbDispatch` spells all
|
|
205
|
+
* seven out; the client names its expectation at each call site (`callRemote<…>(…)`).
|
|
206
|
+
*/
|
|
184
207
|
kb(args) {
|
|
185
208
|
// No safe default action for kb — a missing action fails contract validation
|
|
186
209
|
// with an explicit violation instead of guessing.
|
|
@@ -370,8 +393,10 @@ function startManagedResources(env, rt, logger, waitFor) {
|
|
|
370
393
|
if (unavailable) {
|
|
371
394
|
logger.warn(`envinit: ${entry.id} is ${entry.action} (${String(entry.code)}${entry.reason === undefined ? '' : ` — ${entry.reason}`})`);
|
|
372
395
|
if (entry.id === PANDOC_ITEM) {
|
|
373
|
-
|
|
374
|
-
|
|
396
|
+
// No legacy directory to fall back TO any more: the resolved managed root is the family
|
|
397
|
+
// root, so this is simply "the converter may install/read it itself".
|
|
398
|
+
const fallback = resolveToolsDir(parseToolsConfig(rt.config.common.tools));
|
|
399
|
+
logger.warn(`envinit: pandoc unavailable from the framework; the converter will use ${fallback} (override with tools.dir or AVANTF_PANDOC)`);
|
|
375
400
|
setPandocProvisioning({
|
|
376
401
|
toolsDir: fallback,
|
|
377
402
|
mirror: rt.config.common.tools.mirror,
|
|
@@ -385,33 +410,20 @@ function startManagedResources(env, rt, logger, waitFor) {
|
|
|
385
410
|
logger.info(`envinit: ${entry.id} ${entry.action} (${entry.source}${entry.version === undefined ? '' : ` ${entry.version}`})`);
|
|
386
411
|
});
|
|
387
412
|
}
|
|
388
|
-
/**
|
|
389
|
-
* The tools directory to use when the framework did NOT deliver pandoc.
|
|
390
|
-
*
|
|
391
|
-
* Resolved through the provisioning layer's own `resolveToolsDir`, so the environment hatch
|
|
392
|
-
* (`AVANTF_TOOLS_DIR`) and the `~` expansion behave here exactly as they do everywhere else — the
|
|
393
|
-
* converter hands `settings.toolsDir` to `ensurePandoc` VERBATIM (`pandocBinary`), so whatever this
|
|
394
|
-
* returns is the final word for the process. `managedRoots` replaced the built-in default, so
|
|
395
|
-
* `config.common.tools.dir` equals the family root even when the operator never touched it; only a
|
|
396
|
-
* resolved value that is STILL the family root means "nobody chose one", and only then may the
|
|
397
|
-
* legacy default apply.
|
|
398
|
-
*/
|
|
399
|
-
function legacyToolsDir(rt, env) {
|
|
400
|
-
const resolved = resolveToolsDir(parseToolsConfig(rt.config.common.tools));
|
|
401
|
-
return resolved === env.roots.tools ? defaultToolsDir() : resolved;
|
|
402
|
-
}
|
|
403
413
|
export async function apply(ctx, config) {
|
|
404
414
|
const logger = hostLogger(ctx);
|
|
405
415
|
// ── environment initialisation — FIRST, before the runtime allocates anything ────────────────
|
|
406
|
-
// The family
|
|
407
|
-
// `@avantf/dsh-
|
|
408
|
-
//
|
|
409
|
-
//
|
|
416
|
+
// The family base's fixed sequence (its DESIGN §7.2): bootstrap (inlined) → load
|
|
417
|
+
// `@avantf/dsh-plugin-base` → derive the compatibility gate from the loaded module → declare the
|
|
418
|
+
// remaining resources. The check runs before anything is registered, so "do not load" costs
|
|
419
|
+
// nothing to unwind.
|
|
410
420
|
//
|
|
411
|
-
// The base (`@avantf/dsh-compat`
|
|
412
|
-
//
|
|
413
|
-
//
|
|
414
|
-
//
|
|
421
|
+
// The base (`@avantf/dsh-plugin-base`, whose `compat` module used to be `@avantf/dsh-compat`) IS
|
|
422
|
+
// the framework the bootstrap loads, and it brings the gate with it: no `mem:compat` item and no
|
|
423
|
+
// managed copy to download. The plugin no longer carries its own self-heal through
|
|
424
|
+
// `@avantf/mem-provision`, whose private root the base deliberately does not read. When the base
|
|
425
|
+
// itself is unavailable the plugin keeps mounting (see below) and falls back to its legacy
|
|
426
|
+
// provisioning path, whose default directories are the pre-migration ones.
|
|
415
427
|
//
|
|
416
428
|
// When the base cannot be obtained at all we do NOT refuse: a `compat:` WARNING is logged and the
|
|
417
429
|
// plugin mounts normally (tools/service/prompt/remote all register), because the gate is a safety
|
|
@@ -428,7 +440,7 @@ export async function apply(ctx, config) {
|
|
|
428
440
|
const compat = env?.compat;
|
|
429
441
|
let verdict;
|
|
430
442
|
if (compat === undefined) {
|
|
431
|
-
logger.warn('plugin mount: the dsh compatibility gate is ABSENT (@avantf/dsh-
|
|
443
|
+
logger.warn('plugin mount: the dsh compatibility gate is ABSENT (@avantf/dsh-plugin-base unavailable — see the WARNING above); mounting the full plugin anyway');
|
|
432
444
|
}
|
|
433
445
|
else {
|
|
434
446
|
const run = provision(ctx, logger, compat);
|
|
@@ -449,14 +461,18 @@ export async function apply(ctx, config) {
|
|
|
449
461
|
// DSH plugin cannot own the host's stdio. Warn and mount the cordis toolset.
|
|
450
462
|
logger.warn('config mode=mcp is not served in-process — mounting the cordis toolset; run @avantf/mem-mcp standalone for MCP');
|
|
451
463
|
}
|
|
452
|
-
//
|
|
453
|
-
//
|
|
454
|
-
|
|
455
|
-
|
|
464
|
+
// Resolved through the CONFIG layer, not used as an explicit value: `$AVANTF_HOME` outranks the
|
|
465
|
+
// profile's `dataHome`, the same way it outranks the work plugin's (see `data_home.ts`).
|
|
466
|
+
const dataHome = configDataHome(config.dataHome);
|
|
467
|
+
// Both halves are logged: what was configured, and where it actually landed — the runtime's own
|
|
468
|
+
// init line repeats the latter, but a reader of this line should not have to join two log lines to
|
|
469
|
+
// find out that a configured value was overridden by the environment.
|
|
470
|
+
logger.info(`plugin mount: mode=${config.mode ?? 'cordis'} dataHome=${dataHome}`
|
|
471
|
+
+ ` (configured ${config.dataHome ?? 'unset'})`);
|
|
456
472
|
let rt;
|
|
457
473
|
try {
|
|
458
474
|
rt = buildRuntime({
|
|
459
|
-
dataHome
|
|
475
|
+
dataHome,
|
|
460
476
|
logger,
|
|
461
477
|
// The family framework owns pandoc and the embedding model when it is up: its managed roots
|
|
462
478
|
// become this process's built-in defaults, so the converter and the semantic backend look
|
|
@@ -568,46 +584,77 @@ export async function apply(ctx, config) {
|
|
|
568
584
|
// both (the store's business, and the only action such text invites is rewriting a fact to
|
|
569
585
|
// refresh it — which defeats the policy it describes); the module-level reasons are on
|
|
570
586
|
// MEMORY_PROMPT_SECTION and KNOWLEDGE_PROMPT_SECTION.
|
|
571
|
-
|
|
587
|
+
//
|
|
588
|
+
// The TEXT is the user's to edit: one `.md` per section under `<data home>/prompts`, ensured and
|
|
589
|
+
// read by the engine's generic `PromptFiles` on this path only (a degraded mount registers no
|
|
590
|
+
// sections at all — see the `catch` above). Read ONCE, here: an edit takes effect on the next
|
|
591
|
+
// start, which keeps "what is in the prompt" the same for the whole life of the process.
|
|
592
|
+
//
|
|
593
|
+
// The directory is SHARED by the family's plugins and each plugin owns its prefix (`mem-*` here,
|
|
594
|
+
// `work-*` in the work engine): every avantf plugin's system prompt sits in one place, and no
|
|
595
|
+
// plugin has to guess which files are its own.
|
|
596
|
+
const promptDir = join(rt.config.home, 'prompts');
|
|
597
|
+
// The loader is the BASE's, taken at RUNTIME off the module the bootstrap already loaded: fixing
|
|
598
|
+
// or extending the shared prompt-file logic takes one base release, not a plugin rebuild.
|
|
599
|
+
// DEGRADATION, when the base (or its kit) is unavailable: the section texts fall back to this
|
|
600
|
+
// plugin's OWN built-in defaults — the defaults are this plugin's content, not shared code — and
|
|
601
|
+
// nothing is written to disk.
|
|
602
|
+
const kit = env?.kit;
|
|
603
|
+
const loadedPrompts = kit?.PromptFiles === undefined
|
|
604
|
+
? promptFileSpecs().map((spec) => ({
|
|
605
|
+
file: spec.file,
|
|
606
|
+
path: join(promptDir, spec.file),
|
|
607
|
+
text: spec.fallback,
|
|
608
|
+
source: 'default',
|
|
609
|
+
wrote: false,
|
|
610
|
+
}))
|
|
611
|
+
: new kit.PromptFiles({ dir: promptDir, logger }).load(promptFileSpecs());
|
|
612
|
+
const promptSections = buildPromptSections(loadedPrompts);
|
|
613
|
+
for (const section of promptSections) {
|
|
572
614
|
ctx.systemPrompt.section(section);
|
|
573
615
|
logger.info(`prompt section registered: ${section.name} (order ${String(section.order)})`);
|
|
574
616
|
}
|
|
575
|
-
// The
|
|
576
|
-
//
|
|
577
|
-
|
|
578
|
-
|
|
617
|
+
// The defaults are held to hard rules by `prompt_section.spec.ts`; edited text is the user's, so
|
|
618
|
+
// it only gets these warnings — injected exactly as written either way.
|
|
619
|
+
for (const warning of promptTextWarnings(promptSections))
|
|
620
|
+
logger.warn(`prompt text: ${warning}`);
|
|
621
|
+
logger.info(`prompt files: ${promptDir} (${loadedPrompts.map((entry) => `${entry.file}:${entry.source}`).join(', ')})`);
|
|
622
|
+
// The CONDITIONAL hint, ONE contribution (DESIGN §12). Recomputed synchronously the moment the
|
|
623
|
+
// agent is handed a USER message, so it is in place before THIS step's prompt is assembled: the
|
|
624
|
+
// provider below cannot await, which is exactly why the probe is the lexical one (`@avantf/mem`'s
|
|
625
|
+
// `relevance` — the semantic leg needs an encode and would land a step late).
|
|
579
626
|
const hints = new WeakMap();
|
|
580
627
|
ctx.on('agent/inbox/inserted', (payload) => {
|
|
581
628
|
const agent = payload.agent;
|
|
582
629
|
if (agent === undefined)
|
|
583
630
|
return;
|
|
631
|
+
// Only what the USER sent moves the verdict. The inbox also carries this plugin's own wake-ups
|
|
632
|
+
// and other plugins' notices; probing those would let a "工作 n1 已结束" wake rewrite a hint
|
|
633
|
+
// that claims to be about the user's last message.
|
|
634
|
+
if (payload.message?.source?.kind !== 'user')
|
|
635
|
+
return;
|
|
584
636
|
const text = messageText(payload.message);
|
|
585
637
|
// Never let a probe failure reach the event bus: a missing hint is harmless (the usage
|
|
586
638
|
// sections still tell the model to query), a throwing listener is only log noise.
|
|
587
639
|
try {
|
|
588
|
-
hints.set(agent, text
|
|
640
|
+
hints.set(agent, text !== '' && rt.relevance(text));
|
|
589
641
|
}
|
|
590
642
|
catch {
|
|
591
|
-
hints.set(agent,
|
|
643
|
+
hints.set(agent, false);
|
|
592
644
|
}
|
|
593
645
|
});
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
return hit === undefined ? '' : hintLines(hit)[store];
|
|
607
|
-
},
|
|
608
|
-
});
|
|
609
|
-
logger.info(`prompt context registered: ${name} (order ${String(order)})`);
|
|
610
|
-
}
|
|
646
|
+
ctx.systemPrompt.context({
|
|
647
|
+
name: 'avantf:mem-hint',
|
|
648
|
+
order: 130,
|
|
649
|
+
// The assembly scope IS the agent object (`dsh-agent`'s `assembleContextFor` passes
|
|
650
|
+
// `scope: agent`), so keying by it keeps two sessions from seeing each other's hint. No state
|
|
651
|
+
// for this agent (or a false verdict) renders as empty text, which contributes nothing.
|
|
652
|
+
text: (context) => {
|
|
653
|
+
const hit = context.scope === undefined ? undefined : hints.get(context.scope);
|
|
654
|
+
return hit === undefined ? '' : hintText(hit);
|
|
655
|
+
},
|
|
656
|
+
});
|
|
657
|
+
logger.info('prompt context registered: avantf:mem-hint (order 130)');
|
|
611
658
|
// Corpus reconciliation, done PRECISELY rather than on a timer or a watcher: the agent reaches
|
|
612
659
|
// the corpus through tool calls, so a finished tool call is the moment to ask "did anything under
|
|
613
660
|
// `knowledge.docs.dir` change?" — and `corpusDrift()` answers that with one `stat` per document,
|
package/lib/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This plugin's consumption of the base's runtime interface gate.
|
|
3
|
+
*
|
|
4
|
+
* The DECISION lives in the base — `checkInterface` + `readInterfaceRequirement`, members of the v1
|
|
5
|
+
* `.` surface (root `AGENTS.md`: knowledge that CAN be fixed by one base release lives in the base).
|
|
6
|
+
* What cannot live there is the one question this file answers: "does the base I loaded even HAVE the
|
|
7
|
+
* gate?" A base too old to carry it must not stop the plugin from mounting, so the fallback belongs
|
|
8
|
+
* to the consumer, per the family's rule for knowledge that must survive an old base.
|
|
9
|
+
*
|
|
10
|
+
* Nothing here throws. The startup caller turns every non-`ok` verdict into one WARNING; an
|
|
11
|
+
* `incompatible` verdict additionally withholds the base's shared capabilities — the prompt layer
|
|
12
|
+
* uses this plugin's own built-in defaults, the compatibility gate is skipped and provisioning takes
|
|
13
|
+
* the legacy path — but the plugin ALWAYS mounts (tools, service, Remote and UI stay registered).
|
|
14
|
+
* "Cannot tell" is never "incompatible": it warns and uses the base normally.
|
|
15
|
+
*
|
|
16
|
+
* **This file is a SHARED SHIM and must stay byte-identical in BOTH plugins** — only the `@module`
|
|
17
|
+
* line below differs. Everything here is the consumption contract and the ONE verdict→decision
|
|
18
|
+
* mapping; nothing in it is plugin-specific by construction. What IS plugin-specific (which text the
|
|
19
|
+
* prompt layer falls back to, which resources take the legacy path) belongs in that plugin's own
|
|
20
|
+
* `envinit.ts`, never here. `base/plugin-base/test/interface_consumers.spec.ts` pins the two copies
|
|
21
|
+
* against each other, so a divergence is a red test instead of two shims that drifted.
|
|
22
|
+
*
|
|
23
|
+
* @module @avantf/dsh-mem/interface_gate
|
|
24
|
+
*/
|
|
25
|
+
import type { InterfaceVerdict } from '@avantf/dsh-plugin-base';
|
|
26
|
+
/** The slice of the loaded base this consumer reads; every member is optional and read guarded. */
|
|
27
|
+
export interface InterfaceGateModule {
|
|
28
|
+
readonly INTERFACE_VERSION?: unknown;
|
|
29
|
+
readonly checkInterface?: unknown;
|
|
30
|
+
readonly readInterfaceRequirement?: unknown;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Whether the base's shared capabilities may be used under `verdict`.
|
|
34
|
+
*
|
|
35
|
+
* The ONE mapping from the gate's verdict to the loader's decision, exported so it is asserted
|
|
36
|
+
* directly and the loader and its test cannot drift: only `incompatible` withholds the base;
|
|
37
|
+
* `cannot-tell` does not, because it is not a negative answer. A `false` here is still a DEGRADATION
|
|
38
|
+
* (own prompt defaults, gate skipped, legacy provisioning), never a refused mount.
|
|
39
|
+
*/
|
|
40
|
+
export declare function baseIsUsable(verdict: InterfaceVerdict): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Ask the loaded base whether it implements the interface generation this artifact was built for.
|
|
43
|
+
*
|
|
44
|
+
* @param module - the loaded base module (only `checkInterface` / `readInterfaceRequirement` are
|
|
45
|
+
* touched, each through a guarded read).
|
|
46
|
+
* @param bakedUrl - test seam: the bake record to read; production leaves it undefined.
|
|
47
|
+
* @returns a verdict that is never `incompatible` unless BOTH sides were readable and differ, and
|
|
48
|
+
* never a throw.
|
|
49
|
+
*/
|
|
50
|
+
export declare function interfaceVerdict(module: unknown, bakedUrl?: URL | string): InterfaceVerdict;
|
|
51
|
+
//# sourceMappingURL=interface_gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface_gate.d.ts","sourceRoot":"","sources":["../../src/interface_gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAE/D,mGAAmG;AACnG,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAC5C;AAkBD;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAE/D;AA8BD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,gBAAgB,CAuB3F"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/** Read one member without letting a hostile module's getter escape. */
|
|
2
|
+
function member(module, name) {
|
|
3
|
+
try {
|
|
4
|
+
return module?.[name];
|
|
5
|
+
}
|
|
6
|
+
catch {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
function cannotTell(reason) {
|
|
11
|
+
return { status: 'cannot-tell', reason };
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Whether the base's shared capabilities may be used under `verdict`.
|
|
15
|
+
*
|
|
16
|
+
* The ONE mapping from the gate's verdict to the loader's decision, exported so it is asserted
|
|
17
|
+
* directly and the loader and its test cannot drift: only `incompatible` withholds the base;
|
|
18
|
+
* `cannot-tell` does not, because it is not a negative answer. A `false` here is still a DEGRADATION
|
|
19
|
+
* (own prompt defaults, gate skipped, legacy provisioning), never a refused mount.
|
|
20
|
+
*/
|
|
21
|
+
export function baseIsUsable(verdict) {
|
|
22
|
+
return verdict.status !== 'incompatible';
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Where the build's bake record sits when no explicit URL is given: beside the built ENTRY
|
|
26
|
+
* (`lib/index.js`), which is where `scripts/link-envinit.mjs` writes it. A per-file `tsc` emit of
|
|
27
|
+
* this module lives one directory below that entry and looks one level up; the first readable record
|
|
28
|
+
* wins. Under `vitest` (running from `src/`) neither exists, which is the correct "not baked".
|
|
29
|
+
*/
|
|
30
|
+
const BAKED_CANDIDATES = ['./interface-version.json', '../interface-version.json'];
|
|
31
|
+
/**
|
|
32
|
+
* Read this artifact's baked requirement through the loaded base's own reader.
|
|
33
|
+
* @param read - the base's `readInterfaceRequirement`, taken off the loaded module.
|
|
34
|
+
* @param bakedUrl - test seam: read EXACTLY this record instead of walking {@link BAKED_CANDIDATES}.
|
|
35
|
+
*/
|
|
36
|
+
function requirementOf(read, bakedUrl) {
|
|
37
|
+
const candidates = bakedUrl === undefined ? BAKED_CANDIDATES.map((relative) => new URL(relative, import.meta.url)) : [bakedUrl];
|
|
38
|
+
for (const url of candidates) {
|
|
39
|
+
let requirement;
|
|
40
|
+
try {
|
|
41
|
+
requirement = read(url);
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
const version = requirement?.interfaceVersion;
|
|
47
|
+
if (typeof version === 'number' && Number.isInteger(version) && version > 0)
|
|
48
|
+
return { interfaceVersion: version };
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Ask the loaded base whether it implements the interface generation this artifact was built for.
|
|
54
|
+
*
|
|
55
|
+
* @param module - the loaded base module (only `checkInterface` / `readInterfaceRequirement` are
|
|
56
|
+
* touched, each through a guarded read).
|
|
57
|
+
* @param bakedUrl - test seam: the bake record to read; production leaves it undefined.
|
|
58
|
+
* @returns a verdict that is never `incompatible` unless BOTH sides were readable and differ, and
|
|
59
|
+
* never a throw.
|
|
60
|
+
*/
|
|
61
|
+
export function interfaceVerdict(module, bakedUrl) {
|
|
62
|
+
const check = member(module, 'checkInterface');
|
|
63
|
+
const read = member(module, 'readInterfaceRequirement');
|
|
64
|
+
if (typeof check !== 'function' || typeof read !== 'function') {
|
|
65
|
+
return cannotTell('the loaded base has no interface gate (checkInterface / readInterfaceRequirement missing) — it predates the runtime interface contract, so which generation it implements cannot be told');
|
|
66
|
+
}
|
|
67
|
+
const requirement = requirementOf(read, bakedUrl);
|
|
68
|
+
if (requirement === undefined) {
|
|
69
|
+
return cannotTell('this build has no baked interface requirement (lib/interface-version.json is missing or malformed), so the runtime interface gate cannot run');
|
|
70
|
+
}
|
|
71
|
+
let verdict;
|
|
72
|
+
try {
|
|
73
|
+
verdict = check(requirement.interfaceVersion, module);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return cannotTell('the loaded base threw while judging the interface generation');
|
|
77
|
+
}
|
|
78
|
+
const status = verdict?.status;
|
|
79
|
+
if (status !== 'ok' && status !== 'incompatible' && status !== 'cannot-tell') {
|
|
80
|
+
return cannotTell('the loaded base returned no usable interface verdict');
|
|
81
|
+
}
|
|
82
|
+
return verdict;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=interface_gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface_gate.js","sourceRoot":"","sources":["../../src/interface_gate.ts"],"names":[],"mappings":"AAoCA,wEAAwE;AACxE,SAAS,MAAM,CAAC,MAAe,EAAE,IAA+B;IAC9D,IAAI,CAAC;QACH,OAAQ,MAAyC,EAAE,CAAC,IAAI,CAAC,CAAA;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,CAAA;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAAC,OAAyB;IACpD,OAAO,OAAO,CAAC,MAAM,KAAK,cAAc,CAAA;AAC1C,CAAC;AAED;;;;;GAKG;AACH,MAAM,gBAAgB,GAAsB,CAAC,0BAA0B,EAAE,2BAA2B,CAAC,CAAA;AAErG;;;;GAIG;AACH,SAAS,aAAa,CAAC,IAAU,EAAE,QAAuB;IACxD,MAAM,UAAU,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IAC/H,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC7B,IAAI,WAAoB,CAAA;QACxB,IAAI,CAAC;YACH,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,SAAQ;QACV,CAAC;QACD,MAAM,OAAO,GAAI,WAA0E,EAAE,gBAAgB,CAAA;QAC7G,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAA;IACnH,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAe,EAAE,QAAuB;IACvE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAA;IACvD,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9D,OAAO,UAAU,CACf,0LAA0L,CAC3L,CAAA;IACH,CAAC;IACD,MAAM,WAAW,GAAG,aAAa,CAAC,IAAY,EAAE,QAAQ,CAAC,CAAA;IACzD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC,8IAA8I,CAAC,CAAA;IACnK,CAAC;IACD,IAAI,OAAgB,CAAA;IACpB,IAAI,CAAC;QACH,OAAO,GAAI,KAAe,CAAC,WAAW,CAAC,gBAAgB,EAAE,MAA6B,CAAC,CAAA;IACzF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,UAAU,CAAC,8DAA8D,CAAC,CAAA;IACnF,CAAC;IACD,MAAM,MAAM,GAAI,OAA4D,EAAE,MAAM,CAAA;IACpF,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,cAAc,IAAI,MAAM,KAAK,aAAa,EAAE,CAAC;QAC7E,OAAO,UAAU,CAAC,sDAAsD,CAAC,CAAA;IAC3E,CAAC;IACD,OAAO,OAA2B,CAAA;AACpC,CAAC"}
|
package/lib/types/prompt.d.ts
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
import type { PromptSection } from '@deepseek-ai/dsh-system-prompt';
|
|
2
|
+
import type { LoadedPromptText, PromptFileSpec } from '@avantf/dsh-plugin-base';
|
|
2
3
|
/**
|
|
3
|
-
* The
|
|
4
|
+
* The three system-prompt sections this plugin contributes (DESIGN §10).
|
|
5
|
+
*
|
|
6
|
+
* The TEXTS are user-editable: each section's body lives in its own `.md` under the shared family
|
|
7
|
+
* prompt directory `<data_home>/prompts` (`PROMPT_FILES` maps file → section), and the constants
|
|
8
|
+
* below are both the built-in default and what a missing/blank file is filled with. The identity —
|
|
9
|
+
* section name and order — stays in code, so editing a file cannot silently move a section in the
|
|
10
|
+
* prompt. The loader itself is generic and lives in the family base (`PromptFiles`, exported by
|
|
11
|
+
* `@avantf/dsh-plugin-base`), because "ensure the file exists, otherwise use the default" is the same
|
|
12
|
+
* flow for every section — and taking it from the base at RUNTIME means fixing it takes one base
|
|
13
|
+
* release, not a plugin rebuild. When the base is unavailable the built-in defaults below are used
|
|
14
|
+
* and nothing is written to disk.
|
|
4
15
|
*
|
|
5
16
|
* They exist for something a tool description cannot carry: a description says what a call DOES,
|
|
6
17
|
* never when to reach for it unprompted, and the default behaviour is to wait until asked. So each
|
|
@@ -28,13 +39,21 @@ import type { PromptSection } from '@deepseek-ai/dsh-system-prompt';
|
|
|
28
39
|
* Kept in its own module — not in `index.ts` — so the text can be read and checked without the
|
|
29
40
|
* plugin entry's `@deepseek-ai/*` runtime imports, which resolve only in a harness workspace.
|
|
30
41
|
*/
|
|
31
|
-
export declare const MEMORY_PROMPT_SECTION:
|
|
42
|
+
export declare const MEMORY_PROMPT_SECTION: {
|
|
43
|
+
readonly name: "avantf:memory-usage";
|
|
44
|
+
readonly order: 3000;
|
|
45
|
+
readonly text: string;
|
|
46
|
+
};
|
|
32
47
|
/**
|
|
33
48
|
* WHEN to consult the document knowledge base. See the module comment for why this is a separate
|
|
34
49
|
* section rather than a clause inside the memory one: the two stores answer different questions,
|
|
35
50
|
* and a session that needs the knowledge base may have no memory question at all.
|
|
36
51
|
*/
|
|
37
|
-
export declare const KNOWLEDGE_PROMPT_SECTION:
|
|
52
|
+
export declare const KNOWLEDGE_PROMPT_SECTION: {
|
|
53
|
+
readonly name: "avantf:knowledge-usage";
|
|
54
|
+
readonly order: 3010;
|
|
55
|
+
readonly text: string;
|
|
56
|
+
};
|
|
38
57
|
/**
|
|
39
58
|
* HOW to change a document that is already in the library.
|
|
40
59
|
*
|
|
@@ -45,5 +64,56 @@ export declare const KNOWLEDGE_PROMPT_SECTION: PromptSection;
|
|
|
45
64
|
* overlapping documents, and the reader left to reconcile them. Changing a document is a FILE EDIT,
|
|
46
65
|
* so the section has to name the file tools and warn about the one that destroys the frontmatter.
|
|
47
66
|
*/
|
|
48
|
-
export declare const KB_EDIT_PROMPT_SECTION:
|
|
67
|
+
export declare const KB_EDIT_PROMPT_SECTION: {
|
|
68
|
+
readonly name: "avantf:kb-edit";
|
|
69
|
+
readonly order: 3020;
|
|
70
|
+
readonly text: string;
|
|
71
|
+
};
|
|
72
|
+
/** One section and the file its text may be edited in; the file name is the loader's handle. */
|
|
73
|
+
export interface PromptFileEntry {
|
|
74
|
+
readonly file: string;
|
|
75
|
+
/** Identity (name/order) and the built-in default body — code-owned, never read from the file. */
|
|
76
|
+
readonly section: PromptSection & {
|
|
77
|
+
readonly text: string;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Where each section's text comes from: one `.md` per section, inside the SHARED family prompt
|
|
82
|
+
* directory (`<data_home>/prompts`, see {@link PromptFiles}).
|
|
83
|
+
*
|
|
84
|
+
* Every avantf plugin writes its prompts into that one directory and owns a prefix — `mem-*` here,
|
|
85
|
+
* `work-*` in the work engine — so a deployment can find and diff all of its model-facing text in
|
|
86
|
+
* one place without any plugin having to guess which files belong to it. This manifest is that
|
|
87
|
+
* ownership: a `.md` it does not list is ignored (never read, never written, never deleted).
|
|
88
|
+
*
|
|
89
|
+
* The FILE owns the text; the CODE keeps the identity. Mapping a file name to a section HERE is what
|
|
90
|
+
* makes that true: no edit to the directory can move a section to a different point in the prompt
|
|
91
|
+
* (order) or change the name the harness dedupes on — and no file another plugin owns can be
|
|
92
|
+
* mistaken for one of these.
|
|
93
|
+
*
|
|
94
|
+
* `fallback` is taken from the constant above rather than retyped, so "the text that used to be
|
|
95
|
+
* hardcoded" and "the text a missing file is filled with" cannot drift apart.
|
|
96
|
+
*/
|
|
97
|
+
export declare const PROMPT_FILES: readonly PromptFileEntry[];
|
|
98
|
+
/** The generic loader's input: which file, and the body to write/use when it is missing or blank. */
|
|
99
|
+
export declare function promptFileSpecs(): PromptFileSpec[];
|
|
100
|
+
/**
|
|
101
|
+
* Zip the loaded texts back onto their sections, in manifest order.
|
|
102
|
+
*
|
|
103
|
+
* A section whose text is missing from `loaded` (the caller loaded a partial manifest) keeps its
|
|
104
|
+
* built-in default rather than losing its prompt entirely.
|
|
105
|
+
*/
|
|
106
|
+
export declare function buildPromptSections(loaded: readonly LoadedPromptText[]): PromptSection[];
|
|
107
|
+
/** The budget the built-in defaults are held to (`prompt_section.spec.ts` asserts it). */
|
|
108
|
+
export declare const PROMPT_TEXT_BUDGET = 400;
|
|
109
|
+
/**
|
|
110
|
+
* What is worth saying about text the USER wrote — as warnings, never as edits.
|
|
111
|
+
*
|
|
112
|
+
* The defaults are held to hard rules by `prompt_section.spec.ts`: under the budget (they are
|
|
113
|
+
* rendered into every model step), no retention vocabulary, no explanatory "why". An edited file
|
|
114
|
+
* cannot be held to them — it is the user's prompt — but all three are MEASURED regressions rather
|
|
115
|
+
* than style, so a line in the log is cheap and a silently worse prompt is not. Nothing is
|
|
116
|
+
* truncated and nothing is refused: the file is injected exactly as written.
|
|
117
|
+
*/
|
|
118
|
+
export declare function promptTextWarnings(sections: readonly PromptSection[]): string[];
|
|
49
119
|
//# sourceMappingURL=prompt.d.ts.map
|