@lolkda/dsh-prompt-manager 3.0.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 +606 -0
- package/client/client.js +2320 -0
- package/cordis.patch.yml +20 -0
- package/environment.md +24 -0
- package/lib/entries.js +303 -0
- package/lib/entries.js.map +1 -0
- package/lib/guard.js +134 -0
- package/lib/guard.js.map +1 -0
- package/lib/index.js +959 -0
- package/lib/index.js.map +1 -0
- package/lib/net.js +179 -0
- package/lib/net.js.map +1 -0
- package/lib/pack.js +327 -0
- package/lib/pack.js.map +1 -0
- package/lib/probe.js +251 -0
- package/lib/probe.js.map +1 -0
- package/lib/routes.js +718 -0
- package/lib/routes.js.map +1 -0
- package/lib/scripts.js +803 -0
- package/lib/scripts.js.map +1 -0
- package/lib/source.js +308 -0
- package/lib/source.js.map +1 -0
- package/lib/store.js +223 -0
- package/lib/store.js.map +1 -0
- package/lib/subscriptions.js +269 -0
- package/lib/subscriptions.js.map +1 -0
- package/lib/sync.js +646 -0
- package/lib/sync.js.map +1 -0
- package/lib/types/entries.d.ts +194 -0
- package/lib/types/entries.d.ts.map +1 -0
- package/lib/types/guard.d.ts +63 -0
- package/lib/types/guard.d.ts.map +1 -0
- package/lib/types/index.d.ts +176 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/net.d.ts +81 -0
- package/lib/types/net.d.ts.map +1 -0
- package/lib/types/pack.d.ts +298 -0
- package/lib/types/pack.d.ts.map +1 -0
- package/lib/types/probe.d.ts +150 -0
- package/lib/types/probe.d.ts.map +1 -0
- package/lib/types/routes.d.ts +85 -0
- package/lib/types/routes.d.ts.map +1 -0
- package/lib/types/scripts.d.ts +455 -0
- package/lib/types/scripts.d.ts.map +1 -0
- package/lib/types/source.d.ts +194 -0
- package/lib/types/source.d.ts.map +1 -0
- package/lib/types/store.d.ts +140 -0
- package/lib/types/store.d.ts.map +1 -0
- package/lib/types/subscriptions.d.ts +204 -0
- package/lib/types/subscriptions.d.ts.map +1 -0
- package/lib/types/sync.d.ts +248 -0
- package/lib/types/sync.d.ts.map +1 -0
- package/package.json +100 -0
package/lib/sync.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The prompt index: entry identity and the settings schema that carries one
|
|
3
|
+
* section per entry.
|
|
4
|
+
*
|
|
5
|
+
* An entry's markdown body lives in one file per entry under the store
|
|
6
|
+
* directory; everything else about it — title, order, whether it is injected —
|
|
7
|
+
* lives in the `prompt-manager` settings namespace this module describes. Keeping
|
|
8
|
+
* the index in the settings document means the browser gets reads, writes,
|
|
9
|
+
* revision fencing, and the "user overrode this" flag from the shared settings
|
|
10
|
+
* transport, while the bodies stay plain `.md` files a person can edit directly.
|
|
11
|
+
* The same namespace carries the presets: named selections that decide injection
|
|
12
|
+
* on their own while one of them is active, so a single `activePreset` write
|
|
13
|
+
* swaps the whole set without touching any entry.
|
|
14
|
+
*
|
|
15
|
+
* Entry bodies live either as plain `.md` files a person can edit directly, or
|
|
16
|
+
* as one markdown file shipped with this package: a fresh install starts with
|
|
17
|
+
* the built-in machine-environment prompt, and anything a person writes or
|
|
18
|
+
* subscribes overrides it.
|
|
19
|
+
*
|
|
20
|
+
* @module @lolkda/dsh-prompt-manager/entries
|
|
21
|
+
*/
|
|
22
|
+
/** Order handed to the first entry a person adds; later additions sort after it. */
|
|
23
|
+
export declare const USER_ORDER_START = 30;
|
|
24
|
+
/** At most this many entries may be active at once. */
|
|
25
|
+
export declare const MAX_ENTRIES = 50;
|
|
26
|
+
/** At most this many presets may be configured. */
|
|
27
|
+
export declare const MAX_PRESETS = 20;
|
|
28
|
+
/** At most this many entries one preset may select. */
|
|
29
|
+
export declare const MAX_PRESET_ENTRIES = 50;
|
|
30
|
+
/** Ref a source starts on when the settings page names none. */
|
|
31
|
+
export declare const DEFAULT_SOURCE_REF = "main";
|
|
32
|
+
/** Largest accepted body, in bytes. */
|
|
33
|
+
export declare const MAX_BODY_BYTES: number;
|
|
34
|
+
/** Largest accepted title, in characters. */
|
|
35
|
+
export declare const MAX_TITLE_LENGTH = 120;
|
|
36
|
+
/** Largest accepted id, in characters. */
|
|
37
|
+
export declare const MAX_ID_LENGTH = 64;
|
|
38
|
+
/**
|
|
39
|
+
* Entry id grammar. The id becomes a file name and a prompt-section name
|
|
40
|
+
* suffix, so it stays lowercase, hyphenated, and path-safe by construction.
|
|
41
|
+
*/
|
|
42
|
+
export declare const ENTRY_ID_PATTERN: RegExp;
|
|
43
|
+
/** One prompt entry as carried by the settings index. */
|
|
44
|
+
export interface PromptEntry {
|
|
45
|
+
/** Stable identity: file name, section-name suffix, and settings key. */
|
|
46
|
+
id: string;
|
|
47
|
+
/** Human label shown in the settings page. */
|
|
48
|
+
title: string;
|
|
49
|
+
/** Section placement. The prompt concatenates sections in ascending order. */
|
|
50
|
+
order: number;
|
|
51
|
+
/** Whether this entry contributes its body to the system prompt. */
|
|
52
|
+
enabled: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* Subscription source this entry came from, when it came from one. Present
|
|
55
|
+
* means the body is read-only and follows upstream; absent means a local entry
|
|
56
|
+
* somebody wrote here.
|
|
57
|
+
*/
|
|
58
|
+
source?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* One named selection of entries, applied to the whole deployment.
|
|
62
|
+
*
|
|
63
|
+
* A preset is a complete answer to "which entries reach the prompt right now":
|
|
64
|
+
* while one is active it decides injection by itself, and every entry's own
|
|
65
|
+
* `enabled` flag is left untouched for the times when none is. Placement is not
|
|
66
|
+
* part of it — sections still stand in each entry's own `order` — so switching a
|
|
67
|
+
* preset costs one settings write and no re-registration.
|
|
68
|
+
*/
|
|
69
|
+
export interface PromptPreset {
|
|
70
|
+
/** Stable identity, same grammar as an entry id. */
|
|
71
|
+
id: string;
|
|
72
|
+
/** Label shown in the composer chip and on the settings page. */
|
|
73
|
+
name: string;
|
|
74
|
+
/** Ids of the entries this preset injects. */
|
|
75
|
+
entries: string[];
|
|
76
|
+
}
|
|
77
|
+
/** One entry resolved against the store, a subscription, or the package. */
|
|
78
|
+
export interface ResolvedBody {
|
|
79
|
+
/** The body that would reach the prompt. */
|
|
80
|
+
text: string;
|
|
81
|
+
/** Where that body came from. */
|
|
82
|
+
source: 'user' | 'subscribed' | 'builtin' | 'empty';
|
|
83
|
+
}
|
|
84
|
+
/** One prompt body this package ships, so a fresh install is not empty. */
|
|
85
|
+
export interface BuiltinPrompt {
|
|
86
|
+
/** Entry id a user override or a subscription with the same id replaces. */
|
|
87
|
+
id: string;
|
|
88
|
+
/** Title the base layer gives the entry. */
|
|
89
|
+
title: string;
|
|
90
|
+
/** Placement the base layer gives the entry. */
|
|
91
|
+
order: number;
|
|
92
|
+
/** The packaged markdown, resolved relative to the built module in `lib/`. */
|
|
93
|
+
file: URL;
|
|
94
|
+
}
|
|
95
|
+
/** The prompts this package ships. */
|
|
96
|
+
export declare const BUILTIN_PROMPTS: readonly BuiltinPrompt[];
|
|
97
|
+
/**
|
|
98
|
+
* The base layer's entries: one per {@link BUILTIN_PROMPTS} entry, enabled.
|
|
99
|
+
*
|
|
100
|
+
* They behave like any other entry — the page lists them, a write overrides
|
|
101
|
+
* them, a toggle disables them — so the built-in prose is a starting point
|
|
102
|
+
* rather than something the deployment cannot reach.
|
|
103
|
+
*
|
|
104
|
+
* @returns fresh entry records, safe to hand to a settings base layer.
|
|
105
|
+
*/
|
|
106
|
+
export declare function builtinEntries(): PromptEntry[];
|
|
107
|
+
/**
|
|
108
|
+
* The packaged body for one entry id.
|
|
109
|
+
* @param id - entry id to look up.
|
|
110
|
+
* @returns the exact UTF-8 markdown, or `undefined` when the package ships none
|
|
111
|
+
* for that id, or the packaged file cannot be read.
|
|
112
|
+
*/
|
|
113
|
+
export declare function readBuiltinBody(id: string): string | undefined;
|
|
114
|
+
/** The slice of a schemastery schema node this plugin constructs. */
|
|
115
|
+
export interface SchemaNode {
|
|
116
|
+
/** Value used when neither the user layer nor the base layer supplies one. */
|
|
117
|
+
default(value: unknown): SchemaNode;
|
|
118
|
+
/** Mark the field as mandatory. */
|
|
119
|
+
required(value?: boolean): SchemaNode;
|
|
120
|
+
}
|
|
121
|
+
/** The slice of the schemastery factory this plugin calls. */
|
|
122
|
+
export interface SchemaFactory {
|
|
123
|
+
/** One object node from a shape of named schema nodes. */
|
|
124
|
+
object(shape: Record<string, SchemaNode>): SchemaNode;
|
|
125
|
+
/** One array node whose elements all match `inner`. */
|
|
126
|
+
array(inner: SchemaNode): SchemaNode;
|
|
127
|
+
/** A string node. */
|
|
128
|
+
string(): SchemaNode;
|
|
129
|
+
/** A number node. */
|
|
130
|
+
number(): SchemaNode;
|
|
131
|
+
/** A boolean node. */
|
|
132
|
+
boolean(): SchemaNode;
|
|
133
|
+
}
|
|
134
|
+
/** Whether a value is a usable entry id. */
|
|
135
|
+
export declare function isEntryId(value: unknown): value is string;
|
|
136
|
+
/**
|
|
137
|
+
* Turn a human title into an unused entry id.
|
|
138
|
+
*
|
|
139
|
+
* Only ASCII letters and digits survive, so a title written entirely in a
|
|
140
|
+
* non-Latin script falls back to the `entry` stem. That is deliberate: the id
|
|
141
|
+
* is an internal handle (file name and section-name suffix), never user copy.
|
|
142
|
+
*
|
|
143
|
+
* @param title - the label a person typed.
|
|
144
|
+
* @param taken - ids already in use.
|
|
145
|
+
* @returns a lowercase, hyphenated, unused id.
|
|
146
|
+
*/
|
|
147
|
+
export declare function entryIdFor(title: string, taken: Iterable<string>): string;
|
|
148
|
+
/**
|
|
149
|
+
* Keep one id when it is free, or take the nearest free variant of it.
|
|
150
|
+
*
|
|
151
|
+
* For the places where the id *is* the identity rather than a handle derived
|
|
152
|
+
* from a title: a subscribed entry's body is looked up by id upstream, so an
|
|
153
|
+
* imported `env` that collides is far better off as `env-2` than as whatever a
|
|
154
|
+
* title — possibly written entirely in a non-Latin script — would slug to.
|
|
155
|
+
*
|
|
156
|
+
* @param preferred - the id that was asked for.
|
|
157
|
+
* @param taken - ids already in use.
|
|
158
|
+
* @returns `preferred`, or a `-2`-suffixed variant of its stem.
|
|
159
|
+
*/
|
|
160
|
+
export declare function freeId(preferred: string, taken: Iterable<string>): string;
|
|
161
|
+
/**
|
|
162
|
+
* Narrow one resolved settings value into an index. A hand-edited document can
|
|
163
|
+
* hold anything, so unusable entries are dropped rather than thrown: the worst
|
|
164
|
+
* case is a prompt with fewer sections, never a session that cannot assemble.
|
|
165
|
+
*
|
|
166
|
+
* @param raw - the resolved `prompt-manager` namespace value.
|
|
167
|
+
* @returns the usable entries, deduplicated by id and capped at {@link MAX_ENTRIES}.
|
|
168
|
+
*/
|
|
169
|
+
export declare function parseEntries(raw: unknown): PromptEntry[];
|
|
170
|
+
/**
|
|
171
|
+
* Narrow a resolved settings value into the preset list. Like {@link parseEntries},
|
|
172
|
+
* a hand-edited document can hold anything, so unusable presets are dropped
|
|
173
|
+
* rather than thrown: the worst case is a smaller list, never an assembly that
|
|
174
|
+
* cannot be built.
|
|
175
|
+
*
|
|
176
|
+
* @param raw - the resolved `presets` field.
|
|
177
|
+
* @returns the usable presets, deduplicated by id and capped at {@link MAX_PRESETS}.
|
|
178
|
+
*/
|
|
179
|
+
export declare function parsePresets(raw: unknown): PromptPreset[];
|
|
180
|
+
/**
|
|
181
|
+
* The id of the preset in force.
|
|
182
|
+
* @param raw - the resolved `activePreset` field.
|
|
183
|
+
* @returns the configured id, or `''` when the deployment runs without a preset.
|
|
184
|
+
*/
|
|
185
|
+
export declare function activePresetOf(raw: unknown): string;
|
|
186
|
+
/**
|
|
187
|
+
* Build the `prompt-manager` namespace schema.
|
|
188
|
+
*
|
|
189
|
+
* @param factory - the schemastery factory loaded at mount.
|
|
190
|
+
* @returns a schema carrying the entry index, the subscriptions, and the
|
|
191
|
+
* outbound settings the engine reads.
|
|
192
|
+
*/
|
|
193
|
+
export declare function buildIndexSchema(factory: SchemaFactory): unknown;
|
|
194
|
+
//# sourceMappingURL=entries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entries.d.ts","sourceRoot":"","sources":["../../src/entries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The reference guard: keeps a prompt body from breaking the whole assembly.
|
|
3
|
+
*
|
|
4
|
+
* The registry interpolates section text strictly — a reference it cannot
|
|
5
|
+
* resolve, and a reference whose shape is not a variable name, both throw, and
|
|
6
|
+
* one throwing section fails the entire assembly. Since the plugin serves text
|
|
7
|
+
* that a person can also hand-edit in `sections/`, one stray `{{ }}` in a
|
|
8
|
+
* markdown file would otherwise break every model step of the profile.
|
|
9
|
+
*
|
|
10
|
+
* This module therefore mirrors the registry's own scan, reference for
|
|
11
|
+
* reference, and defuses exactly the groups the registry would throw on: it
|
|
12
|
+
* puts a zero-width space after each of the two opening braces, so the text
|
|
13
|
+
* reads the same to a model but no longer starts a reference. Everything the
|
|
14
|
+
* registry can resolve is left untouched, so a variable another row registers
|
|
15
|
+
* still interpolates normally.
|
|
16
|
+
*
|
|
17
|
+
* The scan below is a deliberate mirror of the registry's `interpolate`
|
|
18
|
+
* (`@deepseek-ai/dsh-system-prompt`, `lib/index.js`, its `GROUP_AT` and
|
|
19
|
+
* `VARIABLE_NAME` constants). When that implementation changes shape, this one
|
|
20
|
+
* has to follow.
|
|
21
|
+
*
|
|
22
|
+
* @module @lolkda/dsh-prompt-manager/guard
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Zero-width space, inserted after each brace of a reference that must not
|
|
26
|
+
* resolve. It is invisible in rendered prose, and because every emitted `{` is
|
|
27
|
+
* followed by one, neither the escaped reference nor its neighbours can ever
|
|
28
|
+
* re-form a `{{` pair.
|
|
29
|
+
*/
|
|
30
|
+
export declare const ESCAPE_MARK = "\u200B";
|
|
31
|
+
/** A body with every unusable reference defused, plus what was defused. */
|
|
32
|
+
export interface GuardedText {
|
|
33
|
+
/** The text to hand to the registry; identical prose, safe references. */
|
|
34
|
+
text: string;
|
|
35
|
+
/** The references that were defused, in the order they were found. */
|
|
36
|
+
escaped: string[];
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Defuse every reference the registry would throw on.
|
|
40
|
+
*
|
|
41
|
+
* A reference is defused when its shape is not a variable name, when no
|
|
42
|
+
* variable of that name exists for this assembly, or when the variable exists
|
|
43
|
+
* but has no value. A lone `{{` with no later `}}` is literal prose to the
|
|
44
|
+
* registry and is left exactly as it is.
|
|
45
|
+
*
|
|
46
|
+
* @param text - the section text about to be handed to the registry.
|
|
47
|
+
* @param variables - the names the registry will resolve for this assembly.
|
|
48
|
+
* @returns the safe text and the references that were defused.
|
|
49
|
+
*/
|
|
50
|
+
export declare function sanitizeReferences(text: string, variables: Readonly<Record<string, string | undefined>>): GuardedText;
|
|
51
|
+
/**
|
|
52
|
+
* The references that can never resolve, whatever else is registered.
|
|
53
|
+
*
|
|
54
|
+
* A malformed group throws for every deployment, so a save can refuse it up
|
|
55
|
+
* front. A well-formed name is not listed: another row may register it, and a
|
|
56
|
+
* name that is merely unregistered today is a body the person may still be
|
|
57
|
+
* writing.
|
|
58
|
+
*
|
|
59
|
+
* @param text - the body about to be stored.
|
|
60
|
+
* @returns the unusable references, deduplicated, in the order they appear.
|
|
61
|
+
*/
|
|
62
|
+
export declare function malformedReferences(text: string): string[];
|
|
63
|
+
//# sourceMappingURL=guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,WAAW,CAAA;AAOnC,2EAA2E;AAC3E,MAAM,WAAW,WAAW;IAC1B,0EAA0E;IAC1E,IAAI,EAAE,MAAM,CAAA;IACZ,sEAAsE;IACtE,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB;AAOD;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GACtD,WAAW,CAkCb;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CA4B1D"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Manage DeepSeek Harness system-prompt sections from the Web GUI.
|
|
3
|
+
*
|
|
4
|
+
* The prompt is a list of entries. Each entry's index record — title, order,
|
|
5
|
+
* enabled — lives in the `prompt-manager` settings namespace, and its markdown
|
|
6
|
+
* body is resolved from the first source that has one: a subscription snapshot,
|
|
7
|
+
* a file under the store directory, or the body this package ships. A fresh
|
|
8
|
+
* install therefore starts with the built-in machine-environment prompt, and
|
|
9
|
+
* anything a person writes or subscribes replaces it.
|
|
10
|
+
*
|
|
11
|
+
* Section text is resolved per assembly, so enabling, disabling, adding, or
|
|
12
|
+
* rewriting an entry takes effect on the next model step — no restart. The host
|
|
13
|
+
* module itself is loaded once at profile startup, so changing `lib/` needs a
|
|
14
|
+
* restart; the browser bundle does not, because `dsh-client-hmr` re-hashes it and
|
|
15
|
+
* pushes the new revision to open pages.
|
|
16
|
+
*
|
|
17
|
+
* The section text is interpolated against prompt variables at each assembly.
|
|
18
|
+
* This plugin registers `{{os}}`, `{{os_release}}`, `{{platform}}`, `{{arch}}`,
|
|
19
|
+
* `{{home}}`, `{{dsh_home}}`, `{{user}}`, and `{{host}}`, plus any fixed
|
|
20
|
+
* `variables` given in config, plus one variable per `probes` entry — a command
|
|
21
|
+
* whose output is measured once at mount, because a provider is evaluated
|
|
22
|
+
* synchronously on every assembly and must not spawn a process. Any other row
|
|
23
|
+
* may register variables as well; a name this plugin cannot take is reported and
|
|
24
|
+
* skipped rather than failing the mount.
|
|
25
|
+
*
|
|
26
|
+
* Which entries reach the prompt is decided per assembly: the preset named by
|
|
27
|
+
* `activePreset` answers it whole while one is in force, and each entry's own
|
|
28
|
+
* `enabled` flag answers it otherwise. Both are settings fields, so the composer
|
|
29
|
+
* chip in the browser switches the set with one write and the next model step
|
|
30
|
+
* sees it.
|
|
31
|
+
*
|
|
32
|
+
* @module @lolkda/dsh-prompt-manager
|
|
33
|
+
*/
|
|
34
|
+
import type { Context } from '@deepseek-ai/cordis';
|
|
35
|
+
import { type ProbeSpec, type ProbeTexts } from './probe.js';
|
|
36
|
+
import { type ScriptOverride } from './scripts.js';
|
|
37
|
+
export { MAX_BODY_BYTES, MAX_ENTRIES, MAX_PRESETS } from './entries.js';
|
|
38
|
+
export { PromptStore } from './store.js';
|
|
39
|
+
export { ROUTE_PREFIX } from './routes.js';
|
|
40
|
+
export { MAX_PROBES } from './probe.js';
|
|
41
|
+
export { BUILTIN_PROMPTS } from './entries.js';
|
|
42
|
+
export { MAX_SCRIPTS, MAX_SCRIPT_BYTES, SCRIPTS_DIR_NAME } from './scripts.js';
|
|
43
|
+
/** Cordis plugin name. Distinct from the bare `prompt-manager` an unrelated package uses. */
|
|
44
|
+
export declare const name = "dsh-prompt-manager";
|
|
45
|
+
/** The prompt registry this row contributes to. */
|
|
46
|
+
export declare const inject: string[];
|
|
47
|
+
/** Section-name prefix of every entry this plugin registers. */
|
|
48
|
+
export declare const USER_SECTION_PREFIX = "user:prompt-manager:";
|
|
49
|
+
/** Settings namespace carrying the entry index. */
|
|
50
|
+
export declare const SETTINGS_NAMESPACE = "prompt-manager";
|
|
51
|
+
/** Directory name appended to the resolved Harness home holding the bodies. */
|
|
52
|
+
export declare const STORE_DIR_NAME = "prompt-manager";
|
|
53
|
+
/** Facts about the process running the harness, exposed as prompt variables. */
|
|
54
|
+
export interface EnvironmentFacts {
|
|
55
|
+
/** Friendly platform name, e.g. `Windows`. */
|
|
56
|
+
os: string;
|
|
57
|
+
/** `os.release()`: Windows build, Linux kernel, or macOS Darwin version. */
|
|
58
|
+
os_release: string;
|
|
59
|
+
/** Raw `process.platform`, e.g. `win32`. */
|
|
60
|
+
platform: string;
|
|
61
|
+
/** Raw `process.arch`, e.g. `x64`. */
|
|
62
|
+
arch: string;
|
|
63
|
+
/** `os.homedir()`: the user's home directory. */
|
|
64
|
+
home: string;
|
|
65
|
+
/** The resolved harness home: `$DSH_HOME`, or `~/.dsh` when it is unset. */
|
|
66
|
+
dsh_home: string;
|
|
67
|
+
/** `os.userInfo().username`: the account the harness runs as. */
|
|
68
|
+
user: string;
|
|
69
|
+
/** `os.hostname()`: the machine's name. */
|
|
70
|
+
host: string;
|
|
71
|
+
}
|
|
72
|
+
/** Plugin config: the prompt variables it registers and where bodies are stored. */
|
|
73
|
+
export interface Config {
|
|
74
|
+
/**
|
|
75
|
+
* Register {@link environmentFacts} as prompt variables. Defaults to `true`;
|
|
76
|
+
* set `false` when no entry references them, or when another row already owns
|
|
77
|
+
* those names.
|
|
78
|
+
*/
|
|
79
|
+
environment?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Extra `{{name}}` variables with fixed values. Names must match
|
|
82
|
+
* `[a-z][a-z0-9_]*` and must not repeat a registered name.
|
|
83
|
+
*/
|
|
84
|
+
variables?: Record<string, string>;
|
|
85
|
+
/**
|
|
86
|
+
* Commands to run once when this plugin mounts, one prompt variable each. The
|
|
87
|
+
* value is the first non-empty output line, narrowed by the probe's `pattern`
|
|
88
|
+
* when it has one; a tool that is absent, silent, or too slow contributes a
|
|
89
|
+
* placeholder from {@link Config.probeTexts} instead. Nothing here runs again
|
|
90
|
+
* until the row remounts, so a newly installed tool shows up after a
|
|
91
|
+
* composition change or a restart, not on its own.
|
|
92
|
+
*
|
|
93
|
+
* These override {@link DEFAULT_PROBES} by name.
|
|
94
|
+
*/
|
|
95
|
+
probes?: Record<string, ProbeSpec>;
|
|
96
|
+
/**
|
|
97
|
+
* Run the package's own {@link DEFAULT_PROBES} alongside `probes`. Defaults to
|
|
98
|
+
* `true`, which is what makes the built-in environment entry resolve without
|
|
99
|
+
* any configuration. Set `false` only together with entries that reference none
|
|
100
|
+
* of those variables.
|
|
101
|
+
*/
|
|
102
|
+
probeDefaults?: boolean;
|
|
103
|
+
/** Replace the placeholder texts a probe contributes when it yields no version. */
|
|
104
|
+
probeTexts?: Partial<ProbeTexts>;
|
|
105
|
+
/** Total time the pass may spend, in milliseconds. Defaults to 8000. */
|
|
106
|
+
probeBudgetMs?: number;
|
|
107
|
+
/**
|
|
108
|
+
* Per-script execution overrides, keyed by script name. A script is a file a
|
|
109
|
+
* person wrote under the store's `scripts/` directory whose standard output is
|
|
110
|
+
* a JSON object of prompt variables; this only changes how one is run —
|
|
111
|
+
* interpreter, arguments, timeout. A script that needs no change runs under
|
|
112
|
+
* `node`, in three seconds, with its own path as the only argument.
|
|
113
|
+
*/
|
|
114
|
+
scripts?: Record<string, ScriptOverride>;
|
|
115
|
+
/**
|
|
116
|
+
* Directory holding one markdown file per entry, under a `sections/`
|
|
117
|
+
* subdirectory, and one script per file under `scripts/`. Defaults to
|
|
118
|
+
* `$DSH_HOME/prompt-manager`, where `$DSH_HOME` is the environment value when
|
|
119
|
+
* set and `~/.dsh` otherwise.
|
|
120
|
+
*/
|
|
121
|
+
storeDir?: string;
|
|
122
|
+
}
|
|
123
|
+
/** Where one prompt variable's value came from. */
|
|
124
|
+
export type VariableSource = 'environment' | 'config' | 'probe' | 'script';
|
|
125
|
+
/** One prompt variable, as the settings page sees it. */
|
|
126
|
+
export interface VariableView {
|
|
127
|
+
/** The `{{name}}` reference. */
|
|
128
|
+
name: string;
|
|
129
|
+
/** The value every assembly currently sees. */
|
|
130
|
+
value: string;
|
|
131
|
+
/** Which layer supplied it. */
|
|
132
|
+
source: VariableSource;
|
|
133
|
+
/** Owning script name, for a script variable. */
|
|
134
|
+
detail?: string | undefined;
|
|
135
|
+
/** When the value was last written. */
|
|
136
|
+
updatedAt?: string | undefined;
|
|
137
|
+
/** Titles of the prompt entries whose bodies reference this variable. */
|
|
138
|
+
referencedBy: string[];
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Facts about the running process, as prompt-variable values.
|
|
142
|
+
*
|
|
143
|
+
* Every one of these is a process-level fact, fixed for as long as the profile
|
|
144
|
+
* runs. Deliberately absent: the *session's* working directory and the model in
|
|
145
|
+
* use. The registry's `AssembleContext` carries only a scope key and a signal,
|
|
146
|
+
* so those are not reachable from a variable provider — and publishing the host
|
|
147
|
+
* process's `process.cwd()` under the name `cwd` would invite exactly the wrong
|
|
148
|
+
* reading, since a session's workspace can be a different directory.
|
|
149
|
+
*
|
|
150
|
+
* @returns one value per environment variable this plugin registers.
|
|
151
|
+
*/
|
|
152
|
+
export declare function environmentFacts(): EnvironmentFacts;
|
|
153
|
+
/**
|
|
154
|
+
* The harness home directory: `$DSH_HOME` when it names one, `~/.dsh` otherwise.
|
|
155
|
+
*
|
|
156
|
+
* The one place this is decided, so the `{{dsh_home}}` variable and the store
|
|
157
|
+
* directory can never disagree about where the harness keeps its files.
|
|
158
|
+
*
|
|
159
|
+
* @returns an absolute path.
|
|
160
|
+
*/
|
|
161
|
+
export declare function resolveHarnessHome(): string;
|
|
162
|
+
/**
|
|
163
|
+
* Resolve the directory holding the entry bodies and the settings files.
|
|
164
|
+
* @param config - plugin config; `storeDir` wins when it names a directory.
|
|
165
|
+
* @returns an absolute path, without the `sections` leaf.
|
|
166
|
+
*/
|
|
167
|
+
export declare function resolveStoreDir(config?: Config): string;
|
|
168
|
+
/**
|
|
169
|
+
* Register the prompt sections, their variables, the settings index, and the
|
|
170
|
+
* body-file route.
|
|
171
|
+
*
|
|
172
|
+
* @param ctx - Cordis context carrying the `systemPrompt` service.
|
|
173
|
+
* @param config - optional overrides for variables and storage.
|
|
174
|
+
*/
|
|
175
|
+
export declare function apply(ctx: Context, config?: Config): void;
|
|
176
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The plugin's only outbound path.
|
|
3
|
+
*
|
|
4
|
+
* Two things can happen to a request here: it can be routed through a proxy —
|
|
5
|
+
* `http(s)` via undici's `ProxyAgent`, `socks5` via undici's own
|
|
6
|
+
* `Socks5ProxyAgent`, so no new dependency enters the package — or its URL can
|
|
7
|
+
* be rewritten for a prefix mirror. A request with neither goes out on the
|
|
8
|
+
* default fetch, which already carries whatever proxy the harness launcher
|
|
9
|
+
* installed from the environment.
|
|
10
|
+
*
|
|
11
|
+
* Mirrors are applied to `raw.githubusercontent.com` only. The commits feed on
|
|
12
|
+
* `github.com` stays direct: that host is reachable from this deployment and a
|
|
13
|
+
* mirror's routing table is not ours to assume.
|
|
14
|
+
*
|
|
15
|
+
* @module @lolkda/dsh-prompt-manager/net
|
|
16
|
+
*/
|
|
17
|
+
/** Default per-request timeout, in milliseconds. */
|
|
18
|
+
export declare const DEFAULT_TIMEOUT_MS = 10000;
|
|
19
|
+
/** How a request reaches the network. */
|
|
20
|
+
export interface ProxyConfig {
|
|
21
|
+
/** `none` | `http` | `socks5`; anything else is treated as `none`. */
|
|
22
|
+
kind: string;
|
|
23
|
+
/** Proxy URL, e.g. `http://127.0.0.1:7890` or `socks5://127.0.0.1:1080`. */
|
|
24
|
+
url: string;
|
|
25
|
+
}
|
|
26
|
+
/** A completed request that reached a server. */
|
|
27
|
+
export interface TextResponse {
|
|
28
|
+
/** HTTP status code. */
|
|
29
|
+
status: number;
|
|
30
|
+
/** Response body, empty for `304`. */
|
|
31
|
+
text: string;
|
|
32
|
+
/** `etag` header, when the server sent one. */
|
|
33
|
+
etag: string | undefined;
|
|
34
|
+
/** `content-type` header, when the server sent one. */
|
|
35
|
+
contentType: string | undefined;
|
|
36
|
+
}
|
|
37
|
+
/** A request that never reached a usable response. */
|
|
38
|
+
export declare class FetchFailure extends Error {
|
|
39
|
+
/** Machine-readable reason. */
|
|
40
|
+
readonly reason: 'timeout' | 'network' | 'too-large' | 'no-undici';
|
|
41
|
+
/**
|
|
42
|
+
* @param reason - machine-readable reason.
|
|
43
|
+
* @param message - human-facing detail.
|
|
44
|
+
*/
|
|
45
|
+
constructor(reason: FetchFailure['reason'], message: string);
|
|
46
|
+
}
|
|
47
|
+
/** One request path, with its dispatcher already decided. */
|
|
48
|
+
export interface Fetcher {
|
|
49
|
+
/**
|
|
50
|
+
* Fetch one URL, optionally conditionally.
|
|
51
|
+
* @param url - absolute upstream URL.
|
|
52
|
+
* @param options - conditional validator and timeout.
|
|
53
|
+
* @returns the response, whatever its status.
|
|
54
|
+
* @throws {FetchFailure} when the request never produced a response.
|
|
55
|
+
*/
|
|
56
|
+
get(url: string, options?: {
|
|
57
|
+
etag?: string | undefined;
|
|
58
|
+
timeoutMs?: number;
|
|
59
|
+
}): Promise<TextResponse>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Build the fetcher for one proxy configuration.
|
|
63
|
+
*
|
|
64
|
+
* @param config - proxy kind and URL, plus the effective mirror.
|
|
65
|
+
* @returns the fetcher; failures are reported per request, not at construction.
|
|
66
|
+
*/
|
|
67
|
+
export declare function createFetcher(config: {
|
|
68
|
+
proxy: ProxyConfig;
|
|
69
|
+
mirror: string;
|
|
70
|
+
}): Fetcher;
|
|
71
|
+
/**
|
|
72
|
+
* Whether a response looks like an HTML error page rather than the file asked
|
|
73
|
+
* for. Mirrors and captive portals answer 200 with a page when they cannot
|
|
74
|
+
* reach the upstream, and staging that page as a prompt would be worse than
|
|
75
|
+
* failing.
|
|
76
|
+
*
|
|
77
|
+
* @param response - the response to judge.
|
|
78
|
+
* @returns `true` when the body is HTML.
|
|
79
|
+
*/
|
|
80
|
+
export declare function looksLikeHtml(response: TextResponse): boolean;
|
|
81
|
+
//# sourceMappingURL=net.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"net.d.ts","sourceRoot":"","sources":["../../src/net.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,oDAAoD;AACpD,eAAO,MAAM,kBAAkB,QAAS,CAAA;AAExC,yCAAyC;AACzC,MAAM,WAAW,WAAW;IAC1B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,iDAAiD;AACjD,MAAM,WAAW,YAAY;IAC3B,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,+CAA+C;IAC/C,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACxB,uDAAuD;IACvD,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC;AAED,sDAAsD;AACtD,qBAAa,YAAa,SAAQ,KAAK;IACrC,+BAA+B;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CAAA;IAElE;;;OAGG;gBACS,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM;CAK5D;AAgED,6DAA6D;AAC7D,MAAM,WAAW,OAAO;IACtB;;;;;;OAMG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;CACrG;AA2BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAkDrF;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAK7D"}
|