@modular-circuit/perc 0.2.7 → 0.2.9

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/index.d.mts CHANGED
@@ -5,14 +5,14 @@ import { PowerBase } from '@modular-circuit/ir/build/graph/pwr_base';
5
5
  import { CC_Visitor } from '@modular-circuit/utils';
6
6
 
7
7
  declare enum SEVERITY {
8
- RPT_SEVERITY_UNDEFINED = 1,
9
- RPT_SEVERITY_INFO = 2,
10
- RPT_SEVERITY_EXCLUSION = 4,
11
- RPT_SEVERITY_ACTION = 8,
12
- RPT_SEVERITY_WARNING = 16,
13
- RPT_SEVERITY_ERROR = 32,
14
- RPT_SEVERITY_IGNORE = 64,
15
- RPT_SEVERITY_DEBUG = 128
8
+ RPT_SEVERITY_UNDEFINED = "undefined",
9
+ RPT_SEVERITY_INFO = "info",
10
+ RPT_SEVERITY_EXCLUSION = "exclusion",
11
+ RPT_SEVERITY_ACTION = "action",
12
+ RPT_SEVERITY_WARNING = "warning",
13
+ RPT_SEVERITY_ERROR = "error",
14
+ RPT_SEVERITY_IGNORE = "ignore",
15
+ RPT_SEVERITY_DEBUG = "debug"
16
16
  }
17
17
 
