agentic-runner 2.6.0__py3-none-any.whl
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.
- agentic_runner/__init__.py +12 -0
- agentic_runner/activities.py +4918 -0
- agentic_runner/callback.py +342 -0
- agentic_runner/child_watcher.py +66 -0
- agentic_runner/cli.py +416 -0
- agentic_runner/config.py +105 -0
- agentic_runner/credentials.py +252 -0
- agentic_runner/device_login_activities.py +79 -0
- agentic_runner/egress.py +243 -0
- agentic_runner/heartbeat_link.py +249 -0
- agentic_runner/hooks.py +455 -0
- agentic_runner/host_store.py +295 -0
- agentic_runner/integrations/__init__.py +0 -0
- agentic_runner/integrations/git/__init__.py +1 -0
- agentic_runner/integrations/git/contracts.py +198 -0
- agentic_runner/integrations/git/evidence.py +442 -0
- agentic_runner/integrations/git/fake_workspace.py +339 -0
- agentic_runner/integrations/git/workspace.py +921 -0
- agentic_runner/integrations/github/__init__.py +53 -0
- agentic_runner/integrations/github/auth.py +171 -0
- agentic_runner/integrations/github/fake_client.py +494 -0
- agentic_runner/integrations/github/gh_client.py +944 -0
- agentic_runner/lifecycle.py +48 -0
- agentic_runner/llm_proxy.py +937 -0
- agentic_runner/mcp.py +342 -0
- agentic_runner/message_store.py +341 -0
- agentic_runner/py.typed +0 -0
- agentic_runner/recipient_key_secret.py +134 -0
- agentic_runner/registration.py +363 -0
- agentic_runner/runtime/__init__.py +0 -0
- agentic_runner/runtime/verifier_command.py +344 -0
- agentic_runner/sealed_box.py +509 -0
- agentic_runner/service.py +1068 -0
- agentic_runner/tiny_http.py +133 -0
- agentic_runner/triage_activities.py +113 -0
- agentic_runner/user_sources.py +546 -0
- agentic_runner/workers/__init__.py +1 -0
- agentic_runner/workers/_runtime_support.py +388 -0
- agentic_runner/workers/agent_runtime.py +93 -0
- agentic_runner/workers/claude_runtime.py +226 -0
- agentic_runner/workers/codex_runtime.py +311 -0
- agentic_runner/workers/command_policy.py +250 -0
- agentic_runner/workers/contract_device_login.py +211 -0
- agentic_runner/workers/contract_isolation.py +500 -0
- agentic_runner/workers/fastapi_client.py +396 -0
- agentic_runner/workers/harness_usage.py +65 -0
- agentic_runner/workers/mcp_config.py +111 -0
- agentic_runner/workers/settings.py +314 -0
- agentic_runner/workstation.py +687 -0
- agentic_runner-2.6.0.dist-info/METADATA +49 -0
- agentic_runner-2.6.0.dist-info/RECORD +54 -0
- agentic_runner-2.6.0.dist-info/WHEEL +4 -0
- agentic_runner-2.6.0.dist-info/entry_points.txt +2 -0
- agentic_runner-2.6.0.dist-info/licenses/LICENSE +661 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: agentic-runner
|
|
3
|
+
Version: 2.6.0
|
|
4
|
+
Summary: The Agentic OS Runner: an activity-only Temporal executor for workspaces, Agent Runtimes and verb seams
|
|
5
|
+
License-Expression: AGPL-3.0-only
|
|
6
|
+
License-File: LICENSE
|
|
7
|
+
Requires-Python: >=3.12
|
|
8
|
+
Requires-Dist: agentic-runner-contracts
|
|
9
|
+
Requires-Dist: cryptography<51,>=50
|
|
10
|
+
Requires-Dist: httpx<1.0,>=0.27
|
|
11
|
+
Requires-Dist: pydantic-settings<3.0,>=2.0
|
|
12
|
+
Requires-Dist: pydantic<3.0,>=2.0
|
|
13
|
+
Requires-Dist: pyjwt[crypto]>=2.13.0
|
|
14
|
+
Requires-Dist: temporalio<2.0,>=1.10
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
|
|
17
|
+
# agentic-runner
|
|
18
|
+
|
|
19
|
+
The Agentic OS **Runner** (ADR-0013): an activity-only Temporal worker that executes
|
|
20
|
+
exactly what must happen where the workspace, the Agent Runtime subprocess, a verb seam
|
|
21
|
+
or a credential the Runner holds is. The Ralph Loop — every `@workflow.defn` — runs on
|
|
22
|
+
platform-hosted Platform Workers and never ships here.
|
|
23
|
+
|
|
24
|
+
It depends on `agentic-runner-contracts` and third-party packages only: it imports no
|
|
25
|
+
platform module, enforced by `tests/test_package_partition.py`.
|
|
26
|
+
|
|
27
|
+
Without the platform — its namespace, Directive tokens, Grant snapshots, Evidence sink
|
|
28
|
+
and the loop itself — this package is an executor with no scheduler, no governance and
|
|
29
|
+
no intake. That inertness, not obfuscation, is the boundary (ADR-0013 §5).
|
|
30
|
+
|
|
31
|
+
## Running it
|
|
32
|
+
|
|
33
|
+
`agentic-runner run` is the process: it exchanges the Agent Token in
|
|
34
|
+
`AGENTIC_AGENT_TOKEN` for a durable identity at `AGENTIC_CONTROL_PLANE_URL` (once,
|
|
35
|
+
persisted under `AGENTIC_RUNNER_STATE_DIR`), heartbeats every 30 s, connects to the
|
|
36
|
+
namespace it was handed with the Runner Token the heartbeat refreshes, and polls its own
|
|
37
|
+
`runner.{runner_id}` queue. `AGENTIC_RUNNER_ISOLATION` is `contract_uid` (default: every
|
|
38
|
+
Contract its own uid, needs `CAP_SETUID` — refused otherwise) or `none`. Readiness is
|
|
39
|
+
`GET /healthz` on `AGENTIC_RUNNER_READINESS_PORT`.
|
|
40
|
+
|
|
41
|
+
It ships as `ghcr.io/qtsone/agentic-runner` (`Dockerfile.runner` at the repository
|
|
42
|
+
root: Python, git, `codex`, `claude`, nothing else) and installs with
|
|
43
|
+
`charts/agentic-runner`.
|
|
44
|
+
|
|
45
|
+
On a workstation it is a per-user login agent, one per Organisation:
|
|
46
|
+
`agentic-runner install | start | stop | status <org>` (LaunchAgent, systemd user unit or
|
|
47
|
+
logon task; never `sudo`), with Credential References in the OS credential store.
|
|
48
|
+
|
|
49
|
+
Licensed under AGPL-3.0-only.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
agentic_runner/__init__.py,sha256=vSTrLq39MKLtCJtiB6dxaowclqKJ-c85UVvyIHaj-to,545
|
|
2
|
+
agentic_runner/activities.py,sha256=kA59WkRkCH96cAtsbkX87mRQV3bMyMwDsDSav9OmLEU,219707
|
|
3
|
+
agentic_runner/callback.py,sha256=T89H-sHoVbiOCbYodHPsrfKUPOyY1Vd865ZN1n_RQSQ,12248
|
|
4
|
+
agentic_runner/child_watcher.py,sha256=sRVLMnPBPdiV2PmIrL5eFNcXw8-wfM5fEF_Mj_lyqEY,2894
|
|
5
|
+
agentic_runner/cli.py,sha256=ucSvovNdwFK579q0elIFT1xAgeh0WS-5ai00J4cPu0M,16798
|
|
6
|
+
agentic_runner/config.py,sha256=T1V0BN3tgWANPhWSgBy7K63m8-Fzx6ZHG1CtcduFZjk,4569
|
|
7
|
+
agentic_runner/credentials.py,sha256=aA5pL3CIu1BNEcO7Dk4a0eastBGwa-Ai2DqUvEEj4vc,10949
|
|
8
|
+
agentic_runner/device_login_activities.py,sha256=tTF3Gaaarq1QVcMEXmA7TIFEj_a36txSgeDr0CM10ew,3057
|
|
9
|
+
agentic_runner/egress.py,sha256=_2mD--j0rB7zPzXZu2funcPa3OFUeaWeFVNNT1JYo64,9176
|
|
10
|
+
agentic_runner/heartbeat_link.py,sha256=LWjW8CUzqGwnNyzAs3AEpUxa2eeW4QT_U2cSzH4U8Yc,10665
|
|
11
|
+
agentic_runner/hooks.py,sha256=6GYox6e-Lk_FJ5LwR78Orpk_jqDVvZxaslJ_KQtCGVg,17721
|
|
12
|
+
agentic_runner/host_store.py,sha256=FqZGIKBs8h27PhR-BGSK78gj7y4unbVon3fnciRaC3E,10654
|
|
13
|
+
agentic_runner/lifecycle.py,sha256=CwWnNk0gnQmka5f5dgaTS-iwT0j6c-5zk2ClVBwjQm8,1943
|
|
14
|
+
agentic_runner/llm_proxy.py,sha256=D2MwpCyNel882xtrDU_4IX1KTvC2dK2Sg5hsnTzmHpk,38793
|
|
15
|
+
agentic_runner/mcp.py,sha256=3WwpbAKACNNvahyvzJ8DwXoU4l50rcumebYEsjVc3rg,14451
|
|
16
|
+
agentic_runner/message_store.py,sha256=uo3Mi2pP5Ra4JhtMs6doNhIXe8MGJ6lUJtsn1cK3Tgk,13298
|
|
17
|
+
agentic_runner/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
18
|
+
agentic_runner/recipient_key_secret.py,sha256=va5HY_JFp5RZvVleBK1QBlxx6kde8PBKVXXejtgq76I,5020
|
|
19
|
+
agentic_runner/registration.py,sha256=1PEQC_S6JyWGgJXvuZ3WSEIWz2MKRJNA-Ah-mfJUdnM,14856
|
|
20
|
+
agentic_runner/sealed_box.py,sha256=G3Q5HEsbUci4a7Aj9GJEAkMLHXcMbibER3an6avbLik,21445
|
|
21
|
+
agentic_runner/service.py,sha256=e0HsE9nSsx-ETmS0glSNmVtVOzO-pnsTa69LnuNyjEI,43239
|
|
22
|
+
agentic_runner/tiny_http.py,sha256=n0LY4cTiMfqWRVo852XPUXk0A3OMiAN-FEkUMEaKRLk,4531
|
|
23
|
+
agentic_runner/triage_activities.py,sha256=zxULbJ0VKLS4rLlL_rGgDqkvIkuQ4Qtdos54t1mJmko,3871
|
|
24
|
+
agentic_runner/user_sources.py,sha256=bznizfrWUfZLVpW-H-XEWeq5Kajz_p2hcutkfrm-BHQ,21962
|
|
25
|
+
agentic_runner/workstation.py,sha256=dSX9YCfPnNhKaKGxf15-4m4uR4JgfJ3og0qZM83RmHY,24756
|
|
26
|
+
agentic_runner/integrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
27
|
+
agentic_runner/integrations/git/__init__.py,sha256=tILmaiUhXkKLc9hp8bfPYjEzMF3-GgCztKCHbRlxaAw,63
|
|
28
|
+
agentic_runner/integrations/git/contracts.py,sha256=uJg533eCuwjf1rubdzzwwo9rR-FKuU94J_rldtWPoL8,5480
|
|
29
|
+
agentic_runner/integrations/git/evidence.py,sha256=BdpEjqT7xIpOho7oZu1VLd-uweGKOA3Lebq-kMMQqzw,14503
|
|
30
|
+
agentic_runner/integrations/git/fake_workspace.py,sha256=bjk-2BR-4pAAv1zO-_SIt07Jkae2aIfLF0MNP5p2kY8,14468
|
|
31
|
+
agentic_runner/integrations/git/workspace.py,sha256=tDaMXJKGM11HvylcJGipKDsKdiJ4kMiTBNpA79sAdxY,36850
|
|
32
|
+
agentic_runner/integrations/github/__init__.py,sha256=UypJabKJ2JX7rAAHtur3GDIEPRQKy_0TaRuKlGydGbo,1336
|
|
33
|
+
agentic_runner/integrations/github/auth.py,sha256=yq1LUp_k60mpjh_OfgSc3xAwx4er9oEdKmPO_fYoBxk,6362
|
|
34
|
+
agentic_runner/integrations/github/fake_client.py,sha256=A8ok6EVQqxKdKii_hyeaCeL6dJ_Imr4Pn8QJ9miYqCs,19759
|
|
35
|
+
agentic_runner/integrations/github/gh_client.py,sha256=w0QCO6Unc4ZjHCxhW-J9_dLbsQj8osscfUIcIB1mJIQ,39479
|
|
36
|
+
agentic_runner/runtime/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
37
|
+
agentic_runner/runtime/verifier_command.py,sha256=vRvH2Hjtx8_FjKHhmcs31tOE_8ilbnNPEZ1RoQxsC4g,12042
|
|
38
|
+
agentic_runner/workers/__init__.py,sha256=PbcA2yMeEuEi5D_somYfFx51vMyiVtE9BMd4fY0uRsM,80
|
|
39
|
+
agentic_runner/workers/_runtime_support.py,sha256=9U8B6ew8e8baYUeI_IWdT0O-GmXvbGcRrgsF5-b6Mcg,14986
|
|
40
|
+
agentic_runner/workers/agent_runtime.py,sha256=HZ7gMFD45H7GuhkpjMuHiZUkzIqNNVogJikwVvK1Rhc,3821
|
|
41
|
+
agentic_runner/workers/claude_runtime.py,sha256=fGM9L1q_ZnW-ee9JVLPbxWeZuEc3-stWyL8vgXZVxbU,8659
|
|
42
|
+
agentic_runner/workers/codex_runtime.py,sha256=nj8FujUNENwsvbKmOd51Y1BS8o0R6hcOGAYOJxE6BAE,12272
|
|
43
|
+
agentic_runner/workers/command_policy.py,sha256=L_b9Ny42D0vpY9Z23oi5S3F651RtsQ9J76sxYeSmb50,8011
|
|
44
|
+
agentic_runner/workers/contract_device_login.py,sha256=8yNJkHgjtQDTqUeR9o8KoJyWHQQwFPrk5esViKjOyBY,9277
|
|
45
|
+
agentic_runner/workers/contract_isolation.py,sha256=mHMNNTq9tjySxA-zhABriAaHilETaMb_z8htAiJvsDI,22241
|
|
46
|
+
agentic_runner/workers/fastapi_client.py,sha256=M9XHoAaYWdwU1pQ-fGJoxfq_-k6Plk777HTKjtHdoeY,15552
|
|
47
|
+
agentic_runner/workers/harness_usage.py,sha256=xpvFhp7V35t-ulVgcfsVNLmcVNYprmIPHluxJwA-qnA,2281
|
|
48
|
+
agentic_runner/workers/mcp_config.py,sha256=IHQJzm_85XNx4EHyTO5ER1mwjjUQ_nis9vT6qOWsf88,4984
|
|
49
|
+
agentic_runner/workers/settings.py,sha256=BORkcKJwhCWKqoYDg-z5JFN3_PWUGtj8thrPrAecqNM,12268
|
|
50
|
+
agentic_runner-2.6.0.dist-info/METADATA,sha256=7seTxlpnAMrQ8wW0AJPXOqaEKzvG_DAboNm_RCb9oHQ,2315
|
|
51
|
+
agentic_runner-2.6.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
|
|
52
|
+
agentic_runner-2.6.0.dist-info/entry_points.txt,sha256=j6JuJMTkIAT8IH_o3G1do0tAeeKQd6x8hf46UkaQG-w,59
|
|
53
|
+
agentic_runner-2.6.0.dist-info/licenses/LICENSE,sha256=kbZSd5WewnN2PSjvAC6DprP7pXx6NUNsnltmU2Mz1yA,34519
|
|
54
|
+
agentic_runner-2.6.0.dist-info/RECORD,,
|