@rudderhq/agent-runtime-codex-local 0.1.0-canary.0

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 (68) hide show
  1. package/LICENSE +14 -0
  2. package/dist/cli/format-event.d.ts +2 -0
  3. package/dist/cli/format-event.d.ts.map +1 -0
  4. package/dist/cli/format-event.js +213 -0
  5. package/dist/cli/format-event.js.map +1 -0
  6. package/dist/cli/index.d.ts +2 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +2 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/cli/quota-probe.d.ts +3 -0
  11. package/dist/cli/quota-probe.d.ts.map +1 -0
  12. package/dist/cli/quota-probe.js +97 -0
  13. package/dist/cli/quota-probe.js.map +1 -0
  14. package/dist/index.d.ts +10 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +50 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/server/codex-home.d.ts +7 -0
  19. package/dist/server/codex-home.d.ts.map +1 -0
  20. package/dist/server/codex-home.js +456 -0
  21. package/dist/server/codex-home.js.map +1 -0
  22. package/dist/server/execute.d.ts +3 -0
  23. package/dist/server/execute.d.ts.map +1 -0
  24. package/dist/server/execute.js +514 -0
  25. package/dist/server/execute.js.map +1 -0
  26. package/dist/server/index.d.ts +8 -0
  27. package/dist/server/index.d.ts.map +1 -0
  28. package/dist/server/index.js +57 -0
  29. package/dist/server/index.js.map +1 -0
  30. package/dist/server/parse.d.ts +12 -0
  31. package/dist/server/parse.d.ts.map +1 -0
  32. package/dist/server/parse.js +67 -0
  33. package/dist/server/parse.js.map +1 -0
  34. package/dist/server/quota.d.ts +64 -0
  35. package/dist/server/quota.d.ts.map +1 -0
  36. package/dist/server/quota.js +425 -0
  37. package/dist/server/quota.js.map +1 -0
  38. package/dist/server/skills.d.ts +7 -0
  39. package/dist/server/skills.d.ts.map +1 -0
  40. package/dist/server/skills.js +57 -0
  41. package/dist/server/skills.js.map +1 -0
  42. package/dist/server/test.d.ts +3 -0
  43. package/dist/server/test.d.ts.map +1 -0
  44. package/dist/server/test.js +194 -0
  45. package/dist/server/test.js.map +1 -0
  46. package/dist/ui/build-config.d.ts +3 -0
  47. package/dist/ui/build-config.d.ts.map +1 -0
  48. package/dist/ui/build-config.js +116 -0
  49. package/dist/ui/build-config.js.map +1 -0
  50. package/dist/ui/index.d.ts +3 -0
  51. package/dist/ui/index.d.ts.map +1 -0
  52. package/dist/ui/index.js +3 -0
  53. package/dist/ui/index.js.map +1 -0
  54. package/dist/ui/parse-stdout.d.ts +3 -0
  55. package/dist/ui/parse-stdout.d.ts.map +1 -0
  56. package/dist/ui/parse-stdout.js +232 -0
  57. package/dist/ui/parse-stdout.js.map +1 -0
  58. package/package.json +62 -0
  59. package/skills/para-memory-files/SKILL.md +114 -0
  60. package/skills/para-memory-files/references/schemas.md +35 -0
  61. package/skills/rudder/SKILL.md +265 -0
  62. package/skills/rudder/references/api-reference.md +253 -0
  63. package/skills/rudder/references/cli-reference.md +67 -0
  64. package/skills/rudder/references/organization-skills.md +155 -0
  65. package/skills/rudder-create-agent/SKILL.md +166 -0
  66. package/skills/rudder-create-agent/references/api-reference.md +172 -0
  67. package/skills/rudder-create-agent/references/cli-reference.md +126 -0
  68. package/skills/rudder-create-plugin/SKILL.md +103 -0
