briyah 1.2.3 → 1.2.5
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/README.md +55 -6
- package/data/common/config/image_models.json +160 -97
- package/data/common/config/markup +1 -1
- package/data/common/config/model_prices.json +31 -0
- package/data/common/config/story_models.json +31 -11
- package/data/common/config/story_models_full.json +25 -7
- package/data/common/prompts/character/create_user_character.prompt +3 -12
- package/data/common/prompts/character/introduce_character.json +18 -0
- package/data/common/prompts/character/introduce_character.mock +4 -0
- package/data/common/prompts/character/introduce_character.prompt +58 -0
- package/data/common/prompts/character/perceive.prompt +3 -0
- package/data/common/prompts/character/progress_character.json +8 -4
- package/data/common/prompts/character/progress_character.mock +1 -0
- package/data/common/prompts/character/progress_character.prompt +20 -2
- package/data/common/prompts/character/update_portrait.json +18 -0
- package/data/common/prompts/character/update_portrait.mock +4 -0
- package/data/common/prompts/character/update_portrait.prompt +17 -1
- package/data/common/prompts/narrator/create_simple_plot.json +0 -0
- package/data/common/prompts/narrator/create_simple_plot.mock +13 -0
- package/data/common/prompts/narrator/create_simple_plot.prompt +35 -0
- package/data/common/prompts/narrator/perceive.prompt +12 -9
- package/data/common/prompts/narrator/progress_simple_plot.json +0 -0
- package/data/common/prompts/narrator/progress_simple_plot.mock +13 -0
- package/data/common/prompts/narrator/progress_simple_plot.prompt +40 -0
- package/data/common/prompts/perceive.json +1 -1
- package/data/common/prompts/perceive.prompt +82 -20
- package/data/common/prompts/story_moderator/moderate.json +1 -1
- package/data/common/prompts/story_moderator/moderate.prompt +26 -6
- package/dist-sdk/server/src/ai/LLM/anthropic.service.js +6 -4
- package/dist-sdk/server/src/ai/LLM/base-ai.service.d.ts +1 -1
- package/dist-sdk/server/src/ai/LLM/base-ai.service.js +13 -42
- package/dist-sdk/server/src/ai/LLM/deepseek.service.js +10 -1
- package/dist-sdk/server/src/ai/LLM/fal.service.js +1 -2
- package/dist-sdk/server/src/ai/LLM/googleai.service.js +1 -2
- package/dist-sdk/server/src/ai/LLM/grok.service.js +1 -2
- package/dist-sdk/server/src/ai/LLM/openai.service.js +1 -2
- package/dist-sdk/server/src/ai/LLM/together.service.js +1 -2
- package/dist-sdk/server/src/ai/agent-config.d.ts +2 -0
- package/dist-sdk/server/src/ai/agent-store.service.js +8 -0
- package/dist-sdk/server/src/ai/agent.d.ts +2 -0
- package/dist-sdk/server/src/ai/agent.js +2 -0
- package/dist-sdk/server/src/ai/model_prices.js +2 -1
- package/dist-sdk/server/src/app/user-service-factory.js +7 -3
- package/dist-sdk/server/src/app.controller.d.ts +15 -4
- package/dist-sdk/server/src/app.controller.js +171 -5
- package/dist-sdk/server/src/app.service.d.ts +19 -5
- package/dist-sdk/server/src/app.service.js +50 -4
- package/dist-sdk/server/src/room/message.js +5 -1
- package/dist-sdk/server/src/room/room-factory.d.ts +5 -1
- package/dist-sdk/server/src/room/room-factory.js +6 -1
- package/dist-sdk/server/src/room/room-store.service.d.ts +5 -1
- package/dist-sdk/server/src/room/room-store.service.js +13 -2
- package/dist-sdk/server/src/room/room.d.ts +25 -4
- package/dist-sdk/server/src/room/room.js +393 -96
- package/dist-sdk/server/src/sdk/index.d.ts +1 -1
- package/dist-sdk/server/src/story/story.service.d.ts +5 -4
- package/dist-sdk/server/src/story/story.service.js +207 -120
- package/dist-sdk/server/src/tools/tool-execution.service.d.ts +19 -0
- package/dist-sdk/server/src/tools/tool-execution.service.js +100 -0
- package/dist-sdk/server/src/tools/tool-store.service.d.ts +17 -0
- package/dist-sdk/server/src/tools/tool-store.service.js +143 -0
- package/dist-sdk/shared/types/app.types.d.ts +44 -5
- package/dist-sdk/shared/types/app.types.js +3 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/highlight.css +0 -7
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Agent.html +22 -14
- package/docs/classes/Briyah.html +10 -10
- package/docs/classes/BriyahConfigService.html +5 -5
- package/docs/classes/Room.html +32 -26
- package/docs/classes/RoomMessage.html +10 -10
- package/docs/enums/MessageAction.html +6 -3
- package/docs/hierarchy.html +1 -1
- package/docs/index.html +12 -5
- package/docs/interfaces/AgentInfo.html +3 -2
- package/docs/interfaces/AgentMessagesResponse.html +2 -2
- package/docs/interfaces/AppService.html +184 -149
- package/docs/interfaces/Artifact.html +3 -3
- package/docs/interfaces/ArtifactMetadata.html +2 -2
- package/docs/interfaces/AttachDocumentResponse.html +2 -2
- package/docs/interfaces/BriyahConfigOptions.html +7 -7
- package/docs/interfaces/ChapterInfo.html +2 -2
- package/docs/interfaces/Character.html +2 -2
- package/docs/interfaces/CreateAgentResponse.html +2 -2
- package/docs/interfaces/CreateRoomResponse.html +2 -2
- package/docs/interfaces/CreateStoryResponse.html +2 -2
- package/docs/interfaces/FileList.html +2 -2
- package/docs/interfaces/FileMetadata.html +3 -3
- package/docs/interfaces/IConfigService.html +3 -3
- package/docs/interfaces/LoggingOptions.html +6 -6
- package/docs/interfaces/Message.html +2 -2
- package/docs/interfaces/ModelInfo.html +2 -3
- package/docs/interfaces/PreparedPromptResponse.html +2 -2
- package/docs/interfaces/ProcessTextResponse.html +2 -2
- package/docs/interfaces/PromptFile.html +2 -2
- package/docs/interfaces/PromptFileContent.html +2 -2
- package/docs/interfaces/PromptFilesResponse.html +2 -2
- package/docs/interfaces/PromptFolder.html +2 -2
- package/docs/interfaces/PromptFoldersResponse.html +2 -2
- package/docs/interfaces/RoomDetails.html +2 -2
- package/docs/interfaces/RoomInfo.html +2 -2
- package/docs/interfaces/RoomMessagesResponse.html +2 -2
- package/docs/interfaces/StoryErrorEvent.html +3 -3
- package/docs/interfaces/StoryIdea.html +2 -2
- package/docs/interfaces/StoryInfo.html +5 -4
- package/docs/interfaces/StoryIntroduceCharacterEvent.html +3 -3
- package/docs/interfaces/StoryProgressChapterEvent.html +3 -3
- package/docs/interfaces/StoryState.html +5 -5
- package/docs/interfaces/StoryStateEvent.html +3 -3
- package/docs/interfaces/ToolDefinition.html +6 -0
- package/docs/interfaces/ToolParameter.html +5 -0
- package/docs/interfaces/ToolsResponse.html +2 -0
- package/docs/interfaces/Transaction.html +2 -2
- package/docs/interfaces/TransactionHistoryResponse.html +2 -2
- package/docs/modules.html +1 -1
- package/docs/types/PromptScope.html +1 -1
- package/docs/types/ToolRunResult.html +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ToolDefinition, ToolRunResult } from '../../../shared/types/app.types';
|
|
2
|
+
import { ToolStoreService } from './tool-store.service';
|
|
3
|
+
type CompiledTool = (args: Record<string, any>, helpers: ToolHelpers) => Promise<any>;
|
|
4
|
+
interface ToolHelpers {
|
|
5
|
+
fetch: typeof fetch;
|
|
6
|
+
}
|
|
7
|
+
export declare class ToolExecutionService {
|
|
8
|
+
private readonly toolStore;
|
|
9
|
+
private compiledCache;
|
|
10
|
+
constructor(toolStore: ToolStoreService);
|
|
11
|
+
static compile(tool: ToolDefinition): CompiledTool;
|
|
12
|
+
runForAgent(name: string, contentJson: string, grantedNames: string[]): Promise<ToolRunResult>;
|
|
13
|
+
test(name: string, args: Record<string, any>): Promise<ToolRunResult>;
|
|
14
|
+
private runValidated;
|
|
15
|
+
run(tool: ToolDefinition, args: Record<string, any>): Promise<ToolRunResult>;
|
|
16
|
+
private getCompiled;
|
|
17
|
+
private static truncateResult;
|
|
18
|
+
}
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ToolExecutionService = void 0;
|
|
4
|
+
const logger_1 = require("../common/logger");
|
|
5
|
+
const AsyncFunction = Object.getPrototypeOf(async function () { }).constructor;
|
|
6
|
+
const DEFAULT_TIMEOUT_MS = 30_000;
|
|
7
|
+
const MAX_TIMEOUT_MS = 120_000;
|
|
8
|
+
const MAX_RESULT_CHARS = 16_384;
|
|
9
|
+
class ToolExecutionService {
|
|
10
|
+
toolStore;
|
|
11
|
+
compiledCache = new Map();
|
|
12
|
+
constructor(toolStore) {
|
|
13
|
+
this.toolStore = toolStore;
|
|
14
|
+
}
|
|
15
|
+
static compile(tool) {
|
|
16
|
+
return new AsyncFunction('args', 'helpers', tool.code);
|
|
17
|
+
}
|
|
18
|
+
async runForAgent(name, contentJson, grantedNames) {
|
|
19
|
+
if (!grantedNames.includes(name)) {
|
|
20
|
+
return { ok: false, error: `Tool "${name}" is not available to you` };
|
|
21
|
+
}
|
|
22
|
+
let args = {};
|
|
23
|
+
if (contentJson && contentJson.trim()) {
|
|
24
|
+
try {
|
|
25
|
+
args = JSON.parse(contentJson);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
return { ok: false, error: `Arguments must be a JSON object: ${e.message}` };
|
|
29
|
+
}
|
|
30
|
+
if (typeof args !== 'object' || args === null || Array.isArray(args)) {
|
|
31
|
+
return { ok: false, error: 'Arguments must be a JSON object of named parameters' };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return this.runValidated(name, args);
|
|
35
|
+
}
|
|
36
|
+
async test(name, args) {
|
|
37
|
+
return this.runValidated(name, args || {});
|
|
38
|
+
}
|
|
39
|
+
async runValidated(name, args) {
|
|
40
|
+
const tool = await this.toolStore.getTool(name);
|
|
41
|
+
if (!tool) {
|
|
42
|
+
return { ok: false, error: `Tool "${name}" does not exist` };
|
|
43
|
+
}
|
|
44
|
+
for (const param of tool.parameters || []) {
|
|
45
|
+
if (param.required && args[param.name] === undefined) {
|
|
46
|
+
return { ok: false, error: `Missing required parameter "${param.name}"` };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return this.run(tool, args);
|
|
50
|
+
}
|
|
51
|
+
async run(tool, args) {
|
|
52
|
+
let fn;
|
|
53
|
+
try {
|
|
54
|
+
fn = this.getCompiled(tool);
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
return { ok: false, error: `Tool code does not compile: ${e.message}` };
|
|
58
|
+
}
|
|
59
|
+
const timeoutMs = Math.min(tool.timeoutMs || DEFAULT_TIMEOUT_MS, MAX_TIMEOUT_MS);
|
|
60
|
+
const controller = new AbortController();
|
|
61
|
+
const helpers = {
|
|
62
|
+
fetch: (url, init) => fetch(url, { ...init, signal: controller.signal }),
|
|
63
|
+
};
|
|
64
|
+
let timeoutHandle;
|
|
65
|
+
const timeout = new Promise((_, reject) => {
|
|
66
|
+
timeoutHandle = setTimeout(() => {
|
|
67
|
+
controller.abort();
|
|
68
|
+
reject(new Error(`Tool timed out after ${timeoutMs}ms`));
|
|
69
|
+
}, timeoutMs);
|
|
70
|
+
});
|
|
71
|
+
try {
|
|
72
|
+
const result = await Promise.race([fn(args, helpers), timeout]);
|
|
73
|
+
return { ok: true, result: ToolExecutionService.truncateResult(result) };
|
|
74
|
+
}
|
|
75
|
+
catch (e) {
|
|
76
|
+
logger_1.logger.error(`Tool "${tool.name}" failed:`, e.message);
|
|
77
|
+
return { ok: false, error: e.message };
|
|
78
|
+
}
|
|
79
|
+
finally {
|
|
80
|
+
clearTimeout(timeoutHandle);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
getCompiled(tool) {
|
|
84
|
+
const cached = this.compiledCache.get(tool.name);
|
|
85
|
+
if (cached && cached.code === tool.code) {
|
|
86
|
+
return cached.fn;
|
|
87
|
+
}
|
|
88
|
+
const fn = ToolExecutionService.compile(tool);
|
|
89
|
+
this.compiledCache.set(tool.name, { code: tool.code, fn });
|
|
90
|
+
return fn;
|
|
91
|
+
}
|
|
92
|
+
static truncateResult(result) {
|
|
93
|
+
const serialized = JSON.stringify(result);
|
|
94
|
+
if (serialized === undefined || serialized.length <= MAX_RESULT_CHARS) {
|
|
95
|
+
return result;
|
|
96
|
+
}
|
|
97
|
+
return `${serialized.slice(0, MAX_RESULT_CHARS)}...(result truncated at ${MAX_RESULT_CHARS} characters)`;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
exports.ToolExecutionService = ToolExecutionService;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ToolDefinition } from '../../../shared/types/app.types';
|
|
2
|
+
import { UserPathsService } from '../config/user-paths.service';
|
|
3
|
+
export declare class ToolStoreService {
|
|
4
|
+
private readonly userPaths;
|
|
5
|
+
private tools;
|
|
6
|
+
private readonly storageDir;
|
|
7
|
+
private loaded;
|
|
8
|
+
private loadPromise;
|
|
9
|
+
constructor(userPaths: UserPathsService);
|
|
10
|
+
listTools(): Promise<ToolDefinition[]>;
|
|
11
|
+
getTool(name: string): Promise<ToolDefinition | undefined>;
|
|
12
|
+
saveTool(tool: ToolDefinition): Promise<ToolDefinition>;
|
|
13
|
+
deleteTool(name: string): Promise<boolean>;
|
|
14
|
+
private getToolFilePath;
|
|
15
|
+
private ensureLoaded;
|
|
16
|
+
private loadToolsFromDirectory;
|
|
17
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.ToolStoreService = void 0;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const path = __importStar(require("path"));
|
|
39
|
+
const tool_execution_service_1 = require("./tool-execution.service");
|
|
40
|
+
const logger_1 = require("../common/logger");
|
|
41
|
+
class ToolStoreService {
|
|
42
|
+
userPaths;
|
|
43
|
+
tools = new Map();
|
|
44
|
+
storageDir;
|
|
45
|
+
loaded = false;
|
|
46
|
+
loadPromise = null;
|
|
47
|
+
constructor(userPaths) {
|
|
48
|
+
this.userPaths = userPaths;
|
|
49
|
+
this.storageDir = path.join(this.userPaths.getUserDataDir(), 'tools');
|
|
50
|
+
}
|
|
51
|
+
async listTools() {
|
|
52
|
+
await this.ensureLoaded();
|
|
53
|
+
return [...this.tools.values()];
|
|
54
|
+
}
|
|
55
|
+
async getTool(name) {
|
|
56
|
+
await this.ensureLoaded();
|
|
57
|
+
return this.tools.get(name);
|
|
58
|
+
}
|
|
59
|
+
async saveTool(tool) {
|
|
60
|
+
await this.ensureLoaded();
|
|
61
|
+
if (!tool.name || !tool.name.trim()) {
|
|
62
|
+
throw new Error('Tool name is required');
|
|
63
|
+
}
|
|
64
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(tool.name)) {
|
|
65
|
+
throw new Error('Tool name may only contain letters, numbers, hyphens and underscores');
|
|
66
|
+
}
|
|
67
|
+
if (!tool.code || !tool.code.trim()) {
|
|
68
|
+
throw new Error('Tool code is required');
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
tool_execution_service_1.ToolExecutionService.compile(tool);
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
throw new Error(`Tool code does not compile: ${e.message}`);
|
|
75
|
+
}
|
|
76
|
+
const saved = {
|
|
77
|
+
name: tool.name,
|
|
78
|
+
description: tool.description || '',
|
|
79
|
+
parameters: tool.parameters || [],
|
|
80
|
+
code: tool.code,
|
|
81
|
+
timeoutMs: tool.timeoutMs,
|
|
82
|
+
};
|
|
83
|
+
this.tools.set(saved.name, saved);
|
|
84
|
+
await fs.promises.mkdir(this.storageDir, { recursive: true });
|
|
85
|
+
await fs.promises.writeFile(this.getToolFilePath(saved.name), JSON.stringify(saved, null, 2));
|
|
86
|
+
return saved;
|
|
87
|
+
}
|
|
88
|
+
async deleteTool(name) {
|
|
89
|
+
await this.ensureLoaded();
|
|
90
|
+
if (!this.tools.delete(name)) {
|
|
91
|
+
return false;
|
|
92
|
+
}
|
|
93
|
+
try {
|
|
94
|
+
await fs.promises.unlink(this.getToolFilePath(name));
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
logger_1.logger.error(`Error deleting tool file for ${name}:`, error);
|
|
98
|
+
}
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
getToolFilePath(name) {
|
|
102
|
+
return path.join(this.storageDir, `${name}.json`);
|
|
103
|
+
}
|
|
104
|
+
async ensureLoaded() {
|
|
105
|
+
if (this.loaded)
|
|
106
|
+
return;
|
|
107
|
+
if (!this.loadPromise) {
|
|
108
|
+
this.loadPromise = this.loadToolsFromDirectory()
|
|
109
|
+
.then(() => {
|
|
110
|
+
this.loaded = true;
|
|
111
|
+
})
|
|
112
|
+
.catch((error) => {
|
|
113
|
+
this.loadPromise = null;
|
|
114
|
+
throw error;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
await this.loadPromise;
|
|
118
|
+
}
|
|
119
|
+
async loadToolsFromDirectory() {
|
|
120
|
+
try {
|
|
121
|
+
await fs.promises.access(this.storageDir);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
await fs.promises.mkdir(this.storageDir, { recursive: true });
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const allFiles = await fs.promises.readdir(this.storageDir);
|
|
128
|
+
const files = allFiles.filter((file) => file.endsWith('.json'));
|
|
129
|
+
for (const file of files) {
|
|
130
|
+
try {
|
|
131
|
+
const fileContent = await fs.promises.readFile(path.join(this.storageDir, file), 'utf-8');
|
|
132
|
+
const tool = JSON.parse(fileContent);
|
|
133
|
+
if (tool.name) {
|
|
134
|
+
this.tools.set(tool.name, tool);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
logger_1.logger.error(`Error loading tool file ${file}:`, error);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
exports.ToolStoreService = ToolStoreService;
|
|
@@ -15,6 +15,7 @@ export interface AgentInfo {
|
|
|
15
15
|
totalCost: number;
|
|
16
16
|
isPublished: boolean;
|
|
17
17
|
beginInstruction: string;
|
|
18
|
+
toolNames: string[];
|
|
18
19
|
}
|
|
19
20
|
export interface CreateAgentResponse {
|
|
20
21
|
agentId: string;
|
|
@@ -28,6 +29,33 @@ export interface UpdateAgentRequest {
|
|
|
28
29
|
maxOutputTokens?: number;
|
|
29
30
|
allowSearch?: boolean;
|
|
30
31
|
beginInstruction?: string;
|
|
32
|
+
toolNames?: string[];
|
|
33
|
+
}
|
|
34
|
+
export interface ToolParameter {
|
|
35
|
+
name: string;
|
|
36
|
+
type: 'string' | 'number' | 'boolean' | 'object' | 'array';
|
|
37
|
+
description: string;
|
|
38
|
+
required: boolean;
|
|
39
|
+
}
|
|
40
|
+
export interface ToolDefinition {
|
|
41
|
+
name: string;
|
|
42
|
+
description: string;
|
|
43
|
+
parameters: ToolParameter[];
|
|
44
|
+
code: string;
|
|
45
|
+
timeoutMs?: number;
|
|
46
|
+
}
|
|
47
|
+
export interface ToolsResponse {
|
|
48
|
+
tools: ToolDefinition[];
|
|
49
|
+
}
|
|
50
|
+
export type ToolRunResult = {
|
|
51
|
+
ok: true;
|
|
52
|
+
result: any;
|
|
53
|
+
} | {
|
|
54
|
+
ok: false;
|
|
55
|
+
error: string;
|
|
56
|
+
};
|
|
57
|
+
export interface ToolTestRequest {
|
|
58
|
+
args: Record<string, any>;
|
|
31
59
|
}
|
|
32
60
|
export interface RoomInfo {
|
|
33
61
|
id: string;
|
|
@@ -59,6 +87,9 @@ export declare enum MessageAction {
|
|
|
59
87
|
RELAY_SILENT = "relay_silent",
|
|
60
88
|
PUBLISH = "publish",
|
|
61
89
|
EXECUTE = "execute",
|
|
90
|
+
COMMISSION = "commission",
|
|
91
|
+
DELIVER = "deliver",
|
|
92
|
+
TOOL = "tool",
|
|
62
93
|
ADJOURN = "adjourn",
|
|
63
94
|
SYSTEM = "system"
|
|
64
95
|
}
|
|
@@ -101,12 +132,14 @@ export interface ModelInfo {
|
|
|
101
132
|
description: string;
|
|
102
133
|
model: string;
|
|
103
134
|
service: string;
|
|
104
|
-
|
|
135
|
+
}
|
|
136
|
+
export interface ImageModelOption {
|
|
137
|
+
name: string;
|
|
138
|
+
description: string;
|
|
105
139
|
}
|
|
106
140
|
export interface StoryModelDefaults {
|
|
107
141
|
selectedStoryModel: string;
|
|
108
142
|
selectedImageModel: string;
|
|
109
|
-
selectedImageEditModel: string;
|
|
110
143
|
enforceDefaultModels: boolean;
|
|
111
144
|
}
|
|
112
145
|
export interface StoryModelEntry {
|
|
@@ -115,12 +148,16 @@ export interface StoryModelEntry {
|
|
|
115
148
|
service: string;
|
|
116
149
|
model: string;
|
|
117
150
|
small_model?: string;
|
|
151
|
+
moderator_service?: string;
|
|
152
|
+
moderator_model?: string;
|
|
118
153
|
cost: string;
|
|
119
154
|
}
|
|
120
155
|
export interface StoryModelConfig {
|
|
121
156
|
service: string;
|
|
122
157
|
model: string;
|
|
123
158
|
smallModel?: string;
|
|
159
|
+
moderatorService: string;
|
|
160
|
+
moderatorModel: string;
|
|
124
161
|
}
|
|
125
162
|
export type PromptScope = 'common' | 'user';
|
|
126
163
|
export interface PromptFolder {
|
|
@@ -241,6 +278,7 @@ export interface StoryInfo {
|
|
|
241
278
|
name: string;
|
|
242
279
|
scenario: string;
|
|
243
280
|
situation: string;
|
|
281
|
+
situationTime?: string;
|
|
244
282
|
chapters: ChapterInfo[];
|
|
245
283
|
characters: Character[];
|
|
246
284
|
aiService: string;
|
|
@@ -252,8 +290,8 @@ export interface StoryInfo {
|
|
|
252
290
|
artistEditAgentId?: string;
|
|
253
291
|
userAgentId?: string;
|
|
254
292
|
imageModelName?: string;
|
|
255
|
-
imageEditModelName?: string;
|
|
256
293
|
isImport: boolean;
|
|
294
|
+
skipDetailedPlot?: boolean;
|
|
257
295
|
totalCost: number;
|
|
258
296
|
totalInputTokens: number;
|
|
259
297
|
totalOutputTokens: number;
|
|
@@ -305,9 +343,10 @@ export interface ChaptersResponse {
|
|
|
305
343
|
chapters: ChapterInfo[];
|
|
306
344
|
}
|
|
307
345
|
export interface ProgressCharacterResponse {
|
|
308
|
-
description
|
|
309
|
-
character_profile
|
|
346
|
+
description?: string;
|
|
347
|
+
character_profile?: string;
|
|
310
348
|
inventory?: string;
|
|
349
|
+
no_changes?: boolean;
|
|
311
350
|
}
|
|
312
351
|
export interface CreatePaymentIntentRequest {
|
|
313
352
|
amount: number;
|
|
@@ -12,6 +12,9 @@ var MessageAction;
|
|
|
12
12
|
MessageAction["RELAY_SILENT"] = "relay_silent";
|
|
13
13
|
MessageAction["PUBLISH"] = "publish";
|
|
14
14
|
MessageAction["EXECUTE"] = "execute";
|
|
15
|
+
MessageAction["COMMISSION"] = "commission";
|
|
16
|
+
MessageAction["DELIVER"] = "deliver";
|
|
17
|
+
MessageAction["TOOL"] = "tool";
|
|
15
18
|
MessageAction["ADJOURN"] = "adjourn";
|
|
16
19
|
MessageAction["SYSTEM"] = "system";
|
|
17
20
|
})(MessageAction || (exports.MessageAction = MessageAction = {}));
|
package/docs/assets/hierarchy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.hierarchyData = "
|
|
1
|
+
window.hierarchyData = "eJyNkLFqwzAURf/lzkpdx7EaNDZThiztWDwI+zkWlSXQUwvF6N+DmjYxxaFZJJDue4dzJwTvI0O9lVX9JKSsGoFAvaU2Gu8YakJd5tPpkaDwHMyXHnbe9eb4SuHTtASBd+M6qHK9FfgIFgqt1czExUL8YYijhThHoBC5W+X51fkhCUhZzYgHYtbHK2Vdy1+KcZFCr1vi4id1c/klmj8HY7tA7tv6cdMkgXzPmC/ej3+5C3az2P9WueAZYr/c4bLd/r4Gb0jWZZNSOgHl9KFu"
|
|
@@ -21,8 +21,6 @@
|
|
|
21
21
|
--dark-hl-9: #4EC9B0;
|
|
22
22
|
--light-hl-10: #000000FF;
|
|
23
23
|
--dark-hl-10: #D4D4D4;
|
|
24
|
-
--light-hl-11: #CD3131;
|
|
25
|
-
--dark-hl-11: #F44747;
|
|
26
24
|
--light-code-background: #FFFFFF;
|
|
27
25
|
--dark-code-background: #1E1E1E;
|
|
28
26
|
}
|
|
@@ -39,7 +37,6 @@
|
|
|
39
37
|
--hl-8: var(--light-hl-8);
|
|
40
38
|
--hl-9: var(--light-hl-9);
|
|
41
39
|
--hl-10: var(--light-hl-10);
|
|
42
|
-
--hl-11: var(--light-hl-11);
|
|
43
40
|
--code-background: var(--light-code-background);
|
|
44
41
|
} }
|
|
45
42
|
|
|
@@ -55,7 +52,6 @@
|
|
|
55
52
|
--hl-8: var(--dark-hl-8);
|
|
56
53
|
--hl-9: var(--dark-hl-9);
|
|
57
54
|
--hl-10: var(--dark-hl-10);
|
|
58
|
-
--hl-11: var(--dark-hl-11);
|
|
59
55
|
--code-background: var(--dark-code-background);
|
|
60
56
|
} }
|
|
61
57
|
|
|
@@ -71,7 +67,6 @@
|
|
|
71
67
|
--hl-8: var(--light-hl-8);
|
|
72
68
|
--hl-9: var(--light-hl-9);
|
|
73
69
|
--hl-10: var(--light-hl-10);
|
|
74
|
-
--hl-11: var(--light-hl-11);
|
|
75
70
|
--code-background: var(--light-code-background);
|
|
76
71
|
}
|
|
77
72
|
|
|
@@ -87,7 +82,6 @@
|
|
|
87
82
|
--hl-8: var(--dark-hl-8);
|
|
88
83
|
--hl-9: var(--dark-hl-9);
|
|
89
84
|
--hl-10: var(--dark-hl-10);
|
|
90
|
-
--hl-11: var(--dark-hl-11);
|
|
91
85
|
--code-background: var(--dark-code-background);
|
|
92
86
|
}
|
|
93
87
|
|
|
@@ -102,5 +96,4 @@
|
|
|
102
96
|
.hl-8 { color: var(--hl-8); }
|
|
103
97
|
.hl-9 { color: var(--hl-9); }
|
|
104
98
|
.hl-10 { color: var(--hl-10); }
|
|
105
|
-
.hl-11 { color: var(--hl-11); }
|
|
106
99
|
pre, code { background: var(--code-background); }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "
|
|
1
|
+
window.navigationData = "eJyN199v2jAQB/D/Jc9oXSt1P3jroNOQWg1B36Y9WM4RrCW2ZR9V0bT/fQoNwQ72nV9zX39CzOUMv/5WCG9Yzatn8F408CBRGV3NKitwX80r0IfO30TFD3vs2mpW/VG6ruZf/s1G46EBjZe1shXeg785XY5X3d6F6745dRT764Xv1/mVC6N3qtmCe1USckwUosyNMd010l/lVg3blF48FCnjtFErvTMXQWkEtxPyvI19NSbu7j9NieFWfgPeGu0hz02TJG3t1RaH3lgmEYdqJySmiaFYAjwDilqgIKFziAQRhdwvjTx0oJHesmSUwsPW+2n7t8cn5USOYhd7YRFctlWCOsM4IRFcDnmvkoQDgXDqJXLrEjme7V+bAjWM8egWjTsWqFGOYr+rFp6UT7f0ucgBZDuHAQpaZQZhQK2IMRhjT6ZplCa7No5Q2NVkDJTkYJwsNzW02W4fqxSxdmCFg3rtTGfpXk1HadxI8P4F3jj5KsewncX+289pQ7kMWRiN0QGdtIZUGUkfMYlcAWvaOjORwkApVPQJ4yRF97NmCShUm34lgjrHZPv5XOSAomM+FaTg09h7dM64x9dcs0wyLLeqIT3YxipP5DZrrBYQ6Ex9kDAebMwTZhawN1o70zjwfjiFmbuk0uwttigw/X1fymUI8+kuGYp7MaZdwk5pFf97CLQ4wmFr4UQHuV8mUYKj6NcjSpCUE9oLmX++S72Q+aE8+1MkH+fn31YaG6h4tOPAO5Umwsevn2/v7yabtznoDfhDi1MnKqal3/8BkHT5Ug=="
|
package/docs/assets/search.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.searchData = "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";
|
|
1
|
+
window.searchData = "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";
|