@sema-agent/server 1.193.0 → 1.195.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.
@@ -12,6 +12,7 @@ export interface ScenarioBundle {
12
12
  tools: ToolSpec[];
13
13
  skills: SkillSpec[];
14
14
  promptProvider?: PromptProvider;
15
+ finalVerification?: true;
15
16
  }
16
17
  export type Scenario = (req: ScenarioRequest, principal?: string) => ScenarioBundle;
17
18
  export interface ScenarioDeps {
@@ -38,6 +39,7 @@ export interface ScenarioDeps {
38
39
  }
39
40
  export { SEMA_IDENTITY } from "./prompts/identity.js";
40
41
  export declare function semaIdentityProvider(): PromptProvider;
42
+ export declare function autonomousPromptProvider(brand: boolean): PromptProvider;
41
43
  export declare function buildScenarios(deps: ScenarioDeps): Record<string, Scenario>;
42
44
  export declare function selectScenario(scenarios: Record<string, Scenario>, name: string | undefined): Scenario;
43
45
  export interface ScenarioDetail {
@@ -1 +1 @@
1
- {"version":3,"file":"scenarios.d.ts","sourceRoot":"","sources":["../../src/capabilities/scenarios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenarios.d.ts","sourceRoot":"","sources":["../../src/capabilities/scenarios.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { DEFAULT_SYSTEM_PROMPT, assembleFullBodyTools, createGiteaIssueTool, defaultTaskRegistry } from "@sema-agent/core";
1
+ import { DEFAULT_SYSTEM_PROMPT, FULL_BODY_SYSTEM_PROMPT, assembleFullBodyTools, createGiteaIssueTool, defaultTaskRegistry } from "@sema-agent/core";
2
2
  import { HttpError } from "../security.js";
3
3
  import { nowTool } from "./builtin-tools.js";
4
4
  import { GiteaClient, parseRepo, repoToolsFor } from "./repo-tools.js";
@@ -15,31 +15,45 @@ export function semaIdentityProvider() {
15
15
  stableSystem: (ctx) => `${SEMA_IDENTITY}\n\n${ctx.userSystemPrompt ?? DEFAULT_SYSTEM_PROMPT}`,
16
16
  };
17
17
  }
18
- export function buildScenarios(deps) {
18
+ export function autonomousPromptProvider(brand) {
19
19
  return {
20
- default: (req) => {
21
- const reqWebSearch = deps.requirePrincipal !== true
22
- ? webSearchConfigFromSettings(req?.settings?.webSearch)
23
- : undefined;
24
- const webSearch = reqWebSearch ? createWebSearchBackend(reqWebSearch) : deps.webSearch;
25
- return {
26
- tools: [
27
- nowTool(),
28
- ...assembleFullBodyTools({
29
- todoWrite: false,
30
- taskList: true,
31
- subagent: {
32
- runner: deps.subRunner,
33
- background: { registry: defaultTaskRegistry },
34
- ...(deps.subagentExtraTools ? { extraTools: deps.subagentExtraTools } : {}),
35
- },
36
- ...(webSearch ? { webSearch } : {}),
37
- }).filter((t) => t.name !== "WebFetch" || deps.requirePrincipal !== true),
38
- ],
39
- skills: skillsForScenario(deps.skills, "default"),
40
- ...(deps.brandIdentity ? { promptProvider: semaIdentityProvider() } : {}),
41
- };
20
+ stableSystem: (ctx) => {
21
+ const role = ctx.userSystemPrompt ?? FULL_BODY_SYSTEM_PROMPT;
22
+ return brand ? `${SEMA_IDENTITY}\n\n${role}` : role;
42
23
  },
24
+ };
25
+ }
26
+ export function buildScenarios(deps) {
27
+ const defaultScenario = (req) => {
28
+ const reqWebSearch = deps.requirePrincipal !== true
29
+ ? webSearchConfigFromSettings(req?.settings?.webSearch)
30
+ : undefined;
31
+ const webSearch = reqWebSearch ? createWebSearchBackend(reqWebSearch) : deps.webSearch;
32
+ return {
33
+ tools: [
34
+ nowTool(),
35
+ ...assembleFullBodyTools({
36
+ todoWrite: false,
37
+ taskList: true,
38
+ subagent: {
39
+ runner: deps.subRunner,
40
+ background: { registry: defaultTaskRegistry },
41
+ ...(deps.subagentExtraTools ? { extraTools: deps.subagentExtraTools } : {}),
42
+ },
43
+ ...(webSearch ? { webSearch } : {}),
44
+ }).filter((t) => t.name !== "WebFetch" || deps.requirePrincipal !== true),
45
+ ],
46
+ skills: skillsForScenario(deps.skills, "default"),
47
+ ...(deps.brandIdentity ? { promptProvider: semaIdentityProvider() } : {}),
48
+ };
49
+ };
50
+ return {
51
+ default: defaultScenario,
52
+ autonomous: (req, principal) => ({
53
+ ...defaultScenario(req, principal),
54
+ promptProvider: autonomousPromptProvider(deps.brandIdentity === true),
55
+ finalVerification: true,
56
+ }),
43
57
  "code-review": (req) => codeReview(deps, req),
44
58
  scan: (req) => {
45
59
  if (!deps.repoClient)
@@ -98,6 +112,9 @@ export function builtinScenarioDetails(scenarios, deps) {
98
112
  const mk = (name, summary, toolset, tools, promptSummary) => ({ name, source: "builtin", builtin: true, summary, toolset, tools, promptSummary, enabled: true });
99
113
  return {
100
114
  default: mk("default", "通用编码/助理主场景(CC agent loop 全量工具面)", "full-body", probe("default", {}, undefined, ["Now"]), deps.brandIdentity ? "Sema 产品身份 + core 默认宪法(结构层由引擎合成)" : "core 默认宪法(中性,无场景附加 persona)"),
115
+ autonomous: mk("autonomous", "自治收官场景(default 全量工具面;bench 同源 persona + 固定终验)", "full-body", probe("autonomous", {}, undefined, ["Now"]), deps.brandIdentity
116
+ ? "Sema 产品身份 + core 全量自治提示词(CODE_AGENT persona+自治自检;finalVerification 固定开)"
117
+ : "core 全量自治提示词(CODE_AGENT persona+自治自检;finalVerification 固定开)"),
101
118
  "code-review": mk("code-review", "代码评审(clone-free 只读仓库工具;council=true 升多镜头评审团)", "repo-readonly", probe("code-review", { repo: "probe/probe" }, undefined, REPO_TOOLS), "评审员/评审团协调提示词(镜头分工+产出契约)"),
102
119
  scan: mk("scan", "中性只读仓库扫描(输出契约由 objective+skills 决定)", "repo-readonly", probe("scan", { repo: "probe/probe" }, undefined, REPO_TOOLS), "无场景附加提示词(objective+center skills 拥有输出契约)"),
103
120
  oa: mk("oa", "OA 资产运营助手(以最终用户 principal 走 OA API,RBAC+审计在 OA 侧)", "oa-api", probe("oa", {}, "probe:meta", ["oa_schema", "oa_alerts", "oa_list", "oa_get", "oa_lookup", "oa_create", "oa_update", "oa_transition"]), "OA 运营助手提示词(先 schema 后操作、写走受控流转)"),
@@ -1 +1 @@
1
- {"version":3,"file":"scenarios.js","sourceRoot":"","sources":["../../src/capabilities/scenarios.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenarios.js","sourceRoot":"","sources":["../../src/capabilities/scenarios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoH,qBAAqB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGtQ,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAC/F,OAAO,EAAE,iBAAiB,EAAoB,MAAM,aAAa,CAAC;AAkFlE,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAWtD,MAAM,UAAU,oBAAoB;IAClC,OAAO;QACL,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,aAAa,OAAO,GAAG,CAAC,gBAAgB,IAAI,qBAAqB,EAAE;KAC9F,CAAC;AACJ,CAAC;AAYD,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,OAAO;QACL,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,MAAM,IAAI,GAAG,GAAG,CAAC,gBAAgB,IAAI,uBAAuB,CAAC;YAC7D,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACtD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAkB;IAM/C,MAAM,eAAe,GAAa,CAAC,GAAG,EAAE,EAAE;QAWxC,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,KAAK,IAAI;YACjD,CAAC,CAAC,2BAA2B,CAAE,GAA0D,EAAE,QAAQ,EAAE,SAAS,CAAC;YAC/G,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,sBAAsB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACvF,OAAO;YACL,KAAK,EAAE;gBACL,OAAO,EAAE;gBACT,GAAG,qBAAqB,CAAC;oBAMvB,SAAS,EAAE,KAAK;oBAIhB,QAAQ,EAAE,IAAI;oBAOd,QAAQ,EAAE;wBACR,MAAM,EAAE,IAAI,CAAC,SAAS;wBACtB,UAAU,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE;wBAG7C,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;qBAC5E;oBACD,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACpC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC;aAC1E;YACD,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC;YAGjD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,oBAAoB,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC;IACJ,CAAC,CAAC;IACF,OAAO;QACL,OAAO,EAAE,eAAe;QAMxB,UAAU,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC;YAClC,cAAc,EAAE,wBAAwB,CAAC,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;YACrE,iBAAiB,EAAE,IAAI;SACxB,CAAC;QACF,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC;QAS7C,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YACZ,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gDAAgD,CAAC,CAAC;YACjG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrD,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gEAAgE,CAAC,CAAC;YAC7F,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;gBACzE,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;aAC/C,CAAC;QACJ,CAAC;QACD,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE;YACrB,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,cAAc;gBAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gEAAgE,CAAC,CAAC;YAG3I,IAAI,CAAC,SAAS;gBAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,6FAA6F,CAAC,CAAC;YAExI,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO;gBAC5B,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,2EAA2E,EAAE,CAAC,CAAC;gBACjK,CAAC,CAAC,EAAE,CAAC;YACP,OAAO;gBACL,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;gBACxG,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;gBAC5C,cAAc,EAAE,QAAQ;aACzB,CAAC;QACJ,CAAC;QAKD,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE;YACZ,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,iBAAiB,IAAI,iBAAiB,SAAS,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC;YAC1F,MAAM,eAAe,GAAG,OAAO,GAAG,CAAC,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,OAAO;gBACL,KAAK,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;gBACjF,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;gBAC9C,cAAc,EAAE,qBAAqB;aACtC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAGD,MAAM,UAAU,cAAc,CAAC,SAAmC,EAAE,IAAwB;IAC1F,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,SAAS,CAAC,OAAQ,CAAC;AACzD,CAAC;AAqBD,MAAM,UAAU,sBAAsB,CAAC,SAAmC,EAAE,IAAyC;IACnH,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,GAAoB,EAAE,SAA6B,EAAE,QAAkB,EAAY,EAAE;QAChH,IAAI,CAAC;YACH,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC7E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;IACF,MAAM,UAAU,GAAG,CAAC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;IAC5E,MAAM,EAAE,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,OAAe,EAAE,KAAe,EAAE,aAAqB,EAAkB,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3N,OAAO;QACL,OAAO,EAAE,EAAE,CAAC,SAAS,EAAE,iCAAiC,EAAE,WAAW,EACnE,KAAK,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EACxC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,6BAA6B,CAAC;QACzF,UAAU,EAAE,EAAE,CAAC,YAAY,EAAE,+CAA+C,EAAE,WAAW,EACvF,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,EAC3C,IAAI,CAAC,aAAa;YAChB,CAAC,CAAC,yEAAyE;YAC3E,CAAC,CAAC,6DAA6D,CAAC;QACpE,aAAa,EAAE,EAAE,CAAC,aAAa,EAAE,8CAA8C,EAAE,eAAe,EAC9F,KAAK,CAAC,aAAa,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EACpE,yBAAyB,CAAC;QAC5B,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,qCAAqC,EAAE,eAAe,EACrE,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAC7D,0CAA0C,CAAC;QAC7C,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,mDAAmD,EAAE,QAAQ,EACxE,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,EACtI,iCAAiC,CAAC;QACpC,IAAI,EAAE,EAAE,CAAC,MAAM,EAAE,6CAA6C,EAAE,MAAM,EACpE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC,EAC1C,qBAAqB,CAAC;KACzB,CAAC;AACJ,CAAC;AAID,MAAM,UAAU,qBAAqB,CAAC,KAAuC,EAAE,YAAsB;IACnG,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;YAAE,SAAS;QACrC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,SAAS;QACjF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,mBAAmB,CAAC;YAAE,SAAS;QACzH,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,OAAO,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5G,aAAa,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;YAChC,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AA2BD,MAAM,QAAQ,GAA4B;IACxC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE;IAClC,eAAe,EAAE;QACf,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACnB,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gDAAgD,CAAC,CAAC;YACjG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gBACrD,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,gEAAgE,CAAC,CAAC;YAC7F,CAAC;YACD,OAAO,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC;AAOxC,MAAM,UAAU,eAAe,CAC7B,IAAkB,EAClB,KAAuC,EACvC,YAAsB,EACtB,MAAe;IAEf,MAAM,OAAO,GAA6B,EAAE,CAAC;IAC7C,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK;YAAE,SAAS;QACrC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,MAAM,EAAE,IAAI,CAAC,gCAAgC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACpI,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,EAAE,IAAI,CAAC,gCAAgC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,oBAAoB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACrK,SAAS;QACX,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,mBAAmB,CAAC,EAAE,CAAC;YAC/G,MAAM,EAAE,IAAI,CAAC,gCAAgC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,4BAA4B,mBAAmB,QAAQ,EAAE,CAAC,CAAC;YACrI,SAAS;QACX,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC;YAC/B,MAAM,EAAE,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC;YAC5C,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9C,CAAC,CAAC;QACH,IAAI,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,UAAU,CAAC,IAAkB,EAAE,GAAoB;IAC1D,IAAI,CAAC,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,uDAAuD,CAAC,CAAC;IACxG,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,uEAAuE,CAAC,CAAC;IACpG,CAAC;IACD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC;IAShG,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,OAAO;YACL,KAAK,EAAE;gBACL,iBAAiB,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;oBACtD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,GAAG,CAAC,MAAM,KAAK,IAAI;oBAG3B,GAAG,CAAC,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAEpE,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC5C,CAAC;aACH;YACD,MAAM;YACN,cAAc,EAAE,iBAAiB;SAClC,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,GACd,qFAAqF;IACrF,oIAAoI,CAAC;AAOvI,MAAM,oBAAoB,GAAG,YAAY,CACvC,oGAAoG;IAClG,iDAAiD;IACjD,UAAU,CACb,CAAC;AAGF,MAAM,iBAAiB,GAAG,YAAY,CACpC,gGAAgG;IAC9F,2FAA2F;IAC3F,oCAAoC,CACvC,CAAC;AASF,MAAM,UAAU,eAAe,CAC7B,cAAuC,EACvC,UAAmC,EACnC,MAAe;IAEf,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,cAAc,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,EAAE,IAAI,CAAC,qBAAqB,EAAE,EAAE,MAAM,EAAE,0CAA0C,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;IACpI,OAAO,GAAG,CAAC;AACb,CAAC;AA+BD,MAAM,UAAU,mBAAmB,CAAC,MAAkC,EAAE,YAAqB,EAAE,eAAuB;IACpH,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,EAAE,SAAS,IAAI,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,aAAa,YAAY,iDAAiD,EAAE;gBACnG,IAAI,EAAE,sBAAsB;gBAC5B,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;aAC9B,CAAC,CAAC;QACL,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,EAAE,QAAQ,IAAI,eAAe,CAAC;AAC7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/capabilities/skills.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAiBlD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAEhB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CAoBrD;AAGD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAEtF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAW5F"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/capabilities/skills.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AA6BlD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,CAAC;IAEhB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,EAAE,CA4CrD;AAqCD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAEtF;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAW5F"}
@@ -1,27 +1,79 @@
1
- import { readdirSync, readFileSync } from "node:fs";
1
+ import { readdirSync, readFileSync, statSync } from "node:fs";
2
2
  import { join } from "node:path";
3
3
  export function loadSkills(dir) {
4
- let files;
4
+ let entries;
5
5
  try {
6
- files = readdirSync(dir).filter((f) => f.endsWith(".md"));
6
+ entries = readdirSync(dir, { withFileTypes: true });
7
7
  }
8
8
  catch {
9
9
  return [];
10
10
  }
11
11
  const out = [];
12
- for (const file of files.sort()) {
13
- const raw = readFileSync(join(dir, file), "utf8");
14
- const { meta, body } = parseFrontmatter(raw);
15
- const name = meta.name ?? file.replace(/\.md$/, "");
16
- const description = meta.description ?? firstHeading(body) ?? name;
17
- const scenarios = (meta.scenarios ?? "")
18
- .split(",")
19
- .map((s) => s.trim())
20
- .filter(Boolean);
21
- out.push({ spec: { name, description, content: body.trim() }, scenarios });
12
+ const seen = new Map();
13
+ const push = (skill, source) => {
14
+ const prior = seen.get(skill.spec.name);
15
+ if (prior !== undefined) {
16
+ throw new Error(`duplicate skill name "${skill.spec.name}": ${prior} vs ${source}`);
17
+ }
18
+ seen.set(skill.spec.name, source);
19
+ out.push(skill);
20
+ };
21
+ const isFileLike = (entry, p) => entry.isFile() || (entry.isSymbolicLink() && statSync(p).isFile());
22
+ const isDirLike = (entry, p) => entry.isDirectory() || (entry.isSymbolicLink() && statSync(p).isDirectory());
23
+ for (const entry of entries.slice().sort((a, b) => (a.name < b.name ? -1 : a.name > b.name ? 1 : 0))) {
24
+ if (entry.name.startsWith("."))
25
+ continue;
26
+ if (isFileLike(entry, join(dir, entry.name)) && entry.name.endsWith(".md")) {
27
+ const raw = readFileSync(join(dir, entry.name), "utf8");
28
+ push(parseSkill(raw, entry.name.replace(/\.md$/, "")), join(dir, entry.name));
29
+ }
30
+ else if (isDirLike(entry, join(dir, entry.name))) {
31
+ const skillDir = join(dir, entry.name);
32
+ let raw;
33
+ try {
34
+ raw = readFileSync(join(skillDir, "SKILL.md"), "utf8");
35
+ }
36
+ catch {
37
+ throw new Error(`skill directory ${skillDir} has no SKILL.md`);
38
+ }
39
+ const skill = parseSkill(raw, entry.name);
40
+ const files = collectAttachments(skillDir, "");
41
+ if (files.length > 0)
42
+ skill.spec.files = files;
43
+ push(skill, join(skillDir, "SKILL.md"));
44
+ }
22
45
  }
23
46
  return out;
24
47
  }
48
+ function collectAttachments(skillDir, rel) {
49
+ const files = [];
50
+ const here = rel === "" ? skillDir : join(skillDir, rel);
51
+ for (const entry of readdirSync(here, { withFileTypes: true }).sort((a, b) => a.name < b.name ? -1 : a.name > b.name ? 1 : 0)) {
52
+ if (entry.name.startsWith("."))
53
+ continue;
54
+ const relPath = rel === "" ? entry.name : `${rel}/${entry.name}`;
55
+ const abs = join(skillDir, relPath);
56
+ const dirLike = entry.isDirectory() || (entry.isSymbolicLink() && statSync(abs).isDirectory());
57
+ const fileLike = entry.isFile() || (entry.isSymbolicLink() && statSync(abs).isFile());
58
+ if (dirLike) {
59
+ files.push(...collectAttachments(skillDir, relPath));
60
+ }
61
+ else if (fileLike && relPath !== "SKILL.md") {
62
+ files.push({ path: relPath, content: readFileSync(abs, "utf8") });
63
+ }
64
+ }
65
+ return files;
66
+ }
67
+ function parseSkill(raw, fallbackName) {
68
+ const { meta, body } = parseFrontmatter(raw);
69
+ const name = meta.name ?? fallbackName;
70
+ const description = meta.description ?? firstHeading(body) ?? name;
71
+ const scenarios = (meta.scenarios ?? "")
72
+ .split(",")
73
+ .map((s) => s.trim())
74
+ .filter(Boolean);
75
+ return { spec: { name, description, content: body.trim() }, scenarios };
76
+ }
25
77
  export function skillsForScenario(loaded, scenario) {
26
78
  return loaded.filter((k) => k.scenarios.length === 0 || k.scenarios.includes(scenario)).map((k) => k.spec);
27
79
  }
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/capabilities/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/capabilities/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAC;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAoCjC,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,IAAI,OAAmC,CAAC;IACxC,IAAI,CAAC;QACH,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAkB,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IACvC,MAAM,IAAI,GAAG,CAAC,KAAkB,EAAE,MAAc,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,yBAAyB,KAAK,CAAC,IAAI,CAAC,IAAI,MAAM,KAAK,OAAO,MAAM,EAAE,CAAC,CAAC;QACtF,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClB,CAAC,CAAC;IAIF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,CAAS,EAAW,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7H,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,CAAS,EAAW,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACtI,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrG,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzC,IAAI,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3E,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,IAAI,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACvC,IAAI,GAAW,CAAC;YAChB,IAAI,CAAC;gBACH,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBAGP,MAAM,IAAI,KAAK,CAAC,mBAAmB,QAAQ,kBAAkB,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAKD,SAAS,kBAAkB,CAAC,QAAgB,EAAE,GAAW;IACvD,MAAM,KAAK,GAAoC,EAAE,CAAC;IAClD,MAAM,IAAI,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACzD,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3E,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC/C,EAAE,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACzC,MAAM,OAAO,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACvD,CAAC;aAAM,IAAI,QAAQ,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,GAAW,EAAE,YAAoB;IACnD,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,YAAY,CAAC;IACvC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACnE,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;SACrC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;AAC1E,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,MAAqB,EAAE,QAAgB;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7G,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAG1C,MAAM,CAAC,GAAG,6CAA6C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClE,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACvC,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,EAAE;YAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC;AAC/B,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QACtB,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtD,IAAI,CAAC;YAAE,OAAO,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { Model } from "@sema-agent/core";
2
+ import type { ServiceConfig } from "../config.js";
3
+ import type { HookLlmCall } from "./hook-runner.js";
4
+ export type HookModelPick = {
5
+ ok: true;
6
+ catalogRef: string;
7
+ providerModelId: string;
8
+ baseUrl: string;
9
+ api: "openai-completions" | "anthropic-messages";
10
+ } | {
11
+ ok: false;
12
+ error: string;
13
+ };
14
+ export declare function createHookLlm(deps: {
15
+ config: ServiceConfig;
16
+ getKeyResolver: () => ((model: Model) => Promise<{
17
+ apiKey: string;
18
+ } | undefined>) | undefined;
19
+ metrics: {
20
+ inc: (name: string, labels?: Record<string, string>) => void;
21
+ };
22
+ fetchImpl?: typeof fetch;
23
+ }): {
24
+ hookModelFor: (requested?: string) => HookModelPick;
25
+ hookLlm: HookLlmCall;
26
+ };
27
+ //# sourceMappingURL=hook-llm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-llm.d.ts","sourceRoot":"","sources":["../../src/hooks/hook-llm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAepD,MAAM,MAAM,aAAa,GACrB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,oBAAoB,GAAG,oBAAoB,CAAA;CAAE,GAC5H;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjC,wBAAgB,aAAa,CAAC,IAAI,EAAE;IAClC,MAAM,EAAE,aAAa,CAAC;IAEtB,cAAc,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9F,OAAO,EAAE;QAAE,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAA;KAAE,CAAC;IAC1E,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B,GAAG;IAAE,YAAY,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,aAAa,CAAC;IAAC,OAAO,EAAE,WAAW,CAAA;CAAE,CAyJhF"}
@@ -0,0 +1,123 @@
1
+ export function createHookLlm(deps) {
2
+ const { config, metrics } = deps;
3
+ const anthropicRouteBaseUrl = () => config.anthropic ? config.anthropic.baseUrl || "https://api.anthropic.com" : undefined;
4
+ const shapeFrom = (catalogRef, m, providerModelId) => {
5
+ const api = m?.api === "anthropic-messages" || m?.provider === "anthropic" ? "anthropic-messages" : "openai-completions";
6
+ if (api === "anthropic-messages") {
7
+ const baseUrl = m?.baseUrl || anthropicRouteBaseUrl();
8
+ if (!baseUrl) {
9
+ return {
10
+ ok: false,
11
+ error: `hook model "${catalogRef}" is served over anthropic-messages but no anthropic route is configured — set ANTHROPIC_API_KEY or ANTHROPIC_AUTH_TOKEN (plus ANTHROPIC_BASE_URL for a non-default endpoint), or give the model its own baseUrl`,
12
+ };
13
+ }
14
+ return { ok: true, catalogRef, providerModelId, baseUrl, api };
15
+ }
16
+ return { ok: true, catalogRef, providerModelId, baseUrl: m?.baseUrl || config.gatewayBaseUrl, api };
17
+ };
18
+ const hookModelFor = (requested) => {
19
+ const shape = (ref) => shapeFrom(ref, config.models[ref], config.models[ref]?.id ?? ref);
20
+ if (requested === undefined) {
21
+ const sum = config.roles.summarize;
22
+ const roleModel = typeof sum === "string" ? sum : sum && typeof sum === "object" && "model" in sum && typeof sum.model === "string" ? sum.model : undefined;
23
+ if (roleModel !== undefined)
24
+ return config.models[roleModel] ? shape(roleModel) : shapeFrom(config.model.id, config.model, roleModel);
25
+ return shapeFrom(config.model.id, config.model, config.model.id);
26
+ }
27
+ if (config.models[requested])
28
+ return shape(requested);
29
+ if (requested === config.model.id)
30
+ return shapeFrom(requested, config.model, requested);
31
+ return { ok: false, error: `hook model "${requested}" is not in this deployment's catalog` };
32
+ };
33
+ const fetchImpl = deps.fetchImpl ?? fetch;
34
+ const hookLlm = async ({ prompt, model, timeoutMs }) => {
35
+ const pick = hookModelFor(model);
36
+ if (!pick.ok)
37
+ return pick;
38
+ const ac = new AbortController();
39
+ const t = setTimeout(() => ac.abort(), timeoutMs);
40
+ try {
41
+ const keyResolver = deps.getKeyResolver();
42
+ let perModelKey;
43
+ if (keyResolver) {
44
+ try {
45
+ perModelKey = (await keyResolver({ name: pick.catalogRef }))?.apiKey;
46
+ }
47
+ catch (e) {
48
+ return { ok: false, error: `per-model key resolution for "${pick.catalogRef}" failed — refusing to fall back to the shared route credential (${String(e)})` };
49
+ }
50
+ }
51
+ const normUrl = (u) => {
52
+ try {
53
+ const x = new URL(u);
54
+ return `${x.protocol}//${x.host}${x.pathname.replace(/\/+$/, "")}`;
55
+ }
56
+ catch {
57
+ return u.replace(/\/+$/, "");
58
+ }
59
+ };
60
+ let url;
61
+ let headers;
62
+ let body;
63
+ if (pick.api === "anthropic-messages") {
64
+ const routeBase = anthropicRouteBaseUrl();
65
+ const sameRoute = routeBase !== undefined && normUrl(pick.baseUrl) === normUrl(routeBase);
66
+ if (!perModelKey && !sameRoute) {
67
+ return { ok: false, error: `hook model "${pick.catalogRef}" points at a foreign anthropic baseUrl with no per-model key — refusing to send the prompt off-route` };
68
+ }
69
+ url = `${pick.baseUrl.replace(/\/+$/, "")}/v1/messages`;
70
+ headers = {
71
+ "content-type": "application/json",
72
+ "anthropic-version": config.anthropic?.version ?? "2023-06-01",
73
+ ...(perModelKey
74
+ ? { "x-api-key": perModelKey }
75
+ : config.anthropic?.authToken
76
+ ? { authorization: `Bearer ${config.anthropic.authToken}` }
77
+ : config.anthropic?.apiKey
78
+ ? { "x-api-key": config.anthropic.apiKey }
79
+ : {}),
80
+ };
81
+ const maxTokens = config.models[pick.catalogRef]?.maxTokens ?? 1024;
82
+ body = JSON.stringify({ model: pick.providerModelId, max_tokens: maxTokens, messages: [{ role: "user", content: prompt }] });
83
+ }
84
+ else {
85
+ const sameGateway = normUrl(pick.baseUrl) === normUrl(config.gatewayBaseUrl);
86
+ const hookKey = perModelKey ?? (sameGateway ? config.gatewayApiKey : undefined);
87
+ if (!sameGateway && !hookKey) {
88
+ return { ok: false, error: `hook model "${pick.catalogRef}" points at a foreign baseUrl with no per-model key — refusing to send the prompt off-gateway` };
89
+ }
90
+ url = `${pick.baseUrl.replace(/\/+$/, "")}/chat/completions`;
91
+ headers = { "content-type": "application/json", ...(hookKey ? { authorization: `Bearer ${hookKey}` } : {}) };
92
+ body = JSON.stringify({ model: pick.providerModelId, messages: [{ role: "user", content: prompt }], stream: false });
93
+ }
94
+ const r = await fetchImpl(url, { method: "POST", headers, body, signal: ac.signal });
95
+ if (!r.ok)
96
+ return { ok: false, error: `hook llm HTTP ${r.status}` };
97
+ let text;
98
+ if (pick.api === "anthropic-messages") {
99
+ const j = (await r.json());
100
+ const parts = (Array.isArray(j.content) ? j.content : []).filter((b) => b?.type === "text" && typeof b.text === "string").map((b) => b.text);
101
+ text = parts.length > 0 ? parts.join("") : undefined;
102
+ }
103
+ else {
104
+ const j = (await r.json());
105
+ text = j.choices?.[0]?.message?.content ?? undefined;
106
+ }
107
+ metrics.inc("hook_llm_calls_total", { type: "prompt" });
108
+ return typeof text === "string" ? { ok: true, text } : { ok: false, error: "hook llm returned no content" };
109
+ }
110
+ catch (e) {
111
+ const cause = e?.cause;
112
+ return {
113
+ ok: false,
114
+ error: ac.signal.aborted ? "hook llm timeout" : `hook llm request to ${pick.baseUrl} failed: ${String(e)}${cause ? ` (${String(cause)})` : ""}`,
115
+ };
116
+ }
117
+ finally {
118
+ clearTimeout(t);
119
+ }
120
+ };
121
+ return { hookModelFor, hookLlm };
122
+ }
123
+ //# sourceMappingURL=hook-llm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-llm.js","sourceRoot":"","sources":["../../src/hooks/hook-llm.ts"],"names":[],"mappings":"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"}
@@ -171,7 +171,7 @@ export interface TaskRequestBody {
171
171
  [k: string]: unknown;
172
172
  }
173
173
  export declare const MAX_USER_SKILLS = 10;
174
- export declare const MAX_SKILL_CONTENT_CHARS = 20000;
174
+ export declare const MAX_SKILL_CONTENT_CHARS = 1048576;
175
175
  export declare const MAX_SYSTEM_PROMPT_CHARS = 16384;
176
176
  export declare const MAX_OUTPUT_SCHEMA_CHARS = 32768;
177
177
  export declare function validateUserSkills(skills: unknown): string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/http/server.ts"],"names":[],"mappings":"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"}
@@ -28,7 +28,7 @@ import { redactSecrets, redactDeep, redactedPreview } from "../trace/redact.js";
28
28
  import { usageSummary, usageSeries, usageBreakdown } from "../usage-analytics.js";
29
29
  import { IdempotencyCache } from "./idempotency.js";
30
30
  export const MAX_USER_SKILLS = 10;
31
- export const MAX_SKILL_CONTENT_CHARS = 20_000;
31
+ export const MAX_SKILL_CONTENT_CHARS = 1_048_576;
32
32
  export const MAX_SYSTEM_PROMPT_CHARS = 16_384;
33
33
  export const MAX_OUTPUT_SCHEMA_CHARS = 32_768;
34
34
  function runMeta(prepared, source) {
@@ -54,7 +54,7 @@ export function validateUserSkills(skills) {
54
54
  if (typeof s["description"] !== "string" || s["description"].length > 1024)
55
55
  return "skill.description must be a string of at most 1024 characters";
56
56
  if (typeof s["content"] !== "string" || s["content"].length === 0 || s["content"].length > MAX_SKILL_CONTENT_CHARS)
57
- return `skill.content must be a non-empty string of at most ${MAX_SKILL_CONTENT_CHARS} characters (the engine truncates skill bodies at ${MAX_SKILL_CONTENT_CHARS} chars a longer body would be silently cut)`;
57
+ return `skill.content must be a non-empty string of at most ${MAX_SKILL_CONTENT_CHARS} characters (the engine rejects skills over this size outright at load time)`;
58
58
  }
59
59
  return null;
60
60
  }
@@ -1362,12 +1362,34 @@ export function createHttpServer(deps) {
1362
1362
  sendJson(res, 404, { error: "run not found" });
1363
1363
  return;
1364
1364
  }
1365
+ let compactBody;
1366
+ try {
1367
+ const parsed = await readJson(req);
1368
+ if (parsed === null || typeof parsed !== "object") {
1369
+ sendJson(res, 400, { error: "body must be a JSON object when present" });
1370
+ return;
1371
+ }
1372
+ compactBody = parsed;
1373
+ }
1374
+ catch (e) {
1375
+ if (e instanceof HttpError) {
1376
+ sendJson(res, e.status, { error: e.message });
1377
+ return;
1378
+ }
1379
+ sendJson(res, 400, { error: "invalid JSON body" });
1380
+ return;
1381
+ }
1382
+ if (compactBody.instructions !== undefined && (typeof compactBody.instructions !== "string" || compactBody.instructions.length === 0 || [...compactBody.instructions].length > 2_048)) {
1383
+ sendJson(res, 400, { error: "instructions must be a non-empty string of at most 2048 characters (code points) when present — the engine caps compaction instructions there" });
1384
+ return;
1385
+ }
1386
+ const compactInstructions = compactBody.instructions;
1365
1387
  const live = steerableRuns.get(taskId);
1366
1388
  if (!live) {
1367
1389
  sendJson(res, 409, { errorCode: "compact.not_running", error: run.status === "running" ? "run is active on another replica — manual compact is replica-local" : `run is ${run.status} — not accepting compaction` });
1368
1390
  return;
1369
1391
  }
1370
- void live.compact().then((outcome) => {
1392
+ void live.compact(compactInstructions !== undefined ? { instructions: compactInstructions } : undefined).then((outcome) => {
1371
1393
  const level = outcome === "failed" ? "warn" : "info";
1372
1394
  deps.logger?.[level]?.("manual_compact_outcome", { taskId, outcome, note: outcome === "compacted" ? "a compacted{trigger:'manual'} event rode the run stream" : `no event (see compaction.${outcome === "mooted" ? "mooted" : outcome} trace / task terminal events)` });
1373
1395
  }, (e) => {