@@ -0,0 +1,172 @@
1
+ # Rudder Create Agent API Reference
2
+
3
+ Internal/debug reference for the bundled `rudder-create-agent` skill.
4
+
5
+ - Normal runtime execution should follow the CLI-first workflow in `../SKILL.md`.
6
+ - The canonical command catalog lives in `cli-reference.md`.
7
+ - Keep this document for route-level debugging, compatibility work, and payload-shape inspection.
8
+
9
+ ## CLI-to-API Mapping
10
+
11
+ | CLI command | Primary route |
12
+ | --- | --- |
13
+ | `rudder agent config index` | `GET /llms/agent-configuration.txt` |
14
+ | `rudder agent config doc <agentRuntimeType>` | `GET /llms/agent-configuration/:agentRuntimeType.txt` |
15
+ | `rudder agent icons` | `GET /llms/agent-icons.txt` |
16
+ | `rudder agent config list --org-id <orgId>` | `GET /api/orgs/:orgId/agent-configurations` |
17
+ | `rudder agent config get <agentId>` | `GET /api/agents/:agentId/configuration` |
18
+ | `rudder agent hire --org-id <orgId> --payload <json>` | `POST /api/orgs/:orgId/agent-hires` |
19
+ | `rudder approval get <approvalId>` | `GET /api/approvals/:approvalId` |
20
+ | `rudder approval comment <approvalId> --body <text>` | `POST /api/approvals/:approvalId/comments` |
21
+ | `rudder approval resubmit <approvalId> [--payload <json>]` | `POST /api/approvals/:approvalId/resubmit` |
22
+ | `rudder approval issues <approvalId>` | `GET /api/approvals/:approvalId/issues` |
23
+
24
+ ## Reflection Endpoints
25
+
26
+ - `GET /llms/agent-configuration.txt`
27
+ - `GET /llms/agent-configuration/:agentRuntimeType.txt`
28
+ - `GET /llms/agent-icons.txt`
29
+
30
+ Auth:
31
+
32
+ - board access, or
33
+ - same-org agent auth with `canCreateAgents=true`
34
+
35
+ These endpoints return plain text. The CLI wraps them directly.
36
+
37
+ ## Configuration Snapshots
38
+
39
+ - `GET /api/orgs/:orgId/agent-configurations`
40
+ - `GET /api/agents/:agentId/configuration`
41
+
42
+ These responses are redacted snapshots for comparison and reuse.
43
+
44
+ Representative shape:
45
+
46
+ ```json
47
+ {
48
+ "id": "uuid",
49
+ "orgId": "uuid",
50
+ "name": "CTO",
51
+ "role": "cto",
52
+ "title": "Chief Technology Officer",
53
+ "status": "idle",
54
+ "reportsTo": "uuid-or-null",
55
+ "agentRuntimeType": "codex_local",
56
+ "agentRuntimeConfig": {
57
+ "cwd": "/absolute/path",
58
+ "model": "o4-mini"
59
+ },
60
+ "runtimeConfig": {
61
+ "heartbeat": {
62
+ "enabled": true,
63
+ "intervalSec": 300,
64
+ "wakeOnDemand": true
65
+ }
66
+ },
67
+ "permissions": {
68
+ "canCreateAgents": true
69
+ },
70
+ "updatedAt": "2026-04-19T12:00:00.000Z"
71
+ }
72
+ ```
73
+
74
+ ## `POST /api/orgs/:orgId/agent-hires`
75
+
76
+ Canonical hire route used by `rudder agent hire`.
77
+
78
+ Request body:
79
+
80
+ ```json
81
+ {
82
+ "role": "cto",
83
+ "title": "Chief Technology Officer",
84
+ "icon": "crown",
85
+ "reportsTo": "uuid-or-null",
86
+ "capabilities": "Owns architecture and engineering execution",
87
+ "desiredSkills": ["vercel-labs/agent-browser/agent-browser"],
88
+ "agentRuntimeType": "codex_local",
89
+ "agentRuntimeConfig": {
90
+ "cwd": "/absolute/path",
91
+ "model": "o4-mini",
92
+ "promptTemplate": "You are CTO..."
93
+ },
94
+ "runtimeConfig": {
95
+ "heartbeat": {
96
+ "enabled": true,
97
+ "intervalSec": 300,
98
+ "wakeOnDemand": true
99
+ }
100
+ },
101
+ "budgetMonthlyCents": 0,
102
+ "sourceIssueId": "uuid-or-null",
103
+ "sourceIssueIds": ["uuid-1", "uuid-2"]
104
+ }
105
+ ```
106
+
107
+ Response when approval is required:
108
+
109
+ ```json
110
+ {
111
+ "agent": {
112
+ "id": "uuid",
113
+ "status": "pending_approval"
114
+ },
115
+ "approval": {
116
+ "id": "uuid",
117
+ "type": "hire_agent",
118
+ "status": "pending",
119
+ "payload": {
120
+ "desiredSkills": ["vercel-labs/agent-browser/agent-browser"]
121
+ }
122
+ }
123
+ }
124
+ ```
125
+
126
+ Response when approval is not required:
127
+
128
+ ```json
129
+ {
130
+ "agent": {
131
+ "id": "uuid",
132
+ "status": "idle"
133
+ },
134
+ "approval": null
135
+ }
136
+ ```
137
+
138
+ Important notes:
139
+
140
+ - `name` is optional; if omitted or blank, Rudder assigns a distinct first name automatically
141
+ - `desiredSkills` accepts organization skill ids, canonical keys, or a unique slug; the server resolves and stores canonical organization skill keys
142
+ - `sourceIssueId` and `sourceIssueIds` are the canonical way to link the hire back to originating issues
143
+ - this route is preferred over creating `hire_agent` approvals manually because it preserves the organization's approval policy
144
+
145
+ ## Approval Lifecycle
146
+
147
+ Relevant routes:
148
+
149
+ - `GET /api/approvals/:approvalId`
150
+ - `POST /api/approvals/:approvalId/comments`
151
+ - `POST /api/approvals/:approvalId/resubmit`
152
+ - `GET /api/approvals/:approvalId/issues`
153
+
154
+ Statuses:
155
+
156
+ - `pending`
157
+ - `revision_requested`
158
+ - `approved`
159
+ - `rejected`
160
+ - `cancelled`
161
+
162
+ For hire approvals:
163
+
164
+ - approved: linked agent transitions `pending_approval -> idle`
165
+ - rejected: linked agent is terminated
166
+
167
+ ## Safety Notes
168
+
169
+ - Config read APIs redact obvious secrets.
170
+ - `pending_approval` agents cannot run heartbeats, receive assignments, or create keys.
171
+ - All hire and approval actions are logged in activity for auditability.
172
+ - Use markdown in issue and approval comments and include links to the approval, agent, and source issue.
@@ -0,0 +1,126 @@
1
+ # Rudder Create Agent CLI Reference
2
+
3
+ Canonical CLI contract for the bundled `rudder-create-agent` skill. Prefer these commands over direct `/api` calls.
4
+
5
+ ## Defaults
6
+
7
+ - All commands support `--json`.
8
+ - `--org-id` defaults to `RUDDER_ORG_ID` when relevant.
9
+ - Mutating commands attach `RUDDER_RUN_ID` automatically when available.
10
+ - `agent config index`, `agent config doc`, and `agent icons` print plain text by default. With `--json`, they emit that text as a JSON string.
11
+
12
+ ## Core CLI Surface
13
+
14
+ ### Identity and discovery
15
+
16
+ ```sh
17
+ rudder agent me --json
18
+ rudder agent list --org-id "$RUDDER_ORG_ID" --json
19
+ rudder agent get "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
20
+ rudder agent config index
21
+ rudder agent config doc "<agent-runtime-type>"
22
+ rudder agent config list --org-id "$RUDDER_ORG_ID" --json
23
+ rudder agent config get "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
24
+ rudder agent icons
25
+ ```
26
+
27
+ Use these in order:
28
+
29
+ 1. `agent me` to verify auth and org context
30
+ 2. `agent config index` to discover installed runtimes
31
+ 3. `agent config doc` to read one runtime's required fields and examples
32
+ 4. `agent list` plus `agent config list/get` to reuse proven patterns from related agents
33
+ 5. `agent icons` to choose an allowed `icon`
34
+
35
+ ### Organization skills
36
+
37
+ ```sh
38
+ rudder skill list --org-id "$RUDDER_ORG_ID" --json
39
+ rudder skill get "<skill-id>" --org-id "$RUDDER_ORG_ID" --json
40
+ rudder skill file "<skill-id>" --org-id "$RUDDER_ORG_ID" --path SKILL.md --json
41
+ rudder skill import --org-id "$RUDDER_ORG_ID" --source "<source>" --json
42
+ rudder skill scan-local --org-id "$RUDDER_ORG_ID" --roots "<csv>" --json
43
+ rudder skill scan-projects --org-id "$RUDDER_ORG_ID" --project-ids "<csv>" --workspace-ids "<csv>" --json
44
+ ```
45
+
46
+ Use these before hiring when the new role needs `desiredSkills`.
47
+
48
+ `desiredSkills` accepts:
49
+
50
+ - exact organization skill key
51
+ - exact organization skill id
52
+ - exact slug when it is unique in the organization
53
+
54
+ ### Canonical hire flow
55
+
56
+ ```sh
57
+ rudder agent hire --org-id "$RUDDER_ORG_ID" --payload '{
58
+ "role": "cto",
59
+ "title": "Chief Technology Officer",
60
+ "icon": "crown",
61
+ "reportsTo": "<ceo-agent-id>",
62
+ "capabilities": "Owns technical roadmap, architecture, staffing, execution",
63
+ "desiredSkills": ["vercel-labs/agent-browser/agent-browser"],
64
+ "agentRuntimeType": "codex_local",
65
+ "agentRuntimeConfig": {"cwd": "/abs/path/to/repo", "model": "o4-mini"},
66
+ "runtimeConfig": {"heartbeat": {"enabled": true, "intervalSec": 300, "wakeOnDemand": true}},
67
+ "sourceIssueId": "<issue-id>"
68
+ }' --json
69
+ ```
70
+
71
+ Canonical semantics:
72
+
73
+ - this wraps `POST /api/orgs/:orgId/agent-hires`
74
+ - if the organization does not require board approval, the response contains `approval: null` and the agent is created directly
75
+ - if the organization requires board approval, the response contains both `agent` and `approval`, and the new agent stays `pending_approval`
76
+
77
+ Do not use `rudder approval create --type hire_agent` as a replacement for `agent hire` during normal skill execution. That is a lower-level compatibility surface and does not preserve the canonical direct-create behavior.
78
+
79
+ ### Approval follow-up
80
+
81
+ ```sh
82
+ rudder approval get "<approval-id>" --json
83
+ rudder approval comment "<approval-id>" --body "<markdown>" --json
84
+ rudder approval resubmit "<approval-id>" --payload '{"...":"..."}' --json
85
+ rudder approval issues "<approval-id>" --json
86
+ ```
87
+
88
+ Notes:
89
+
90
+ - `approval comment` should use markdown and link the approval, pending agent, and source issue when available
91
+ - `approval resubmit` is only for a revision-requested approval; update the payload instead of creating a second hire
92
+ - if the run wakes with `RUDDER_APPROVAL_ID`, treat that approval as the first task
93
+
94
+ ## Payload Notes
95
+
96
+ The `agent hire` payload accepts the same shape as the hire API, including:
97
+
98
+ - `name` optional; blank or omitted means Rudder assigns a distinct first name
99
+ - `role`
100
+ - `title`
101
+ - `icon`
102
+ - `reportsTo`
103
+ - `capabilities`
104
+ - `desiredSkills`
105
+ - `agentRuntimeType`
106
+ - `agentRuntimeConfig`
107
+ - `runtimeConfig`
108
+ - `budgetMonthlyCents`
109
+ - `metadata`
110
+ - `sourceIssueId`
111
+ - `sourceIssueIds`
112
+
113
+ Issue linkage rule:
114
+
115
+ - prefer `sourceIssueId` or `sourceIssueIds` inside the hire payload
116
+ - use `approval issues` to inspect the resulting approval links after the server creates them
117
+
118
+ ## Related Commands
119
+
120
+ Post-hire adjustments use the normal agent and skill surfaces:
121
+
122
+ ```sh
123
+ rudder agent get "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
124
+ rudder agent skills sync "<agent-id>" --desired-skills "<csv>" --json
125
+ rudder agent local-cli "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
126
+ ```
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: rudder-create-plugin
3
+ description: Create new Rudder plugins with the current alpha SDK/runtime. Use when scaffolding a plugin package, adding a new example plugin, or updating plugin authoring docs. Covers the supported worker/UI surface, route conventions, scaffold flow, and verification steps.
4
+ Create new Rudder plugins with the current alpha SDK/runtime. Use when
5
+ scaffolding a plugin package, adding a new example plugin, or updating plugin
6
+ authoring docs. Covers the supported worker/UI surface, route conventions,
7
+ scaffold flow, and verification steps.
8
+ allowed-tools:
9
+ disable: true
10
+ ---
11
+
12
+ # Create a Rudder Plugin
13
+
14
+ Use this skill when the task is to create, scaffold, or document a Rudder plugin.
15
+
16
+ ## 1. Ground rules
17
+
18
+ Read these first when needed:
19
+
20
+ 1. `doc/plugins/PLUGIN_AUTHORING_GUIDE.md`
21
+ 2. `packages/plugins/sdk/README.md`
22
+ 3. `doc/plugins/PLUGIN_SPEC.md` only for future-looking context
23
+
24
+ Current runtime assumptions:
25
+
26
+ - plugin workers are trusted code
27
+ - plugin UI is trusted same-origin host code
28
+ - worker APIs are capability-gated
29
+ - plugin UI is not sandboxed by manifest capabilities
30
+ - no host-provided shared plugin UI component kit yet
31
+ - `ctx.assets` is not supported in the current runtime
32
+
33
+ ## 2. Preferred workflow
34
+
35
+ Use the scaffold package instead of hand-writing the boilerplate:
36
+
37
+ ```bash
38
+ pnpm --filter @rudderhq/create-rudder-plugin build
39
+ node packages/plugins/create-rudder-plugin/dist/index.js <npm-package-name> --output <target-dir>
40
+ ```
41
+
42
+ For a plugin that lives outside the Rudder repo, pass `--sdk-path` and let the scaffold snapshot the local SDK/shared packages into `.rudder-sdk/`:
43
+
44
+ ```bash
45
+ pnpm --filter @rudderhq/create-rudder-plugin build
46
+ node packages/plugins/create-rudder-plugin/dist/index.js @acme/plugin-name \
47
+ --output /absolute/path/to/plugin-repos \
48
+ --sdk-path /absolute/path/to/rudder/packages/plugins/sdk
49
+ ```
50
+
51
+ Recommended target inside this repo:
52
+
53
+ - `packages/plugins/examples/` for example plugins
54
+ - another `packages/plugins/<name>/` folder if it is becoming a real package
55
+
56
+ ## 3. After scaffolding
57
+
58
+ Check and adjust:
59
+
60
+ - `src/manifest.ts`
61
+ - `src/worker.ts`
62
+ - `src/ui/index.tsx`
63
+ - `tests/plugin.spec.ts`
64
+ - `package.json`
65
+
66
+ Make sure the plugin:
67
+
68
+ - declares only supported capabilities
69
+ - does not use `ctx.assets`
70
+ - does not import host UI component stubs
71
+ - keeps UI self-contained
72
+ - uses `routePath` only on `page` slots
73
+ - is installed into Rudder from an absolute local path during development
74
+
75
+ ## 4. If the plugin should appear in the app
76
+
77
+ For bundled example/discoverable behavior, update the relevant host wiring:
78
+
79
+ - bundled example list in `server/src/routes/plugins.ts`
80
+ - any docs that list in-repo examples
81
+
82
+ Only do this if the user wants the plugin surfaced as a bundled example.
83
+
84
+ ## 5. Verification
85
+
86
+ Always run:
87
+
88
+ ```bash
89
+ pnpm --filter <plugin-package> typecheck
90
+ pnpm --filter <plugin-package> test
91
+ pnpm --filter <plugin-package> build
92
+ ```
93
+
94
+ If you changed SDK/host/plugin runtime code too, also run broader repo checks as appropriate.
95
+
96
+ ## 6. Documentation expectations
97
+
98
+ When authoring or updating plugin docs:
99
+
100
+ - distinguish current implementation from future spec ideas
101
+ - be explicit about the trusted-code model
102
+ - do not promise host UI components or asset APIs
103
+ - prefer npm-package deployment guidance over repo-local workflows for production