neoctl 0.1.17 → 0.1.19

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 (121) hide show
  1. package/dist/agents/local-agent-task.js +1 -2
  2. package/dist/agents/local-agent-task.js.map +1 -1
  3. package/dist/agents/smoke-agents.js +4 -21
  4. package/dist/agents/smoke-agents.js.map +1 -1
  5. package/dist/context/prompts.js +0 -4
  6. package/dist/context/prompts.js.map +1 -1
  7. package/dist/core/query-engine.d.ts +1 -22
  8. package/dist/core/query-engine.js +12 -106
  9. package/dist/core/query-engine.js.map +1 -1
  10. package/dist/core/query.d.ts +1 -2
  11. package/dist/core/query.js +5 -59
  12. package/dist/core/query.js.map +1 -1
  13. package/dist/core/smoke-core-loop.js +6 -95
  14. package/dist/core/smoke-core-loop.js.map +1 -1
  15. package/dist/index.d.ts +1 -25
  16. package/dist/index.js +1 -25
  17. package/dist/index.js.map +1 -1
  18. package/dist/model/communication-logger.d.ts +1 -2
  19. package/dist/model/communication-logger.js +0 -3
  20. package/dist/model/communication-logger.js.map +1 -1
  21. package/dist/model/config.d.ts +4 -10
  22. package/dist/model/config.js +12 -61
  23. package/dist/model/config.js.map +1 -1
  24. package/dist/model/context-window.js +0 -1
  25. package/dist/model/context-window.js.map +1 -1
  26. package/dist/model/env.js +19 -35
  27. package/dist/model/env.js.map +1 -1
  28. package/dist/model/model-metadata.json +677 -726
  29. package/dist/model/openai-adapter.d.ts +1 -1
  30. package/dist/model/openai-chat-mapper.d.ts +1 -4
  31. package/dist/model/openai-chat-mapper.js +8 -30
  32. package/dist/model/openai-chat-mapper.js.map +1 -1
  33. package/dist/model/openai-mappers.d.ts +2 -5
  34. package/dist/model/openai-mappers.js +4 -17
  35. package/dist/model/openai-mappers.js.map +1 -1
  36. package/dist/model/openai-responses-mapper.d.ts +1 -1
  37. package/dist/model/openai-responses-mapper.js +1 -2
  38. package/dist/model/openai-responses-mapper.js.map +1 -1
  39. package/dist/model/provider-factory.js +0 -32
  40. package/dist/model/provider-factory.js.map +1 -1
  41. package/dist/model/smoke-openai.js +1 -1
  42. package/dist/model/smoke-openai.js.map +1 -1
  43. package/dist/model/smoke-responses-mapper.js +6 -6
  44. package/dist/model/smoke-responses-mapper.js.map +1 -1
  45. package/dist/repl/commands.d.ts +0 -15
  46. package/dist/repl/commands.js +0 -58
  47. package/dist/repl/commands.js.map +1 -1
  48. package/dist/repl/index.js +144 -970
  49. package/dist/repl/index.js.map +1 -1
  50. package/dist/repl/render.js +2 -0
  51. package/dist/repl/render.js.map +1 -1
  52. package/dist/repl/status-line.d.ts +1 -0
  53. package/dist/repl/status-line.js +34 -27
  54. package/dist/repl/status-line.js.map +1 -1
  55. package/dist/session/session-store.js +2 -2
  56. package/dist/session/session-store.js.map +1 -1
  57. package/dist/session/smoke-session.js +1 -22
  58. package/dist/session/smoke-session.js.map +1 -1
  59. package/dist/skills/skill-tool.d.ts +5 -85
  60. package/dist/skills/skill-tool.js +14 -173
  61. package/dist/skills/skill-tool.js.map +1 -1
  62. package/dist/skills/smoke-skills.js +5 -54
  63. package/dist/skills/smoke-skills.js.map +1 -1
  64. package/dist/tools/builtins/search-providers.d.ts +1 -15
  65. package/dist/tools/builtins/search-providers.js +1 -195
  66. package/dist/tools/builtins/search-providers.js.map +1 -1
  67. package/dist/tools/builtins/search-tool.js +2 -2
  68. package/dist/tools/builtins/search-tool.js.map +1 -1
  69. package/dist/tools/registry.d.ts +0 -1
  70. package/dist/tools/registry.js +0 -11
  71. package/dist/tools/registry.js.map +1 -1
  72. package/dist/tools/run-tool-use.js +1 -1
  73. package/dist/tools/run-tool-use.js.map +1 -1
  74. package/dist/tools/smoke-tool-system.js +9 -43
  75. package/dist/tools/smoke-tool-system.js.map +1 -1
  76. package/dist/tools/tool.d.ts +1 -9
  77. package/dist/tools/tool.js.map +1 -1
  78. package/package.json +1 -1
  79. package/scripts/build-standalone.mjs +139 -139
  80. package/dist/model/deepseek-adapter.d.ts +0 -29
  81. package/dist/model/deepseek-adapter.js +0 -108
  82. package/dist/model/deepseek-adapter.js.map +0 -1
  83. package/dist/model/kimi-adapter.d.ts +0 -29
  84. package/dist/model/kimi-adapter.js +0 -108
  85. package/dist/model/kimi-adapter.js.map +0 -1
  86. package/dist/model/smoke-deepseek-mapper.d.ts +0 -1
  87. package/dist/model/smoke-deepseek-mapper.js +0 -65
  88. package/dist/model/smoke-deepseek-mapper.js.map +0 -1
  89. package/dist/open-directory.d.ts +0 -1
  90. package/dist/open-directory.js +0 -26
  91. package/dist/open-directory.js.map +0 -1
  92. package/dist/paths.d.ts +0 -7
  93. package/dist/paths.js +0 -12
  94. package/dist/paths.js.map +0 -1
  95. package/dist/session/session-export.d.ts +0 -33
  96. package/dist/session/session-export.js +0 -351
  97. package/dist/session/session-export.js.map +0 -1
  98. package/dist/session/simple-session-runtime.d.ts +0 -74
  99. package/dist/session/simple-session-runtime.js +0 -171
  100. package/dist/session/simple-session-runtime.js.map +0 -1
  101. package/dist/skills/skill-filesystem.d.ts +0 -32
  102. package/dist/skills/skill-filesystem.js +0 -371
  103. package/dist/skills/skill-filesystem.js.map +0 -1
  104. package/dist/skills/skill-management-tools.d.ts +0 -36
  105. package/dist/skills/skill-management-tools.js +0 -188
  106. package/dist/skills/skill-management-tools.js.map +0 -1
  107. package/dist/tips.d.ts +0 -10
  108. package/dist/tips.js +0 -168
  109. package/dist/tips.js.map +0 -1
  110. package/dist/tools/builtins/image-generation-tool.d.ts +0 -68
  111. package/dist/tools/builtins/image-generation-tool.js +0 -315
  112. package/dist/tools/builtins/image-generation-tool.js.map +0 -1
  113. package/dist/ui/display-message.d.ts +0 -101
  114. package/dist/ui/display-message.js +0 -113
  115. package/dist/ui/display-message.js.map +0 -1
  116. package/dist/web/html.d.ts +0 -1
  117. package/dist/web/html.js +0 -858
  118. package/dist/web/html.js.map +0 -1
  119. package/dist/web/index.d.ts +0 -2
  120. package/dist/web/index.js +0 -1810
  121. package/dist/web/index.js.map +0 -1
