Structured data loader CLI

This commit is contained in:
Cyber MacGeddon 2025-09-05 15:27:19 +01:00
parent 4ad462ff95
commit 2dee259dc7

View file

@ -35,6 +35,7 @@ def load_structured_data(
sample_size: int = 100, sample_size: int = 100,
sample_chars: int = 500, sample_chars: int = 500,
schema_name: str = None, schema_name: str = None,
flow: str = 'default',
dry_run: bool = False, dry_run: bool = False,
verbose: bool = False verbose: bool = False
): ):
@ -547,7 +548,7 @@ def load_structured_data(
logger.info(f"Successfully loaded {len(schemas)} schema definitions") logger.info(f"Successfully loaded {len(schemas)} schema definitions")
# Generate descriptor using diagnose-structured-data prompt # Generate descriptor using diagnose-structured-data prompt
flow_api = api.flow().id("default") flow_api = api.flow().id(flow)
logger.info("Calling TrustGraph diagnose-structured-data prompt for descriptor generation...") logger.info("Calling TrustGraph diagnose-structured-data prompt for descriptor generation...")
response = flow_api.prompt( response = flow_api.prompt(
@ -817,7 +818,7 @@ def load_structured_data(
# Convert HTTP URL to WebSocket URL if needed # Convert HTTP URL to WebSocket URL if needed
ws_url = api_url.replace("http://", "ws://").replace("https://", "wss://") ws_url = api_url.replace("http://", "ws://").replace("https://", "wss://")
objects_url = ws_url + "api/v1/flow/default/import/objects" objects_url = ws_url + f"api/v1/flow/{flow}/import/objects"
logger.info(f"Connecting to objects import endpoint: {objects_url}") logger.info(f"Connecting to objects import endpoint: {objects_url}")
@ -904,6 +905,12 @@ For more information on the descriptor format, see:
help=f'TrustGraph API URL (default: {default_url})' help=f'TrustGraph API URL (default: {default_url})'
) )
parser.add_argument(
'--flow',
default='default',
help='TrustGraph flow name to use for import (default: default)'
)
parser.add_argument( parser.add_argument(
'-i', '--input', '-i', '--input',
required=True, required=True,
@ -1020,6 +1027,7 @@ For more information on the descriptor format, see:
sample_size=args.sample_size, sample_size=args.sample_size,
sample_chars=args.sample_chars, sample_chars=args.sample_chars,
schema_name=args.schema_name, schema_name=args.schema_name,
flow=args.flow,
dry_run=args.dry_run, dry_run=args.dry_run,
verbose=args.verbose verbose=args.verbose
) )