neoctl 0.1.19 → 0.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agents/local-agent-task.js +2 -1
- package/dist/agents/local-agent-task.js.map +1 -1
- package/dist/agents/smoke-agents.js +21 -4
- package/dist/agents/smoke-agents.js.map +1 -1
- package/dist/context/prompts.js +4 -0
- package/dist/context/prompts.js.map +1 -1
- package/dist/core/image-storage.d.ts +6 -0
- package/dist/core/image-storage.js +38 -0
- package/dist/core/image-storage.js.map +1 -0
- package/dist/core/query-engine.d.ts +21 -1
- package/dist/core/query-engine.js +103 -13
- package/dist/core/query-engine.js.map +1 -1
- package/dist/core/query.d.ts +2 -1
- package/dist/core/query.js +60 -5
- package/dist/core/query.js.map +1 -1
- package/dist/core/smoke-core-loop.js +95 -6
- package/dist/core/smoke-core-loop.js.map +1 -1
- package/dist/index.d.ts +26 -1
- package/dist/index.js +26 -1
- package/dist/index.js.map +1 -1
- package/dist/model/communication-logger.d.ts +2 -1
- package/dist/model/communication-logger.js +3 -0
- package/dist/model/communication-logger.js.map +1 -1
- package/dist/model/config.d.ts +10 -4
- package/dist/model/config.js +61 -12
- package/dist/model/config.js.map +1 -1
- package/dist/model/context-window.js +1 -0
- package/dist/model/context-window.js.map +1 -1
- package/dist/model/deepseek-adapter.d.ts +29 -0
- package/dist/model/deepseek-adapter.js +108 -0
- package/dist/model/deepseek-adapter.js.map +1 -0
- package/dist/model/env.js +35 -19
- package/dist/model/env.js.map +1 -1
- package/dist/model/kimi-adapter.d.ts +29 -0
- package/dist/model/kimi-adapter.js +108 -0
- package/dist/model/kimi-adapter.js.map +1 -0
- package/dist/model/model-metadata.json +726 -677
- package/dist/model/openai-adapter.d.ts +1 -1
- package/dist/model/openai-chat-mapper.d.ts +4 -1
- package/dist/model/openai-chat-mapper.js +30 -8
- package/dist/model/openai-chat-mapper.js.map +1 -1
- package/dist/model/openai-mappers.d.ts +5 -2
- package/dist/model/openai-mappers.js +33 -6
- package/dist/model/openai-mappers.js.map +1 -1
- package/dist/model/openai-responses-mapper.d.ts +1 -1
- package/dist/model/openai-responses-mapper.js +2 -1
- package/dist/model/openai-responses-mapper.js.map +1 -1
- package/dist/model/provider-factory.js +32 -0
- package/dist/model/provider-factory.js.map +1 -1
- package/dist/model/smoke-deepseek-mapper.d.ts +1 -0
- package/dist/model/smoke-deepseek-mapper.js +65 -0
- package/dist/model/smoke-deepseek-mapper.js.map +1 -0
- package/dist/model/smoke-openai.js +1 -1
- package/dist/model/smoke-openai.js.map +1 -1
- package/dist/model/smoke-responses-mapper.js +6 -6
- package/dist/model/smoke-responses-mapper.js.map +1 -1
- package/dist/open-directory.d.ts +1 -0
- package/dist/open-directory.js +26 -0
- package/dist/open-directory.js.map +1 -0
- package/dist/paths.d.ts +7 -0
- package/dist/paths.js +12 -0
- package/dist/paths.js.map +1 -0
- package/dist/repl/commands.d.ts +15 -0
- package/dist/repl/commands.js +58 -0
- package/dist/repl/commands.js.map +1 -1
- package/dist/repl/index.js +1012 -171
- package/dist/repl/index.js.map +1 -1
- package/dist/session/session-export.d.ts +33 -0
- package/dist/session/session-export.js +351 -0
- package/dist/session/session-export.js.map +1 -0
- package/dist/session/session-store.js +2 -2
- package/dist/session/session-store.js.map +1 -1
- package/dist/session/simple-session-runtime.d.ts +74 -0
- package/dist/session/simple-session-runtime.js +171 -0
- package/dist/session/simple-session-runtime.js.map +1 -0
- package/dist/session/smoke-session.js +22 -1
- package/dist/session/smoke-session.js.map +1 -1
- package/dist/skills/skill-filesystem.d.ts +32 -0
- package/dist/skills/skill-filesystem.js +371 -0
- package/dist/skills/skill-filesystem.js.map +1 -0
- package/dist/skills/skill-management-tools.d.ts +36 -0
- package/dist/skills/skill-management-tools.js +188 -0
- package/dist/skills/skill-management-tools.js.map +1 -0
- package/dist/skills/skill-tool.d.ts +85 -5
- package/dist/skills/skill-tool.js +173 -14
- package/dist/skills/skill-tool.js.map +1 -1
- package/dist/skills/smoke-skills.js +54 -5
- package/dist/skills/smoke-skills.js.map +1 -1
- package/dist/tips.d.ts +10 -0
- package/dist/tips.js +168 -0
- package/dist/tips.js.map +1 -0
- package/dist/tools/builtins/image-generation-tool.d.ts +96 -0
- package/dist/tools/builtins/image-generation-tool.js +471 -0
- package/dist/tools/builtins/image-generation-tool.js.map +1 -0
- package/dist/tools/builtins/search-providers.d.ts +15 -1
- package/dist/tools/builtins/search-providers.js +195 -1
- package/dist/tools/builtins/search-providers.js.map +1 -1
- package/dist/tools/builtins/search-tool.js +2 -2
- package/dist/tools/builtins/search-tool.js.map +1 -1
- package/dist/tools/registry.d.ts +1 -0
- package/dist/tools/registry.js +11 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run-tool-use.js +1 -1
- package/dist/tools/run-tool-use.js.map +1 -1
- package/dist/tools/smoke-tool-system.js +43 -9
- package/dist/tools/smoke-tool-system.js.map +1 -1
- package/dist/tools/tool.d.ts +9 -1
- package/dist/tools/tool.js.map +1 -1
- package/dist/types/messages.d.ts +5 -0
- package/dist/types/messages.js.map +1 -1
- package/dist/ui/display-message.d.ts +103 -0
- package/dist/ui/display-message.js +115 -0
- package/dist/ui/display-message.js.map +1 -0
- package/dist/web/html.d.ts +1 -0
- package/dist/web/html.js +862 -0
- package/dist/web/html.js.map +1 -0
- package/dist/web/index.d.ts +241 -0
- package/dist/web/index.js +1873 -0
- package/dist/web/index.js.map +1 -0
- package/package.json +1 -1
|
@@ -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,7 +1,12 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import os from "node:os";
|
|
3
|
+
import path from "node:path";
|
|
1
4
|
import { InMemoryAppState } from "../app/app-state.js";
|
|
2
5
|
import { ToolRegistry } from "../tools/registry.js";
|
|
3
6
|
import { runToolUse } from "../tools/run-tool-use.js";
|
|
4
|
-
import {
|
|
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";
|
|
5
10
|
async function main() {
|
|
6
11
|
const catalog = new InMemorySkillCatalog([
|
|
7
12
|
{
|
|
@@ -9,7 +14,7 @@ async function main() {
|
|
|
9
14
|
description: "Review a plan before implementation.",
|
|
10
15
|
entrypoint: "Review the supplied plan for correctness and missing validation.",
|
|
11
16
|
execution: "inline",
|
|
12
|
-
allowedTools: ["
|
|
17
|
+
allowedTools: ["plan"],
|
|
13
18
|
model: "gpt-5.5",
|
|
14
19
|
effort: "high",
|
|
15
20
|
},
|
|
@@ -22,6 +27,9 @@ async function main() {
|
|
|
22
27
|
]);
|
|
23
28
|
const tools = new ToolRegistry();
|
|
24
29
|
tools.register(createSkillTool(catalog));
|
|
30
|
+
tools.register(createSkillListTool(catalog));
|
|
31
|
+
tools.register(createSkillReadTool(catalog));
|
|
32
|
+
tools.register(createSkillValidateTool());
|
|
25
33
|
const context = {
|
|
26
34
|
agentId: "main",
|
|
27
35
|
tools,
|
|
@@ -43,13 +51,54 @@ async function main() {
|
|
|
43
51
|
name: "skill",
|
|
44
52
|
input: { skill: "missing" },
|
|
45
53
|
}, 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
|
+
});
|
|
46
89
|
const inlineResult = inline.find((update) => update.message.blocks.some((block) => block.type === "tool_result"));
|
|
47
90
|
const injected = inline.some((update) => update.message.metadata?.skill === "review-plan");
|
|
48
|
-
const contextUpdated = inline.some((update) => update.context?.options?.mainLoopModel === "gpt-5.5");
|
|
91
|
+
const contextUpdated = inline.some((update) => update.context?.options?.mainLoopModel === "gpt-5.5" && update.context.options.activeSkill?.name === "review-plan");
|
|
49
92
|
const forkRejected = fork.some((update) => update.message.blocks.some((block) => block.type === "tool_result" && !block.ok));
|
|
50
93
|
const missingRejected = missing.some((update) => update.message.blocks.some((block) => block.type === "tool_result" && !block.ok));
|
|
51
|
-
const
|
|
52
|
-
|
|
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));
|
|
53
102
|
if (!ok)
|
|
54
103
|
process.exitCode = 1;
|
|
55
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smoke-skills.js","sourceRoot":"","sources":["../../src/skills/smoke-skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"smoke-skills.js","sourceRoot":"","sources":["../../src/skills/smoke-skills.ts"],"names":[],"mappings":"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"}
|
package/dist/tips.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface AppTip {
|
|
2
|
+
id: string;
|
|
3
|
+
title: string;
|
|
4
|
+
placeholder: string;
|
|
5
|
+
detail: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const appTips: AppTip[];
|
|
8
|
+
export declare function tipAt(index: number): AppTip;
|
|
9
|
+
export declare function initialTipIndex(seed: string): number;
|
|
10
|
+
export declare function formatTipLine(tip: AppTip): string;
|
package/dist/tips.js
ADDED
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
export const appTips = [
|
|
2
|
+
{
|
|
3
|
+
id: "ask-directly",
|
|
4
|
+
title: "Describe the goal directly",
|
|
5
|
+
placeholder: "Tip: Type the task you want done, e.g. “summarize this project structure”",
|
|
6
|
+
detail: "You can describe goals, constraints, and expected output in plain language. More specific requests usually produce better results.",
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
id: "slash-help",
|
|
10
|
+
title: "View commands",
|
|
11
|
+
placeholder: "Tip: Type /help to see available commands",
|
|
12
|
+
detail: "Use /help to list built-in commands and their usage.",
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
id: "slash-completion",
|
|
16
|
+
title: "Complete slash commands",
|
|
17
|
+
placeholder: "Tip: Type /, use ↑/↓ to select, and Tab to complete",
|
|
18
|
+
detail: "Slash commands show completions as you type. Use arrow keys to select, Tab to complete, and Enter to run.",
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: "history",
|
|
22
|
+
title: "Reuse previous input",
|
|
23
|
+
placeholder: "Tip: Press ↑ on an empty prompt to recall previous input",
|
|
24
|
+
detail: "Use ↑/↓ to browse input history so you can quickly retry or edit earlier prompts.",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
id: "interrupt",
|
|
28
|
+
title: "Interrupt or exit",
|
|
29
|
+
placeholder: "Tip: Ctrl+C clears input or interrupts work; press again on empty input to exit",
|
|
30
|
+
detail: "Ctrl+C clears non-empty input, requests interruption while work is running, and exits after a second press on an empty prompt.",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
id: "interrupt-next",
|
|
34
|
+
title: "Interrupt and send the next message",
|
|
35
|
+
placeholder: "Tip: You can type while the assistant is busy; Enter interrupts it and sends the next message",
|
|
36
|
+
detail: "When foreground work is running, submit another prompt to stop the current model/tool run and start the new prompt immediately. Background tasks and detached sessions keep running.",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: "paste",
|
|
40
|
+
title: "Paste content",
|
|
41
|
+
placeholder: "Tip: Paste text directly; long text may be folded into an attachment reference",
|
|
42
|
+
detail: "Short pasted text is inserted directly. Longer pasted text can be folded into a [text_...] reference and sent with your message.",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "image-paste",
|
|
46
|
+
title: "Paste images",
|
|
47
|
+
placeholder: "Tip: With vision-capable models, paste screenshots and reference them as [img#1]",
|
|
48
|
+
detail: "If the current model supports image input, you can paste images or screenshots from the clipboard and submit them with your prompt.",
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
id: "sessions",
|
|
52
|
+
title: "Resume sessions",
|
|
53
|
+
placeholder: "Tip: Type /sessions to browse and resume saved sessions",
|
|
54
|
+
detail: "Use /sessions to open saved sessions and continue working with previous context.",
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
id: "model",
|
|
58
|
+
title: "Switch models",
|
|
59
|
+
placeholder: "Tip: Type /model to view or switch model and reasoning effort",
|
|
60
|
+
detail: "Use /model to inspect the current model, or pass a model id and reasoning effort such as /model gpt-5 high.",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
id: "compact",
|
|
64
|
+
title: "Compact long context",
|
|
65
|
+
placeholder: "Tip: Use /compact in long sessions to compress earlier context",
|
|
66
|
+
detail: "Manual compaction preserves important context while reducing pressure on the model context window.",
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: "pure",
|
|
70
|
+
title: "Clean up after blocks",
|
|
71
|
+
placeholder: "Tip: If an upstream WAF or risk block occurs, try /pure to sanitize context",
|
|
72
|
+
detail: "/pure performs a more conservative context cleanup that can help recover after upstream safety or WAF blocks.",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
id: "export",
|
|
76
|
+
title: "Export a transcript",
|
|
77
|
+
placeholder: "Tip: Type /export <absolute-path.md> to export the current transcript",
|
|
78
|
+
detail: "Use /export to save the current session as Markdown for review, sharing, or archiving.",
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
id: "cost",
|
|
82
|
+
title: "Check usage",
|
|
83
|
+
placeholder: "Tip: Type /cost to show token usage for this REPL session",
|
|
84
|
+
detail: "/cost displays accumulated request and token usage for the current session.",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
id: "state",
|
|
88
|
+
title: "Inspect runtime state",
|
|
89
|
+
placeholder: "Tip: Type /state to inspect engine state for troubleshooting",
|
|
90
|
+
detail: "/state shows query engine state and is useful when debugging configuration, context, or runtime behavior.",
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
id: "login",
|
|
94
|
+
title: "Configure providers",
|
|
95
|
+
placeholder: "Tip: Type /login to configure and save a model provider",
|
|
96
|
+
detail: "Use /login when setting up the app for the first time or switching provider credentials.",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
id: "logs",
|
|
100
|
+
title: "Enable communication logs",
|
|
101
|
+
placeholder: "Tip: Use /log <directory> to capture model communication logs",
|
|
102
|
+
detail: "Use /log with an absolute directory to write model communication logs; use /log off to disable them.",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
id: "plan",
|
|
106
|
+
title: "Ask for a plan",
|
|
107
|
+
placeholder: "Tip: For complex work, ask the assistant to plan first and verify each step",
|
|
108
|
+
detail: "For multi-step engineering tasks, ask for a short plan, incremental edits, and concrete validation at the end.",
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
id: "constraints",
|
|
112
|
+
title: "State constraints",
|
|
113
|
+
placeholder: "Tip: Add constraints like “do not change public APIs” or “only edit src/web”",
|
|
114
|
+
detail: "Mention scope, style, compatibility, and things to avoid up front to reduce rework.",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
id: "validation",
|
|
118
|
+
title: "Request validation",
|
|
119
|
+
placeholder: "Tip: Ask to run npm test, typecheck, or a project-specific command after changes",
|
|
120
|
+
detail: "If you know the right validation command, include it in the request so the assistant can verify the work precisely.",
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
id: "reset",
|
|
124
|
+
title: "Start fresh",
|
|
125
|
+
placeholder: "Tip: Type /reset to clear the current transcript without leaving the REPL",
|
|
126
|
+
detail: "/reset clears the visible conversation and adds a reset marker so you can start a fresh thread in the same session.",
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
id: "focus-files",
|
|
130
|
+
title: "Point to relevant files",
|
|
131
|
+
placeholder: "Tip: Mention exact files or symbols, e.g. “check src/repl/index.ts PromptLine”",
|
|
132
|
+
detail: "Naming files, functions, errors, or commands helps the assistant inspect the right context first and avoid broad searches.",
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
id: "review-diff",
|
|
136
|
+
title: "Review before finishing",
|
|
137
|
+
placeholder: "Tip: Ask to show or summarize the diff before wrapping up a change",
|
|
138
|
+
detail: "For risky edits, ask for a diff summary or specific files changed before running validation and finalizing.",
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
id: "current-docs",
|
|
142
|
+
title: "Use current docs",
|
|
143
|
+
placeholder: "Tip: For fast-moving APIs, ask the assistant to search the web before changing code",
|
|
144
|
+
detail: "When behavior depends on current packages, SDKs, or service docs, request a web search so the answer is not based only on local code.",
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
id: "parallel-investigation",
|
|
148
|
+
title: "Split independent work",
|
|
149
|
+
placeholder: "Tip: For independent checks, ask the assistant to investigate them in parallel",
|
|
150
|
+
detail: "Independent searches, audits, or comparisons can be delegated to subagents so findings come back faster and with clearer scope.",
|
|
151
|
+
},
|
|
152
|
+
];
|
|
153
|
+
export function tipAt(index) {
|
|
154
|
+
return appTips[positiveModulo(index, appTips.length)] ?? appTips[0];
|
|
155
|
+
}
|
|
156
|
+
export function initialTipIndex(seed) {
|
|
157
|
+
let hash = 0;
|
|
158
|
+
for (const char of seed)
|
|
159
|
+
hash = (hash * 31 + char.charCodeAt(0)) | 0;
|
|
160
|
+
return positiveModulo(hash, appTips.length);
|
|
161
|
+
}
|
|
162
|
+
export function formatTipLine(tip) {
|
|
163
|
+
return `Tip: ${tip.title} — ${tip.detail}`;
|
|
164
|
+
}
|
|
165
|
+
function positiveModulo(value, modulo) {
|
|
166
|
+
return ((value % modulo) + modulo) % modulo;
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=tips.js.map
|
package/dist/tips.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tips.js","sourceRoot":"","sources":["../src/tips.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { Tool } from "../tool.js";
|
|
2
|
+
export type ImageGenerationSize = "auto" | "1024x1024" | "1536x1024" | "1024x1536";
|
|
3
|
+
export type ImageGenerationQuality = "auto" | "low" | "medium" | "high";
|
|
4
|
+
export type ImageGenerationFormat = "png" | "jpeg" | "webp";
|
|
5
|
+
export type OpenAIImageGenerationResponseFormat = ImageGenerationFormat | "jpg";
|
|
6
|
+
export type ImageGenerationBackground = "auto" | "transparent" | "opaque";
|
|
7
|
+
export type ImageGenerationModeration = "auto" | "low";
|
|
8
|
+
export type ImageToolMode = "generate" | "edit";
|
|
9
|
+
export interface ImageEditInputImage {
|
|
10
|
+
/** Base64 image bytes, either raw or a data URL. */
|
|
11
|
+
base64?: string;
|
|
12
|
+
/** Alias for base64. */
|
|
13
|
+
data?: string;
|
|
14
|
+
/** Full data:image/...;base64,... URL. */
|
|
15
|
+
dataUrl?: string;
|
|
16
|
+
/** Required when base64/data is raw base64. Inferred from dataUrl when omitted. */
|
|
17
|
+
mimeType?: string;
|
|
18
|
+
/** Optional filename sent to the image edit endpoint. */
|
|
19
|
+
name?: string;
|
|
20
|
+
/** Optional UI/history label for diagnostics. */
|
|
21
|
+
label?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface ImageGenerationToolInput {
|
|
24
|
+
/** generate creates a new image; edit modifies one or more existing images. */
|
|
25
|
+
mode?: ImageToolMode;
|
|
26
|
+
prompt: string;
|
|
27
|
+
model?: string;
|
|
28
|
+
size?: ImageGenerationSize;
|
|
29
|
+
quality?: ImageGenerationQuality;
|
|
30
|
+
outputFormat?: ImageGenerationFormat;
|
|
31
|
+
background?: ImageGenerationBackground;
|
|
32
|
+
moderation?: ImageGenerationModeration;
|
|
33
|
+
n?: number;
|
|
34
|
+
/** Single explicit source image for mode=edit. */
|
|
35
|
+
image?: ImageEditInputImage;
|
|
36
|
+
/** Multiple explicit source images for mode=edit. */
|
|
37
|
+
images?: ImageEditInputImage[];
|
|
38
|
+
/** Labels of prior conversation image blocks to edit. */
|
|
39
|
+
imageRefs?: string[];
|
|
40
|
+
/** In edit mode, use the latest prior conversation image when no image/imageRefs are provided. Defaults to true. */
|
|
41
|
+
useLatestImage?: boolean;
|
|
42
|
+
}
|
|
43
|
+
export interface ImageGenerationResult {
|
|
44
|
+
index: number;
|
|
45
|
+
mimeType: string;
|
|
46
|
+
base64: string;
|
|
47
|
+
dataUrl: string;
|
|
48
|
+
revisedPrompt?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface ImageGenerationToolTiming {
|
|
51
|
+
/** Unix epoch milliseconds captured immediately before the OpenAI image request starts. */
|
|
52
|
+
startedAt: number;
|
|
53
|
+
/** ISO-8601 timestamp captured from startedAt for UI display. */
|
|
54
|
+
startedAtIso: string;
|
|
55
|
+
/** Unix epoch milliseconds captured when the tool finishes or fails. */
|
|
56
|
+
finishedAt: number;
|
|
57
|
+
/** ISO-8601 timestamp captured from finishedAt for UI display. */
|
|
58
|
+
finishedAtIso: string;
|
|
59
|
+
/** Total elapsed time in milliseconds. */
|
|
60
|
+
duration: number;
|
|
61
|
+
/** Alias of duration for consumers that expect elapsed milliseconds. */
|
|
62
|
+
elapsed: number;
|
|
63
|
+
/** Explicit millisecond aliases for consumers that prefer unit-suffixed names. */
|
|
64
|
+
durationMs: number;
|
|
65
|
+
elapsedMs: number;
|
|
66
|
+
}
|
|
67
|
+
export interface ImageGenerationToolOutput extends ImageGenerationToolTiming {
|
|
68
|
+
provider: "openai";
|
|
69
|
+
mode: ImageToolMode;
|
|
70
|
+
model: string;
|
|
71
|
+
prompt: string;
|
|
72
|
+
size: ImageGenerationSize;
|
|
73
|
+
quality: ImageGenerationQuality;
|
|
74
|
+
outputFormat: ImageGenerationFormat;
|
|
75
|
+
background: ImageGenerationBackground;
|
|
76
|
+
returnedImages: number;
|
|
77
|
+
sourceImages?: number;
|
|
78
|
+
imageRefs?: string[];
|
|
79
|
+
images: ImageGenerationResult[];
|
|
80
|
+
raw?: unknown;
|
|
81
|
+
}
|
|
82
|
+
export interface CreateOpenAIImageGenerationToolOptions {
|
|
83
|
+
apiKey?: string;
|
|
84
|
+
baseUrl?: string;
|
|
85
|
+
model?: string;
|
|
86
|
+
timeoutMs?: number;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* OpenAI-only image generation tool backed by the Images API.
|
|
90
|
+
*
|
|
91
|
+
* The tool is intentionally exposed only when MODEL_PROVIDER=openai. Other providers
|
|
92
|
+
* should not receive a drawable tool definition; the default system prompt tells the
|
|
93
|
+
* model that image generation is unavailable in that configuration.
|
|
94
|
+
*/
|
|
95
|
+
export declare function createOpenAIImageGenerationTool(options?: CreateOpenAIImageGenerationToolOptions): Tool<ImageGenerationToolInput>;
|
|
96
|
+
export declare const openAIImageGenerationTool: Tool<ImageGenerationToolInput>;
|