trustgraph-cli 2.4.6__tar.gz → 2.4.7__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 (105) hide show
  1. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/PKG-INFO +1 -1
  2. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/pyproject.toml +2 -0
  3. trustgraph_cli-2.4.7/trustgraph/cli/update_user.py +125 -0
  4. trustgraph_cli-2.4.7/trustgraph/cli/whoami.py +52 -0
  5. trustgraph_cli-2.4.7/trustgraph/cli_version.py +1 -0
  6. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph_cli.egg-info/PKG-INFO +1 -1
  7. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph_cli.egg-info/SOURCES.txt +2 -0
  8. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph_cli.egg-info/entry_points.txt +2 -0
  9. trustgraph_cli-2.4.6/trustgraph/cli_version.py +0 -1
  10. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/README.md +0 -0
  11. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/setup.cfg +0 -0
  12. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/__init__.py +0 -0
  13. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/_iam.py +0 -0
  14. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/add_library_document.py +0 -0
  15. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/bootstrap_iam.py +0 -0
  16. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/change_password.py +0 -0
  17. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/create_api_key.py +0 -0
  18. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/create_user.py +0 -0
  19. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/create_workspace.py +0 -0
  20. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/delete_collection.py +0 -0
  21. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/delete_config_item.py +0 -0
  22. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/delete_flow_blueprint.py +0 -0
  23. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/delete_kg_core.py +0 -0
  24. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/delete_mcp_tool.py +0 -0
  25. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/delete_tool.py +0 -0
  26. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/delete_user.py +0 -0
  27. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/disable_user.py +0 -0
  28. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/dump_msgpack.py +0 -0
  29. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/dump_queues.py +0 -0
  30. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/enable_user.py +0 -0
  31. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/export_workspace_config.py +0 -0
  32. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/get_config_item.py +0 -0
  33. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/get_document_content.py +0 -0
  34. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/get_flow_blueprint.py +0 -0
  35. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/get_kg_core.py +0 -0
  36. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/graph_to_turtle.py +0 -0
  37. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/import_workspace_config.py +0 -0
  38. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/init_pulsar_manager.py +0 -0
  39. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_agent.py +0 -0
  40. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_document_embeddings.py +0 -0
  41. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_document_rag.py +0 -0
  42. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_embeddings.py +0 -0
  43. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_graph_embeddings.py +0 -0
  44. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_graph_rag.py +0 -0
  45. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_llm.py +0 -0
  46. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_mcp_tool.py +0 -0
  47. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_nlp_query.py +0 -0
  48. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_prompt.py +0 -0
  49. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_row_embeddings.py +0 -0
  50. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_rows_query.py +0 -0
  51. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_sparql_query.py +0 -0
  52. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/invoke_structured_query.py +0 -0
  53. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/list_api_keys.py +0 -0
  54. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/list_collections.py +0 -0
  55. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/list_config_items.py +0 -0
  56. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/list_explain_traces.py +0 -0
  57. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/list_users.py +0 -0
  58. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/list_workspaces.py +0 -0
  59. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/load_doc_embeds.py +0 -0
  60. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/load_kg_core.py +0 -0
  61. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/load_knowledge.py +0 -0
  62. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/load_sample_documents.py +0 -0
  63. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/load_structured_data.py +0 -0
  64. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/load_turtle.py +0 -0
  65. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/login.py +0 -0
  66. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/monitor_prompts.py +0 -0
  67. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/put_config_item.py +0 -0
  68. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/put_flow_blueprint.py +0 -0
  69. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/put_kg_core.py +0 -0
  70. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/query_graph.py +0 -0
  71. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/remove_library_document.py +0 -0
  72. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/reset_password.py +0 -0
  73. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/revoke_api_key.py +0 -0
  74. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/save_doc_embeds.py +0 -0
  75. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/set_collection.py +0 -0
  76. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/set_mcp_tool.py +0 -0
  77. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/set_prompt.py +0 -0
  78. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/set_token_costs.py +0 -0
  79. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/set_tool.py +0 -0
  80. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_config.py +0 -0
  81. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_explain_trace.py +0 -0
  82. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_extraction_provenance.py +0 -0
  83. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_flow_blueprints.py +0 -0
  84. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_flow_state.py +0 -0
  85. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_flows.py +0 -0
  86. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_graph.py +0 -0
  87. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_kg_cores.py +0 -0
  88. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_library_documents.py +0 -0
  89. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_library_processing.py +0 -0
  90. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_mcp_tools.py +0 -0
  91. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_parameter_types.py +0 -0
  92. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_processor_state.py +0 -0
  93. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_prompts.py +0 -0
  94. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_token_costs.py +0 -0
  95. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_token_rate.py +0 -0
  96. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/show_tools.py +0 -0
  97. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/start_flow.py +0 -0
  98. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/start_library_processing.py +0 -0
  99. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/stop_flow.py +0 -0
  100. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/stop_library_processing.py +0 -0
  101. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/unload_kg_core.py +0 -0
  102. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph/cli/verify_system_status.py +0 -0
  103. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph_cli.egg-info/dependency_links.txt +0 -0
  104. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph_cli.egg-info/requires.txt +0 -0
  105. {trustgraph_cli-2.4.6 → trustgraph_cli-2.4.7}/trustgraph_cli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trustgraph-cli
