pyegeria 5.4.0.22__py3-none-any.whl → 5.4.0.23__py3-none-any.whl
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.
- commands/cat/.DS_Store +0 -0
- commands/cat/.env +8 -0
- commands/cat/debug_log.log +0 -0
- commands/cat/list_collections.py +15 -6
- commands/cat/list_format_set.py +90 -85
- commands/cat/logs/pyegeria.log +136 -0
- commands/cli/debug_log.log +0 -0
- commands/ops/logs/pyegeria.log +0 -0
- md_processing/.DS_Store +0 -0
- md_processing/dr-egeria-outbox/Collections-2025-08-12-13-30-37.md +163 -0
- md_processing/dr-egeria-outbox/Collections-2025-08-12-13-35-58.md +474 -0
- md_processing/dr_egeria_inbox/Derive-Dr-Gov-Defs.md +8 -0
- md_processing/dr_egeria_inbox/Dr.Egeria Templates.md +873 -0
- md_processing/dr_egeria_inbox/arch_test.md +57 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro.md +254 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_more_terms.md +696 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part1.md +254 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part2.md +298 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part3.md +608 -0
- md_processing/dr_egeria_inbox/archive/dr_egeria_intro_part4.md +94 -0
- md_processing/dr_egeria_inbox/archive/freddie_intro.md +284 -0
- md_processing/dr_egeria_inbox/archive/freddie_intro_orig.md +275 -0
- md_processing/dr_egeria_inbox/archive/test-term.md +110 -0
- md_processing/dr_egeria_inbox/cat_test.md +100 -0
- md_processing/dr_egeria_inbox/collections.md +39 -0
- md_processing/dr_egeria_inbox/data_designer_debug.log +6 -0
- md_processing/dr_egeria_inbox/data_designer_out.md +60 -0
- md_processing/dr_egeria_inbox/data_designer_search_test.md +11 -0
- md_processing/dr_egeria_inbox/data_field.md +54 -0
- md_processing/dr_egeria_inbox/data_spec.md +77 -0
- md_processing/dr_egeria_inbox/data_spec_test.md +2406 -0
- md_processing/dr_egeria_inbox/data_test.md +179 -0
- md_processing/dr_egeria_inbox/data_test2.md +429 -0
- md_processing/dr_egeria_inbox/data_test3.md +462 -0
- md_processing/dr_egeria_inbox/dr_egeria_data_designer_1.md +124 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_categories.md +168 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_part1.md +280 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_part2.md +313 -0
- md_processing/dr_egeria_inbox/dr_egeria_intro_part3.md +1073 -0
- md_processing/dr_egeria_inbox/dr_egeria_isc1.md +44 -0
- md_processing/dr_egeria_inbox/generated_help_report.md +9 -0
- md_processing/dr_egeria_inbox/glossary_list.md +5 -0
- md_processing/dr_egeria_inbox/glossary_search_test.md +40 -0
- md_processing/dr_egeria_inbox/glossary_test1.md +324 -0
- md_processing/dr_egeria_inbox/gov_def.md +424 -0
- md_processing/dr_egeria_inbox/gov_def2.md +447 -0
- md_processing/dr_egeria_inbox/product.md +50 -0
- md_processing/dr_egeria_inbox/rel.md +8 -0
- md_processing/dr_egeria_inbox/sb.md +119 -0
- md_processing/dr_egeria_inbox/solution-components.md +136 -0
- md_processing/dr_egeria_inbox/solution_blueprints.md +118 -0
- md_processing/dr_egeria_inbox/synonym_test.md +42 -0
- md_processing/dr_egeria_inbox/t2.md +268 -0
- md_processing/dr_egeria_outbox/.obsidian/app.json +1 -0
- md_processing/dr_egeria_outbox/.obsidian/appearance.json +1 -0
- md_processing/dr_egeria_outbox/.obsidian/community-plugins.json +6 -0
- md_processing/dr_egeria_outbox/.obsidian/core-plugins.json +31 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/data.json +10 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/main.js +4459 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/calendar/manifest.json +10 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/data.json +3 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/main.js +153 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/manifest.json +11 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-kanban/styles.css +1 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/main.js +500 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/manifest.json +12 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/obsidian-tasks-plugin/styles.css +1 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/main.js +37 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/manifest.json +11 -0
- md_processing/dr_egeria_outbox/.obsidian/plugins/templater-obsidian/styles.css +220 -0
- md_processing/dr_egeria_outbox/.obsidian/types.json +28 -0
- md_processing/dr_egeria_outbox/.obsidian/workspace.json +220 -0
- md_processing/dr_egeria_outbox/Untitled.canvas +1 -0
- md_processing/dr_egeria_outbox/friday/processed-2025-07-18 15:00-product.md +62 -0
- md_processing/dr_egeria_outbox/friday/processed-2025-07-18 15:13-product.md +62 -0
- md_processing/dr_egeria_outbox/friday/processed-2025-07-20 13:23-product.md +47 -0
- md_processing/dr_egeria_outbox/friday/processed-2025-08-01 11:55-data_test3.md +503 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-07-14 12:38-data_designer_out.md +663 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-07-21 10:52-generated_help_report.md +2744 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-07-21 18:38-collections.md +62 -0
- md_processing/dr_egeria_outbox/monday/processed-2025-08-01 11:34-gov_def.md +444 -0
- md_processing/dr_egeria_outbox/processed-2025-08-03 16:05-glossary_list.md +37 -0
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 14:55-product.md +77 -0
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:05-product.md +75 -0
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 15:11-product.md +74 -0
- md_processing/dr_egeria_outbox/sunday/processed-2025-07-20 20:40-collections.md +49 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 15:00-Derive-Dr-Gov-Defs.md +719 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:13-Derive-Dr-Gov-Defs.md +41 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:14-Derive-Dr-Gov-Defs.md +33 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 20:50-Derive-Dr-Gov-Defs.md +192 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:08-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-17 22:10-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:53-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 08:54-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:03-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:06-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/thursday/processed-2025-07-18 09:10-gov_def2.md +486 -0
- md_processing/dr_egeria_outbox/tuesday/processed-2025-07-16 19:15-gov_def2.md +527 -0
- md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 12:08-gov_def2.md +527 -0
- md_processing/dr_egeria_outbox/tuesday/processed-2025-07-17 14:27-gov_def2.md +485 -0
- md_processing/md_processing_utils/debug_log.log +0 -0
- md_processing/md_processing_utils/solution_architect_log.log +0 -0
- pyegeria/.DS_Store +0 -0
- pyegeria/__init__.py +2 -2
- pyegeria/_client_new.py +45 -49
- pyegeria/_output_format_models.py +22 -17
- pyegeria/_output_formats.py +105 -32
- pyegeria/collection_manager.py +154 -50
- pyegeria/collection_manager_omvs.py +47 -18
- pyegeria/egeria_cat_client.py +1 -1
- pyegeria/egeria_client.py +6 -0
- pyegeria/egeria_tech_client.py +6 -1
- pyegeria/governance_officer.py +2515 -0
- pyegeria/models.py +22 -6
- pyegeria/output_formatter.py +298 -79
- {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/METADATA +1 -1
- {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/RECORD +120 -18
- {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/LICENSE +0 -0
- {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/WHEEL +0 -0
- {pyegeria-5.4.0.22.dist-info → pyegeria-5.4.0.23.dist-info}/entry_points.txt +0 -0
@@ -175,14 +175,16 @@ class FormatSet(BaseModel):
|
|
175
175
|
aliases: Alternative names that can be used to reference this format set
|
176
176
|
annotations: Additional metadata, like wiki links
|
177
177
|
formats: A list of format configurations
|
178
|
-
action: Optional
|
178
|
+
action: Optional action associated with the format set
|
179
|
+
get_additional_props: Optional action used to retrieve additional properties for a format set
|
179
180
|
"""
|
180
181
|
heading: str
|
181
182
|
description: str
|
182
183
|
aliases: List[str] = Field(default_factory=list)
|
183
184
|
annotations: Dict[str, List[str]] = Field(default_factory=dict)
|
184
185
|
formats: List[Union[Format, Dict[str, Any]]]
|
185
|
-
action: Optional[
|
186
|
+
action: Optional[Union[ActionParameter, Dict[str, Any]]] = None
|
187
|
+
get_additional_props: Optional[Union[ActionParameter, Dict[str, Any]]] = None
|
186
188
|
|
187
189
|
@validator('formats', pre=True)
|
188
190
|
def validate_formats(cls, v):
|
@@ -195,18 +197,20 @@ class FormatSet(BaseModel):
|
|
195
197
|
result.append(item)
|
196
198
|
return result
|
197
199
|
|
198
|
-
@validator('action', pre=True)
|
199
|
-
def
|
200
|
-
"""Convert dictionary
|
200
|
+
@validator('action', 'get_additional_props', pre=True)
|
201
|
+
def validate_action_like(cls, v):
|
202
|
+
"""Convert dictionary action-like fields to ActionParameter objects. Accepts legacy list shape."""
|
201
203
|
if v is None:
|
202
204
|
return None
|
203
|
-
|
204
|
-
|
205
|
-
if
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
205
|
+
# Backward compatibility: if a list is provided, use the first element
|
206
|
+
if isinstance(v, list):
|
207
|
+
if not v:
|
208
|
+
return None
|
209
|
+
logger.warning("FormatSet.action/get_additional_props provided as a list; coercing first element to dict. This shape is deprecated.")
|
210
|
+
v = v[0]
|
211
|
+
if isinstance(v, dict):
|
212
|
+
return ActionParameter(**v)
|
213
|
+
return v
|
210
214
|
|
211
215
|
def dict(self, *args, **kwargs):
|
212
216
|
"""Override dict method to convert nested objects back to dictionaries."""
|
@@ -215,11 +219,12 @@ class FormatSet(BaseModel):
|
|
215
219
|
format if isinstance(format, dict) else format.dict()
|
216
220
|
for format in self.formats
|
217
221
|
]
|
218
|
-
if self.action:
|
219
|
-
result['action'] =
|
220
|
-
|
221
|
-
|
222
|
-
|
222
|
+
if self.action is not None:
|
223
|
+
result['action'] = self.action if isinstance(self.action, dict) else self.action.dict()
|
224
|
+
if self.get_additional_props is not None:
|
225
|
+
result['get_additional_props'] = (
|
226
|
+
self.get_additional_props if isinstance(self.get_additional_props, dict) else self.get_additional_props.dict()
|
227
|
+
)
|
223
228
|
return result
|
224
229
|
|
225
230
|
def get(self, key, default=None):
|
pyegeria/_output_formats.py
CHANGED
@@ -70,9 +70,11 @@ from pathlib import Path
|
|
70
70
|
from typing import Dict, List, Optional, Union, Any
|
71
71
|
from loguru import logger
|
72
72
|
|
73
|
-
from pyegeria._output_format_models import Column, Format, ActionParameter, FormatSet, FormatSetDict,
|
73
|
+
from pyegeria._output_format_models import (Column, Format, ActionParameter, FormatSet, FormatSetDict,
|
74
|
+
save_format_sets_to_json, load_format_sets_from_json)
|
74
75
|
from pyegeria.load_config import get_app_config
|
75
76
|
|
77
|
+
|
76
78
|
# Get the configured value for the user format sets directory
|
77
79
|
app_config = get_app_config()
|
78
80
|
USER_FORMAT_SETS_DIR = os.path.expanduser(app_config.Environment.pyegeria_user_format_sets_dir)
|
@@ -90,6 +92,7 @@ COMMON_COLUMNS = [
|
|
90
92
|
|
91
93
|
COMMON_METADATA_COLUMNS = [
|
92
94
|
Column(name='GUID', key='guid', format=True),
|
95
|
+
Column(name='Type Name', key='type_name'),
|
93
96
|
Column(name='Metadata Collection ID', key='metadata_collection_id', format=True),
|
94
97
|
Column(name='Metadata Collection Name', key='metadata_collection_name', format=True),
|
95
98
|
]
|
@@ -120,6 +123,8 @@ COMMON_FORMATS_ALL = Format(
|
|
120
123
|
|
121
124
|
|
122
125
|
COLLECTIONS_COLUMNS = COMMON_COLUMNS + [
|
126
|
+
Column(name='Type Name', key='type_name'),
|
127
|
+
Column(name='Classifications', key='classifications'),
|
123
128
|
Column(name="Created By", key='created_by'),
|
124
129
|
Column(name="Create Time", key='create_time'),
|
125
130
|
Column(name="Updated By", key='updated_by'),
|
@@ -127,23 +132,36 @@ COLLECTIONS_COLUMNS = COMMON_COLUMNS + [
|
|
127
132
|
]
|
128
133
|
|
129
134
|
COLLECTIONS_MEMBERS_COLUMNS = COLLECTIONS_COLUMNS + [
|
130
|
-
Column(name="Members", key='
|
135
|
+
Column(name="Containing Members", key='collection_members'),
|
136
|
+
Column(name="Member Of", key='member_of_collections')
|
131
137
|
]
|
132
138
|
|
133
139
|
COLLECTION_DICT = Format(
|
134
140
|
types=["DICT"],
|
135
|
-
columns=
|
141
|
+
columns=COLLECTIONS_MEMBERS_COLUMNS + [
|
142
|
+
Column(name="GUID", key='GUID'),
|
143
|
+
],
|
144
|
+
)
|
145
|
+
|
146
|
+
COLLECTION_REPORT = Format(
|
147
|
+
types=["REPORT"],
|
148
|
+
columns=COLLECTIONS_MEMBERS_COLUMNS + [
|
149
|
+
Column(name="GUID", key='GUID'),
|
150
|
+
Column(name="Mermaid", key='mermaid'),
|
151
|
+
],
|
136
152
|
)
|
137
153
|
|
138
154
|
COLLECTION_TABLE = Format(
|
139
155
|
types=["TABLE"],
|
140
|
-
columns=
|
156
|
+
columns=COLLECTIONS_MEMBERS_COLUMNS,
|
141
157
|
)
|
142
158
|
|
143
159
|
GOVERNANCE_DEFINITIONS_COLUMNS = COMMON_COLUMNS + [
|
144
|
-
Column(name="
|
145
|
-
Column(name="
|
160
|
+
Column(name="Summary", key='summary'),
|
161
|
+
Column(name="Usage", key='usage'),
|
162
|
+
Column(name="Importance", key='importance'),
|
146
163
|
Column(name="Scope", key='scope'),
|
164
|
+
Column(name="Type", key='type_name'),
|
147
165
|
]
|
148
166
|
|
149
167
|
COMMON_ANNOTATIONS = {
|
@@ -152,6 +170,29 @@ COMMON_ANNOTATIONS = {
|
|
152
170
|
|
153
171
|
# Modularized output_format_sets
|
154
172
|
output_format_sets = FormatSetDict({
|
173
|
+
"Default": FormatSet(
|
174
|
+
heading="Default Base Attributes",
|
175
|
+
description="Was a valid combination of output_format_set and output_format provided?",
|
176
|
+
annotations={}, # No specific annotations
|
177
|
+
formats=[
|
178
|
+
Format(
|
179
|
+
types=["ALL"],
|
180
|
+
columns=COMMON_COLUMNS + COMMON_METADATA_COLUMNS + [
|
181
|
+
Column(name='Version Identifier', key='version_identifier'),
|
182
|
+
Column(name="Classifications", key='classifications'),
|
183
|
+
Column(name="Additional Properties", key='additional_properties'),
|
184
|
+
Column(name="Created By", key='created_by'),
|
185
|
+
Column(name="Create Time", key='create_time'),
|
186
|
+
Column(name="Updated By", key='updated_by'),
|
187
|
+
Column(name="Update Time", key='update_time'),
|
188
|
+
Column(name="Effective From", key='effective_from'),
|
189
|
+
Column(name="Effective To", key='effective_to'),
|
190
|
+
Column(name="Version", key='version'),
|
191
|
+
Column(name="Open Metadata Type Name", key='type_name'),
|
192
|
+
],
|
193
|
+
)
|
194
|
+
],
|
195
|
+
),
|
155
196
|
"Referenceable": FormatSet(
|
156
197
|
heading="Common Attributes",
|
157
198
|
description="Attributes that apply to all Referenceables.",
|
@@ -205,12 +246,12 @@ output_format_sets = FormatSetDict({
|
|
205
246
|
aliases=["Collection", "RootCollection", "Folder", "ReferenceList", "HomeCollection",
|
206
247
|
"ResultSet", "RecentAccess", "WorkItemList", "Namespace"],
|
207
248
|
annotations=COMMON_ANNOTATIONS,
|
208
|
-
formats=[COLLECTION_DICT, COLLECTION_TABLE, COMMON_FORMATS_ALL], # Reusing common formats
|
209
|
-
action=
|
249
|
+
formats=[COLLECTION_DICT, COLLECTION_TABLE, COLLECTION_REPORT, COMMON_FORMATS_ALL], # Reusing common formats
|
250
|
+
action=ActionParameter(
|
210
251
|
function="CollectionManager.find_collections",
|
211
252
|
user_params=["search_string"],
|
212
253
|
spec_params={},
|
213
|
-
)
|
254
|
+
)
|
214
255
|
),
|
215
256
|
|
216
257
|
"CollectionMembers": FormatSet(
|
@@ -219,11 +260,11 @@ output_format_sets = FormatSetDict({
|
|
219
260
|
aliases=["CollectionMember", "Member", "Members"],
|
220
261
|
annotations= {"wikilinks": ["[[CollectionMembers]]"]},
|
221
262
|
formats = [COLLECTION_DICT, COLLECTION_TABLE],
|
222
|
-
action=
|
263
|
+
action=ActionParameter(
|
223
264
|
function="CollectionManager.get_collection_members",
|
224
265
|
user_params=["collection_guid"],
|
225
266
|
spec_params={"output_format": "DICT"},
|
226
|
-
)
|
267
|
+
)
|
227
268
|
),
|
228
269
|
"DigitalProducts": FormatSet(
|
229
270
|
heading="Digital Product Information",
|
@@ -232,7 +273,7 @@ output_format_sets = FormatSetDict({
|
|
232
273
|
annotations={},
|
233
274
|
formats=[
|
234
275
|
Format(
|
235
|
-
types=["REPORT"],
|
276
|
+
types=["REPORT", "DICT", "TABLE"],
|
236
277
|
columns=COMMON_COLUMNS + [
|
237
278
|
Column(name="Status", key='status'),
|
238
279
|
Column(name='Product Name', key='product_name'),
|
@@ -242,35 +283,65 @@ output_format_sets = FormatSetDict({
|
|
242
283
|
Column(name='Next Version', key='next_version'),
|
243
284
|
Column(name='Withdraw Date', key='withdraw_date'),
|
244
285
|
Column(name='Members', key='members', format=True),
|
286
|
+
Column(name='Uses Products', key='uses_digital_products'),
|
287
|
+
Column(name='Used by Products', key='used_by_digital_products'),
|
245
288
|
],
|
246
289
|
)
|
247
290
|
],
|
248
|
-
action=
|
291
|
+
action=ActionParameter(
|
249
292
|
function="CollectionManager.find_collections",
|
250
293
|
user_params=["search_string"],
|
251
|
-
spec_params={
|
252
|
-
)
|
294
|
+
spec_params={},
|
295
|
+
),
|
296
|
+
get_additional_props=ActionParameter(
|
297
|
+
function="CollectionManager._extract_digital_product_properties",
|
298
|
+
user_params = [],
|
299
|
+
spec_params={},
|
300
|
+
)
|
253
301
|
),
|
254
302
|
|
255
303
|
"Agreements": FormatSet(
|
256
304
|
heading="General Agreement Information",
|
257
305
|
description="Attributes generic to all Agreements.",
|
258
|
-
aliases=["DataSharingAgreement"],
|
306
|
+
aliases=["DataSharingAgreement", "Agreement"],
|
259
307
|
annotations={"wikilinks": ["[[Agreements]]", "[[Egeria]]"]},
|
260
|
-
formats=[
|
308
|
+
formats=[
|
309
|
+
Format(
|
310
|
+
types=["REPORT", "DICT", "TABLE"],
|
311
|
+
columns=COMMON_COLUMNS + COMMON_HEADER_COLUMNS + [
|
312
|
+
Column(name='Identifier', key='identifier'),
|
313
|
+
Column(name='Support Level', key='support_level'),
|
314
|
+
Column(name='service Levels', key='service_levels'),
|
315
|
+
Column(name='Agreement Items', key='agreement_items', format=True),
|
316
|
+
Column(name='Members', key='members', format=True),
|
317
|
+
]
|
318
|
+
)
|
319
|
+
],
|
320
|
+
action=ActionParameter(
|
321
|
+
function="CollectionManager.find_collections",
|
322
|
+
user_params=["search_string"],
|
323
|
+
spec_params={"metadata_element_types": ["Agreement"]},
|
324
|
+
# spec_params={},
|
325
|
+
),
|
326
|
+
get_additional_props=ActionParameter(
|
327
|
+
function="CollectionManager._extract_agreement_properties",
|
328
|
+
user_params=[],
|
329
|
+
spec_params={},
|
330
|
+
),
|
261
331
|
),
|
262
332
|
|
333
|
+
|
263
334
|
"DataDictionary": FormatSet(
|
264
335
|
heading="Data Dictionary Information",
|
265
336
|
description="Attributes useful to Data Dictionary.",
|
266
337
|
aliases=["Data Dict", "Data Dictionary"],
|
267
338
|
annotations={"wikilinks": ["[[Data Dictionary]]"]},
|
268
339
|
formats=[COMMON_FORMATS_ALL], # Reusing common formats and columns
|
269
|
-
action=
|
340
|
+
action=ActionParameter(
|
270
341
|
function="CollectionManager.find_collections",
|
271
342
|
user_params=["search_string"],
|
272
343
|
spec_params={"initial_classifications": "DataDictionary"},
|
273
|
-
)
|
344
|
+
)
|
274
345
|
),
|
275
346
|
|
276
347
|
"Data Specification": FormatSet(
|
@@ -285,11 +356,11 @@ output_format_sets = FormatSetDict({
|
|
285
356
|
Column(name="Mermaid", key='mermaid'),
|
286
357
|
]),
|
287
358
|
Format(types=["ALL"], columns=COMMON_COLUMNS)], # Reusing common formats and columns
|
288
|
-
action=
|
359
|
+
action=ActionParameter(
|
289
360
|
function="CollectionManager.find_collections",
|
290
361
|
user_params=["search_string"],
|
291
362
|
spec_params={"initial_classifications": "DataSpec"},
|
292
|
-
)
|
363
|
+
)
|
293
364
|
),
|
294
365
|
|
295
366
|
"DataStruct": FormatSet(
|
@@ -298,11 +369,11 @@ output_format_sets = FormatSetDict({
|
|
298
369
|
aliases=["Data Structure", "DataStructures", "Data Structures", "Data Struct", "DataStructure"],
|
299
370
|
annotations={"wikilinks": ["[[Data Structure]]"]},
|
300
371
|
formats=[Format(types=["ALL"], columns=COMMON_COLUMNS)], # Reusing common formats and columns
|
301
|
-
action=
|
372
|
+
action=ActionParameter(
|
302
373
|
function="DataDesigner.find_data_structures",
|
303
374
|
user_params=["search_string"],
|
304
375
|
spec_params={},
|
305
|
-
)
|
376
|
+
)
|
306
377
|
),
|
307
378
|
|
308
379
|
"DataField": FormatSet(
|
@@ -311,11 +382,11 @@ output_format_sets = FormatSetDict({
|
|
311
382
|
aliases=["Data Field", "Data Fields", "DataFields"],
|
312
383
|
annotations={"wikilinks": ["[[Data Field]]"]},
|
313
384
|
formats=[Format(types=["ALL"], columns=COMMON_COLUMNS)], # Reusing common formats and columns
|
314
|
-
action=
|
385
|
+
action=ActionParameter(
|
315
386
|
function="DataDesigner.find_data_fields",
|
316
387
|
user_params=["search_string"],
|
317
388
|
spec_params={},
|
318
|
-
)
|
389
|
+
)
|
319
390
|
),
|
320
391
|
|
321
392
|
"Mandy-DataStruct": FormatSet(
|
@@ -329,11 +400,11 @@ output_format_sets = FormatSetDict({
|
|
329
400
|
Format(types=["REPORT","MERMAID", "HTML"], columns=[Column(name='Display Name', key='display_name'),
|
330
401
|
Column(name='Mermaid', key='mermaid'),]),
|
331
402
|
],
|
332
|
-
action=
|
403
|
+
action=ActionParameter(
|
333
404
|
function="DataDesigner.find_data_structures",
|
334
405
|
user_params=["search_string"],
|
335
406
|
spec_params={"output_format":"DICT"},
|
336
|
-
)
|
407
|
+
)
|
337
408
|
),
|
338
409
|
|
339
410
|
"Governance Definitions": FormatSet(
|
@@ -342,11 +413,11 @@ output_format_sets = FormatSetDict({
|
|
342
413
|
aliases=["GovernanceDefinitions"],
|
343
414
|
annotations={"wikilinks": ["[[Governance]]"]},
|
344
415
|
formats=[Format(types=["ALL"], columns=GOVERNANCE_DEFINITIONS_COLUMNS)],
|
345
|
-
action=
|
416
|
+
action=ActionParameter(
|
346
417
|
function="GovernanceOfficer.find_governance_definitions",
|
347
|
-
user_params=["
|
348
|
-
spec_params={
|
349
|
-
)
|
418
|
+
user_params=["search_string"],
|
419
|
+
spec_params={},
|
420
|
+
)
|
350
421
|
),
|
351
422
|
})
|
352
423
|
|
@@ -390,7 +461,9 @@ def select_output_format_set(kind: str, output_type: str) -> dict | None:
|
|
390
461
|
output_struct["annotations"] = element.annotations
|
391
462
|
if element.action:
|
392
463
|
# Convert ActionParameter to dictionary for backward compatibility
|
393
|
-
output_struct["action"] =
|
464
|
+
output_struct["action"] = element.action.dict()
|
465
|
+
if element.get_additional_props:
|
466
|
+
output_struct["get_additional_props"] = element.get_additional_props.dict()
|
394
467
|
|
395
468
|
# If this was just a validation that the format set could be found then the output type is ANY - so just return.
|
396
469
|
if output_type == "ANY":
|