@happyvertical/smrt-ingestion 0.55.5 → 0.55.7
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/AGENTS.md +13 -3
- package/FEEDBACK.md +117 -0
- package/PROPOSALS.md +173 -0
- package/README.md +14 -0
- package/REVIEW.md +136 -0
- package/agents/execution.md +132 -0
- package/dist/chunks/execution-CYjtj9_l.js +8031 -0
- package/dist/chunks/execution-CYjtj9_l.js.map +1 -0
- package/dist/chunks/execution-internal-DWteDHM2.js +7 -0
- package/dist/chunks/execution-internal-DWteDHM2.js.map +1 -0
- package/dist/chunks/feedback-B_NILilH.js +577 -0
- package/dist/chunks/feedback-B_NILilH.js.map +1 -0
- package/dist/chunks/proposal-errors-z24VKWnQ.js +301 -0
- package/dist/chunks/proposal-errors-z24VKWnQ.js.map +1 -0
- package/dist/dto.d.ts +3 -0
- package/dist/dto.d.ts.map +1 -1
- package/dist/execution-contracts.d.ts +3 -0
- package/dist/execution-contracts.d.ts.map +1 -1
- package/dist/execution-internal.d.ts +9 -0
- package/dist/execution-internal.d.ts.map +1 -0
- package/dist/execution.d.ts +23 -1
- package/dist/execution.d.ts.map +1 -1
- package/dist/execution.js +1 -7614
- package/dist/extraction.d.ts.map +1 -1
- package/dist/feedback-contracts.d.ts +40 -0
- package/dist/feedback-contracts.d.ts.map +1 -0
- package/dist/feedback-dto.d.ts +100 -0
- package/dist/feedback-dto.d.ts.map +1 -0
- package/dist/feedback-internal.d.ts +19 -0
- package/dist/feedback-internal.d.ts.map +1 -0
- package/dist/feedback.d.ts +53 -0
- package/dist/feedback.d.ts.map +1 -0
- package/dist/manifest.json +13 -1
- package/dist/models.js +1 -1
- package/dist/models.js.map +1 -1
- package/dist/proposal-contracts.d.ts +89 -0
- package/dist/proposal-contracts.d.ts.map +1 -0
- package/dist/proposal-dto.d.ts +124 -0
- package/dist/proposal-dto.d.ts.map +1 -0
- package/dist/proposal-errors.d.ts +5 -0
- package/dist/proposal-errors.d.ts.map +1 -0
- package/dist/proposal-sdk.d.ts +12 -0
- package/dist/proposal-sdk.d.ts.map +1 -0
- package/dist/proposal-validation.d.ts +188 -0
- package/dist/proposal-validation.d.ts.map +1 -0
- package/dist/proposals.d.ts +44 -0
- package/dist/proposals.d.ts.map +1 -0
- package/dist/proposals.js +964 -0
- package/dist/proposals.js.map +1 -0
- package/dist/review-dto.d.ts +115 -0
- package/dist/review-dto.d.ts.map +1 -0
- package/dist/server.d.ts +56 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +263 -341
- package/dist/server.js.map +1 -1
- package/dist/smrt-knowledge.json +87 -12
- package/dist/svelte/components/ActionReview.svelte +232 -0
- package/dist/svelte/components/ActionReview.svelte.d.ts +15 -0
- package/dist/svelte/components/ActionReview.svelte.d.ts.map +1 -0
- package/dist/svelte/components/EvidenceViewer.svelte +31 -0
- package/dist/svelte/components/EvidenceViewer.svelte.d.ts +8 -0
- package/dist/svelte/components/EvidenceViewer.svelte.d.ts.map +1 -0
- package/dist/svelte/components/InboxView.svelte +119 -0
- package/dist/svelte/components/InboxView.svelte.d.ts +9 -0
- package/dist/svelte/components/InboxView.svelte.d.ts.map +1 -0
- package/dist/svelte/components/IntakeInbox.svelte +11 -0
- package/dist/svelte/components/IntakeInbox.svelte.d.ts +10 -0
- package/dist/svelte/components/IntakeInbox.svelte.d.ts.map +1 -0
- package/dist/svelte/components/IntakeReview.svelte +11 -0
- package/dist/svelte/components/IntakeReview.svelte.d.ts +10 -0
- package/dist/svelte/components/IntakeReview.svelte.d.ts.map +1 -0
- package/dist/svelte/components/ReviewView.svelte +243 -0
- package/dist/svelte/components/ReviewView.svelte.d.ts +9 -0
- package/dist/svelte/components/ReviewView.svelte.d.ts.map +1 -0
- package/dist/svelte/i18n.d.ts +72 -0
- package/dist/svelte/i18n.d.ts.map +1 -0
- package/dist/svelte/i18n.js +72 -0
- package/dist/svelte/index.d.ts +5 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +3 -0
- package/dist/svelte/view-utils.d.ts +13 -0
- package/dist/svelte/view-utils.d.ts.map +1 -0
- package/dist/svelte/view-utils.js +96 -0
- package/package.json +53 -22
- package/dist/execution.js.map +0 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import type { DecisionClient } from '@happyvertical/smrt-core';
|
|
2
|
+
import type { HandlerContext } from './execution-contracts.js';
|
|
3
|
+
import type { IntakeValues } from './execution-dto.js';
|
|
4
|
+
import type { EvidenceLocation, ProviderIdentity } from './extraction-types.js';
|
|
5
|
+
import type { ProposalCandidate, ProposalCatalogEntry, ProposalReferenceField } from './proposal-dto.js';
|
|
6
|
+
/** Optional discovery capability on the existing application execution handler. */
|
|
7
|
+
export interface HandlerDiscovery {
|
|
8
|
+
mediaTypes: readonly string[];
|
|
9
|
+
/** Every existing-record argument exposed to generation must be declared here. */
|
|
10
|
+
references: Readonly<Record<string, ProposalReferenceField>>;
|
|
11
|
+
/** Database reads only; filter in the query before ranking/summarizing. */
|
|
12
|
+
candidates?(query: string, context: HandlerContext, page: {
|
|
13
|
+
limit: number;
|
|
14
|
+
}): Promise<{
|
|
15
|
+
items: Array<Omit<ProposalCandidate, 'key'>>;
|
|
16
|
+
hasMore: boolean;
|
|
17
|
+
}>;
|
|
18
|
+
}
|
|
19
|
+
export interface GenerationLimits {
|
|
20
|
+
maxHandlers: number;
|
|
21
|
+
maxCandidates: number;
|
|
22
|
+
maxSuggestions: number;
|
|
23
|
+
maxInputBytes: number;
|
|
24
|
+
maxOutputBytes: number;
|
|
25
|
+
maxQueryLength: number;
|
|
26
|
+
timeoutMs: number;
|
|
27
|
+
}
|
|
28
|
+
export interface GenerativeProposalInput {
|
|
29
|
+
evidence: Array<{
|
|
30
|
+
evidenceId: string;
|
|
31
|
+
partId: string;
|
|
32
|
+
parentEvidenceId: string | null;
|
|
33
|
+
mediaType: string;
|
|
34
|
+
contentHash: string;
|
|
35
|
+
segments: Array<{
|
|
36
|
+
text: string;
|
|
37
|
+
location: EvidenceLocation;
|
|
38
|
+
}>;
|
|
39
|
+
}>;
|
|
40
|
+
offered: Array<{
|
|
41
|
+
handler: ProposalCatalogEntry;
|
|
42
|
+
candidates: ProposalCandidate[];
|
|
43
|
+
}>;
|
|
44
|
+
instructions: string;
|
|
45
|
+
/** Bounded, currently eligible examples; neither evidence nor authority. */
|
|
46
|
+
examples?: import('./feedback-dto.js').FeedbackSelection;
|
|
47
|
+
/** Authenticated human correction carried through fresh extraction; never model authority. */
|
|
48
|
+
humanCorrection?: IntakeValues;
|
|
49
|
+
}
|
|
50
|
+
/** Inject only trusted SDK-bound adapters. Generative output is always untrusted. */
|
|
51
|
+
export interface ProposalGenerator {
|
|
52
|
+
identity: ProviderIdentity;
|
|
53
|
+
generate(input: GenerativeProposalInput, options: {
|
|
54
|
+
signal: AbortSignal;
|
|
55
|
+
maxOutputBytes: number;
|
|
56
|
+
}): Promise<{
|
|
57
|
+
output: unknown;
|
|
58
|
+
completion: 'complete' | 'unknown';
|
|
59
|
+
usage?: Record<string, number>;
|
|
60
|
+
}>;
|
|
61
|
+
}
|
|
62
|
+
export interface ProposalConfiguration {
|
|
63
|
+
version: string;
|
|
64
|
+
promptVersion: string;
|
|
65
|
+
generator: ProposalGenerator;
|
|
66
|
+
/** Absent means the normal unconfigured decision path, never fake probability. */
|
|
67
|
+
decision?: {
|
|
68
|
+
client: DecisionClient;
|
|
69
|
+
identity: ProviderIdentity;
|
|
70
|
+
};
|
|
71
|
+
minimumDecisionProbability?: number;
|
|
72
|
+
tieMargin?: number;
|
|
73
|
+
limits: GenerationLimits;
|
|
74
|
+
}
|
|
75
|
+
export interface GenerationStageConfiguration extends IntakeValues {
|
|
76
|
+
stage: 'interpret';
|
|
77
|
+
proposals: {
|
|
78
|
+
source: import('./proposal-dto.js').GenerationSourcePin;
|
|
79
|
+
configurationVersion: string;
|
|
80
|
+
promptVersion: string;
|
|
81
|
+
catalogDigest: string;
|
|
82
|
+
generator: ProviderIdentity;
|
|
83
|
+
decision: ProviderIdentity | null;
|
|
84
|
+
limits: GenerationLimits;
|
|
85
|
+
minimumDecisionProbability: number;
|
|
86
|
+
tieMargin: number;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=proposal-contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-contracts.d.ts","sourceRoot":"","sources":["../src/proposal-contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/** Browser-safe proposal messages. No callbacks or authority-bearing context. */
|
|
2
|
+
import type { CapabilityDeclaration } from '@happyvertical/smrt-types';
|
|
3
|
+
import type { AnalysisOutput, IntakeEvidenceDTO } from './dto.js';
|
|
4
|
+
import type { IntakeValues, PlanReview, ProposalReview } from './execution-dto.js';
|
|
5
|
+
import type { EvidenceLocation, ProviderIdentity } from './extraction-types.js';
|
|
6
|
+
export interface GenerationSourcePin {
|
|
7
|
+
attemptId: string;
|
|
8
|
+
revision: number;
|
|
9
|
+
inputDigest: string;
|
|
10
|
+
outputDigest: string;
|
|
11
|
+
evidenceDigest: string;
|
|
12
|
+
}
|
|
13
|
+
export interface CompletedAnalysisSnapshot extends GenerationSourcePin {
|
|
14
|
+
itemId: string;
|
|
15
|
+
configuration: IntakeValues;
|
|
16
|
+
evidence: IntakeEvidenceDTO[];
|
|
17
|
+
result: AnalysisOutput;
|
|
18
|
+
}
|
|
19
|
+
export interface ProposalCandidate {
|
|
20
|
+
key: string;
|
|
21
|
+
model: string;
|
|
22
|
+
id: string;
|
|
23
|
+
revision: string;
|
|
24
|
+
label: string;
|
|
25
|
+
}
|
|
26
|
+
export interface CandidatePage {
|
|
27
|
+
items: ProposalCandidate[];
|
|
28
|
+
truncated: boolean;
|
|
29
|
+
}
|
|
30
|
+
export type ProposalReferenceField = {
|
|
31
|
+
kind: 'candidate';
|
|
32
|
+
model: string;
|
|
33
|
+
} | {
|
|
34
|
+
kind: 'evidence';
|
|
35
|
+
};
|
|
36
|
+
export interface ProposalCatalogEntry {
|
|
37
|
+
id: string;
|
|
38
|
+
version: string;
|
|
39
|
+
description: string;
|
|
40
|
+
kind: 'operation' | 'plan';
|
|
41
|
+
/** A plan has no invented aggregate classification; its ordered definition is pinned. */
|
|
42
|
+
capability: CapabilityDeclaration | null;
|
|
43
|
+
argsSchema: IntakeValues;
|
|
44
|
+
references: Record<string, ProposalReferenceField>;
|
|
45
|
+
operation: {
|
|
46
|
+
model: string;
|
|
47
|
+
action: string;
|
|
48
|
+
version: string;
|
|
49
|
+
} | {
|
|
50
|
+
playbookKey: string;
|
|
51
|
+
definitionHash: string;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export interface ProposalEvidenceReference {
|
|
55
|
+
evidenceId: string;
|
|
56
|
+
location: EvidenceLocation;
|
|
57
|
+
}
|
|
58
|
+
export interface GeneratedSuggestion {
|
|
59
|
+
handlerId: string;
|
|
60
|
+
handlerVersion: string;
|
|
61
|
+
args: IntakeValues;
|
|
62
|
+
evidence: ProposalEvidenceReference[];
|
|
63
|
+
alternatives: string[];
|
|
64
|
+
missingFields: string[];
|
|
65
|
+
explanation: string;
|
|
66
|
+
disposition: 'ready_for_review' | 'needs_review';
|
|
67
|
+
}
|
|
68
|
+
export interface GenerationOutput {
|
|
69
|
+
version: 1;
|
|
70
|
+
outcome: 'proposals' | 'unknown' | 'ambiguous' | 'no_action' | 'needs_review' | 'provider_error';
|
|
71
|
+
suggestions: GeneratedSuggestion[];
|
|
72
|
+
splits: Array<{
|
|
73
|
+
evidenceId: string;
|
|
74
|
+
groups: number[][];
|
|
75
|
+
digest: string;
|
|
76
|
+
}>;
|
|
77
|
+
warnings: string[];
|
|
78
|
+
omittedSuggestions: number;
|
|
79
|
+
source: GenerationSourcePin;
|
|
80
|
+
offered: Array<{
|
|
81
|
+
handler: ProposalCatalogEntry;
|
|
82
|
+
candidates: ProposalCandidate[];
|
|
83
|
+
}>;
|
|
84
|
+
provenance: {
|
|
85
|
+
feedback?: {
|
|
86
|
+
query: string;
|
|
87
|
+
selection: import('./feedback-dto.js').FeedbackReferences;
|
|
88
|
+
};
|
|
89
|
+
configurationVersion: string;
|
|
90
|
+
promptVersion: string;
|
|
91
|
+
catalogDigest: string;
|
|
92
|
+
policyVersions: string[];
|
|
93
|
+
generative: ProviderIdentity;
|
|
94
|
+
decision: {
|
|
95
|
+
configured: boolean;
|
|
96
|
+
provider?: string;
|
|
97
|
+
model?: string;
|
|
98
|
+
version?: string;
|
|
99
|
+
answers?: IntakeValues;
|
|
100
|
+
usage?: Record<string, number>;
|
|
101
|
+
};
|
|
102
|
+
usage: Record<string, number>;
|
|
103
|
+
};
|
|
104
|
+
automaticActionEligible: false;
|
|
105
|
+
}
|
|
106
|
+
export interface PreviewGeneratedInput {
|
|
107
|
+
itemId: string;
|
|
108
|
+
attemptId: string;
|
|
109
|
+
/** Explicit stable business intentions supplied by the host, never the model. */
|
|
110
|
+
selections: Array<{
|
|
111
|
+
index: number;
|
|
112
|
+
intentionKey: string;
|
|
113
|
+
expectedRevision: number;
|
|
114
|
+
requestId: string;
|
|
115
|
+
}>;
|
|
116
|
+
}
|
|
117
|
+
export type GeneratedPreview = {
|
|
118
|
+
kind: 'operation';
|
|
119
|
+
review: ProposalReview;
|
|
120
|
+
} | {
|
|
121
|
+
kind: 'plan';
|
|
122
|
+
review: PlanReview;
|
|
123
|
+
};
|
|
124
|
+
//# sourceMappingURL=proposal-dto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-dto.d.ts","sourceRoot":"","sources":["../src/proposal-dto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-errors.d.ts","sourceRoot":"","sources":["../src/proposal-errors.ts"],"names":[],"mappings":"AAAA,yFAAyF;AACzF,qBAAa,4BAA6B,SAAQ,KAAK;;CAKtD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AIInterface } from '@happyvertical/ai';
|
|
2
|
+
import type { DecisionClient } from '@happyvertical/smrt-core';
|
|
3
|
+
import { type ProviderIdentity } from './extraction-types.js';
|
|
4
|
+
import type { ProposalGenerator } from './proposal-contracts.js';
|
|
5
|
+
/** Use an existing SDK client; credentials/configuration never enter persisted provenance. */
|
|
6
|
+
export declare function createSDKProposalGenerator(client: Pick<AIInterface, 'chat'>, configuredIdentity: ProviderIdentity, limits: {
|
|
7
|
+
maxTokens: number;
|
|
8
|
+
timeoutMs: number;
|
|
9
|
+
}): ProposalGenerator;
|
|
10
|
+
/** Adapt the SDK's optional capability to core's injected decision boundary. */
|
|
11
|
+
export declare function createSDKProposalDecisionClient(client: Pick<AIInterface, 'getCapabilities' | 'decide'>): DecisionClient;
|
|
12
|
+
//# sourceMappingURL=proposal-sdk.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-sdk.d.ts","sourceRoot":"","sources":["../src/proposal-sdk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,KAAK,gBAAgB,EAAoB,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAGjE,8FAA8F;AAC9F,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,EACjC,kBAAkB,EAAE,gBAAgB,EACpC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC/C,iBAAiB,CAqDnB;AAED,gFAAgF;AAChF,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,iBAAiB,GAAG,QAAQ,CAAC,GACtD,cAAc,CAYhB"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import type { IntakeValues } from './execution-dto.js';
|
|
2
|
+
import type { ExtractionResult } from './extraction-types.js';
|
|
3
|
+
import type { GenerationLimits } from './proposal-contracts.js';
|
|
4
|
+
import type { GenerationOutput } from './proposal-dto.js';
|
|
5
|
+
export declare function record(value: unknown): IntakeValues;
|
|
6
|
+
export declare function text(value: unknown, max?: number): string;
|
|
7
|
+
export declare function safeUsage(value: unknown): Record<string, number>;
|
|
8
|
+
export declare function suggestionSchema(limits: GenerationLimits): {
|
|
9
|
+
type: string;
|
|
10
|
+
additionalProperties: boolean;
|
|
11
|
+
required: string[];
|
|
12
|
+
properties: {
|
|
13
|
+
outcome: {
|
|
14
|
+
enum: string[];
|
|
15
|
+
};
|
|
16
|
+
suggestions: {
|
|
17
|
+
type: string;
|
|
18
|
+
maxItems: number;
|
|
19
|
+
items: {
|
|
20
|
+
type: string;
|
|
21
|
+
additionalProperties: boolean;
|
|
22
|
+
required: string[];
|
|
23
|
+
properties: {
|
|
24
|
+
handlerId: {
|
|
25
|
+
type: string;
|
|
26
|
+
minLength: number;
|
|
27
|
+
maxLength: number;
|
|
28
|
+
};
|
|
29
|
+
handlerVersion: {
|
|
30
|
+
type: string;
|
|
31
|
+
minLength: number;
|
|
32
|
+
maxLength: number;
|
|
33
|
+
};
|
|
34
|
+
args: {
|
|
35
|
+
type: string;
|
|
36
|
+
};
|
|
37
|
+
evidence: {
|
|
38
|
+
type: string;
|
|
39
|
+
minItems: number;
|
|
40
|
+
maxItems: number;
|
|
41
|
+
items: {
|
|
42
|
+
type: string;
|
|
43
|
+
additionalProperties: boolean;
|
|
44
|
+
required: string[];
|
|
45
|
+
properties: {
|
|
46
|
+
evidenceId: {
|
|
47
|
+
type: string;
|
|
48
|
+
minLength: number;
|
|
49
|
+
maxLength: number;
|
|
50
|
+
};
|
|
51
|
+
location: {
|
|
52
|
+
oneOf: ({
|
|
53
|
+
type: string;
|
|
54
|
+
additionalProperties: boolean;
|
|
55
|
+
required: string[];
|
|
56
|
+
properties: {
|
|
57
|
+
kind: {
|
|
58
|
+
const: string;
|
|
59
|
+
};
|
|
60
|
+
page?: undefined;
|
|
61
|
+
startPage?: undefined;
|
|
62
|
+
endPage?: undefined;
|
|
63
|
+
startMs?: undefined;
|
|
64
|
+
endMs?: undefined;
|
|
65
|
+
};
|
|
66
|
+
} | {
|
|
67
|
+
type: string;
|
|
68
|
+
additionalProperties: boolean;
|
|
69
|
+
required: string[];
|
|
70
|
+
properties: {
|
|
71
|
+
kind: {
|
|
72
|
+
const: string;
|
|
73
|
+
};
|
|
74
|
+
page: {
|
|
75
|
+
type: string;
|
|
76
|
+
minimum: number;
|
|
77
|
+
};
|
|
78
|
+
startPage?: undefined;
|
|
79
|
+
endPage?: undefined;
|
|
80
|
+
startMs?: undefined;
|
|
81
|
+
endMs?: undefined;
|
|
82
|
+
};
|
|
83
|
+
} | {
|
|
84
|
+
type: string;
|
|
85
|
+
additionalProperties: boolean;
|
|
86
|
+
required: string[];
|
|
87
|
+
properties: {
|
|
88
|
+
kind: {
|
|
89
|
+
const: string;
|
|
90
|
+
};
|
|
91
|
+
startPage: {
|
|
92
|
+
type: string;
|
|
93
|
+
minimum: number;
|
|
94
|
+
};
|
|
95
|
+
endPage: {
|
|
96
|
+
type: string;
|
|
97
|
+
minimum: number;
|
|
98
|
+
};
|
|
99
|
+
page?: undefined;
|
|
100
|
+
startMs?: undefined;
|
|
101
|
+
endMs?: undefined;
|
|
102
|
+
};
|
|
103
|
+
} | {
|
|
104
|
+
type: string;
|
|
105
|
+
additionalProperties: boolean;
|
|
106
|
+
required: string[];
|
|
107
|
+
properties: {
|
|
108
|
+
kind: {
|
|
109
|
+
const: string;
|
|
110
|
+
};
|
|
111
|
+
startMs: {
|
|
112
|
+
type: string;
|
|
113
|
+
minimum: number;
|
|
114
|
+
};
|
|
115
|
+
endMs: {
|
|
116
|
+
type: string;
|
|
117
|
+
minimum: number;
|
|
118
|
+
};
|
|
119
|
+
page?: undefined;
|
|
120
|
+
startPage?: undefined;
|
|
121
|
+
endPage?: undefined;
|
|
122
|
+
};
|
|
123
|
+
})[];
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
};
|
|
128
|
+
alternatives: {
|
|
129
|
+
type: string;
|
|
130
|
+
uniqueItems: boolean;
|
|
131
|
+
maxItems: number;
|
|
132
|
+
items: {
|
|
133
|
+
type: string;
|
|
134
|
+
minLength: number;
|
|
135
|
+
maxLength: number;
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
missingFields: {
|
|
139
|
+
type: string;
|
|
140
|
+
uniqueItems: boolean;
|
|
141
|
+
maxItems: number;
|
|
142
|
+
items: {
|
|
143
|
+
type: string;
|
|
144
|
+
minLength: number;
|
|
145
|
+
maxLength: number;
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
explanation: {
|
|
149
|
+
type: string;
|
|
150
|
+
maxLength: number;
|
|
151
|
+
};
|
|
152
|
+
};
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
splits: {
|
|
156
|
+
type: string;
|
|
157
|
+
maxItems: number;
|
|
158
|
+
items: {
|
|
159
|
+
type: string;
|
|
160
|
+
additionalProperties: boolean;
|
|
161
|
+
required: string[];
|
|
162
|
+
properties: {
|
|
163
|
+
evidenceId: {
|
|
164
|
+
type: string;
|
|
165
|
+
minLength: number;
|
|
166
|
+
maxLength: number;
|
|
167
|
+
};
|
|
168
|
+
groups: {
|
|
169
|
+
type: string;
|
|
170
|
+
minItems: number;
|
|
171
|
+
maxItems: number;
|
|
172
|
+
items: {
|
|
173
|
+
type: string;
|
|
174
|
+
minItems: number;
|
|
175
|
+
maxItems: number;
|
|
176
|
+
items: {
|
|
177
|
+
type: string;
|
|
178
|
+
minimum: number;
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
};
|
|
185
|
+
};
|
|
186
|
+
};
|
|
187
|
+
export declare function validateSuggestions(raw: unknown, offered: GenerationOutput['offered'], extraction: ExtractionResult[], limits: GenerationLimits, revision: number): Pick<GenerationOutput, 'outcome' | 'suggestions' | 'splits'>;
|
|
188
|
+
//# sourceMappingURL=proposal-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposal-validation.d.ts","sourceRoot":"","sources":["../src/proposal-validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,KAAK,EAEV,gBAAgB,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CAInD;AACD,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAM,GAAG,MAAM,CAItD;AACD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAehE;AAwCD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuFxD;AACD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,OAAO,EACZ,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,EACpC,UAAU,EAAE,gBAAgB,EAAE,EAC9B,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,MAAM,GACf,IAAI,CAAC,gBAAgB,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC,CAkG9D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { DatabaseInterface } from '@happyvertical/sql';
|
|
2
|
+
import { generationSnapshotRead, type TransactionRunner } from './execution-internal.js';
|
|
3
|
+
import type { GenerationStageConfiguration, ProposalConfiguration } from './proposal-contracts.js';
|
|
4
|
+
import type { CandidatePage, CompletedAnalysisSnapshot, GeneratedPreview, PreviewGeneratedInput, ProposalCatalogEntry } from './proposal-dto.js';
|
|
5
|
+
import type { AnalysisLease, IngestionOptions, IngestionService } from './server.js';
|
|
6
|
+
export type * from './proposal-contracts.js';
|
|
7
|
+
export type * from './proposal-dto.js';
|
|
8
|
+
export { createSDKProposalDecisionClient, createSDKProposalGenerator, } from './proposal-sdk.js';
|
|
9
|
+
/** Server-only interpretation. This service cannot approve or execute an action. */
|
|
10
|
+
export declare class IngestionProposalService {
|
|
11
|
+
private readonly service;
|
|
12
|
+
private readonly options;
|
|
13
|
+
private readonly config;
|
|
14
|
+
private readonly execution;
|
|
15
|
+
private readonly identity;
|
|
16
|
+
private readonly decisionIdentity;
|
|
17
|
+
constructor(service: IngestionService, options: IngestionOptions, config: ProposalConfiguration);
|
|
18
|
+
private handler;
|
|
19
|
+
private entry;
|
|
20
|
+
private allowedProviders;
|
|
21
|
+
private catalog;
|
|
22
|
+
listHandlers(itemId: string): Promise<ProposalCatalogEntry[]>;
|
|
23
|
+
/** Public retrieval derives catalog/candidates and compatibility on the server. */
|
|
24
|
+
retrieveFeedback(input: import('./feedback-dto.js').RetrieveFeedbackInput): Promise<import('./feedback-dto.js').FeedbackSelection>;
|
|
25
|
+
findCandidates(input: {
|
|
26
|
+
itemId: string;
|
|
27
|
+
handlerId: string;
|
|
28
|
+
handlerVersion: string;
|
|
29
|
+
query: string;
|
|
30
|
+
limit?: number;
|
|
31
|
+
}): Promise<CandidatePage>;
|
|
32
|
+
prepareGeneration(itemId: string, attemptId: string): Promise<GenerationStageConfiguration>;
|
|
33
|
+
private extraction;
|
|
34
|
+
private live;
|
|
35
|
+
private feedbackGate;
|
|
36
|
+
private deadline;
|
|
37
|
+
generate(lease: AnalysisLease): Promise<boolean>;
|
|
38
|
+
private decide;
|
|
39
|
+
[generationSnapshotRead](itemId: string, run: TransactionRunner<CompletedAnalysisSnapshot>, read: (db: DatabaseInterface) => Promise<CompletedAnalysisSnapshot>, afterRead?: (db: DatabaseInterface, snapshot: CompletedAnalysisSnapshot) => Promise<void>, requireReview?: boolean): Promise<CompletedAnalysisSnapshot>;
|
|
40
|
+
/** Internal stage read gate; the foundation owns current snapshot/digest checks. */
|
|
41
|
+
private authorizeCompletedSnapshot;
|
|
42
|
+
preview(input: PreviewGeneratedInput): Promise<GeneratedPreview[]>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=proposals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proposals.d.ts","sourceRoot":"","sources":["../src/proposals.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAW5D,OAAO,EAGL,sBAAsB,EACtB,KAAK,iBAAiB,EACvB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,KAAK,EACV,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EACV,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAGhB,qBAAqB,EAErB,oBAAoB,EACrB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,KAAK,EACV,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB,mBAAmB,yBAAyB,CAAC;AAC7C,mBAAmB,mBAAmB,CAAC;AACvC,OAAO,EACL,+BAA+B,EAC/B,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAiB3B,oFAAoF;AACpF,qBAAa,wBAAwB;IAKjC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAEf,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,qBAAqB;IAuDhD,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,KAAK;IAoDb,OAAO,CAAC,gBAAgB;YAOV,OAAO;IAyDf,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAGnE,mFAAmF;IAC7E,gBAAgB,CACpB,KAAK,EAAE,OAAO,mBAAmB,EAAE,qBAAqB,GACvD,OAAO,CAAC,OAAO,mBAAmB,EAAE,iBAAiB,CAAC;IA+BnD,cAAc,CAAC,KAAK,EAAE;QAC1B,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,aAAa,CAAC;IA4EpB,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,4BAA4B,CAAC;IA2BxC,OAAO,CAAC,UAAU;YAmCJ,IAAI;YAmCJ,YAAY;YA6BZ,QAAQ;IAmBhB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;YAwQxC,MAAM;IAyNpB,CAAC,sBAAsB,CAAC,CACtB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,iBAAiB,CAAC,yBAAyB,CAAC,EACjD,IAAI,EAAE,CAAC,EAAE,EAAE,iBAAiB,KAAK,OAAO,CAAC,yBAAyB,CAAC,EACnE,SAAS,CAAC,EAAE,CACV,EAAE,EAAE,iBAAiB,EACrB,QAAQ,EAAE,yBAAyB,KAChC,OAAO,CAAC,IAAI,CAAC,EAClB,aAAa,UAAQ,GACpB,OAAO,CAAC,yBAAyB,CAAC;IAoCrC,oFAAoF;YACtE,0BAA0B;IA8ClC,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;CA0HzE"}
|