@agenticprimitives/orchestration 0.0.0-alpha.5 → 0.0.0-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admission.d.ts +50 -4
- package/dist/admission.d.ts.map +1 -1
- package/dist/admission.js +137 -7
- package/dist/admission.js.map +1 -1
- package/dist/answer-quality.d.ts +80 -0
- package/dist/answer-quality.d.ts.map +1 -0
- package/dist/answer-quality.js +97 -0
- package/dist/answer-quality.js.map +1 -0
- package/dist/authority.d.ts +31 -0
- package/dist/authority.d.ts.map +1 -1
- package/dist/conformance.d.ts +66 -0
- package/dist/conformance.d.ts.map +1 -0
- package/dist/conformance.js +140 -0
- package/dist/conformance.js.map +1 -0
- package/dist/derivation.d.ts +21 -0
- package/dist/derivation.d.ts.map +1 -0
- package/dist/derivation.js +31 -0
- package/dist/derivation.js.map +1 -0
- package/dist/export-port.d.ts +13 -0
- package/dist/export-port.d.ts.map +1 -0
- package/dist/export-port.js +2 -0
- package/dist/export-port.js.map +1 -0
- package/dist/index.d.ts +19 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -4
- package/dist/index.js.map +1 -1
- package/dist/intent.d.ts +37 -0
- package/dist/intent.d.ts.map +1 -0
- package/dist/intent.js +46 -0
- package/dist/intent.js.map +1 -0
- package/dist/judgment.d.ts +131 -0
- package/dist/judgment.d.ts.map +1 -0
- package/dist/judgment.js +249 -0
- package/dist/judgment.js.map +1 -0
- package/dist/loop.d.ts +44 -7
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +268 -60
- package/dist/loop.js.map +1 -1
- package/dist/metrics.js +8 -8
- package/dist/metrics.js.map +1 -1
- package/dist/outcome.d.ts +223 -0
- package/dist/outcome.d.ts.map +1 -0
- package/dist/outcome.js +325 -0
- package/dist/outcome.js.map +1 -0
- package/dist/planner.d.ts +18 -0
- package/dist/planner.d.ts.map +1 -1
- package/dist/planner.js +74 -0
- package/dist/planner.js.map +1 -1
- package/dist/reconcile.d.ts +41 -0
- package/dist/reconcile.d.ts.map +1 -0
- package/dist/reconcile.js +20 -0
- package/dist/reconcile.js.map +1 -0
- package/dist/record.d.ts +76 -21
- package/dist/record.d.ts.map +1 -1
- package/dist/record.js +22 -1
- package/dist/record.js.map +1 -1
- package/dist/regression.d.ts +109 -0
- package/dist/regression.d.ts.map +1 -0
- package/dist/regression.js +97 -0
- package/dist/regression.js.map +1 -0
- package/dist/selection.d.ts +334 -0
- package/dist/selection.d.ts.map +1 -0
- package/dist/selection.js +481 -0
- package/dist/selection.js.map +1 -0
- package/dist/spans.d.ts +62 -0
- package/dist/spans.d.ts.map +1 -1
- package/dist/spans.js +78 -11
- package/dist/spans.js.map +1 -1
- package/dist/tool-invoker.d.ts +46 -3
- package/dist/tool-invoker.d.ts.map +1 -1
- package/dist/tool-invoker.js +26 -1
- package/dist/tool-invoker.js.map +1 -1
- package/dist/trace-facts.d.ts +84 -0
- package/dist/trace-facts.d.ts.map +1 -0
- package/dist/trace-facts.js +82 -0
- package/dist/trace-facts.js.map +1 -0
- package/dist/types.d.ts +70 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -0
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
import { type AskerContextV1 } from './intent.js';
|
|
2
|
+
import { type LogprobChoiceLike } from './judgment.js';
|
|
3
|
+
export interface DeclaredCandidateV1 {
|
|
4
|
+
id: string;
|
|
5
|
+
utterances: ReadonlyArray<{
|
|
6
|
+
says: string;
|
|
7
|
+
isNot?: string;
|
|
8
|
+
}>;
|
|
9
|
+
}
|
|
10
|
+
export interface DeclaredSelectionV1 {
|
|
11
|
+
/** The chosen candidate id, or null when the selector held. */
|
|
12
|
+
chose: string | null;
|
|
13
|
+
/** Why it held (when it did): `no-candidate` · `below-threshold` · `no-margin` · `is-not`. */
|
|
14
|
+
hold?: 'no-candidate' | 'below-threshold' | 'no-margin' | 'is-not';
|
|
15
|
+
/** The runner-up (the rejected neighbour), when one scored. */
|
|
16
|
+
rejected: string[];
|
|
17
|
+
/** Every candidate's net score (positive overlap minus negative overlap), for the trace. */
|
|
18
|
+
scores: Record<string, number>;
|
|
19
|
+
/** The parameters the decision was made under — part of the variant. */
|
|
20
|
+
params: DeclaredSelectionParamsV1;
|
|
21
|
+
}
|
|
22
|
+
export interface DeclaredSelectionParamsV1 {
|
|
23
|
+
/** The net score a candidate must reach to be chosen (default 0.3). */
|
|
24
|
+
threshold: number;
|
|
25
|
+
/** The lead over the runner-up a choice needs (default 0.08). */
|
|
26
|
+
margin: number;
|
|
27
|
+
}
|
|
28
|
+
export declare const DEFAULT_DECLARED_SELECTION: DeclaredSelectionParamsV1;
|
|
29
|
+
/** The content tokens of a sentence: lower-cased words, stop words dropped, stemmed. */
|
|
30
|
+
export declare function tokensOf(text: string): string[];
|
|
31
|
+
/** How much of an EXAMPLE the ask covers: its unigram overlap over the example's size, bigrams counted double. */
|
|
32
|
+
export declare function overlap(askTokens: readonly string[], example: string): number;
|
|
33
|
+
/**
|
|
34
|
+
* Select one candidate by its declared utterances, or hold. For each candidate: the best overlap with a `says`
|
|
35
|
+
* example is its positive score, the best overlap with an `isNot` example its negative score, net = positive −
|
|
36
|
+
* negative. The top candidate is chosen only when net ≥ threshold, positive > negative, and it leads the runner-up
|
|
37
|
+
* by the margin; each failure names its hold. Ties are broken by id so the choice is stable.
|
|
38
|
+
*/
|
|
39
|
+
export declare function selectByDeclaredUtterances(ask: string, candidates: ReadonlyArray<DeclaredCandidateV1>, params?: Partial<DeclaredSelectionParamsV1>): DeclaredSelectionV1;
|
|
40
|
+
/** Structurally the context package's `StructuredCall` — declared here so this package imports nothing to use it. */
|
|
41
|
+
export type StructuredCallLike = (input: {
|
|
42
|
+
system: string;
|
|
43
|
+
messages: Array<{
|
|
44
|
+
role: 'user' | 'assistant';
|
|
45
|
+
content: string;
|
|
46
|
+
}>;
|
|
47
|
+
tool: {
|
|
48
|
+
name: string;
|
|
49
|
+
description: string;
|
|
50
|
+
input_schema: Record<string, unknown>;
|
|
51
|
+
};
|
|
52
|
+
maxTokens?: number;
|
|
53
|
+
}) => Promise<Record<string, unknown>>;
|
|
54
|
+
export interface OntologyCandidateV1 {
|
|
55
|
+
id: string;
|
|
56
|
+
covers: ReadonlyArray<{
|
|
57
|
+
iri: string;
|
|
58
|
+
label: string;
|
|
59
|
+
terms?: readonly string[];
|
|
60
|
+
}>;
|
|
61
|
+
/** The adjacent classes this skill must not take — a request grounding to one excludes it. */
|
|
62
|
+
excludes?: ReadonlyArray<{
|
|
63
|
+
iri: string;
|
|
64
|
+
label: string;
|
|
65
|
+
terms?: readonly string[];
|
|
66
|
+
}>;
|
|
67
|
+
}
|
|
68
|
+
/** The domain's classes with their words and clusters (compiled into the playbook as `domainLexicon`). */
|
|
69
|
+
export type DomainLexiconV1 = ReadonlyArray<{
|
|
70
|
+
iri: string;
|
|
71
|
+
label: string;
|
|
72
|
+
terms: readonly string[];
|
|
73
|
+
clusters: readonly string[]; /** Spec 418 D4 — a role class's typical capabilities: a prior the judge reads, never a filter. */
|
|
74
|
+
uses?: readonly string[];
|
|
75
|
+
}>;
|
|
76
|
+
export interface GroundingV1 {
|
|
77
|
+
iri: string;
|
|
78
|
+
term: string;
|
|
79
|
+
}
|
|
80
|
+
export interface OntologySelectionV1 {
|
|
81
|
+
chose: string | null;
|
|
82
|
+
hold?: 'no-candidate' | 'no-grounding' | 'ambiguous' | 'excluded';
|
|
83
|
+
/** The skills left after coverage (direct, or by neighbourhood) and exclusion — the set the rule narrowed to. */
|
|
84
|
+
survivors: string[];
|
|
85
|
+
/** Each grounded class and the term that grounded it. */
|
|
86
|
+
grounded: GroundingV1[];
|
|
87
|
+
/** For each survivor, the grounded (or neighbouring) classes it covers — the axiom that fired. */
|
|
88
|
+
because: Record<string, string[]>;
|
|
89
|
+
/** How the survivors were reached: a grounded class they cover, or a cluster sibling of one. */
|
|
90
|
+
via?: 'direct' | 'neighbourhood';
|
|
91
|
+
/** Skills removed because the request grounded to a class they exclude, with those classes. */
|
|
92
|
+
excluded: Record<string, string[]>;
|
|
93
|
+
}
|
|
94
|
+
/** Ground the ask in the lexicon: the classes one of whose terms occurs in it (exactly), with the term. The domain lexicon
|
|
95
|
+
* when given (every class, covered or not); otherwise the classes the candidates cover or exclude. */
|
|
96
|
+
export declare function groundInLexicon(ask: string, candidates: ReadonlyArray<OntologyCandidateV1>, lexicon?: DomainLexiconV1): GroundingV1[];
|
|
97
|
+
/** THE DECISION, from grounded classes alone — pure, so a gate can re-derive every recorded decision from the grounding
|
|
98
|
+
* on the trace without the ask's words. Coverage → exclusion → (neighbourhood only when nothing is covered directly). */
|
|
99
|
+
export declare function decideFromGrounding(groundedIris: readonly string[], candidates: ReadonlyArray<OntologyCandidateV1>, lexicon?: DomainLexiconV1): Omit<OntologySelectionV1, 'grounded'>;
|
|
100
|
+
export declare function selectByOntology(ask: string, candidates: ReadonlyArray<OntologyCandidateV1>, lexicon?: DomainLexiconV1): OntologySelectionV1;
|
|
101
|
+
export interface JudgmentCandidateV1 {
|
|
102
|
+
id: string;
|
|
103
|
+
description: string;
|
|
104
|
+
covers?: ReadonlyArray<{
|
|
105
|
+
iri: string;
|
|
106
|
+
label: string;
|
|
107
|
+
}>;
|
|
108
|
+
excludes?: ReadonlyArray<{
|
|
109
|
+
iri: string;
|
|
110
|
+
label: string;
|
|
111
|
+
}>;
|
|
112
|
+
}
|
|
113
|
+
export interface JudgmentSelectionParamsV1 {
|
|
114
|
+
/** The probability the top candidate needs (default 0.5). */
|
|
115
|
+
floor: number;
|
|
116
|
+
/** Its lead over the next outcome, "none" included (default 0.15). */
|
|
117
|
+
margin: number;
|
|
118
|
+
/** The chosen skill's own yes-no "this request asks for what the skill produces, not for what it excludes" must reach
|
|
119
|
+
* this (default 0.5) — the ontology's distinction, read for meaning by the judge (spec 416 W2). */
|
|
120
|
+
fitFloor: number;
|
|
121
|
+
/** Calls averaged, each with the options shuffled under neutral ids (default 2). */
|
|
122
|
+
permutations: number;
|
|
123
|
+
/** A discarded `scratch` field before the numbers (default true). */
|
|
124
|
+
privateReasoning: boolean;
|
|
125
|
+
/** Spec 416 W3 — when present, acceptance is a CONFORMAL prediction set under a fitted calibration map instead of the
|
|
126
|
+
* floor/margin rule. */
|
|
127
|
+
acceptance?: ConformalAcceptanceV1;
|
|
128
|
+
/** `thorough` (default): v5 as specified. `fast`: ONE call, one question (the skill, or none), no fit / class
|
|
129
|
+
* questions, no permutations, no scratch — the cheapest judgment the port can make with a structured-call binding. */
|
|
130
|
+
profile?: 'thorough' | 'fast' | 'logprob';
|
|
131
|
+
/** Spec 418 — `fast` only: this many independent samples in parallel (default 1). With 2, the samples' AGREEMENT is the
|
|
132
|
+
* confidence (no logprobs needed): the same skill ⇒ it stands; two different skills ⇒ ask which (clarify, naming both). */
|
|
133
|
+
samples?: number;
|
|
134
|
+
/** Spec 418 — `fast` only: the judge's question version (`v3` says missing information does not make a request "none"). */
|
|
135
|
+
fastVersion?: 'v2' | 'v3';
|
|
136
|
+
/** Spec 418 — `fast` only: when the pick is held (below floor / thin margin) but the top two outcomes are both skills
|
|
137
|
+
* carrying at least this much mass together, ask WHICH of the two (clarify) instead of declining. */
|
|
138
|
+
splitToClarify?: number;
|
|
139
|
+
/** Spec 418 — `fast` only: when the first sample's top probability falls in [lo, hi], ONE more sample and the mean of the
|
|
140
|
+
* two distributions decides — paying for a second call only on a borderline pick. */
|
|
141
|
+
borderline?: [number, number];
|
|
142
|
+
}
|
|
143
|
+
/** A fitted calibration map, as the acceptance rule consumes it (spec 416 W3): temperature-scaled probabilities, and the
|
|
144
|
+
* conformal threshold at level alpha fitted on labelled runs of THIS binding. Cited by digest on every decision. */
|
|
145
|
+
export interface ConformalAcceptanceV1 {
|
|
146
|
+
method: 'conformal';
|
|
147
|
+
alpha: number;
|
|
148
|
+
temperature: number;
|
|
149
|
+
qhat: number;
|
|
150
|
+
mapDigest: string;
|
|
151
|
+
}
|
|
152
|
+
/** The selection outcomes the criterion can name: skills and `none` — "ask the person" and "needs several" fold into none. */
|
|
153
|
+
export declare function foldSelectionAbstentions(dist: Record<string, number>): Record<string, number>;
|
|
154
|
+
/** Temperature scaling of a (folded) distribution: p_i^(1/T), renormalised. T > 1 softens, T < 1 sharpens. */
|
|
155
|
+
export declare function calibrateByTemperature(dist: Record<string, number>, temperature: number): Record<string, number>;
|
|
156
|
+
/** THE CONFORMAL SET: every outcome whose calibrated probability is at least 1 − q̂, most likely first. With q̂ fitted at
|
|
157
|
+
* level alpha on exchangeable labelled runs, the set contains the right outcome with probability ≥ 1 − alpha. */
|
|
158
|
+
export declare function conformalSetOf(dist: Record<string, number>, acceptance: Pick<ConformalAcceptanceV1, 'temperature' | 'qhat'>): {
|
|
159
|
+
calibrated: Record<string, number>;
|
|
160
|
+
set: string[];
|
|
161
|
+
threshold: number;
|
|
162
|
+
};
|
|
163
|
+
export declare const DEFAULT_JUDGMENT_SELECTION: JudgmentSelectionParamsV1;
|
|
164
|
+
/** v5 (2026-09-27, spec 416 W2): the skill choice gains "ask the person" and "needs several skills"; every candidate
|
|
165
|
+
* gets a pointwise yes-no FIT question built from its covered and excluded classes (the ontology's distinction, judged
|
|
166
|
+
* for meaning — the veto by word match is retired, 416 §4a); options are shuffled under neutral ids and K calls are
|
|
167
|
+
* averaged; the model may reason privately first. v4: one choice + the class question, numbers only, one call. */
|
|
168
|
+
export declare const SELECTION_JUDGE: {
|
|
169
|
+
name: string;
|
|
170
|
+
kind: "model";
|
|
171
|
+
};
|
|
172
|
+
/** The fast profile: one call, one question over ontology cards and the typed reading, cards as a cacheable prefix
|
|
173
|
+
* (fast.v2, 2026-09-27; v5-fast listed the full descriptions and put the request first). Its own name (J5). */
|
|
174
|
+
export declare const SELECTION_JUDGE_FAST: {
|
|
175
|
+
name: string;
|
|
176
|
+
kind: "model";
|
|
177
|
+
};
|
|
178
|
+
/** Spec 418 — fast.v3: the question says a request missing information a skill needs is still that skill's (it asks). */
|
|
179
|
+
export declare const SELECTION_JUDGE_FAST_V3: {
|
|
180
|
+
name: string;
|
|
181
|
+
kind: "model";
|
|
182
|
+
};
|
|
183
|
+
/** The fast question answered by one letter's log-probabilities (no tool, one output token). */
|
|
184
|
+
export declare const SELECTION_JUDGE_LOGPROB: {
|
|
185
|
+
name: string;
|
|
186
|
+
kind: "model";
|
|
187
|
+
};
|
|
188
|
+
/** The choice's outcomes that are not skills: both abstain, each for its own reason. */
|
|
189
|
+
export declare const NEEDS_CLARIFICATION = "clarify";
|
|
190
|
+
export declare const NEEDS_SEVERAL = "several";
|
|
191
|
+
export declare const OUTSIDE_DOMAIN = "outside-domain";
|
|
192
|
+
/** The request, typed in the domain ontology. */
|
|
193
|
+
export interface InferredIntentV1 {
|
|
194
|
+
requests: string;
|
|
195
|
+
about: string[];
|
|
196
|
+
}
|
|
197
|
+
export interface JudgmentSelectionV1 {
|
|
198
|
+
chose: string | null;
|
|
199
|
+
/** `judge-error`: the judge's call failed (the provider refused, timed out, returned no tool call) — an abstention, but
|
|
200
|
+
* not the judge saying anything; `malformed`: it answered, and the answer could not be read as a distribution. */
|
|
201
|
+
hold?: 'none-fits' | 'below-floor' | 'no-margin' | 'no-judge' | 'judge-error' | 'malformed' | 'no-candidate'
|
|
202
|
+
/** v5: the judge said the request is ambiguous between skills (ask the person), needs several skills (a plan), or the
|
|
203
|
+
* chosen skill's own fit question said it is not what that skill is for. */
|
|
204
|
+
| 'needs-clarification' | 'needs-several' | 'not-a-fit'
|
|
205
|
+
/** W3 conformal acceptance: the prediction set is empty (nothing is likely enough to be covered). */
|
|
206
|
+
| 'empty-set';
|
|
207
|
+
/** Why the call failed, when `hold` is `judge-error` (the provider's message, truncated). */
|
|
208
|
+
error?: string;
|
|
209
|
+
/** When `hold` is `malformed`: the shape of what came back (types and field names only). */
|
|
210
|
+
received?: string;
|
|
211
|
+
rejected: string[];
|
|
212
|
+
/** The judge's normalised distribution over the candidates it was OFFERED, `none` included. */
|
|
213
|
+
distribution: Record<string, number>;
|
|
214
|
+
/** The slate the judge was offered. */
|
|
215
|
+
offered: string[];
|
|
216
|
+
/** v5: P(fits) per offered skill, from its pointwise yes-no. */
|
|
217
|
+
fit?: Record<string, number>;
|
|
218
|
+
/** v5: how many permutations were asked and answered. */
|
|
219
|
+
permutations?: {
|
|
220
|
+
asked: number;
|
|
221
|
+
answered: number;
|
|
222
|
+
};
|
|
223
|
+
/** fast.v2: the typed reading the judge decided over — class IRIs, counts and relation only (never the words). */
|
|
224
|
+
reading?: {
|
|
225
|
+
names: string[];
|
|
226
|
+
near: number;
|
|
227
|
+
relation?: string;
|
|
228
|
+
recentSkills?: string[];
|
|
229
|
+
memoryTags?: number;
|
|
230
|
+
};
|
|
231
|
+
/** W3: the conformal prediction set (most likely first) and the map it was taken under. */
|
|
232
|
+
predictionSet?: {
|
|
233
|
+
set: string[];
|
|
234
|
+
threshold: number;
|
|
235
|
+
mapDigest: string;
|
|
236
|
+
};
|
|
237
|
+
intent?: InferredIntentV1;
|
|
238
|
+
reason?: string;
|
|
239
|
+
judge: typeof SELECTION_JUDGE | typeof SELECTION_JUDGE_FAST | typeof SELECTION_JUDGE_LOGPROB;
|
|
240
|
+
params: JudgmentSelectionParamsV1;
|
|
241
|
+
}
|
|
242
|
+
/** What the harness knows beyond the request — the domain lexicon and the asker — for the judge's typed reading. */
|
|
243
|
+
export interface JudgmentContextV1 {
|
|
244
|
+
lexicon?: DomainLexiconV1;
|
|
245
|
+
asker?: AskerContextV1; /** Required by the `logprob` profile: the host's one-letter call. */
|
|
246
|
+
choose?: LogprobChoiceLike;
|
|
247
|
+
}
|
|
248
|
+
export declare function selectByJudgment(ask: string, candidates: ReadonlyArray<JudgmentCandidateV1>, call: StructuredCallLike | undefined, params?: Partial<JudgmentSelectionParamsV1>, ctx?: JudgmentContextV1): Promise<JudgmentSelectionV1>;
|
|
249
|
+
export interface OntologyFirstSelectionV1 {
|
|
250
|
+
chose: string | null;
|
|
251
|
+
hold?: JudgmentSelectionV1['hold'];
|
|
252
|
+
decidedBy: 'ontology' | 'judgment';
|
|
253
|
+
ontology: OntologySelectionV1;
|
|
254
|
+
judgment?: JudgmentSelectionV1;
|
|
255
|
+
}
|
|
256
|
+
export declare function selectByOntologyFirst(ask: string, candidates: ReadonlyArray<OntologyCandidateV1 & JudgmentCandidateV1>, call: StructuredCallLike | undefined, params?: Partial<JudgmentSelectionParamsV1>, lexicon?: DomainLexiconV1, asker?: AskerContextV1): Promise<OntologyFirstSelectionV1>;
|
|
257
|
+
export interface ComposedSelectionV1 {
|
|
258
|
+
chose: string | null;
|
|
259
|
+
hold?: OntologySelectionV1['hold'] | JudgmentSelectionV1['hold'];
|
|
260
|
+
/** Which half decided: the rule (no survivor), or the judge (ranked the survivors). */
|
|
261
|
+
decidedBy: 'ontology' | 'judgment';
|
|
262
|
+
ontology: OntologySelectionV1;
|
|
263
|
+
judgment?: JudgmentSelectionV1;
|
|
264
|
+
}
|
|
265
|
+
export declare function selectByOntologyThenJudgment(ask: string, candidates: ReadonlyArray<OntologyCandidateV1 & JudgmentCandidateV1>, call: StructuredCallLike | undefined, params?: Partial<JudgmentSelectionParamsV1>, lexicon?: DomainLexiconV1): Promise<ComposedSelectionV1>;
|
|
266
|
+
export interface ProposalParamsV1 {
|
|
267
|
+
/** Up to this many skills, every non-vetoed skill is proposed (the judge sees the whole catalog). */
|
|
268
|
+
smallCatalog: number;
|
|
269
|
+
/** When an excluded class vetoes a skill. `unsupported` (default): the request grounds an excluded class AND none of
|
|
270
|
+
* the skill's own — a contradiction. `any`: any grounded excluded class (W1 as first run, 2026-09-27: it removed the
|
|
271
|
+
* incident-playbook skill from "…catch, contain and own up to a harmful reply", which grounded the skill's own
|
|
272
|
+
* ResponsePhase AND, by "contain", the adjacent LiveIncidentResponse — a word collision, not a contradiction). */
|
|
273
|
+
veto: 'unsupported' | 'any';
|
|
274
|
+
}
|
|
275
|
+
export declare const DEFAULT_PROPOSAL: ProposalParamsV1;
|
|
276
|
+
export type ProposalViaV1 = 'direct' | 'neighbourhood' | 'catalog';
|
|
277
|
+
export interface ProposalV1 {
|
|
278
|
+
/** Proposed skills, in proposal order (direct → neighbourhood → catalog). */
|
|
279
|
+
candidates: string[];
|
|
280
|
+
/** How each was proposed. */
|
|
281
|
+
via: Record<string, ProposalViaV1>;
|
|
282
|
+
/** Skills vetoed, with the grounded classes they exclude. */
|
|
283
|
+
removed: Record<string, string[]>;
|
|
284
|
+
params: ProposalParamsV1;
|
|
285
|
+
}
|
|
286
|
+
/** THE PROPOSAL, from grounded classes alone — pure, re-derivable by a gate. */
|
|
287
|
+
export declare function proposeFromGrounding(groundedIris: readonly string[], candidates: ReadonlyArray<OntologyCandidateV1>, lexicon?: DomainLexiconV1, params?: Partial<ProposalParamsV1>): ProposalV1;
|
|
288
|
+
export interface ProposedSelectionV1 {
|
|
289
|
+
chose: string | null;
|
|
290
|
+
hold?: 'nothing-proposed' | JudgmentSelectionV1['hold'];
|
|
291
|
+
/** What the request grounded to (the ontology's reading of it). */
|
|
292
|
+
grounded: GroundingV1[];
|
|
293
|
+
proposal: ProposalV1;
|
|
294
|
+
judgment?: JudgmentSelectionV1;
|
|
295
|
+
}
|
|
296
|
+
export declare function selectByProposalThenJudgment(ask: string, candidates: ReadonlyArray<OntologyCandidateV1 & JudgmentCandidateV1>, call: StructuredCallLike | undefined, params?: Partial<JudgmentSelectionParamsV1>, lexicon?: DomainLexiconV1, proposalParams?: Partial<ProposalParamsV1>): Promise<ProposedSelectionV1>;
|
|
297
|
+
export interface FramedCandidateV1 {
|
|
298
|
+
id: string;
|
|
299
|
+
description: string;
|
|
300
|
+
covers: ReadonlyArray<{
|
|
301
|
+
iri: string;
|
|
302
|
+
label: string;
|
|
303
|
+
terms?: readonly string[];
|
|
304
|
+
}>;
|
|
305
|
+
}
|
|
306
|
+
export interface FramedSelectionParamsV1 {
|
|
307
|
+
/** The probability a covering skill needs to be chosen (default 0.3). */
|
|
308
|
+
floor: number;
|
|
309
|
+
/** When several skills cover the requested class, the lead the top one needs over the next (default 0.15). */
|
|
310
|
+
margin: number;
|
|
311
|
+
}
|
|
312
|
+
export declare const DEFAULT_FRAMED_SELECTION: FramedSelectionParamsV1;
|
|
313
|
+
export declare const FRAMED_JUDGE: {
|
|
314
|
+
name: string;
|
|
315
|
+
kind: "model";
|
|
316
|
+
};
|
|
317
|
+
export interface FramedSelectionV1 {
|
|
318
|
+
chose: string | null;
|
|
319
|
+
hold?: 'outside-domain' | 'not-covered' | 'judge-disagrees' | 'no-margin' | 'no-judge' | 'malformed';
|
|
320
|
+
rejected: string[];
|
|
321
|
+
/** The request typed in the ontology (class IRIs, or `outside-domain`). */
|
|
322
|
+
intent?: InferredIntentV1;
|
|
323
|
+
/** The skills whose `covers` include the requested class — the candidates the ontology allowed. */
|
|
324
|
+
covering: string[];
|
|
325
|
+
/** The judge's normalised distribution, `none` included. */
|
|
326
|
+
distribution: Record<string, number>;
|
|
327
|
+
/** Classes the lexicon grounded from the request's words — shown to the judge as evidence. */
|
|
328
|
+
grounded: string[];
|
|
329
|
+
reason?: string;
|
|
330
|
+
judge: typeof FRAMED_JUDGE;
|
|
331
|
+
params: FramedSelectionParamsV1;
|
|
332
|
+
}
|
|
333
|
+
export declare function selectByFramedJudgment(ask: string, candidates: ReadonlyArray<FramedCandidateV1>, call: StructuredCallLike | undefined, params?: Partial<FramedSelectionParamsV1>): Promise<FramedSelectionV1>;
|
|
334
|
+
//# sourceMappingURL=selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../src/selection.ts"],"names":[],"mappings":"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"}
|