@@ -1,16 +1,16 @@
1
1
  import { createTextMessage } from "../types/messages.js";
2
- export function createSkillTool(catalog, options = {}) {
2
+ export function createSkillTool(catalog) {
3
3
  return {
4
4
  name: "skill",
5
5
  aliases: ["Skill"],
6
- description: options.description ?? buildSkillToolDescription(options),
6
+ description: "Load a reusable prompt workflow. Inline skills inject prompt messages into the next model turn; fork skills are recognized but require AgentTool integration.",
7
7
  inputSchema: {
8
8
  type: "object",
9
9
  properties: {
10
- skill: { type: "string", description: "Skill name to invoke." },
11
- name: { type: "string", description: "Alias for skill." },
12
- args: { type: "string", description: "Human-readable arguments for the skill." },
13
- input: { description: "Structured arguments for the skill." },
10
+ skill: { type: "string" },
11
+ name: { type: "string" },
12
+ args: { type: "string" },
13
+ input: {},
14
14
  },
15
15
  additionalProperties: false,
16
16
  },
@@ -25,8 +25,6 @@ export function createSkillTool(catalog, options = {}) {
25
25
  const skill = await catalog.get(name);
26
26
  if (!skill)
27
27
  return { ok: false, message: `Unknown skill: ${name}` };
28
- if (skill.enabled === false)
29
- return { ok: false, message: `Skill ${name} is disabled` };
30
28
  if (skill.disableModelInvocation)
31
29
  return { ok: false, message: `Skill ${name} cannot be invoked by the model` };
32
30
  return { ok: true, value: { ...input, skill: name } };
@@ -36,8 +34,6 @@ export function createSkillTool(catalog, options = {}) {
36
34
  const skill = name ? await catalog.get(name) : undefined;
37
35
  if (!name || !skill)
38
36
  return { ok: false, output: { error: `Unknown skill: ${name ?? "<empty>"}` } };
39
- if (skill.enabled === false)
40
- return { ok: false, output: { error: `Skill ${name} is disabled` } };
41
37
  if (skill.execution === "fork") {
42
38
  return {
43
39
  ok: false,
@@ -45,12 +41,16 @@ export function createSkillTool(catalog, options = {}) {
45
41
  status: "fork_required",
46
42
  skill: name,
47
43
  message: "Forked skill execution requires launching AgentTool with the skill prompt in this scaffold.",
48
- descriptor: summarizeSkill(skill),
49
44
  },
50
45
  };
51
46
  }
52
47
  const args = renderSkillArgs(input.args ?? input.input);
53
- const prompt = renderSkillPrompt(skill, args);
48
+ const prompt = [
49
+ `<skill name="${escapeXml(name)}">`,
50
+ skill.entrypoint,
51
+ args ? `\n<skill-args>\n${args}\n</skill-args>` : "",
52
+ `</skill>`,
53
+ ].join("\n");
54
54
  return {
55
55
  ok: true,
56
56
  output: {
@@ -59,7 +59,6 @@ export function createSkillTool(catalog, options = {}) {
59
59
  allowed_tools: skill.allowedTools ?? [],
60
60
  model: skill.model,
61
61
  effort: skill.effort,
62
- descriptor: summarizeSkill(skill),
63
62
  },
64
63
  newMessages: [
65
64
  {
@@ -74,13 +73,6 @@ export function createSkillTool(catalog, options = {}) {
74
73
  ...context.options,
75
74
  mainLoopModel: skill.model ?? context.options?.mainLoopModel,
76
75
  thinkingConfig: skill.effort ? { effort: skill.effort } : context.options?.thinkingConfig,
77
- activeSkill: {
78
- name,
79
- allowedTools: [...(skill.allowedTools ?? [])],
80
- model: skill.model,
81
- effort: skill.effort,
82
- source: skill.source,
83
- },
84
76
  },
85
77
  }),
86
78
  };
@@ -91,7 +83,7 @@ export class InMemorySkillCatalog {
91
83
  skills = new Map();
92
84
  constructor(skills = []) {
93
85
  for (const skill of skills)
94
- this.skills.set(requireSkillName(skill.name), normalizeSkillDescriptor(skill, { requireEntrypoint: true }));
86
+ this.skills.set(skill.name, skill);
95
87
  }
96
88
  async list() {
97
89
  return [...this.skills.values()].sort((left, right) => left.name.localeCompare(right.name));
@@ -99,162 +91,11 @@ export class InMemorySkillCatalog {
99
91
  async get(name) {
100
92
  return this.skills.get(normalizeSkillName(name) ?? name);
101
93
  }
102
- async create(skill, options = {}) {
103
- const normalized = normalizeSkillDescriptor(skill, { requireEntrypoint: true });
104
- if (!options.overwrite && this.skills.has(normalized.name))
105
- throw new Error(`Skill already exists: ${normalized.name}`);
106
- const now = new Date().toISOString();
107
- const stored = {
108
- ...normalized,
109
- source: normalized.source ?? { kind: "memory" },
110
- createdAt: normalized.createdAt ?? now,
111
- updatedAt: now,
112
- };
113
- this.skills.set(stored.name, stored);
114
- return stored;
115
- }
116
- async update(name, patch) {
117
- const normalizedName = requireSkillName(name);
118
- const current = this.skills.get(normalizedName);
119
- if (!current)
120
- throw new Error(`Unknown skill: ${normalizedName}`);
121
- const updated = normalizeSkillDescriptor({ ...current, ...patch, name: normalizedName }, { requireEntrypoint: true });
122
- const stored = { ...updated, createdAt: current.createdAt, source: current.source, updatedAt: new Date().toISOString() };
123
- this.skills.set(normalizedName, stored);
124
- return stored;
125
- }
126
- async delete(name) {
127
- return this.skills.delete(requireSkillName(name));
128
- }
129
- }
130
- export function validateSkillDescriptor(input, options = {}) {
131
- const issues = [];
132
- if (!input || typeof input !== "object" || Array.isArray(input)) {
133
- return { ok: false, issues: [{ path: "skill", message: "Skill descriptor must be an object" }] };
134
- }
135
- const value = input;
136
- const name = normalizeSkillName(value.name);
137
- if (!name)
138
- issues.push({ path: "name", message: "Skill name is required" });
139
- else if (!isValidSkillName(name))
140
- issues.push({ path: "name", message: "Skill name may contain letters, numbers, dot, underscore, or dash only" });
141
- if (!value.description?.trim())
142
- issues.push({ path: "description", message: "Skill description is required" });
143
- if (options.requireEntrypoint !== false && !value.entrypoint?.trim())
144
- issues.push({ path: "entrypoint", message: "Skill entrypoint is required" });
145
- if (value.execution && value.execution !== "inline" && value.execution !== "fork")
146
- issues.push({ path: "execution", message: "Skill execution must be inline or fork" });
147
- if (value.effort && !["minimal", "low", "medium", "high"].includes(value.effort))
148
- issues.push({ path: "effort", message: "Skill effort is invalid" });
149
- if (value.enabled === false && !options.allowDisabled)
150
- issues.push({ path: "enabled", message: "Skill is disabled" });
151
- if (value.allowedTools && !Array.isArray(value.allowedTools))
152
- issues.push({ path: "allowedTools", message: "allowedTools must be an array" });
153
- if (value.tags && !Array.isArray(value.tags))
154
- issues.push({ path: "tags", message: "tags must be an array" });
155
- if (issues.length)
156
- return { ok: false, issues };
157
- return { ok: true, value: normalizeSkillDescriptor(value, options), issues: [] };
158
94
  }
159
- export function normalizeSkillDescriptor(skill, options = {}) {
160
- const validation = validateSkillDescriptorShallow(skill, options);
161
- if (validation.length)
162
- throw new Error(validation.map((issue) => `${issue.path}: ${issue.message}`).join("; "));
163
- return {
164
- ...skill,
165
- name: requireSkillName(skill.name),
166
- description: skill.description.trim(),
167
- entrypoint: (skill.entrypoint ?? "").trim(),
168
- execution: skill.execution ?? "inline",
169
- allowedTools: normalizeStringList(skill.allowedTools),
170
- tags: normalizeStringList(skill.tags),
171
- enabled: skill.enabled ?? true,
172
- };
173
- }
174
- export function normalizeSkillName(value) {
95
+ function normalizeSkillName(value) {
175
96
  const normalized = value?.trim().replace(/^\/+/, "");
176
97
  return normalized || undefined;
177
98
  }
178
- export function isValidSkillName(name) {
179
- return /^[A-Za-z0-9][A-Za-z0-9._-]{0,127}$/.test(name) && !name.includes("..") && !/[\\/]/.test(name);
180
- }
181
- export function requireSkillName(value) {
182
- const name = normalizeSkillName(value);
183
- if (!name || !isValidSkillName(name))
184
- throw new Error(`Invalid skill name: ${value ?? "<empty>"}`);
185
- return name;
186
- }
187
- export function renderSkillPrompt(skill, args = "") {
188
- return [
189
- `<skill name="${escapeXml(skill.name)}">`,
190
- skill.entrypoint,
191
- args ? `\n<skill-args>\n${args}\n</skill-args>` : "",
192
- `</skill>`,
193
- ].join("\n");
194
- }
195
- export function summarizeSkill(skill) {
196
- return {
197
- name: skill.name,
198
- title: skill.title,
199
- description: skill.description,
200
- version: skill.version,
201
- execution: skill.execution,
202
- tags: skill.tags,
203
- allowedTools: skill.allowedTools,
204
- model: skill.model,
205
- effort: skill.effort,
206
- enabled: skill.enabled !== false,
207
- trustLevel: skill.trustLevel,
208
- source: skill.source,
209
- };
210
- }
211
- export function createSkillAwareCanUseTool(catalog, delegate, options = {}) {
212
- return async (toolUse, context) => {
213
- const delegated = delegate ? await delegate(toolUse, context) : { allowed: true };
214
- const delegatedAllowed = typeof delegated === "boolean" ? delegated : delegated.allowed;
215
- if (!delegatedAllowed)
216
- return delegated;
217
- const activeSkill = context.options?.activeSkill;
218
- if (!activeSkill || options.enforceAllowedTools === false)
219
- return delegated;
220
- const descriptor = await catalog.get(activeSkill.name);
221
- const allowedTools = descriptor?.allowedTools ?? activeSkill.allowedTools;
222
- if (!allowedTools?.length || allowedTools.includes("*"))
223
- return delegated;
224
- const tool = context.tools.get(toolUse.name) ?? context.tools.getByAlias?.(toolUse.name);
225
- const canonicalName = tool?.name ?? toolUse.name;
226
- if (canonicalName === "skill" || allowedTools.includes(canonicalName) || allowedTools.includes(toolUse.name))
227
- return delegated;
228
- return { allowed: false, reason: `Tool ${canonicalName} is not allowed while skill ${activeSkill.name} is active` };
229
- };
230
- }
231
- function buildSkillToolDescription(options) {
232
- const hint = options.exposeCatalogHint === false ? "" : " Use skill_list to discover available skills and skill_read to inspect details.";
233
- return `Load a reusable prompt workflow. Inline skills inject prompt messages into the next model turn; fork skills request child-agent execution.${hint}`;
234
- }
235
- function validateSkillDescriptorShallow(skill, options) {
236
- const issues = [];
237
- const name = normalizeSkillName(skill.name);
238
- if (!name)
239
- issues.push({ path: "name", message: "Skill name is required" });
240
- else if (!isValidSkillName(name))
241
- issues.push({ path: "name", message: "Skill name may contain letters, numbers, dot, underscore, or dash only" });
242
- if (!skill.description?.trim())
243
- issues.push({ path: "description", message: "Skill description is required" });
244
- if (options.requireEntrypoint !== false && !skill.entrypoint?.trim())
245
- issues.push({ path: "entrypoint", message: "Skill entrypoint is required" });
246
- if (skill.execution && skill.execution !== "inline" && skill.execution !== "fork")
247
- issues.push({ path: "execution", message: "Skill execution must be inline or fork" });
248
- if (skill.effort && !["minimal", "low", "medium", "high"].includes(skill.effort))
249
- issues.push({ path: "effort", message: "Skill effort is invalid" });
250
- return issues;
251
- }
252
- function normalizeStringList(values) {
253
- if (!values)
254
- return undefined;
255
- const normalized = [...new Set(values.map((value) => value.trim()).filter(Boolean))];
256
- return normalized.length ? normalized : undefined;
257
- }
258
99
  function renderSkillArgs(value) {
259
100
  if (value === undefined || value === null)
260
101
  return "";
@@ -1 +1 @@
1
- {"version":3,"file":"skill-tool.js","sourceRoot":"","sources":["../../src/skills/skill-tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-tool.js","sourceRoot":"","sources":["../../src/skills/skill-tool.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,7 @@
1
- import fs from "node:fs/promises";
2
- import os from "node:os";
3
- import path from "node:path";
4
1
  import { InMemoryAppState } from "../app/app-state.js";
5
2
  import { ToolRegistry } from "../tools/registry.js";
6
3
  import { runToolUse } from "../tools/run-tool-use.js";
7
- import { FileSystemSkillCatalog, parseSkillMarkdown } from "./skill-filesystem.js";
8
- import { createSkillCreateTool, createSkillListTool, createSkillReadTool, createSkillValidateTool } from "./skill-management-tools.js";
9
- import { createSkillAwareCanUseTool, createSkillTool, InMemorySkillCatalog } from "./skill-tool.js";
4
+ import { createSkillTool, InMemorySkillCatalog } from "./skill-tool.js";
10
5
  async function main() {
11
6
  const catalog = new InMemorySkillCatalog([
12
7
  {
@@ -14,7 +9,7 @@ async function main() {
14
9
  description: "Review a plan before implementation.",
15
10
  entrypoint: "Review the supplied plan for correctness and missing validation.",
16
11
  execution: "inline",
17
- allowedTools: ["plan"],
12
+ allowedTools: ["echo"],
18
13
  model: "gpt-5.5",
19
14
  effort: "high",
20
15
  },
@@ -27,9 +22,6 @@ async function main() {
27
22
  ]);
28
23
  const tools = new ToolRegistry();
29
24
  tools.register(createSkillTool(catalog));
30
- tools.register(createSkillListTool(catalog));
31
- tools.register(createSkillReadTool(catalog));
32
- tools.register(createSkillValidateTool());
33
25
  const context = {
34
26
  agentId: "main",
35
27
  tools,
@@ -51,54 +43,13 @@ async function main() {
51
43
  name: "skill",
52
44
  input: { skill: "missing" },
53
45
  }, context);
54
- const listed = await runToolUse({ id: "skill_list", name: "skill_list", input: {} }, context);
55
- const read = await runToolUse({ id: "skill_read", name: "skill_read", input: { name: "review-plan", includeEntrypoint: true } }, context);
56
- const root = await fs.mkdtemp(path.join(os.tmpdir(), "neo-skills-"));
57
- await fs.mkdir(path.join(root, "summarize"), { recursive: true });
58
- await fs.writeFile(path.join(root, "summarize", "SKILL.md"), `---\nname: summarize\ndescription: Summarize text\nallowed-tools:\n - read\ntags:\n - writing\n---\n\nSummarize the provided text into crisp bullets.\n`, "utf8");
59
- const fsCatalog = new FileSystemSkillCatalog([root]);
60
- const parsed = parseSkillMarkdown(`---\ndescription: Demo\n---\n\nDo demo work.\n`, "demo");
61
- const fsSkill = await fsCatalog.get("summarize");
62
- const createTool = createSkillCreateTool(fsCatalog, { requireApproval: false });
63
- const fsTools = new ToolRegistry();
64
- fsTools.register(createTool);
65
- const fsContext = { agentId: "main", tools: fsTools, appState: new InMemoryAppState("main"), emit: () => undefined };
66
- const created = await runToolUse({
67
- id: "skill_create",
68
- name: "skill_create",
69
- input: {
70
- skill: {
71
- name: "generated-review",
72
- description: "Generated review workflow",
73
- entrypoint: "Review generated output and list risks.",
74
- execution: "inline",
75
- allowedTools: ["read"],
76
- },
77
- },
78
- }, fsContext);
79
- const createdSkill = await fsCatalog.get("generated-review");
80
- const guard = createSkillAwareCanUseTool(catalog);
81
- const allowedDecision = await guard({ id: "allowed", name: "plan", input: {} }, {
82
- ...context,
83
- options: { activeSkill: { name: "review-plan", allowedTools: ["plan"] } },
84
- });
85
- const deniedDecision = await guard({ id: "denied", name: "exec", input: {} }, {
86
- ...context,
87
- options: { activeSkill: { name: "review-plan", allowedTools: ["plan"] } },
88
- });
89
46
  const inlineResult = inline.find((update) => update.message.blocks.some((block) => block.type === "tool_result"));
90
47
  const injected = inline.some((update) => update.message.metadata?.skill === "review-plan");
91
- const contextUpdated = inline.some((update) => update.context?.options?.mainLoopModel === "gpt-5.5" && update.context.options.activeSkill?.name === "review-plan");
48
+ const contextUpdated = inline.some((update) => update.context?.options?.mainLoopModel === "gpt-5.5");
92
49
  const forkRejected = fork.some((update) => update.message.blocks.some((block) => block.type === "tool_result" && !block.ok));
93
50
  const missingRejected = missing.some((update) => update.message.blocks.some((block) => block.type === "tool_result" && !block.ok));
94
- const listWorked = listed.some((update) => update.message.blocks.some((block) => block.type === "tool_result" && block.ok));
95
- const readWorked = read.some((update) => update.message.blocks.some((block) => block.type === "tool_result" && block.ok));
96
- const filesystemWorked = fsSkill?.name === "summarize" && parsed.name === "demo";
97
- const createWorked = createdSkill?.name === "generated-review" && created.some((update) => update.message.metadata?.skillManagement === "created");
98
- const guardWorked = (typeof allowedDecision === "boolean" ? allowedDecision : allowedDecision.allowed) === true &&
99
- typeof deniedDecision !== "boolean" && deniedDecision.allowed === false;
100
- const ok = Boolean(inlineResult && injected && contextUpdated && forkRejected && missingRejected && listWorked && readWorked && filesystemWorked && createWorked && guardWorked);
101
- console.log(JSON.stringify({ ok, injected, contextUpdated, forkRejected, missingRejected, listWorked, readWorked, filesystemWorked, createWorked, guardWorked }, null, 2));
51
+ const ok = Boolean(inlineResult && injected && contextUpdated && forkRejected && missingRejected);
52
+ console.log(JSON.stringify({ ok, injected, contextUpdated, forkRejected, missingRejected }, null, 2));
102
53
  if (!ok)
103
54
  process.exitCode = 1;
104
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"smoke-skills.js","sourceRoot":"","sources":["../../src/skills/smoke-skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smoke-skills.js","sourceRoot":"","sources":["../../src/skills/smoke-skills.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export type SearchProviderName = "exa" | "openai" | "gpt" | (string & {});
1
+ export type SearchProviderName = "exa" | (string & {});
2
2
  export interface SearchToolInput {
3
3
  query: string;
4
4
  numResults: number;
@@ -30,28 +30,15 @@ export interface SearchProvider {
30
30
  export interface SearchProviderConfig {
31
31
  provider?: string;
32
32
  exa?: ExaSearchProviderConfig;
33
- openai?: OpenAISearchProviderConfig;
34
33
  }
35
34
  export interface ExaSearchProviderConfig {
36
35
  mcpUrl?: string;
37
36
  toolName?: string;
38
37
  timeoutMs?: number;
39
38
  }
40
- export interface OpenAISearchProviderConfig {
41
- apiKey?: string;
42
- baseUrl?: string;
43
- model?: string;
44
- timeoutMs?: number;
45
- toolType?: string;
46
- searchContextSize?: "low" | "medium" | "high";
47
- maxOutputTokens?: number;
48
- }
49
39
  export declare const DEFAULT_SEARCH_PROVIDER = "exa";
50
40
  export declare const DEFAULT_EXA_MCP_URL = "https://mcp.exa.ai/mcp";
51
41
  export declare const DEFAULT_EXA_MCP_TOOL_NAME = "web_search_exa";
52
- export declare const DEFAULT_OPENAI_SEARCH_MODEL = "gpt-4.1-mini";
53
- export declare const DEFAULT_OPENAI_BASE_URL = "https://api.openai.com";
54
- export declare const DEFAULT_OPENAI_WEB_SEARCH_TOOL_TYPE = "web_search_preview";
55
42
  export declare const DEFAULT_SEARCH_TIMEOUT_MS = 30000;
56
43
  export declare class SearchProviderError extends Error {
57
44
  readonly provider: string;
@@ -60,4 +47,3 @@ export declare class SearchProviderError extends Error {
60
47
  }
61
48
  export declare function createSearchProvider(config?: SearchProviderConfig, env?: NodeJS.ProcessEnv): SearchProvider;
62
49
  export declare function createExaSearchProvider(config?: ExaSearchProviderConfig): SearchProvider;
63
- export declare function createOpenAISearchProvider(config?: OpenAISearchProviderConfig): SearchProvider;