3
- Version: 2.4.6
3
+ Version: 2.4.7
4
4
  Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
5
5
  Author-email: "trustgraph.ai" <security@trustgraph.ai>
6
6
  Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
@@ -44,6 +44,8 @@ tg-bootstrap-iam = "trustgraph.cli.bootstrap_iam:main"
44
44
  tg-login = "trustgraph.cli.login:main"
45
45
  tg-create-user = "trustgraph.cli.create_user:main"
46
46
  tg-list-users = "trustgraph.cli.list_users:main"
47
+ tg-whoami = "trustgraph.cli.whoami:main"
48
+ tg-update-user = "trustgraph.cli.update_user:main"
47
49
  tg-disable-user = "trustgraph.cli.disable_user:main"
48
50
  tg-enable-user = "trustgraph.cli.enable_user:main"
49
51
  tg-delete-user = "trustgraph.cli.delete_user:main"
@@ -0,0 +1,125 @@
1
+ """
2
+ Update a user's profile fields: name, email, roles, enabled flag,
3
+ must-change-password flag.
4
+
5
+ Username is immutable — create a new user and disable the old one
6
+ to effect a username change. Password changes go through
7
+ ``tg-change-password`` (self-service) or ``tg-reset-password``
8
+ (admin-driven).
9
+
10
+ Only the fields you supply are changed; omitted fields are left
11
+ untouched on the user record. An empty ``--roles`` is rejected by
12
+ iam-svc (a user must have at least one role); to demote a user use
13
+ ``tg-disable-user``.
14
+ """
15
+
16
+ import argparse
17
+ import sys
18
+
19
+ from ._iam import DEFAULT_URL, DEFAULT_TOKEN, call_iam, run_main
20
+
21
+
22
+ def _parse_bool(s):
23
+ if s is None:
24
+ return None
25
+ s = s.strip().lower()
26
+ if s in ("yes", "y", "true", "t", "1"):
27
+ return True
28
+ if s in ("no", "n", "false", "f", "0"):
29
+ return False
30
+ raise argparse.ArgumentTypeError(
31
+ f"expected yes/no, got {s!r}"
32
+ )
33
+
34
+
35
+ def do_update_user(args):
36
+ user = {}
37
+ if args.name is not None:
38
+ user["name"] = args.name
39
+ if args.email is not None:
40
+ user["email"] = args.email
41
+ if args.roles is not None:
42
+ user["roles"] = args.roles
43
+ if args.enabled is not None:
44
+ user["enabled"] = args.enabled
45
+ if args.must_change_password is not None:
46
+ user["must_change_password"] = args.must_change_password
47
+
48
+ if not user:
49
+ print(
50
+ "tg-update-user: nothing to change — supply at least "
51
+ "one of --name / --email / --roles / --enabled / "
52
+ "--must-change-password",
53
+ file=sys.stderr,
54
+ )
55
+ sys.exit(2)
56
+
57
+ req = {
58
+ "operation": "update-user",
59
+ "user_id": args.user_id,
60
+ "user": user,
61
+ }
62
+ if args.workspace:
63
+ req["workspace"] = args.workspace
64
+ resp = call_iam(args.api_url, args.token, req)
65
+
66
+ rec = resp.get("user", {})
67
+ print(f"id : {rec.get('id', '')}")
68
+ print(f"username : {rec.get('username', '')}")
69
+ print(f"name : {rec.get('name', '')}")
70
+ print(f"email : {rec.get('email', '')}")
71
+ print(f"workspace : {rec.get('workspace', '')}")
72
+ print(f"roles : {', '.join(rec.get('roles', []))}")
73
+ print(f"enabled : {'yes' if rec.get('enabled') else 'no'}")
74
+ print(
75
+ f"must-change-pw: "
76
+ f"{'yes' if rec.get('must_change_password') else 'no'}"
77
+ )
78
+
79
+
80
+ def main():
81
+ parser = argparse.ArgumentParser(
82
+ prog="tg-update-user", description=__doc__,
83
+ )
84
+ parser.add_argument(
85
+ "-u", "--api-url", default=DEFAULT_URL,
86
+ help=f"API URL (default: {DEFAULT_URL})",
87
+ )
88
+ parser.add_argument(
89
+ "-t", "--token", default=DEFAULT_TOKEN,
90
+ help="Auth token (default: $TRUSTGRAPH_TOKEN)",
91
+ )
92
+ parser.add_argument(
93
+ "--user-id", required=True, help="Target user id",
94
+ )
95
+ parser.add_argument(
96
+ "--name", default=None, help="New display name",
97
+ )
98
+ parser.add_argument(
99
+ "--email", default=None, help="New email",
100
+ )
101
+ parser.add_argument(
102
+ "--roles", nargs="+", default=None,
103
+ help="Replacement role list (e.g. --roles reader writer)",
104
+ )
105
+ parser.add_argument(
106
+ "--enabled", type=_parse_bool, default=None,
107
+ help="Set enabled flag (yes/no)",
108
+ )
109
+ parser.add_argument(
110
+ "--must-change-password", type=_parse_bool, default=None,
111
+ help="Set must-change-password flag (yes/no)",
112
+ )
113
+ parser.add_argument(
114
+ "-w", "--workspace", default=None,
115
+ help=(
116
+ "Optional workspace integrity check — when supplied, "
117
+ "iam-svc verifies the target user's home workspace "
118
+ "matches"
119
+ ),
120
+ )
121
+ run_main(do_update_user, parser)
122
+
123
+
124
+ if __name__ == "__main__":
125
+ main()
@@ -0,0 +1,52 @@
1
+ """
2
+ Show the authenticated caller's own user record.
3
+ """
4
+
5
+ import argparse
6
+
7
+ import tabulate
8
+
9
+ from ._iam import DEFAULT_URL, DEFAULT_TOKEN, call_iam, run_main
10
+
11
+
12
+ def do_whoami(args):
13
+ resp = call_iam(args.api_url, args.token, {"operation": "whoami"})
14
+ user = resp.get("user")
15
+ if not user:
16
+ print("(no user record returned)")
17
+ return
18
+
19
+ rows = [
20
+ ["id", user.get("id", "")],
21
+ ["username", user.get("username", "")],
22
+ ["name", user.get("name", "")],
23
+ ["email", user.get("email", "")],
24
+ ["workspace", user.get("workspace", "")],
25
+ ["roles", ", ".join(user.get("roles", []))],
26
+ ["enabled", "yes" if user.get("enabled") else "no"],
27
+ [
28
+ "must change password",
29
+ "yes" if user.get("must_change_password") else "no",
30
+ ],
31
+ ["created", user.get("created", "")],
32
+ ]
33
+ print(tabulate.tabulate(rows, tablefmt="plain"))
34
+
35
+
36
+ def main():
37
+ parser = argparse.ArgumentParser(
38
+ prog="tg-whoami", description=__doc__,
39
+ )
40
+ parser.add_argument(
41
+ "-u", "--api-url", default=DEFAULT_URL,
42
+ help=f"API URL (default: {DEFAULT_URL})",
43
+ )
44
+ parser.add_argument(
45
+ "-t", "--token", default=DEFAULT_TOKEN,
46
+ help="Auth token (default: $TRUSTGRAPH_TOKEN)",
47
+ )
48
+ run_main(do_whoami, parser)
49
+
50
+
51
+ if __name__ == "__main__":
52
+ main()
@@ -0,0 +1 @@
1
+ __version__ = "2.4.7"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: trustgraph-cli
3
- Version: 2.4.6
3
+ Version: 2.4.7
4
4
  Summary: TrustGraph provides a means to run a pipeline of flexible AI processing components in a flexible means to achieve a processing pipeline.
