unique-sdk 2026.32.0.dev11__tar.gz → 2026.32.0.dev13__tar.gz

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.
Files changed (90) hide show
  1. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/PKG-INFO +1 -1
  2. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/pyproject.toml +1 -1
  3. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/cli.py +219 -10
  4. unique_sdk-2026.32.0.dev13/unique_sdk/cli/commands/agentic_table_write.py +551 -0
  5. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/formatting.py +47 -0
  6. unique_sdk-2026.32.0.dev13/unique_sdk/cli/skills/unique-cli-agentic-table/SKILL.md +226 -0
  7. unique_sdk-2026.32.0.dev11/unique_sdk/cli/skills/unique-cli-agentic-table/SKILL.md +0 -110
  8. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/README.md +0 -0
  9. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/__init__.py +0 -0
  10. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_api_requestor.py +0 -0
  11. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_api_resource.py +0 -0
  12. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_api_version.py +0 -0
  13. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_error.py +0 -0
  14. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_http_client.py +0 -0
  15. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_list_object.py +0 -0
  16. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_object_classes.py +0 -0
  17. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_request_options.py +0 -0
  18. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_unique_object.py +0 -0
  19. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_unique_ql.py +0 -0
  20. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_unique_response.py +0 -0
  21. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_util.py +0 -0
  22. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_version.py +0 -0
  23. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/_webhook.py +0 -0
  24. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/__init__.py +0 -0
  25. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_acronyms.py +0 -0
  26. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_agentic_table.py +0 -0
  27. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_analytics_order.py +0 -0
  28. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_benchmarking.py +0 -0
  29. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_briefing.py +0 -0
  30. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_chat_completion.py +0 -0
  31. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_content.py +0 -0
  32. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_elicitation.py +0 -0
  33. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_embedding.py +0 -0
  34. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_event.py +0 -0
  35. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_folder.py +0 -0
  36. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_group.py +0 -0
  37. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_integrated.py +0 -0
  38. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_llm_models.py +0 -0
  39. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_mcp.py +0 -0
  40. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_message.py +0 -0
  41. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_message_assessment.py +0 -0
  42. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_message_execution.py +0 -0
  43. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_message_log.py +0 -0
  44. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_message_tool.py +0 -0
  45. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_module.py +0 -0
  46. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_scheduled_task.py +0 -0
  47. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_search.py +0 -0
  48. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_search_string.py +0 -0
  49. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_short_term_memory.py +0 -0
  50. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_space.py +0 -0
  51. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_user.py +0 -0
  52. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/api_resources/_web_search.py +0 -0
  53. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/__init__.py +0 -0
  54. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/__main__.py +0 -0
  55. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/__init__.py +0 -0
  56. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/_citation_manifest.py +0 -0
  57. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/agentic_table.py +0 -0
  58. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/browser.py +0 -0
  59. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/cite_file.py +0 -0
  60. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/elicitation.py +0 -0
  61. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/files.py +0 -0
  62. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/folders.py +0 -0
  63. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/mcp.py +0 -0
  64. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/navigation.py +0 -0
  65. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/read.py +0 -0
  66. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/scheduled_tasks.py +0 -0
  67. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/search.py +0 -0
  68. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/subagent.py +0 -0
  69. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/web_search.py +0 -0
  70. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/commands/web_search_config.py +0 -0
  71. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/config.py +0 -0
  72. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/identity.py +0 -0
  73. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/metadata_filter.py +0 -0
  74. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/shell.py +0 -0
  75. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/skills/unique-cli-elicitation/SKILL.md +0 -0
  76. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/skills/unique-cli-file-management/SKILL.md +0 -0
  77. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/skills/unique-cli-mcp/SKILL.md +0 -0
  78. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/skills/unique-cli-scheduled-tasks/SKILL.md +0 -0
  79. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/skills/unique-cli-search/SKILL.md +0 -0
  80. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/skills/unique-cli-subagent/SKILL.md +0 -0
  81. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/skills/unique-cli-uploaded-search/SKILL.md +0 -0
  82. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/skills/unique-cli-web-search/SKILL.md +0 -0
  83. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/cli/state.py +0 -0
  84. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/utils/analytics_order_run.py +0 -0
  85. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/utils/benchmarking_run.py +0 -0
  86. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/utils/chat_history.py +0 -0
  87. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/utils/chat_in_space.py +0 -0
  88. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/utils/file_io.py +0 -0
  89. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/utils/sources.py +0 -0
  90. {unique_sdk-2026.32.0.dev11 → unique_sdk-2026.32.0.dev13}/unique_sdk/utils/token.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: unique-sdk
