@avantf/dsh-mem 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +97 -87
  3. package/lib/client.js +2351 -1170
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.js +1063 -639
  6. package/lib/interface-version.json +4 -0
  7. package/lib/types/client/index.d.ts.map +1 -1
  8. package/lib/types/client/index.js +21 -1
  9. package/lib/types/client/index.js.map +1 -1
  10. package/lib/types/data_home.d.ts +3 -0
  11. package/lib/types/data_home.d.ts.map +1 -0
  12. package/lib/types/data_home.js +26 -0
  13. package/lib/types/data_home.js.map +1 -0
  14. package/lib/types/envinit-bootstrap.d.ts +13 -3
  15. package/lib/types/envinit-bootstrap.js +14 -4
  16. package/lib/types/envinit.d.ts +11 -6
  17. package/lib/types/envinit.d.ts.map +1 -1
  18. package/lib/types/envinit.js +62 -155
  19. package/lib/types/envinit.js.map +1 -1
  20. package/lib/types/index.d.ts +33 -11
  21. package/lib/types/index.d.ts.map +1 -1
  22. package/lib/types/index.js +86 -39
  23. package/lib/types/index.js.map +1 -1
  24. package/lib/types/interface_gate.d.ts +51 -0
  25. package/lib/types/interface_gate.d.ts.map +1 -0
  26. package/lib/types/interface_gate.js +84 -0
  27. package/lib/types/interface_gate.js.map +1 -0
  28. package/lib/types/prompt.d.ts +74 -4
  29. package/lib/types/prompt.d.ts.map +1 -1
  30. package/lib/types/prompt.js +85 -2
  31. package/lib/types/prompt.js.map +1 -1
  32. package/lib/types/provision.d.ts +29 -24
  33. package/lib/types/provision.d.ts.map +1 -1
  34. package/lib/types/provision.js +3 -59
  35. package/lib/types/provision.js.map +1 -1
  36. package/lib/types/remote.d.ts +7 -3
  37. package/lib/types/remote.d.ts.map +1 -1
  38. package/lib/types/remote.js +14 -4
  39. package/lib/types/remote.js.map +1 -1
  40. package/package.json +17 -19
@@ -33,7 +33,8 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
33
33
  done = true;
34
34
  };
35
35
  import { existsSync } from 'node:fs';
36
- import { KB_EDIT_PROMPT_SECTION, KNOWLEDGE_PROMPT_SECTION, MEMORY_PROMPT_SECTION } from './prompt.js';
36
+ import { join } from 'node:path';
37
+ import { buildPromptSections, promptFileSpecs, promptTextWarnings } from './prompt.js';
37
38
  import { hintLines, messageText } from './hints.js';
38
39
  import z from '@deepseek-ai/schemastery';
39
40
  import { defineTool } from '@deepseek-ai/dsh-tools';
@@ -41,9 +42,10 @@ 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 { defaultToolsDir, parseToolsConfig, resolveToolsDir } from '@avantf/mem-provision';
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 literal `~/.avantf` here would be passed to the
58
- // runtime as an EXPLICIT data home (layer ⑤) and would then outrank
59
- // `AVANTF_HOME` (layer ④) for everyone who never configured this field.
60
- // Left unset, the runtime applies ⑤ → ④ → default itself.
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
- const fallback = legacyToolsDir(rt, env);
374
- logger.warn(`envinit: falling back to ${fallback} for pandoc (override with tools.dir or AVANTF_PANDOC)`);
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 framework's fixed sequence (its DESIGN §7.2): bootstrap (inlined) → load
407
- // `@avantf/dsh-envinit` → declare the blocking set → wait for it → this plugin's own pre-mount
408
- // check. The check is the family compatibility gate, and it runs before anything is registered,
409
- // so "do not load" costs nothing to unwind.
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`) is obtained by the FRAMEWORK now — this plugin no longer carries
412
- // its own self-heal through `@avantf/mem-provision`, whose private root the framework deliberately
413
- // does not read. When the framework itself is unavailable the plugin keeps mounting (see below) and
414
- // falls back to its legacy provisioning path, whose default directories are the pre-migration ones.
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-compat unavailable — see the `compat:` WARNING above); mounting the full plugin anyway');
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
- // The RESOLVED home is logged by the runtime init line; here we only report what
453
- // this plugin was configured with, so "unset" reads as unset rather than as a value.
454
- logger.info(`plugin mount: mode=${config.mode ?? 'cordis'} `
455
- + `dataHome=${config.dataHome ?? '(unset → AVANTF_HOME, else ~/.avantf)'}`);
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: config.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,10 +584,41 @@ 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
- for (const section of [MEMORY_PROMPT_SECTION, KNOWLEDGE_PROMPT_SECTION, KB_EDIT_PROMPT_SECTION]) {
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
  }
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(', ')})`);
575
622
  // The CONDITIONAL hints, one contribution per store (DESIGN §12). Recomputed synchronously the
576
623
  // moment the agent is handed a message, so they are in place before THIS step's prompt is
577
624
  // assembled: the provider below cannot await, which is exactly why the probe is the lexical one
@@ -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"}
@@ -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 two system-prompt sections this plugin contributes (DESIGN §10).
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: PromptSection;
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: PromptSection;
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: PromptSection;
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
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAOnC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAOtC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAMpC,CAAA"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAEnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,qBAAqB;;;;CAOA,CAAA;AAElC;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;CAOH,CAAA;AAElC;;;;;;;;;GASG;AACH,eAAO,MAAM,sBAAsB;;;;CAMD,CAAA;AAElC,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,kGAAkG;IAClG,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,eAAe,EAIlD,CAAA;AAED,qGAAqG;AACrG,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAElD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,aAAa,EAAE,CAOxF;AAED,0FAA0F;AAC1F,eAAO,MAAM,kBAAkB,MAAM,CAAA;AAKrC;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,GAAG,MAAM,EAAE,CAmB/E"}