dominus-sdk-python 4.2.0__tar.gz → 4.3.0__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.
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/PKG-INFO +1 -1
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/__init__.py +1 -1
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/redis.py +101 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus_sdk_python.egg-info/PKG-INFO +1 -1
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/pyproject.toml +1 -1
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/README.md +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/config/__init__.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/config/endpoints.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/errors.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/helpers/__init__.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/helpers/auth.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/helpers/cache.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/helpers/console_capture.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/helpers/core.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/helpers/crypto.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/helpers/sse.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/helpers/trace.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/__init__.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/admin.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/ai.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/artifacts.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/auth.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/authority.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/browser.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/courier.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/db.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/ddl.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/deployer.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/fastapi.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/files.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/health.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/jobs.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/logs.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/portal.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/processor.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/secrets.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/secure.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/sync.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/warden.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/namespaces/workflow.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/services/__init__.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus/start.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus_sdk_python.egg-info/SOURCES.txt +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus_sdk_python.egg-info/dependency_links.txt +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus_sdk_python.egg-info/requires.txt +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus_sdk_python.egg-info/top_level.txt +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/setup.cfg +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_auth.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_authority_public_vocabulary.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_browser_namespace.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_control_plane_namespaces.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_errors.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_flat_commands.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_health.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_logs.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_provisioning_parity.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_public_exports.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_transport_compat.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_workflow_lifecycle.py +0 -0
- {dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_workflow_refs.py +0 -0
|
@@ -442,6 +442,107 @@ class RedisNamespace:
|
|
|
442
442
|
use_gateway=True,
|
|
443
443
|
)
|
|
444
444
|
|
|
445
|
+
async def sadd(
|
|
446
|
+
self,
|
|
447
|
+
key: str,
|
|
448
|
+
members: List[Any],
|
|
449
|
+
ttl: int = 3600,
|
|
450
|
+
category: Optional[str] = None,
|
|
451
|
+
) -> Dict[str, Any]:
|
|
452
|
+
"""
|
|
453
|
+
Add one or more members to a Redis set, with TTL refresh.
|
|
454
|
+
|
|
455
|
+
Backed by the native dominus-redis-worker /sadd route added 2026-05-09.
|
|
456
|
+
Each member is independently size-guarded (1 MiB cap per encoded value).
|
|
457
|
+
|
|
458
|
+
Args:
|
|
459
|
+
key: Key name (logical_path)
|
|
460
|
+
members: List of values to add
|
|
461
|
+
ttl: Time-to-live in seconds for the set (default 3600)
|
|
462
|
+
category: Optional namespace category
|
|
463
|
+
|
|
464
|
+
Returns:
|
|
465
|
+
Dict with {"key", "added", "ttl_seconds"}
|
|
466
|
+
"""
|
|
467
|
+
body: Dict[str, Any] = {
|
|
468
|
+
"logical_path": key,
|
|
469
|
+
"members": members,
|
|
470
|
+
"ttl_seconds": ttl,
|
|
471
|
+
}
|
|
472
|
+
if category:
|
|
473
|
+
body["category"] = category
|
|
474
|
+
return await self._client._request(
|
|
475
|
+
endpoint="/api/redis/sadd",
|
|
476
|
+
body=body,
|
|
477
|
+
use_gateway=True,
|
|
478
|
+
)
|
|
479
|
+
|
|
480
|
+
async def srem(
|
|
481
|
+
self,
|
|
482
|
+
key: str,
|
|
483
|
+
members: List[Any],
|
|
484
|
+
category: Optional[str] = None,
|
|
485
|
+
) -> Dict[str, Any]:
|
|
486
|
+
"""
|
|
487
|
+
Remove one or more members from a Redis set.
|
|
488
|
+
|
|
489
|
+
Backed by the native dominus-redis-worker /srem route added 2026-05-09.
|
|
490
|
+
|
|
491
|
+
Args:
|
|
492
|
+
key: Key name (logical_path)
|
|
493
|
+
members: List of values to remove
|
|
494
|
+
category: Optional namespace category
|
|
495
|
+
|
|
496
|
+
Returns:
|
|
497
|
+
Dict with {"key", "removed"}
|
|
498
|
+
"""
|
|
499
|
+
body: Dict[str, Any] = {
|
|
500
|
+
"logical_path": key,
|
|
501
|
+
"members": members,
|
|
502
|
+
}
|
|
503
|
+
if category:
|
|
504
|
+
body["category"] = category
|
|
505
|
+
return await self._client._request(
|
|
506
|
+
endpoint="/api/redis/srem",
|
|
507
|
+
body=body,
|
|
508
|
+
use_gateway=True,
|
|
509
|
+
)
|
|
510
|
+
|
|
511
|
+
async def mset(
|
|
512
|
+
self,
|
|
513
|
+
entries: List[Dict[str, Any]],
|
|
514
|
+
) -> Dict[str, Any]:
|
|
515
|
+
"""
|
|
516
|
+
Multi-set: write 1..50 keys (potentially different categories and TTLs)
|
|
517
|
+
in one redis-worker invocation. Backed by /mset added 2026-05-08.
|
|
518
|
+
|
|
519
|
+
Use for fixed-batch fan-out (e.g. heartbeat-style multi-write paths)
|
|
520
|
+
to reduce Cloudflare worker invocation counts and gateway hops.
|
|
521
|
+
|
|
522
|
+
Args:
|
|
523
|
+
entries: List of dicts each with {"key": str, "value": Any,
|
|
524
|
+
"ttl"?: int, "category"?: str}
|
|
525
|
+
|
|
526
|
+
Returns:
|
|
527
|
+
Dict with {"stored": [{"key", "stored", "ttl_seconds"}, ...]}
|
|
528
|
+
"""
|
|
529
|
+
wire_entries: List[Dict[str, Any]] = []
|
|
530
|
+
for entry in entries:
|
|
531
|
+
wire: Dict[str, Any] = {
|
|
532
|
+
"logical_path": entry["key"],
|
|
533
|
+
"value": entry["value"],
|
|
534
|
+
}
|
|
535
|
+
if "ttl" in entry and entry["ttl"] is not None:
|
|
536
|
+
wire["ttl_seconds"] = entry["ttl"]
|
|
537
|
+
if entry.get("category"):
|
|
538
|
+
wire["category"] = entry["category"]
|
|
539
|
+
wire_entries.append(wire)
|
|
540
|
+
return await self._client._request(
|
|
541
|
+
endpoint="/api/redis/mset",
|
|
542
|
+
body={"entries": wire_entries},
|
|
543
|
+
use_gateway=True,
|
|
544
|
+
)
|
|
545
|
+
|
|
445
546
|
async def lrange(
|
|
446
547
|
self,
|
|
447
548
|
key: str,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus_sdk_python.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus_sdk_python.egg-info/requires.txt
RENAMED
|
File without changes
|
{dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/dominus_sdk_python.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_authority_public_vocabulary.py
RENAMED
|
File without changes
|
|
File without changes
|
{dominus_sdk_python-4.2.0 → dominus_sdk_python-4.3.0}/tests/test_control_plane_namespaces.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|