Open-core orchestrator logic for the Siglume API Store agent runtime — tool-manual quality scoring + LLM provider tool adapters.
Project description
siglume-agent-core
Open-core orchestrator logic for the Siglume API Store agent runtime.
This is the public, AGPL-licensed core of the algorithms the Siglume marketplace uses to:
- Score the quality of a publisher's tool manual (
tool_manual_validator) - Build LLM provider tool definitions in Anthropic / OpenAI tool-use format (
provider_adapters)
It is the same code that runs in production — extracted from the private monorepo so publishers, contributors, and self-hosters can read, audit, and improve it.
Status: Phase 1 of a staged extraction. Currently exposes Tier A modules (manual quality scoring + provider adapters). Selection scoring (
installed_tool_resolver), simulator (dev_simulator), and analytics derivations (seller_analytics) follow in subsequent releases. SeeARCHITECTURE.mdfor the roadmap.
Why this exists
The Siglume marketplace agent had been a black box from the publisher side. When a publisher asked "why didn't my API get picked?" or "why is my manual graded B?", the only way to answer was through platform-side reports.
This repository is the direct answer: read the source, run the same scorer locally, contribute improvements as PRs.
The platform itself remains a hosted service (publishers, buyers, payments, identity, deployment infrastructure all stay private). Only the decision logic — how the agent picks tools, how manuals are scored, how provider tool calls are formatted — is open.
Install
pip install siglume-agent-core # core only
pip install siglume-agent-core[anthropic] # + Anthropic adapter
pip install siglume-agent-core[openai] # + OpenAI adapter
pip install siglume-agent-core[dev] # + test/lint deps
What's in this release (Phase 1, Tier A)
siglume_agent_core.tool_manual_validator
The exact same validator Siglume runs to grade publisher-submitted tool manuals (A / B / C / D / F). Use it locally to predict your manual's grade before submission:
from siglume_agent_core.tool_manual_validator import validate_tool_manual, score_manual_quality
manual = {...} # your tool manual dict
result = validate_tool_manual(manual)
if not result.ok:
for err in result.errors:
print(err.code, err.message, err.field)
quality = score_manual_quality(manual)
print(f"Grade {quality.grade} ({quality.overall_score}/100)")
print(f"Publishable: {quality.publishable}")
This is byte-equivalent to the server-side scorer — verified by CI parity test against the Siglume monorepo. If your local grade is B, the server grade is B.
siglume_agent_core.provider_adapters
Provider-specific adapters that convert an internal tool definition + message thread into the format Anthropic's or OpenAI's tool-use API expects, and parse the response back into a uniform shape.
from siglume_agent_core.provider_adapters.anthropic_tools import AnthropicToolAdapter
from siglume_agent_core.provider_adapters.types import ToolMessage
adapter = AnthropicToolAdapter()
turn = adapter.run_turn(
model="claude-haiku-4-5-20251001",
messages=[ToolMessage(role="user", content="...")],
tools=[...],
max_output_tokens=2048,
tool_choice="auto",
)
print(turn.tool_calls) # what the LLM picked
Use the same adapter the platform uses, so you can prototype tool-use applications against either provider with consistent behavior.
What's not in this repo
The following stays in the private platform monorepo because exposing them creates security or business risk:
- Authentication / OAuth credential leasing (
connected_account_broker) - Payment processing & wallet signing
- Production database schema & data
- Per-buyer KYC / AML decisioning
- Marketplace pricing & fee logic
- The execution gateway (
capability_gateway) — security/policy boundary
See ARCHITECTURE.md for what's planned to come next vs. what stays private.
License
If you self-host the orchestrator, the AGPL terms apply: changes you make to this code that you operate as a network service must be made available under AGPL-3.0 to your users. Commercial licensing for proprietary deployment is available — contact siglume@energy-connect.co.jp.
Contributing
We accept PRs. See CONTRIBUTING.md. The most useful contribution paths today:
- Improve
tool_manual_validatorheuristics — many graders are currently keyword-rule based; ML-driven or more nuanced scoring is welcome - Add edge-case tests — anything you've seen the platform mishandle
- Add new provider adapters — Gemini, Mistral, local models
Tracking issue for the broader publisher-dev-tools initiative: siglume-api-sdk#195.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file siglume_agent_core-0.1.0.tar.gz.
File metadata
- Download URL: siglume_agent_core-0.1.0.tar.gz
- Upload date:
- Size: 32.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e4db60ca50ed70b159b50015992cfa61aba598d07f652d64a81e3221adeb5c4
|
|
| MD5 |
5be5f96bedffb8781353073a020a488b
|
|
| BLAKE2b-256 |
e0a4060d24d253839696ca057942582bfbf5a7db1fe5cadd366747a59783e8d8
|
Provenance
The following attestation bundles were made for siglume_agent_core-0.1.0.tar.gz:
Publisher:
release.yml on taihei-05/siglume-agent-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
siglume_agent_core-0.1.0.tar.gz -
Subject digest:
5e4db60ca50ed70b159b50015992cfa61aba598d07f652d64a81e3221adeb5c4 - Sigstore transparency entry: 1417858756
- Sigstore integration time:
-
Permalink:
taihei-05/siglume-agent-core@18d0c948eef0327fcb60fd8d560fc03fc0642e1c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/taihei-05
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@18d0c948eef0327fcb60fd8d560fc03fc0642e1c -
Trigger Event:
push
-
Statement type:
File details
Details for the file siglume_agent_core-0.1.0-py3-none-any.whl.
File metadata
- Download URL: siglume_agent_core-0.1.0-py3-none-any.whl
- Upload date:
- Size: 31.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f31e15ee50283da1f48ff1bdcb5254b859298b377d9771478351536bbff0f7eb
|
|
| MD5 |
b1bbcb43c74f78155c2b00a08d964e0b
|
|
| BLAKE2b-256 |
fc70a534d5db26ccad61890e9d10257512e59ebd1ade89d10f6033988bc6e418
|
Provenance
The following attestation bundles were made for siglume_agent_core-0.1.0-py3-none-any.whl:
Publisher:
release.yml on taihei-05/siglume-agent-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
siglume_agent_core-0.1.0-py3-none-any.whl -
Subject digest:
f31e15ee50283da1f48ff1bdcb5254b859298b377d9771478351536bbff0f7eb - Sigstore transparency entry: 1417858844
- Sigstore integration time:
-
Permalink:
taihei-05/siglume-agent-core@18d0c948eef0327fcb60fd8d560fc03fc0642e1c -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/taihei-05
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@18d0c948eef0327fcb60fd8d560fc03fc0642e1c -
Trigger Event:
push
-
Statement type: