briyah 1.0.5 → 1.0.7

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 (102) hide show
  1. package/README.md +1 -1
  2. package/data/common/config/image_models.json +15 -0
  3. package/data/common/config/image_models_full.json +48 -0
  4. package/data/common/config/model_prices.json +37274 -0
  5. package/data/common/config/random_words.txt +2241 -0
  6. package/data/common/config/story_ideas.txt +6 -0
  7. package/data/common/config/story_models.json +23 -0
  8. package/data/common/config/story_models_full.json +45 -0
  9. package/data/common/prompts/character/compact_story.json +0 -0
  10. package/data/common/prompts/character/compact_story.mock +1 -0
  11. package/data/common/prompts/character/compact_story.prompt +18 -0
  12. package/data/common/prompts/character/create_character.json +29 -0
  13. package/data/common/prompts/character/create_character.mock +7 -0
  14. package/data/common/prompts/character/create_character.prompt +85 -0
  15. package/data/common/prompts/character/create_user_character.json +28 -0
  16. package/data/common/prompts/character/create_user_character.mock +7 -0
  17. package/data/common/prompts/character/create_user_character.prompt +60 -0
  18. package/data/common/prompts/character/describe_character.json +0 -0
  19. package/data/common/prompts/character/describe_character.prompt +32 -0
  20. package/data/common/prompts/character/import_character.json +29 -0
  21. package/data/common/prompts/character/import_character.prompt +87 -0
  22. package/data/common/prompts/character/import_user_character.json +28 -0
  23. package/data/common/prompts/character/import_user_character.prompt +69 -0
  24. package/data/common/prompts/character/perceive.json +0 -0
  25. package/data/common/prompts/character/perceive.mock +5 -0
  26. package/data/common/prompts/character/perceive.prompt +160 -0
  27. package/data/common/prompts/character/progress_character.json +18 -0
  28. package/data/common/prompts/character/progress_character.mock +4 -0
  29. package/data/common/prompts/character/progress_character.prompt +74 -0
  30. package/data/common/prompts/character/system_instruction.prompt +0 -0
  31. package/data/common/prompts/default/attach_file.prompt +1 -0
  32. package/data/common/prompts/default/identify.prompt +1 -0
  33. package/data/common/prompts/default/schema_test.json +28 -0
  34. package/data/common/prompts/default/schema_test.prompt +10 -0
  35. package/data/common/prompts/default/system_instruction.prompt +1 -0
  36. package/data/common/prompts/greeting.json +16 -0
  37. package/data/common/prompts/greeting.prompt +8 -0
  38. package/data/common/prompts/illustrator/describe_scene.json +33 -0
  39. package/data/common/prompts/illustrator/describe_scene.prompt +63 -0
  40. package/data/common/prompts/illustrator/system_instruction.prompt +9 -0
  41. package/data/common/prompts/narrator/compact_story.json +0 -0
  42. package/data/common/prompts/narrator/compact_story.mock +1 -0
  43. package/data/common/prompts/narrator/compact_story.prompt +17 -0
  44. package/data/common/prompts/narrator/create_chapter.mock +1 -0
  45. package/data/common/prompts/narrator/create_chapter.prompt +34 -0
  46. package/data/common/prompts/narrator/create_plot.json +0 -0
  47. package/data/common/prompts/narrator/create_plot.mock +11 -0
  48. package/data/common/prompts/narrator/create_plot.prompt +71 -0
  49. package/data/common/prompts/narrator/create_story.json +63 -0
  50. package/data/common/prompts/narrator/create_story.mock +22 -0
  51. package/data/common/prompts/narrator/create_story.prompt +85 -0
  52. package/data/common/prompts/narrator/import_plot.json +0 -0
  53. package/data/common/prompts/narrator/import_plot.mock +11 -0
  54. package/data/common/prompts/narrator/import_plot.prompt +55 -0
  55. package/data/common/prompts/narrator/import_story.json +63 -0
  56. package/data/common/prompts/narrator/import_story.mock +22 -0
  57. package/data/common/prompts/narrator/import_story.prompt +82 -0
  58. package/data/common/prompts/narrator/perceive.json +0 -0
  59. package/data/common/prompts/narrator/perceive.mock +3 -0
  60. package/data/common/prompts/narrator/perceive.prompt +186 -0
  61. package/data/common/prompts/narrator/progress_plot.json +0 -0
  62. package/data/common/prompts/narrator/progress_plot.mock +9 -0
  63. package/data/common/prompts/narrator/progress_plot.prompt +93 -0
  64. package/data/common/prompts/narrator/system_instruction.prompt +0 -0
  65. package/data/common/prompts/pdf_converter/convert_pdf.prompt +45 -0
  66. package/data/common/prompts/pdf_converter/convert_pdf_page.prompt +55 -0
  67. package/data/common/prompts/perceive.json +29 -0
  68. package/data/common/prompts/perceive.prompt +229 -0
  69. package/data/common/prompts/room_moderator/moderate.json +29 -0
  70. package/data/common/prompts/room_moderator/moderate.prompt +210 -0
  71. package/data/common/prompts/room_moderator/system_instruction.prompt +0 -0
  72. package/data/common/prompts/story_moderator/moderate.json +29 -0
  73. package/data/common/prompts/story_moderator/moderate.mock +6 -0
  74. package/data/common/prompts/story_moderator/moderate.prompt +225 -0
  75. package/data/common/prompts/story_moderator/moderate_to_alice.mock +6 -0
  76. package/data/common/prompts/story_moderator/moderate_to_bob.mock +6 -0
  77. package/data/common/prompts/story_moderator/system_instruction.prompt +0 -0
  78. package/data/common/story_ideas/biblical.json +122 -0
  79. package/data/common/story_ideas/fantasy.json +82 -0
  80. package/data/common/story_ideas/historical_fiction.json +82 -0
  81. package/data/common/story_ideas/science_fiction.json +82 -0
  82. package/dist/server/src/ai/LLM/anthropic.service.js +3 -7
  83. package/dist/server/src/ai/LLM/deepseek.service.js +3 -7
  84. package/dist/server/src/ai/LLM/fal.service.js +5 -10
  85. package/dist/server/src/ai/LLM/googleai.service.js +3 -7
  86. package/dist/server/src/ai/LLM/grok.service.js +3 -7
  87. package/dist/server/src/ai/LLM/mock.service.js +2 -5
  88. package/dist/server/src/ai/LLM/openai.service.js +3 -7
  89. package/dist/server/src/ai/LLM/together.service.js +4 -5
  90. package/dist/server/src/ai/LLM/vertexai.service.js +2 -5
  91. package/dist/server/src/ai/model_prices.d.ts +1 -2
  92. package/dist/server/src/ai/model_prices.js +15 -14
  93. package/dist/server/src/ai/published-agents.service.js +1 -1
  94. package/dist/server/src/auth/users.service.js +1 -1
  95. package/dist/server/src/config/configuration.service.js +1 -1
  96. package/dist/server/src/room/published-rooms.service.js +2 -1
  97. package/dist/server/src/sdk/briyah-config.js +1 -0
  98. package/dist/server/src/sdk/briyah.d.ts +1 -0
  99. package/dist/server/src/sdk/briyah.js +52 -0
  100. package/package.json +8 -1
  101. package/.prettierrc +0 -7
  102. package/eslint.config.js +0 -29
