@kody-ade/kody-engine 0.4.203 → 0.4.204-next.10
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.
- package/dist/bin/kody.js +654 -398
- package/dist/executables/types.ts +39 -0
- package/package.json +1 -1
|
@@ -17,6 +17,15 @@ import type { Phase } from "../state.js"
|
|
|
17
17
|
|
|
18
18
|
export interface Profile {
|
|
19
19
|
name: string
|
|
20
|
+
/**
|
|
21
|
+
* Optional staff member this executable runs *as*. When set, the executor
|
|
22
|
+
* loads `.kody/staff/<staff>.md` and injects that persona (authoritative
|
|
23
|
+
* identity) ahead of the executable's own system-prompt append. This is the
|
|
24
|
+
* unification hook: a "duty" is just an executable + a staff member. Absent →
|
|
25
|
+
* runs with no persona (unchanged legacy behaviour). A declared-but-missing
|
|
26
|
+
* staff file is fatal at run time (see src/staff.ts).
|
|
27
|
+
*/
|
|
28
|
+
staff?: string
|
|
20
29
|
describe: string
|
|
21
30
|
/**
|
|
22
31
|
* Semantic role — what this executable IS, not when it runs.
|
|
@@ -40,6 +49,28 @@ export interface Profile {
|
|
|
40
49
|
* `schedule:`). Scheduled profiles must declare a `schedule` cron string.
|
|
41
50
|
*/
|
|
42
51
|
kind: "oneshot" | "scheduled"
|
|
52
|
+
/**
|
|
53
|
+
* Recurrence cadence for a duty that runs on a timer (unified successor to a
|
|
54
|
+
* markdown duty's `every:` frontmatter). One of the ScheduleEvery values
|
|
55
|
+
* ("15m".."7d" | "manual"). Present → the duty-scheduler fires a one-shot run
|
|
56
|
+
* when due (no target). Absent → on-demand only (runs against an issue/PR).
|
|
57
|
+
* This is what makes "scheduled" just a field on the one duty shape.
|
|
58
|
+
*/
|
|
59
|
+
every?: string
|
|
60
|
+
/**
|
|
61
|
+
* Locked-toolbox palette (unified successor to a markdown duty's `tools:`
|
|
62
|
+
* frontmatter). When non-empty, loadDutyState sets ctx.data.dutyTools so the
|
|
63
|
+
* executor spins up the in-process kody-duty MCP server and the agent runs
|
|
64
|
+
* MCP-only (Bash/Read revoked unless also in claudeCode.tools). Absent →
|
|
65
|
+
* normal SDK tools.
|
|
66
|
+
*/
|
|
67
|
+
dutyTools?: string[]
|
|
68
|
+
/**
|
|
69
|
+
* GitHub logins (no leading `@`) this duty's output should mention. Rendered
|
|
70
|
+
* to `@a @b` and exposed to the prompt as {{mentions}} (and as the duty-MCP
|
|
71
|
+
* operator mention), mirroring a markdown duty's `mentions:` frontmatter.
|
|
72
|
+
*/
|
|
73
|
+
mentions?: string[]
|
|
43
74
|
/** Cron expression for scheduled profiles (e.g. "0 8 * * MON"). */
|
|
44
75
|
schedule?: string
|
|
45
76
|
/**
|
|
@@ -127,6 +158,14 @@ export interface Profile {
|
|
|
127
158
|
* ENOENT even though profile.json (read here, earlier) loaded fine.
|
|
128
159
|
*/
|
|
129
160
|
promptTemplates?: Record<string, string>
|
|
161
|
+
/**
|
|
162
|
+
* Subagent markdown captured (by declared name) at load time, BEFORE any
|
|
163
|
+
* task branch switch — same rationale as promptTemplates. loadSubagents
|
|
164
|
+
* prefers this snapshot so a duty's `agents/` surviving only on the default
|
|
165
|
+
* checkout (e.g. `.kody/duties/<slug>/agents/` absent on a PR branch) doesn't
|
|
166
|
+
* crash a PR-targeted duty. Populated by captureSubagentTemplates.
|
|
167
|
+
*/
|
|
168
|
+
subagentTemplates?: Record<string, string>
|
|
130
169
|
}
|
|
131
170
|
|
|
132
171
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kody-ade/kody-engine",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.204-next.10",
|
|
4
4
|
"description": "kody — autonomous development engine. Single-session Claude Code agent behind a generic executor + declarative executable profiles.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|