@fugood/bricks-project 2.21.5 → 2.21.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.
@@ -552,6 +552,8 @@ export const templateActionNameMap = {
552
552
  prompt: 'GENERATOR_ONNX_LLM_PROMPT',
553
553
  chat: 'GENERATOR_ONNX_LLM_CHAT',
554
554
  images: 'GENERATOR_ONNX_LLM_IMAGES',
555
+ tools: 'GENERATOR_ONNX_LLM_TOOLS',
556
+ toolChoice: 'GENERATOR_ONNX_LLM_TOOL_CHOICE',
555
557
  },
556
558
  },
557
559
  GENERATOR_ONNX_STT: {
@@ -650,6 +652,7 @@ export const templateActionNameMap = {
650
652
  GENERATOR_QNN_LLM_GENERATE: {
651
653
  prompt: 'GENERATOR_QNN_LLM_PROMPT',
652
654
  messages: 'GENERATOR_QNN_LLM_MESSAGES',
655
+ tools: 'GENERATOR_QNN_LLM_TOOLS',
653
656
  },
654
657
  },
655
658
  GENERATOR_OPENAI_LLM: {
@@ -743,6 +746,10 @@ export const templateActionNameMap = {
743
746
  mcpVariables: 'GENERATOR_ASSISTANT_MCP_VARIABLES',
744
747
  role: 'GENERATOR_ASSISTANT_ROLE',
745
748
  },
749
+ GENERATOR_ASSISTANT_SUMMARY_MESSAGES: {
750
+ summaryMessages: 'GENERATOR_ASSISTANT_SUMMARY_MESSAGES',
751
+ summarySessionKey: 'GENERATOR_ASSISTANT_SUMMARY_SESSION_KEY',
752
+ },
746
753
  },
747
754
  GENERATOR_VECTOR_STORE: {
748
755
  GENERATOR_VECTOR_STORE_RESET: {
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@fugood/bricks-project",
3
- "version": "2.21.5",
3
+ "version": "2.21.7",
4
4
  "main": "index.ts",
5
5
  "scripts": {
6
6
  "build": "node scripts/build.js"
7
7
  },
8
8
  "dependencies": {
9
- "@modelcontextprotocol/sdk": "^1.7.0",
9
+ "@modelcontextprotocol/sdk": "^1.11.1",
10
10
  "@types/escodegen": "^0.0.10",
11
11
  "@types/lodash": "^4.17.12",
12
12
  "acorn": "^8.13.0",
@@ -4312,11 +4312,6 @@ export type GeneratorMCPServerActionRefreshResources = Action & {
4312
4312
  __actionName: 'GENERATOR_MCP_SERVER_REFRESH_RESOURCES'
4313
4313
  }
4314
4314
 
4315
- /* End stream */
4316
- export type GeneratorMCPServerActionEndStream = Action & {
4317
- __actionName: 'GENERATOR_MCP_SERVER_END_STREAM'
4318
- }
4319
-
4320
4315
  interface GeneratorMCPServerDef {
4321
4316
  /*
4322
4317
  Default property:
@@ -4370,7 +4365,7 @@ Default property:
4370
4365
  | {
4371
4366
  target?: string | DataLink
4372
4367
  timeout?: number | DataLink
4373
- payload?: any
4368
+ additionalParams?: any
4374
4369
  }
4375
4370
  scriptConfig?:
4376
4371
  | DataLink
@@ -4386,7 +4381,7 @@ Default property:
4386
4381
  }
4387
4382
  >
4388
4383
  | DataLink
4389
- payload?: any
4384
+ additionalParams?: any
4390
4385
  }
4391
4386
  }
4392
4387
  >
@@ -4411,7 +4406,7 @@ Default property:
4411
4406
  | {
4412
4407
  target?: string | DataLink
4413
4408
  timeout?: number | DataLink
4414
- payload?: any
4409
+ additionalParams?: any
4415
4410
  }
4416
4411
  scriptConfig?:
4417
4412
  | DataLink
@@ -4427,7 +4422,7 @@ Default property:
4427
4422
  }
4428
4423
  >
4429
4424
  | DataLink
4430
- payload?: any
4425
+ additionalParams?: any
4431
4426
  }
4432
4427
  }
4433
4428
  >
@@ -4454,7 +4449,7 @@ Default property:
4454
4449
  | {
4455
4450
  target?: string | DataLink
4456
4451
  timeout?: number | DataLink
4457
- payload?: any
4452
+ additionalParams?: any
4458
4453
  }
4459
4454
  scriptConfig?:
4460
4455
  | DataLink
@@ -4470,7 +4465,7 @@ Default property:
4470
4465
  }
4471
4466
  >
4472
4467
  | DataLink
4473
- payload?: any
4468
+ additionalParams?: any
4474
4469
  }
4475
4470
  }
4476
4471
  >
@@ -4660,12 +4655,13 @@ interface GeneratorMCPDef {
4660
4655
  Default property:
4661
4656
  {
4662
4657
  "init": false,
4663
- "type": "sse",
4658
+ "type": "streamable-http",
4664
4659
  "url": "",
4665
4660
  "autoReconnect": true,
4666
4661
  "maxReconnectAttempts": 10,
4667
4662
  "reconnectInterval": 1000,
4668
4663
  "generatorId": "",
4664
+ "generatorKey": "",
4669
4665
  "name": "bricks-foundation-mcp-client-default",
4670
4666
  "version": "1.0.0",
4671
4667
  "ignoreResourceInList": [],
@@ -4678,7 +4674,7 @@ Default property:
4678
4674
  /* Initialize the MCP client on start */
4679
4675
  init?: boolean | DataLink
4680
4676
  /* Type of the MCP connection, e.g. sse or direct-link (generator) */
4681
- type?: 'sse' | 'direct-link' | DataLink
4677
+ type?: 'streamable-http' | 'sse' | 'direct-link' | DataLink
4682
4678
  /* URL of the MCP server, e.g. http://localhost:19853/sse */
4683
4679
  url?: string | DataLink
4684
4680
  /* Whether to automatically reconnect to the MCP server */
@@ -5002,6 +4998,16 @@ export type GeneratorOnnxLLMActionInfer = ActionWithParams & {
5002
4998
  value?: Array<any> | DataLink | EventProperty
5003
4999
  mapping?: string
5004
5000
  }
5001
+ | {
5002
+ input: 'tools'
5003
+ value?: Array<any> | DataLink | EventProperty
5004
+ mapping?: string
5005
+ }
5006
+ | {
5007
+ input: 'toolChoice'
5008
+ value?: string | DataLink | EventProperty
5009
+ mapping?: string
5010
+ }
5005
5011
  >
5006
5012
  }
5007
5013
 
@@ -5021,6 +5027,8 @@ Default property:
5021
5027
  {
5022
5028
  "model": "BricksDisplay/phi-1_5-q4",
5023
5029
  "modelType": "auto",
5030
+ "toolCallParser": "llama3_json",
5031
+ "toolChoice": "auto",
5024
5032
  "maxNewTokens": 256,
5025
5033
  "temperature": 0.7,
5026
5034
  "topK": 50,
@@ -5127,6 +5135,14 @@ Default property:
5127
5135
  messages?: Array<DataLink | {}> | DataLink
5128
5136
  /* Images with message to inference */
5129
5137
  images?: Array<string | DataLink> | DataLink
5138
+ /* Tool call parser */
5139
+ toolCallParser?: 'llama3_json' | 'mistral' | 'hermes' | 'internlm' | 'phi4' | DataLink
5140
+ /* Tools for chat mode using OpenAI-compatible function calling format
5141
+ Format: Array of objects with {type, function: {name, description, parameters}} structure
5142
+ See: https://platform.openai.com/docs/guides/function-calling */
5143
+ tools?: Array<{} | DataLink> | DataLink
5144
+ /* Tool choice for chat mode */
5145
+ toolChoice?: 'none' | 'auto' | DataLink
5130
5146
  /* Max new tokens to generate */
5131
5147
  maxNewTokens?: number | DataLink
5132
5148
  /* Temperature */
@@ -5161,6 +5177,10 @@ Default property:
5161
5177
  events?: {
5162
5178
  /* Event triggered when state change */
5163
5179
  onContextStateChange?: Array<EventAction>
5180
+ /* Event triggered on get function call request */
5181
+ onFunctionCall?: Array<EventAction>
5182
+ /* Event triggered on completion finished */
5183
+ onCompletionFinished?: Array<EventAction>
5164
5184
  /* Event triggered when error occurs */
5165
5185
  onError?: Array<EventAction>
5166
5186
  }
@@ -5171,6 +5191,8 @@ Default property:
5171
5191
  generated?: () => Data
5172
5192
  /* Full result of generation */
5173
5193
  fullResult?: () => Data
5194
+ /* Last function call */
5195
+ lastFunctionCall?: () => Data
5174
5196
  }
5175
5197
  }
5176
5198
 
@@ -5189,7 +5211,7 @@ export type GeneratorOnnxLLM = Generator &
5189
5211
  | SwitchCondData
5190
5212
  | {
5191
5213
  __typename: 'SwitchCondInnerStateOutlet'
5192
- outlet: 'contextState' | 'generated' | 'fullResult'
5214
+ outlet: 'contextState' | 'generated' | 'fullResult' | 'lastFunctionCall'
5193
5215
  value: any
5194
5216
  }
5195
5217
  }>
@@ -6178,7 +6200,7 @@ Default property:
6178
6200
  "cacheVType": "f16",
6179
6201
  "ctxShift": true,
6180
6202
  "transformScriptEnabled": false,
6181
- "transformScriptCode": "\/\* Global variable: inputs = { prompt, messages, variables } \*\/\nreturn inputs.prompt",
6203
+ "transformScriptCode": "\/\* Global variable: inputs = { prompt, messages, variables }, members = { llmUtils } \*\/\nreturn inputs.prompt",
6182
6204
  "transformScriptVariables": {},
6183
6205
  "sessionMinSaveSize": 50,
6184
6206
  "sessionRemain": 10,
@@ -6285,7 +6307,7 @@ Default property:
6285
6307
  /* Tools for chat mode using OpenAI-compatible function calling format
6286
6308
  Format: Array of objects with {type, function: {name, description, parameters}} structure
6287
6309
  See: https://platform.openai.com/docs/guides/function-calling */
6288
- completionTools?: {} | DataLink
6310
+ completionTools?: Array<{} | DataLink> | DataLink
6289
6311
  /* Enable parallel tool calls */
6290
6312
  completionParallelToolCalls?: boolean | DataLink
6291
6313
  /* Tool choice for chat mode */
@@ -6475,6 +6497,11 @@ export type GeneratorQnnLlmActionGenerate = ActionWithParams & {
6475
6497
  value?: Array<any> | DataLink | EventProperty
6476
6498
  mapping?: string
6477
6499
  }
6500
+ | {
6501
+ input: 'tools'
6502
+ value?: Array<any> | DataLink | EventProperty
6503
+ mapping?: string
6504
+ }
6478
6505
  >
6479
6506
  }
6480
6507
 
@@ -6540,11 +6567,11 @@ Default property:
6540
6567
  /* Stop words */
6541
6568
  stopWords?: Array<string | DataLink> | DataLink
6542
6569
  /* Tool call parser */
6543
- toolCallParser?: 'llama3_json' | 'mistral' | DataLink
6570
+ toolCallParser?: 'llama3_json' | 'mistral' | 'hermes' | 'internlm' | 'phi4' | DataLink
6544
6571
  /* Tools for chat mode using OpenAI-compatible function calling format
6545
6572
  Format: Array of objects with {type, function: {name, description, parameters}} structure
6546
6573
  See: https://platform.openai.com/docs/guides/function-calling */
6547
- tools?: {} | DataLink
6574
+ tools?: Array<{} | DataLink> | DataLink
6548
6575
  /* Tool choice for chat mode */
6549
6576
  toolChoice?: 'none' | 'auto' | 'required' | DataLink
6550
6577
  /* Enable parallel tool calls */
@@ -6687,7 +6714,10 @@ Default property:
6687
6714
  "apiEndpoint": "https://api.openai.com/v1",
6688
6715
  "model": "gpt-4o-mini",
6689
6716
  "completionMessages": [
6690
- null
6717
+ {
6718
+ "role": "system",
6719
+ "content": "You are a helpful assistant."
6720
+ }
6691
6721
  ],
6692
6722
  "completionMaxTokens": 1024,
6693
6723
  "completionTemperature": 1,
@@ -6726,7 +6756,7 @@ Default property:
6726
6756
  /* Tools for chat mode following OpenAI function calling format
6727
6757
  Format: Array of objects with {type, function: {name, description, parameters}} structure
6728
6758
  See: https://platform.openai.com/docs/guides/function-calling */
6729
- completionTools?: {} | DataLink
6759
+ completionTools?: Array<{} | DataLink> | DataLink
6730
6760
  /* Enable parallel tool calls */
6731
6761
  completionParallelToolCalls?: boolean | DataLink
6732
6762
  /* Tool choice for chat mode */
@@ -7235,16 +7265,50 @@ export type GeneratorAssistantActionInsertMcpResource = ActionWithParams & {
7235
7265
  >
7236
7266
  }
7237
7267
 
7268
+ /* Summarize messages based on the conversation
7269
+
7270
+ Note: Summary uses the same LLM context size, so it is recommended only to use it when the system prompt (in Initial Messages) is long, otherwise it may still fail when the context is full (Ctx Shift is NO). */
7271
+ export type GeneratorAssistantActionSummaryMessages = ActionWithParams & {
7272
+ __actionName: 'GENERATOR_ASSISTANT_SUMMARY_MESSAGES'
7273
+ params?: Array<
7274
+ | {
7275
+ input: 'summaryMessages'
7276
+ value?: Array<any> | DataLink | EventProperty
7277
+ mapping?: string
7278
+ }
7279
+ | {
7280
+ input: 'summarySessionKey'
7281
+ value?: string | DataLink | EventProperty
7282
+ mapping?: string
7283
+ }
7284
+ >
7285
+ }
7286
+
7238
7287
  interface GeneratorAssistantDef {
7239
7288
  /*
7240
7289
  Default property:
7241
7290
  {
7242
7291
  "initialMessages": [
7243
- null
7292
+ {
7293
+ "role": "system",
7294
+ "content": "You are a helpful assistant."
7295
+ }
7244
7296
  ],
7245
7297
  "cacheMessages": false,
7246
7298
  "llmLivePolicy": "only-in-use",
7247
7299
  "llmSessionKey": "default-assistant",
7300
+ "llmAutoSummaryMessages": false,
7301
+ "llmSummaryMessages": [
7302
+ {
7303
+ "role": "system",
7304
+ "content": "You are a helpful assistant specialized in summarizing conversations. Create a concise summary of the conversation that captures the key points while maintaining important context. The summary should be clear, accurate, and briefer than the original conversation."
7305
+ },
7306
+ {
7307
+ "role": "user",
7308
+ "content": "Please summarize the following conversation into a concise system message that can replace the previous conversation context while maintaining all important information. Here is the conversation to summarize:\n\n"
7309
+ }
7310
+ ],
7311
+ "llmSummarySessionKey": "assistant-default-summary",
7248
7312
  "fileSearchEnabled": false,
7249
7313
  "fileSearchLivePolicy": "only-in-use",
7250
7314
  "sttEnabled": true,
@@ -7268,12 +7332,30 @@ Default property:
7268
7332
  | DataLink
7269
7333
  /* Whether to cache messages */
7270
7334
  cacheMessages?: boolean | DataLink
7271
- /* LLM Generator (Currently only support `LLM (GGML)` generator) */
7335
+ /* LLM Generator (Supports `LLM (GGML)` and `OpenAI LLM` generators) */
7272
7336
  llmGeneratorId?: string | DataLink
7273
- /* LLM Live Policy. If the policy is `only-in-use`, the LLM context will be released when the assistant is not in use. */
7337
+ /* LLM Live Policy. If the policy is `only-in-use`, the LLM context will be released when the assistant is not in use.
7338
+
7339
+ Note: LLM (Qualcomm AI Engine) recommend use `manual` and loaded constantly. */
7274
7340
  llmLivePolicy?: 'only-in-use' | 'manual' | DataLink
7275
7341
  /* LLM main session key */
7276
7342
  llmSessionKey?: string | DataLink
7343
+ /* Auto Summary Messages (Automatically summarize messages when the LLM context is full or content gets truncated, currently only supported with LLM (GGML) generators)
7344
+
7345
+ Note: Summary uses the same LLM context size, so it is recommended only to use it when the system prompt (in Initial Messages) is long, otherwise it may still fail when the context is full (Ctx Shift is NO). */
7346
+ llmAutoSummaryMessages?: boolean | DataLink
7347
+ /* Summary Messages (Messages used for summarization prompt, conversation will be appended to the last message) */
7348
+ llmSummaryMessages?:
7349
+ | Array<
7350
+ | DataLink
7351
+ | {
7352
+ role?: string | DataLink
7353
+ content?: string | DataLink
7354
+ }
7355
+ >
7356
+ | DataLink
7357
+ /* Summary Session Key (Custom session key for summarization) */
7358
+ llmSummarySessionKey?: string | DataLink
7277
7359
  /* File Search (Vector Store) Enabled */
7278
7360
  fileSearchEnabled?: boolean | DataLink
7279
7361
  /* File Search (Vector Store) Generator */
@@ -7286,13 +7368,13 @@ Default property:
7286
7368
  fileSearchThreshold?: number | DataLink
7287
7369
  /* File Search Ignore Threshold. (Default: false) */
7288
7370
  fileSearchIgnoreThreshold?: boolean | DataLink
7289
- /* STT Generator use for transcribing audio message (Currently only support `STT (GGML)` generator) */
7371
+ /* STT Generator use for transcribing audio message (Supports `STT (GGML)` generators) */
7290
7372
  sttGeneratorId?: string | DataLink
7291
7373
  /* STT Enabled */
7292
7374
  sttEnabled?: boolean | DataLink
7293
7375
  /* STT Live Policy. If the policy is `only-in-use`, the STT context will be released when the assistant is not in use. */
7294
7376
  sttLivePolicy?: 'only-in-use' | 'manual' | DataLink
7295
- /* TTS Generator use for generating LLM response audio message (Currently only support `TTS (ONNX)` generator) */
7377
+ /* TTS Generator use for generating LLM response audio message (Supports `TTS (ONNX)` and `OpenAI TTS` generators) */
7296
7378
  ttsGeneratorId?: string | DataLink
7297
7379
  /* TTS Enabled */
7298
7380
  ttsEnabled?: boolean | DataLink
@@ -739,6 +739,16 @@ export const templateEventPropsMap = {
739
739
  onContextStateChange: [
740
740
  'GENERATOR_ONNX_LLM_CONTEXT_STATE', // type: string
741
741
  ],
742
+ onFunctionCall: [
743
+ 'GENERATOR_ONNX_LLM_FUNCTION_CALL_NAME', // type: string
744
+ 'GENERATOR_ONNX_LLM_FUNCTION_CALL_ARGUMENTS', // type: object
745
+ 'GENERATOR_ONNX_LLM_FUNCTION_CALL_DETAILS', // type: object
746
+ ],
747
+ onCompletionFinished: [
748
+ 'GENERATOR_ONNX_LLM_COMPLETION_RESULT', // type: string
749
+ 'GENERATOR_ONNX_LLM_COMPLETION_TOOL_CALLS', // type: array
750
+ 'GENERATOR_ONNX_LLM_COMPLETION_FULL_CONTEXT', // type: string
751
+ ],
742
752
  onError: [
743
753
  'GENERATOR_ONNX_LLM_ERROR', // type: string
744
754
  ],
@@ -803,6 +813,7 @@ export const templateEventPropsMap = {
803
813
  onGenerate: [
804
814
  'GENERATOR_QNN_LLM_RESULT', // type: string
805
815
  'GENERATOR_QNN_LLM_FULL_CONTEXT', // type: string
816
+ 'GENERATOR_QNN_LLM_TOOL_CALLS', // type: array
806
817
  ],
807
818
  onFunctionCall: [
808
819
  'GENERATOR_QNN_LLM_FUNCTION_CALL_NAME', // type: string