@netnodeag/kraftwerk 0.34.2 → 0.36.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 (51) hide show
  1. package/README.md +40 -19
  2. package/dist/cli/init.js +3 -3
  3. package/dist/cli/routines.js +9 -9
  4. package/dist/config.d.ts +26 -2
  5. package/dist/config.js +43 -3
  6. package/dist/inspector/{team.d.ts → agents.d.ts} +21 -12
  7. package/dist/inspector/{team.js → agents.js} +34 -19
  8. package/dist/inspector/chat/backend.d.ts +1 -1
  9. package/dist/inspector/chat/sessions.js +43 -43
  10. package/dist/inspector/chat/store.js +13 -1
  11. package/dist/inspector/chat/types.d.ts +2 -2
  12. package/dist/inspector/git.d.ts +83 -0
  13. package/dist/inspector/git.js +651 -0
  14. package/dist/inspector/instances.d.ts +12 -0
  15. package/dist/inspector/instances.js +37 -1
  16. package/dist/inspector/routines.d.ts +4 -4
  17. package/dist/inspector/routines.js +11 -11
  18. package/dist/inspector/search.d.ts +25 -0
  19. package/dist/inspector/search.js +31 -0
  20. package/dist/inspector/server.js +166 -32
  21. package/dist/inspector/settings.d.ts +11 -1
  22. package/dist/inspector/settings.js +45 -0
  23. package/dist/inspector/skills.d.ts +6 -6
  24. package/dist/inspector/skills.js +8 -8
  25. package/dist/runner/docker.d.ts +1 -0
  26. package/dist/runner/docker.js +1 -1
  27. package/inspector/dist/assets/{editor-CXrDJOv_.js → editor-7ImnDC3D.js} +3 -3
  28. package/inspector/dist/assets/{index-BxEG-IdY.js → index--2I7vpcS.js} +1 -1
  29. package/inspector/dist/assets/index-B2ThRS2S.js +217 -0
  30. package/inspector/dist/assets/index-BA7nx4V5.css +1 -0
  31. package/inspector/dist/assets/{index-Bumwg9SM.js → index-BC7aIJ-h.js} +1 -1
  32. package/inspector/dist/assets/{index-BULB2rC_.js → index-BIXYBiw7.js} +1 -1
  33. package/inspector/dist/assets/{index-C3hpUVfp.js → index-BZeYO5wT.js} +1 -1
  34. package/inspector/dist/assets/{index-BQMgADlc.js → index-B_CIhKa4.js} +1 -1
  35. package/inspector/dist/assets/{index-DrSWAGft.js → index-BuRajvjQ.js} +1 -1
  36. package/inspector/dist/assets/{index-BNcXQYbv.js → index-C3Ob1O7W.js} +1 -1
  37. package/inspector/dist/assets/{index-BIDsfw8C.js → index-CIjv7yxE.js} +1 -1
  38. package/inspector/dist/assets/{index-ChuqpBnv.js → index-CRAwmMfk.js} +1 -1
  39. package/inspector/dist/assets/{index-x5G6Np7T.js → index-Ct_jZSyD.js} +1 -1
  40. package/inspector/dist/assets/{index-7J4zAS6J.js → index-DKrBjjGQ.js} +1 -1
  41. package/inspector/dist/assets/{index-CUCCMUMY.js → index-DL_bJiOj.js} +1 -1
  42. package/inspector/dist/assets/{index-DAi1VtJ8.js → index-DPBAv_kj.js} +1 -1
  43. package/inspector/dist/assets/{index-Upf-BEsx.js → index-DbmSSHvr.js} +1 -1
  44. package/inspector/dist/assets/{index-CNJyAniG.js → index-DjRBLY9N.js} +1 -1
  45. package/inspector/dist/assets/{index-CszaAR9T.js → index-YZtBJhWD.js} +1 -1
  46. package/inspector/dist/assets/{index-CMMYSoL3.js → index-fWUFhIGR.js} +1 -1
  47. package/inspector/dist/index.html +2 -2
  48. package/package.json +5 -2
  49. package/schema/kraftwerk.schema.json +35 -1
  50. package/inspector/dist/assets/index-B7rwNdVj.css +0 -1
  51. package/inspector/dist/assets/index-BBGjdXk1.js +0 -213
@@ -13,12 +13,12 @@
13
13
  * skill. Skills are surfaced to every chat as context (and expanded on
14
14
  * /<name> invocation), so they work identically on claude, codex, and pi.
15
15
  *
16
- * On top of the shared roots, each team agent can carry private skills in
16
+ * On top of the shared roots, each agent can carry private skills in
17
17
  *
18
18
  * agents/<slug>/skills/<name>/SKILL.md (agent, git-tracked)
19
19
  *
20
20
  * Agent skills are visible only to that agent's sessions, always apply
