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.
Files changed (54) hide show
  1. agentic_runner/__init__.py +12 -0
  2. agentic_runner/activities.py +4918 -0
  3. agentic_runner/callback.py +342 -0
  4. agentic_runner/child_watcher.py +66 -0
  5. agentic_runner/cli.py +416 -0
  6. agentic_runner/config.py +105 -0
  7. agentic_runner/credentials.py +252 -0
  8. agentic_runner/device_login_activities.py +79 -0
  9. agentic_runner/egress.py +243 -0
  10. agentic_runner/heartbeat_link.py +249 -0
  11. agentic_runner/hooks.py +455 -0
  12. agentic_runner/host_store.py +295 -0
  13. agentic_runner/integrations/__init__.py +0 -0
  14. agentic_runner/integrations/git/__init__.py +1 -0
  15. agentic_runner/integrations/git/contracts.py +198 -0
  16. agentic_runner/integrations/git/evidence.py +442 -0
  17. agentic_runner/integrations/git/fake_workspace.py +339 -0
  18. agentic_runner/integrations/git/workspace.py +921 -0
  19. agentic_runner/integrations/github/__init__.py +53 -0
  20. agentic_runner/integrations/github/auth.py +171 -0
  21. agentic_runner/integrations/github/fake_client.py +494 -0
  22. agentic_runner/integrations/github/gh_client.py +944 -0
  23. agentic_runner/lifecycle.py +48 -0
  24. agentic_runner/llm_proxy.py +937 -0
  25. agentic_runner/mcp.py +342 -0
  26. agentic_runner/message_store.py +341 -0
  27. agentic_runner/py.typed +0 -0
  28. agentic_runner/recipient_key_secret.py +134 -0
  29. agentic_runner/registration.py +363 -0
  30. agentic_runner/runtime/__init__.py +0 -0
  31. agentic_runner/runtime/verifier_command.py +344 -0
  32. agentic_runner/sealed_box.py +509 -0
  33. agentic_runner/service.py +1068 -0
  34. agentic_runner/tiny_http.py +133 -0
  35. agentic_runner/triage_activities.py +113 -0
  36. agentic_runner/user_sources.py +546 -0
  37. agentic_runner/workers/__init__.py +1 -0
  38. agentic_runner/workers/_runtime_support.py +388 -0
  39. agentic_runner/workers/agent_runtime.py +93 -0
  40. agentic_runner/workers/claude_runtime.py +226 -0
  41. agentic_runner/workers/codex_runtime.py +311 -0
  42. agentic_runner/workers/command_policy.py +250 -0
  43. agentic_runner/workers/contract_device_login.py +211 -0
  44. agentic_runner/workers/contract_isolation.py +500 -0
  45. agentic_runner/workers/fastapi_client.py +396 -0
  46. agentic_runner/workers/harness_usage.py +65 -0
  47. agentic_runner/workers/mcp_config.py +111 -0
  48. agentic_runner/workers/settings.py +314 -0
  49. agentic_runner/workstation.py +687 -0
  50. agentic_runner-2.6.0.dist-info/METADATA +49 -0
  51. agentic_runner-2.6.0.dist-info/RECORD +54 -0
  52. agentic_runner-2.6.0.dist-info/WHEEL +4 -0
  53. agentic_runner-2.6.0.dist-info/entry_points.txt +2 -0
  54. 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,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.4
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ agentic-runner = agentic_runner.cli:main