@avantf/dsh-mission 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 +21 -0
- package/README.md +249 -0
- package/cordis.patch.yml +13 -0
- package/lib/client.js +225 -0
- package/lib/dsh-build.json +16 -0
- package/lib/envinit-bootstrap.js +334 -0
- package/lib/index.js +7021 -0
- package/lib/interface-version.json +4 -0
- package/lib/mission-core/capacity.d.ts +100 -0
- package/lib/mission-core/continuation.d.ts +106 -0
- package/lib/mission-core/dispatch.d.ts +165 -0
- package/lib/mission-core/engine.d.ts +331 -0
- package/lib/mission-core/index.d.ts +25 -0
- package/lib/mission-core/liveness.d.ts +99 -0
- package/lib/mission-core/prompt.d.ts +112 -0
- package/lib/mission-core/resources.d.ts +57 -0
- package/lib/mission-core/timing.d.ts +37 -0
- package/lib/mission-core/tree.d.ts +447 -0
- package/lib/mission-core/trouble.d.ts +40 -0
- package/lib/mission-core/types.d.ts +409 -0
- package/lib/mission-core/wellformed.d.ts +98 -0
- package/lib/types/claims.d.ts +3 -0
- package/lib/types/claims.d.ts.map +1 -0
- package/lib/types/client/MissionTreeView.d.ts +247 -0
- package/lib/types/client/MissionTreeView.d.ts.map +1 -0
- package/lib/types/client/api.d.ts +184 -0
- package/lib/types/client/api.d.ts.map +1 -0
- package/lib/types/client/contract.d.ts +209 -0
- package/lib/types/client/contract.d.ts.map +1 -0
- package/lib/types/client/index.d.ts +48 -0
- package/lib/types/client/index.d.ts.map +1 -0
- package/lib/types/client/seat.d.ts +26 -0
- package/lib/types/client/seat.d.ts.map +1 -0
- package/lib/types/client/styles.d.ts +6 -0
- package/lib/types/client/styles.d.ts.map +1 -0
- package/lib/types/coldResume.d.ts +123 -0
- package/lib/types/coldResume.d.ts.map +1 -0
- package/lib/types/domain.d.ts +93 -0
- package/lib/types/domain.d.ts.map +1 -0
- package/lib/types/envinit.d.ts +126 -0
- package/lib/types/envinit.d.ts.map +1 -0
- package/lib/types/executorSession.d.ts +129 -0
- package/lib/types/executorSession.d.ts.map +1 -0
- package/lib/types/faces.d.ts +30 -0
- package/lib/types/faces.d.ts.map +1 -0
- package/lib/types/host.d.ts +752 -0
- package/lib/types/host.d.ts.map +1 -0
- package/lib/types/index.d.ts +48 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/interface_gate.d.ts +51 -0
- package/lib/types/interface_gate.d.ts.map +1 -0
- package/lib/types/log.d.ts +18 -0
- package/lib/types/log.d.ts.map +1 -0
- package/lib/types/projectionCache.d.ts +22 -0
- package/lib/types/projectionCache.d.ts.map +1 -0
- package/lib/types/prompt.d.ts +106 -0
- package/lib/types/prompt.d.ts.map +1 -0
- package/lib/types/source.d.ts +22 -0
- package/lib/types/source.d.ts.map +1 -0
- package/lib/types/store.d.ts +20 -0
- package/lib/types/store.d.ts.map +1 -0
- package/lib/types/timeFormat.d.ts +56 -0
- package/lib/types/timeFormat.d.ts.map +1 -0
- package/lib/types/tools.d.ts +34 -0
- package/lib/types/tools.d.ts.map +1 -0
- package/lib/types/wellformed.d.ts +43 -0
- package/lib/types/wellformed.d.ts.map +1 -0
- package/lib/types/wire.d.ts +178 -0
- package/lib/types/wire.d.ts.map +1 -0
- package/lib/types/workerEvents.d.ts +36 -0
- package/lib/types/workerEvents.d.ts.map +1 -0
- package/lib/types/workerSessions.d.ts +256 -0
- package/lib/types/workerSessions.d.ts.map +1 -0
- package/package.json +145 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/host.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import z from '@deepseek-ai/schemastery';
|
|
3
|
+
export declare const name = "avantf-mission";
|
|
4
|
+
export declare const inject: string[];
|
|
5
|
+
export interface Config {
|
|
6
|
+
/** Slot ceiling on the NUMBER of concurrent units; omitted means "CPU cores minus one". Capacity is
|
|
7
|
+
* the master gate: a dispatch needs BOTH room in capacity and a free slot. */
|
|
8
|
+
maxConcurrent?: number;
|
|
9
|
+
/** Capacity gate in cores-equivalent. Omitted means "derive from this machine"
|
|
10
|
+
* (`os.availableParallelism()` → `os.cpus().length` → 4, minus one reserved core, clamped 1..64);
|
|
11
|
+
* an explicit value is used as given. */
|
|
12
|
+
capacity?: number;
|
|
13
|
+
/** How long a node may be repeatedly deferred by the capacity gate before it reserves the machine
|
|
14
|
+
* (no new admissions until it fits); default 5 min, floor 1 min. */
|
|
15
|
+
capacityWaitMs?: number;
|
|
16
|
+
/** Free-memory floor in bytes: below it dispatch is DEFERRED (never refused). Default 256 MiB;
|
|
17
|
+
* `0` disables the gate. */
|
|
18
|
+
minFreeMemoryBytes?: number;
|
|
19
|
+
/** How long a worker may produce NOTHING before it is treated as stuck (default 30 min, floor
|
|
20
|
+
* 1 min), measured from its last real output so a legitimately long step does not count as no
|
|
21
|
+
* progress. Transport-layer noise (provider retries, route snapshots) does not refresh it. */
|
|
22
|
+
staleMs?: number;
|
|
23
|
+
/** Wall-clock ceiling on one dispatch round (default 1 hour, floor 10 min or `staleMs`, whichever
|
|
24
|
+
* is larger). Past it the node is reclaimed as `hung` — alive but unproductive — no matter how many
|
|
25
|
+
* events refreshed its timestamps; a smaller value is raised to the floor with a warning. */
|
|
26
|
+
roundMs?: number;
|
|
27
|
+
/** Root of the session store `/archive` and `/clean` act on (default `<dsh home>/sessions`); only a
|
|
28
|
+
* directory directly under it named exactly a session id is ever touched, so a wrong value removes nothing. */
|
|
29
|
+
sessionsRoot?: string;
|
|
30
|
+
/** Root of the host's projection-cache record directory `/clean` prunes alongside a released
|
|
31
|
+
* session (default `<dsh home>/storages/session_projcache/sessions`). Only a file named exactly
|
|
32
|
+
* `mission-<8 hex>.json` is ever touched, so a wrong value removes nothing. */
|
|
33
|
+
projectionCacheRoot?: string;
|
|
34
|
+
/** How many SETTLED (finished) worker sessions to keep per owner session; older ones are released
|
|
35
|
+
* automatically at mount and on every sweep. Default 10. Live workers never count against it and
|
|
36
|
+
* are never released. `0` disables automatic retention entirely (keep everything); it does NOT
|
|
37
|
+
* mean "keep none" — the manual `/clean archive all` is what releases every settled worker. */
|
|
38
|
+
keepWorkers?: number;
|
|
39
|
+
/** The avantf data home (default `$AVANTF_HOME`, else `~/.avantf`). Only its `prompts/` subdirectory
|
|
40
|
+
* is used — the shared directory holding every avantf plugin's editable system-prompt text. */
|
|
41
|
+
dataHome?: string;
|
|
42
|
+
}
|
|
43
|
+
export declare const Config: z<Config>;
|
|
44
|
+
export { WORKER_TOOL_DENY } from './faces.js';
|
|
45
|
+
export declare function apply(ctx: Context, config: Config): Promise<void>;
|
|
46
|
+
export { defineWorkTools } from './tools.js';
|
|
47
|
+
export { AvantfMissionHost } from './host.js';
|
|
48
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAclD,OAAO,CAAC,MAAM,0BAA0B,CAAA;AA2CxC,eAAO,MAAM,IAAI,mBAAmB,CAAA;AAqCpC,eAAO,MAAM,MAAM,UAUlB,CAAA;AAED,MAAM,WAAW,MAAM;IACrB;mFAC+E;IAC/E,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;8CAE0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;yEACqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;iCAC6B;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;kGAE8F;IAC9F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;iGAE6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;mHAC+G;IAC/G,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;oFAEgF;IAChF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;oGAGgG;IAChG,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;mGAC+F;IAC/F,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,MAAM,EAAE,CAAC,CAAC,MAAM,CAW3B,CAAA;AAGF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAgF7C,wBAAsB,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAs+BvE;AAED,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -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-mission/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,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The plugin's log sink: `ctx.logger` never reaches the terminal, so lines also go to
|
|
3
|
+
* stderr (`console.error`, leaving stdout free) and stay mirrored into the host logger.
|
|
4
|
+
* @module @avantf/dsh-mission/log
|
|
5
|
+
*/
|
|
6
|
+
export declare const LOG_PREFIX = "[avantf-mission]";
|
|
7
|
+
export interface MissionLogger {
|
|
8
|
+
info(message: string): void;
|
|
9
|
+
warn(message: string): void;
|
|
10
|
+
error(message: string): void;
|
|
11
|
+
}
|
|
12
|
+
/** Build the plugin's logger; `sink` is injectable so a test can assert the lines. */
|
|
13
|
+
export declare function createLogger(host: {
|
|
14
|
+
info(message: string): void;
|
|
15
|
+
warn(message: string): void;
|
|
16
|
+
error(message: string): void;
|
|
17
|
+
} | undefined, sink?: (line: string) => void): MissionLogger;
|
|
18
|
+
//# sourceMappingURL=log.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/log.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,UAAU,qBAAqB,CAAA;AAE5C,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAC7B;AAED,sFAAsF;AACtF,wBAAgB,YAAY,CAC1B,IAAI,EAAE;IAAE,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,SAAS,EAC5G,IAAI,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAwC,GAC/D,aAAa,CAcf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** Where one session's projection-cache record lives under the cache root. */
|
|
2
|
+
export declare function projectionCachePath(root: string, id: string): string;
|
|
3
|
+
/**
|
|
4
|
+
* The worker ids with a residue file under `root`, in directory order.
|
|
5
|
+
*
|
|
6
|
+
* A missing or unreadable directory yields `[]`: "nothing to clean" is the safe answer, never an
|
|
7
|
+
* error — this runs inside mount and inside commands, neither of which may fail because a cache
|
|
8
|
+
* directory is absent.
|
|
9
|
+
*/
|
|
10
|
+
export declare function listProjectionCacheIds(root: string): readonly string[];
|
|
11
|
+
/** What one best-effort removal did: `removed` / nothing there (`absent`) / fs refused (`failed`). */
|
|
12
|
+
export type ProjectionCacheRemoval = 'removed' | 'absent' | 'failed';
|
|
13
|
+
/**
|
|
14
|
+
* Remove one worker's residue file, best-effort.
|
|
15
|
+
*
|
|
16
|
+
* Only a `mission-<8 hex>` id is accepted, so a caller bug cannot turn this into a delete of an
|
|
17
|
+
* arbitrary path. A missing file is `absent`, not an error (a cleaned session may never have
|
|
18
|
+
* checkpointed, and a previous pass may already have removed it). A real fs failure is `failed`,
|
|
19
|
+
* which the caller reports as a warning — cleanup is never allowed to fail a command.
|
|
20
|
+
*/
|
|
21
|
+
export declare function removeProjectionCache(root: string, id: string): ProjectionCacheRemoval;
|
|
22
|
+
//# sourceMappingURL=projectionCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projectionCache.d.ts","sourceRoot":"","sources":["../../src/projectionCache.ts"],"names":[],"mappings":"AA6BA,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAatE;AAED,sGAAsG;AACtG,MAAM,MAAM,sBAAsB,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEpE;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,sBAAsB,CAUtF"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { LoadedPromptText, PromptFileSpec } from '@avantf/dsh-plugin-base';
|
|
2
|
+
/**
|
|
3
|
+
* Static, not per-turn: it describes the DECISION (is this mission tree-shaped?) and what an
|
|
4
|
+
* executor can see, both true before any tree exists, and it names no tool this plugin does
|
|
5
|
+
* not own. The executor boundary is stated as one-shot, blind to the conversation, unreachable
|
|
6
|
+
* afterwards, so a reader can place `create_mission` without being taught tools they may not have.
|
|
7
|
+
*/
|
|
8
|
+
export declare const MISSION_TREE_GUIDANCE: string;
|
|
9
|
+
/**
|
|
10
|
+
* This plugin's file-name prefix inside the SHARED family prompt directory — the `mission` in
|
|
11
|
+
* `mission-*.md`.
|
|
12
|
+
*
|
|
13
|
+
* It is handed to the base's `PromptFiles` as its `namespace` (interface v3), which then REFUSES to
|
|
14
|
+
* read or write any spec whose `file` is not `<namespace>-…` or is not a bare file name: the
|
|
15
|
+
* `mem-*` / `mission-*` split used to be a convention with no machine check, so a mistyped prefix
|
|
16
|
+
* could silently read or overwrite another plugin's user-edited file. The value is the SAME token
|
|
17
|
+
* {@link PROMPT_FILES} names its files with — one source for both, so the two cannot drift — and it
|
|
18
|
+
* is OPTIONAL at the base: a caller that omits it (or a base older than v3) gets the pre-v3
|
|
19
|
+
* behaviour, which is why passing it never degrades a mount.
|
|
20
|
+
*/
|
|
21
|
+
export declare const PROMPT_NAMESPACE = "mission";
|
|
22
|
+
/** One section and the file its text may be edited in; the file name is the loader's handle. */
|
|
23
|
+
export interface PromptFileEntry {
|
|
24
|
+
readonly file: string;
|
|
25
|
+
/** The built-in default body — code-owned, never read from the file. */
|
|
26
|
+
readonly fallback: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Where the section's text comes from: `mission-tree-guide.md` inside the SHARED family prompt
|
|
30
|
+
* directory (`<data home>/prompts`; the memory plugin keeps its `mem-*` files beside it).
|
|
31
|
+
*
|
|
32
|
+
* The FILE owns the text; the CODE keeps the identity — the section's name and its order
|
|
33
|
+
* (`getSectionOrder('TOOL_JOBS')`) are set in `index.ts` and cannot be changed from disk. A `.md`
|
|
34
|
+
* this manifest does not list is ignored: it is not a section, and another plugin's file must never
|
|
35
|
+
* be mistaken for one of ours.
|
|
36
|
+
*/
|
|
37
|
+
export declare const PROMPT_FILES: readonly PromptFileEntry[];
|
|
38
|
+
/**
|
|
39
|
+
* The prompt directory: the SHARED family directory `<data home>/prompts`.
|
|
40
|
+
*
|
|
41
|
+
* Every avantf plugin writes its model-facing text there and owns a prefix — `mission-*` here, `mem-*`
|
|
42
|
+
* in the memory plugin (whose own section file is `mission-tree-guide.md`'s sibling) — so a deployment
|
|
43
|
+
* can find, diff and back up all of it in one place without any plugin having to guess which files
|
|
44
|
+
* are its own. The data home follows the FAMILY's layer order, the same one the memory engine uses
|
|
45
|
+
* (root `AGENTS.md` 「边界与路径」): an explicit caller value → `$AVANTF_HOME` → the configured
|
|
46
|
+
* `dataHome` → `~/.avantf`.
|
|
47
|
+
*
|
|
48
|
+
* The configured value is passed as its OWN NAMED layer, NOT as the explicit one. Handing a
|
|
49
|
+
* schema-defaulted config value to the explicit slot promotes layer ② above layer ④ and makes
|
|
50
|
+
* `$AVANTF_HOME` dead whenever a config file merely mentions `dataHome` — which is how the two
|
|
51
|
+
* halves of the family ended up resolving the same config to different directories.
|
|
52
|
+
*/
|
|
53
|
+
export declare function promptDir(configured?: string, env?: Record<string, string | undefined>,
|
|
54
|
+
/**
|
|
55
|
+
* The resolver to use — the BASE's `resolveDataHome` at runtime when the base is available.
|
|
56
|
+
* Defaults to the local fallback below, which is what a base-less mount uses. Its input is the
|
|
57
|
+
* family's NAMED slot object, so a caller cannot put the configured value in the explicit slot by
|
|
58
|
+
* accident — the mistake that once made `$AVANTF_HOME` dead on this side of the family.
|
|
59
|
+
*/
|
|
60
|
+
resolve?: (input: {
|
|
61
|
+
readonly explicit?: string;
|
|
62
|
+
readonly env?: Record<string, string | undefined>;
|
|
63
|
+
readonly configured?: string;
|
|
64
|
+
}) => string): string;
|
|
65
|
+
/**
|
|
66
|
+
* The data home, with `~/` (and a bare `~`) expanded: ⑤ explicit → ④ `$AVANTF_HOME` → ② the
|
|
67
|
+
* configured value → `~/.avantf`. The base-less fallback for {@link promptDir}, with the same NAMED
|
|
68
|
+
* slots as the base's `resolveDataHome` — the two must give the same answer, which
|
|
69
|
+
* `test/prompt_files.spec.ts` (the wiring) and `mem/packages/plugin/test/family_pin.spec.ts` (the
|
|
70
|
+
* cross-tree pin) both assert.
|
|
71
|
+
*/
|
|
72
|
+
export declare function resolveDataHome(input?: {
|
|
73
|
+
readonly explicit?: string;
|
|
74
|
+
readonly env?: Record<string, string | undefined>;
|
|
75
|
+
readonly configured?: string;
|
|
76
|
+
}): string;
|
|
77
|
+
/** The generic loader's input: which file, and the body to write/use when it is missing or blank. */
|
|
78
|
+
export declare function promptFileSpecs(): PromptFileSpec[];
|
|
79
|
+
/**
|
|
80
|
+
* The text to register for the guidance section: what the file says, or the built-in default when it
|
|
81
|
+
* was not loaded. A file with content is injected exactly as written.
|
|
82
|
+
*/
|
|
83
|
+
export declare function buildGuidanceText(loaded: readonly LoadedPromptText[]): string;
|
|
84
|
+
/** The wording the model must not read (`wording.spec.ts` guards the default against it). */
|
|
85
|
+
export declare const GUIDANCE_TREE_WORDS: readonly ["任务树", "子树", "整棵树", "棵树", "节点", "树"];
|
|
86
|
+
/** The built-in default's length; the spec asserts the default stays under it. */
|
|
87
|
+
export declare const GUIDANCE_BUDGET = 1200;
|
|
88
|
+
/**
|
|
89
|
+
* What is worth saying about text the USER wrote — as warnings, never as edits.
|
|
90
|
+
*
|
|
91
|
+
* The default is held to hard rules by `guidance.spec.ts` / `wording.spec.ts` (no tree vocabulary,
|
|
92
|
+
* a budget, only this plugin's own tools). An edited file cannot be held to them — it is the user's
|
|
93
|
+
* prompt — but the tree vocabulary is a MEASURED regression (it invites reading a mission as a
|
|
94
|
+
* container of nodes), so one line in the log is cheap and a silently worse prompt is not. Nothing
|
|
95
|
+
* is truncated and nothing is refused: the file is injected exactly as written.
|
|
96
|
+
*/
|
|
97
|
+
export declare function guidanceTextWarnings(text: string): string[];
|
|
98
|
+
export declare const GUIDANCE_CONTEXT_ORDER = 40;
|
|
99
|
+
/**
|
|
100
|
+
* Known limit: a worker reads `dsh-tool-goal`'s static section but holds none of its tools, since
|
|
101
|
+
* the section has no scope check and a worker joins the owner's preset composition. Shadowing it
|
|
102
|
+
* is not a clean fix — a same-name section replaces the owner's contribution too, and the goal
|
|
103
|
+
* package does not export its text. Accepted: `tools.restrict()` makes an attempted call fail as
|
|
104
|
+
* `UNKNOWN_TOOL`, so the whole cost is one wasted turn; the proper fix belongs upstream.
|
|
105
|
+
*/
|
|
106
|
+
//# sourceMappingURL=prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAE/E;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QActB,CAAA;AAEZ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,YAAY,CAAA;AAEzC,gGAAgG;AAChG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,EAAE,SAAS,eAAe,EAElD,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CACvB,UAAU,CAAC,EAAE,MAAM,EACnB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe;AACrD;;;;;GAKG;AACH,OAAO,GAAE,CAAC,KAAK,EAAE;IACf,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAC7B,KAAK,MAAwB,GAC7B,MAAM,CAER;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAE;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CACxB,GAAG,MAAM,CAQd;AAED,qGAAqG;AACrG,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAElD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAAG,MAAM,CAG7E;AAED,6FAA6F;AAC7F,eAAO,MAAM,mBAAmB,gDAAiD,CAAA;AAEjF,kFAAkF;AAClF,eAAO,MAAM,eAAe,OAAO,CAAA;AAEnC;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAe3D;AAID,eAAO,MAAM,sBAAsB,KAAK,CAAA;AAExC;;;;;;GAMG"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This plugin's producer-owned message source.
|
|
3
|
+
*
|
|
4
|
+
* DSH V4 retired the shared `plugin` wrapper: every durable message declares the producer that owns
|
|
5
|
+
* it, and the V3→V4 migration rewrites a released `{ kind: 'plugin', plugin: 'avantf-mission' }` wrapper
|
|
6
|
+
* to `{ kind: 'plugin:avantf-mission' }` (an unknown producer name keeps its complete string after the
|
|
7
|
+
* prefix). Wakes written from now on declare that same kind, so a wake queued before the migration
|
|
8
|
+
* and one written after it are one producer to the pre-step gate — and the kind is admitted by a V4
|
|
9
|
+
* writer, which refuses both an empty kind and the retired `plugin` one.
|
|
10
|
+
*
|
|
11
|
+
* @module @avantf/dsh-mission/source
|
|
12
|
+
*/
|
|
13
|
+
declare module '@deepseek-ai/dsh-llm' {
|
|
14
|
+
interface MessageSourceMap {
|
|
15
|
+
'plugin:avantf-mission': {
|
|
16
|
+
kind: 'plugin:avantf-mission';
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** The producer-owned source kind of every wake this plugin writes. */
|
|
21
|
+
export declare const OWN_WAKE_SOURCE_KIND = "plugin:avantf-mission";
|
|
22
|
+
//# sourceMappingURL=source.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../src/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,QAAQ,sBAAsB,CAAC;IACpC,UAAU,gBAAgB;QACxB,uBAAuB,EAAE;YAAE,IAAI,EAAE,uBAAuB,CAAA;SAAE,CAAA;KAC3D;CACF;AAED,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,0BAA0B,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The durable sink for trees: read everything on open, write one document per mutation,
|
|
3
|
+
* remove a document when its tree is destroyed. The domain handle is created by the plugin
|
|
4
|
+
* (a domain name can only be opened once per process) and passed in.
|
|
5
|
+
* @module @avantf/dsh-mission/store
|
|
6
|
+
*/
|
|
7
|
+
import type { TreeState, TreeStore } from '../mission-core/index.js';
|
|
8
|
+
import type { TreeDocument } from './domain.js';
|
|
9
|
+
/** The slice of the opened domain this store uses. */
|
|
10
|
+
export interface TreesTable {
|
|
11
|
+
get(key: string): TreeDocument | undefined;
|
|
12
|
+
entries(): IterableIterator<[string, TreeDocument]>;
|
|
13
|
+
put(key: string, value: TreeDocument): Promise<void>;
|
|
14
|
+
delete(key: string): Promise<boolean>;
|
|
15
|
+
readonly size: number;
|
|
16
|
+
}
|
|
17
|
+
export declare function createTreeStore(table: TreesTable): TreeStore;
|
|
18
|
+
export declare function toDocument(state: TreeState): TreeDocument;
|
|
19
|
+
export declare function toState(document: TreeDocument): TreeState;
|
|
20
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE/C,sDAAsD;AACtD,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAA;IAC1C,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IACnD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpD,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,CAkB5D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAEzD;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,SAAS,CAEzD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Human-readable mission timing, shared by BOTH halves of the plugin: the host's tool answers and
|
|
3
|
+
* `/mission` line, and the browser panel's row and detail header. It is a separate, dependency-free
|
|
4
|
+
* module on purpose — the client bundle must not pull `@avantf/mission-core` in, and a second,
|
|
5
|
+
* hand-copied formatter would drift from the host's exactly the way `STATUS_LABEL` nearly did (see
|
|
6
|
+
* the note in `client/MissionTreeView.tsx`).
|
|
7
|
+
*
|
|
8
|
+
* Timestamps are LOCAL time (`MM-DD HH:MM`), never bare ISO: the reader is a person looking at their
|
|
9
|
+
* own machine's clock, and the plugin's whole surface is Chinese. Durations are coarse on purpose
|
|
10
|
+
* (`45s`, `2m10s`, `1h5m`, `2d3h`) — this answers "when did it start and how long did it take", not
|
|
11
|
+
* "how many milliseconds".
|
|
12
|
+
*
|
|
13
|
+
* @module @avantf/dsh-mission/timeFormat
|
|
14
|
+
*/
|
|
15
|
+
/** The three instants a caller must supply. A node record satisfies it structurally; the client's
|
|
16
|
+
* wire view does too, and an older host that omitted the newer fields reads as `undefined`, which
|
|
17
|
+
* every function here treats exactly like `null`. `createdAt` is optional only because the detail
|
|
18
|
+
* wire field itself is optional across versions; the engine always records it. */
|
|
19
|
+
export interface TimingFields {
|
|
20
|
+
readonly createdAt?: number | null;
|
|
21
|
+
readonly dispatchedAt?: number | null;
|
|
22
|
+
readonly endedAt?: number | null;
|
|
23
|
+
}
|
|
24
|
+
/** `MM-DD HH:MM` in the LOCAL timezone. */
|
|
25
|
+
export declare function formatClock(at: number): string;
|
|
26
|
+
/**
|
|
27
|
+
* A coarse, human duration: seconds below a minute, then minutes, hours and days, each with the next
|
|
28
|
+
* smaller unit only when it is non-zero. Negative input (a clock that ran backwards) reads as `0s`
|
|
29
|
+
* rather than as a negative duration.
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatDuration(ms: number): string;
|
|
32
|
+
/**
|
|
33
|
+
* The full sentence the tool answers and `/mission` carry, in the exact shape the task asks for:
|
|
34
|
+
*
|
|
35
|
+
* - never dispatched → `等待中(受理 10-03 17:20)` — the queue is still open, so there is no queue
|
|
36
|
+
* duration to state, only the instant it was accepted;
|
|
37
|
+
* - dispatched, not ended → `派发 10-03 17:21(排队 45s)→ 进行中`;
|
|
38
|
+
* - terminal after a run → `派发 10-03 17:21(排队 45s)→ 结束 10-03 17:23(耗时 2m10s)`;
|
|
39
|
+
* - terminal without ever running (cancelled in the queue) → `等待中(受理 …, 结束 …,未派发)`, which
|
|
40
|
+
* says plainly that the duration it did spend was NOT execution.
|
|
41
|
+
*/
|
|
42
|
+
export declare function describeTiming(node: TimingFields): string;
|
|
43
|
+
/**
|
|
44
|
+
* The row's compact marker, or `undefined` when the row already says everything (a node that has not
|
|
45
|
+
* been dispatched yet is covered by the 排队中/等容量 marker). Kept small because a row is a line:
|
|
46
|
+
* a terminal node shows HOW LONG it took, a dispatched-but-unfinished one shows WHEN it started.
|
|
47
|
+
*/
|
|
48
|
+
export declare function timingBadge(node: TimingFields): string | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* The detail dialog's line: every instant spelled out, with 「—」 for one that was never recorded.
|
|
51
|
+
* Deliberately not {@link describeTiming}: a dialog is read after the fact and benefits from the three
|
|
52
|
+
* instants side by side, including the accepted-for one, which the one-line tool answer omits when the
|
|
53
|
+
* mission ran.
|
|
54
|
+
*/
|
|
55
|
+
export declare function timingDetail(node: TimingFields): string;
|
|
56
|
+
//# sourceMappingURL=timeFormat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeFormat.d.ts","sourceRoot":"","sources":["../../src/timeFormat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH;;;mFAGmF;AACnF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED,2CAA2C;AAC3C,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAI9C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAgBjD;AAqBD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAYzD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAOlE;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAOvD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type ToolDefinition } from '@deepseek-ai/dsh-tools';
|
|
2
|
+
import type { AvantfMissionHost } from './host.js';
|
|
3
|
+
/**
|
|
4
|
+
* Decode one STRUCTURED argument that may have arrived as its JSON text: the transport has
|
|
5
|
+
* been observed handing an array parameter over as the string of its JSON text, which the
|
|
6
|
+
* host validator rejects before `execute` runs. The declarations below accept both shapes
|
|
7
|
+
* (`oneOf`); a string parameter must never be JSON-decoded.
|
|
8
|
+
*/
|
|
9
|
+
export declare function structuredArg(args: Record<string, unknown>, key: string): unknown;
|
|
10
|
+
/** Split a plain-text list argument: one item per line, bullets and blank lines ignored. */
|
|
11
|
+
export declare function textLines(text: string): string[];
|
|
12
|
+
/** Read an optional string-array argument, accepting the array, its JSON text, or one item per line. */
|
|
13
|
+
export declare function strList(args: Record<string, unknown>, key: string): string[];
|
|
14
|
+
/**
|
|
15
|
+
* Read an optional scope argument (`unit`). Three outcomes, and the difference is load-bearing:
|
|
16
|
+
*
|
|
17
|
+
* - absent (or not a string) → `undefined`: "nothing declared", which for a root means no lease and
|
|
18
|
+
* for a decomposed child means INHERIT the parent's scope (the safe default);
|
|
19
|
+
* - a blank string → `null`: an explicit opt-OUT, so a child of a scoped mission can still say "this
|
|
20
|
+
* one touches nothing shared";
|
|
21
|
+
* - anything else → the trimmed scope, the lease key itself.
|
|
22
|
+
*/
|
|
23
|
+
export declare function optionalUnit(args: Record<string, unknown>, key: string): string | null | undefined;
|
|
24
|
+
/** Read the child-mission array of `decompose_mission`, accepting the array or its JSON text. */
|
|
25
|
+
export declare function childSpecs(args: Record<string, unknown>): {
|
|
26
|
+
title: string;
|
|
27
|
+
description: string;
|
|
28
|
+
context: string[];
|
|
29
|
+
unit?: string | null;
|
|
30
|
+
weight?: number;
|
|
31
|
+
roundMs?: number | null;
|
|
32
|
+
}[];
|
|
33
|
+
export declare function defineWorkTools(host: AvantfMissionHost): ToolDefinition[];
|
|
34
|
+
//# sourceMappingURL=tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../src/tools.ts"],"names":[],"mappings":"AAQA,OAAO,EAKL,KAAK,cAAc,EAEpB,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAwGlD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAQjF;AAED,4FAA4F;AAC5F,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAKhD;AAED,wGAAwG;AACxG,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAM5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAKlG;AA8BD,iGAAiG;AACjG,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACzD,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB,EAAE,CA+BF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,EAAE,CAkZzE"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Where the plugin gets its well-formed repair from — base kit first, local copy as the degradation.
|
|
3
|
+
*
|
|
4
|
+
* The repair itself (lone surrogates → U+FFFD) is the family's single worst serialization defect and
|
|
5
|
+
* is documented in full in the core's `wellformed.ts`; this module only decides WHICH implementation
|
|
6
|
+
* the plugin uses:
|
|
7
|
+
*
|
|
8
|
+
* - if the base module the inlined bootstrap loaded carries BOTH `wellFormedText` and
|
|
9
|
+
* `wellFormedDeep` (interface v2), those are used — the canonical implementation, fixable with one
|
|
10
|
+
* base release per the root `AGENTS.md`;
|
|
11
|
+
* - otherwise (base absent, or older than v2) the plugin uses the core's local copy,
|
|
12
|
+
* `LOCAL_WELL_FORMED`. That is a documented DEGRADATION, never a refusal: the plugin mounts in
|
|
13
|
+
* full and still repairs every model-visible boundary.
|
|
14
|
+
*
|
|
15
|
+
* The judgement is deliberately "is this FUNCTION present", NOT "what interface generation is this".
|
|
16
|
+
* A base that carries the two members is usable whatever it calls itself, and a base that does not
|
|
17
|
+
* is a fallback — the runtime interface gate elsewhere in `envinit.ts` owns the generation question,
|
|
18
|
+
* and its own outcome (no kit at all) reaches here as `undefined`, which this function degrades.
|
|
19
|
+
*
|
|
20
|
+
* Nothing here imports the base: the kit arrives as an argument, taken off the module the bootstrap
|
|
21
|
+
* loaded at runtime (see the module note in `src/envinit.ts` and root `AGENTS.md`).
|
|
22
|
+
*
|
|
23
|
+
* @module @avantf/dsh-mission/wellformed
|
|
24
|
+
*/
|
|
25
|
+
import { type WellFormedSource } from '../mission-core/index.js';
|
|
26
|
+
/**
|
|
27
|
+
* The slice of the loaded base kit this decision needs. Both members are optional because the point
|
|
28
|
+
* of the runtime check is that a base older than interface v2 simply does not have them.
|
|
29
|
+
*/
|
|
30
|
+
export interface WellFormedKit {
|
|
31
|
+
readonly wellFormedText?: unknown;
|
|
32
|
+
readonly wellFormedDeep?: unknown;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Take the repair pair off the loaded base kit, or fall back to the local copy.
|
|
36
|
+
*
|
|
37
|
+
* Both members must be functions to count as "the base provides it": a half-populated module is not
|
|
38
|
+
* a usable source, and mixing one half from the base with one half locally could give two different
|
|
39
|
+
* answers to the same question. The fallback is total — this never throws and never returns
|
|
40
|
+
* `undefined`.
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveWellFormed(kit: WellFormedKit | undefined): WellFormedSource;
|
|
43
|
+
//# sourceMappingURL=wellformed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wellformed.d.ts","sourceRoot":"","sources":["../../src/wellformed.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE/E;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,aAAa,GAAG,SAAS,GAAG,gBAAgB,CAUlF"}
|