Skip to main content

FlowDesk advisory selection tool for Omnigent.

Project description

FlowDesk Omnigent Tool

Experimental Omnigent integration package for FlowDesk advisory agent/model selection.

This package implements the experimental Omnigent selection path from docs/omnigent/OMNIGENT_DEVELOPMENT_DESIGN_OPTIONS.md:

  • local Python function tool only;
  • advisory selection only;
  • no Omnigent dispatch calls;
  • no provider fallback/retry authority;
  • no credential/token file reads;
  • optional local debug JSONL only when explicitly requested by the caller.
  • post-run trace verification from Omnigent history/tool-call events;
  • optional fixture-level function policy guard for selector-provenance and binding consistency.

Install into an Omnigent venv from PyPI:

uv pip install --python /path/to/omnigent/.venv/bin/python flowdesk-omnigent-tool

Development install from a FlowDesk checkout:

uv pip install --python /path/to/omnigent/.venv/bin/python -e packages/omnigent-tool

Release preflight from the FlowDesk repository:

npm run release:omnigent-tool

Publishing is explicit:

npm run release:omnigent-tool -- --test-pypi
npm run release:omnigent-tool -- --publish

GitHub Actions Trusted Publishing is available through .github/workflows/publish-omnigent-tool.yml. Configure PyPI with workflow filename publish-omnigent-tool.yml and environment pypi; configure TestPyPI with environment testpypi if you want a TestPyPI dry run.

Function path for Omnigent config:

flowdesk_omnigent.selection.select_agent_model

The selector accepts optional provider_usage or provider_health snapshots. Exhausted, critical, stale, blocked, unavailable, non-dispatchable, or 0%-remaining provider rows are skipped when another allowed provider can satisfy the request. If every allowed provider is unavailable, the selector returns selection_status=blocked with provider_usage_unavailable.

Trace verifier import path:

flowdesk_omnigent.trace_verifier.verify_selection_dispatch_trace

Trace adapter import path:

flowdesk_omnigent.trace_adapter.normalize_omnigent_trace_events

Minimal adapter/verifier flow:

from flowdesk_omnigent.trace_adapter import normalize_omnigent_trace_events
from flowdesk_omnigent.trace_verifier import verify_selection_dispatch_trace

normalized = normalize_omnigent_trace_events(history_items)
verification = verify_selection_dispatch_trace(normalized["events"])

The adapter returns redaction-safe normalized events only. It does not preserve raw prompts, full tool arguments, full tool outputs, provider payloads, or credentials.

Optional MCP stdio server:

flowdesk-omnigent-mcp

Omnigent MCP config after PyPI install:

tools:
  flowdesk:
    type: mcp
    command: flowdesk-omnigent-mcp

The MCP server exposes only flowdesk_select_agent_model. It is selection-only and does not expose Omnigent dispatch, fallback, retry, write/apply, or provider-switch tools.

Optional Omnigent function policy guard:

guardrails:
  policies:
    flowdesk_selection_dispatch_guard:
      type: function
      on: [tool_call, tool_result]
      function: flowdesk_omnigent.policies.omnigent_selection_dispatch_guard

The guard records FlowDesk selector calls in Omnigent policy state and, when Omnigent emits a selector tool_result, records exact selector output provenance. Guarded sys_session_send calls must match a recorded task/agent/harness/model binding and must not use expired selection records. This remains fixture-level policy enforcement only; it does not grant provider fallback, retry, write/apply, hard-chat/noReply, credential, or upstream Omnigent core-hook authority.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flowdesk_omnigent_tool-0.1.0.tar.gz (18.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flowdesk_omnigent_tool-0.1.0-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file flowdesk_omnigent_tool-0.1.0.tar.gz.

File metadata

  • Download URL: flowdesk_omnigent_tool-0.1.0.tar.gz
  • Upload date:
  • Size: 18.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for flowdesk_omnigent_tool-0.1.0.tar.gz
Algorithm Hash digest
SHA256 49d2072a3b5004d444731fc0b4382ea8c275e9f060e59895768d6139fedfb2ac
MD5 5b24ad663c8aaba3bf4a588c3c266a06
BLAKE2b-256 5f68e7e6cd9c1273098a23825b6d87fa88e5a2649a8027963bc65a15541333e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowdesk_omnigent_tool-0.1.0.tar.gz:

Publisher: publish-omnigent-tool.yml on astasdf1/flowdesk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file flowdesk_omnigent_tool-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for flowdesk_omnigent_tool-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c31573e78371c783d01b340da38c137cf0f2544aa65d12a55dfb53fbdd96368
MD5 69268fc294249d28a321dde25e11fd01
BLAKE2b-256 2707c6d3b2510387fb9a45b4319edcdbf29d11912ef19d7080b5db9889240e50

See more details on using hashes here.

Provenance

The following attestation bundles were made for flowdesk_omnigent_tool-0.1.0-py3-none-any.whl:

Publisher: publish-omnigent-tool.yml on astasdf1/flowdesk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page