airprompter-agent 0.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.
- airprompter_agent-0.3.0/.gitignore +6 -0
- airprompter_agent-0.3.0/LICENSE +28 -0
- airprompter_agent-0.3.0/PKG-INFO +68 -0
- airprompter_agent-0.3.0/README.md +25 -0
- airprompter_agent-0.3.0/pyproject.toml +54 -0
- airprompter_agent-0.3.0/src/airprompter_agent/__init__.py +382 -0
- airprompter_agent-0.3.0/src/airprompter_agent/agent.py +2229 -0
- airprompter_agent-0.3.0/src/airprompter_agent/integrations/__init__.py +42 -0
- airprompter_agent-0.3.0/src/airprompter_agent/integrations/anthropic.py +32 -0
- airprompter_agent-0.3.0/src/airprompter_agent/integrations/litellm.py +124 -0
- airprompter_agent-0.3.0/src/airprompter_agent/integrations/openai.py +48 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
BSD 3-Clause License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026, AirPrompter
|
|
4
|
+
|
|
5
|
+
Redistribution and use in source and binary forms, with or without
|
|
6
|
+
modification, are permitted provided that the following conditions are met:
|
|
7
|
+
|
|
8
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
9
|
+
list of conditions and the following disclaimer.
|
|
10
|
+
|
|
11
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
12
|
+
this list of conditions and the following disclaimer in the documentation
|
|
13
|
+
and/or other materials provided with the distribution.
|
|
14
|
+
|
|
15
|
+
3. Neither the name of the copyright holder nor the names of its
|
|
16
|
+
contributors may be used to endorse or promote products derived from
|
|
17
|
+
this software without specific prior written permission.
|
|
18
|
+
|
|
19
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
20
|
+
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
21
|
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
22
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
23
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
24
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
25
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
26
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
27
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
28
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: airprompter-agent
|
|
3
|
+
Version: 0.3.0
|
|
4
|
+
Summary: Run prompts and workflows approved in AirPrompter on your own systems: signed pull-only updates, an encrypted restart-safe slot store, offline operation, content-free telemetry. The facade over airprompter-agent-core, -sync, -runtime and -telemetry.
|
|
5
|
+
Project-URL: Homepage, https://github.com/airprompter/airprompter-agent-sdk
|
|
6
|
+
Project-URL: Source, https://github.com/airprompter/airprompter-agent-sdk/tree/main/sdk-python/packages/agent
|
|
7
|
+
Project-URL: Protocol, https://github.com/airprompter/airprompter-agent-sdk/tree/main/protocol
|
|
8
|
+
Project-URL: Changelog, https://github.com/airprompter/airprompter-agent-sdk/blob/main/CHANGELOG.md
|
|
9
|
+
Project-URL: Issues, https://github.com/airprompter/airprompter-agent-sdk/issues
|
|
10
|
+
Author: AirPrompter
|
|
11
|
+
License-Expression: BSD-3-Clause
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Keywords: agent,airprompter,governance,llm,prompts
|
|
14
|
+
Classifier: Development Status :: 3 - Alpha
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Operating System :: OS Independent
|
|
17
|
+
Classifier: Programming Language :: Python :: 3
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
22
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Requires-Dist: airprompter-agent-core==0.3.0
|
|
25
|
+
Requires-Dist: airprompter-agent-runtime==0.3.0
|
|
26
|
+
Requires-Dist: airprompter-agent-sync==0.3.0
|
|
27
|
+
Requires-Dist: airprompter-agent-telemetry==0.3.0
|
|
28
|
+
Provides-Extra: anthropic
|
|
29
|
+
Requires-Dist: anthropic>=0.40; extra == 'anthropic'
|
|
30
|
+
Provides-Extra: keyring
|
|
31
|
+
Requires-Dist: airprompter-agent-sync[keyring]==0.3.0; extra == 'keyring'
|
|
32
|
+
Provides-Extra: kms
|
|
33
|
+
Requires-Dist: airprompter-agent-sync[kms]==0.3.0; extra == 'kms'
|
|
34
|
+
Provides-Extra: litellm
|
|
35
|
+
Requires-Dist: litellm>=1.50; extra == 'litellm'
|
|
36
|
+
Provides-Extra: openai
|
|
37
|
+
Requires-Dist: openai>=1.40; extra == 'openai'
|
|
38
|
+
Provides-Extra: test
|
|
39
|
+
Requires-Dist: pytest>=8; extra == 'test'
|
|
40
|
+
Provides-Extra: vault
|
|
41
|
+
Requires-Dist: airprompter-agent-sync[vault]==0.3.0; extra == 'vault'
|
|
42
|
+
Description-Content-Type: text/markdown
|
|
43
|
+
|
|
44
|
+
# airprompter-agent
|
|
45
|
+
|
|
46
|
+
One install, today's `AirPrompterAgent`: the facade over
|
|
47
|
+
`airprompter-agent-core`, `-sync`, `-runtime` and `-telemetry` — signed
|
|
48
|
+
pull-only updates, the encrypted restart-safe slot store, offline
|
|
49
|
+
operation, rendering with trust-aware variables, `ap.wrap()` for the
|
|
50
|
+
openai and anthropic clients (and a LiteLLM callback), content-free
|
|
51
|
+
telemetry. Every public name of the four distributions is re-exported.
|
|
52
|
+
|
|
53
|
+
```python
|
|
54
|
+
from airprompter_agent import AirPrompterAgent
|
|
55
|
+
|
|
56
|
+
ap = AirPrompterAgent.start(organization_id="org_…", agent_id="agt_…", target="prod", api_key=os.environ["AIRPROMPTER_AGENT_KEY"], root={"pinned": PINNED_ROOT_JWK})
|
|
57
|
+
rendered = ap.prompt("support.triage").render(team="Billing", ticket=ticket_text)
|
|
58
|
+
completion = ap.observe(rendered, lambda: client.chat.completions.create(model=rendered.model, messages=[...]))
|
|
59
|
+
ap.feedback(rendered.run_ref, thumbs="up")
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
One of five distributions released in lockstep — `airprompter-agent-core`,
|
|
63
|
+
`-sync`, `-runtime`, `-telemetry` and the facade `airprompter-agent` — one
|
|
64
|
+
version, exact-pinned siblings, mirroring the TypeScript packages one for
|
|
65
|
+
one. The full README and the parity matrix are in
|
|
66
|
+
[`sdk-python/README.md`](https://github.com/airprompter/airprompter-agent-sdk/tree/main/sdk-python);
|
|
67
|
+
the protocol is in [`protocol/`](https://github.com/airprompter/airprompter-agent-sdk/tree/main/protocol).
|
|
68
|
+
BSD-3-Clause.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# airprompter-agent
|
|
2
|
+
|
|
3
|
+
One install, today's `AirPrompterAgent`: the facade over
|
|
4
|
+
`airprompter-agent-core`, `-sync`, `-runtime` and `-telemetry` — signed
|
|
5
|
+
pull-only updates, the encrypted restart-safe slot store, offline
|
|
6
|
+
operation, rendering with trust-aware variables, `ap.wrap()` for the
|
|
7
|
+
openai and anthropic clients (and a LiteLLM callback), content-free
|
|
8
|
+
telemetry. Every public name of the four distributions is re-exported.
|
|
9
|
+
|
|
10
|
+
```python
|
|
11
|
+
from airprompter_agent import AirPrompterAgent
|
|
12
|
+
|
|
13
|
+
ap = AirPrompterAgent.start(organization_id="org_…", agent_id="agt_…", target="prod", api_key=os.environ["AIRPROMPTER_AGENT_KEY"], root={"pinned": PINNED_ROOT_JWK})
|
|
14
|
+
rendered = ap.prompt("support.triage").render(team="Billing", ticket=ticket_text)
|
|
15
|
+
completion = ap.observe(rendered, lambda: client.chat.completions.create(model=rendered.model, messages=[...]))
|
|
16
|
+
ap.feedback(rendered.run_ref, thumbs="up")
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
One of five distributions released in lockstep — `airprompter-agent-core`,
|
|
20
|
+
`-sync`, `-runtime`, `-telemetry` and the facade `airprompter-agent` — one
|
|
21
|
+
version, exact-pinned siblings, mirroring the TypeScript packages one for
|
|
22
|
+
one. The full README and the parity matrix are in
|
|
23
|
+
[`sdk-python/README.md`](https://github.com/airprompter/airprompter-agent-sdk/tree/main/sdk-python);
|
|
24
|
+
the protocol is in [`protocol/`](https://github.com/airprompter/airprompter-agent-sdk/tree/main/protocol).
|
|
25
|
+
BSD-3-Clause.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["hatchling>=1.25"]
|
|
3
|
+
build-backend = "hatchling.build"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "airprompter-agent"
|
|
7
|
+
version = "0.3.0"
|
|
8
|
+
description = "Run prompts and workflows approved in AirPrompter on your own systems: signed pull-only updates, an encrypted restart-safe slot store, offline operation, content-free telemetry. The facade over airprompter-agent-core, -sync, -runtime and -telemetry."
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
license = "BSD-3-Clause"
|
|
11
|
+
requires-python = ">=3.10"
|
|
12
|
+
authors = [{ name = "AirPrompter" }]
|
|
13
|
+
keywords = ["airprompter", "prompts", "llm", "agent", "governance"]
|
|
14
|
+
classifiers = [
|
|
15
|
+
"Development Status :: 3 - Alpha",
|
|
16
|
+
"Intended Audience :: Developers",
|
|
17
|
+
"Programming Language :: Python :: 3",
|
|
18
|
+
"Programming Language :: Python :: 3.10",
|
|
19
|
+
"Programming Language :: Python :: 3.11",
|
|
20
|
+
"Programming Language :: Python :: 3.12",
|
|
21
|
+
"Programming Language :: Python :: 3.13",
|
|
22
|
+
"Operating System :: OS Independent",
|
|
23
|
+
"Topic :: Software Development :: Libraries",
|
|
24
|
+
]
|
|
25
|
+
dependencies = [
|
|
26
|
+
"airprompter-agent-core==0.3.0",
|
|
27
|
+
"airprompter-agent-sync==0.3.0",
|
|
28
|
+
"airprompter-agent-runtime==0.3.0",
|
|
29
|
+
"airprompter-agent-telemetry==0.3.0",
|
|
30
|
+
]
|
|
31
|
+
|
|
32
|
+
[project.optional-dependencies]
|
|
33
|
+
test = ["pytest>=8"]
|
|
34
|
+
# Key providers (airprompter-agent-sync extras), re-exposed here so one install names them.
|
|
35
|
+
kms = ["airprompter-agent-sync[kms]==0.3.0"]
|
|
36
|
+
vault = ["airprompter-agent-sync[vault]==0.3.0"]
|
|
37
|
+
keyring = ["airprompter-agent-sync[keyring]==0.3.0"]
|
|
38
|
+
# Provider wrappers: `airprompter_agent.integrations.*` import these lazily.
|
|
39
|
+
openai = ["openai>=1.40"]
|
|
40
|
+
anthropic = ["anthropic>=0.40"]
|
|
41
|
+
litellm = ["litellm>=1.50"]
|
|
42
|
+
|
|
43
|
+
[project.urls]
|
|
44
|
+
Homepage = "https://github.com/airprompter/airprompter-agent-sdk"
|
|
45
|
+
Source = "https://github.com/airprompter/airprompter-agent-sdk/tree/main/sdk-python/packages/agent"
|
|
46
|
+
Protocol = "https://github.com/airprompter/airprompter-agent-sdk/tree/main/protocol"
|
|
47
|
+
Changelog = "https://github.com/airprompter/airprompter-agent-sdk/blob/main/CHANGELOG.md"
|
|
48
|
+
Issues = "https://github.com/airprompter/airprompter-agent-sdk/issues"
|
|
49
|
+
|
|
50
|
+
[tool.hatch.build.targets.wheel]
|
|
51
|
+
packages = ["src/airprompter_agent"]
|
|
52
|
+
|
|
53
|
+
[tool.hatch.build.targets.sdist]
|
|
54
|
+
include = ["src/airprompter_agent", "README.md"]
|
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
"""airprompter-agent — run prompts and workflows approved in AirPrompter on your own systems.
|
|
2
|
+
|
|
3
|
+
::
|
|
4
|
+
|
|
5
|
+
from airprompter_agent import AirPrompterAgent
|
|
6
|
+
|
|
7
|
+
ap = AirPrompterAgent.start(organization_id="org_…", agent_id="agt_…", target="prod", api_key=os.environ["AIRPROMPTER_AGENT_KEY"], root={"pinned": PINNED_ROOT_JWK})
|
|
8
|
+
rendered = ap.prompt("support.triage").render(team="Billing", ticket=ticket_text)
|
|
9
|
+
completion = ap.observe(rendered, lambda: client.chat.completions.create(model=rendered.model, messages=[...]))
|
|
10
|
+
ap.feedback(rendered.run_ref, thumbs="up")
|
|
11
|
+
|
|
12
|
+
Same protocol, same conformance vectors and the same on-disk store as the
|
|
13
|
+
TypeScript SDK; see the README for the parity matrix.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
from .agent import (
|
|
17
|
+
PROTOCOL_VERSION,
|
|
18
|
+
SDK_NAME,
|
|
19
|
+
SDK_VERSION,
|
|
20
|
+
AgentStartError,
|
|
21
|
+
AgentStatus,
|
|
22
|
+
AirPrompterAgent,
|
|
23
|
+
ApplyOptions,
|
|
24
|
+
DatastoreOptions,
|
|
25
|
+
GoldenOptions,
|
|
26
|
+
PromptHandle,
|
|
27
|
+
ReleaseChange,
|
|
28
|
+
Rendered,
|
|
29
|
+
RenderRefusedError,
|
|
30
|
+
StagedRelease,
|
|
31
|
+
SyncOptions,
|
|
32
|
+
TelemetryOptions,
|
|
33
|
+
VendoredBundle,
|
|
34
|
+
Workflow,
|
|
35
|
+
WorkflowHandle,
|
|
36
|
+
WorkflowStep,
|
|
37
|
+
default_state_dir,
|
|
38
|
+
healthz_of,
|
|
39
|
+
healthz_response,
|
|
40
|
+
)
|
|
41
|
+
from airprompter_agent_sync.apply.window import UpdateWindow, WindowState, is_known_time_zone, parse_window, validate_window, window_state
|
|
42
|
+
from airprompter_agent_core.golden import GOLDEN_SET_FORMAT, GOLDEN_SET_VERSION, GoldenCaseResult, GoldenInvocation, GoldenReport, GoldenSetError, golden_reports_meet, parse_golden_set, pass_bps_of, run_golden_set
|
|
43
|
+
from airprompter_agent_core.judge import JUDGE_RUBRICS, PROTECTION_CRITERIA, JudgeResult, JudgeRubric, judge_prompt, judge_signals_of, parse_judge_reply, rubric_from_prompt
|
|
44
|
+
from airprompter_agent_core.bundle.apbundle import APBUNDLE_INFO, BundleError, DistributionKey, bundle_payload_bytes, create_encrypted_bundle, create_plaintext_bundle, distribution_key_id, open_bundle
|
|
45
|
+
from airprompter_agent_core.bundle.hpke import X25519KeyPair, generate_x25519_key_pair, x25519_private_key_from_raw, x25519_public_key_from_raw
|
|
46
|
+
from airprompter_agent_runtime.managed import MANAGED_REFUSAL_CODES, MANAGED_SDK_USER_AGENT, ManagedAgent, ManagedRunError, ManagedRunResult, ManagedRunStream, ManagedWorkflow, parse_sse
|
|
47
|
+
from airprompter_agent_core.protocol import (
|
|
48
|
+
ASSIGNMENT_MODULUS,
|
|
49
|
+
UNDEFINED,
|
|
50
|
+
Assignment,
|
|
51
|
+
AssignmentError,
|
|
52
|
+
CanonicalJsonError,
|
|
53
|
+
StepError,
|
|
54
|
+
Verdict,
|
|
55
|
+
arm_for_bucket,
|
|
56
|
+
assign_arm,
|
|
57
|
+
bucket_from_hash,
|
|
58
|
+
canonical_bytes,
|
|
59
|
+
canonical_json,
|
|
60
|
+
generate_p256_jwk,
|
|
61
|
+
key_thumbprint,
|
|
62
|
+
ordered_steps,
|
|
63
|
+
public_jwk_of,
|
|
64
|
+
referenced_payloads,
|
|
65
|
+
release_digest,
|
|
66
|
+
release_digest_input,
|
|
67
|
+
sha256_prefixed,
|
|
68
|
+
sign_bytes,
|
|
69
|
+
subject_hash,
|
|
70
|
+
trusted_root_from_pinned_key,
|
|
71
|
+
validate_arms,
|
|
72
|
+
verify_bytes,
|
|
73
|
+
verify_manifest,
|
|
74
|
+
verify_root_metadata,
|
|
75
|
+
)
|
|
76
|
+
from airprompter_agent_core.render.run_ref import RunRefFacts, mint_run_ref, parse_run_ref
|
|
77
|
+
from airprompter_agent_core.render.template import Delimiters, MissingVariableError, UnknownVariableError, default_of, placeholders_of, render_template, xml_delimiters
|
|
78
|
+
from airprompter_agent_core.telemetry.feedback import NormalizedFeedback, normalize_feedback
|
|
79
|
+
from airprompter_agent_telemetry.spool.writer import (
|
|
80
|
+
ERROR_CLASSES,
|
|
81
|
+
HOST_SPOOL_BUDGET_BYTES,
|
|
82
|
+
LATENCY_BUCKET_EDGES_MS,
|
|
83
|
+
SEGMENT_MAX_BYTES,
|
|
84
|
+
SERVERLESS_BUFFER_BYTES,
|
|
85
|
+
DirectorySink,
|
|
86
|
+
MemorySink,
|
|
87
|
+
Observation,
|
|
88
|
+
SegmentPlanner,
|
|
89
|
+
SpoolSink,
|
|
90
|
+
SpoolWriter,
|
|
91
|
+
WriterIdentity,
|
|
92
|
+
epoch_minute,
|
|
93
|
+
latency_bucket_index,
|
|
94
|
+
minute_of,
|
|
95
|
+
segment_name,
|
|
96
|
+
)
|
|
97
|
+
from airprompter_agent_sync.store.key_provider import KeyProvider, custom_key_provider, file_key, kms, os_keystore, unwrap_with_raw_key, vault, wrap_with_raw_key
|
|
98
|
+
from airprompter_agent_sync.store.payload_crypto import PayloadDecryptError, decrypt_payload, encrypt_payload, payload_aad
|
|
99
|
+
from airprompter_agent_sync.store.slot_store import LoadedSlot, SlotStore, StoreError, StoreHooks
|
|
100
|
+
from airprompter_agent_sync.store.release_datastore import DatastoreRollbackResult, HydrationPlan, KvReleaseDatastore, MemoryReleaseDatastore, ReleaseControl, ReleaseDatastore, ReleaseKey, StoredReleaseRow, clear_datastore_rollback, kv_release_datastore, prune_datastore, resolve_hydration, rollback_datastore, rollout_of
|
|
101
|
+
from airprompter_agent_sync.store.kv_store import FileKvStore, KvEntry, KvStore, KvStoreReport, MemoryKvStore, check_kv_store
|
|
102
|
+
from airprompter_agent_sync.store.datastore_records import DATASTORE_FORMAT, DatastoreRecordError, datastore_keys, decode_datastore_record, encode_datastore_record
|
|
103
|
+
from airprompter_agent_sync.sync.pull_to_datastore import PullToDatastoreResult, pull_to_datastore
|
|
104
|
+
from airprompter_agent_core.control.client import SyncClient
|
|
105
|
+
from airprompter_agent_sync.sync.loop import SyncPassOutput, jittered_delay_ms, sync_once
|
|
106
|
+
from airprompter_agent_core.checks import CHECK_BOUNDS, check_refusal, checks_refusals, estimate_tokens, evaluate_check, evaluate_checks, output_text_of, pattern_refusal, project_checks, validate_json_schema, value_at_path
|
|
107
|
+
from airprompter_agent_runtime.inference import INFERENCE_KEYS, AppliedInference, apply_inference, temperature_of, top_p_of
|
|
108
|
+
from airprompter_agent_runtime.observe import ObserveTarget, UsageNormalized, classify_error, classify_result, normalize_usage, observe_call, observe_call_async
|
|
109
|
+
from airprompter_agent_runtime.variables import (
|
|
110
|
+
DEFAULT_SOURCE_MAX_BYTES,
|
|
111
|
+
DEFAULT_SOURCE_TIMEOUT_SECONDS,
|
|
112
|
+
Filled,
|
|
113
|
+
FilledRender,
|
|
114
|
+
FillPlan,
|
|
115
|
+
RegisteredSource,
|
|
116
|
+
RenderValues,
|
|
117
|
+
VariableSource,
|
|
118
|
+
VariableSourceContext,
|
|
119
|
+
VariableSourceError,
|
|
120
|
+
VariableSourceInput,
|
|
121
|
+
VariableSourceRegistry,
|
|
122
|
+
VariableSourceRequiredError,
|
|
123
|
+
fill_async,
|
|
124
|
+
fill_sync,
|
|
125
|
+
is_variable_source_error,
|
|
126
|
+
is_variable_source_required_error,
|
|
127
|
+
plan_fill,
|
|
128
|
+
stricter_sources,
|
|
129
|
+
supplied,
|
|
130
|
+
unsourced,
|
|
131
|
+
)
|
|
132
|
+
from airprompter_agent_telemetry.uploader import GrantDecision, PassResult, SpoolUploader, UploadGrant, backoff_delay_ms, inspect_segment, post_segment, validate_spool_row
|
|
133
|
+
|
|
134
|
+
# S10: the seam between the packages and the runtime over it, for a customer who holds a release and wants no store.
|
|
135
|
+
from airprompter_agent_core.release.bundle_release import BundleRelease, BundleReleaseRefused
|
|
136
|
+
from airprompter_agent_core.release.reader import LoadedRelease, ReleaseReader, ReleaseSlot
|
|
137
|
+
from airprompter_agent_runtime.release.resolver import Disabled, ReleaseResolver, ResolveOutcome, disabled_from
|
|
138
|
+
|
|
139
|
+
__version__ = SDK_VERSION
|
|
140
|
+
|
|
141
|
+
__all__ = [
|
|
142
|
+
"DatastoreOptions",
|
|
143
|
+
"DATASTORE_FORMAT",
|
|
144
|
+
"DatastoreRecordError",
|
|
145
|
+
"FileKvStore",
|
|
146
|
+
"KvEntry",
|
|
147
|
+
"KvReleaseDatastore",
|
|
148
|
+
"KvStore",
|
|
149
|
+
"KvStoreReport",
|
|
150
|
+
"MemoryKvStore",
|
|
151
|
+
"check_kv_store",
|
|
152
|
+
"datastore_keys",
|
|
153
|
+
"decode_datastore_record",
|
|
154
|
+
"encode_datastore_record",
|
|
155
|
+
"kv_release_datastore",
|
|
156
|
+
"prune_datastore",
|
|
157
|
+
"DatastoreRollbackResult",
|
|
158
|
+
"HydrationPlan",
|
|
159
|
+
"MemoryReleaseDatastore",
|
|
160
|
+
"PullToDatastoreResult",
|
|
161
|
+
"ReleaseControl",
|
|
162
|
+
"ReleaseDatastore",
|
|
163
|
+
"ReleaseKey",
|
|
164
|
+
"StoredReleaseRow",
|
|
165
|
+
"clear_datastore_rollback",
|
|
166
|
+
"pull_to_datastore",
|
|
167
|
+
"resolve_hydration",
|
|
168
|
+
"rollback_datastore",
|
|
169
|
+
"rollout_of",
|
|
170
|
+
"APBUNDLE_INFO",
|
|
171
|
+
"AppliedInference",
|
|
172
|
+
"INFERENCE_KEYS",
|
|
173
|
+
"apply_inference",
|
|
174
|
+
"temperature_of",
|
|
175
|
+
"top_p_of",
|
|
176
|
+
"ASSIGNMENT_MODULUS",
|
|
177
|
+
"AgentStartError",
|
|
178
|
+
"AgentStatus",
|
|
179
|
+
"AirPrompterAgent",
|
|
180
|
+
"ApplyOptions",
|
|
181
|
+
"Assignment",
|
|
182
|
+
"AssignmentError",
|
|
183
|
+
"BundleError",
|
|
184
|
+
"BundleRelease",
|
|
185
|
+
"BundleReleaseRefused",
|
|
186
|
+
"CHECK_BOUNDS",
|
|
187
|
+
"CanonicalJsonError",
|
|
188
|
+
"Delimiters",
|
|
189
|
+
"DirectorySink",
|
|
190
|
+
"Disabled",
|
|
191
|
+
"DistributionKey",
|
|
192
|
+
"ERROR_CLASSES",
|
|
193
|
+
"GOLDEN_SET_FORMAT",
|
|
194
|
+
"GOLDEN_SET_VERSION",
|
|
195
|
+
"GoldenCaseResult",
|
|
196
|
+
"GoldenInvocation",
|
|
197
|
+
"GoldenOptions",
|
|
198
|
+
"GoldenReport",
|
|
199
|
+
"GoldenSetError",
|
|
200
|
+
"GrantDecision",
|
|
201
|
+
"HOST_SPOOL_BUDGET_BYTES",
|
|
202
|
+
"JUDGE_RUBRICS",
|
|
203
|
+
"JudgeResult",
|
|
204
|
+
"JudgeRubric",
|
|
205
|
+
"KeyProvider",
|
|
206
|
+
"LATENCY_BUCKET_EDGES_MS",
|
|
207
|
+
"LoadedRelease",
|
|
208
|
+
"LoadedSlot",
|
|
209
|
+
"MANAGED_REFUSAL_CODES",
|
|
210
|
+
"MANAGED_SDK_USER_AGENT",
|
|
211
|
+
"ManagedAgent",
|
|
212
|
+
"ManagedRunError",
|
|
213
|
+
"ManagedRunResult",
|
|
214
|
+
"ManagedRunStream",
|
|
215
|
+
"ManagedWorkflow",
|
|
216
|
+
"MemorySink",
|
|
217
|
+
"MissingVariableError",
|
|
218
|
+
"NormalizedFeedback",
|
|
219
|
+
"Observation",
|
|
220
|
+
"ObserveTarget",
|
|
221
|
+
"PROTECTION_CRITERIA",
|
|
222
|
+
"PROTOCOL_VERSION",
|
|
223
|
+
"PassResult",
|
|
224
|
+
"PayloadDecryptError",
|
|
225
|
+
"PromptHandle",
|
|
226
|
+
"ReleaseChange",
|
|
227
|
+
"ReleaseReader",
|
|
228
|
+
"ReleaseResolver",
|
|
229
|
+
"ReleaseSlot",
|
|
230
|
+
"RenderRefusedError",
|
|
231
|
+
"Rendered",
|
|
232
|
+
"ResolveOutcome",
|
|
233
|
+
"RunRefFacts",
|
|
234
|
+
"SDK_NAME",
|
|
235
|
+
"SDK_VERSION",
|
|
236
|
+
"SEGMENT_MAX_BYTES",
|
|
237
|
+
"SERVERLESS_BUFFER_BYTES",
|
|
238
|
+
"SegmentPlanner",
|
|
239
|
+
"SlotStore",
|
|
240
|
+
"SpoolSink",
|
|
241
|
+
"SpoolUploader",
|
|
242
|
+
"SpoolWriter",
|
|
243
|
+
"StagedRelease",
|
|
244
|
+
"StepError",
|
|
245
|
+
"StoreError",
|
|
246
|
+
"StoreHooks",
|
|
247
|
+
"SyncClient",
|
|
248
|
+
"SyncOptions",
|
|
249
|
+
"SyncPassOutput",
|
|
250
|
+
"TelemetryOptions",
|
|
251
|
+
"UNDEFINED",
|
|
252
|
+
"UnknownVariableError",
|
|
253
|
+
"UpdateWindow",
|
|
254
|
+
"UploadGrant",
|
|
255
|
+
"UsageNormalized",
|
|
256
|
+
"VendoredBundle",
|
|
257
|
+
"Verdict",
|
|
258
|
+
"WindowState",
|
|
259
|
+
"Workflow",
|
|
260
|
+
"WorkflowHandle",
|
|
261
|
+
"WorkflowStep",
|
|
262
|
+
"DEFAULT_SOURCE_MAX_BYTES",
|
|
263
|
+
"DEFAULT_SOURCE_TIMEOUT_SECONDS",
|
|
264
|
+
"Filled",
|
|
265
|
+
"FilledRender",
|
|
266
|
+
"FillPlan",
|
|
267
|
+
"RegisteredSource",
|
|
268
|
+
"RenderValues",
|
|
269
|
+
"VariableSource",
|
|
270
|
+
"VariableSourceContext",
|
|
271
|
+
"VariableSourceError",
|
|
272
|
+
"VariableSourceInput",
|
|
273
|
+
"VariableSourceRegistry",
|
|
274
|
+
"VariableSourceRequiredError",
|
|
275
|
+
"fill_async",
|
|
276
|
+
"fill_sync",
|
|
277
|
+
"is_variable_source_error",
|
|
278
|
+
"is_variable_source_required_error",
|
|
279
|
+
"plan_fill",
|
|
280
|
+
"stricter_sources",
|
|
281
|
+
"supplied",
|
|
282
|
+
"unsourced",
|
|
283
|
+
"WriterIdentity",
|
|
284
|
+
"X25519KeyPair",
|
|
285
|
+
"agent",
|
|
286
|
+
"apply",
|
|
287
|
+
"arm_for_bucket",
|
|
288
|
+
"assign_arm",
|
|
289
|
+
"backoff_delay_ms",
|
|
290
|
+
"bucket_from_hash",
|
|
291
|
+
"bundle",
|
|
292
|
+
"bundle_payload_bytes",
|
|
293
|
+
"canonical_bytes",
|
|
294
|
+
"canonical_json",
|
|
295
|
+
"check_refusal",
|
|
296
|
+
"checks_refusals",
|
|
297
|
+
"classify_error",
|
|
298
|
+
"classify_result",
|
|
299
|
+
"create_encrypted_bundle",
|
|
300
|
+
"create_plaintext_bundle",
|
|
301
|
+
"custom_key_provider",
|
|
302
|
+
"decrypt_payload",
|
|
303
|
+
"default_of",
|
|
304
|
+
"default_state_dir",
|
|
305
|
+
"disabled_from",
|
|
306
|
+
"distribution_key_id",
|
|
307
|
+
"encrypt_payload",
|
|
308
|
+
"epoch_minute",
|
|
309
|
+
"estimate_tokens",
|
|
310
|
+
"evaluate_check",
|
|
311
|
+
"evaluate_checks",
|
|
312
|
+
"file_key",
|
|
313
|
+
"generate_p256_jwk",
|
|
314
|
+
"generate_x25519_key_pair",
|
|
315
|
+
"golden_reports_meet",
|
|
316
|
+
"healthz_of",
|
|
317
|
+
"healthz_response",
|
|
318
|
+
"inspect_segment",
|
|
319
|
+
"is_known_time_zone",
|
|
320
|
+
"jittered_delay_ms",
|
|
321
|
+
"judge_prompt",
|
|
322
|
+
"judge_signals_of",
|
|
323
|
+
"key_thumbprint",
|
|
324
|
+
"kms",
|
|
325
|
+
"latency_bucket_index",
|
|
326
|
+
"managed",
|
|
327
|
+
"mint_run_ref",
|
|
328
|
+
"minute_of",
|
|
329
|
+
"normalize_feedback",
|
|
330
|
+
"normalize_usage",
|
|
331
|
+
"observe_call",
|
|
332
|
+
"observe_call_async",
|
|
333
|
+
"open_bundle",
|
|
334
|
+
"ordered_steps",
|
|
335
|
+
"os_keystore",
|
|
336
|
+
"output_text_of",
|
|
337
|
+
"parse_golden_set",
|
|
338
|
+
"parse_judge_reply",
|
|
339
|
+
"parse_run_ref",
|
|
340
|
+
"parse_sse",
|
|
341
|
+
"parse_window",
|
|
342
|
+
"pass_bps_of",
|
|
343
|
+
"pattern_refusal",
|
|
344
|
+
"placeholders_of",
|
|
345
|
+
"payload_aad",
|
|
346
|
+
"post_segment",
|
|
347
|
+
"project_checks",
|
|
348
|
+
"protocol",
|
|
349
|
+
"public_jwk_of",
|
|
350
|
+
"referenced_payloads",
|
|
351
|
+
"release_digest",
|
|
352
|
+
"release_digest_input",
|
|
353
|
+
"render",
|
|
354
|
+
"render_template",
|
|
355
|
+
"rubric_from_prompt",
|
|
356
|
+
"run_golden_set",
|
|
357
|
+
"segment_name",
|
|
358
|
+
"sha256_prefixed",
|
|
359
|
+
"sign_bytes",
|
|
360
|
+
"spool",
|
|
361
|
+
"store",
|
|
362
|
+
"subject_hash",
|
|
363
|
+
"sync",
|
|
364
|
+
"sync_once",
|
|
365
|
+
"telemetry",
|
|
366
|
+
"trusted_root_from_pinned_key",
|
|
367
|
+
"unwrap_with_raw_key",
|
|
368
|
+
"validate_arms",
|
|
369
|
+
"validate_json_schema",
|
|
370
|
+
"validate_spool_row",
|
|
371
|
+
"validate_window",
|
|
372
|
+
"value_at_path",
|
|
373
|
+
"vault",
|
|
374
|
+
"verify_bytes",
|
|
375
|
+
"verify_manifest",
|
|
376
|
+
"verify_root_metadata",
|
|
377
|
+
"window_state",
|
|
378
|
+
"wrap_with_raw_key",
|
|
379
|
+
"x25519_private_key_from_raw",
|
|
380
|
+
"x25519_public_key_from_raw",
|
|
381
|
+
"xml_delimiters",
|
|
382
|
+
]
|