kern-ai 0.27.0 → 0.28.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 (141) hide show
  1. package/README.md +1 -0
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +38 -15
  4. package/dist/app.js.map +1 -1
  5. package/dist/index.js +0 -0
  6. package/dist/plugins/index.d.ts +9 -0
  7. package/dist/plugins/index.d.ts.map +1 -1
  8. package/dist/plugins/index.js +45 -2
  9. package/dist/plugins/index.js.map +1 -1
  10. package/dist/plugins/notes/plugin.d.ts.map +1 -1
  11. package/dist/plugins/notes/plugin.js +12 -10
  12. package/dist/plugins/notes/plugin.js.map +1 -1
  13. package/dist/plugins/skills/plugin.d.ts +10 -0
  14. package/dist/plugins/skills/plugin.d.ts.map +1 -0
  15. package/dist/plugins/skills/plugin.js +132 -0
  16. package/dist/plugins/skills/plugin.js.map +1 -0
  17. package/dist/plugins/skills/scanner.d.ts +24 -0
  18. package/dist/plugins/skills/scanner.d.ts.map +1 -0
  19. package/dist/plugins/skills/scanner.js +102 -0
  20. package/dist/plugins/skills/scanner.js.map +1 -0
  21. package/dist/plugins/skills/state.d.ts +7 -0
  22. package/dist/plugins/skills/state.d.ts.map +1 -0
  23. package/dist/plugins/skills/state.js +23 -0
  24. package/dist/plugins/skills/state.js.map +1 -0
  25. package/dist/plugins/skills/tool.d.ts +7 -0
  26. package/dist/plugins/skills/tool.d.ts.map +1 -0
  27. package/dist/plugins/skills/tool.js +54 -0
  28. package/dist/plugins/skills/tool.js.map +1 -0
  29. package/dist/plugins/types.d.ts +6 -1
  30. package/dist/plugins/types.d.ts.map +1 -1
  31. package/dist/runtime.d.ts +5 -2
  32. package/dist/runtime.d.ts.map +1 -1
  33. package/dist/runtime.js +47 -46
  34. package/dist/runtime.js.map +1 -1
  35. package/dist/server.d.ts +2 -0
  36. package/dist/server.d.ts.map +1 -1
  37. package/dist/server.js +11 -0
  38. package/dist/server.js.map +1 -1
  39. package/dist/tools/kern.d.ts +2 -0
  40. package/dist/tools/kern.d.ts.map +1 -1
  41. package/dist/tools/kern.js +6 -0
  42. package/dist/tools/kern.js.map +1 -1
  43. package/docs/architecture.md +3 -0
  44. package/docs/clients.md +1 -1
  45. package/docs/commands.md +9 -1
  46. package/docs/skills.md +110 -0
  47. package/package.json +2 -1
  48. package/skills/create-skill/SKILL.md +71 -0
  49. package/templates/KERN.md +13 -0
  50. package/web/out/404.html +1 -1
  51. package/web/out/__next.__PAGE__.txt +2 -2
  52. package/web/out/__next._full.txt +2 -2
  53. package/web/out/__next._head.txt +1 -1
  54. package/web/out/__next._index.txt +1 -1
  55. package/web/out/__next._tree.txt +1 -1
  56. package/web/out/_next/static/chunks/{182ryh_d5jtxt.js → 0w2khgj-x9h3x.js} +20 -20
  57. package/web/out/_not-found/__next._full.txt +1 -1
  58. package/web/out/_not-found/__next._head.txt +1 -1
  59. package/web/out/_not-found/__next._index.txt +1 -1
  60. package/web/out/_not-found/__next._not-found.__PAGE__.txt +1 -1
  61. package/web/out/_not-found/__next._not-found.txt +1 -1
  62. package/web/out/_not-found/__next._tree.txt +1 -1
  63. package/web/out/_not-found.html +1 -1
  64. package/web/out/_not-found.txt +1 -1
  65. package/web/out/index.html +1 -1
  66. package/web/out/index.txt +2 -2
  67. package/dist/hub-contacts.d.ts +0 -28
  68. package/dist/hub-contacts.d.ts.map +0 -1
  69. package/dist/hub-contacts.js +0 -86
  70. package/dist/hub-contacts.js.map +0 -1
  71. package/dist/hub-daemon.d.ts +0 -4
  72. package/dist/hub-daemon.d.ts.map +0 -1
  73. package/dist/hub-daemon.js +0 -103
  74. package/dist/hub-daemon.js.map +0 -1
  75. package/dist/hub.d.ts +0 -9
  76. package/dist/hub.d.ts.map +0 -1
  77. package/dist/hub.js +0 -245
  78. package/dist/hub.js.map +0 -1
  79. package/dist/interfaces/hub.d.ts +0 -29
  80. package/dist/interfaces/hub.d.ts.map +0 -1
  81. package/dist/interfaces/hub.js +0 -197
  82. package/dist/interfaces/hub.js.map +0 -1
  83. package/dist/keys.d.ts +0 -8
  84. package/dist/keys.d.ts.map +0 -1
  85. package/dist/keys.js +0 -37
  86. package/dist/keys.js.map +0 -1
  87. package/dist/media.d.ts +0 -78
  88. package/dist/media.d.ts.map +0 -1
  89. package/dist/media.js +0 -386
  90. package/dist/media.js.map +0 -1
  91. package/dist/notes.d.ts +0 -23
  92. package/dist/notes.d.ts.map +0 -1
  93. package/dist/notes.js +0 -110
  94. package/dist/notes.js.map +0 -1
  95. package/dist/plugins/exec/jobs.d.ts +0 -38
  96. package/dist/plugins/exec/jobs.d.ts.map +0 -1
  97. package/dist/plugins/exec/jobs.js +0 -133
  98. package/dist/plugins/exec/jobs.js.map +0 -1
  99. package/dist/plugins/exec/plugin.d.ts +0 -3
  100. package/dist/plugins/exec/plugin.d.ts.map +0 -1
  101. package/dist/plugins/exec/plugin.js +0 -221
  102. package/dist/plugins/exec/plugin.js.map +0 -1
  103. package/dist/recall.d.ts +0 -44
  104. package/dist/recall.d.ts.map +0 -1
  105. package/dist/recall.js +0 -277
  106. package/dist/recall.js.map +0 -1
  107. package/dist/test-ansi.d.ts +0 -2
  108. package/dist/test-ansi.d.ts.map +0 -1
  109. package/dist/test-ansi.js +0 -7
  110. package/dist/test-ansi.js.map +0 -1
  111. package/dist/tools/image.d.ts +0 -5
  112. package/dist/tools/image.d.ts.map +0 -1
  113. package/dist/tools/image.js +0 -65
  114. package/dist/tools/image.js.map +0 -1
  115. package/dist/tools/markdown.d.ts +0 -2
  116. package/dist/tools/markdown.d.ts.map +0 -1
  117. package/dist/tools/markdown.js +0 -11
  118. package/dist/tools/markdown.js.map +0 -1
  119. package/dist/tools/pdf.d.ts +0 -6
  120. package/dist/tools/pdf.d.ts.map +0 -1
  121. package/dist/tools/pdf.js +0 -99
  122. package/dist/tools/pdf.js.map +0 -1
  123. package/dist/tools/recall.d.ts +0 -12
  124. package/dist/tools/recall.d.ts.map +0 -1
  125. package/dist/tools/recall.js +0 -86
  126. package/dist/tools/recall.js.map +0 -1
  127. package/dist/tools/render.d.ts +0 -6
  128. package/dist/tools/render.d.ts.map +0 -1
  129. package/dist/tools/render.js +0 -59
  130. package/dist/tools/render.js.map +0 -1
  131. package/dist/tui-autocomplete.d.ts +0 -9
  132. package/dist/tui-autocomplete.d.ts.map +0 -1
  133. package/dist/tui-autocomplete.js +0 -20
  134. package/dist/tui-autocomplete.js.map +0 -1
  135. package/dist/tui-v2.d.ts +0 -2
  136. package/dist/tui-v2.d.ts.map +0 -1
  137. package/dist/tui-v2.js +0 -416
  138. package/dist/tui-v2.js.map +0 -1
  139. /package/web/out/_next/static/{U-9vhBFLcz8o5acKUu8gb → QC4gzRie0cM-XfXe5gX0m}/_buildManifest.js +0 -0
  140. /package/web/out/_next/static/{U-9vhBFLcz8o5acKUu8gb → QC4gzRie0cM-XfXe5gX0m}/_clientMiddlewareManifest.js +0 -0
  141. /package/web/out/_next/static/{U-9vhBFLcz8o5acKUu8gb → QC4gzRie0cM-XfXe5gX0m}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -184,6 +184,7 @@ Models can be mixed per role: `model` for chat, `embeddingModel` for recall, `su
184
184
  - [Dashboards](docs/dashboards.md)
185
185
  - [Context & segments](docs/context.md)
186
186
  - [Prompt caching](docs/caching.md)
187
+ - [Skills](docs/skills.md)
187
188
  - [Media](docs/media.md)
188
189
  - [Tools](docs/tools.md)
189
190
  - [Interfaces](docs/interfaces.md)
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AA6DA,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAibhF"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAyEA,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CA6bhF"}
package/dist/app.js CHANGED
@@ -14,10 +14,11 @@ import { setMessageSender } from "./tools/message.js";
14
14
  import { SegmentIndex } from "./segments.js";
15
15
  import { MemoryDB } from "./memory.js";
16
16
  import { MessageQueue } from "./queue.js";
17
- import { getStatusData as getStatusDataFn, setQueueStatusFn, setInterfaceStatusFn, setSegmentStatsFn } from "./tools/kern.js";
17
+ import { getStatusData as getStatusDataFn, setQueueStatusFn, setInterfaceStatusFn, setSegmentStatsFn, setPluginStatusFn } from "./tools/kern.js";
18
18
  import { plugins } from "./plugins/index.js";
19
19
  import { log } from "./log.js";
20
- async function handleSlashCommand(cmd, userId, iface, agentName) {
20
+ let _pluginCtx = null;
21
+ async function handleSlashCommand(cmd, userId, iface, agentName, agentDir) {
21
22
  switch (cmd) {
22
23
  case "/restart": {
23
24
  log("kern", `restart requested by ${userId} via ${iface}`);
@@ -40,14 +41,25 @@ async function handleSlashCommand(cmd, userId, iface, agentName) {
40
41
  const { formatStatus } = await import("./tools/kern.js");
41
42
  return formatStatus(getStatusDataFn());
42
43
  }
43
- case "/help":
44
- return [
44
+ case "/help": {
45
+ const builtins = [
45
46
  "/status — show agent status, uptime, token usage",
46
47
  "/restart — restart the agent process",
47
- "/help — show this help",
48
- ].join("\n");
49
- default:
50
- return null; // unknown command fall through to LLM
48
+ ];
49
+ const pluginCmds = plugins.collectCommandDescriptions();
50
+ for (const [cmd, desc] of Object.entries(pluginCmds)) {
51
+ builtins.push(`${cmd.padEnd(10)}${desc}`);
52
+ }
53
+ builtins.push("/help — show this help");
54
+ return builtins.join("\n");
55
+ }
56
+ default: {
57
+ // Check plugin commands before falling through to LLM
58
+ const pluginCmd = plugins.getCommand(cmd);
59
+ if (pluginCmd)
60
+ return pluginCmd.handler(_pluginCtx);
61
+ return null;
62
+ }
51
63
  }
52
64
  }
53
65
  export async function startApp(agentDir, forceCli = false) {
@@ -127,7 +139,9 @@ export async function startApp(agentDir, forceCli = false) {
127
139
  db: memoryDB,
128
140
  sessionId: () => runtime.getSessionId(),
129
141
  };
142
+ _pluginCtx = pluginCtx;
130
143
  const loadedPlugins = await plugins.load(pluginCtx);
144
+ setPluginStatusFn(() => plugins.collectStatus(pluginCtx));
131
145
  // Register plugin tools and descriptions with runtime
132
146
  const pluginTools = plugins.collectTools();
133
147
  if (Object.keys(pluginTools).length > 0) {
@@ -204,7 +218,7 @@ export async function startApp(agentDir, forceCli = false) {
204
218
  // Slash commands bypass the queue — instant response even if queue is busy
205
219
  const cmd = text.trim();
206
220
  if (cmd.startsWith("/")) {
207
- const result = await handleSlashCommand(cmd, userId, iface, agentName);
221
+ const result = await handleSlashCommand(cmd, userId, iface, agentName, agentDir);
208
222
  if (result !== null) {
209
223
  server.broadcast({
210
224
  type: "command-result",
@@ -219,6 +233,18 @@ export async function startApp(agentDir, forceCli = false) {
219
233
  server.setStatusFn(() => {
220
234
  return getStatusDataFn();
221
235
  });
236
+ server.setCommandsFn(() => {
237
+ const cmds = {
238
+ "/status": "show agent status, uptime, token usage",
239
+ "/restart": "restart the agent process",
240
+ };
241
+ const pluginCmds = plugins.collectCommandDescriptions();
242
+ for (const [cmd, desc] of Object.entries(pluginCmds)) {
243
+ cmds[cmd] = desc;
244
+ }
245
+ cmds["/help"] = "show this help";
246
+ return cmds;
247
+ });
222
248
  server.setMessageHandler(async (text, userId, iface, channel, attachments) => {
223
249
  await enqueueMessage(text, userId, iface, channel, undefined, attachments);
224
250
  });
@@ -233,13 +259,10 @@ export async function startApp(agentDir, forceCli = false) {
233
259
  }));
234
260
  });
235
261
  server.setSystemPromptFn(async () => {
236
- const latestSystem = await runtime.getSystemPrompt();
237
- const built = runtime.buildPromptContext();
238
- const systemText = typeof built.system === "string" ? built.system : built.system?.content;
239
- return { system: systemText || latestSystem };
262
+ return { system: await runtime.getSystemPrompt() };
240
263
  });
241
- server.setContextSegmentsFn(() => {
242
- const built = runtime.buildPromptContext();
264
+ server.setContextSegmentsFn(async () => {
265
+ const built = await runtime.buildPromptContext();
243
266
  return {
244
267
  tokenCount: built.stats.summaryTokens,
245
268
  segments: built.stats.summarySegments,
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
File without changes
@@ -15,6 +15,15 @@ export declare const plugins: {
15
15
  dispatchToolResult(toolName: string, result: string, emit: (event: any) => void, ctx: PluginContext): void;
16
16
  /** Notify all plugins that a turn finished (fire-to-all). */
17
17
  dispatchTurnFinish(sessionId: string, ctx: PluginContext): Promise<void>;
18
+ /** Look up a slash command handler from plugins. */
19
+ getCommand(cmd: string): {
20
+ description: string;
21
+ handler: (ctx: PluginContext) => Promise<string>;
22
+ } | null;
23
+ /** Collect all plugin command descriptions for /help. */
24
+ collectCommandDescriptions(): Record<string, string>;
25
+ /** Collect status info from all plugins. */
26
+ collectStatus(ctx: PluginContext): Record<string, any>;
18
27
  /** Process attachments — first plugin that returns a message wins. */
19
28
  dispatchProcessAttachments(attachments: import("../interfaces/types.js").Attachment[], userMessage: string, ctx: PluginContext): Promise<import("ai").ModelMessage | null>;
20
29
  /** Resolve custom URIs in messages — chain through all plugins. */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAOjG,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAoB/G,eAAO,MAAM,OAAO;IAClB,0EAA0E;cAC1D,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAcrD,+CAA+C;kBAC3B,aAAa;IAejC,8CAA8C;oBAC9B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQnC,0CAA0C;+BACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQjD,kDAAkD;mCACb,iBAAiB,OAAO,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiBxG,yDAAyD;iCAC5B,MAAM,UAAU,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,OAAO,aAAa;IAMnG,6DAA6D;kCACzB,MAAM,OAAO,aAAa;IAY9D,sEAAsE;4CAEvD,OAAO,wBAAwB,EAAE,UAAU,EAAE,eAC7C,MAAM,OACd,aAAa,GACjB,OAAO,CAAC,OAAO,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAc5C,mEAAmE;sCAEvD,OAAO,IAAI,EAAE,YAAY,EAAE,OAChC,aAAa,GACjB,OAAO,CAAC,OAAO,IAAI,EAAE,YAAY,EAAE,CAAC;CAaxC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAQjG,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAqB/G,eAAO,MAAM,OAAO;IAClB,0EAA0E;cAC1D,aAAa,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAcrD,+CAA+C;kBAC3B,aAAa;IAejC,8CAA8C;oBAC9B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAQnC,0CAA0C;+BACf,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAQjD,kDAAkD;mCACb,iBAAiB,OAAO,aAAa,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAuBxG,yDAAyD;iCAC5B,MAAM,UAAU,MAAM,QAAQ,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,OAAO,aAAa;IAMnG,6DAA6D;kCACzB,MAAM,OAAO,aAAa;IAY9D,oDAAoD;oBACpC,MAAM,GAAG;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI;IAOzG,yDAAyD;kCAC3B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAYpD,4CAA4C;uBACzB,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IActD,sEAAsE;4CAEvD,OAAO,wBAAwB,EAAE,UAAU,EAAE,eAC7C,MAAM,OACd,aAAa,GACjB,OAAO,CAAC,OAAO,IAAI,EAAE,YAAY,GAAG,IAAI,CAAC;IAc5C,mEAAmE;sCAEvD,OAAO,IAAI,EAAE,YAAY,EAAE,OAChC,aAAa,GACjB,OAAO,CAAC,OAAO,IAAI,EAAE,YAAY,EAAE,CAAC;CAaxC,CAAC"}
@@ -2,6 +2,7 @@ import { dashboardPlugin } from "./dashboard/plugin.js";
2
2
  import { notesPlugin } from "./notes/plugin.js";
3
3
  import { recallPlugin } from "./recall/plugin.js";
4
4
  import { mediaPlugin } from "./media/plugin.js";
5
+ import { skillsPlugin } from "./skills/plugin.js";
5
6
  import { log } from "../log.js";
6
7
  /**
7
8
  * All available plugins. Add new plugins here.
@@ -12,6 +13,7 @@ const availablePlugins = [
12
13
  recallPlugin,
13
14
  mediaPlugin,
14
15
  dashboardPlugin,
16
+ skillsPlugin,
15
17
  ];
16
18
  /** Active plugin instances after loading */
17
19
  let activePlugins = [];
@@ -75,8 +77,14 @@ export const plugins = {
75
77
  if (plugin.onBeforeContext) {
76
78
  try {
77
79
  const result = await plugin.onBeforeContext(info, ctx);
78
- if (result)
79
- injections.push(result);
80
+ if (result) {
81
+ if (Array.isArray(result)) {
82
+ injections.push(...result);
83
+ }
84
+ else {
85
+ injections.push(result);
86
+ }
87
+ }
80
88
  }
81
89
  catch (err) {
82
90
  log.error("plugin", `onBeforeContext error in ${plugin.name}: ${err.message}`);
@@ -106,6 +114,41 @@ export const plugins = {
106
114
  }
107
115
  }
108
116
  },
117
+ /** Look up a slash command handler from plugins. */
118
+ getCommand(cmd) {
119
+ for (const plugin of activePlugins) {
120
+ if (plugin.commands?.[cmd])
121
+ return plugin.commands[cmd];
122
+ }
123
+ return null;
124
+ },
125
+ /** Collect all plugin command descriptions for /help. */
126
+ collectCommandDescriptions() {
127
+ const cmds = {};
128
+ for (const plugin of activePlugins) {
129
+ if (plugin.commands) {
130
+ for (const [cmd, { description }] of Object.entries(plugin.commands)) {
131
+ cmds[cmd] = description;
132
+ }
133
+ }
134
+ }
135
+ return cmds;
136
+ },
137
+ /** Collect status info from all plugins. */
138
+ collectStatus(ctx) {
139
+ const status = {};
140
+ for (const plugin of activePlugins) {
141
+ if (plugin.onStatus) {
142
+ try {
143
+ Object.assign(status, plugin.onStatus(ctx));
144
+ }
145
+ catch (err) {
146
+ log.error("plugin", `onStatus error in ${plugin.name}: ${err.message}`);
147
+ }
148
+ }
149
+ }
150
+ return status;
151
+ },
109
152
  /** Process attachments — first plugin that returns a message wins. */
110
153
  async dispatchProcessAttachments(attachments, userMessage, ctx) {
111
154
  for (const plugin of activePlugins) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/notes/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAoE,MAAM,aAAa,CAAC;AAmBhH,eAAO,MAAM,WAAW,EAAE,UAgFzB,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/notes/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAoE,MAAM,aAAa,CAAC;AAmBhH,eAAO,MAAM,WAAW,EAAE,UAkFzB,CAAC"}
@@ -81,20 +81,22 @@ export const notesPlugin = {
81
81
  catch (err) {
82
82
  log.error("notes", `failed to refresh notes context: ${err.message}`);
83
83
  }
84
- const parts = [];
84
+ const injections = [];
85
85
  if (cachedNotes.summary) {
86
- parts.push(wrapNotesSummary(cachedNotes.summary));
86
+ injections.push({
87
+ label: "notes",
88
+ content: wrapNotesSummary(cachedNotes.summary),
89
+ placement: "system",
90
+ });
87
91
  }
88
92
  if (cachedNotes.latest && cachedNotes.latestFile) {
89
- parts.push(wrapDocument(`notes/${cachedNotes.latestFile}`, cachedNotes.latest));
93
+ injections.push({
94
+ label: "",
95
+ content: wrapDocument(`notes/${cachedNotes.latestFile}`, cachedNotes.latest),
96
+ placement: "system",
97
+ });
90
98
  }
91
- if (parts.length === 0)
92
- return null;
93
- return {
94
- label: "notes",
95
- content: parts.join("\n\n"),
96
- placement: "system",
97
- };
99
+ return injections.length > 0 ? injections : null;
98
100
  },
99
101
  };
100
102
  //# sourceMappingURL=plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/notes/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/notes/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { KernPlugin } from "../types.js";
2
+ /**
3
+ * Skills plugin — progressive disclosure skill system.
4
+ *
5
+ * Scans skills/ (agent-created) and .agents/skills/ (installed) directories.
6
+ * Injects compact catalog into system prompt. Full skill content injected
7
+ * only when agent explicitly activates a skill.
8
+ */
9
+ export declare const skillsPlugin: KernPlugin;
10
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/plugins/skills/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAoE,MAAM,aAAa,CAAC;AAShH;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,UA4H1B,CAAC"}
@@ -0,0 +1,132 @@
1
+ import { scanSkills, loadSkillBody } from "./scanner.js";
2
+ import { isActive, getActiveSkills } from "./state.js";
3
+ import { skillTool, setCatalog } from "./tool.js";
4
+ import { log } from "../../log.js";
5
+ /** Cached skill catalog */
6
+ let catalog = [];
7
+ /**
8
+ * Skills plugin — progressive disclosure skill system.
9
+ *
10
+ * Scans skills/ (agent-created) and .agents/skills/ (installed) directories.
11
+ * Injects compact catalog into system prompt. Full skill content injected
12
+ * only when agent explicitly activates a skill.
13
+ */
14
+ export const skillsPlugin = {
15
+ name: "skills",
16
+ tools: {
17
+ skill: skillTool,
18
+ },
19
+ routes: [
20
+ {
21
+ method: "GET",
22
+ path: "/skills",
23
+ handler: (_req, res) => {
24
+ const active = getActiveSkills();
25
+ const result = catalog.map((s) => ({
26
+ name: s.name,
27
+ description: s.description,
28
+ path: s.displayPath,
29
+ source: s.source,
30
+ active: active.has(s.name),
31
+ }));
32
+ res.writeHead(200, { "Content-Type": "application/json" });
33
+ res.end(JSON.stringify(result));
34
+ },
35
+ },
36
+ {
37
+ method: "GET",
38
+ path: /^\/skills\/([^/]+)$/,
39
+ handler: async (_req, res, match) => {
40
+ const name = match?.[1];
41
+ const skill = catalog.find((s) => s.name === name);
42
+ if (!skill) {
43
+ res.writeHead(404, { "Content-Type": "application/json" });
44
+ res.end(JSON.stringify({ error: "Skill not found" }));
45
+ return;
46
+ }
47
+ try {
48
+ const active = getActiveSkills();
49
+ const body = await loadSkillBody(skill);
50
+ res.writeHead(200, { "Content-Type": "application/json" });
51
+ res.end(JSON.stringify({
52
+ name: skill.name,
53
+ description: skill.description,
54
+ path: skill.displayPath,
55
+ source: skill.source,
56
+ active: active.has(skill.name),
57
+ body,
58
+ }));
59
+ }
60
+ catch {
61
+ res.writeHead(500, { "Content-Type": "application/json" });
62
+ res.end(JSON.stringify({ error: "Failed to load skill body" }));
63
+ }
64
+ },
65
+ },
66
+ ],
67
+ async onStartup(ctx) {
68
+ // Scan skill directories
69
+ catalog = await scanSkills(ctx.agentDir);
70
+ setCatalog(catalog);
71
+ if (catalog.length > 0) {
72
+ const active = getActiveSkills();
73
+ log("skills", `found ${catalog.length} skill(s), ${active.size} active`);
74
+ }
75
+ },
76
+ async onBeforeContext(_info, ctx) {
77
+ // Rescan every turn — agent may have created/deleted skills mid-session
78
+ catalog = await scanSkills(ctx.agentDir);
79
+ setCatalog(catalog);
80
+ if (catalog.length === 0)
81
+ return [];
82
+ const injections = [];
83
+ // Compact catalog with logical paths and active state
84
+ const catalogLines = catalog.map((s) => {
85
+ const state = isActive(s.name) ? "active" : "available";
86
+ return `${state === "active" ? "✦" : "○"} ${s.name} (${state}): ${s.description || "(no description)"}\n ${s.displayPath}`;
87
+ });
88
+ injections.push({
89
+ label: "skills",
90
+ content: catalogLines.join("\n"),
91
+ placement: "system",
92
+ });
93
+ // Active skills: load body lazily and inject as <document> blocks
94
+ for (const skill of catalog) {
95
+ if (!isActive(skill.name))
96
+ continue;
97
+ try {
98
+ const body = await loadSkillBody(skill);
99
+ injections.push({
100
+ label: "",
101
+ content: `<document path="${skill.displayPath}">\n${body}\n</document>`,
102
+ placement: "system",
103
+ });
104
+ }
105
+ catch (err) {
106
+ log.warn("skills", `failed to load active skill ${skill.name}: ${err.message}`);
107
+ }
108
+ }
109
+ return injections;
110
+ },
111
+ commands: {
112
+ "/skills": {
113
+ description: "list available skills",
114
+ handler: async () => {
115
+ if (catalog.length === 0)
116
+ return "No skills found.";
117
+ const active = getActiveSkills();
118
+ const lines = catalog.map((s) => {
119
+ const icon = active.has(s.name) ? "✦" : "○";
120
+ return ` ${icon} ${s.name} — ${s.description || "(no description)"}`;
121
+ });
122
+ return `Skills (${catalog.length} available, ${active.size} active)\n\n${lines.join("\n")}`;
123
+ },
124
+ },
125
+ },
126
+ onStatus(_ctx) {
127
+ return {
128
+ skills: `${getActiveSkills().size} active / ${catalog.length} total`,
129
+ };
130
+ },
131
+ };
132
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/skills/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ export type SkillSource = "local" | "installed" | "builtin";
2
+ export interface SkillInfo {
3
+ /** Skill name (from frontmatter or folder name) */
4
+ name: string;
5
+ /** Short description from frontmatter */
6
+ description: string;
7
+ /** Absolute path to skill directory */
8
+ path: string;
9
+ /** Logical display path (e.g. skills/<name>/SKILL.md) */
10
+ displayPath: string;
11
+ /** Where it came from */
12
+ source: SkillSource;
13
+ }
14
+ /**
15
+ * Load full SKILL.md body for a specific skill (below frontmatter).
16
+ */
17
+ export declare function loadSkillBody(skill: SkillInfo): Promise<string>;
18
+ /**
19
+ * Scan all skill directories and return merged catalog.
20
+ * Priority: local (agent) > installed (.agents) > builtin (kern package).
21
+ * Same-name skills in higher priority shadow lower ones.
22
+ */
23
+ export declare function scanSkills(agentDir: string): Promise<SkillInfo[]>;
24
+ //# sourceMappingURL=scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../src/plugins/skills/scanner.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAE5D,MAAM,WAAW,SAAS;IACxB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,MAAM,EAAE,WAAW,CAAC;CACrB;AA2ED;;GAEG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAKrE;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAcvE"}