18
18
  declare enum MakerType {
@@ -78,101 +78,121 @@ declare const ERCE_UNANNOTATED: (id: string) => {
78
78
  error_code: ERCE_T;
79
79
  error_message: string;
80
80
  eda_item_ids: string[];
81
+ severity: SEVERITY;
81
82
  };
82
83
  declare const ERCE_PIN_TO_PIN_ERROR: (a: ELECTRICAL_NODE, b: ELECTRICAL_NODE) => {
83
84
  error_code: ERCE_T;
84
85
  error_message: string;
85
86
  eda_item_ids: string[];
87
+ severity: SEVERITY;
86
88
  };
87
89
  declare const ERCE_PIN_NOT_CONNECTED: (id: string) => {
88
90
  error_code: ERCE_T;
89
91
  error_message: string;
90
92
  eda_item_ids: string[];
93
+ severity: SEVERITY;
91
94
  };
92
95
  declare const ERCE_DRIVER_CONFLICT: (eda_item_ids: string[], primaryName: string, secondaryName: string) => {
93
96
  error_code: PP_ERROR;
94
97
  error_message: string;
95
98
  eda_item_ids: string[];
99
+ severity: SEVERITY;
96
100
  };
97
101
  declare const PP_INAPPROPRIATE_FUNC: (eda_item_ids: string[]) => {
98
102
  error_code: PP_ERROR;
99
103
  error_message: string;
100
104
  eda_item_ids: string[];
105
+ severity: SEVERITY;
101
106
  };
102
107
  declare const PP_NOT_DRIVEN: (eda_item_ids: string[]) => {
103
108
  error_code: PP_ERROR;
104
109
  error_message: string;
105
110
  eda_item_ids: string[];
111
+ severity: SEVERITY;
106
112
  };
107
113
  declare const PP_DUPLICATED_SOURCES: (eda_item_ids: string[]) => {
108
114
  error_code: PP_ERROR;
109
115
  error_message: string;
110
116
  eda_item_ids: string[];
117
+ severity: SEVERITY;
111
118
  };
112
119
  declare const PP_INSUFFICIENT_DRIVER: (eda_item_ids: string[], desc?: string) => {
113
120
  error_code: PP_ERROR;
114
121
  error_message: string;
115
122
  eda_item_ids: string[];
123
+ severity: SEVERITY;
116
124
  };
117
125
  declare const PP_OVER_DRIVEN: (eda_item_ids: string[], desc?: string) => {
118
126
  error_code: PP_ERROR;
119
127
  error_message: string;
120
128
  eda_item_ids: string[];
129
+ severity: SEVERITY;
121
130
  };
122
131
  declare const PP_IMPEDANCE_SIGNAL_INTEGRITY: (eda_item_ids: string[]) => {
123
132
  error_code: PP_ERROR;
124
133
  error_message: string;
125
134
  eda_item_ids: string[];
135
+ severity: SEVERITY;
126
136
  };
127
137
  declare const PP_INCOMPATIBLE_VOLTAGE_LEVELS: (source: string) => {
128
138
  error_code: PP_ERROR;
129
139
  error_message: string;
130
140
  eda_item_ids: string[];
141
+ severity: SEVERITY;
131
142
  };
132
143
  declare const PP_SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE: (source: string) => {
133
144
  error_code: PP_ERROR;
134
145
  error_message: string;
135
146
  eda_item_ids: string[];
147
+ severity: SEVERITY;
136
148
  };
137
149
  declare const PP_INCOMPATIBLE_SIGNAL_LEVELS: (source: string) => {
138
150
  error_code: PP_ERROR;
139
151
  error_message: string;
140
152
  eda_item_ids: string[];
153
+ severity: SEVERITY;
141
154
  };
142
155
  declare const PP_OVERCURRENT: (source: string) => {
143
156
  error_code: PP_ERROR;
144
157
  error_message: string;
145
158
  eda_item_ids: string[];
159
+ severity: SEVERITY;
146
160
  };
147
161
  declare const PP_INCOMPATIBLE_DIGITAL_THRESHOLDS: (eda_item_ids: string[]) => {
148
162
  error_code: PP_ERROR;
149
163
  error_message: string;
150
164
  eda_item_ids: string[];
165
+ severity: SEVERITY;
151
166
  };
152
167
  declare const PP_REQUIRES_CONNECTED_SOURCE_OR_BIDIR: (eda_item_ids: string[]) => {
153
168
  error_code: PP_ERROR;
154
169
  error_message: string;
155
170
  eda_item_ids: string[];
171
+ severity: SEVERITY;
156
172
  };
157
173
  declare const PP_ILLEGAL_CONNECTION: (eda_item_ids: string[], detail: string) => {
158
174
  error_code: PP_ERROR;
159
175
  error_message: string;
160
176
  eda_item_ids: string[];
177
+ severity: SEVERITY;
161
178
  };
162
179
  declare const CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT: (bundle_id: string) => {
163
180
  error_code: PP_ERROR;
164
181
  error_message: string;
165
182
  eda_item_ids: string[];
183
+ severity: SEVERITY;
166
184
  };
167
185
  declare const INVALID_INPUT: (eda_item_ids: string[], error_message: unknown) => {
168
186
  error_code: PP_ERROR;
169
187
  error_message: unknown;
170
188
  eda_item_ids: string[];
189
+ severity: SEVERITY;
171
190
  };
172
191
  declare const INVALID_PORT_ID_REFERENCED_IN_CONNECTION: (eda_item_ids: string[]) => {
173
192
  error_code: PP_ERROR;
174
193
  error_message: string;
175
194
  eda_item_ids: string[];
195
+ severity: SEVERITY;
176
196
  };
177
197
 
178
198
  interface REPORT_ITEM {
@@ -184,6 +204,7 @@ interface REPORT_ITEM {
184
204
  * A message describing the details of this specific error
185
205
  */
186
206
  error_message: unknown;
207
+ severity?: SEVERITY;
187
208
  }
188
209
 
189
210
  /**Token from KiCAD
package/dist/index.d.ts CHANGED
@@ -5,14 +5,14 @@ import { PowerBase } from '@modular-circuit/ir/build/graph/pwr_base';
5
5
  import { CC_Visitor } from '@modular-circuit/utils';
6
6
 
7
7
  declare enum SEVERITY {
8
- RPT_SEVERITY_UNDEFINED = 1,
9
- RPT_SEVERITY_INFO = 2,
10
- RPT_SEVERITY_EXCLUSION = 4,
11
- RPT_SEVERITY_ACTION = 8,
12
- RPT_SEVERITY_WARNING = 16,
13
- RPT_SEVERITY_ERROR = 32,
14
- RPT_SEVERITY_IGNORE = 64,
15
- RPT_SEVERITY_DEBUG = 128
8
+ RPT_SEVERITY_UNDEFINED = "undefined",
9
+ RPT_SEVERITY_INFO = "info",
10
+ RPT_SEVERITY_EXCLUSION = "exclusion",
11
+ RPT_SEVERITY_ACTION = "action",
12
+ RPT_SEVERITY_WARNING = "warning",
13
+ RPT_SEVERITY_ERROR = "error",
14
+ RPT_SEVERITY_IGNORE = "ignore",
15
+ RPT_SEVERITY_DEBUG = "debug"
16
16
  }
17
17
 
18
18
  declare enum MakerType {
@@ -78,101 +78,121 @@ declare const ERCE_UNANNOTATED: (id: string) => {
78
78
  error_code: ERCE_T;
79
79
  error_message: string;
80
80
  eda_item_ids: string[];
81
+ severity: SEVERITY;
81
82
  };
82
83
  declare const ERCE_PIN_TO_PIN_ERROR: (a: ELECTRICAL_NODE, b: ELECTRICAL_NODE) => {
83
84
  error_code: ERCE_T;
84
85
  error_message: string;
85
86
  eda_item_ids: string[];
87
+ severity: SEVERITY;
86
88
  };
87
89
  declare const ERCE_PIN_NOT_CONNECTED: (id: string) => {
88
90
  error_code: ERCE_T;
89
91
  error_message: string;
90
92
  eda_item_ids: string[];
93
+ severity: SEVERITY;
91
94
  };
92
95
  declare const ERCE_DRIVER_CONFLICT: (eda_item_ids: string[], primaryName: string, secondaryName: string) => {
93
96
  error_code: PP_ERROR;
94
97
  error_message: string;
95
98
  eda_item_ids: string[];
99
+ severity: SEVERITY;
96
100
  };
97
101
  declare const PP_INAPPROPRIATE_FUNC: (eda_item_ids: string[]) => {
98
102
  error_code: PP_ERROR;
99
103
  error_message: string;
100
104
  eda_item_ids: string[];
105
+ severity: SEVERITY;
101
106
  };
102
107
  declare const PP_NOT_DRIVEN: (eda_item_ids: string[]) => {
103
108
  error_code: PP_ERROR;
104
109
  error_message: string;
105
110
  eda_item_ids: string[];
111
+ severity: SEVERITY;
106
112
  };
107
113
  declare const PP_DUPLICATED_SOURCES: (eda_item_ids: string[]) => {
108
114
  error_code: PP_ERROR;
109
115
  error_message: string;
110
116
  eda_item_ids: string[];
117
+ severity: SEVERITY;
111
118
  };
112
119
  declare const PP_INSUFFICIENT_DRIVER: (eda_item_ids: string[], desc?: string) => {
113
120
  error_code: PP_ERROR;
114
121
  error_message: string;
115
122
  eda_item_ids: string[];
123
+ severity: SEVERITY;
116
124
  };
117
125
  declare const PP_OVER_DRIVEN: (eda_item_ids: string[], desc?: string) => {
118
126
  error_code: PP_ERROR;
119
127
  error_message: string;
120
128
  eda_item_ids: string[];
129
+ severity: SEVERITY;
121
130
  };
122
131
  declare const PP_IMPEDANCE_SIGNAL_INTEGRITY: (eda_item_ids: string[]) => {
123
132
  error_code: PP_ERROR;
124
133
  error_message: string;
125
134
  eda_item_ids: string[];
135
+ severity: SEVERITY;
126
136
  };
127
137
  declare const PP_INCOMPATIBLE_VOLTAGE_LEVELS: (source: string) => {
128
138
  error_code: PP_ERROR;
129
139
  error_message: string;
130
140
  eda_item_ids: string[];
141
+ severity: SEVERITY;
131
142
  };
132
143
  declare const PP_SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE: (source: string) => {
133
144
  error_code: PP_ERROR;
134
145
  error_message: string;
135
146
  eda_item_ids: string[];
147
+ severity: SEVERITY;
136
148
  };
137
149
  declare const PP_INCOMPATIBLE_SIGNAL_LEVELS: (source: string) => {
138
150
  error_code: PP_ERROR;
139
151
  error_message: string;
140
152
  eda_item_ids: string[];
153
+ severity: SEVERITY;
141
154
  };
142
155
  declare const PP_OVERCURRENT: (source: string) => {
143
156
  error_code: PP_ERROR;
144
157
  error_message: string;
145
158
  eda_item_ids: string[];
159
+ severity: SEVERITY;
146
160
  };
147
161
  declare const PP_INCOMPATIBLE_DIGITAL_THRESHOLDS: (eda_item_ids: string[]) => {
148
162
  error_code: PP_ERROR;
149
163
  error_message: string;
150
164
  eda_item_ids: string[];
165
+ severity: SEVERITY;
151
166
  };
152
167
  declare const PP_REQUIRES_CONNECTED_SOURCE_OR_BIDIR: (eda_item_ids: string[]) => {
153
168
  error_code: PP_ERROR;
154
169
  error_message: string;
155
170
  eda_item_ids: string[];
171
+ severity: SEVERITY;
156
172
  };
157
173
  declare const PP_ILLEGAL_CONNECTION: (eda_item_ids: string[], detail: string) => {
158
174
  error_code: PP_ERROR;
159
175
  error_message: string;
160
176
  eda_item_ids: string[];
177
+ severity: SEVERITY;
161
178
  };
162
179
  declare const CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT: (bundle_id: string) => {
163
180
  error_code: PP_ERROR;
164
181
  error_message: string;
165
182
  eda_item_ids: string[];
183
+ severity: SEVERITY;
166
184
  };
167
185
  declare const INVALID_INPUT: (eda_item_ids: string[], error_message: unknown) => {
168
186
  error_code: PP_ERROR;
169
187
  error_message: unknown;
170
188
  eda_item_ids: string[];
189
+ severity: SEVERITY;
171
190
  };
172
191
  declare const INVALID_PORT_ID_REFERENCED_IN_CONNECTION: (eda_item_ids: string[]) => {
173
192
  error_code: PP_ERROR;
174
193
  error_message: string;
175
194
  eda_item_ids: string[];
195
+ severity: SEVERITY;
176
196
  };
177
197
 
178
198
  interface REPORT_ITEM {
@@ -184,6 +204,7 @@ interface REPORT_ITEM {
184
204
  * A message describing the details of this specific error
185
205
  */
186
206
  error_message: unknown;
207
+ severity?: SEVERITY;
187
208
  }
188
209
 
189
210
  /**Token from KiCAD
package/dist/index.js CHANGED
@@ -90,14 +90,14 @@ var MakerType = /* @__PURE__ */ ((MakerType2) => {
90
90
 
91
91
  // src/erc/context/error_severity.ts
92
92
  var SEVERITY = /* @__PURE__ */ ((SEVERITY2) => {
93
- SEVERITY2[SEVERITY2["RPT_SEVERITY_UNDEFINED"] = 1] = "RPT_SEVERITY_UNDEFINED";
94
- SEVERITY2[SEVERITY2["RPT_SEVERITY_INFO"] = 2] = "RPT_SEVERITY_INFO";
95
- SEVERITY2[SEVERITY2["RPT_SEVERITY_EXCLUSION"] = 4] = "RPT_SEVERITY_EXCLUSION";
96
- SEVERITY2[SEVERITY2["RPT_SEVERITY_ACTION"] = 8] = "RPT_SEVERITY_ACTION";
97
- SEVERITY2[SEVERITY2["RPT_SEVERITY_WARNING"] = 16] = "RPT_SEVERITY_WARNING";
98
- SEVERITY2[SEVERITY2["RPT_SEVERITY_ERROR"] = 32] = "RPT_SEVERITY_ERROR";
99
- SEVERITY2[SEVERITY2["RPT_SEVERITY_IGNORE"] = 64] = "RPT_SEVERITY_IGNORE";
100
- SEVERITY2[SEVERITY2["RPT_SEVERITY_DEBUG"] = 128] = "RPT_SEVERITY_DEBUG";
93
+ SEVERITY2["RPT_SEVERITY_UNDEFINED"] = "undefined";
94
+ SEVERITY2["RPT_SEVERITY_INFO"] = "info";
95
+ SEVERITY2["RPT_SEVERITY_EXCLUSION"] = "exclusion";
96
+ SEVERITY2["RPT_SEVERITY_ACTION"] = "action";
97
+ SEVERITY2["RPT_SEVERITY_WARNING"] = "warning";
98
+ SEVERITY2["RPT_SEVERITY_ERROR"] = "error";
99
+ SEVERITY2["RPT_SEVERITY_IGNORE"] = "ignore";
100
+ SEVERITY2["RPT_SEVERITY_DEBUG"] = "debug";
101
101
  return SEVERITY2;
102
102
  })(SEVERITY || {});
103
103
 
@@ -140,40 +140,40 @@ var PP_ERROR = /* @__PURE__ */ ((PP_ERROR2) => {
140
140
  return PP_ERROR2;
141
141
  })(PP_ERROR || {});
142
142
  var DEFAULT_PP_ERROR_SEVERITY = {
143
- ["un_compiled_block" /* UN_COMPILED_BLOCK */]: 16 /* RPT_SEVERITY_WARNING */,
144
- ["un_compiled_link" /* UN_COMPILED_LINK */]: 16 /* RPT_SEVERITY_WARNING */,
145
- ["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]: 16 /* RPT_SEVERITY_WARNING */,
146
- ["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]: 16 /* RPT_SEVERITY_WARNING */,
147
- ["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]: 16 /* RPT_SEVERITY_WARNING */,
148
- ["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]: 16 /* RPT_SEVERITY_WARNING */,
149
- ["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]: 16 /* RPT_SEVERITY_WARNING */,
150
- ["library_error" /* LIBRARY_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
151
- ["generator_error" /* GENERATOR_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
152
- ["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
153
- ["over_assign" /* OVER_ASSIGN */]: 32 /* RPT_SEVERITY_ERROR */,
154
- ["bad_reference" /* BAD_REFERENCE */]: 16 /* RPT_SEVERITY_WARNING */,
155
- ["abstract_block" /* ABSTRACT_BLOCK */]: 16 /* RPT_SEVERITY_WARNING */,
156
- ["failed_assertion" /* FAILED_ASSERTION */]: 32 /* RPT_SEVERITY_ERROR */,
157
- ["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]: 32 /* RPT_SEVERITY_ERROR */,
158
- ["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]: 16 /* RPT_SEVERITY_WARNING */,
159
- ["pp_unannotated" /* PP_UNANNOTATED */]: 16 /* RPT_SEVERITY_WARNING */,
160
- ["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: 32 /* RPT_SEVERITY_ERROR */,
161
- ["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: 32 /* RPT_SEVERITY_ERROR */,
162
- ["pp_not_driven" /* NOT_DRIVEN */]: 16 /* RPT_SEVERITY_WARNING */,
163
- ["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]: 16 /* RPT_SEVERITY_WARNING */,
164
- ["Insufficient_driver" /* INSUFFICIENT_DRIVER */]: 16 /* RPT_SEVERITY_WARNING */,
165
- ["over_driven" /* OVER_DRIVEN */]: 16 /* RPT_SEVERITY_WARNING */,
166
- ["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]: 16 /* RPT_SEVERITY_WARNING */,
167
- ["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]: 16 /* RPT_SEVERITY_WARNING */,
168
- ["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]: 16 /* RPT_SEVERITY_WARNING */,
169
- ["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]: 16 /* RPT_SEVERITY_WARNING */,
170
- ["overcurrent" /* OVERCURRENT */]: 16 /* RPT_SEVERITY_WARNING */,
171
- ["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]: 16 /* RPT_SEVERITY_WARNING */,
172
- ["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]: 16 /* RPT_SEVERITY_WARNING */,
173
- ["Illegal_connection" /* ILLEGAL_CONNECTION */]: 32 /* RPT_SEVERITY_ERROR */,
174
- ["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]: 32 /* RPT_SEVERITY_ERROR */,
175
- ["Invalid input" /* INVALID_INPUT */]: 16 /* RPT_SEVERITY_WARNING */,
176
- ["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]: 16 /* RPT_SEVERITY_WARNING */
143
+ ["un_compiled_block" /* UN_COMPILED_BLOCK */]: "warning" /* RPT_SEVERITY_WARNING */,
144
+ ["un_compiled_link" /* UN_COMPILED_LINK */]: "warning" /* RPT_SEVERITY_WARNING */,
145
+ ["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]: "warning" /* RPT_SEVERITY_WARNING */,
146
+ ["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]: "warning" /* RPT_SEVERITY_WARNING */,
147
+ ["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]: "warning" /* RPT_SEVERITY_WARNING */,
148
+ ["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]: "warning" /* RPT_SEVERITY_WARNING */,
149
+ ["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]: "warning" /* RPT_SEVERITY_WARNING */,
150
+ ["library_error" /* LIBRARY_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
151
+ ["generator_error" /* GENERATOR_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
152
+ ["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
153
+ ["over_assign" /* OVER_ASSIGN */]: "error" /* RPT_SEVERITY_ERROR */,
154
+ ["bad_reference" /* BAD_REFERENCE */]: "warning" /* RPT_SEVERITY_WARNING */,
155
+ ["abstract_block" /* ABSTRACT_BLOCK */]: "warning" /* RPT_SEVERITY_WARNING */,
156
+ ["failed_assertion" /* FAILED_ASSERTION */]: "error" /* RPT_SEVERITY_ERROR */,
157
+ ["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]: "error" /* RPT_SEVERITY_ERROR */,
158
+ ["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]: "warning" /* RPT_SEVERITY_WARNING */,
159
+ ["pp_unannotated" /* PP_UNANNOTATED */]: "warning" /* RPT_SEVERITY_WARNING */,
160
+ ["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: "error" /* RPT_SEVERITY_ERROR */,
161
+ ["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: "error" /* RPT_SEVERITY_ERROR */,
162
+ ["pp_not_driven" /* NOT_DRIVEN */]: "warning" /* RPT_SEVERITY_WARNING */,
163
+ ["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]: "warning" /* RPT_SEVERITY_WARNING */,
164
+ ["Insufficient_driver" /* INSUFFICIENT_DRIVER */]: "warning" /* RPT_SEVERITY_WARNING */,
165
+ ["over_driven" /* OVER_DRIVEN */]: "warning" /* RPT_SEVERITY_WARNING */,
166
+ ["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]: "warning" /* RPT_SEVERITY_WARNING */,
167
+ ["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]: "warning" /* RPT_SEVERITY_WARNING */,
168
+ ["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]: "warning" /* RPT_SEVERITY_WARNING */,
169
+ ["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]: "warning" /* RPT_SEVERITY_WARNING */,
170
+ ["overcurrent" /* OVERCURRENT */]: "warning" /* RPT_SEVERITY_WARNING */,
171
+ ["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]: "warning" /* RPT_SEVERITY_WARNING */,
172
+ ["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]: "warning" /* RPT_SEVERITY_WARNING */,
173
+ ["Illegal_connection" /* ILLEGAL_CONNECTION */]: "error" /* RPT_SEVERITY_ERROR */,
174
+ ["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]: "error" /* RPT_SEVERITY_ERROR */,
175
+ ["Invalid input" /* INVALID_INPUT */]: "warning" /* RPT_SEVERITY_WARNING */,
176
+ ["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]: "warning" /* RPT_SEVERITY_WARNING */
177
177
  };
178
178
 
179
179
  // src/erc/parameter_propagation/tester.ts
@@ -198,104 +198,124 @@ var import_electronics_model = require("@modular-circuit/electronics-model");
198
198
  var ERCE_UNANNOTATED = (id) => ({
199
199
  error_code: "unannotated" /* ERCE_UNANNOTATED */,
200
200
  error_message: "Port has no electrical type specified.",
201
- eda_item_ids: [id]
201
+ eda_item_ids: [id],
202
+ severity: "warning" /* RPT_SEVERITY_WARNING */
202
203
  });
203
204
  var ERCE_PIN_TO_PIN_ERROR = (a, b) => ({
204
205
  error_code: "ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */,
205
206
  error_message: `Port ${(0, import_electronics_model.get_electrical_pin_type)(a)} and port ${(0, import_electronics_model.get_electrical_pin_type)(b)} are not compatible.`,
206
- eda_item_ids: [a.uuid, b.uuid]
207
+ eda_item_ids: [a.uuid, b.uuid],
208
+ severity: "error" /* RPT_SEVERITY_ERROR */
207
209
  });
208
210
  var ERCE_PIN_NOT_CONNECTED = (id) => ({
209
211
  error_code: "pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */,
210
212
  error_message: "Port not connected.",
211
- eda_item_ids: [id]
213
+ eda_item_ids: [id],
214
+ severity: "warning" /* RPT_SEVERITY_WARNING */
212
215
  });
213
216
  var ERCE_DRIVER_CONFLICT = (eda_item_ids, primaryName, secondaryName) => ({
214
217
  error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
215
- error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net. `,
216
- eda_item_ids
218
+ error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net.`,
219
+ eda_item_ids,
220
+ severity: "error" /* RPT_SEVERITY_ERROR */
217
221
  });
218
222
  var PP_INAPPROPRIATE_FUNC = (eda_item_ids) => ({
219
223
  error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
220
224
  error_message: "Inappropriate ports functions.",
221
- eda_item_ids
225
+ eda_item_ids,
226
+ severity: "error" /* RPT_SEVERITY_ERROR */
222
227
  });
223
228
  var PP_NOT_DRIVEN = (eda_item_ids) => ({
224
229
  error_code: "pp_not_driven" /* NOT_DRIVEN */,
225
230
  error_message: "Net not driven.",
226
- eda_item_ids
231
+ eda_item_ids,
232
+ severity: "error" /* RPT_SEVERITY_ERROR */
227
233
  });
228
234
  var PP_DUPLICATED_SOURCES = (eda_item_ids) => ({
229
235
  error_code: "duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */,
230
236
  error_message: "Net connected to multiple power sources.",
231
- eda_item_ids
237
+ eda_item_ids,
238
+ severity: "error" /* RPT_SEVERITY_ERROR */
232
239
  });
233
240
  var PP_INSUFFICIENT_DRIVER = (eda_item_ids, desc) => ({
234
241
  error_code: "Insufficient_driver" /* INSUFFICIENT_DRIVER */,
235
242
  error_message: `Insufficient ${desc} driver.`,
236
- eda_item_ids
243
+ eda_item_ids,
244
+ severity: "error" /* RPT_SEVERITY_ERROR */
237
245
  });
238
246
  var PP_OVER_DRIVEN = (eda_item_ids, desc) => ({
239
247
  error_code: "over_driven" /* OVER_DRIVEN */,
240
248
  error_message: `${desc} over driven.`,
241
- eda_item_ids
249
+ eda_item_ids,
250
+ severity: "error" /* RPT_SEVERITY_ERROR */
242
251
  });
243
252
  var PP_IMPEDANCE_SIGNAL_INTEGRITY = (eda_item_ids) => ({
244
253
  error_code: "impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */,
245
254
  error_message: "Source impedance shall be 10x lower than sink impedance for signal integrity.",
246
- eda_item_ids
255
+ eda_item_ids,
256
+ severity: "error" /* RPT_SEVERITY_ERROR */
247
257
  });
248
258
  var PP_INCOMPATIBLE_VOLTAGE_LEVELS = (source) => ({
249
259
  error_code: "impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */,
250
260
  error_message: "Incompatible voltage levels.",
251
- eda_item_ids: [source]
261
+ eda_item_ids: [source],
262
+ severity: "error" /* RPT_SEVERITY_ERROR */
252
263
  });
253
264
  var PP_SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE = (source) => ({
254
265
  error_code: "signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */,
255
266
  error_message: "Signal levels not contained within voltage.",
256
- eda_item_ids: [source]
267
+ eda_item_ids: [source],
268
+ severity: "error" /* RPT_SEVERITY_ERROR */
257
269
  });
258
270
  var PP_INCOMPATIBLE_SIGNAL_LEVELS = (source) => ({
259
271
  error_code: "incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */,
260
272
  error_message: "Incompatible signal levels.",
261
- eda_item_ids: [source]
273
+ eda_item_ids: [source],
274
+ severity: "error" /* RPT_SEVERITY_ERROR */
262
275
  });
263
276
  var PP_OVERCURRENT = (source) => ({
264
277
  error_code: "overcurrent" /* OVERCURRENT */,
265
278
  error_message: "overcurrent.",
266
- eda_item_ids: [source]
279
+ eda_item_ids: [source],
280
+ severity: "error" /* RPT_SEVERITY_ERROR */
267
281
  });
268
282
  var PP_INCOMPATIBLE_DIGITAL_THRESHOLDS = (eda_item_ids) => ({
269
283
  error_code: "incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */,
270
284
  error_message: "Incompatible digital thresholds.",
271
- eda_item_ids
285
+ eda_item_ids,
286
+ severity: "error" /* RPT_SEVERITY_ERROR */
272
287
  });
273
288
  var PP_REQUIRES_CONNECTED_SOURCE_OR_BIDIR = (eda_item_ids) => ({
274
289
  error_code: "requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */,
275
290
  error_message: "Requires connected source or bidir.",
276
- eda_item_ids
291
+ eda_item_ids,
292
+ severity: "error" /* RPT_SEVERITY_ERROR */
277
293
  });
278
294
  var PP_ILLEGAL_CONNECTION = (eda_item_ids, detail) => ({
279
295
  error_code: "Illegal_connection" /* ILLEGAL_CONNECTION */,
280
296
  error_message: `Illegal connection: ${detail}`,
281
- eda_item_ids
297
+ eda_item_ids,
298
+ severity: "error" /* RPT_SEVERITY_ERROR */
282
299
  });
283
300
  var CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT = (bundle_id) => ({
284
301
  error_code: "connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */,
285
302
  error_message: "Connections count exceeds bundle limit.",
286
- eda_item_ids: [bundle_id]
303
+ eda_item_ids: [bundle_id],
304
+ severity: "error" /* RPT_SEVERITY_ERROR */
287
305
  });
288
306
  var INVALID_INPUT = (eda_item_ids, error_message) => {
289
307
  return {
290
308
  error_code: "Invalid input" /* INVALID_INPUT */,
291
309
  error_message,
292
- eda_item_ids
310
+ eda_item_ids,
311
+ severity: "warning" /* RPT_SEVERITY_WARNING */
293
312
  };
294
313
  };
295
314
  var INVALID_PORT_ID_REFERENCED_IN_CONNECTION = (eda_item_ids) => ({
296
315
  error_code: "Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */,
297
316
  error_message: "Invalid port id referenced in connections.",
298
- eda_item_ids
317
+ eda_item_ids,
318
+ severity: "warning" /* RPT_SEVERITY_WARNING */
299
319
  });
300
320
 
301
321
  // src/erc/parameter_propagation/link_testers/tester_impl.ts
@@ -1198,8 +1218,9 @@ var ParameterPropagationTester = class {
1198
1218
  this.link_map = (0, import_electronics_model4.gen_link_map)();
1199
1219
  const ports = [];
1200
1220
  const valid_port = (p) => {
1221
+ const port = p.param;
1201
1222
  try {
1202
- const zod_schema = (0, import_electronics_model4.get_port_schema)(p.param);
1223
+ const zod_schema = (0, import_electronics_model4.get_port_schema)(port);
1203
1224
  if (!zod_schema) {
1204
1225
  this.ctx.report.erc_errors.push(
1205
1226
  INVALID_INPUT([p.uuid], {
@@ -1208,14 +1229,15 @@ var ParameterPropagationTester = class {
1208
1229
  );
1209
1230
  return;
1210
1231
  }
1211
- p.param = zod_schema.parse(p.param);
1232
+ zod_schema.parse(port);
1212
1233
  ports.push(p);
1213
1234
  } catch (err) {
1214
1235
  if (err instanceof z.ZodError) {
1215
1236
  this.ctx.report.erc_errors.push(
1216
1237
  INVALID_INPUT([p.uuid], {
1217
1238
  input: p,
1218
- issues: err.issues
1239
+ issues: err.issues,
1240
+ port
1219
1241
  })
1220
1242
  );
1221
1243
  }
@@ -1245,14 +1267,14 @@ var ParameterPropagationTester = class {
1245
1267
  }
1246
1268
  }
1247
1269
  this.port_id = /* @__PURE__ */ new Map();
1248
- for (const p of ports) this.port_id.set(p.param, p.uuid);
1249
1270
  for (const v of ports) {
1271
+ this.port_id.set(v.param, v.uuid);
1250
1272
  const port = v.param;
1251
1273
  if (port.type === import_electronics_model4.PortType.Passive) this.has_passive_port = true;
1252
- const link_type = (0, import_electronics_model4.get_port_link_type)(port);
1274
+ let link_type = (0, import_electronics_model4.get_port_link_type)(port);
1253
1275
  if (link_type instanceof Error) {
1254
- this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message }));
1255
- continue;
1276
+ this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message, port }));
1277
+ link_type = import_electronics_model4.LinkType.PassiveLink;
1256
1278
  }
1257
1279
  const arr = this.link_map[link_type];
1258
1280
  arr.push(port);
@@ -1417,7 +1439,7 @@ var ERC_SETTING = class {
1417
1439
  this.rule_severities = rule_severities;
1418
1440
  }
1419
1441
  IsTestEnabled(code) {
1420
- return this.rule_severities[code] !== 64 /* RPT_SEVERITY_IGNORE */;
1442
+ return this.rule_severities[code] !== "ignore" /* RPT_SEVERITY_IGNORE */;
1421
1443
  }
1422
1444
  GetPinMapValue(aFirstType, aSecondType) {
1423
1445
  return this.pin_map[aFirstType][aSecondType];
@@ -1473,54 +1495,54 @@ var DEFAULT_PIN_MAP = [
1473
1495
  [ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR]
1474
1496
  ];
1475
1497
  var DEFAULT_SEVERITY = {
1476
- ["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: 16 /* RPT_SEVERITY_WARNING */,
1477
- ["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: 16 /* RPT_SEVERITY_WARNING */,
1478
- ["similar_labels" /* ERCE_SIMILAR_LABELS */]: 16 /* RPT_SEVERITY_WARNING */,
1479
- ["similar_power" /* ERCE_SIMILAR_POWER */]: 16 /* RPT_SEVERITY_WARNING */,
1480
- ["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: 16 /* RPT_SEVERITY_WARNING */,
1481
- ["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: 64 /* RPT_SEVERITY_IGNORE */,
1482
- ["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: 16 /* RPT_SEVERITY_WARNING */,
1483
- ["global_label_dangling" /* ERCE_GLOBLABEL */]: 16 /* RPT_SEVERITY_WARNING */,
1484
- ["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: 16 /* RPT_SEVERITY_WARNING */,
1485
- ["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: 16 /* RPT_SEVERITY_WARNING */,
1486
- ["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: 16 /* RPT_SEVERITY_WARNING */,
1487
- ["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: 16 /* RPT_SEVERITY_WARNING */,
1488
- ["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: 16 /* RPT_SEVERITY_WARNING */,
1489
- ["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: 64 /* RPT_SEVERITY_IGNORE */,
1490
- ["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: 16 /* RPT_SEVERITY_WARNING */,
1491
- ["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: 16 /* RPT_SEVERITY_WARNING */,
1492
- ["missing_unit" /* ERCE_MISSING_UNIT */]: 16 /* RPT_SEVERITY_WARNING */,
1493
- ["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: 16 /* RPT_SEVERITY_WARNING */,
1494
- ["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: 16 /* RPT_SEVERITY_WARNING */,
1495
- ["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: 64 /* RPT_SEVERITY_IGNORE */,
1496
- ["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: 64 /* RPT_SEVERITY_IGNORE */,
1497
- ["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: 16 /* RPT_SEVERITY_WARNING */,
1498
- ["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: 16 /* RPT_SEVERITY_WARNING */,
1499
- ["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: 32 /* RPT_SEVERITY_ERROR */,
1500
- ["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: 32 /* RPT_SEVERITY_ERROR */,
1501
- ["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: 32 /* RPT_SEVERITY_ERROR */,
1502
- ["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: 32 /* RPT_SEVERITY_ERROR */,
1503
- ["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: 32 /* RPT_SEVERITY_ERROR */,
1504
- ["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: 32 /* RPT_SEVERITY_ERROR */,
1505
- ["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: 32 /* RPT_SEVERITY_ERROR */,
1506
- ["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: 32 /* RPT_SEVERITY_ERROR */,
1507
- ["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1508
- ["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1509
- ["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1510
- ["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: 32 /* RPT_SEVERITY_ERROR */,
1511
- ["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: 32 /* RPT_SEVERITY_ERROR */,
1512
- ["wire_dangling" /* ERCE_WIRE_DANGLING */]: 32 /* RPT_SEVERITY_ERROR */,
1513
- ["unannotated" /* ERCE_UNANNOTATED */]: 32 /* RPT_SEVERITY_ERROR */,
1514
- ["extra_units" /* ERCE_EXTRA_UNITS */]: 32 /* RPT_SEVERITY_ERROR */,
1515
- ["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: 32 /* RPT_SEVERITY_ERROR */,
1516
- ["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: 32 /* RPT_SEVERITY_ERROR */,
1517
- ["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: 32 /* RPT_SEVERITY_ERROR */,
1518
- ["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1519
- ["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1520
- ["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: 32 /* RPT_SEVERITY_ERROR */,
1521
- ["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: 32 /* RPT_SEVERITY_ERROR */,
1522
- ["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1523
- ["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: 32 /* RPT_SEVERITY_ERROR */
1498
+ ["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: "warning" /* RPT_SEVERITY_WARNING */,
1499
+ ["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: "warning" /* RPT_SEVERITY_WARNING */,
1500
+ ["similar_labels" /* ERCE_SIMILAR_LABELS */]: "warning" /* RPT_SEVERITY_WARNING */,
1501
+ ["similar_power" /* ERCE_SIMILAR_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
1502
+ ["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
1503
+ ["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1504
+ ["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
1505
+ ["global_label_dangling" /* ERCE_GLOBLABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
1506
+ ["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
1507
+ ["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
1508
+ ["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
1509
+ ["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: "warning" /* RPT_SEVERITY_WARNING */,
1510
+ ["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
1511
+ ["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1512
+ ["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
1513
+ ["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
1514
+ ["missing_unit" /* ERCE_MISSING_UNIT */]: "warning" /* RPT_SEVERITY_WARNING */,
1515
+ ["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
1516
+ ["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
1517
+ ["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1518
+ ["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1519
+ ["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: "warning" /* RPT_SEVERITY_WARNING */,
1520
+ ["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: "warning" /* RPT_SEVERITY_WARNING */,
1521
+ ["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
1522
+ ["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
1523
+ ["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
1524
+ ["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: "error" /* RPT_SEVERITY_ERROR */,
1525
+ ["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
1526
+ ["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: "error" /* RPT_SEVERITY_ERROR */,
1527
+ ["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: "error" /* RPT_SEVERITY_ERROR */,
1528
+ ["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: "error" /* RPT_SEVERITY_ERROR */,
1529
+ ["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1530
+ ["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1531
+ ["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1532
+ ["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: "error" /* RPT_SEVERITY_ERROR */,
1533
+ ["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: "error" /* RPT_SEVERITY_ERROR */,
1534
+ ["wire_dangling" /* ERCE_WIRE_DANGLING */]: "error" /* RPT_SEVERITY_ERROR */,
1535
+ ["unannotated" /* ERCE_UNANNOTATED */]: "error" /* RPT_SEVERITY_ERROR */,
1536
+ ["extra_units" /* ERCE_EXTRA_UNITS */]: "error" /* RPT_SEVERITY_ERROR */,
1537
+ ["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: "error" /* RPT_SEVERITY_ERROR */,
1538
+ ["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: "error" /* RPT_SEVERITY_ERROR */,
1539
+ ["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: "error" /* RPT_SEVERITY_ERROR */,
1540
+ ["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1541
+ ["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1542
+ ["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: "error" /* RPT_SEVERITY_ERROR */,
1543
+ ["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: "error" /* RPT_SEVERITY_ERROR */,
1544
+ ["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1545
+ ["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: "error" /* RPT_SEVERITY_ERROR */
1524
1546
  };
1525
1547
  var DEFAULT_ERC_SETTING = new ERC_SETTING({
1526
1548
  pin_map: DEFAULT_PIN_MAP,
package/dist/index.mjs CHANGED
@@ -12,14 +12,14 @@ var MakerType = /* @__PURE__ */ ((MakerType2) => {
12
12
 
13
13
  // src/erc/context/error_severity.ts
14
14
  var SEVERITY = /* @__PURE__ */ ((SEVERITY2) => {
15
- SEVERITY2[SEVERITY2["RPT_SEVERITY_UNDEFINED"] = 1] = "RPT_SEVERITY_UNDEFINED";
16
- SEVERITY2[SEVERITY2["RPT_SEVERITY_INFO"] = 2] = "RPT_SEVERITY_INFO";
17
- SEVERITY2[SEVERITY2["RPT_SEVERITY_EXCLUSION"] = 4] = "RPT_SEVERITY_EXCLUSION";
18
- SEVERITY2[SEVERITY2["RPT_SEVERITY_ACTION"] = 8] = "RPT_SEVERITY_ACTION";
19
- SEVERITY2[SEVERITY2["RPT_SEVERITY_WARNING"] = 16] = "RPT_SEVERITY_WARNING";
20
- SEVERITY2[SEVERITY2["RPT_SEVERITY_ERROR"] = 32] = "RPT_SEVERITY_ERROR";
21
- SEVERITY2[SEVERITY2["RPT_SEVERITY_IGNORE"] = 64] = "RPT_SEVERITY_IGNORE";
22
- SEVERITY2[SEVERITY2["RPT_SEVERITY_DEBUG"] = 128] = "RPT_SEVERITY_DEBUG";
15
+ SEVERITY2["RPT_SEVERITY_UNDEFINED"] = "undefined";
16
+ SEVERITY2["RPT_SEVERITY_INFO"] = "info";
17
+ SEVERITY2["RPT_SEVERITY_EXCLUSION"] = "exclusion";
18
+ SEVERITY2["RPT_SEVERITY_ACTION"] = "action";
19
+ SEVERITY2["RPT_SEVERITY_WARNING"] = "warning";
20
+ SEVERITY2["RPT_SEVERITY_ERROR"] = "error";
21
+ SEVERITY2["RPT_SEVERITY_IGNORE"] = "ignore";
22
+ SEVERITY2["RPT_SEVERITY_DEBUG"] = "debug";
23
23
  return SEVERITY2;
24
24
  })(SEVERITY || {});
25
25
 
@@ -62,40 +62,40 @@ var PP_ERROR = /* @__PURE__ */ ((PP_ERROR2) => {
62
62
  return PP_ERROR2;
63
63
  })(PP_ERROR || {});
64
64
  var DEFAULT_PP_ERROR_SEVERITY = {
65
- ["un_compiled_block" /* UN_COMPILED_BLOCK */]: 16 /* RPT_SEVERITY_WARNING */,
66
- ["un_compiled_link" /* UN_COMPILED_LINK */]: 16 /* RPT_SEVERITY_WARNING */,
67
- ["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]: 16 /* RPT_SEVERITY_WARNING */,
68
- ["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]: 16 /* RPT_SEVERITY_WARNING */,
69
- ["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]: 16 /* RPT_SEVERITY_WARNING */,
70
- ["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]: 16 /* RPT_SEVERITY_WARNING */,
71
- ["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]: 16 /* RPT_SEVERITY_WARNING */,
72
- ["library_error" /* LIBRARY_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
73
- ["generator_error" /* GENERATOR_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
74
- ["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]: 16 /* RPT_SEVERITY_WARNING */,
75
- ["over_assign" /* OVER_ASSIGN */]: 32 /* RPT_SEVERITY_ERROR */,
76
- ["bad_reference" /* BAD_REFERENCE */]: 16 /* RPT_SEVERITY_WARNING */,
77
- ["abstract_block" /* ABSTRACT_BLOCK */]: 16 /* RPT_SEVERITY_WARNING */,
78
- ["failed_assertion" /* FAILED_ASSERTION */]: 32 /* RPT_SEVERITY_ERROR */,
79
- ["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]: 32 /* RPT_SEVERITY_ERROR */,
80
- ["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]: 16 /* RPT_SEVERITY_WARNING */,
81
- ["pp_unannotated" /* PP_UNANNOTATED */]: 16 /* RPT_SEVERITY_WARNING */,
82
- ["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: 32 /* RPT_SEVERITY_ERROR */,
83
- ["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: 32 /* RPT_SEVERITY_ERROR */,
84
- ["pp_not_driven" /* NOT_DRIVEN */]: 16 /* RPT_SEVERITY_WARNING */,
85
- ["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]: 16 /* RPT_SEVERITY_WARNING */,
86
- ["Insufficient_driver" /* INSUFFICIENT_DRIVER */]: 16 /* RPT_SEVERITY_WARNING */,
87
- ["over_driven" /* OVER_DRIVEN */]: 16 /* RPT_SEVERITY_WARNING */,
88
- ["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]: 16 /* RPT_SEVERITY_WARNING */,
89
- ["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]: 16 /* RPT_SEVERITY_WARNING */,
90
- ["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]: 16 /* RPT_SEVERITY_WARNING */,
91
- ["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]: 16 /* RPT_SEVERITY_WARNING */,
92
- ["overcurrent" /* OVERCURRENT */]: 16 /* RPT_SEVERITY_WARNING */,
93
- ["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]: 16 /* RPT_SEVERITY_WARNING */,
94
- ["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]: 16 /* RPT_SEVERITY_WARNING */,
95
- ["Illegal_connection" /* ILLEGAL_CONNECTION */]: 32 /* RPT_SEVERITY_ERROR */,
96
- ["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]: 32 /* RPT_SEVERITY_ERROR */,
97
- ["Invalid input" /* INVALID_INPUT */]: 16 /* RPT_SEVERITY_WARNING */,
98
- ["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]: 16 /* RPT_SEVERITY_WARNING */
65
+ ["un_compiled_block" /* UN_COMPILED_BLOCK */]: "warning" /* RPT_SEVERITY_WARNING */,
66
+ ["un_compiled_link" /* UN_COMPILED_LINK */]: "warning" /* RPT_SEVERITY_WARNING */,
67
+ ["un_compiled_link_array" /* UN_COMPILED_LINK_ARRAY */]: "warning" /* RPT_SEVERITY_WARNING */,
68
+ ["un_compiled_parameter" /* UN_COMPILED_PARAMETER */]: "warning" /* RPT_SEVERITY_WARNING */,
69
+ ["un_compiled_internal_element" /* UN_COMPILED_INTERNAL_ELEMENT */]: "warning" /* RPT_SEVERITY_WARNING */,
70
+ ["un_compiled_library_element" /* UN_COMPILED_LIBRARY_ELEMENT */]: "warning" /* RPT_SEVERITY_WARNING */,
71
+ ["undefined_port_array" /* UNDEFINED_PORT_ARRAY */]: "warning" /* RPT_SEVERITY_WARNING */,
72
+ ["library_error" /* LIBRARY_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
73
+ ["generator_error" /* GENERATOR_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
74
+ ["refinement_subclass_error" /* REFINEMENT_SUBCLASS_ERROR */]: "warning" /* RPT_SEVERITY_WARNING */,
75
+ ["over_assign" /* OVER_ASSIGN */]: "error" /* RPT_SEVERITY_ERROR */,
76
+ ["bad_reference" /* BAD_REFERENCE */]: "warning" /* RPT_SEVERITY_WARNING */,
77
+ ["abstract_block" /* ABSTRACT_BLOCK */]: "warning" /* RPT_SEVERITY_WARNING */,
78
+ ["failed_assertion" /* FAILED_ASSERTION */]: "error" /* RPT_SEVERITY_ERROR */,
79
+ ["un_evaluated_assertion" /* UN_EVALUATED_ASSERTION */]: "error" /* RPT_SEVERITY_ERROR */,
80
+ ["inconsistent_link_array_elements" /* INCONSISTENT_LINK_ARRAY_ELEMENTS */]: "warning" /* RPT_SEVERITY_WARNING */,
81
+ ["pp_unannotated" /* PP_UNANNOTATED */]: "warning" /* RPT_SEVERITY_WARNING */,
82
+ ["pp_unknown_port_type" /* PP_UNKNOWN_PORT_TYPE */]: "error" /* RPT_SEVERITY_ERROR */,
83
+ ["Functionally inappropriate link" /* INAPPROPRIATE_FUNC */]: "error" /* RPT_SEVERITY_ERROR */,
84
+ ["pp_not_driven" /* NOT_DRIVEN */]: "warning" /* RPT_SEVERITY_WARNING */,
85
+ ["duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */]: "warning" /* RPT_SEVERITY_WARNING */,
86
+ ["Insufficient_driver" /* INSUFFICIENT_DRIVER */]: "warning" /* RPT_SEVERITY_WARNING */,
87
+ ["over_driven" /* OVER_DRIVEN */]: "warning" /* RPT_SEVERITY_WARNING */,
88
+ ["impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */]: "warning" /* RPT_SEVERITY_WARNING */,
89
+ ["incompatible_voltage_levels" /* INCOMPATIBLE_VOLTAGE_LEVELS */]: "warning" /* RPT_SEVERITY_WARNING */,
90
+ ["signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */]: "warning" /* RPT_SEVERITY_WARNING */,
91
+ ["incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */]: "warning" /* RPT_SEVERITY_WARNING */,
92
+ ["overcurrent" /* OVERCURRENT */]: "warning" /* RPT_SEVERITY_WARNING */,
93
+ ["incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */]: "warning" /* RPT_SEVERITY_WARNING */,
94
+ ["requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */]: "warning" /* RPT_SEVERITY_WARNING */,
95
+ ["Illegal_connection" /* ILLEGAL_CONNECTION */]: "error" /* RPT_SEVERITY_ERROR */,
96
+ ["connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */]: "error" /* RPT_SEVERITY_ERROR */,
97
+ ["Invalid input" /* INVALID_INPUT */]: "warning" /* RPT_SEVERITY_WARNING */,
98
+ ["Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */]: "warning" /* RPT_SEVERITY_WARNING */
99
99
  };
100
100
 
101
101
  // src/erc/parameter_propagation/tester.ts
@@ -127,104 +127,124 @@ import { get_electrical_pin_type } from "@modular-circuit/electronics-model";
127
127
  var ERCE_UNANNOTATED = (id) => ({
128
128
  error_code: "unannotated" /* ERCE_UNANNOTATED */,
129
129
  error_message: "Port has no electrical type specified.",
130
- eda_item_ids: [id]
130
+ eda_item_ids: [id],
131
+ severity: "warning" /* RPT_SEVERITY_WARNING */
131
132
  });
132
133
  var ERCE_PIN_TO_PIN_ERROR = (a, b) => ({
133
134
  error_code: "ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */,
134
135
  error_message: `Port ${get_electrical_pin_type(a)} and port ${get_electrical_pin_type(b)} are not compatible.`,
135
- eda_item_ids: [a.uuid, b.uuid]
136
+ eda_item_ids: [a.uuid, b.uuid],
137
+ severity: "error" /* RPT_SEVERITY_ERROR */
136
138
  });
137
139
  var ERCE_PIN_NOT_CONNECTED = (id) => ({
138
140
  error_code: "pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */,
139
141
  error_message: "Port not connected.",
140
- eda_item_ids: [id]
142
+ eda_item_ids: [id],
143
+ severity: "warning" /* RPT_SEVERITY_WARNING */
141
144
  });
142
145
  var ERCE_DRIVER_CONFLICT = (eda_item_ids, primaryName, secondaryName) => ({
143
146
  error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
144
- error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net. `,
145
- eda_item_ids
147
+ error_message: `Both ${primaryName} and ${secondaryName} are attached to the same net.`,
148
+ eda_item_ids,
149
+ severity: "error" /* RPT_SEVERITY_ERROR */
146
150
  });
147
151
  var PP_INAPPROPRIATE_FUNC = (eda_item_ids) => ({
148
152
  error_code: "Functionally inappropriate link" /* INAPPROPRIATE_FUNC */,
149
153
  error_message: "Inappropriate ports functions.",
150
- eda_item_ids
154
+ eda_item_ids,
155
+ severity: "error" /* RPT_SEVERITY_ERROR */
151
156
  });
152
157
  var PP_NOT_DRIVEN = (eda_item_ids) => ({
153
158
  error_code: "pp_not_driven" /* NOT_DRIVEN */,
154
159
  error_message: "Net not driven.",
155
- eda_item_ids
160
+ eda_item_ids,
161
+ severity: "error" /* RPT_SEVERITY_ERROR */
156
162
  });
157
163
  var PP_DUPLICATED_SOURCES = (eda_item_ids) => ({
158
164
  error_code: "duplicated_pwr_sources" /* DUPLICATED_PWR_SOURCES */,
159
165
  error_message: "Net connected to multiple power sources.",
160
- eda_item_ids
166
+ eda_item_ids,
167
+ severity: "error" /* RPT_SEVERITY_ERROR */
161
168
  });
162
169
  var PP_INSUFFICIENT_DRIVER = (eda_item_ids, desc) => ({
163
170
  error_code: "Insufficient_driver" /* INSUFFICIENT_DRIVER */,
164
171
  error_message: `Insufficient ${desc} driver.`,
165
- eda_item_ids
172
+ eda_item_ids,
173
+ severity: "error" /* RPT_SEVERITY_ERROR */
166
174
  });
167
175
  var PP_OVER_DRIVEN = (eda_item_ids, desc) => ({
168
176
  error_code: "over_driven" /* OVER_DRIVEN */,
169
177
  error_message: `${desc} over driven.`,
170
- eda_item_ids
178
+ eda_item_ids,
179
+ severity: "error" /* RPT_SEVERITY_ERROR */
171
180
  });
172
181
  var PP_IMPEDANCE_SIGNAL_INTEGRITY = (eda_item_ids) => ({
173
182
  error_code: "impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */,
174
183
  error_message: "Source impedance shall be 10x lower than sink impedance for signal integrity.",
175
- eda_item_ids
184
+ eda_item_ids,
185
+ severity: "error" /* RPT_SEVERITY_ERROR */
176
186
  });
177
187
  var PP_INCOMPATIBLE_VOLTAGE_LEVELS = (source) => ({
178
188
  error_code: "impedance_signal_integrity" /* IMPEDANCE_SIGNAL_INTEGRITY */,
179
189
  error_message: "Incompatible voltage levels.",
180
- eda_item_ids: [source]
190
+ eda_item_ids: [source],
191
+ severity: "error" /* RPT_SEVERITY_ERROR */
181
192
  });
182
193
  var PP_SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE = (source) => ({
183
194
  error_code: "signal_levels_not_contained_within_voltage" /* SIGNAL_LEVELS_NOT_CONTAINED_WITHIN_VOLTAGE */,
184
195
  error_message: "Signal levels not contained within voltage.",
185
- eda_item_ids: [source]
196
+ eda_item_ids: [source],
197
+ severity: "error" /* RPT_SEVERITY_ERROR */
186
198
  });
187
199
  var PP_INCOMPATIBLE_SIGNAL_LEVELS = (source) => ({
188
200
  error_code: "incompatible_signal_levels" /* INCOMPATIBLE_SIGNAL_LEVELS */,
189
201
  error_message: "Incompatible signal levels.",
190
- eda_item_ids: [source]
202
+ eda_item_ids: [source],
203
+ severity: "error" /* RPT_SEVERITY_ERROR */
191
204
  });
192
205
  var PP_OVERCURRENT = (source) => ({
193
206
  error_code: "overcurrent" /* OVERCURRENT */,
194
207
  error_message: "overcurrent.",
195
- eda_item_ids: [source]
208
+ eda_item_ids: [source],
209
+ severity: "error" /* RPT_SEVERITY_ERROR */
196
210
  });
197
211
  var PP_INCOMPATIBLE_DIGITAL_THRESHOLDS = (eda_item_ids) => ({
198
212
  error_code: "incompatible_digital_thresholds" /* INCOMPATIBLE_DIGITAL_THRESHOLDS */,
199
213
  error_message: "Incompatible digital thresholds.",
200
- eda_item_ids
214
+ eda_item_ids,
215
+ severity: "error" /* RPT_SEVERITY_ERROR */
201
216
  });
202
217
  var PP_REQUIRES_CONNECTED_SOURCE_OR_BIDIR = (eda_item_ids) => ({
203
218
  error_code: "requires_connected_source_or_bidir" /* REQUIRES_CONNECTED_SOURCE_OR_BIDIR */,
204
219
  error_message: "Requires connected source or bidir.",
205
- eda_item_ids
220
+ eda_item_ids,
221
+ severity: "error" /* RPT_SEVERITY_ERROR */
206
222
  });
207
223
  var PP_ILLEGAL_CONNECTION = (eda_item_ids, detail) => ({
208
224
  error_code: "Illegal_connection" /* ILLEGAL_CONNECTION */,
209
225
  error_message: `Illegal connection: ${detail}`,
210
- eda_item_ids
226
+ eda_item_ids,
227
+ severity: "error" /* RPT_SEVERITY_ERROR */
211
228
  });
212
229
  var CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT = (bundle_id) => ({
213
230
  error_code: "connection_count_exceeds_bundle_limit" /* CONNECTIONS_COUNT_EXCEEDS_BUNDLE_LIMIT */,
214
231
  error_message: "Connections count exceeds bundle limit.",
215
- eda_item_ids: [bundle_id]
232
+ eda_item_ids: [bundle_id],
233
+ severity: "error" /* RPT_SEVERITY_ERROR */
216
234
  });
217
235
  var INVALID_INPUT = (eda_item_ids, error_message) => {
218
236
  return {
219
237
  error_code: "Invalid input" /* INVALID_INPUT */,
220
238
  error_message,
221
- eda_item_ids
239
+ eda_item_ids,
240
+ severity: "warning" /* RPT_SEVERITY_WARNING */
222
241
  };
223
242
  };
224
243
  var INVALID_PORT_ID_REFERENCED_IN_CONNECTION = (eda_item_ids) => ({
225
244
  error_code: "Invalid port id referenced in connection" /* INVALID_PORT_ID_REFERENCED_IN_CONNECTION */,
226
245
  error_message: "Invalid port id referenced in connections.",
227
- eda_item_ids
246
+ eda_item_ids,
247
+ severity: "warning" /* RPT_SEVERITY_WARNING */
228
248
  });
229
249
 
230
250
  // src/erc/parameter_propagation/link_testers/tester_impl.ts
@@ -1138,8 +1158,9 @@ var ParameterPropagationTester = class {
1138
1158
  this.link_map = gen_link_map();
1139
1159
  const ports = [];
1140
1160
  const valid_port = (p) => {
1161
+ const port = p.param;
1141
1162
  try {
1142
- const zod_schema = get_port_schema(p.param);
1163
+ const zod_schema = get_port_schema(port);
1143
1164
  if (!zod_schema) {
1144
1165
  this.ctx.report.erc_errors.push(
1145
1166
  INVALID_INPUT([p.uuid], {
@@ -1148,14 +1169,15 @@ var ParameterPropagationTester = class {
1148
1169
  );
1149
1170
  return;
1150
1171
  }
1151
- p.param = zod_schema.parse(p.param);
1172
+ zod_schema.parse(port);
1152
1173
  ports.push(p);
1153
1174
  } catch (err) {
1154
1175
  if (err instanceof z.ZodError) {
1155
1176
  this.ctx.report.erc_errors.push(
1156
1177
  INVALID_INPUT([p.uuid], {
1157
1178
  input: p,
1158
- issues: err.issues
1179
+ issues: err.issues,
1180
+ port
1159
1181
  })
1160
1182
  );
1161
1183
  }
@@ -1185,14 +1207,14 @@ var ParameterPropagationTester = class {
1185
1207
  }
1186
1208
  }
1187
1209
  this.port_id = /* @__PURE__ */ new Map();
1188
- for (const p of ports) this.port_id.set(p.param, p.uuid);
1189
1210
  for (const v of ports) {
1211
+ this.port_id.set(v.param, v.uuid);
1190
1212
  const port = v.param;
1191
1213
  if (port.type === PortType2.Passive) this.has_passive_port = true;
1192
- const link_type = get_port_link_type(port);
1214
+ let link_type = get_port_link_type(port);
1193
1215
  if (link_type instanceof Error) {
1194
- this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message }));
1195
- continue;
1216
+ this.ctx.report.erc_errors.push(INVALID_INPUT([v.uuid], { error: link_type.message, port }));
1217
+ link_type = LinkType.PassiveLink;
1196
1218
  }
1197
1219
  const arr = this.link_map[link_type];
1198
1220
  arr.push(port);
@@ -1357,7 +1379,7 @@ var ERC_SETTING = class {
1357
1379
  this.rule_severities = rule_severities;
1358
1380
  }
1359
1381
  IsTestEnabled(code) {
1360
- return this.rule_severities[code] !== 64 /* RPT_SEVERITY_IGNORE */;
1382
+ return this.rule_severities[code] !== "ignore" /* RPT_SEVERITY_IGNORE */;
1361
1383
  }
1362
1384
  GetPinMapValue(aFirstType, aSecondType) {
1363
1385
  return this.pin_map[aFirstType][aSecondType];
@@ -1413,54 +1435,54 @@ var DEFAULT_PIN_MAP = [
1413
1435
  [ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR, ERR]
1414
1436
  ];
1415
1437
  var DEFAULT_SEVERITY = {
1416
- ["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: 16 /* RPT_SEVERITY_WARNING */,
1417
- ["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: 16 /* RPT_SEVERITY_WARNING */,
1418
- ["similar_labels" /* ERCE_SIMILAR_LABELS */]: 16 /* RPT_SEVERITY_WARNING */,
1419
- ["similar_power" /* ERCE_SIMILAR_POWER */]: 16 /* RPT_SEVERITY_WARNING */,
1420
- ["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: 16 /* RPT_SEVERITY_WARNING */,
1421
- ["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: 64 /* RPT_SEVERITY_IGNORE */,
1422
- ["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: 16 /* RPT_SEVERITY_WARNING */,
1423
- ["global_label_dangling" /* ERCE_GLOBLABEL */]: 16 /* RPT_SEVERITY_WARNING */,
1424
- ["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: 16 /* RPT_SEVERITY_WARNING */,
1425
- ["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: 16 /* RPT_SEVERITY_WARNING */,
1426
- ["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: 16 /* RPT_SEVERITY_WARNING */,
1427
- ["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: 16 /* RPT_SEVERITY_WARNING */,
1428
- ["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: 16 /* RPT_SEVERITY_WARNING */,
1429
- ["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: 64 /* RPT_SEVERITY_IGNORE */,
1430
- ["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: 16 /* RPT_SEVERITY_WARNING */,
1431
- ["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: 16 /* RPT_SEVERITY_WARNING */,
1432
- ["missing_unit" /* ERCE_MISSING_UNIT */]: 16 /* RPT_SEVERITY_WARNING */,
1433
- ["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: 16 /* RPT_SEVERITY_WARNING */,
1434
- ["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: 16 /* RPT_SEVERITY_WARNING */,
1435
- ["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: 64 /* RPT_SEVERITY_IGNORE */,
1436
- ["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: 64 /* RPT_SEVERITY_IGNORE */,
1437
- ["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: 16 /* RPT_SEVERITY_WARNING */,
1438
- ["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: 16 /* RPT_SEVERITY_WARNING */,
1439
- ["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: 32 /* RPT_SEVERITY_ERROR */,
1440
- ["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: 32 /* RPT_SEVERITY_ERROR */,
1441
- ["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: 32 /* RPT_SEVERITY_ERROR */,
1442
- ["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: 32 /* RPT_SEVERITY_ERROR */,
1443
- ["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: 32 /* RPT_SEVERITY_ERROR */,
1444
- ["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: 32 /* RPT_SEVERITY_ERROR */,
1445
- ["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: 32 /* RPT_SEVERITY_ERROR */,
1446
- ["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: 32 /* RPT_SEVERITY_ERROR */,
1447
- ["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1448
- ["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1449
- ["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: 32 /* RPT_SEVERITY_ERROR */,
1450
- ["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: 32 /* RPT_SEVERITY_ERROR */,
1451
- ["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: 32 /* RPT_SEVERITY_ERROR */,
1452
- ["wire_dangling" /* ERCE_WIRE_DANGLING */]: 32 /* RPT_SEVERITY_ERROR */,
1453
- ["unannotated" /* ERCE_UNANNOTATED */]: 32 /* RPT_SEVERITY_ERROR */,
1454
- ["extra_units" /* ERCE_EXTRA_UNITS */]: 32 /* RPT_SEVERITY_ERROR */,
1455
- ["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: 32 /* RPT_SEVERITY_ERROR */,
1456
- ["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: 32 /* RPT_SEVERITY_ERROR */,
1457
- ["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: 32 /* RPT_SEVERITY_ERROR */,
1458
- ["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1459
- ["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1460
- ["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: 32 /* RPT_SEVERITY_ERROR */,
1461
- ["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: 32 /* RPT_SEVERITY_ERROR */,
1462
- ["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: 32 /* RPT_SEVERITY_ERROR */,
1463
- ["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: 32 /* RPT_SEVERITY_ERROR */
1438
+ ["endpoint_off_grid" /* ERCE_ENDPOINT_OFF_GRID */]: "warning" /* RPT_SEVERITY_WARNING */,
1439
+ ["ERCE_PIN_TO_PIN_WARNING" /* ERCE_PIN_TO_PIN_WARNING */]: "warning" /* RPT_SEVERITY_WARNING */,
1440
+ ["similar_labels" /* ERCE_SIMILAR_LABELS */]: "warning" /* RPT_SEVERITY_WARNING */,
1441
+ ["similar_power" /* ERCE_SIMILAR_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
1442
+ ["similar_label_and_power" /* ERCE_SIMILAR_LABEL_AND_POWER */]: "warning" /* RPT_SEVERITY_WARNING */,
1443
+ ["single_global_label" /* ERCE_SINGLE_GLOBAL_LABEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1444
+ ["same_local_global_label" /* ERCE_SAME_LOCAL_GLOBAL_LABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
1445
+ ["global_label_dangling" /* ERCE_GLOBLABEL */]: "warning" /* RPT_SEVERITY_WARNING */,
1446
+ ["multiple_net_names" /* ERCE_DRIVER_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
1447
+ ["net_not_bus_member" /* ERCE_BUS_ENTRY_CONFLICT */]: "warning" /* RPT_SEVERITY_WARNING */,
1448
+ ["lib_symbol_issues" /* ERCE_LIB_SYMBOL_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
1449
+ ["lib_symbol_mismatch" /* ERCE_LIB_SYMBOL_MISMATCH */]: "warning" /* RPT_SEVERITY_WARNING */,
1450
+ ["footprint_link_issues" /* ERCE_FOOTPRINT_LINK_ISSUES */]: "warning" /* RPT_SEVERITY_WARNING */,
1451
+ ["footprint_filter" /* ERCE_FOOTPRINT_FILTERS */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1452
+ ["no_connect_connected" /* ERCE_NOCONNECT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
1453
+ ["no_connect_dangling" /* ERCE_NOCONNECT_NOT_CONNECTED */]: "warning" /* RPT_SEVERITY_WARNING */,
1454
+ ["missing_unit" /* ERCE_MISSING_UNIT */]: "warning" /* RPT_SEVERITY_WARNING */,
1455
+ ["missing_input_pin" /* ERCE_MISSING_INPUT_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
1456
+ ["missing_bidi_pin" /* ERCE_MISSING_BIDI_PIN */]: "warning" /* RPT_SEVERITY_WARNING */,
1457
+ ["simulation_model_issue" /* ERCE_SIMULATION_MODEL */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1458
+ ["four_way_junction" /* ERCE_FOUR_WAY_JUNCTION */]: "ignore" /* RPT_SEVERITY_IGNORE */,
1459
+ ["label_multiple_wires" /* ERCE_LABEL_MULTIPLE_WIRES */]: "warning" /* RPT_SEVERITY_WARNING */,
1460
+ ["unconnected_wire_endpoint" /* ERCE_UNCONNECTED_WIRE_ENDPOINT */]: "warning" /* RPT_SEVERITY_WARNING */,
1461
+ ["pin_not_connected" /* ERCE_PIN_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
1462
+ ["pin_not_driven" /* ERCE_PIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
1463
+ ["power_pin_not_driven" /* ERCE_POWERPIN_NOT_DRIVEN */]: "error" /* RPT_SEVERITY_ERROR */,
1464
+ ["hier_label_mismatch" /* ERCE_HIERACHICAL_LABEL */]: "error" /* RPT_SEVERITY_ERROR */,
1465
+ ["label_dangling" /* ERCE_LABEL_NOT_CONNECTED */]: "error" /* RPT_SEVERITY_ERROR */,
1466
+ ["different_unit_footprint" /* ERCE_DIFFERENT_UNIT_FP */]: "error" /* RPT_SEVERITY_ERROR */,
1467
+ ["missing_power_input_pin" /* ERCE_MISSING_POWER_INPUT_PIN */]: "error" /* RPT_SEVERITY_ERROR */,
1468
+ ["different_unit_net" /* ERCE_DIFFERENT_UNIT_NET */]: "error" /* RPT_SEVERITY_ERROR */,
1469
+ ["bus_definition_conflict" /* ERCE_BUS_ALIAS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1470
+ ["bus_to_bus_conflict" /* ERCE_BUS_TO_BUS_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1471
+ ["bus_to_net_conflict" /* ERCE_BUS_TO_NET_CONFLICT */]: "error" /* RPT_SEVERITY_ERROR */,
1472
+ ["unresolved_variable" /* ERCE_UNRESOLVED_VARIABLE */]: "error" /* RPT_SEVERITY_ERROR */,
1473
+ ["undefined_netclass" /* ERCE_UNDEFINED_NETCLASS */]: "error" /* RPT_SEVERITY_ERROR */,
1474
+ ["wire_dangling" /* ERCE_WIRE_DANGLING */]: "error" /* RPT_SEVERITY_ERROR */,
1475
+ ["unannotated" /* ERCE_UNANNOTATED */]: "error" /* RPT_SEVERITY_ERROR */,
1476
+ ["extra_units" /* ERCE_EXTRA_UNITS */]: "error" /* RPT_SEVERITY_ERROR */,
1477
+ ["unit_value_mismatch" /* ERCE_DIFFERENT_UNIT_VALUE */]: "error" /* RPT_SEVERITY_ERROR */,
1478
+ ["duplicate_reference" /* ERCE_DUPLICATE_REFERENCE */]: "error" /* RPT_SEVERITY_ERROR */,
1479
+ ["bus_entry_needed" /* ERCE_BUS_ENTRY_NEEDED */]: "error" /* RPT_SEVERITY_ERROR */,
1480
+ ["ERCE_DUPLICATE_PIN_ERROR" /* ERCE_DUPLICATE_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1481
+ ["ERCE_PIN_TO_PIN_ERROR" /* ERCE_PIN_TO_PIN_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1482
+ ["ERCE_ANNOTATION_ACTION" /* ERCE_ANNOTATION_ACTION */]: "error" /* RPT_SEVERITY_ERROR */,
1483
+ ["ERCE_GENERIC_WARNING" /* ERCE_GENERIC_WARNING */]: "error" /* RPT_SEVERITY_ERROR */,
1484
+ ["ERCE_GENERIC_ERROR" /* ERCE_GENERIC_ERROR */]: "error" /* RPT_SEVERITY_ERROR */,
1485
+ ["duplicate_sheet_names" /* ERCE_DUPLICATE_SHEET_NAME */]: "error" /* RPT_SEVERITY_ERROR */
1464
1486
  };
1465
1487
  var DEFAULT_ERC_SETTING = new ERC_SETTING({
1466
1488
  pin_map: DEFAULT_PIN_MAP,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modular-circuit/perc",
3
- "version": "0.2.7",
3
+ "version": "0.2.9",
4
4
  "description": "Programmable Electronic Circuit Check",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -27,9 +27,9 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "zod": "^4.3.6",
30
- "@modular-circuit/electronics-model": "0.2.4",
31
- "@modular-circuit/ir": "0.2.2",
32
- "@modular-circuit/utils": "0.2.2"
30
+ "@modular-circuit/electronics-model": "0.2.6",
31
+ "@modular-circuit/ir": "0.2.4",
32
+ "@modular-circuit/utils": "0.2.4"
33
33
  },
34
34
  "scripts": {
35
35
  "clean": "rimraf dist",