21
- * (the member's allowlist narrows shared skills only), and shadow
21
+ * (the agent's allowlist narrows shared skills only), and shadow
22
22
  * same-named shared skills.
23
23
  */
24
24
  export interface SkillInfo {
@@ -31,7 +31,7 @@ export interface SkillInfo {
31
31
  dir: string;
32
32
  /** workspace = kraftwerk skills root; project = .claude/skills; user = ~/.claude/skills; agent = agents/<slug>/skills. */
33
33
  source: "workspace" | "project" | "user" | "agent";
34
- /** For source "agent": the owning member's slug. */
34
+ /** For source "agent": the owning agent's slug. */
35
35
  agent?: string;
36
36
  }
37
37
  export interface SkillDetail extends SkillInfo {
@@ -42,15 +42,15 @@ export interface SkillDetail extends SkillInfo {
42
42
  }
43
43
  /** Absolute workspace skills root (kraftwerk.yml `skills`, default skills/). */
44
44
  export declare function skillsRoot(): Promise<string>;
45
- /** The private skills root of one team agent: agents/<slug>/skills. */
45
+ /** The private skills root of one agent: agents/<slug>/skills. */
46
46
  export declare function agentSkillsRoot(slug: string): Promise<string>;
47
47
  /** One agent's private skills (agents/<slug>/skills/<name>/SKILL.md). */
48
48
  export declare function listAgentSkills(slug: string): Promise<SkillInfo[]>;
49
49
  /**
50
- * All discovered skills; agent (when a member is given) shadows workspace
50
+ * All discovered skills; agent (when an agent slug is given) shadows workspace
51
51
  * shadows project shadows user (global).
52
52
  */
53
- export declare function listSkills(member?: string): Promise<SkillInfo[]>;
53
+ export declare function listSkills(agent?: string): Promise<SkillInfo[]>;
54
54
  /** Create or update one agent skill; writes agents/<slug>/skills/<name>/SKILL.md. */
55
55
  export declare function saveAgentSkill(slug: string, name: string, content: string): Promise<SkillInfo & {
56
56
  content: string;
@@ -4,7 +4,7 @@ import path from "node:path";
4
4
  import { parse } from "yaml";
5
5
  import { resolveProject } from "../config.js";
6
6
  import { getProjectRoot } from "./context.js";
7
- import { safeMemberSlug, teamRoot } from "./team.js";
7
+ import { safeAgentSlug, agentsRoot } from "./agents.js";
8
8
  const NAME_RE = /^[a-z0-9][a-z0-9_-]{0,63}$/i;
9
9
  function frontmatter(md) {
10
10
  const m = /^---\r?\n([\s\S]*?)\r?\n---(\r?\n|$)/.exec(md);
@@ -58,9 +58,9 @@ async function scanRoot(root, source) {
58
58
  }));
59
59
  return skills.filter(Boolean).sort((a, b) => a.name.localeCompare(b.name));
60
60
  }
61
- /** The private skills root of one team agent: agents/<slug>/skills. */
61
+ /** The private skills root of one agent: agents/<slug>/skills. */
62
62
  export async function agentSkillsRoot(slug) {
63
- return path.join(await teamRoot(), safeMemberSlug(slug), "skills");
63
+ return path.join(await agentsRoot(), safeAgentSlug(slug), "skills");
64
64
  }
65
65
  /** One agent's private skills (agents/<slug>/skills/<name>/SKILL.md). */
66
66
  export async function listAgentSkills(slug) {
@@ -68,17 +68,17 @@ export async function listAgentSkills(slug) {
68
68
  return skills.map((s) => ({ ...s, agent: slug }));
69
69
  }
70
70
  /**
71
- * All discovered skills; agent (when a member is given) shadows workspace
71
+ * All discovered skills; agent (when an agent slug is given) shadows workspace
72
72
  * shadows project shadows user (global).
73
73
  */
74
- export async function listSkills(member) {
75
- const [agent, workspace, project, user] = await Promise.all([
76
- member ? listAgentSkills(member).catch(() => []) : [],
74
+ export async function listSkills(agent) {
75
+ const [own, workspace, project, user] = await Promise.all([
76
+ agent ? listAgentSkills(agent).catch(() => []) : [],
77
77
  skillsRoot().then((root) => scanRoot(root, "workspace")),
78
78
  scanRoot(path.join(getProjectRoot(), ".claude", "skills"), "project"),
79
79
  scanRoot(path.join(os.homedir(), ".claude", "skills"), "user"),
80
80
  ]);
81
- const out = [...agent];
81
+ const out = [...own];
82
82
  const seen = new Set(out.map((s) => s.name.toLowerCase()));
83
83
  for (const s of [...workspace, ...project, ...user]) {
84
84
  if (seen.has(s.name.toLowerCase()))
@@ -1,3 +1,4 @@
1
+ export declare const ENV_FILE = "runner.env";
1
2
  export interface SandboxOptions {
2
3
  /** Consumer project root (where output/ lives). */
3
4
  projectRoot: string;
@@ -22,7 +22,7 @@ import { newRunId, runDirFor } from "../workflow.js";
22
22
  * kraftwerk.run make runs discoverable and cancellable (`docker stop`).
23
23
  */
24
24
  const IMAGE = "kraftwerk-runner";
25
- const ENV_FILE = "runner.env";
25
+ export const ENV_FILE = "runner.env";
26
26
  const PASSTHROUGH_ENV = ["ANTHROPIC_API_KEY", "OPENAI_API_KEY"];
27
27
  /** Framework package root (contains runner/Dockerfile). */
28
28
  const frameworkDir = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../..");