@duckcodeailabs/dql-core 1.10.0 → 1.10.1
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/contracts/analytical.d.ts +179 -0
- package/dist/contracts/analytical.d.ts.map +1 -0
- package/dist/contracts/analytical.js +505 -0
- package/dist/contracts/analytical.js.map +1 -0
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Versioned cross-surface contracts for analytical composition and repair.
|
|
3
|
+
*
|
|
4
|
+
* These types deliberately contain no agent or UI concepts. Ask, Notebook,
|
|
5
|
+
* CLI, MCP, Chat, and execution adapters exchange the same serialized shapes.
|
|
6
|
+
*
|
|
7
|
+
* Acceptance: CONTRACT-002, AGT-017, API-007, SEC-004.
|
|
8
|
+
*/
|
|
9
|
+
export declare const ANALYTICAL_QUESTION_FRAME_VERSION: 2;
|
|
10
|
+
export declare const ANALYTICAL_FAILURE_VERSION: 1;
|
|
11
|
+
export type AnalyticalDimensionRole = 'group_by' | 'filter' | 'display' | 'rank_entity' | 'time_axis';
|
|
12
|
+
export type AnalyticalQuestionType = 'definition' | 'scalar' | 'ranking' | 'trend' | 'comparison' | 'diagnosis' | 'research';
|
|
13
|
+
export type AnalyticalPeriodKind = 'absolute' | 'current' | 'previous_period' | 'previous_year';
|
|
14
|
+
export interface AnalyticalDimensionBindingV2 {
|
|
15
|
+
dimensionId: string;
|
|
16
|
+
role: AnalyticalDimensionRole;
|
|
17
|
+
requestedLabel?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface AnalyticalMemberBindingV2 {
|
|
20
|
+
dimensionId: string;
|
|
21
|
+
canonicalValues: unknown[];
|
|
22
|
+
source: 'question' | 'clarification' | 'prior_result' | 'parameter';
|
|
23
|
+
confidence: 'exact' | 'high' | 'medium';
|
|
24
|
+
sourceTurnId?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface AnalyticalPeriodV2 {
|
|
27
|
+
id: string;
|
|
28
|
+
kind: AnalyticalPeriodKind;
|
|
29
|
+
start?: string;
|
|
30
|
+
end?: string;
|
|
31
|
+
alignToPeriodId?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface AnalyticalTimeContextV2 {
|
|
34
|
+
timeDimensionId?: string;
|
|
35
|
+
timeRole?: string;
|
|
36
|
+
calendarId?: string;
|
|
37
|
+
timezone?: string;
|
|
38
|
+
grain?: string;
|
|
39
|
+
completenessPolicy?: 'partial_current' | 'latest_complete' | 'closed_period';
|
|
40
|
+
periods: AnalyticalPeriodV2[];
|
|
41
|
+
}
|
|
42
|
+
export interface AnalyticalComparisonV2 {
|
|
43
|
+
basePeriodId: string;
|
|
44
|
+
comparisonPeriodIds: string[];
|
|
45
|
+
alignment?: 'elapsed_period' | 'calendar_period' | 'fiscal_period';
|
|
46
|
+
outputs: Array<'value' | 'absolute_delta' | 'percent_delta'>;
|
|
47
|
+
zeroDenominatorPolicy: 'null' | 'not_applicable';
|
|
48
|
+
}
|
|
49
|
+
export interface AnalyticalRankingV2 {
|
|
50
|
+
entityDimensionId: string;
|
|
51
|
+
byMetricId: string;
|
|
52
|
+
byPeriodId?: string;
|
|
53
|
+
direction: 'asc' | 'desc';
|
|
54
|
+
limit: number;
|
|
55
|
+
tiePolicy: 'stable_secondary_key' | 'include_ties';
|
|
56
|
+
}
|
|
57
|
+
export interface AnalyticalRequestedOutputV2 {
|
|
58
|
+
id: string;
|
|
59
|
+
kind: 'dimension' | 'metric_value' | 'delta' | 'percent_delta' | 'rank';
|
|
60
|
+
metricId?: string;
|
|
61
|
+
periodId?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface AnalyticalAmbiguityV2 {
|
|
64
|
+
field: string;
|
|
65
|
+
candidateIds: string[];
|
|
66
|
+
reasonCode: string;
|
|
67
|
+
}
|
|
68
|
+
export interface AnalyticalQuestionFrameV2 {
|
|
69
|
+
version: 2;
|
|
70
|
+
interpretedQuestion: string;
|
|
71
|
+
questionType: AnalyticalQuestionType;
|
|
72
|
+
metricConceptIds: string[];
|
|
73
|
+
entityGrainIds: string[];
|
|
74
|
+
dimensions: AnalyticalDimensionBindingV2[];
|
|
75
|
+
memberBindings: AnalyticalMemberBindingV2[];
|
|
76
|
+
timeContext?: AnalyticalTimeContextV2;
|
|
77
|
+
comparison?: AnalyticalComparisonV2;
|
|
78
|
+
ranking?: AnalyticalRankingV2;
|
|
79
|
+
requestedOutputs: AnalyticalRequestedOutputV2[];
|
|
80
|
+
ambiguity: AnalyticalAmbiguityV2[];
|
|
81
|
+
}
|
|
82
|
+
export type AnalyticalOperation = 'filter' | 'group' | 'trend' | 'compare' | 'rank' | 'window' | 'having';
|
|
83
|
+
export interface MetricCapabilityContract {
|
|
84
|
+
metricId: string;
|
|
85
|
+
semanticModelId?: string;
|
|
86
|
+
measureIds: string[];
|
|
87
|
+
primaryEntityId: string;
|
|
88
|
+
/** Result grain used when the question requests no grouping dimension. */
|
|
89
|
+
defaultResultGrainId: string;
|
|
90
|
+
resultGrainIds: string[];
|
|
91
|
+
aggregation: string;
|
|
92
|
+
additivity: {
|
|
93
|
+
entities: 'additive' | 'semi_additive' | 'non_additive';
|
|
94
|
+
time: 'additive' | 'semi_additive' | 'non_additive';
|
|
95
|
+
nonAdditiveDimensionIds?: string[];
|
|
96
|
+
};
|
|
97
|
+
dimensions: Array<{
|
|
98
|
+
dimensionId: string;
|
|
99
|
+
/** Entity grain produced/filtered by this dimension. */
|
|
100
|
+
entityId: string;
|
|
101
|
+
supportedRoles: AnalyticalDimensionRole[];
|
|
102
|
+
relationshipPathIds?: string[];
|
|
103
|
+
}>;
|
|
104
|
+
timeDimensions: Array<{
|
|
105
|
+
dimensionId: string;
|
|
106
|
+
role: string;
|
|
107
|
+
supportedGrains: string[];
|
|
108
|
+
defaultFor?: Array<'scalar' | 'trend' | 'comparison'>;
|
|
109
|
+
}>;
|
|
110
|
+
freshness?: {
|
|
111
|
+
observedThroughFieldId?: string;
|
|
112
|
+
defaultCompletenessPolicy?: 'partial_current' | 'latest_complete' | 'closed_period';
|
|
113
|
+
};
|
|
114
|
+
operations: AnalyticalOperation[];
|
|
115
|
+
supportedOutputKinds: AnalyticalRequestedOutputV2['kind'][];
|
|
116
|
+
/** Certified assets may further restrict the exact output aliases. */
|
|
117
|
+
declaredOutputIds?: string[];
|
|
118
|
+
executionCapabilities: Array<{
|
|
119
|
+
route: 'certified' | 'semantic' | 'governed_sql' | 'exploratory';
|
|
120
|
+
adapterId?: string;
|
|
121
|
+
}>;
|
|
122
|
+
sourceFingerprint: string;
|
|
123
|
+
}
|
|
124
|
+
export interface AnalyticalPolicyContract {
|
|
125
|
+
policyId: string;
|
|
126
|
+
sourceHash: string;
|
|
127
|
+
metricIds?: string[];
|
|
128
|
+
timeRole?: string;
|
|
129
|
+
calendarId?: string;
|
|
130
|
+
timezone?: string;
|
|
131
|
+
completenessPolicy?: 'partial_current' | 'latest_complete' | 'closed_period';
|
|
132
|
+
comparisonAlignment?: 'elapsed_period' | 'calendar_period' | 'fiscal_period';
|
|
133
|
+
defaultRankingPeriod?: 'current' | 'comparison';
|
|
134
|
+
narrativeGuidance?: string[];
|
|
135
|
+
}
|
|
136
|
+
export type AnalyticalFailureCode = 'COLUMN_NOT_FOUND' | 'RELATION_NOT_FOUND' | 'PERMISSION_DENIED' | 'AMBIGUOUS_COLUMN' | 'DIALECT_ERROR' | 'SNAPSHOT_DRIFT' | 'TIMEOUT' | 'RESULT_CONTRACT_MISMATCH' | 'COMPILATION_FAILED' | 'POLICY_DENIED';
|
|
137
|
+
export type AnalyticalFailurePhase = 'planning' | 'compilation' | 'validation' | 'execution' | 'result_validation';
|
|
138
|
+
export type AnalyticalFailureRecoverability = 'retry_same' | 'refresh_snapshot' | 'edit_dql' | 'edit_sql' | 'change_authorized_connection' | 'request_access' | 'modeling_change' | 'none';
|
|
139
|
+
export interface AnalyticalFailureV1 {
|
|
140
|
+
version: 1;
|
|
141
|
+
runId: string;
|
|
142
|
+
failureId: string;
|
|
143
|
+
code: AnalyticalFailureCode;
|
|
144
|
+
phase: AnalyticalFailurePhase;
|
|
145
|
+
message: string;
|
|
146
|
+
recoverability: AnalyticalFailureRecoverability;
|
|
147
|
+
failedBindings: Array<{
|
|
148
|
+
qualifiedId?: string;
|
|
149
|
+
role?: string;
|
|
150
|
+
reasonCode: string;
|
|
151
|
+
}>;
|
|
152
|
+
snapshotId: string;
|
|
153
|
+
planFingerprint?: string;
|
|
154
|
+
dqlFingerprint?: string;
|
|
155
|
+
sqlFingerprint?: string;
|
|
156
|
+
safeActions: string[];
|
|
157
|
+
}
|
|
158
|
+
export type AnalyticalTrustState = 'certified' | 'governed' | 'review_required';
|
|
159
|
+
export type AnalyticalRepairChange = 'parameter_only' | 'display_only' | 'dql_source' | 'sql_text' | 'snapshot_refresh' | 'connection_change' | 'reviewed_draft_promotion';
|
|
160
|
+
export interface AnalyticalRepairTrustTransition {
|
|
161
|
+
previous: AnalyticalTrustState;
|
|
162
|
+
next: AnalyticalTrustState;
|
|
163
|
+
requiresNewReceipt: boolean;
|
|
164
|
+
requiresReview: boolean;
|
|
165
|
+
preservesCertifiedAssetIdentity: boolean;
|
|
166
|
+
}
|
|
167
|
+
/** Strictly normalize an untrusted cross-surface analytical frame. */
|
|
168
|
+
export declare function normalizeAnalyticalQuestionFrameV2(value: unknown): AnalyticalQuestionFrameV2 | undefined;
|
|
169
|
+
/** Strictly normalize capability metadata before it becomes routing evidence. */
|
|
170
|
+
export declare function normalizeMetricCapabilityContract(value: unknown): MetricCapabilityContract | undefined;
|
|
171
|
+
/** Strictly normalize a failure returned by any DQL analytical surface. */
|
|
172
|
+
export declare function normalizeAnalyticalFailureV1(value: unknown): AnalyticalFailureV1 | undefined;
|
|
173
|
+
/** Apply the RFC 0005 trust matrix before a derived repair is exposed. */
|
|
174
|
+
export declare function analyticalRepairTrustTransition(input: {
|
|
175
|
+
previous: AnalyticalTrustState;
|
|
176
|
+
change: AnalyticalRepairChange;
|
|
177
|
+
governedValidationPassed?: boolean;
|
|
178
|
+
}): AnalyticalRepairTrustTransition;
|
|
179
|
+
//# sourceMappingURL=analytical.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytical.d.ts","sourceRoot":"","sources":["../../src/contracts/analytical.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Versioned cross-surface contracts for analytical composition and repair.
|
|
3
|
+
*
|
|
4
|
+
* These types deliberately contain no agent or UI concepts. Ask, Notebook,
|
|
5
|
+
* CLI, MCP, Chat, and execution adapters exchange the same serialized shapes.
|
|
6
|
+
*
|
|
7
|
+
* Acceptance: CONTRACT-002, AGT-017, API-007, SEC-004.
|
|
8
|
+
*/
|
|
9
|
+
export const ANALYTICAL_QUESTION_FRAME_VERSION = 2;
|
|
10
|
+
export const ANALYTICAL_FAILURE_VERSION = 1;
|
|
11
|
+
const DIMENSION_ROLES = new Set(['group_by', 'filter', 'display', 'rank_entity', 'time_axis']);
|
|
12
|
+
const QUESTION_TYPES = new Set(['definition', 'scalar', 'ranking', 'trend', 'comparison', 'diagnosis', 'research']);
|
|
13
|
+
const PERIOD_KINDS = new Set(['absolute', 'current', 'previous_period', 'previous_year']);
|
|
14
|
+
const COMPLETENESS_POLICIES = new Set(['partial_current', 'latest_complete', 'closed_period']);
|
|
15
|
+
const FAILURE_CODES = new Set([
|
|
16
|
+
'COLUMN_NOT_FOUND',
|
|
17
|
+
'RELATION_NOT_FOUND',
|
|
18
|
+
'PERMISSION_DENIED',
|
|
19
|
+
'AMBIGUOUS_COLUMN',
|
|
20
|
+
'DIALECT_ERROR',
|
|
21
|
+
'SNAPSHOT_DRIFT',
|
|
22
|
+
'TIMEOUT',
|
|
23
|
+
'RESULT_CONTRACT_MISMATCH',
|
|
24
|
+
'COMPILATION_FAILED',
|
|
25
|
+
'POLICY_DENIED',
|
|
26
|
+
]);
|
|
27
|
+
const FAILURE_PHASES = new Set(['planning', 'compilation', 'validation', 'execution', 'result_validation']);
|
|
28
|
+
const RECOVERABILITY = new Set([
|
|
29
|
+
'retry_same',
|
|
30
|
+
'refresh_snapshot',
|
|
31
|
+
'edit_dql',
|
|
32
|
+
'edit_sql',
|
|
33
|
+
'change_authorized_connection',
|
|
34
|
+
'request_access',
|
|
35
|
+
'modeling_change',
|
|
36
|
+
'none',
|
|
37
|
+
]);
|
|
38
|
+
/** Strictly normalize an untrusted cross-surface analytical frame. */
|
|
39
|
+
export function normalizeAnalyticalQuestionFrameV2(value) {
|
|
40
|
+
const record = objectRecord(value);
|
|
41
|
+
if (!record || record.version !== ANALYTICAL_QUESTION_FRAME_VERSION)
|
|
42
|
+
return undefined;
|
|
43
|
+
const interpretedQuestion = cleanString(record.interpretedQuestion);
|
|
44
|
+
const questionType = enumValue(record.questionType, QUESTION_TYPES);
|
|
45
|
+
const metricConceptIds = cleanStringArray(record.metricConceptIds);
|
|
46
|
+
const entityGrainIds = cleanStringArray(record.entityGrainIds);
|
|
47
|
+
const dimensions = normalizeDimensions(record.dimensions);
|
|
48
|
+
const memberBindings = normalizeMemberBindings(record.memberBindings);
|
|
49
|
+
const requestedOutputs = normalizeRequestedOutputs(record.requestedOutputs);
|
|
50
|
+
const ambiguity = normalizeAmbiguity(record.ambiguity);
|
|
51
|
+
if (!interpretedQuestion || !questionType || !metricConceptIds || !entityGrainIds || !dimensions || !memberBindings || !requestedOutputs || !ambiguity)
|
|
52
|
+
return undefined;
|
|
53
|
+
const timeContext = record.timeContext === undefined ? undefined : normalizeTimeContext(record.timeContext);
|
|
54
|
+
const comparison = record.comparison === undefined ? undefined : normalizeComparison(record.comparison);
|
|
55
|
+
const ranking = record.ranking === undefined ? undefined : normalizeRanking(record.ranking);
|
|
56
|
+
if (record.timeContext !== undefined && !timeContext)
|
|
57
|
+
return undefined;
|
|
58
|
+
if (record.comparison !== undefined && !comparison)
|
|
59
|
+
return undefined;
|
|
60
|
+
if (record.ranking !== undefined && !ranking)
|
|
61
|
+
return undefined;
|
|
62
|
+
return {
|
|
63
|
+
version: ANALYTICAL_QUESTION_FRAME_VERSION,
|
|
64
|
+
interpretedQuestion,
|
|
65
|
+
questionType,
|
|
66
|
+
metricConceptIds,
|
|
67
|
+
entityGrainIds,
|
|
68
|
+
dimensions,
|
|
69
|
+
memberBindings,
|
|
70
|
+
...(timeContext ? { timeContext } : {}),
|
|
71
|
+
...(comparison ? { comparison } : {}),
|
|
72
|
+
...(ranking ? { ranking } : {}),
|
|
73
|
+
requestedOutputs,
|
|
74
|
+
ambiguity,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/** Strictly normalize capability metadata before it becomes routing evidence. */
|
|
78
|
+
export function normalizeMetricCapabilityContract(value) {
|
|
79
|
+
const record = objectRecord(value);
|
|
80
|
+
const metricId = cleanString(record?.metricId);
|
|
81
|
+
const measureIds = cleanStringArray(record?.measureIds);
|
|
82
|
+
const primaryEntityId = cleanString(record?.primaryEntityId);
|
|
83
|
+
const defaultResultGrainId = cleanString(record?.defaultResultGrainId);
|
|
84
|
+
const resultGrainIds = cleanStringArray(record?.resultGrainIds);
|
|
85
|
+
const aggregation = cleanString(record?.aggregation);
|
|
86
|
+
const sourceFingerprint = cleanString(record?.sourceFingerprint);
|
|
87
|
+
const additivity = normalizeAdditivity(record?.additivity);
|
|
88
|
+
const dimensions = normalizeCapabilityDimensions(record?.dimensions);
|
|
89
|
+
const timeDimensions = normalizeCapabilityTimeDimensions(record?.timeDimensions);
|
|
90
|
+
const operations = normalizeOperations(record?.operations);
|
|
91
|
+
const supportedOutputKinds = normalizeOutputKinds(record?.supportedOutputKinds);
|
|
92
|
+
const executionCapabilities = normalizeExecutionCapabilities(record?.executionCapabilities);
|
|
93
|
+
if (!record ||
|
|
94
|
+
!metricId ||
|
|
95
|
+
!measureIds ||
|
|
96
|
+
!primaryEntityId ||
|
|
97
|
+
!defaultResultGrainId ||
|
|
98
|
+
!resultGrainIds ||
|
|
99
|
+
!aggregation ||
|
|
100
|
+
!sourceFingerprint ||
|
|
101
|
+
!additivity ||
|
|
102
|
+
!dimensions ||
|
|
103
|
+
!timeDimensions ||
|
|
104
|
+
!operations ||
|
|
105
|
+
!supportedOutputKinds ||
|
|
106
|
+
!executionCapabilities)
|
|
107
|
+
return undefined;
|
|
108
|
+
const freshness = record.freshness === undefined ? undefined : normalizeFreshness(record.freshness);
|
|
109
|
+
const declaredOutputIds = record.declaredOutputIds === undefined ? undefined : cleanStringArray(record.declaredOutputIds);
|
|
110
|
+
if (record.freshness !== undefined && !freshness)
|
|
111
|
+
return undefined;
|
|
112
|
+
if (record.declaredOutputIds !== undefined && !declaredOutputIds)
|
|
113
|
+
return undefined;
|
|
114
|
+
return {
|
|
115
|
+
metricId,
|
|
116
|
+
...(cleanString(record.semanticModelId) ? { semanticModelId: cleanString(record.semanticModelId) } : {}),
|
|
117
|
+
measureIds,
|
|
118
|
+
primaryEntityId,
|
|
119
|
+
defaultResultGrainId,
|
|
120
|
+
resultGrainIds,
|
|
121
|
+
aggregation,
|
|
122
|
+
additivity,
|
|
123
|
+
dimensions,
|
|
124
|
+
timeDimensions,
|
|
125
|
+
...(freshness ? { freshness } : {}),
|
|
126
|
+
operations,
|
|
127
|
+
supportedOutputKinds,
|
|
128
|
+
...(declaredOutputIds ? { declaredOutputIds } : {}),
|
|
129
|
+
executionCapabilities,
|
|
130
|
+
sourceFingerprint,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
/** Strictly normalize a failure returned by any DQL analytical surface. */
|
|
134
|
+
export function normalizeAnalyticalFailureV1(value) {
|
|
135
|
+
const record = objectRecord(value);
|
|
136
|
+
if (!record || record.version !== ANALYTICAL_FAILURE_VERSION)
|
|
137
|
+
return undefined;
|
|
138
|
+
const runId = cleanString(record.runId);
|
|
139
|
+
const failureId = cleanString(record.failureId);
|
|
140
|
+
const code = enumValue(record.code, FAILURE_CODES);
|
|
141
|
+
const phase = enumValue(record.phase, FAILURE_PHASES);
|
|
142
|
+
const message = cleanString(record.message);
|
|
143
|
+
const recoverability = enumValue(record.recoverability, RECOVERABILITY);
|
|
144
|
+
const snapshotId = cleanString(record.snapshotId);
|
|
145
|
+
const safeActions = cleanStringArray(record.safeActions);
|
|
146
|
+
if (!runId || !failureId || !code || !phase || !message || !recoverability || !snapshotId || !safeActions) {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
149
|
+
if (!Array.isArray(record.failedBindings))
|
|
150
|
+
return undefined;
|
|
151
|
+
const failedBindings = record.failedBindings.flatMap((item) => {
|
|
152
|
+
const binding = objectRecord(item);
|
|
153
|
+
const reasonCode = cleanString(binding?.reasonCode);
|
|
154
|
+
if (!binding || !reasonCode)
|
|
155
|
+
return [];
|
|
156
|
+
return [
|
|
157
|
+
{
|
|
158
|
+
...(cleanString(binding.qualifiedId) ? { qualifiedId: cleanString(binding.qualifiedId) } : {}),
|
|
159
|
+
...(cleanString(binding.role) ? { role: cleanString(binding.role) } : {}),
|
|
160
|
+
reasonCode,
|
|
161
|
+
},
|
|
162
|
+
];
|
|
163
|
+
});
|
|
164
|
+
if (failedBindings.length !== record.failedBindings.length)
|
|
165
|
+
return undefined;
|
|
166
|
+
return {
|
|
167
|
+
version: ANALYTICAL_FAILURE_VERSION,
|
|
168
|
+
runId,
|
|
169
|
+
failureId,
|
|
170
|
+
code,
|
|
171
|
+
phase,
|
|
172
|
+
message,
|
|
173
|
+
recoverability,
|
|
174
|
+
failedBindings,
|
|
175
|
+
snapshotId,
|
|
176
|
+
...(cleanString(record.planFingerprint) ? { planFingerprint: cleanString(record.planFingerprint) } : {}),
|
|
177
|
+
...(cleanString(record.dqlFingerprint) ? { dqlFingerprint: cleanString(record.dqlFingerprint) } : {}),
|
|
178
|
+
...(cleanString(record.sqlFingerprint) ? { sqlFingerprint: cleanString(record.sqlFingerprint) } : {}),
|
|
179
|
+
safeActions,
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
/** Apply the RFC 0005 trust matrix before a derived repair is exposed. */
|
|
183
|
+
export function analyticalRepairTrustTransition(input) {
|
|
184
|
+
if (input.change === 'parameter_only' || input.change === 'display_only' || input.change === 'snapshot_refresh' || input.change === 'connection_change') {
|
|
185
|
+
return {
|
|
186
|
+
previous: input.previous,
|
|
187
|
+
next: input.previous,
|
|
188
|
+
requiresNewReceipt: input.change !== 'display_only',
|
|
189
|
+
requiresReview: false,
|
|
190
|
+
preservesCertifiedAssetIdentity: input.previous === 'certified',
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
if (input.change === 'dql_source') {
|
|
194
|
+
return {
|
|
195
|
+
previous: input.previous,
|
|
196
|
+
next: input.governedValidationPassed ? 'governed' : 'review_required',
|
|
197
|
+
requiresNewReceipt: true,
|
|
198
|
+
requiresReview: true,
|
|
199
|
+
preservesCertifiedAssetIdentity: false,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
if (input.change === 'reviewed_draft_promotion') {
|
|
203
|
+
return {
|
|
204
|
+
previous: input.previous,
|
|
205
|
+
next: input.governedValidationPassed ? 'governed' : 'review_required',
|
|
206
|
+
requiresNewReceipt: true,
|
|
207
|
+
requiresReview: true,
|
|
208
|
+
preservesCertifiedAssetIdentity: false,
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
return {
|
|
212
|
+
previous: input.previous,
|
|
213
|
+
next: 'review_required',
|
|
214
|
+
requiresNewReceipt: true,
|
|
215
|
+
requiresReview: true,
|
|
216
|
+
preservesCertifiedAssetIdentity: false,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
function normalizeDimensions(value) {
|
|
220
|
+
if (!Array.isArray(value))
|
|
221
|
+
return undefined;
|
|
222
|
+
const result = value.flatMap((item) => {
|
|
223
|
+
const record = objectRecord(item);
|
|
224
|
+
const dimensionId = cleanString(record?.dimensionId);
|
|
225
|
+
const role = enumValue(record?.role, DIMENSION_ROLES);
|
|
226
|
+
if (!record || !dimensionId || !role)
|
|
227
|
+
return [];
|
|
228
|
+
return [
|
|
229
|
+
{
|
|
230
|
+
dimensionId,
|
|
231
|
+
role,
|
|
232
|
+
...(cleanString(record.requestedLabel) ? { requestedLabel: cleanString(record.requestedLabel) } : {}),
|
|
233
|
+
},
|
|
234
|
+
];
|
|
235
|
+
});
|
|
236
|
+
return result.length === value.length ? result : undefined;
|
|
237
|
+
}
|
|
238
|
+
function normalizeMemberBindings(value) {
|
|
239
|
+
if (!Array.isArray(value))
|
|
240
|
+
return undefined;
|
|
241
|
+
const result = value.flatMap((item) => {
|
|
242
|
+
const record = objectRecord(item);
|
|
243
|
+
const dimensionId = cleanString(record?.dimensionId);
|
|
244
|
+
const source = enumValue(record?.source, new Set(['question', 'clarification', 'prior_result', 'parameter']));
|
|
245
|
+
const confidence = enumValue(record?.confidence, new Set(['exact', 'high', 'medium']));
|
|
246
|
+
if (!record || !dimensionId || !source || !confidence || !Array.isArray(record.canonicalValues))
|
|
247
|
+
return [];
|
|
248
|
+
return [
|
|
249
|
+
{
|
|
250
|
+
dimensionId,
|
|
251
|
+
canonicalValues: [...record.canonicalValues],
|
|
252
|
+
source,
|
|
253
|
+
confidence,
|
|
254
|
+
...(cleanString(record.sourceTurnId) ? { sourceTurnId: cleanString(record.sourceTurnId) } : {}),
|
|
255
|
+
},
|
|
256
|
+
];
|
|
257
|
+
});
|
|
258
|
+
return result.length === value.length ? result : undefined;
|
|
259
|
+
}
|
|
260
|
+
function normalizeTimeContext(value) {
|
|
261
|
+
const record = objectRecord(value);
|
|
262
|
+
if (!record || !Array.isArray(record.periods))
|
|
263
|
+
return undefined;
|
|
264
|
+
const periods = record.periods.flatMap((item) => {
|
|
265
|
+
const period = objectRecord(item);
|
|
266
|
+
const id = cleanString(period?.id);
|
|
267
|
+
const kind = enumValue(period?.kind, PERIOD_KINDS);
|
|
268
|
+
if (!period || !id || !kind)
|
|
269
|
+
return [];
|
|
270
|
+
return [
|
|
271
|
+
{
|
|
272
|
+
id,
|
|
273
|
+
kind,
|
|
274
|
+
...(cleanString(period.start) ? { start: cleanString(period.start) } : {}),
|
|
275
|
+
...(cleanString(period.end) ? { end: cleanString(period.end) } : {}),
|
|
276
|
+
...(cleanString(period.alignToPeriodId) ? { alignToPeriodId: cleanString(period.alignToPeriodId) } : {}),
|
|
277
|
+
},
|
|
278
|
+
];
|
|
279
|
+
});
|
|
280
|
+
if (periods.length !== record.periods.length)
|
|
281
|
+
return undefined;
|
|
282
|
+
const completenessPolicy = record.completenessPolicy === undefined ? undefined : enumValue(record.completenessPolicy, COMPLETENESS_POLICIES);
|
|
283
|
+
if (record.completenessPolicy !== undefined && !completenessPolicy)
|
|
284
|
+
return undefined;
|
|
285
|
+
return {
|
|
286
|
+
...(cleanString(record.timeDimensionId) ? { timeDimensionId: cleanString(record.timeDimensionId) } : {}),
|
|
287
|
+
...(cleanString(record.timeRole) ? { timeRole: cleanString(record.timeRole) } : {}),
|
|
288
|
+
...(cleanString(record.calendarId) ? { calendarId: cleanString(record.calendarId) } : {}),
|
|
289
|
+
...(cleanString(record.timezone) ? { timezone: cleanString(record.timezone) } : {}),
|
|
290
|
+
...(cleanString(record.grain) ? { grain: cleanString(record.grain) } : {}),
|
|
291
|
+
...(completenessPolicy ? { completenessPolicy } : {}),
|
|
292
|
+
periods,
|
|
293
|
+
};
|
|
294
|
+
}
|
|
295
|
+
function normalizeComparison(value) {
|
|
296
|
+
const record = objectRecord(value);
|
|
297
|
+
const basePeriodId = cleanString(record?.basePeriodId);
|
|
298
|
+
const comparisonPeriodIds = cleanStringArray(record?.comparisonPeriodIds);
|
|
299
|
+
if (!record || !basePeriodId || !comparisonPeriodIds || !Array.isArray(record.outputs))
|
|
300
|
+
return undefined;
|
|
301
|
+
const outputs = record.outputs.filter((item) => item === 'value' || item === 'absolute_delta' || item === 'percent_delta');
|
|
302
|
+
const zeroDenominatorPolicy = record.zeroDenominatorPolicy === 'null' || record.zeroDenominatorPolicy === 'not_applicable' ? record.zeroDenominatorPolicy : undefined;
|
|
303
|
+
const alignment = record.alignment === 'elapsed_period' || record.alignment === 'calendar_period' || record.alignment === 'fiscal_period' ? record.alignment : undefined;
|
|
304
|
+
if (record.alignment !== undefined && !alignment)
|
|
305
|
+
return undefined;
|
|
306
|
+
if (outputs.length !== record.outputs.length || !zeroDenominatorPolicy)
|
|
307
|
+
return undefined;
|
|
308
|
+
return {
|
|
309
|
+
basePeriodId,
|
|
310
|
+
comparisonPeriodIds,
|
|
311
|
+
...(alignment ? { alignment } : {}),
|
|
312
|
+
outputs,
|
|
313
|
+
zeroDenominatorPolicy,
|
|
314
|
+
};
|
|
315
|
+
}
|
|
316
|
+
function normalizeRanking(value) {
|
|
317
|
+
const record = objectRecord(value);
|
|
318
|
+
const entityDimensionId = cleanString(record?.entityDimensionId);
|
|
319
|
+
const byMetricId = cleanString(record?.byMetricId);
|
|
320
|
+
const direction = record?.direction === 'asc' || record?.direction === 'desc' ? record.direction : undefined;
|
|
321
|
+
const tiePolicy = record?.tiePolicy === 'stable_secondary_key' || record?.tiePolicy === 'include_ties' ? record.tiePolicy : undefined;
|
|
322
|
+
const limit = positiveInteger(record?.limit);
|
|
323
|
+
if (!record || !entityDimensionId || !byMetricId || !direction || !tiePolicy || !limit)
|
|
324
|
+
return undefined;
|
|
325
|
+
return {
|
|
326
|
+
entityDimensionId,
|
|
327
|
+
byMetricId,
|
|
328
|
+
...(cleanString(record.byPeriodId) ? { byPeriodId: cleanString(record.byPeriodId) } : {}),
|
|
329
|
+
direction,
|
|
330
|
+
limit,
|
|
331
|
+
tiePolicy,
|
|
332
|
+
};
|
|
333
|
+
}
|
|
334
|
+
function normalizeRequestedOutputs(value) {
|
|
335
|
+
if (!Array.isArray(value))
|
|
336
|
+
return undefined;
|
|
337
|
+
const result = value.flatMap((item) => {
|
|
338
|
+
const record = objectRecord(item);
|
|
339
|
+
const id = cleanString(record?.id);
|
|
340
|
+
const kind = record?.kind === 'dimension' || record?.kind === 'metric_value' || record?.kind === 'delta' || record?.kind === 'percent_delta' || record?.kind === 'rank'
|
|
341
|
+
? record.kind
|
|
342
|
+
: undefined;
|
|
343
|
+
if (!record || !id || !kind)
|
|
344
|
+
return [];
|
|
345
|
+
return [
|
|
346
|
+
{
|
|
347
|
+
id,
|
|
348
|
+
kind,
|
|
349
|
+
...(cleanString(record.metricId) ? { metricId: cleanString(record.metricId) } : {}),
|
|
350
|
+
...(cleanString(record.periodId) ? { periodId: cleanString(record.periodId) } : {}),
|
|
351
|
+
},
|
|
352
|
+
];
|
|
353
|
+
});
|
|
354
|
+
return result.length === value.length ? result : undefined;
|
|
355
|
+
}
|
|
356
|
+
function normalizeAmbiguity(value) {
|
|
357
|
+
if (!Array.isArray(value))
|
|
358
|
+
return undefined;
|
|
359
|
+
const result = value.flatMap((item) => {
|
|
360
|
+
const record = objectRecord(item);
|
|
361
|
+
const field = cleanString(record?.field);
|
|
362
|
+
const candidateIds = cleanStringArray(record?.candidateIds);
|
|
363
|
+
const reasonCode = cleanString(record?.reasonCode);
|
|
364
|
+
return record && field && candidateIds && reasonCode ? [{ field, candidateIds, reasonCode }] : [];
|
|
365
|
+
});
|
|
366
|
+
return result.length === value.length ? result : undefined;
|
|
367
|
+
}
|
|
368
|
+
function normalizeAdditivity(value) {
|
|
369
|
+
const record = objectRecord(value);
|
|
370
|
+
const entities = record?.entities === 'additive' || record?.entities === 'semi_additive' || record?.entities === 'non_additive' ? record.entities : undefined;
|
|
371
|
+
const time = record?.time === 'additive' || record?.time === 'semi_additive' || record?.time === 'non_additive' ? record.time : undefined;
|
|
372
|
+
const nonAdditiveDimensionIds = record?.nonAdditiveDimensionIds === undefined ? undefined : cleanStringArray(record.nonAdditiveDimensionIds);
|
|
373
|
+
if (!record || !entities || !time || (record.nonAdditiveDimensionIds !== undefined && !nonAdditiveDimensionIds))
|
|
374
|
+
return undefined;
|
|
375
|
+
return {
|
|
376
|
+
entities,
|
|
377
|
+
time,
|
|
378
|
+
...(nonAdditiveDimensionIds ? { nonAdditiveDimensionIds } : {}),
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
function normalizeCapabilityDimensions(value) {
|
|
382
|
+
if (!Array.isArray(value))
|
|
383
|
+
return undefined;
|
|
384
|
+
const result = value.flatMap((item) => {
|
|
385
|
+
const record = objectRecord(item);
|
|
386
|
+
const dimensionId = cleanString(record?.dimensionId);
|
|
387
|
+
const entityId = cleanString(record?.entityId);
|
|
388
|
+
if (!record || !dimensionId || !entityId || !Array.isArray(record.supportedRoles))
|
|
389
|
+
return [];
|
|
390
|
+
const supportedRoles = record.supportedRoles.flatMap((role) => {
|
|
391
|
+
const normalized = enumValue(role, DIMENSION_ROLES);
|
|
392
|
+
return normalized ? [normalized] : [];
|
|
393
|
+
});
|
|
394
|
+
const relationshipPathIds = record.relationshipPathIds === undefined ? undefined : cleanStringArray(record.relationshipPathIds);
|
|
395
|
+
if (supportedRoles.length !== record.supportedRoles.length || (record.relationshipPathIds !== undefined && !relationshipPathIds))
|
|
396
|
+
return [];
|
|
397
|
+
return [
|
|
398
|
+
{
|
|
399
|
+
dimensionId,
|
|
400
|
+
entityId,
|
|
401
|
+
supportedRoles,
|
|
402
|
+
...(relationshipPathIds ? { relationshipPathIds } : {}),
|
|
403
|
+
},
|
|
404
|
+
];
|
|
405
|
+
});
|
|
406
|
+
return result.length === value.length ? result : undefined;
|
|
407
|
+
}
|
|
408
|
+
function normalizeCapabilityTimeDimensions(value) {
|
|
409
|
+
if (!Array.isArray(value))
|
|
410
|
+
return undefined;
|
|
411
|
+
const result = value.flatMap((item) => {
|
|
412
|
+
const record = objectRecord(item);
|
|
413
|
+
const dimensionId = cleanString(record?.dimensionId);
|
|
414
|
+
const role = cleanString(record?.role);
|
|
415
|
+
const supportedGrains = cleanStringArray(record?.supportedGrains);
|
|
416
|
+
if (!record || !dimensionId || !role || !supportedGrains)
|
|
417
|
+
return [];
|
|
418
|
+
const rawDefaultFor = record.defaultFor;
|
|
419
|
+
const defaultFor = rawDefaultFor === undefined
|
|
420
|
+
? undefined
|
|
421
|
+
: Array.isArray(rawDefaultFor)
|
|
422
|
+
? rawDefaultFor.filter((entry) => entry === 'scalar' || entry === 'trend' || entry === 'comparison')
|
|
423
|
+
: undefined;
|
|
424
|
+
if (rawDefaultFor !== undefined && (!defaultFor || !Array.isArray(rawDefaultFor) || defaultFor.length !== rawDefaultFor.length))
|
|
425
|
+
return [];
|
|
426
|
+
return [
|
|
427
|
+
{
|
|
428
|
+
dimensionId,
|
|
429
|
+
role,
|
|
430
|
+
supportedGrains,
|
|
431
|
+
...(defaultFor ? { defaultFor } : {}),
|
|
432
|
+
},
|
|
433
|
+
];
|
|
434
|
+
});
|
|
435
|
+
return result.length === value.length ? result : undefined;
|
|
436
|
+
}
|
|
437
|
+
function normalizeFreshness(value) {
|
|
438
|
+
const record = objectRecord(value);
|
|
439
|
+
if (!record)
|
|
440
|
+
return undefined;
|
|
441
|
+
const defaultCompletenessPolicy = record.defaultCompletenessPolicy === undefined ? undefined : enumValue(record.defaultCompletenessPolicy, COMPLETENESS_POLICIES);
|
|
442
|
+
if (record.defaultCompletenessPolicy !== undefined && !defaultCompletenessPolicy)
|
|
443
|
+
return undefined;
|
|
444
|
+
return {
|
|
445
|
+
...(cleanString(record.observedThroughFieldId) ? { observedThroughFieldId: cleanString(record.observedThroughFieldId) } : {}),
|
|
446
|
+
...(defaultCompletenessPolicy ? { defaultCompletenessPolicy } : {}),
|
|
447
|
+
};
|
|
448
|
+
}
|
|
449
|
+
function normalizeOperations(value) {
|
|
450
|
+
if (!Array.isArray(value))
|
|
451
|
+
return undefined;
|
|
452
|
+
const allowed = new Set(['filter', 'group', 'trend', 'compare', 'rank', 'window', 'having']);
|
|
453
|
+
const result = value.flatMap((item) => {
|
|
454
|
+
const operation = enumValue(item, allowed);
|
|
455
|
+
return operation ? [operation] : [];
|
|
456
|
+
});
|
|
457
|
+
return result.length === value.length ? result : undefined;
|
|
458
|
+
}
|
|
459
|
+
function normalizeOutputKinds(value) {
|
|
460
|
+
if (!Array.isArray(value))
|
|
461
|
+
return undefined;
|
|
462
|
+
const allowed = new Set(['dimension', 'metric_value', 'delta', 'percent_delta', 'rank']);
|
|
463
|
+
const result = value.flatMap((item) => {
|
|
464
|
+
const kind = enumValue(item, allowed);
|
|
465
|
+
return kind ? [kind] : [];
|
|
466
|
+
});
|
|
467
|
+
return result.length === value.length ? result : undefined;
|
|
468
|
+
}
|
|
469
|
+
function normalizeExecutionCapabilities(value) {
|
|
470
|
+
if (!Array.isArray(value))
|
|
471
|
+
return undefined;
|
|
472
|
+
const allowed = new Set(['certified', 'semantic', 'governed_sql', 'exploratory']);
|
|
473
|
+
const result = value.flatMap((item) => {
|
|
474
|
+
const record = objectRecord(item);
|
|
475
|
+
const route = enumValue(record?.route, allowed);
|
|
476
|
+
if (!record || !route)
|
|
477
|
+
return [];
|
|
478
|
+
return [
|
|
479
|
+
{
|
|
480
|
+
route,
|
|
481
|
+
...(cleanString(record.adapterId) ? { adapterId: cleanString(record.adapterId) } : {}),
|
|
482
|
+
},
|
|
483
|
+
];
|
|
484
|
+
});
|
|
485
|
+
return result.length === value.length ? result : undefined;
|
|
486
|
+
}
|
|
487
|
+
function objectRecord(value) {
|
|
488
|
+
return value && typeof value === 'object' && !Array.isArray(value) ? value : undefined;
|
|
489
|
+
}
|
|
490
|
+
function cleanString(value) {
|
|
491
|
+
return typeof value === 'string' && value.trim() ? value.trim() : undefined;
|
|
492
|
+
}
|
|
493
|
+
function cleanStringArray(value) {
|
|
494
|
+
if (!Array.isArray(value))
|
|
495
|
+
return undefined;
|
|
496
|
+
const result = value.map(cleanString);
|
|
497
|
+
return result.every((item) => Boolean(item)) ? result : undefined;
|
|
498
|
+
}
|
|
499
|
+
function enumValue(value, allowed) {
|
|
500
|
+
return typeof value === 'string' && allowed.has(value) ? value : undefined;
|
|
501
|
+
}
|
|
502
|
+
function positiveInteger(value) {
|
|
503
|
+
return typeof value === 'number' && Number.isFinite(value) && value > 0 ? Math.floor(value) : undefined;
|
|
504
|
+
}
|
|
505
|
+
//# sourceMappingURL=analytical.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytical.js","sourceRoot":"","sources":["../../src/contracts/analytical.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,5 +7,6 @@
|
|
|
7
7
|
* we only depend on the published manifest schema.
|
|
8
8
|
*/
|
|
9
9
|
export { DataLexContractRegistry } from './registry.js';
|
|
10
|
+
export { ANALYTICAL_FAILURE_VERSION, ANALYTICAL_QUESTION_FRAME_VERSION, analyticalRepairTrustTransition, normalizeAnalyticalFailureV1, normalizeAnalyticalQuestionFrameV2, normalizeMetricCapabilityContract, type AnalyticalAmbiguityV2, type AnalyticalComparisonV2, type AnalyticalDimensionBindingV2, type AnalyticalDimensionRole, type AnalyticalFailureCode, type AnalyticalFailurePhase, type AnalyticalFailureRecoverability, type AnalyticalFailureV1, type AnalyticalMemberBindingV2, type AnalyticalOperation, type AnalyticalPeriodKind, type AnalyticalPeriodV2, type AnalyticalPolicyContract, type AnalyticalQuestionFrameV2, type AnalyticalQuestionType, type AnalyticalRankingV2, type AnalyticalRepairChange, type AnalyticalRepairTrustTransition, type AnalyticalRequestedOutputV2, type AnalyticalTimeContextV2, type AnalyticalTrustState, type MetricCapabilityContract, } from './analytical.js';
|
|
10
11
|
export { parseContractRef, type ContractId, type ContractParam, type ContractRef, type ContractResolution, type ContractSignature, type DataLexBinding, type DataLexConformance, type DataLexConformancePhysical, type DataLexContract, type DataLexDiagnostic, type DataLexDomain, type DataLexEntity, type DataLexField, type DataLexGlossaryTerm, type DataLexManifest, type DataLexManifestProject, type DataLexRelationship, type DataLexRelationshipEndpoint, type JoinPathResolution, type RelationshipCardinality, } from './types.js';
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,EACjC,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,2BAA2B,EAChC,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,GAC9B,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,EAChB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,GAC7B,MAAM,YAAY,CAAC"}
|
package/dist/contracts/index.js
CHANGED
|
@@ -7,5 +7,6 @@
|
|
|
7
7
|
* we only depend on the published manifest schema.
|
|
8
8
|
*/
|
|
9
9
|
export { DataLexContractRegistry } from './registry.js';
|
|
10
|
+
export { ANALYTICAL_FAILURE_VERSION, ANALYTICAL_QUESTION_FRAME_VERSION, analyticalRepairTrustTransition, normalizeAnalyticalFailureV1, normalizeAnalyticalQuestionFrameV2, normalizeMetricCapabilityContract, } from './analytical.js';
|
|
10
11
|
export { parseContractRef, } from './types.js';
|
|
11
12
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,gBAAgB,GAqBjB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,0BAA0B,EAC1B,iCAAiC,EACjC,+BAA+B,EAC/B,4BAA4B,EAC5B,kCAAkC,EAClC,iCAAiC,GAuBlC,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,gBAAgB,GAqBjB,MAAM,YAAY,CAAC"}
|