jev-recipes 0.5.0 → 0.5.2
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/CHANGELOG.md +5 -0
- package/README.md +4 -2
- package/dist/catalog/generated/details/causal-attribution.json +55 -0
- package/dist/catalog/generated/details/issue-recurrence.json +46 -0
- package/dist/catalog/generated/details/memory-subject.json +49 -0
- package/dist/catalog/generated/details/motivation-source.json +55 -0
- package/dist/catalog/generated/details/outcome-framing.json +49 -0
- package/dist/catalog/generated/details/question-assumption.json +49 -0
- package/dist/catalog/generated/loaders.js +6 -0
- package/dist/catalog/generated/metadata.js +237 -1
- package/dist/catalog/generated/names.d.ts +1 -1
- package/dist/catalog/generated/names.js +6 -0
- package/dist/catalog/schema.d.ts +6 -0
- package/dist/cli/schema.d.ts +18 -0
- package/dist/recipes/causal-attribution/demo.json +27 -0
- package/dist/recipes/causal-attribution/index.d.ts +5 -0
- package/dist/recipes/causal-attribution/index.js +17 -0
- package/dist/recipes/causal-attribution/schema.d.ts +43 -0
- package/dist/recipes/causal-attribution/schema.js +23 -0
- package/dist/recipes/claim-stance/schema.d.ts +3 -3
- package/dist/recipes/issue-recurrence/demo.json +27 -0
- package/dist/recipes/issue-recurrence/index.d.ts +5 -0
- package/dist/recipes/issue-recurrence/index.js +16 -0
- package/dist/recipes/issue-recurrence/schema.d.ts +40 -0
- package/dist/recipes/issue-recurrence/schema.js +17 -0
- package/dist/recipes/memory-subject/demo.json +26 -0
- package/dist/recipes/memory-subject/index.d.ts +5 -0
- package/dist/recipes/memory-subject/index.js +16 -0
- package/dist/recipes/memory-subject/schema.d.ts +40 -0
- package/dist/recipes/memory-subject/schema.js +17 -0
- package/dist/recipes/motivation-source/demo.json +27 -0
- package/dist/recipes/motivation-source/index.d.ts +5 -0
- package/dist/recipes/motivation-source/index.js +17 -0
- package/dist/recipes/motivation-source/schema.d.ts +43 -0
- package/dist/recipes/motivation-source/schema.js +23 -0
- package/dist/recipes/outcome-framing/demo.json +27 -0
- package/dist/recipes/outcome-framing/index.d.ts +5 -0
- package/dist/recipes/outcome-framing/index.js +17 -0
- package/dist/recipes/outcome-framing/schema.d.ts +43 -0
- package/dist/recipes/outcome-framing/schema.js +17 -0
- package/dist/recipes/question-assumption/demo.json +25 -0
- package/dist/recipes/question-assumption/index.d.ts +5 -0
- package/dist/recipes/question-assumption/index.js +15 -0
- package/dist/recipes/question-assumption/schema.d.ts +37 -0
- package/dist/recipes/question-assumption/schema.js +17 -0
- package/dist/recipes/question-leading/schema.d.ts +3 -3
- package/dist/src/index.d.ts +12 -0
- package/dist/src/index.js +6 -0
- package/package.json +25 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RecipeOptions } from '../../src/schema.js';
|
|
2
|
+
import type { IssueRecurrenceInput, IssueRecurrenceResult } from './schema.js';
|
|
3
|
+
export declare function issueRecurrence(input: IssueRecurrenceInput, options?: RecipeOptions): Promise<IssueRecurrenceResult>;
|
|
4
|
+
export { issueRecurrenceInputSchema, issueRecurrenceResultSchema, issueRecurrenceVerdictSchema, } from './schema.js';
|
|
5
|
+
export type { IssueRecurrenceInput, IssueRecurrenceResult, IssueRecurrenceVerdict, } from './schema.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { evaluateChoice } from '../../src/decisions.js';
|
|
2
|
+
import { issueRecurrenceInputSchema, issueRecurrenceResultSchema } from './schema.js';
|
|
3
|
+
export async function issueRecurrence(input, options = {}) {
|
|
4
|
+
const { minConfidence = 0.8, ...state } = issueRecurrenceInputSchema.parse(input);
|
|
5
|
+
const decision = await evaluateChoice(state, 'For the supplied issue, does the latest customer message report a first occurrence, uninterrupted persistence, or a return after reported recovery? Interpret optional history oldest first and keep different issues separate. Use explicit customer reports, including a timeline within message. Choose new only when a first occurrence is explicitly established; missing history is not evidence that an issue is new. Choose ongoing when the customer reports that the issue persisted or never stopped. Choose returned only when the same issue is reported active now after an explicit customer report of recovery or working operation. The word "again" alone does not establish an intervening recovery. An attempted fix, deployment, closed ticket, provider assurance, or thanks alone does not establish observed recovery. If the latest message clearly corrects an earlier mistaken recovery report by saying the issue never stopped, choose ongoing. Otherwise conflicting reports or unclear chronology require unclear. Also choose unclear when current presence, the link to the same issue, or the distinction between persistence and recurrence is unresolved, or when the issue is reported resolved now and no current problem is reported. Do not infer a shared root cause from similar symptoms. Classify supplied reports, not verified system state, and do not reopen or update tickets.', {
|
|
6
|
+
new: 'The customer explicitly reports a first occurrence of the supplied issue, without conflicting history.',
|
|
7
|
+
ongoing: 'The customer reports that the supplied issue is still present and has persisted without recovery.',
|
|
8
|
+
returned: 'The same issue is reported active again after an explicit customer report of recovery.',
|
|
9
|
+
unclear: 'The reports do not establish one recurrence state, conflict without correction, concern a different issue, or do not report a current problem.',
|
|
10
|
+
}, options);
|
|
11
|
+
return issueRecurrenceResultSchema.parse({
|
|
12
|
+
...decision,
|
|
13
|
+
status: decision.confidence < minConfidence || decision.verdict === 'unclear' ? 'review' : 'ready',
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export { issueRecurrenceInputSchema, issueRecurrenceResultSchema, issueRecurrenceVerdictSchema, } from './schema.js';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const issueRecurrenceVerdictSchema: z.ZodEnum<{
|
|
3
|
+
unclear: "unclear";
|
|
4
|
+
new: "new";
|
|
5
|
+
ongoing: "ongoing";
|
|
6
|
+
returned: "returned";
|
|
7
|
+
}>;
|
|
8
|
+
export declare const issueRecurrenceInputSchema: z.ZodObject<{
|
|
9
|
+
issue: z.ZodString;
|
|
10
|
+
message: z.ZodString;
|
|
11
|
+
history: z.ZodOptional<z.ZodString>;
|
|
12
|
+
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export declare const issueRecurrenceResultSchema: z.ZodObject<{
|
|
15
|
+
model: z.ZodString;
|
|
16
|
+
usage: z.ZodObject<{
|
|
17
|
+
input_tokens: z.ZodNumber;
|
|
18
|
+
output_tokens: z.ZodNumber;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
status: z.ZodEnum<{
|
|
21
|
+
ready: "ready";
|
|
22
|
+
review: "review";
|
|
23
|
+
}>;
|
|
24
|
+
verdict: z.ZodEnum<{
|
|
25
|
+
unclear: "unclear";
|
|
26
|
+
new: "new";
|
|
27
|
+
ongoing: "ongoing";
|
|
28
|
+
returned: "returned";
|
|
29
|
+
}>;
|
|
30
|
+
confidence: z.ZodNumber;
|
|
31
|
+
probabilities: z.ZodRecord<z.ZodEnum<{
|
|
32
|
+
unclear: "unclear";
|
|
33
|
+
new: "new";
|
|
34
|
+
ongoing: "ongoing";
|
|
35
|
+
returned: "returned";
|
|
36
|
+
}>, z.ZodNumber>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export type IssueRecurrenceInput = z.infer<typeof issueRecurrenceInputSchema>;
|
|
39
|
+
export type IssueRecurrenceResult = z.infer<typeof issueRecurrenceResultSchema>;
|
|
40
|
+
export type IssueRecurrenceVerdict = z.infer<typeof issueRecurrenceVerdictSchema>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { nonEmptyText, probability, decisionStatusSchema, resultMetadataSchema, } from '../../src/schema.js';
|
|
3
|
+
export const issueRecurrenceVerdictSchema = z.enum(['new', 'ongoing', 'returned', 'unclear']);
|
|
4
|
+
export const issueRecurrenceInputSchema = z.object({
|
|
5
|
+
issue: nonEmptyText.describe('One specific problem whose reported recurrence should be assessed.'),
|
|
6
|
+
message: nonEmptyText.describe('The latest customer report about the issue.'),
|
|
7
|
+
history: nonEmptyText
|
|
8
|
+
.describe('Earlier reports in chronological order, oldest first, with speaker identities and reported outcomes.')
|
|
9
|
+
.optional(),
|
|
10
|
+
minConfidence: probability.optional(),
|
|
11
|
+
});
|
|
12
|
+
export const issueRecurrenceResultSchema = resultMetadataSchema.extend({
|
|
13
|
+
status: decisionStatusSchema,
|
|
14
|
+
verdict: issueRecurrenceVerdictSchema,
|
|
15
|
+
confidence: probability,
|
|
16
|
+
probabilities: z.record(issueRecurrenceVerdictSchema, probability),
|
|
17
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"input": {
|
|
3
|
+
"statement": "My brother is vegetarian.",
|
|
4
|
+
"user": "Alex, the speaker of the statement."
|
|
5
|
+
},
|
|
6
|
+
"response": {
|
|
7
|
+
"model": "demo-fixture",
|
|
8
|
+
"usage": {
|
|
9
|
+
"input_tokens": 0,
|
|
10
|
+
"output_tokens": 0
|
|
11
|
+
},
|
|
12
|
+
"answers": {
|
|
13
|
+
"decision": {
|
|
14
|
+
"type": "choice",
|
|
15
|
+
"choice": "other",
|
|
16
|
+
"confidence": 0.97,
|
|
17
|
+
"probabilities": {
|
|
18
|
+
"user": 0.01,
|
|
19
|
+
"other": 0.97,
|
|
20
|
+
"shared": 0.01,
|
|
21
|
+
"unclear": 0.01
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RecipeOptions } from '../../src/schema.js';
|
|
2
|
+
import type { MemorySubjectInput, MemorySubjectResult } from './schema.js';
|
|
3
|
+
export declare function memorySubject(input: MemorySubjectInput, options?: RecipeOptions): Promise<MemorySubjectResult>;
|
|
4
|
+
export { memorySubjectInputSchema, memorySubjectResultSchema, memorySubjectVerdictSchema, } from './schema.js';
|
|
5
|
+
export type { MemorySubjectInput, MemorySubjectResult, MemorySubjectVerdict } from './schema.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { evaluateChoice } from '../../src/decisions.js';
|
|
2
|
+
import { memorySubjectInputSchema, memorySubjectResultSchema } from './schema.js';
|
|
3
|
+
export async function memorySubject(input, options = {}) {
|
|
4
|
+
const { minConfidence = 0.8, ...state } = memorySubjectInputSchema.parse(input);
|
|
5
|
+
const decision = await evaluateChoice(state, 'Whom does the property described in statement apply to relative to the identified user? Use user and optional context to resolve speakers and references. Identify who is being described, not merely who authored the statement, who is named, or who possesses something mentioned. For example, when the user is the speaker, "My brother is vegetarian" describes other; "I admire my brother" describes user; "My brother and I are vegetarian" describes shared. Quoted first-person wording belongs to its quoted speaker, not automatically the user. Choose shared only when the same property explicitly applies to a group including the user. If separate assertions describe different subjects or properties, choose unclear and leave splitting them to the caller. Choose unclear for unresolved identities, references, or statements with no attributable property. Negated or hypothetical properties can still have a clear subject: classify that subject without turning the statement into an affirmative fact. Do not judge truth, permanence, usefulness, or permission to store the memory.', {
|
|
6
|
+
user: 'The described property applies to the identified user alone.',
|
|
7
|
+
other: 'The described property applies to someone or something other than the identified user, excluding that user.',
|
|
8
|
+
shared: 'The same described property explicitly applies to a group including the identified user.',
|
|
9
|
+
unclear: 'Unresolved identities, missing references, no attributable property, or separate assertions with different subjects prevent one attribution.',
|
|
10
|
+
}, options);
|
|
11
|
+
return memorySubjectResultSchema.parse({
|
|
12
|
+
...decision,
|
|
13
|
+
status: decision.confidence < minConfidence || decision.verdict === 'unclear' ? 'review' : 'ready',
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
export { memorySubjectInputSchema, memorySubjectResultSchema, memorySubjectVerdictSchema, } from './schema.js';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const memorySubjectVerdictSchema: z.ZodEnum<{
|
|
3
|
+
unclear: "unclear";
|
|
4
|
+
other: "other";
|
|
5
|
+
user: "user";
|
|
6
|
+
shared: "shared";
|
|
7
|
+
}>;
|
|
8
|
+
export declare const memorySubjectInputSchema: z.ZodObject<{
|
|
9
|
+
statement: z.ZodString;
|
|
10
|
+
user: z.ZodString;
|
|
11
|
+
context: z.ZodOptional<z.ZodString>;
|
|
12
|
+
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
13
|
+
}, z.core.$strip>;
|
|
14
|
+
export declare const memorySubjectResultSchema: z.ZodObject<{
|
|
15
|
+
model: z.ZodString;
|
|
16
|
+
usage: z.ZodObject<{
|
|
17
|
+
input_tokens: z.ZodNumber;
|
|
18
|
+
output_tokens: z.ZodNumber;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
status: z.ZodEnum<{
|
|
21
|
+
ready: "ready";
|
|
22
|
+
review: "review";
|
|
23
|
+
}>;
|
|
24
|
+
verdict: z.ZodEnum<{
|
|
25
|
+
unclear: "unclear";
|
|
26
|
+
other: "other";
|
|
27
|
+
user: "user";
|
|
28
|
+
shared: "shared";
|
|
29
|
+
}>;
|
|
30
|
+
confidence: z.ZodNumber;
|
|
31
|
+
probabilities: z.ZodRecord<z.ZodEnum<{
|
|
32
|
+
unclear: "unclear";
|
|
33
|
+
other: "other";
|
|
34
|
+
user: "user";
|
|
35
|
+
shared: "shared";
|
|
36
|
+
}>, z.ZodNumber>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export type MemorySubjectInput = z.infer<typeof memorySubjectInputSchema>;
|
|
39
|
+
export type MemorySubjectResult = z.infer<typeof memorySubjectResultSchema>;
|
|
40
|
+
export type MemorySubjectVerdict = z.infer<typeof memorySubjectVerdictSchema>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { nonEmptyText, probability, decisionStatusSchema, resultMetadataSchema, } from '../../src/schema.js';
|
|
3
|
+
export const memorySubjectVerdictSchema = z.enum(['user', 'other', 'shared', 'unclear']);
|
|
4
|
+
export const memorySubjectInputSchema = z.object({
|
|
5
|
+
statement: nonEmptyText.describe('One atomic statement or candidate memory whose subject should be identified.'),
|
|
6
|
+
user: nonEmptyText.describe('The person whose memory profile is being considered, including their speaker role when relevant.'),
|
|
7
|
+
context: nonEmptyText
|
|
8
|
+
.describe('Supplied speaker identities or surrounding text needed to resolve references.')
|
|
9
|
+
.optional(),
|
|
10
|
+
minConfidence: probability.optional(),
|
|
11
|
+
});
|
|
12
|
+
export const memorySubjectResultSchema = resultMetadataSchema.extend({
|
|
13
|
+
status: decisionStatusSchema,
|
|
14
|
+
verdict: memorySubjectVerdictSchema,
|
|
15
|
+
confidence: probability,
|
|
16
|
+
probabilities: z.record(memorySubjectVerdictSchema, probability),
|
|
17
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"input": {
|
|
3
|
+
"activity": "Alex solves puzzles.",
|
|
4
|
+
"statement": "Alex says: \"I solve puzzles because I enjoy the challenge itself.\""
|
|
5
|
+
},
|
|
6
|
+
"response": {
|
|
7
|
+
"model": "demo-fixture",
|
|
8
|
+
"usage": {
|
|
9
|
+
"input_tokens": 0,
|
|
10
|
+
"output_tokens": 0
|
|
11
|
+
},
|
|
12
|
+
"answers": {
|
|
13
|
+
"decision": {
|
|
14
|
+
"type": "choice",
|
|
15
|
+
"choice": "intrinsic",
|
|
16
|
+
"confidence": 0.96,
|
|
17
|
+
"probabilities": {
|
|
18
|
+
"intrinsic": 0.96,
|
|
19
|
+
"extrinsic": 0.01,
|
|
20
|
+
"mixed": 0.01,
|
|
21
|
+
"not_stated": 0.01,
|
|
22
|
+
"unclear": 0.01
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RecipeOptions } from '../../src/schema.js';
|
|
2
|
+
import type { MotivationSourceInput, MotivationSourceResult } from './schema.js';
|
|
3
|
+
export declare function motivationSource(input: MotivationSourceInput, options?: RecipeOptions): Promise<MotivationSourceResult>;
|
|
4
|
+
export { motivationSourceInputSchema, motivationSourceResultSchema, motivationSourceVerdictSchema, } from './schema.js';
|
|
5
|
+
export type { MotivationSourceInput, MotivationSourceResult, MotivationSourceVerdict, } from './schema.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { evaluateChoice } from '../../src/decisions.js';
|
|
2
|
+
import { motivationSourceInputSchema, motivationSourceResultSchema } from './schema.js';
|
|
3
|
+
export async function motivationSource(input, options = {}) {
|
|
4
|
+
const { minConfidence = 0.8, ...state } = motivationSourceInputSchema.parse(input);
|
|
5
|
+
const decision = await evaluateChoice(state, "What kind of reason does statement give for the focal activity? Classify the explicitly stated or reported reason, not the actor's hidden motives or level of motivation. Intrinsic means engaging in the activity for its own interest, enjoyment, or satisfaction while doing it. Extrinsic means doing it to obtain or avoid an outcome separate from the activity, such as a prize, a grade, approval, guilt, or a valued practical result. Extrinsic does not mean only externally imposed: a freely chosen or personally valued outcome can still be extrinsic. Feeling pride afterward is not automatically enjoyment of the activity itself. Choose mixed only when both intrinsic and extrinsic reasons are offered together; unresolved alternatives between them are unclear. Do not count reasons that are negated, rejected, only hypothesized, or presented as possible incentives without being given as the actor's reason. A quoted or reported reason can be classified for its identified actor without assuming that actor is the speaker or that the report is true. Choose not_stated when the focal activity is clear but no reason is given, including only describing participation, naming a possible reward, or rejecting a motive without supplying another. Enjoyment mentioned without a link to why the actor participates is not automatically a reason. Choose unclear when the actor, activity, causal link, or distinction between the activity and a separate outcome cannot be resolved. Context can resolve references but cannot add a motive absent from statement. Do not infer permanence, intensity, autonomy, moral worth, or human-like motivation in an AI.", {
|
|
6
|
+
intrinsic: 'The stated reason is interest, enjoyment, or satisfaction in doing the activity itself.',
|
|
7
|
+
extrinsic: 'The stated reason is obtaining or avoiding an outcome separate from the activity.',
|
|
8
|
+
mixed: 'Both intrinsic and extrinsic reasons are offered together for the focal activity.',
|
|
9
|
+
not_stated: 'The activity is clear but no reason for doing it is stated.',
|
|
10
|
+
unclear: 'Ambiguous references, unresolved alternatives, or an unclear reason or activity boundary prevents classification.',
|
|
11
|
+
}, options);
|
|
12
|
+
return motivationSourceResultSchema.parse({
|
|
13
|
+
...decision,
|
|
14
|
+
status: decision.confidence < minConfidence || decision.verdict === 'unclear' ? 'review' : 'ready',
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export { motivationSourceInputSchema, motivationSourceResultSchema, motivationSourceVerdictSchema, } from './schema.js';
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const motivationSourceVerdictSchema: z.ZodEnum<{
|
|
3
|
+
intrinsic: "intrinsic";
|
|
4
|
+
extrinsic: "extrinsic";
|
|
5
|
+
unclear: "unclear";
|
|
6
|
+
mixed: "mixed";
|
|
7
|
+
not_stated: "not_stated";
|
|
8
|
+
}>;
|
|
9
|
+
export declare const motivationSourceInputSchema: z.ZodObject<{
|
|
10
|
+
activity: z.ZodString;
|
|
11
|
+
statement: z.ZodString;
|
|
12
|
+
context: z.ZodOptional<z.ZodString>;
|
|
13
|
+
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export declare const motivationSourceResultSchema: z.ZodObject<{
|
|
16
|
+
model: z.ZodString;
|
|
17
|
+
usage: z.ZodObject<{
|
|
18
|
+
input_tokens: z.ZodNumber;
|
|
19
|
+
output_tokens: z.ZodNumber;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
status: z.ZodEnum<{
|
|
22
|
+
ready: "ready";
|
|
23
|
+
review: "review";
|
|
24
|
+
}>;
|
|
25
|
+
verdict: z.ZodEnum<{
|
|
26
|
+
intrinsic: "intrinsic";
|
|
27
|
+
extrinsic: "extrinsic";
|
|
28
|
+
unclear: "unclear";
|
|
29
|
+
mixed: "mixed";
|
|
30
|
+
not_stated: "not_stated";
|
|
31
|
+
}>;
|
|
32
|
+
confidence: z.ZodNumber;
|
|
33
|
+
probabilities: z.ZodRecord<z.ZodEnum<{
|
|
34
|
+
intrinsic: "intrinsic";
|
|
35
|
+
extrinsic: "extrinsic";
|
|
36
|
+
unclear: "unclear";
|
|
37
|
+
mixed: "mixed";
|
|
38
|
+
not_stated: "not_stated";
|
|
39
|
+
}>, z.ZodNumber>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
export type MotivationSourceInput = z.infer<typeof motivationSourceInputSchema>;
|
|
42
|
+
export type MotivationSourceResult = z.infer<typeof motivationSourceResultSchema>;
|
|
43
|
+
export type MotivationSourceVerdict = z.infer<typeof motivationSourceVerdictSchema>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { nonEmptyText, probability, decisionStatusSchema, resultMetadataSchema, } from '../../src/schema.js';
|
|
3
|
+
export const motivationSourceVerdictSchema = z.enum([
|
|
4
|
+
'intrinsic',
|
|
5
|
+
'extrinsic',
|
|
6
|
+
'mixed',
|
|
7
|
+
'not_stated',
|
|
8
|
+
'unclear',
|
|
9
|
+
]);
|
|
10
|
+
export const motivationSourceInputSchema = z.object({
|
|
11
|
+
activity: nonEmptyText.describe('One focal activity and its actor when needed to distinguish whose stated reason is being classified.'),
|
|
12
|
+
statement: nonEmptyText.describe('Text stating or reporting why the actor does the activity.'),
|
|
13
|
+
context: nonEmptyText
|
|
14
|
+
.describe('Supplied speaker identities or references needed to interpret the stated reason.')
|
|
15
|
+
.optional(),
|
|
16
|
+
minConfidence: probability.optional(),
|
|
17
|
+
});
|
|
18
|
+
export const motivationSourceResultSchema = resultMetadataSchema.extend({
|
|
19
|
+
status: decisionStatusSchema,
|
|
20
|
+
verdict: motivationSourceVerdictSchema,
|
|
21
|
+
confidence: probability,
|
|
22
|
+
probabilities: z.record(motivationSourceVerdictSchema, probability),
|
|
23
|
+
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"input": {
|
|
3
|
+
"text": "You keep 80 of your 100 points.",
|
|
4
|
+
"outcome": "The player's points after the round; more points are better."
|
|
5
|
+
},
|
|
6
|
+
"response": {
|
|
7
|
+
"model": "demo-fixture",
|
|
8
|
+
"usage": {
|
|
9
|
+
"input_tokens": 0,
|
|
10
|
+
"output_tokens": 0
|
|
11
|
+
},
|
|
12
|
+
"answers": {
|
|
13
|
+
"decision": {
|
|
14
|
+
"type": "choice",
|
|
15
|
+
"choice": "gain",
|
|
16
|
+
"confidence": 0.96,
|
|
17
|
+
"probabilities": {
|
|
18
|
+
"gain": 0.96,
|
|
19
|
+
"loss": 0.01,
|
|
20
|
+
"mixed": 0.01,
|
|
21
|
+
"neutral": 0.01,
|
|
22
|
+
"unclear": 0.01
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RecipeOptions } from '../../src/schema.js';
|
|
2
|
+
import type { OutcomeFramingInput, OutcomeFramingResult } from './schema.js';
|
|
3
|
+
export declare function outcomeFraming(input: OutcomeFramingInput, options?: RecipeOptions): Promise<OutcomeFramingResult>;
|
|
4
|
+
export { outcomeFramingInputSchema, outcomeFramingResultSchema, outcomeFramingVerdictSchema, } from './schema.js';
|
|
5
|
+
export type { OutcomeFramingInput, OutcomeFramingResult, OutcomeFramingVerdict } from './schema.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { evaluateChoice } from '../../src/decisions.js';
|
|
2
|
+
import { outcomeFramingInputSchema, outcomeFramingResultSchema } from './schema.js';
|
|
3
|
+
export async function outcomeFraming(input, options = {}) {
|
|
4
|
+
const { minConfidence = 0.8, ...state } = outcomeFramingInputSchema.parse(input);
|
|
5
|
+
const decision = await evaluateChoice(state, 'How does text frame the specified outcome? Classify the presented wording, not the actual utility, arithmetic change, or effect on a decision maker. Gain framing emphasizes obtaining or retaining benefits or avoiding harm; loss framing emphasizes costs, forfeited benefits, or harm incurred. For a round starting with 100 desirable points, "Keep 80 points" is gain framing and "Lose 20 points" is loss framing, although both can describe the same final balance. A bare final amount such as "Final balance: 80 points" is neutral without additional evaluative wording. Choose mixed only when both frames are actually presented for the focal outcome; do not infer an unmentioned complementary frame. Interpret negation by its meaning: "avoid losing points" emphasizes avoiding harm, not loss merely because the word losing appears. Attend to whose outcome is specified; a loss for an opponent need not be a loss for the focal player. Ignore frames about unrelated outcomes and words mentioned only as terminology rather than applied to the outcome. Context resolves references or benefit direction but cannot add framing absent from text. Choose neutral when the focal outcome is clearly described without gain or loss framing; choose unclear when it is missing, references or benefit direction cannot be resolved, or incompatible outcomes cannot be separated. Do not verify that two descriptions are equivalent, recommend a choice, or infer loss aversion or bias.', {
|
|
6
|
+
gain: 'The wording emphasizes benefits obtained or retained, or harm avoided, for the focal outcome.',
|
|
7
|
+
loss: 'The wording emphasizes costs, benefits forfeited, or harm incurred for the focal outcome.',
|
|
8
|
+
mixed: 'Both gain and loss framing are presented for the focal outcome.',
|
|
9
|
+
neutral: 'The focal outcome is described without gain or loss framing.',
|
|
10
|
+
unclear: 'A missing outcome, unresolved perspective or benefit direction, or ambiguous wording prevents classification.',
|
|
11
|
+
}, options);
|
|
12
|
+
return outcomeFramingResultSchema.parse({
|
|
13
|
+
...decision,
|
|
14
|
+
status: decision.confidence < minConfidence || decision.verdict === 'unclear' ? 'review' : 'ready',
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export { outcomeFramingInputSchema, outcomeFramingResultSchema, outcomeFramingVerdictSchema, } from './schema.js';
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const outcomeFramingVerdictSchema: z.ZodEnum<{
|
|
3
|
+
unclear: "unclear";
|
|
4
|
+
mixed: "mixed";
|
|
5
|
+
gain: "gain";
|
|
6
|
+
loss: "loss";
|
|
7
|
+
neutral: "neutral";
|
|
8
|
+
}>;
|
|
9
|
+
export declare const outcomeFramingInputSchema: z.ZodObject<{
|
|
10
|
+
text: z.ZodString;
|
|
11
|
+
outcome: z.ZodString;
|
|
12
|
+
context: z.ZodOptional<z.ZodString>;
|
|
13
|
+
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export declare const outcomeFramingResultSchema: z.ZodObject<{
|
|
16
|
+
model: z.ZodString;
|
|
17
|
+
usage: z.ZodObject<{
|
|
18
|
+
input_tokens: z.ZodNumber;
|
|
19
|
+
output_tokens: z.ZodNumber;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
status: z.ZodEnum<{
|
|
22
|
+
ready: "ready";
|
|
23
|
+
review: "review";
|
|
24
|
+
}>;
|
|
25
|
+
verdict: z.ZodEnum<{
|
|
26
|
+
unclear: "unclear";
|
|
27
|
+
mixed: "mixed";
|
|
28
|
+
gain: "gain";
|
|
29
|
+
loss: "loss";
|
|
30
|
+
neutral: "neutral";
|
|
31
|
+
}>;
|
|
32
|
+
confidence: z.ZodNumber;
|
|
33
|
+
probabilities: z.ZodRecord<z.ZodEnum<{
|
|
34
|
+
unclear: "unclear";
|
|
35
|
+
mixed: "mixed";
|
|
36
|
+
gain: "gain";
|
|
37
|
+
loss: "loss";
|
|
38
|
+
neutral: "neutral";
|
|
39
|
+
}>, z.ZodNumber>;
|
|
40
|
+
}, z.core.$strip>;
|
|
41
|
+
export type OutcomeFramingInput = z.infer<typeof outcomeFramingInputSchema>;
|
|
42
|
+
export type OutcomeFramingResult = z.infer<typeof outcomeFramingResultSchema>;
|
|
43
|
+
export type OutcomeFramingVerdict = z.infer<typeof outcomeFramingVerdictSchema>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { nonEmptyText, probability, decisionStatusSchema, resultMetadataSchema, } from '../../src/schema.js';
|
|
3
|
+
export const outcomeFramingVerdictSchema = z.enum(['gain', 'loss', 'mixed', 'neutral', 'unclear']);
|
|
4
|
+
export const outcomeFramingInputSchema = z.object({
|
|
5
|
+
text: nonEmptyText.describe('The wording presented to the decision maker.'),
|
|
6
|
+
outcome: nonEmptyText.describe('One focal outcome, including whose outcome it is and what counts as a benefit or harm.'),
|
|
7
|
+
context: nonEmptyText
|
|
8
|
+
.describe('Supplied references or baseline information needed to interpret the wording.')
|
|
9
|
+
.optional(),
|
|
10
|
+
minConfidence: probability.optional(),
|
|
11
|
+
});
|
|
12
|
+
export const outcomeFramingResultSchema = resultMetadataSchema.extend({
|
|
13
|
+
status: decisionStatusSchema,
|
|
14
|
+
verdict: outcomeFramingVerdictSchema,
|
|
15
|
+
confidence: probability,
|
|
16
|
+
probabilities: z.record(outcomeFramingVerdictSchema, probability),
|
|
17
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"input": {
|
|
3
|
+
"question": "Why did you delete the file?",
|
|
4
|
+
"claim": "You deleted the file."
|
|
5
|
+
},
|
|
6
|
+
"response": {
|
|
7
|
+
"model": "demo-fixture",
|
|
8
|
+
"usage": {
|
|
9
|
+
"input_tokens": 0,
|
|
10
|
+
"output_tokens": 0
|
|
11
|
+
},
|
|
12
|
+
"answers": {
|
|
13
|
+
"decision": {
|
|
14
|
+
"type": "choice",
|
|
15
|
+
"choice": "assumed",
|
|
16
|
+
"confidence": 0.98,
|
|
17
|
+
"probabilities": {
|
|
18
|
+
"assumed": 0.98,
|
|
19
|
+
"not_assumed": 0.01,
|
|
20
|
+
"unclear": 0.01
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { RecipeOptions } from '../../src/schema.js';
|
|
2
|
+
import type { QuestionAssumptionInput, QuestionAssumptionResult } from './schema.js';
|
|
3
|
+
export declare function questionAssumption(input: QuestionAssumptionInput, options?: RecipeOptions): Promise<QuestionAssumptionResult>;
|
|
4
|
+
export { questionAssumptionInputSchema, questionAssumptionResultSchema, questionAssumptionVerdictSchema, } from './schema.js';
|
|
5
|
+
export type { QuestionAssumptionInput, QuestionAssumptionResult, QuestionAssumptionVerdict, } from './schema.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { evaluateChoice } from '../../src/decisions.js';
|
|
2
|
+
import { questionAssumptionInputSchema, questionAssumptionResultSchema } from './schema.js';
|
|
3
|
+
export async function questionAssumption(input, options = {}) {
|
|
4
|
+
const { minConfidence = 0.8, ...state } = questionAssumptionInputSchema.parse(input);
|
|
5
|
+
const decision = await evaluateChoice(state, 'Does the wording of question take claim for granted? Assess the supplied proposition, including its negation and who it refers to. Choose assumed when the wording treats the claim as established, asks why, when, or how about it without leaving whether it holds open, or states it as fact in the respondent-visible framing. Choose not_assumed when the question openly asks whether the claim holds, conditionally supposes it, or clearly concerns an unrelated claim. A why, when, or how word alone is not sufficient: explicit uncertainty such as "if at all" leaves the claim open. Merely quoting or discussing someone else\'s question does not adopt its premise unless the surrounding framing also adopts it. Pressure toward an answer is not by itself an assumption: "I would prefer yes: did you delete the file?" still leaves whether deletion occurred open. "Why did you delete the file?" assumes deletion; "Did you delete the file?" and "If you deleted it, why?" do not. "Why did you not delete it?" does not assume the positive deletion claim. Use optional context to resolve references, not as an independent reason to call an open question assumed, even if that context supports the claim. Choose unclear for unresolved references, ambiguous question scope, or conflicting framing. Label wording, not whether the claim is true, author intent, or actual influence on answers.', {
|
|
6
|
+
assumed: 'The question or its visible framing treats the supplied claim as already established.',
|
|
7
|
+
not_assumed: 'The question leaves the claim open, supposes it only conditionally, merely quotes it without adoption, or clearly does not concern it.',
|
|
8
|
+
unclear: 'Unresolved references, ambiguous scope, or conflicting framing prevents determining whether the claim is taken for granted.',
|
|
9
|
+
}, options);
|
|
10
|
+
return questionAssumptionResultSchema.parse({
|
|
11
|
+
...decision,
|
|
12
|
+
status: decision.confidence < minConfidence || decision.verdict === 'unclear' ? 'review' : 'ready',
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export { questionAssumptionInputSchema, questionAssumptionResultSchema, questionAssumptionVerdictSchema, } from './schema.js';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const questionAssumptionVerdictSchema: z.ZodEnum<{
|
|
3
|
+
unclear: "unclear";
|
|
4
|
+
assumed: "assumed";
|
|
5
|
+
not_assumed: "not_assumed";
|
|
6
|
+
}>;
|
|
7
|
+
export declare const questionAssumptionInputSchema: z.ZodObject<{
|
|
8
|
+
question: z.ZodString;
|
|
9
|
+
claim: z.ZodString;
|
|
10
|
+
context: z.ZodOptional<z.ZodString>;
|
|
11
|
+
minConfidence: z.ZodOptional<z.ZodNumber>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export declare const questionAssumptionResultSchema: z.ZodObject<{
|
|
14
|
+
model: z.ZodString;
|
|
15
|
+
usage: z.ZodObject<{
|
|
16
|
+
input_tokens: z.ZodNumber;
|
|
17
|
+
output_tokens: z.ZodNumber;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
status: z.ZodEnum<{
|
|
20
|
+
ready: "ready";
|
|
21
|
+
review: "review";
|
|
22
|
+
}>;
|
|
23
|
+
verdict: z.ZodEnum<{
|
|
24
|
+
unclear: "unclear";
|
|
25
|
+
assumed: "assumed";
|
|
26
|
+
not_assumed: "not_assumed";
|
|
27
|
+
}>;
|
|
28
|
+
confidence: z.ZodNumber;
|
|
29
|
+
probabilities: z.ZodRecord<z.ZodEnum<{
|
|
30
|
+
unclear: "unclear";
|
|
31
|
+
assumed: "assumed";
|
|
32
|
+
not_assumed: "not_assumed";
|
|
33
|
+
}>, z.ZodNumber>;
|
|
34
|
+
}, z.core.$strip>;
|
|
35
|
+
export type QuestionAssumptionInput = z.infer<typeof questionAssumptionInputSchema>;
|
|
36
|
+
export type QuestionAssumptionResult = z.infer<typeof questionAssumptionResultSchema>;
|
|
37
|
+
export type QuestionAssumptionVerdict = z.infer<typeof questionAssumptionVerdictSchema>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { nonEmptyText, probability, decisionStatusSchema, resultMetadataSchema, } from '../../src/schema.js';
|
|
3
|
+
export const questionAssumptionVerdictSchema = z.enum(['assumed', 'not_assumed', 'unclear']);
|
|
4
|
+
export const questionAssumptionInputSchema = z.object({
|
|
5
|
+
question: nonEmptyText.describe('One question, including any framing visible to the respondent.'),
|
|
6
|
+
claim: nonEmptyText.describe('One specific proposition to check for an assumption in the question.'),
|
|
7
|
+
context: nonEmptyText
|
|
8
|
+
.describe('Supplied context needed to resolve references and interpret the question and claim.')
|
|
9
|
+
.optional(),
|
|
10
|
+
minConfidence: probability.optional(),
|
|
11
|
+
});
|
|
12
|
+
export const questionAssumptionResultSchema = resultMetadataSchema.extend({
|
|
13
|
+
status: decisionStatusSchema,
|
|
14
|
+
verdict: questionAssumptionVerdictSchema,
|
|
15
|
+
confidence: probability,
|
|
16
|
+
probabilities: z.record(questionAssumptionVerdictSchema, probability),
|
|
17
|
+
});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const questionLeadingVerdictSchema: z.ZodEnum<{
|
|
3
3
|
unclear: "unclear";
|
|
4
|
+
neutral: "neutral";
|
|
4
5
|
favors: "favors";
|
|
5
6
|
disfavors: "disfavors";
|
|
6
|
-
neutral: "neutral";
|
|
7
7
|
}>;
|
|
8
8
|
export declare const questionLeadingInputSchema: z.ZodObject<{
|
|
9
9
|
question: z.ZodString;
|
|
@@ -23,16 +23,16 @@ export declare const questionLeadingResultSchema: z.ZodObject<{
|
|
|
23
23
|
}>;
|
|
24
24
|
verdict: z.ZodEnum<{
|
|
25
25
|
unclear: "unclear";
|
|
26
|
+
neutral: "neutral";
|
|
26
27
|
favors: "favors";
|
|
27
28
|
disfavors: "disfavors";
|
|
28
|
-
neutral: "neutral";
|
|
29
29
|
}>;
|
|
30
30
|
confidence: z.ZodNumber;
|
|
31
31
|
probabilities: z.ZodRecord<z.ZodEnum<{
|
|
32
32
|
unclear: "unclear";
|
|
33
|
+
neutral: "neutral";
|
|
33
34
|
favors: "favors";
|
|
34
35
|
disfavors: "disfavors";
|
|
35
|
-
neutral: "neutral";
|
|
36
36
|
}>, z.ZodNumber>;
|
|
37
37
|
}, z.core.$strip>;
|
|
38
38
|
export type QuestionLeadingInput = z.infer<typeof questionLeadingInputSchema>;
|
package/dist/src/index.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export { cacheMatch, cacheMatchInputSchema, cacheMatchResultSchema, cacheMatchVe
|
|
|
26
26
|
export type { CacheMatchInput, CacheMatchResult, CacheMatchVerdict, } from '../recipes/cache-match/index.js';
|
|
27
27
|
export { cancellationCheck, cancellationCheckInputSchema, cancellationCheckResultSchema, cancellationCheckVerdictSchema, } from '../recipes/cancellation-check/index.js';
|
|
28
28
|
export type { CancellationCheckInput, CancellationCheckResult, CancellationCheckVerdict, } from '../recipes/cancellation-check/index.js';
|
|
29
|
+
export { causalAttribution, causalAttributionInputSchema, causalAttributionResultSchema, causalAttributionVerdictSchema, } from '../recipes/causal-attribution/index.js';
|
|
30
|
+
export type { CausalAttributionInput, CausalAttributionResult, CausalAttributionVerdict, } from '../recipes/causal-attribution/index.js';
|
|
29
31
|
export { certaintyMatch, certaintyMatchInputSchema, certaintyMatchResultSchema, certaintyMatchVerdictSchema, } from '../recipes/certainty-match/index.js';
|
|
30
32
|
export type { CertaintyMatchInput, CertaintyMatchResult, CertaintyMatchVerdict, } from '../recipes/certainty-match/index.js';
|
|
31
33
|
export { changeMeaning, changeMeaningInputSchema, changeMeaningResultSchema, changeMeaningVerdictSchema, } from '../recipes/change-meaning/index.js';
|
|
@@ -88,12 +90,20 @@ export { intentChange, intentChangeInputSchema, intentChangeResultSchema, intent
|
|
|
88
90
|
export type { IntentChangeInput, IntentChangeResult, IntentChangeVerdict, } from '../recipes/intent-change/index.js';
|
|
89
91
|
export { issueImpact, issueImpactInputSchema, issueImpactResultSchema, issueImpactVerdictSchema, } from '../recipes/issue-impact/index.js';
|
|
90
92
|
export type { IssueImpactInput, IssueImpactResult, IssueImpactVerdict, } from '../recipes/issue-impact/index.js';
|
|
93
|
+
export { issueRecurrence, issueRecurrenceInputSchema, issueRecurrenceResultSchema, issueRecurrenceVerdictSchema, } from '../recipes/issue-recurrence/index.js';
|
|
94
|
+
export type { IssueRecurrenceInput, IssueRecurrenceResult, IssueRecurrenceVerdict, } from '../recipes/issue-recurrence/index.js';
|
|
91
95
|
export { memoryRelation, memoryRelationInputSchema, memoryRelationResultSchema, memoryRelationVerdictSchema, } from '../recipes/memory-relation/index.js';
|
|
92
96
|
export type { MemoryRelationInput, MemoryRelationResult, MemoryRelationVerdict, } from '../recipes/memory-relation/index.js';
|
|
93
97
|
export { memoryScope, memoryScopeInputSchema, memoryScopeResultSchema, memoryScopeVerdictSchema, } from '../recipes/memory-scope/index.js';
|
|
94
98
|
export type { MemoryScopeInput, MemoryScopeResult, MemoryScopeVerdict, } from '../recipes/memory-scope/index.js';
|
|
99
|
+
export { memorySubject, memorySubjectInputSchema, memorySubjectResultSchema, memorySubjectVerdictSchema, } from '../recipes/memory-subject/index.js';
|
|
100
|
+
export type { MemorySubjectInput, MemorySubjectResult, MemorySubjectVerdict, } from '../recipes/memory-subject/index.js';
|
|
95
101
|
export { memoryValue, memoryValueInputSchema, memoryValueResultSchema, memoryValueVerdictSchema, } from '../recipes/memory-value/index.js';
|
|
96
102
|
export type { MemoryValueInput, MemoryValueResult, MemoryValueVerdict, } from '../recipes/memory-value/index.js';
|
|
103
|
+
export { motivationSource, motivationSourceInputSchema, motivationSourceResultSchema, motivationSourceVerdictSchema, } from '../recipes/motivation-source/index.js';
|
|
104
|
+
export type { MotivationSourceInput, MotivationSourceResult, MotivationSourceVerdict, } from '../recipes/motivation-source/index.js';
|
|
105
|
+
export { outcomeFraming, outcomeFramingInputSchema, outcomeFramingResultSchema, outcomeFramingVerdictSchema, } from '../recipes/outcome-framing/index.js';
|
|
106
|
+
export type { OutcomeFramingInput, OutcomeFramingResult, OutcomeFramingVerdict, } from '../recipes/outcome-framing/index.js';
|
|
97
107
|
export { passageDuplicate, passageDuplicateInputSchema, passageDuplicateResultSchema, passageDuplicateVerdictSchema, } from '../recipes/passage-duplicate/index.js';
|
|
98
108
|
export type { PassageDuplicateInput, PassageDuplicateResult, PassageDuplicateVerdict, } from '../recipes/passage-duplicate/index.js';
|
|
99
109
|
export { preferenceKind, preferenceKindInputSchema, preferenceKindResultSchema, preferenceKindVerdictSchema, } from '../recipes/preference-kind/index.js';
|
|
@@ -104,6 +114,8 @@ export { queryEquivalence, queryEquivalenceInputSchema, queryEquivalenceResultSc
|
|
|
104
114
|
export type { QueryEquivalenceInput, QueryEquivalenceResult, QueryEquivalenceVerdict, } from '../recipes/query-equivalence/index.js';
|
|
105
115
|
export { querySpecificity, querySpecificityInputSchema, querySpecificityResultSchema, querySpecificityVerdictSchema, } from '../recipes/query-specificity/index.js';
|
|
106
116
|
export type { QuerySpecificityInput, QuerySpecificityResult, QuerySpecificityVerdict, } from '../recipes/query-specificity/index.js';
|
|
117
|
+
export { questionAssumption, questionAssumptionInputSchema, questionAssumptionResultSchema, questionAssumptionVerdictSchema, } from '../recipes/question-assumption/index.js';
|
|
118
|
+
export type { QuestionAssumptionInput, QuestionAssumptionResult, QuestionAssumptionVerdict, } from '../recipes/question-assumption/index.js';
|
|
107
119
|
export { questionLeading, questionLeadingInputSchema, questionLeadingResultSchema, questionLeadingVerdictSchema, } from '../recipes/question-leading/index.js';
|
|
108
120
|
export type { QuestionLeadingInput, QuestionLeadingResult, QuestionLeadingVerdict, } from '../recipes/question-leading/index.js';
|
|
109
121
|
export { referenceResolve, referenceResolveInputSchema, referenceResolveResultSchema, } from '../recipes/reference-resolve/index.js';
|