@empressaio/atom-contract 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +360 -0
- package/README.md +379 -0
- package/dist/composition.d.ts +112 -0
- package/dist/composition.d.ts.map +1 -0
- package/dist/composition.js +80 -0
- package/dist/composition.js.map +1 -0
- package/dist/conformance/common.d.ts +21 -0
- package/dist/conformance/common.d.ts.map +1 -0
- package/dist/conformance/common.js +29 -0
- package/dist/conformance/common.js.map +1 -0
- package/dist/conformance/fixtures.d.ts +13 -0
- package/dist/conformance/fixtures.d.ts.map +1 -0
- package/dist/conformance/fixtures.js +63 -0
- package/dist/conformance/fixtures.js.map +1 -0
- package/dist/conformance/index.d.ts +11 -0
- package/dist/conformance/index.d.ts.map +1 -0
- package/dist/conformance/index.js +11 -0
- package/dist/conformance/index.js.map +1 -0
- package/dist/conformance/validate.d.ts +49 -0
- package/dist/conformance/validate.d.ts.map +1 -0
- package/dist/conformance/validate.js +138 -0
- package/dist/conformance/validate.js.map +1 -0
- package/dist/conformance/verify-chain.d.ts +25 -0
- package/dist/conformance/verify-chain.d.ts.map +1 -0
- package/dist/conformance/verify-chain.js +76 -0
- package/dist/conformance/verify-chain.js.map +1 -0
- package/dist/context.d.ts +134 -0
- package/dist/context.d.ts.map +1 -0
- package/dist/context.js +110 -0
- package/dist/context.js.map +1 -0
- package/dist/encumbrances/administrative-rule.d.ts +128 -0
- package/dist/encumbrances/administrative-rule.d.ts.map +1 -0
- package/dist/encumbrances/administrative-rule.js +18 -0
- package/dist/encumbrances/administrative-rule.js.map +1 -0
- package/dist/encumbrances/common.d.ts +153 -0
- package/dist/encumbrances/common.d.ts.map +1 -0
- package/dist/encumbrances/common.js +124 -0
- package/dist/encumbrances/common.js.map +1 -0
- package/dist/encumbrances/constraint-resolution.d.ts +169 -0
- package/dist/encumbrances/constraint-resolution.d.ts.map +1 -0
- package/dist/encumbrances/constraint-resolution.js +41 -0
- package/dist/encumbrances/constraint-resolution.js.map +1 -0
- package/dist/encumbrances/fixtures.d.ts +16 -0
- package/dist/encumbrances/fixtures.d.ts.map +1 -0
- package/dist/encumbrances/fixtures.js +107 -0
- package/dist/encumbrances/fixtures.js.map +1 -0
- package/dist/encumbrances/index.d.ts +15 -0
- package/dist/encumbrances/index.d.ts.map +1 -0
- package/dist/encumbrances/index.js +15 -0
- package/dist/encumbrances/index.js.map +1 -0
- package/dist/encumbrances/recorded-instrument.d.ts +131 -0
- package/dist/encumbrances/recorded-instrument.d.ts.map +1 -0
- package/dist/encumbrances/recorded-instrument.js +19 -0
- package/dist/encumbrances/recorded-instrument.js.map +1 -0
- package/dist/encumbrances/restriction-clause.d.ts +120 -0
- package/dist/encumbrances/restriction-clause.d.ts.map +1 -0
- package/dist/encumbrances/restriction-clause.js +17 -0
- package/dist/encumbrances/restriction-clause.js.map +1 -0
- package/dist/encumbrances/restriction-corpus.d.ts +44 -0
- package/dist/encumbrances/restriction-corpus.d.ts.map +1 -0
- package/dist/encumbrances/restriction-corpus.js +14 -0
- package/dist/encumbrances/restriction-corpus.js.map +1 -0
- package/dist/export/downloadable-atom.d.ts +133 -0
- package/dist/export/downloadable-atom.d.ts.map +1 -0
- package/dist/export/downloadable-atom.js +115 -0
- package/dist/export/downloadable-atom.js.map +1 -0
- package/dist/export/index.d.ts +6 -0
- package/dist/export/index.d.ts.map +1 -0
- package/dist/export/index.js +6 -0
- package/dist/export/index.js.map +1 -0
- package/dist/history.d.ts +124 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +170 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/inline-reference.d.ts +60 -0
- package/dist/inline-reference.d.ts.map +1 -0
- package/dist/inline-reference.js +73 -0
- package/dist/inline-reference.js.map +1 -0
- package/dist/obligation.d.ts +131 -0
- package/dist/obligation.d.ts.map +1 -0
- package/dist/obligation.js +55 -0
- package/dist/obligation.js.map +1 -0
- package/dist/og/common.d.ts +253 -0
- package/dist/og/common.d.ts.map +1 -0
- package/dist/og/common.js +195 -0
- package/dist/og/common.js.map +1 -0
- package/dist/og/completion.d.ts +70 -0
- package/dist/og/completion.d.ts.map +1 -0
- package/dist/og/completion.js +22 -0
- package/dist/og/completion.js.map +1 -0
- package/dist/og/equipment-state.d.ts +55 -0
- package/dist/og/equipment-state.d.ts.map +1 -0
- package/dist/og/equipment-state.js +25 -0
- package/dist/og/equipment-state.js.map +1 -0
- package/dist/og/fixtures.d.ts +40 -0
- package/dist/og/fixtures.d.ts.map +1 -0
- package/dist/og/fixtures.js +255 -0
- package/dist/og/fixtures.js.map +1 -0
- package/dist/og/index.d.ts +23 -0
- package/dist/og/index.d.ts.map +1 -0
- package/dist/og/index.js +23 -0
- package/dist/og/index.js.map +1 -0
- package/dist/og/mineral-lease.d.ts +150 -0
- package/dist/og/mineral-lease.d.ts.map +1 -0
- package/dist/og/mineral-lease.js +24 -0
- package/dist/og/mineral-lease.js.map +1 -0
- package/dist/og/ownership-interest.d.ts +163 -0
- package/dist/og/ownership-interest.d.ts.map +1 -0
- package/dist/og/ownership-interest.js +36 -0
- package/dist/og/ownership-interest.js.map +1 -0
- package/dist/og/pad.d.ts +101 -0
- package/dist/og/pad.d.ts.map +1 -0
- package/dist/og/pad.js +19 -0
- package/dist/og/pad.js.map +1 -0
- package/dist/og/production-timeseries.d.ts +154 -0
- package/dist/og/production-timeseries.d.ts.map +1 -0
- package/dist/og/production-timeseries.js +37 -0
- package/dist/og/production-timeseries.js.map +1 -0
- package/dist/og/revenue-allocation-unit.d.ts +762 -0
- package/dist/og/revenue-allocation-unit.d.ts.map +1 -0
- package/dist/og/revenue-allocation-unit.js +105 -0
- package/dist/og/revenue-allocation-unit.js.map +1 -0
- package/dist/og/rrc-lease.d.ts +124 -0
- package/dist/og/rrc-lease.d.ts.map +1 -0
- package/dist/og/rrc-lease.js +29 -0
- package/dist/og/rrc-lease.js.map +1 -0
- package/dist/og/tract.d.ts +88 -0
- package/dist/og/tract.d.ts.map +1 -0
- package/dist/og/tract.js +30 -0
- package/dist/og/tract.js.map +1 -0
- package/dist/og/well.d.ts +201 -0
- package/dist/og/well.d.ts.map +1 -0
- package/dist/og/well.js +40 -0
- package/dist/og/well.js.map +1 -0
- package/dist/og/wellbore.d.ts +61 -0
- package/dist/og/wellbore.d.ts.map +1 -0
- package/dist/og/wellbore.js +25 -0
- package/dist/og/wellbore.js.map +1 -0
- package/dist/og/zone.d.ts +45 -0
- package/dist/og/zone.d.ts.map +1 -0
- package/dist/og/zone.js +16 -0
- package/dist/og/zone.js.map +1 -0
- package/dist/read-contract/common.d.ts +74 -0
- package/dist/read-contract/common.d.ts.map +1 -0
- package/dist/read-contract/common.js +54 -0
- package/dist/read-contract/common.js.map +1 -0
- package/dist/read-contract/consequence.d.ts +99 -0
- package/dist/read-contract/consequence.d.ts.map +1 -0
- package/dist/read-contract/consequence.js +46 -0
- package/dist/read-contract/consequence.js.map +1 -0
- package/dist/read-contract/fixtures.d.ts +8 -0
- package/dist/read-contract/fixtures.d.ts.map +1 -0
- package/dist/read-contract/fixtures.js +44 -0
- package/dist/read-contract/fixtures.js.map +1 -0
- package/dist/read-contract/index.d.ts +14 -0
- package/dist/read-contract/index.d.ts.map +1 -0
- package/dist/read-contract/index.js +14 -0
- package/dist/read-contract/index.js.map +1 -0
- package/dist/read-contract/model-attribution.d.ts +85 -0
- package/dist/read-contract/model-attribution.d.ts.map +1 -0
- package/dist/read-contract/model-attribution.js +30 -0
- package/dist/read-contract/model-attribution.js.map +1 -0
- package/dist/read-contract/read-contract.d.ts +455 -0
- package/dist/read-contract/read-contract.d.ts.map +1 -0
- package/dist/read-contract/read-contract.js +46 -0
- package/dist/read-contract/read-contract.js.map +1 -0
- package/dist/registration.d.ts +192 -0
- package/dist/registration.d.ts.map +1 -0
- package/dist/registration.js +15 -0
- package/dist/registration.js.map +1 -0
- package/dist/registry.d.ts +128 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +122 -0
- package/dist/registry.js.map +1 -0
- package/dist/render.d.ts +30 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +44 -0
- package/dist/render.js.map +1 -0
- package/dist/scope.d.ts +46 -0
- package/dist/scope.d.ts.map +1 -0
- package/dist/scope.js +17 -0
- package/dist/scope.js.map +1 -0
- package/dist/temporal/anticipatory-atom.d.ts +123 -0
- package/dist/temporal/anticipatory-atom.d.ts.map +1 -0
- package/dist/temporal/anticipatory-atom.js +124 -0
- package/dist/temporal/anticipatory-atom.js.map +1 -0
- package/dist/temporal/common.d.ts +47 -0
- package/dist/temporal/common.d.ts.map +1 -0
- package/dist/temporal/common.js +100 -0
- package/dist/temporal/common.js.map +1 -0
- package/dist/temporal/fixtures.d.ts +7 -0
- package/dist/temporal/fixtures.d.ts.map +1 -0
- package/dist/temporal/fixtures.js +21 -0
- package/dist/temporal/fixtures.js.map +1 -0
- package/dist/temporal/index.d.ts +13 -0
- package/dist/temporal/index.d.ts.map +1 -0
- package/dist/temporal/index.js +13 -0
- package/dist/temporal/index.js.map +1 -0
- package/dist/temporal/interval-query.d.ts +42 -0
- package/dist/temporal/interval-query.d.ts.map +1 -0
- package/dist/temporal/interval-query.js +49 -0
- package/dist/temporal/interval-query.js.map +1 -0
- package/dist/temporal/node-id.d.ts +112 -0
- package/dist/temporal/node-id.d.ts.map +1 -0
- package/dist/temporal/node-id.js +208 -0
- package/dist/temporal/node-id.js.map +1 -0
- package/dist/temporal/would-affect-edge.d.ts +66 -0
- package/dist/temporal/would-affect-edge.d.ts.map +1 -0
- package/dist/temporal/would-affect-edge.js +113 -0
- package/dist/temporal/would-affect-edge.js.map +1 -0
- package/dist/testing/index.d.ts +98 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +225 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/vda.d.ts +46 -0
- package/dist/vda.d.ts.map +1 -0
- package/dist/vda.js +42 -0
- package/dist/vda.js.map +1 -0
- package/dist/workspace/brief-run.d.ts +104 -0
- package/dist/workspace/brief-run.d.ts.map +1 -0
- package/dist/workspace/brief-run.js +32 -0
- package/dist/workspace/brief-run.js.map +1 -0
- package/dist/workspace/common.d.ts +42 -0
- package/dist/workspace/common.d.ts.map +1 -0
- package/dist/workspace/common.js +26 -0
- package/dist/workspace/common.js.map +1 -0
- package/dist/workspace/fixtures.d.ts +10 -0
- package/dist/workspace/fixtures.d.ts.map +1 -0
- package/dist/workspace/fixtures.js +93 -0
- package/dist/workspace/fixtures.js.map +1 -0
- package/dist/workspace/index.d.ts +13 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +13 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/property-workspace.d.ts +148 -0
- package/dist/workspace/property-workspace.d.ts.map +1 -0
- package/dist/workspace/property-workspace.js +21 -0
- package/dist/workspace/property-workspace.js.map +1 -0
- package/dist/workspace/workspace-attachment.d.ts +99 -0
- package/dist/workspace/workspace-attachment.d.ts.map +1 -0
- package/dist/workspace/workspace-attachment.js +35 -0
- package/dist/workspace/workspace-attachment.js.map +1 -0
- package/dist/workspace/workspace-share-edge.d.ts +115 -0
- package/dist/workspace/workspace-share-edge.d.ts.map +1 -0
- package/dist/workspace/workspace-share-edge.js +22 -0
- package/dist/workspace/workspace-share-edge.js.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared O&G ontology substrate types per ADR-025.
|
|
3
|
+
*
|
|
4
|
+
* O&G atoms carry structured confidence, source citation, and access policy
|
|
5
|
+
* per the existing quality-gate discipline. Every confidence field is
|
|
6
|
+
* WidthedConfidence; bare scalars are unrepresentable.
|
|
7
|
+
*
|
|
8
|
+
* Link vocabulary (semantic edges between atoms):
|
|
9
|
+
* - `evidenced-by`: mineral-lease → recorded-instrument (the wet-document trail)
|
|
10
|
+
* - `regulatory-expression-of`: rrc-lease → mineral-lease (many-to-many mapping)
|
|
11
|
+
* - `derives-from`: derived stream → source stream; ownership-interest → instruments
|
|
12
|
+
* - `located-on`: well → tract
|
|
13
|
+
* - `assigned-to`: well → rrc-lease (oil wells; the reporting split)
|
|
14
|
+
* - `produces-from`: completion → zone
|
|
15
|
+
* - `subject-to`: tract → recorded-instrument
|
|
16
|
+
* - `reconciles-with`: computed DOI → obtained operator DOI / signed division order
|
|
17
|
+
* (added 1.7.0, C1b; external assertion reconciled against computed value;
|
|
18
|
+
* discrepancies surface as disputes, never silent overwrites)
|
|
19
|
+
*
|
|
20
|
+
* Links are semantic relationships described in ADR-025 and consumed by the
|
|
21
|
+
* graph traversal layer (ADR-010). This contract module defines atom types
|
|
22
|
+
* and schemas; link resolution is handled by downstream graph engines.
|
|
23
|
+
*/
|
|
24
|
+
import { z } from "zod";
|
|
25
|
+
import type { NodeTypePrefix } from "../temporal/common.js";
|
|
26
|
+
import { type WidthedConfidence } from "../read-contract/common.js";
|
|
27
|
+
/**
|
|
28
|
+
* O&G access policy schema, derived from the canonical ACCESS_POLICY_SCHEMA.
|
|
29
|
+
* Per ADR-025, all O&G atoms use the same five-value access policy enum.
|
|
30
|
+
*/
|
|
31
|
+
export declare const OG_ACCESS_POLICY_SCHEMA: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
|
|
32
|
+
/**
|
|
33
|
+
* Node-type prefixes registered additively for O&G atoms (ADR-025).
|
|
34
|
+
* well_, wbore_, cmpl_, zone_, pad_, mlease_, rrclease_, tract_, intr_,
|
|
35
|
+
* prodts_, equip_, unit_. (oblg_ is core, not ./og-specific.)
|
|
36
|
+
* Re-exported from the core registry to avoid parallel source of truth.
|
|
37
|
+
*/
|
|
38
|
+
export type OgNodeTypePrefix = Extract<NodeTypePrefix, "well_" | "wbore_" | "cmpl_" | "zone_" | "pad_" | "mlease_" | "rrclease_" | "tract_" | "intr_" | "prodts_" | "equip_" | "unit_">;
|
|
39
|
+
export declare const OG_NODE_TYPE_PREFIXES: ReadonlyArray<OgNodeTypePrefix>;
|
|
40
|
+
/**
|
|
41
|
+
* Well type classification per ADR-025 asset spine.
|
|
42
|
+
*/
|
|
43
|
+
export type WellType = "oil" | "gas" | "injection" | "disposal" | "dry" | "plugged";
|
|
44
|
+
export declare const WELL_TYPES: ReadonlyArray<WellType>;
|
|
45
|
+
/**
|
|
46
|
+
* Product classification for production-timeseries.
|
|
47
|
+
*/
|
|
48
|
+
export type ProductType = "oil" | "gas" | "water" | "injection";
|
|
49
|
+
export declare const PRODUCT_TYPES: ReadonlyArray<ProductType>;
|
|
50
|
+
/**
|
|
51
|
+
* Production stream anchor kind (lease vs well), modeling the reporting split
|
|
52
|
+
* per ADR-025: Texas oil production is reported at RRC lease level; gas is
|
|
53
|
+
* reported at well level.
|
|
54
|
+
*/
|
|
55
|
+
export type AnchorKind = "rrc-lease" | "well";
|
|
56
|
+
export declare const ANCHOR_KINDS: ReadonlyArray<AnchorKind>;
|
|
57
|
+
/**
|
|
58
|
+
* Production timeseries granularity.
|
|
59
|
+
*/
|
|
60
|
+
export type Granularity = "monthly" | "daily";
|
|
61
|
+
export declare const GRANULARITIES: ReadonlyArray<Granularity>;
|
|
62
|
+
/**
|
|
63
|
+
* Equipment kind for equipment-state atoms.
|
|
64
|
+
*/
|
|
65
|
+
export type EquipmentKind = "rod-pump" | "esp" | "gas-lift" | "plunger-lift" | "surface-facility" | "other";
|
|
66
|
+
export declare const EQUIPMENT_KINDS: ReadonlyArray<EquipmentKind>;
|
|
67
|
+
/**
|
|
68
|
+
* Mineral lease status per ADR-025. Status is engine-derived from obligation
|
|
69
|
+
* determinations.
|
|
70
|
+
*/
|
|
71
|
+
export type MineralLeaseStatus = "active" | "expired" | "released" | "hbp" | "disputed";
|
|
72
|
+
export declare const MINERAL_LEASE_STATUSES: ReadonlyArray<MineralLeaseStatus>;
|
|
73
|
+
/**
|
|
74
|
+
* Ownership interest type discriminator (ADR-025, single discriminated type).
|
|
75
|
+
*/
|
|
76
|
+
export type InterestType = "mineral" | "royalty" | "overriding-royalty" | "working" | "surface" | "npri";
|
|
77
|
+
export declare const INTEREST_TYPES: ReadonlyArray<InterestType>;
|
|
78
|
+
/**
|
|
79
|
+
* Geolocation with datum per ADR-025 (well surface/bottomhole locations).
|
|
80
|
+
*/
|
|
81
|
+
export declare const GEO_LOCATION_SCHEMA: z.ZodObject<{
|
|
82
|
+
latitude: z.ZodNumber;
|
|
83
|
+
longitude: z.ZodNumber;
|
|
84
|
+
datum: z.ZodString;
|
|
85
|
+
}, "strip", z.ZodTypeAny, {
|
|
86
|
+
latitude: number;
|
|
87
|
+
longitude: number;
|
|
88
|
+
datum: string;
|
|
89
|
+
}, {
|
|
90
|
+
latitude: number;
|
|
91
|
+
longitude: number;
|
|
92
|
+
datum: string;
|
|
93
|
+
}>;
|
|
94
|
+
export type GeoLocation = z.infer<typeof GEO_LOCATION_SCHEMA>;
|
|
95
|
+
/**
|
|
96
|
+
* RRC field reference (field name and number).
|
|
97
|
+
*/
|
|
98
|
+
export declare const FIELD_REF_SCHEMA: z.ZodObject<{
|
|
99
|
+
fieldName: z.ZodString;
|
|
100
|
+
fieldNumber: z.ZodString;
|
|
101
|
+
}, "strip", z.ZodTypeAny, {
|
|
102
|
+
fieldName: string;
|
|
103
|
+
fieldNumber: string;
|
|
104
|
+
}, {
|
|
105
|
+
fieldName: string;
|
|
106
|
+
fieldNumber: string;
|
|
107
|
+
}>;
|
|
108
|
+
export type FieldRef = z.infer<typeof FIELD_REF_SCHEMA>;
|
|
109
|
+
/**
|
|
110
|
+
* Perforated interval on a completion.
|
|
111
|
+
*/
|
|
112
|
+
export declare const PERFORATED_INTERVAL_SCHEMA: z.ZodObject<{
|
|
113
|
+
topDepth: z.ZodNumber;
|
|
114
|
+
bottomDepth: z.ZodNumber;
|
|
115
|
+
zoneDid: z.ZodOptional<z.ZodString>;
|
|
116
|
+
}, "strip", z.ZodTypeAny, {
|
|
117
|
+
topDepth: number;
|
|
118
|
+
bottomDepth: number;
|
|
119
|
+
zoneDid?: string | undefined;
|
|
120
|
+
}, {
|
|
121
|
+
topDepth: number;
|
|
122
|
+
bottomDepth: number;
|
|
123
|
+
zoneDid?: string | undefined;
|
|
124
|
+
}>;
|
|
125
|
+
export type PerforatedInterval = z.infer<typeof PERFORATED_INTERVAL_SCHEMA>;
|
|
126
|
+
/**
|
|
127
|
+
* Clause extract bucket on mineral-lease (typed: shut-in, Pugh, continuous
|
|
128
|
+
* development, depth severance). Each extract carries confidence +
|
|
129
|
+
* sourceCitation into the instrument and page.
|
|
130
|
+
*/
|
|
131
|
+
export interface ClauseExtract {
|
|
132
|
+
clauseType: "shut-in" | "pugh" | "continuous-development" | "depth-severance";
|
|
133
|
+
extractedText: string;
|
|
134
|
+
confidence: WidthedConfidence;
|
|
135
|
+
sourceCitation: string;
|
|
136
|
+
sourceInstrumentDid: string;
|
|
137
|
+
pageRef?: string;
|
|
138
|
+
}
|
|
139
|
+
export declare const CLAUSE_EXTRACT_SCHEMA: z.ZodObject<{
|
|
140
|
+
clauseType: z.ZodEnum<["shut-in", "pugh", "continuous-development", "depth-severance"]>;
|
|
141
|
+
extractedText: z.ZodString;
|
|
142
|
+
confidence: z.ZodReadonly<z.ZodObject<{
|
|
143
|
+
readonly estimate: z.ZodNumber;
|
|
144
|
+
readonly n: z.ZodNumber;
|
|
145
|
+
readonly intervalWidth: z.ZodNumber;
|
|
146
|
+
readonly provenance: z.ZodEnum<["asserted", "backtest", "seed", "live"]>;
|
|
147
|
+
}, "strip", z.ZodTypeAny, {
|
|
148
|
+
estimate: number;
|
|
149
|
+
n: number;
|
|
150
|
+
intervalWidth: number;
|
|
151
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
152
|
+
}, {
|
|
153
|
+
estimate: number;
|
|
154
|
+
n: number;
|
|
155
|
+
intervalWidth: number;
|
|
156
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
157
|
+
}>>;
|
|
158
|
+
sourceCitation: z.ZodString;
|
|
159
|
+
sourceInstrumentDid: z.ZodString;
|
|
160
|
+
pageRef: z.ZodOptional<z.ZodString>;
|
|
161
|
+
}, "strip", z.ZodTypeAny, {
|
|
162
|
+
clauseType: "shut-in" | "pugh" | "continuous-development" | "depth-severance";
|
|
163
|
+
extractedText: string;
|
|
164
|
+
confidence: Readonly<{
|
|
165
|
+
estimate: number;
|
|
166
|
+
n: number;
|
|
167
|
+
intervalWidth: number;
|
|
168
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
169
|
+
}>;
|
|
170
|
+
sourceCitation: string;
|
|
171
|
+
sourceInstrumentDid: string;
|
|
172
|
+
pageRef?: string | undefined;
|
|
173
|
+
}, {
|
|
174
|
+
clauseType: "shut-in" | "pugh" | "continuous-development" | "depth-severance";
|
|
175
|
+
extractedText: string;
|
|
176
|
+
confidence: Readonly<{
|
|
177
|
+
estimate: number;
|
|
178
|
+
n: number;
|
|
179
|
+
intervalWidth: number;
|
|
180
|
+
provenance: "asserted" | "backtest" | "seed" | "live";
|
|
181
|
+
}>;
|
|
182
|
+
sourceCitation: string;
|
|
183
|
+
sourceInstrumentDid: string;
|
|
184
|
+
pageRef?: string | undefined;
|
|
185
|
+
}>;
|
|
186
|
+
/**
|
|
187
|
+
* Quality gate fields: sourceCitation, extractedAt/asOf per ADR-025.
|
|
188
|
+
* Every O&G atom carries these fields. Confidence is included separately
|
|
189
|
+
* on types that reason from other atoms (ownership-interest, obligation).
|
|
190
|
+
*/
|
|
191
|
+
export declare const OG_QUALITY_GATE_FIELDS: {
|
|
192
|
+
readonly sourceCitation: z.ZodString;
|
|
193
|
+
readonly extractedAt: z.ZodString;
|
|
194
|
+
readonly asOf: z.ZodOptional<z.ZodString>;
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* Asserted confidence for O&G extracts at activation. Per ADR-025, the entire
|
|
198
|
+
* domain is uncalibrated at launch; every confidence ships
|
|
199
|
+
* `provenance: "asserted"` with its source named.
|
|
200
|
+
*/
|
|
201
|
+
export declare function createOgAssertedConfidence(estimate: number): WidthedConfidence;
|
|
202
|
+
/**
|
|
203
|
+
* Recommended render modes for O&G atom registrations.
|
|
204
|
+
*/
|
|
205
|
+
export declare const OG_RENDER_MODES: {
|
|
206
|
+
well: readonly ["card", "compact", "expanded"];
|
|
207
|
+
wellbore: readonly ["card", "compact", "expanded"];
|
|
208
|
+
completion: readonly ["card", "compact", "expanded"];
|
|
209
|
+
zone: readonly ["card", "compact"];
|
|
210
|
+
pad: readonly ["card", "compact", "expanded"];
|
|
211
|
+
"production-timeseries": readonly ["card", "compact", "expanded"];
|
|
212
|
+
"equipment-state": readonly ["card", "compact", "expanded"];
|
|
213
|
+
"mineral-lease": readonly ["card", "compact", "expanded", "focus"];
|
|
214
|
+
"rrc-lease": readonly ["card", "compact", "expanded"];
|
|
215
|
+
tract: readonly ["card", "compact", "expanded"];
|
|
216
|
+
"ownership-interest": readonly ["card", "compact", "expanded", "focus"];
|
|
217
|
+
"revenue-allocation-unit": readonly ["card", "compact", "expanded", "focus"];
|
|
218
|
+
};
|
|
219
|
+
export declare const OG_DEFAULT_RENDER_MODE: {
|
|
220
|
+
readonly well: "card";
|
|
221
|
+
readonly wellbore: "card";
|
|
222
|
+
readonly completion: "card";
|
|
223
|
+
readonly zone: "card";
|
|
224
|
+
readonly pad: "card";
|
|
225
|
+
readonly "production-timeseries": "card";
|
|
226
|
+
readonly "equipment-state": "card";
|
|
227
|
+
readonly "mineral-lease": "focus";
|
|
228
|
+
readonly "rrc-lease": "card";
|
|
229
|
+
readonly tract: "card";
|
|
230
|
+
readonly "ownership-interest": "focus";
|
|
231
|
+
readonly "revenue-allocation-unit": "card";
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Default access policies per ADR-025. Public regulatory data is public-free;
|
|
235
|
+
* operator telemetry and land books are tenant-private. Obligation (core type,
|
|
236
|
+
* domain-neutral) defaults to tenant-private per operator ruling 3.
|
|
237
|
+
*/
|
|
238
|
+
export declare const OG_DEFAULT_ACCESS_POLICY: {
|
|
239
|
+
readonly well: "public-free";
|
|
240
|
+
readonly wellbore: "public-free";
|
|
241
|
+
readonly completion: "public-free";
|
|
242
|
+
readonly zone: "public-free";
|
|
243
|
+
readonly pad: "public-free";
|
|
244
|
+
readonly "production-timeseries": "public-free";
|
|
245
|
+
readonly "equipment-state": "tenant-private";
|
|
246
|
+
readonly "mineral-lease": "tenant-private";
|
|
247
|
+
readonly "rrc-lease": "public-free";
|
|
248
|
+
readonly tract: "public-free";
|
|
249
|
+
readonly "ownership-interest": "tenant-private";
|
|
250
|
+
readonly "revenue-allocation-unit": "public-free";
|
|
251
|
+
readonly obligation: "tenant-private";
|
|
252
|
+
};
|
|
253
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/og/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared O&G ontology substrate types per ADR-025.
|
|
3
|
+
*
|
|
4
|
+
* O&G atoms carry structured confidence, source citation, and access policy
|
|
5
|
+
* per the existing quality-gate discipline. Every confidence field is
|
|
6
|
+
* WidthedConfidence; bare scalars are unrepresentable.
|
|
7
|
+
*
|
|
8
|
+
* Link vocabulary (semantic edges between atoms):
|
|
9
|
+
* - `evidenced-by`: mineral-lease → recorded-instrument (the wet-document trail)
|
|
10
|
+
* - `regulatory-expression-of`: rrc-lease → mineral-lease (many-to-many mapping)
|
|
11
|
+
* - `derives-from`: derived stream → source stream; ownership-interest → instruments
|
|
12
|
+
* - `located-on`: well → tract
|
|
13
|
+
* - `assigned-to`: well → rrc-lease (oil wells; the reporting split)
|
|
14
|
+
* - `produces-from`: completion → zone
|
|
15
|
+
* - `subject-to`: tract → recorded-instrument
|
|
16
|
+
* - `reconciles-with`: computed DOI → obtained operator DOI / signed division order
|
|
17
|
+
* (added 1.7.0, C1b; external assertion reconciled against computed value;
|
|
18
|
+
* discrepancies surface as disputes, never silent overwrites)
|
|
19
|
+
*
|
|
20
|
+
* Links are semantic relationships described in ADR-025 and consumed by the
|
|
21
|
+
* graph traversal layer (ADR-010). This contract module defines atom types
|
|
22
|
+
* and schemas; link resolution is handled by downstream graph engines.
|
|
23
|
+
*/
|
|
24
|
+
import { z } from "zod";
|
|
25
|
+
import { createWidthedConfidence, WIDTHED_CONFIDENCE_SCHEMA, } from "../read-contract/common.js";
|
|
26
|
+
import { ACCESS_POLICY_SCHEMA } from "../conformance/common.js";
|
|
27
|
+
/**
|
|
28
|
+
* O&G access policy schema, derived from the canonical ACCESS_POLICY_SCHEMA.
|
|
29
|
+
* Per ADR-025, all O&G atoms use the same five-value access policy enum.
|
|
30
|
+
*/
|
|
31
|
+
export const OG_ACCESS_POLICY_SCHEMA = ACCESS_POLICY_SCHEMA;
|
|
32
|
+
export const OG_NODE_TYPE_PREFIXES = [
|
|
33
|
+
"well_",
|
|
34
|
+
"wbore_",
|
|
35
|
+
"cmpl_",
|
|
36
|
+
"zone_",
|
|
37
|
+
"pad_",
|
|
38
|
+
"mlease_",
|
|
39
|
+
"rrclease_",
|
|
40
|
+
"tract_",
|
|
41
|
+
"intr_",
|
|
42
|
+
"prodts_",
|
|
43
|
+
"equip_",
|
|
44
|
+
"unit_",
|
|
45
|
+
];
|
|
46
|
+
export const WELL_TYPES = [
|
|
47
|
+
"oil",
|
|
48
|
+
"gas",
|
|
49
|
+
"injection",
|
|
50
|
+
"disposal",
|
|
51
|
+
"dry",
|
|
52
|
+
"plugged",
|
|
53
|
+
];
|
|
54
|
+
export const PRODUCT_TYPES = [
|
|
55
|
+
"oil",
|
|
56
|
+
"gas",
|
|
57
|
+
"water",
|
|
58
|
+
"injection",
|
|
59
|
+
];
|
|
60
|
+
export const ANCHOR_KINDS = ["rrc-lease", "well"];
|
|
61
|
+
export const GRANULARITIES = ["monthly", "daily"];
|
|
62
|
+
export const EQUIPMENT_KINDS = [
|
|
63
|
+
"rod-pump",
|
|
64
|
+
"esp",
|
|
65
|
+
"gas-lift",
|
|
66
|
+
"plunger-lift",
|
|
67
|
+
"surface-facility",
|
|
68
|
+
"other",
|
|
69
|
+
];
|
|
70
|
+
export const MINERAL_LEASE_STATUSES = [
|
|
71
|
+
"active",
|
|
72
|
+
"expired",
|
|
73
|
+
"released",
|
|
74
|
+
"hbp",
|
|
75
|
+
"disputed",
|
|
76
|
+
];
|
|
77
|
+
export const INTEREST_TYPES = [
|
|
78
|
+
"mineral",
|
|
79
|
+
"royalty",
|
|
80
|
+
"overriding-royalty",
|
|
81
|
+
"working",
|
|
82
|
+
"surface",
|
|
83
|
+
"npri",
|
|
84
|
+
];
|
|
85
|
+
/**
|
|
86
|
+
* Geolocation with datum per ADR-025 (well surface/bottomhole locations).
|
|
87
|
+
*/
|
|
88
|
+
export const GEO_LOCATION_SCHEMA = z.object({
|
|
89
|
+
latitude: z.number(),
|
|
90
|
+
longitude: z.number(),
|
|
91
|
+
datum: z.string().min(1),
|
|
92
|
+
});
|
|
93
|
+
/**
|
|
94
|
+
* RRC field reference (field name and number).
|
|
95
|
+
*/
|
|
96
|
+
export const FIELD_REF_SCHEMA = z.object({
|
|
97
|
+
fieldName: z.string().min(1),
|
|
98
|
+
fieldNumber: z.string().min(1),
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* Perforated interval on a completion.
|
|
102
|
+
*/
|
|
103
|
+
export const PERFORATED_INTERVAL_SCHEMA = z.object({
|
|
104
|
+
topDepth: z.number(),
|
|
105
|
+
bottomDepth: z.number(),
|
|
106
|
+
zoneDid: z.string().min(1).optional(),
|
|
107
|
+
});
|
|
108
|
+
export const CLAUSE_EXTRACT_SCHEMA = z.object({
|
|
109
|
+
clauseType: z.enum([
|
|
110
|
+
"shut-in",
|
|
111
|
+
"pugh",
|
|
112
|
+
"continuous-development",
|
|
113
|
+
"depth-severance",
|
|
114
|
+
]),
|
|
115
|
+
extractedText: z.string().min(1),
|
|
116
|
+
confidence: WIDTHED_CONFIDENCE_SCHEMA,
|
|
117
|
+
sourceCitation: z.string().min(1),
|
|
118
|
+
sourceInstrumentDid: z.string().min(1),
|
|
119
|
+
pageRef: z.string().min(1).optional(),
|
|
120
|
+
});
|
|
121
|
+
/**
|
|
122
|
+
* Quality gate fields: sourceCitation, extractedAt/asOf per ADR-025.
|
|
123
|
+
* Every O&G atom carries these fields. Confidence is included separately
|
|
124
|
+
* on types that reason from other atoms (ownership-interest, obligation).
|
|
125
|
+
*/
|
|
126
|
+
export const OG_QUALITY_GATE_FIELDS = {
|
|
127
|
+
sourceCitation: z.string().min(1),
|
|
128
|
+
extractedAt: z.string().min(1),
|
|
129
|
+
asOf: z.string().min(1).optional(),
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* Asserted confidence for O&G extracts at activation. Per ADR-025, the entire
|
|
133
|
+
* domain is uncalibrated at launch; every confidence ships
|
|
134
|
+
* `provenance: "asserted"` with its source named.
|
|
135
|
+
*/
|
|
136
|
+
export function createOgAssertedConfidence(estimate) {
|
|
137
|
+
return createWidthedConfidence({
|
|
138
|
+
estimate,
|
|
139
|
+
n: 0,
|
|
140
|
+
intervalWidth: 1,
|
|
141
|
+
provenance: "asserted",
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Recommended render modes for O&G atom registrations.
|
|
146
|
+
*/
|
|
147
|
+
export const OG_RENDER_MODES = {
|
|
148
|
+
well: ["card", "compact", "expanded"],
|
|
149
|
+
wellbore: ["card", "compact", "expanded"],
|
|
150
|
+
completion: ["card", "compact", "expanded"],
|
|
151
|
+
zone: ["card", "compact"],
|
|
152
|
+
pad: ["card", "compact", "expanded"],
|
|
153
|
+
"production-timeseries": ["card", "compact", "expanded"],
|
|
154
|
+
"equipment-state": ["card", "compact", "expanded"],
|
|
155
|
+
"mineral-lease": ["card", "compact", "expanded", "focus"],
|
|
156
|
+
"rrc-lease": ["card", "compact", "expanded"],
|
|
157
|
+
tract: ["card", "compact", "expanded"],
|
|
158
|
+
"ownership-interest": ["card", "compact", "expanded", "focus"],
|
|
159
|
+
"revenue-allocation-unit": ["card", "compact", "expanded", "focus"],
|
|
160
|
+
};
|
|
161
|
+
export const OG_DEFAULT_RENDER_MODE = {
|
|
162
|
+
well: "card",
|
|
163
|
+
wellbore: "card",
|
|
164
|
+
completion: "card",
|
|
165
|
+
zone: "card",
|
|
166
|
+
pad: "card",
|
|
167
|
+
"production-timeseries": "card",
|
|
168
|
+
"equipment-state": "card",
|
|
169
|
+
"mineral-lease": "focus",
|
|
170
|
+
"rrc-lease": "card",
|
|
171
|
+
tract: "card",
|
|
172
|
+
"ownership-interest": "focus",
|
|
173
|
+
"revenue-allocation-unit": "card",
|
|
174
|
+
};
|
|
175
|
+
/**
|
|
176
|
+
* Default access policies per ADR-025. Public regulatory data is public-free;
|
|
177
|
+
* operator telemetry and land books are tenant-private. Obligation (core type,
|
|
178
|
+
* domain-neutral) defaults to tenant-private per operator ruling 3.
|
|
179
|
+
*/
|
|
180
|
+
export const OG_DEFAULT_ACCESS_POLICY = {
|
|
181
|
+
well: "public-free",
|
|
182
|
+
wellbore: "public-free",
|
|
183
|
+
completion: "public-free",
|
|
184
|
+
zone: "public-free",
|
|
185
|
+
pad: "public-free",
|
|
186
|
+
"production-timeseries": "public-free",
|
|
187
|
+
"equipment-state": "tenant-private",
|
|
188
|
+
"mineral-lease": "tenant-private",
|
|
189
|
+
"rrc-lease": "public-free",
|
|
190
|
+
tract: "public-free",
|
|
191
|
+
"ownership-interest": "tenant-private",
|
|
192
|
+
"revenue-allocation-unit": "public-free",
|
|
193
|
+
obligation: "tenant-private",
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/og/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AccessPolicy } from "../registration.js";
|
|
3
|
+
import { type PerforatedInterval } from "./common.js";
|
|
4
|
+
/**
|
|
5
|
+
* Completion atom instance per ADR-025 — perforated and completed intervals.
|
|
6
|
+
* DID format: cmpl_<hash> (hashed derivation from source, externalId).
|
|
7
|
+
*/
|
|
8
|
+
export interface CompletionAtomInstance {
|
|
9
|
+
entityType: "completion";
|
|
10
|
+
completionDid: string;
|
|
11
|
+
wellboreDid: string;
|
|
12
|
+
completionDate: string;
|
|
13
|
+
perforatedIntervals: ReadonlyArray<PerforatedInterval>;
|
|
14
|
+
sourceCitation: string;
|
|
15
|
+
extractedAt: string;
|
|
16
|
+
asOf?: string;
|
|
17
|
+
accessPolicy: AccessPolicy;
|
|
18
|
+
}
|
|
19
|
+
export declare const COMPLETION_SCHEMA: z.ZodObject<{
|
|
20
|
+
accessPolicy: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
|
|
21
|
+
sourceCitation: z.ZodString;
|
|
22
|
+
extractedAt: z.ZodString;
|
|
23
|
+
asOf: z.ZodOptional<z.ZodString>;
|
|
24
|
+
entityType: z.ZodLiteral<"completion">;
|
|
25
|
+
completionDid: z.ZodEffects<z.ZodString, string, string>;
|
|
26
|
+
wellboreDid: z.ZodEffects<z.ZodString, string, string>;
|
|
27
|
+
completionDate: z.ZodString;
|
|
28
|
+
perforatedIntervals: z.ZodArray<z.ZodObject<{
|
|
29
|
+
topDepth: z.ZodNumber;
|
|
30
|
+
bottomDepth: z.ZodNumber;
|
|
31
|
+
zoneDid: z.ZodOptional<z.ZodString>;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
topDepth: number;
|
|
34
|
+
bottomDepth: number;
|
|
35
|
+
zoneDid?: string | undefined;
|
|
36
|
+
}, {
|
|
37
|
+
topDepth: number;
|
|
38
|
+
bottomDepth: number;
|
|
39
|
+
zoneDid?: string | undefined;
|
|
40
|
+
}>, "many">;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
|
|
43
|
+
entityType: "completion";
|
|
44
|
+
sourceCitation: string;
|
|
45
|
+
extractedAt: string;
|
|
46
|
+
completionDid: string;
|
|
47
|
+
wellboreDid: string;
|
|
48
|
+
completionDate: string;
|
|
49
|
+
perforatedIntervals: {
|
|
50
|
+
topDepth: number;
|
|
51
|
+
bottomDepth: number;
|
|
52
|
+
zoneDid?: string | undefined;
|
|
53
|
+
}[];
|
|
54
|
+
asOf?: string | undefined;
|
|
55
|
+
}, {
|
|
56
|
+
accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
|
|
57
|
+
entityType: "completion";
|
|
58
|
+
sourceCitation: string;
|
|
59
|
+
extractedAt: string;
|
|
60
|
+
completionDid: string;
|
|
61
|
+
wellboreDid: string;
|
|
62
|
+
completionDate: string;
|
|
63
|
+
perforatedIntervals: {
|
|
64
|
+
topDepth: number;
|
|
65
|
+
bottomDepth: number;
|
|
66
|
+
zoneDid?: string | undefined;
|
|
67
|
+
}[];
|
|
68
|
+
asOf?: string | undefined;
|
|
69
|
+
}>;
|
|
70
|
+
//# sourceMappingURL=completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../src/og/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAIL,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,YAAY,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,mBAAmB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACvD,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkB5B,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { OG_ACCESS_POLICY_SCHEMA, OG_QUALITY_GATE_FIELDS, PERFORATED_INTERVAL_SCHEMA, } from "./common.js";
|
|
3
|
+
export const COMPLETION_SCHEMA = z.object({
|
|
4
|
+
entityType: z.literal("completion"),
|
|
5
|
+
completionDid: z
|
|
6
|
+
.string()
|
|
7
|
+
.min(1)
|
|
8
|
+
.refine((val) => /^cmpl_[0-9a-f]{16}$/.test(val), {
|
|
9
|
+
message: "completionDid must be in format cmpl_<16-hex-chars>",
|
|
10
|
+
}),
|
|
11
|
+
wellboreDid: z
|
|
12
|
+
.string()
|
|
13
|
+
.min(1)
|
|
14
|
+
.refine((val) => /^wbore_[0-9a-f]{16}$/.test(val), {
|
|
15
|
+
message: "wellboreDid must be in format wbore_<16-hex-chars>",
|
|
16
|
+
}),
|
|
17
|
+
completionDate: z.string().min(1),
|
|
18
|
+
perforatedIntervals: z.array(PERFORATED_INTERVAL_SCHEMA),
|
|
19
|
+
...OG_QUALITY_GATE_FIELDS,
|
|
20
|
+
accessPolicy: OG_ACCESS_POLICY_SCHEMA,
|
|
21
|
+
});
|
|
22
|
+
//# sourceMappingURL=completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/og/completion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,uBAAuB,EACvB,sBAAsB,EACtB,0BAA0B,GAE3B,MAAM,aAAa,CAAC;AAkBrB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACnC,aAAa,EAAE,CAAC;SACb,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAChD,OAAO,EAAE,qDAAqD;KAC/D,CAAC;IACJ,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACjD,OAAO,EAAE,oDAAoD;KAC9D,CAAC;IACJ,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC;IACxD,GAAG,sBAAsB;IACzB,YAAY,EAAE,uBAAuB;CACtC,CAAC,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import type { AccessPolicy } from "../registration.js";
|
|
3
|
+
import { type EquipmentKind } from "./common.js";
|
|
4
|
+
/**
|
|
5
|
+
* Equipment-state atom instance per ADR-025 — artificial lift and surface
|
|
6
|
+
* equipment condition (operations lens, operator-overlay data).
|
|
7
|
+
* DID format: equip_<hash> (hashed derivation from source, externalId).
|
|
8
|
+
*/
|
|
9
|
+
export interface EquipmentStateAtomInstance {
|
|
10
|
+
entityType: "equipment-state";
|
|
11
|
+
equipmentDid: string;
|
|
12
|
+
wellDid: string;
|
|
13
|
+
equipmentKind: EquipmentKind;
|
|
14
|
+
stateSnapshot: Record<string, unknown>;
|
|
15
|
+
telemetryStreamRefs: ReadonlyArray<string>;
|
|
16
|
+
sourceCitation: string;
|
|
17
|
+
extractedAt: string;
|
|
18
|
+
asOf: string;
|
|
19
|
+
accessPolicy: AccessPolicy;
|
|
20
|
+
}
|
|
21
|
+
export declare const EQUIPMENT_STATE_SCHEMA: z.ZodObject<{
|
|
22
|
+
entityType: z.ZodLiteral<"equipment-state">;
|
|
23
|
+
equipmentDid: z.ZodEffects<z.ZodString, string, string>;
|
|
24
|
+
wellDid: z.ZodEffects<z.ZodString, string, string>;
|
|
25
|
+
equipmentKind: z.ZodEnum<[EquipmentKind, ...EquipmentKind[]]>;
|
|
26
|
+
stateSnapshot: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
27
|
+
telemetryStreamRefs: z.ZodArray<z.ZodString, "many">;
|
|
28
|
+
sourceCitation: z.ZodString;
|
|
29
|
+
extractedAt: z.ZodString;
|
|
30
|
+
asOf: z.ZodString;
|
|
31
|
+
accessPolicy: z.ZodEnum<["public-free", "public-paid", "platform-internal", "tenant-private", "tenant-shared"]>;
|
|
32
|
+
}, "strip", z.ZodTypeAny, {
|
|
33
|
+
accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
|
|
34
|
+
entityType: "equipment-state";
|
|
35
|
+
sourceCitation: string;
|
|
36
|
+
extractedAt: string;
|
|
37
|
+
asOf: string;
|
|
38
|
+
equipmentDid: string;
|
|
39
|
+
wellDid: string;
|
|
40
|
+
equipmentKind: EquipmentKind;
|
|
41
|
+
stateSnapshot: Record<string, unknown>;
|
|
42
|
+
telemetryStreamRefs: string[];
|
|
43
|
+
}, {
|
|
44
|
+
accessPolicy: "public-free" | "public-paid" | "platform-internal" | "tenant-private" | "tenant-shared";
|
|
45
|
+
entityType: "equipment-state";
|
|
46
|
+
sourceCitation: string;
|
|
47
|
+
extractedAt: string;
|
|
48
|
+
asOf: string;
|
|
49
|
+
equipmentDid: string;
|
|
50
|
+
wellDid: string;
|
|
51
|
+
equipmentKind: EquipmentKind;
|
|
52
|
+
stateSnapshot: Record<string, unknown>;
|
|
53
|
+
telemetryStreamRefs: string[];
|
|
54
|
+
}>;
|
|
55
|
+
//# sourceMappingURL=equipment-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equipment-state.d.ts","sourceRoot":"","sources":["../../src/og/equipment-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAGL,KAAK,aAAa,EACnB,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,mBAAmB,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBjC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { EQUIPMENT_KINDS, OG_ACCESS_POLICY_SCHEMA, } from "./common.js";
|
|
3
|
+
export const EQUIPMENT_STATE_SCHEMA = z.object({
|
|
4
|
+
entityType: z.literal("equipment-state"),
|
|
5
|
+
equipmentDid: z
|
|
6
|
+
.string()
|
|
7
|
+
.min(1)
|
|
8
|
+
.refine((val) => /^equip_[0-9a-f]{16}$/.test(val), {
|
|
9
|
+
message: "equipmentDid must be in format equip_<16-hex-chars>",
|
|
10
|
+
}),
|
|
11
|
+
wellDid: z
|
|
12
|
+
.string()
|
|
13
|
+
.min(1)
|
|
14
|
+
.refine((val) => val.startsWith("well_"), {
|
|
15
|
+
message: "wellDid must start with well_ prefix",
|
|
16
|
+
}),
|
|
17
|
+
equipmentKind: z.enum(EQUIPMENT_KINDS),
|
|
18
|
+
stateSnapshot: z.record(z.unknown()),
|
|
19
|
+
telemetryStreamRefs: z.array(z.string().min(1)),
|
|
20
|
+
sourceCitation: z.string().min(1),
|
|
21
|
+
extractedAt: z.string().min(1),
|
|
22
|
+
asOf: z.string().min(1),
|
|
23
|
+
accessPolicy: OG_ACCESS_POLICY_SCHEMA,
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=equipment-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"equipment-state.js","sourceRoot":"","sources":["../../src/og/equipment-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EACL,eAAe,EACf,uBAAuB,GAExB,MAAM,aAAa,CAAC;AAoBrB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACxC,YAAY,EAAE,CAAC;SACZ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACjD,OAAO,EAAE,qDAAqD;KAC/D,CAAC;IACJ,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE;QACxC,OAAO,EAAE,sCAAsC;KAChD,CAAC;IACJ,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,eAAsD,CAAC;IAC7E,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;IACpC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,YAAY,EAAE,uBAAuB;CACtC,CAAC,CAAC"}
|