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.
@@ -0,0 +1,6 @@
1
+ __pycache__/
2
+ *.pyc
3
+ .pytest_cache/
4
+ *.egg-info/
5
+ dist/
6
+ build/
@@ -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
+ ]