5
5
  Author-email: "trustgraph.ai" <security@trustgraph.ai>
6
6
  Project-URL: Homepage, https://github.com/trustgraph-ai/trustgraph
@@ -91,7 +91,9 @@ trustgraph/cli/start_library_processing.py
91
91
  trustgraph/cli/stop_flow.py
92
92
  trustgraph/cli/stop_library_processing.py
93
93
  trustgraph/cli/unload_kg_core.py
94
+ trustgraph/cli/update_user.py
94
95
  trustgraph/cli/verify_system_status.py
96
+ trustgraph/cli/whoami.py
95
97
  trustgraph_cli.egg-info/PKG-INFO
96
98
  trustgraph_cli.egg-info/SOURCES.txt
97
99
  trustgraph_cli.egg-info/dependency_links.txt
@@ -86,4 +86,6 @@ tg-start-library-processing = trustgraph.cli.start_library_processing:main
86
86
  tg-stop-flow = trustgraph.cli.stop_flow:main
87
87
  tg-stop-library-processing = trustgraph.cli.stop_library_processing:main
88
88
  tg-unload-kg-core = trustgraph.cli.unload_kg_core:main
89
+ tg-update-user = trustgraph.cli.update_user:main
89
90
  tg-verify-system-status = trustgraph.cli.verify_system_status:main
91
+ tg-whoami = trustgraph.cli.whoami:main
@@ -1 +0,0 @@
1
- __version__ = "2.4.6"
File without changes
File without changes