@@ -33,22 +33,23 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getModelPrices = getModelPrices;
36
37
  const fs = __importStar(require("fs"));
37
38
  const path = __importStar(require("path"));
38
- const dataDir = path.resolve(process.cwd(), 'data');
39
- const configDir = path.resolve(dataDir, 'common', 'config');
40
- const pricesFilePath = path.join(configDir, 'model_prices.json');
41
- let modelPrices = {};
42
- try {
43
- if (fs.existsSync(pricesFilePath)) {
44
- const fileContent = fs.readFileSync(pricesFilePath, 'utf8');
45
- modelPrices = JSON.parse(fileContent);
39
+ let _modelPrices = null;
40
+ function getModelPrices() {
41
+ if (_modelPrices !== null)
42
+ return _modelPrices;
43
+ const dataDir = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
44
+ const pricesFilePath = path.join(dataDir, 'common', 'config', 'model_prices.json');
45
+ if (!fs.existsSync(pricesFilePath)) {
46
+ throw new Error(`Model prices file not found at ${pricesFilePath}. Cannot proceed without pricing data.`);
46
47
  }
47
- else {
48
- console.warn('Model prices file not found at', pricesFilePath);
48
+ try {
49
+ _modelPrices = JSON.parse(fs.readFileSync(pricesFilePath, 'utf8'));
49
50
  }
51
+ catch (error) {
52
+ throw new Error(`Failed to load model prices from ${pricesFilePath}: ${error}`);
53
+ }
54
+ return _modelPrices;
50
55
  }
51
- catch (error) {
52
- console.error('Error loading model prices:', error);
53
- }
54
- exports.default = modelPrices;
@@ -50,7 +50,7 @@ let PublishedAgentsService = class PublishedAgentsService {
50
50
  mapping = new Map();
51
51
  mappingFile;
52
52
  constructor() {
53
- const dataPath = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'data');
53
+ const dataPath = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
54
54
  const dataDir = path.resolve(dataPath, 'common');
55
55
  if (!fs.existsSync(dataDir)) {
56
56
  fs.mkdirSync(dataDir, { recursive: true });
@@ -51,7 +51,7 @@ let UsersService = class UsersService {
51
51
  usersFilePath;
52
52
  dataDir;
53
53
  constructor() {
54
- this.dataDir = path.resolve(process.cwd(), 'data');
54
+ this.dataDir = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
55
55
  const commonDir = path.resolve(this.dataDir, 'common');
56
56
  const usersDir = path.resolve(commonDir, 'users');
57
57
  this.usersFilePath = path.resolve(usersDir, 'users.json');
@@ -49,7 +49,7 @@ class ConfigurationService {
49
49
  userId;
50
50
  constructor(userId, baseDataPath) {
51
51
  this.userId = userId;
52
- const dataPath = baseDataPath || process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'data');
52
+ const dataPath = baseDataPath || process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
53
53
  this.dataDir = path.resolve(dataPath);
54
54
  if (!fs.existsSync(this.dataDir)) {
55
55
  fs.mkdirSync(this.dataDir, { recursive: true });
@@ -50,7 +50,8 @@ let PublishedRoomsService = class PublishedRoomsService {
50
50
  mapping;
51
51
  filePath;
52
52
  constructor() {
53
- this.filePath = path.join(process.cwd(), 'data', 'common', 'published-rooms.json');
53
+ const dataPath = process.env.SERVER_DATA_PATH || path.resolve(process.cwd(), 'briyah-data');
54
+ this.filePath = path.join(dataPath, 'common', 'published-rooms.json');
54
55
  this.mapping = new Map();
55
56
  this.load();
56
57
  }
@@ -10,6 +10,7 @@ class BriyahConfigService {
10
10
  };
11
11
  if (options?.dataPath) {
12
12
  this.env.SERVER_DATA_PATH = options.dataPath;
13
+ process.env.SERVER_DATA_PATH = options.dataPath;
13
14
  }
14
15
  if (options?.userServiceCacheTimeoutMinutes !== undefined) {
15
16
  this.env.USER_SERVICE_CACHE_TIMEOUT_MINUTES = String(options.userServiceCacheTimeoutMinutes);
@@ -19,6 +19,7 @@ export declare class Briyah {
19
19
  private validateEnvironment;
20
20
  private initializeSingletons;
21
21
  init(): Promise<void>;
22
+ private seedCommonData;
22
23
  getAppService(userId: string): AppService;
23
24
  removeUserService(userId: string): void;
24
25
  getCacheStats(): {
@@ -1,6 +1,41 @@
1
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
+ })();
2
35
  Object.defineProperty(exports, "__esModule", { value: true });
3
36
  exports.Briyah = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
4
39
  const ai_factory_service_1 = require("../ai/ai-factory.service");
5
40
  const openai_service_1 = require("../ai/LLM/openai.service");
6
41
  const anthropic_service_1 = require("../ai/LLM/anthropic.service");
@@ -82,10 +117,27 @@ class Briyah {
82
117
  console.warn('[Briyah] Already initialized');
83
118
  return;
84
119
  }
120
+ this.seedCommonData();
85
121
  this.publishedAgentsService.onModuleInit();
86
122
  this.userServiceManager.onModuleInit();
87
123
  this.initialized = true;
88
124
  }
125
+ seedCommonData() {
126
+ const dataPath = this.configService.get('SERVER_DATA_PATH') || path.resolve(process.cwd(), 'briyah-data');
127
+ const userCommonDir = path.resolve(dataPath, 'common');
128
+ const packageCommonDir = path.resolve(__dirname, '../../../../data/common');
129
+ if (!fs.existsSync(packageCommonDir)) {
130
+ return;
131
+ }
132
+ for (const subdir of ['config', 'prompts', 'story_ideas']) {
133
+ const source = path.resolve(packageCommonDir, subdir);
134
+ const target = path.resolve(userCommonDir, subdir);
135
+ if (!fs.existsSync(source))
136
+ continue;
137
+ fs.mkdirSync(target, { recursive: true });
138
+ fs.cpSync(source, target, { recursive: true, force: false, errorOnExist: false });
139
+ }
140
+ }
89
141
  getAppService(userId) {
90
142
  if (!this.initialized) {
91
143
  throw new Error('[Briyah] Must call init() before getAppService()');
package/package.json CHANGED
@@ -1,10 +1,17 @@
1
1
  {
2
2
  "name": "briyah",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Briyah multi-agent AI SDK",
5
5
  "private": false,
6
6
  "main": "dist/server/src/sdk/index.js",
7
7
  "types": "dist/server/src/sdk/index.d.ts",
8
+ "files": [
9
+ "dist/",
10
+ "data/common/config",
11
+ "data/common/prompts",
12
+ "data/common/story_ideas",
13
+ "README.md"
14
+ ],
8
15
  "exports": {
9
16
  ".": {
10
17
  "import": "./dist/server/src/sdk/index.js",
package/.prettierrc DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "singleQuote": true,
3
- "trailingComma": "all",
4
- "tabWidth": 4,
5
- "semi": true,
6
- "printWidth": 9999
7
- }
package/eslint.config.js DELETED
@@ -1,29 +0,0 @@
1
- const tseslint = require('@typescript-eslint/eslint-plugin');
2
- const tsparser = require('@typescript-eslint/parser');
3
-
4
- module.exports = [
5
- {
6
- ignores: ['dist/**', 'node_modules/**', 'data/**', 'coverage/**'],
7
- },
8
- {
9
- files: ['**/*.ts'],
10
- languageOptions: {
11
- parser: tsparser,
12
- parserOptions: {
13
- project: './tsconfig.json',
14
- tsconfigRootDir: __dirname,
15
- sourceType: 'module',
16
- },
17
- },
18
- plugins: {
19
- '@typescript-eslint': tseslint,
20
- },
21
- rules: {
22
- ...tseslint.configs['recommended'].rules,
23
- '@typescript-eslint/interface-name-prefix': 'off',
24
- '@typescript-eslint/explicit-function-return-type': 'off',
25
- '@typescript-eslint/explicit-module-boundary-types': 'off',
26
- '@typescript-eslint/no-explicit-any': 'off',
27
- },
28
- },
29
- ];