3
- Version: 2026.32.0.dev11
3
+ Version: 2026.32.0.dev13
4
4
  Summary:
5
5
  Author: Martin Fadler, Konstantin Krauss, Andreas Hauri
6
6
  Author-email: Martin Fadler <martin.fadler@unique.ch>, Konstantin Krauss <konstantin@unique.ch>, Andreas Hauri <andreas@unique.ch>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "unique_sdk"
3
- version = "2026.32.0.dev11"
3
+ version = "2026.32.0.dev13"
4
4
  description = ""
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -18,6 +18,11 @@ from unique_sdk.cli.commands.agentic_table import (
18
18
  from unique_sdk.cli.commands.agentic_table import (
19
19
  is_error_output as _is_agentic_table_error_output,
20
20
  )
21
+ from unique_sdk.cli.commands.agentic_table_write import (
22
+ cmd_create_sheet,
23
+ cmd_export,
24
+ cmd_import,
25
+ )
21
26
  from unique_sdk.cli.commands.browser import (
22
27
  cmd_browser_action,
23
28
  cmd_browser_control,
@@ -2203,28 +2208,35 @@ def web_search_crawl_cmd(
2203
2208
 
2204
2209
 
2205
2210
  _AGENTIC_TABLE_HELP = """\
2206
- Read Agentic Table (magic table) sheets, cells, and cell history.
2211
+ Work with Agentic Table (magic table) sheets over the public magic-table API.
2207
2212
 
2208
2213
  \b
2209
- These are Tier 0 reads over the public magic-table API: no confirmation,
2210
- no writes. Every call is scoped to the current user/company; sheet-role
2211
- access (Owner / Can manage / Can edit) is enforced server-side and a denial
2212
- is reported as `agentic-table: permission denied`.
2214
+ Reads (get-sheet / get-cell / cell-history / list-exports) are Tier 0: no
2215
+ confirmation, no side effects. Writes (create-sheet / import / export) build
2216
+ and run a sheet — the full loop of create, populate, run, and export. Every
2217
+ call is scoped to the current user/company; sheet-role access (Owner / Can
2218
+ manage / Can edit) is enforced server-side and a denial is reported as
2219
+ `agentic-table: permission denied`.
2213
2220
 
2214
2221
  \b
2215
- Subcommands:
2222
+ Read subcommands:
2216
2223
  get-sheet Show a sheet summary (state, row count, metadata, cells)
2217
2224
  get-cell Show a single cell by row/column order
2218
2225
  cell-history Show a single cell's log/edit history
2219
2226
  list-exports List a sheet's export artifacts (reports, question exports)
2220
2227
 
2228
+ \b
2229
+ Write subcommands:
2230
+ create-sheet Create a new sheet in a space
2231
+ import Import questions/sources (adding questions triggers the run)
2232
+ export Generate export artifacts (report / question export)
2233
+
2221
2234
  \b
2222
2235
  Examples:
2223
- unique-cli agentic-table get-sheet mt_abc123
2224
2236
  unique-cli agentic-table get-sheet mt_abc123 --cells --metadata
2225
- unique-cli agentic-table get-cell mt_abc123 --row 1 --col 2
2226
- unique-cli agentic-table cell-history mt_abc123 --row 1 --col 2 --json
2227
- unique-cli agentic-table list-exports mt_abc123
2237
+ unique-cli agentic-table create-sheet asst_123 --name "Vendor DDQ"
2238
+ unique-cli agentic-table import mt_abc123 --question-file-id c_q --source-file-id c_src --wait
2239
+ unique-cli agentic-table export mt_abc123 --type FULL_REPORT --wait
2228
2240
  """
2229
2241
 
2230
2242
 
@@ -2394,3 +2406,200 @@ def agentic_table_list_exports(
2394
2406
  ),
2395
2407
  is_error=_is_agentic_table_error_output,
2396
2408
  )
2409
+
2410
+
2411
+ @agentic_table.command(name="create-sheet")
2412
+ @click.argument("assistant_id")
2413
+ @click.option("--name", "name", default=None, help="Sheet name.")
2414
+ @click.option(
2415
+ "--due-at",
2416
+ "due_at",
2417
+ default=None,
2418
+ help="Due date (ISO-8601, e.g. 2026-12-31T00:00:00Z).",
2419
+ )
2420
+ @click.option(
2421
+ "--json", "output_json", is_flag=True, default=False, help="Print raw JSON."
2422
+ )
2423
+ @click.pass_context
2424
+ def agentic_table_create_sheet(
2425
+ ctx: click.Context,
2426
+ assistant_id: str,
2427
+ name: str | None,
2428
+ due_at: str | None,
2429
+ output_json: bool,
2430
+ ) -> None:
2431
+ """Create a new sheet in a space.
2432
+
2433
+ \b
2434
+ ASSISTANT_ID is the space the sheet is created in; you must have write
2435
+ access to it. The printed ID is the table id for import/export/reads.
2436
+
2437
+ \b
2438
+ Examples:
2439
+ unique-cli agentic-table create-sheet asst_123 --name "Vendor DDQ"
2440
+ """
2441
+ emit(
2442
+ cmd_create_sheet(
2443
+ LazyState.get(ctx),
2444
+ assistant_id,
2445
+ name=name,
2446
+ due_at=due_at,
2447
+ output_json=output_json,
2448
+ ),
2449
+ is_error=_is_agentic_table_error_output,
2450
+ )
2451
+
2452
+
2453
+ @agentic_table.command(name="import")
2454
+ @click.argument("table_id")
2455
+ @click.option(
2456
+ "--question-file-id",
2457
+ "question_file_ids",
2458
+ multiple=True,
2459
+ help="Content id of a questionnaire file (repeatable).",
2460
+ )
2461
+ @click.option(
2462
+ "--question-text",
2463
+ "question_texts",
2464
+ multiple=True,
2465
+ help="A question to add directly (repeatable).",
2466
+ )
2467
+ @click.option(
2468
+ "--source-file-id",
2469
+ "source_file_ids",
2470
+ multiple=True,
2471
+ help="Content id of a source/knowledge file (repeatable).",
2472
+ )
2473
+ @click.option(
2474
+ "--context", "context", default=None, help="Free-text context for the run."
2475
+ )
2476
+ @click.option(
2477
+ "--wait",
2478
+ "wait",
2479
+ is_flag=True,
2480
+ default=False,
2481
+ help="Wait for the triggered run to finish before returning.",
2482
+ )
2483
+ @click.option(
2484
+ "--timeout",
2485
+ "timeout",
2486
+ type=click.FloatRange(min=0),
2487
+ default=600.0,
2488
+ show_default=True,
2489
+ help="Max seconds to wait when --wait is set.",
2490
+ )
2491
+ @click.option(
2492
+ "--start-timeout",
2493
+ "start_timeout",
2494
+ type=click.FloatRange(min=0),
2495
+ default=120.0,
2496
+ show_default=True,
2497
+ help=(
2498
+ "Max seconds to wait for the run to be picked up before treating it as "
2499
+ "never started. Raise it when the worker queue is slow."
2500
+ ),
2501
+ )
2502
+ @click.option(
2503
+ "--json", "output_json", is_flag=True, default=False, help="Print raw JSON."
2504
+ )
2505
+ @click.pass_context
2506
+ def agentic_table_import(
2507
+ ctx: click.Context,
2508
+ table_id: str,
2509
+ question_file_ids: tuple[str, ...],
2510
+ question_texts: tuple[str, ...],
2511
+ source_file_ids: tuple[str, ...],
2512
+ context: str | None,
2513
+ wait: bool,
2514
+ timeout: float,
2515
+ start_timeout: float,
2516
+ output_json: bool,
2517
+ ) -> None:
2518
+ """Import questions and sources into a sheet.
2519
+
2520
+ \b
2521
+ Adding new questions triggers the agent run; adding only sources does not.
2522
+ Ids/texts already on the sheet are skipped. With --wait, blocks until the
2523
+ run finishes so you can chain an export.
2524
+
2525
+ \b
2526
+ Examples:
2527
+ unique-cli agentic-table import mt_abc123 --question-file-id c_q --source-file-id c_src
2528
+ unique-cli agentic-table import mt_abc123 --question-text "What is the fee?" --wait
2529
+ """
2530
+ emit(
2531
+ cmd_import(
2532
+ LazyState.get(ctx),
2533
+ table_id,
2534
+ question_file_ids=list(question_file_ids),
2535
+ question_texts=list(question_texts),
2536
+ source_file_ids=list(source_file_ids),
2537
+ context=context,
2538
+ wait=wait,
2539
+ timeout=timeout,
2540
+ start_timeout=start_timeout,
2541
+ output_json=output_json,
2542
+ ),
2543
+ is_error=_is_agentic_table_error_output,
2544
+ )
2545
+
2546
+
2547
+ @agentic_table.command(name="export")
2548
+ @click.argument("table_id")
2549
+ @click.option(
2550
+ "--type",
2551
+ "artifact_types",
2552
+ multiple=True,
2553
+ required=True,
2554
+ type=click.Choice(["FULL_REPORT", "QUESTIONS", "AGENTIC_REPORT"]),
2555
+ help="Artifact type to generate (repeatable).",
2556
+ )
2557
+ @click.option(
2558
+ "--wait",
2559
+ "wait",
2560
+ is_flag=True,
2561
+ default=False,
2562
+ help="Wait for the requested artifacts to be ready, then list them.",
2563
+ )
2564
+ @click.option(
2565
+ "--timeout",
2566
+ "timeout",
2567
+ type=click.FloatRange(min=0),
2568
+ default=600.0,
2569
+ show_default=True,
2570
+ help="Max seconds to wait when --wait is set.",
2571
+ )
2572
+ @click.option(
2573
+ "--json", "output_json", is_flag=True, default=False, help="Print raw JSON."
2574
+ )
2575
+ @click.pass_context
2576
+ def agentic_table_export(
2577
+ ctx: click.Context,
2578
+ table_id: str,
2579
+ artifact_types: tuple[str, ...],
2580
+ wait: bool,
2581
+ timeout: float,
2582
+ output_json: bool,
2583
+ ) -> None:
2584
+ """Generate export artifacts for a sheet.
2585
+
2586
+ \b
2587
+ Generation is asynchronous. With --wait, blocks until each requested type
2588
+ is DONE and prints the artifact table with the content id to download.
2589
+
2590
+ \b
2591
+ Examples:
2592
+ unique-cli agentic-table export mt_abc123 --type FULL_REPORT
2593
+ unique-cli agentic-table export mt_abc123 --type FULL_REPORT --type QUESTIONS --wait
2594
+ """
2595
+ emit(
2596
+ cmd_export(
2597
+ LazyState.get(ctx),
2598
+ table_id,
2599
+ artifact_types=list(artifact_types),
2600
+ wait=wait,
2601
+ timeout=timeout,
2602
+ output_json=output_json,
2603
+ ),
2604
+ is_error=_is_agentic_table_error_output,
2605
+ )